smartparking / mobile-fix.css
noor122's picture
Upload mobile-fix.css
0be3523 verified
Raw History Blame Contribute Delete
13.3 kB
/* ============================================================
mobile.css — SmartPark AI
ضيفه آخر واحد في الـ <head> في كل صفحة:
<link rel="stylesheet" href="mobile.css">
============================================================ */
/* =========================================================
1. NAVBAR — هامبرغر منيو
========================================================= */
/* الزرار مخفي على الديسكتوب */
.hamburger-btn {
display: none;
background: transparent;
border: none;
cursor: pointer;
flex-direction: column;
gap: 5px;
padding: 5px;
z-index: 1001;
}
.hamburger-btn span {
display: block;
width: 22px;
height: 2px;
background: white;
border-radius: 2px;
transition: 0.3s;
}
@media (max-width: 768px) {
.navbar {
padding: 12px 16px;
position: fixed;
flex-wrap: nowrap;
gap: 0;
justify-content: space-between;
align-items: center;
height: 56px;
}
.logo { font-size: 16px !important; white-space: nowrap; }
/* نخبي الـ nav الأصلية */
.navbar nav { display: none !important; }
/* نبيّن زرار الهامبرغر */
.hamburger-btn { display: flex; }
/* القائمة المنسدلة لما تنفتح */
.mobile-nav-menu {
display: none;
position: fixed;
top: 56px;
left: 0;
width: 100%;
background: rgba(5, 8, 15, 0.97);
backdrop-filter: blur(15px);
border-bottom: 1px solid rgba(255,255,255,0.08);
z-index: 998;
padding: 8px 0 12px;
flex-direction: column;
}
.mobile-nav-menu.open { display: flex; }
.mobile-nav-menu a {
color: white;
text-decoration: none;
font-size: 15px;
font-weight: 600;
padding: 13px 20px;
border-bottom: 1px solid rgba(255,255,255,0.05);
display: block;
transition: 0.2s;
}
.mobile-nav-menu a:last-child { border-bottom: none; }
.mobile-nav-menu a:hover { color: #00c2b8; padding-left: 26px; }
/* نصغر الـ nav-actions */
.nav-actions { gap: 8px !important; font-size: 13px; }
.sign-btn { padding: 7px 14px !important; font-size: 12px !important; }
.theme-toggle span { display: none; } /* نخبي كلمة Night/Day */
}
/* =========================================================
2. HERO SECTION
========================================================= */
@media (max-width: 768px) {
.hero-title {
font-size: clamp(2.8rem, 11vw, 4.5rem);
letter-spacing: 1px;
}
.hero-subtitle {
font-size: 15px;
margin: 12px 0 24px;
padding: 0 10px;
}
.hero-btn {
padding: 12px 28px;
font-size: 15px;
}
}
/* =========================================================
3. FEATURES & HOW IT WORKS
========================================================= */
@media (max-width: 768px) {
.features, .how-it-works { padding: 50px 5%; }
.section-header h2 { font-size: 24px !important; }
.section-header p { font-size: 14px; }
.features-grid { grid-template-columns: 1fr !important; gap: 14px; }
.steps-container { grid-template-columns: 1fr !important; gap: 14px; }
}
/* =========================================================
4. FOOTER
========================================================= */
@media (max-width: 768px) {
.modern-footer { padding: 40px 5% 20px; }
.footer-top { grid-template-columns: 1fr !important; gap: 28px; }
.footer-bottom { flex-direction: column; gap: 12px; text-align: center; }
}
/* =========================================================
5. DASHBOARD — السايدبار يتحول لشريط تنقل سفلي
========================================================= */
@media (max-width: 900px) {
.sidebar {
width: 100% !important;
height: 60px !important;
position: fixed !important;
bottom: 0 !important;
top: auto !important;
left: 0 !important;
flex-direction: row !important;
padding: 0 !important;
border-right: none !important;
border-top: 1px solid var(--border-color) !important;
z-index: 500 !important;
overflow: hidden;
align-items: stretch;
}
.sidebar-header { display: none !important; }
.sidebar-footer { display: none !important; }
.sidebar-menu {
display: flex !important;
flex-direction: row !important;
flex: 1;
margin: 0 !important;
padding: 0 !important;
align-items: stretch;
}
.sidebar-menu li {
flex: 1;
margin: 0 !important;
display: flex;
}
.sidebar-menu a {
flex-direction: column !important;
gap: 3px !important;
padding: 6px 2px !important;
font-size: 9px !important;
text-align: center;
border-radius: 0 !important;
justify-content: center;
align-items: center;
width: 100%;
overflow: hidden;
white-space: nowrap;
}
/* نخلي النص جنب الأيقونة مش تحتها عشان يتسع */
.sidebar-menu a i { font-size: 1.05rem !important; }
.main-content {
margin-left: 0 !important;
padding: 16px 14px 75px !important;
}
}
/* =========================================================
6. TOP BAR داخل الداشبورد — الإصلاح الجذري
========================================================= */
@media (max-width: 768px) {
/* *** الحل الرئيسي: نلغي الـ absolute positioning من الـ wallet page ***
walletStyle.css بيعمل top-actions absolute وده بيخلي الـ overlap */
.top-bar {
position: relative !important;
display: flex !important;
flex-direction: row !important;
justify-content: space-between !important;
align-items: center !important;
flex-wrap: nowrap !important;
gap: 8px;
margin-bottom: 18px !important;
min-height: 48px;
padding: 0 !important;
}
.welcome-text {
align-items: flex-start !important;
text-align: left !important;
justify-content: flex-start !important;
flex: 1 1 auto;
min-width: 0;
padding-right: 4px;
}
.welcome-text h2 {
font-size: 1.2rem !important;
margin: 0 !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
display: flex !important;
align-items: center !important;
gap: 6px !important;
line-height: 1.2 !important;
}
/* نخبي السطر الثاني تحت العنوان */
.welcome-text p { display: none !important; }
/* *** الأهم: نلغي الـ absolute من top-actions تماماً *** */
.top-actions {
position: static !important;
top: auto !important;
right: auto !important;
transform: none !important;
display: flex !important;
align-items: center !important;
gap: 6px !important;
flex-shrink: 0;
flex: 0 0 auto;
}
/* Wallet Badge أصغر */
.wallet-badge {
font-size: 0.7rem !important;
padding: 5px 8px !important;
white-space: nowrap;
gap: 4px !important;
}
/* نخبي الـ balance badge على شاشات < 400px */
@media (max-width: 400px) {
.wallet-badge { display: none !important; }
}
.user-avatar img {
width: 30px !important;
height: 30px !important;
}
.notification-trigger {
padding: 7px 8px !important;
}
.notification-trigger i { font-size: 1rem !important; }
/* الـ dropdown ميطلعش برا الشاشة */
.dropdown-menu {
right: 0 !important;
left: auto !important;
width: 180px !important;
font-size: 0.85rem;
}
}
/* =========================================================
7. الخريطة + كروت الجراجات
========================================================= */
@media (max-width: 900px) {
.location-section { grid-template-columns: 1fr !important; gap: 16px; }
#map { height: 280px !important; }
}
/* =========================================================
8. MY WALLET — الكارت الرئيسي
========================================================= */
@media (max-width: 768px) {
.wallet-center-wrapper { padding-top: 8px; }
.flow-card {
padding: 22px 16px !important;
border-radius: 18px !important;
max-width: 100% !important;
min-height: auto !important;
}
.balance-master { padding: 20px 16px !important; margin: 16px 0 !important; }
.b-amount { font-size: 2.6rem !important; }
.b-amount .dec { font-size: 1.3rem !important; }
.b-amount .currency { font-size: 1rem !important; }
.btn-balance-add { padding: 12px !important; font-size: 0.9rem !important; }
.selection-item { padding: 13px 12px !important; }
.item-label { font-size: 0.9rem !important; }
}
/* =========================================================
9. PAYMENT / TICKET
========================================================= */
@media (max-width: 768px) {
.ticket-wrapper {
padding: 14px !important;
height: auto !important;
align-items: flex-start !important;
}
.ticket-container { max-width: 100% !important; }
.ticket-details { padding: 18px 16px !important; }
.ticket-footer { padding: 8px 16px 24px !important; }
.total-price { font-size: 1.4rem !important; }
}
/* =========================================================
10. RESERVATIONS
========================================================= */
@media (max-width: 768px) {
.history-page-wrapper { max-width: 100% !important; padding: 0 !important; }
.history-box { padding: 16px 14px !important; border-radius: 16px !important; }
.split-row { flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
.cyan-price { font-size: 1.3rem !important; }
}
/* =========================================================
11. MODALS
========================================================= */
@media (max-width: 768px) {
.booking-card,
.modal-container,
.reserve-style-modal {
width: 95vw !important;
max-width: 95vw !important;
padding: 18px 14px !important;
border-radius: 16px !important;
max-height: 88vh;
overflow-y: auto;
}
#slotDashboardModal .booking-card { width: 96vw !important; max-width: 96vw !important; }
.slots-grid { grid-template-columns: repeat(auto-fill, minmax(95px, 1fr)) !important; gap: 8px !important; }
.spot-options { flex-wrap: wrap !important; gap: 8px !important; }
.spot-options .spot-radio { flex: 1 1 calc(33% - 6px) !important; min-width: 75px; }
.split-boxes-row { flex-direction: column !important; }
}
/* =========================================================
12. NOTIFICATION SIDEBAR — يطلع من تحت على موبايل
========================================================= */
@media (max-width: 768px) {
.notif-sidebar {
width: 100% !important;
right: 0 !important;
left: 0 !important;
top: auto !important;
bottom: -80vh !important;
height: 75vh !important;
border-left: none !important;
border-top: 1px solid var(--border-color) !important;
border-radius: 20px 20px 0 0 !important;
transition: bottom 0.4s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.notif-sidebar.active { bottom: 0 !important; right: 0 !important; }
}
/* =========================================================
13. SIGNUP
========================================================= */
@media (max-width: 768px) {
.split-left { display: none !important; }
.split-right { width: 100% !important; min-height: 100vh !important; }
.form-wrapper { padding: 24px 18px !important; }
}
/* =========================================================
14. VEHICLES
========================================================= */
@media (max-width: 768px) {
.vehicles-grid { grid-template-columns: 1fr 1fr !important; gap: 12px !important; }
}
/* =========================================================
15. عام
========================================================= */
@media (max-width: 768px) {
body { overflow-x: hidden !important; }
img { max-width: 100%; height: auto; }
.dashboard-layout { overflow-x: hidden; }
}