/**
 * Sagor Trips - Main Stylesheet
 * Kuwait-inspired: Blue, Gold, White
 */
/* Sagor Brand Colors */
:root {
  --sagor-dark: #0a2540;
  --sagor-primary: #0066ff;
  --sagor-secondary: #00d4aa;
  --sagor-light: #e6f7ff;
  --st-primary: var(--sagor-primary); --st-primary-dark: #0052cc; --st-primary-light: var(--sagor-light);
  --st-secondary: var(--sagor-secondary); --st-secondary-dark: #00a885; --st-secondary-light: #e6fcf6;
  --st-accent: #00d4aa; --st-accent-light: #e6fcf6;
  --st-success: #10b981; --st-danger: #ef4444; --st-warning: #f59e0b; --st-info: #3b82f6;
  --st-light: #f8fafc; --st-dark: var(--sagor-dark); --st-muted: #64748b;
  --st-seat-available: #28a745; --st-seat-selected: #0066cc; --st-seat-occupied: #dc3545;
  --st-seat-vip: #d4af37; --st-seat-wheelchair: #6f42c1; --st-seat-driver: #6c757d; --st-seat-ladies: #e83e8c;
  --st-navbar-height: 72px; --st-section-padding: 4rem; --st-card-radius: 16px;
  --st-shadow-sm: 0 2px 8px rgba(0,0,0,0.06); --st-shadow-md: 0 4px 20px rgba(0,0,0,0.08);
  --st-shadow-lg: 0 8px 40px rgba(0,0,0,0.12); --st-shadow-primary: 0 4px 20px rgba(0,102,204,0.25);
  --st-transition: all 0.3s cubic-bezier(0.4,0,0.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Segoe UI',Tahoma,Geneva,Verdana,sans-serif;color:var(--st-dark);background:#f5f7fa;line-height:1.6;overflow-x:hidden}
[dir="rtl"] body{text-align:right}
a{color:var(--st-primary);text-decoration:none;transition:var(--st-transition)}
a:hover{color:var(--st-primary-dark)}
img{max-width:100%;height:auto}
::selection{background:var(--st-primary);color:#fff}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:#f1f1f1}
::-webkit-scrollbar-thumb{background:var(--st-primary);border-radius:4px}
h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3;color:var(--st-dark)}
.text-primary{color:var(--st-primary)!important}
.text-gold{color:var(--st-secondary)!important}

/* Navbar */
.st-navbar{background:linear-gradient(135deg,#fff,#f8f9fa);box-shadow:var(--st-shadow-sm);padding:0.5rem 0;min-height:var(--st-navbar-height)}
.st-navbar.scrolled{box-shadow:var(--st-shadow-md);background:rgba(255,255,255,0.98);backdrop-filter:blur(10px)}
.st-navbar .navbar-brand{font-size:1.5rem;font-weight:800;color:var(--st-primary);display:flex;align-items:center;gap:0.5rem}
.st-navbar .navbar-brand i{color:var(--st-secondary);font-size:1.75rem}
.st-navbar .nav-link{color:var(--st-dark);font-weight:500;padding:0.75rem 1rem!important;border-radius:8px;transition:var(--st-transition)}
.st-navbar .nav-link:hover,.st-navbar .nav-link.active{color:var(--st-primary);background:var(--st-primary-light)}
.lang-switcher{display:flex;align-items:center;gap:0.25rem;background:var(--st-light);border-radius:20px;padding:0.25rem}
.lang-switcher .lang-btn{padding:0.35rem 0.85rem;border-radius:16px;font-size:0.8rem;font-weight:600;border:none;background:transparent;color:var(--st-muted);cursor:pointer;transition:var(--st-transition)}
.lang-switcher .lang-btn.active{background:var(--st-primary);color:#fff}

/* Hero */
.st-hero{position:relative;min-height:90vh;display:flex;align-items:center;background:linear-gradient(135deg,var(--st-primary-dark),var(--st-primary),#0052a3);overflow:hidden}
.st-hero::before{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg width='60' height='60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/svg%3E");opacity:0.5}
.st-hero .hero-content{position:relative;z-index:2}
.st-hero .hero-title{font-size:3.5rem;font-weight:800;color:#fff;line-height:1.2;margin-bottom:1.5rem;text-shadow:0 2px 20px rgba(0,0,0,0.15)}
[dir="rtl"] .st-hero .hero-title{font-size:3rem}
.st-hero .hero-subtitle{font-size:1.25rem;color:rgba(255,255,255,0.85);margin-bottom:2rem;max-width:600px}
.bus-animation{position:absolute;bottom:80px;width:100%;height:120px;overflow:hidden;z-index:1}
.animated-bus{position:absolute;bottom:15px;font-size:3.5rem;color:rgba(255,255,255,0.2);animation:busDrive 20s linear infinite}
.animated-bus:nth-child(2){animation-delay:-10s;color:rgba(212,175,55,0.15);font-size:2.5rem;bottom:25px}
@keyframes busDrive{0%{transform:translateX(-200px)}100%{transform:translateX(calc(100vw + 200px))}}
.hero-shape{position:absolute;border-radius:50%;background:rgba(255,255,255,0.05);animation:floatShape 8s ease-in-out infinite}
.hero-shape:nth-child(1){width:300px;height:300px;top:-100px;right:-50px}
.hero-shape:nth-child(2){width:200px;height:200px;bottom:100px;left:-50px;animation-delay:-3s}
.hero-shape:nth-child(3){width:150px;height:150px;top:50%;right:20%;animation-delay:-5s}
@keyframes floatShape{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-30px) scale(1.05)}}

/* Search */
.search-form-card{background:#fff;border-radius:var(--st-card-radius);box-shadow:var(--st-shadow-lg);padding:2rem;z-index:10}
.search-form-card .form-label{font-weight:600;color:var(--st-dark);font-size:0.85rem;margin-bottom:0.5rem}
.search-form-card .form-select,.search-form-card .form-control{border:2px solid #e9ecef;border-radius:10px;padding:0.85rem 1rem;font-size:0.95rem;transition:var(--st-transition)}
.search-form-card .form-select:focus,.search-form-card .form-control:focus{border-color:var(--st-primary);box-shadow:0 0 0 4px rgba(0,102,204,0.1)}
.search-form-card .btn-search{background:linear-gradient(135deg,var(--st-secondary),var(--st-secondary-dark));color:#fff;font-weight:700;padding:0.85rem 2.5rem;border-radius:10px;border:none;font-size:1.05rem;box-shadow:0 4px 15px rgba(212,175,55,0.3);transition:var(--st-transition);width:100%}
.search-form-card .btn-search:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(212,175,55,0.4)}
.swap-btn{width:40px;height:40px;border-radius:50%;background:var(--st-primary-light);border:2px solid var(--st-primary);color:var(--st-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--st-transition);margin:0 auto}
.swap-btn:hover{background:var(--st-primary);color:#fff;transform:rotate(180deg)}

/* Features */
.feature-card{background:#fff;border-radius:var(--st-card-radius);padding:2rem 1.5rem;text-align:center;transition:var(--st-transition);border:1px solid rgba(0,0,0,0.04);height:100%}
.feature-card:hover{transform:translateY(-8px);box-shadow:var(--st-shadow-lg)}
.feature-card .feature-icon{width:70px;height:70px;border-radius:20px;display:flex;align-items:center;justify-content:center;margin:0 auto 1.25rem;font-size:1.75rem}
.feature-card .feature-icon.icon-primary{background:var(--st-primary-light);color:var(--st-primary)}
.feature-card .feature-icon.icon-success{background:var(--st-accent-light);color:var(--st-accent)}
.feature-card .feature-icon.icon-gold{background:var(--st-secondary-light);color:var(--st-secondary)}
.feature-card .feature-icon.icon-info{background:#e7f3ff;color:var(--st-info)}
.feature-card .feature-icon.icon-danger{background:#fce8e8;color:var(--st-danger)}
.feature-card .feature-icon.icon-warning{background:#fff8e7;color:var(--st-warning)}
.feature-card h4{font-size:1.1rem;margin-bottom:0.75rem}
.feature-card p{color:var(--st-muted);font-size:0.9rem;margin-bottom:0}

/* Routes */
.route-card{background:#fff;border-radius:var(--st-card-radius);overflow:hidden;box-shadow:var(--st-shadow-sm);transition:var(--st-transition);border:1px solid rgba(0,0,0,0.04);height:100%}
.route-card:hover{transform:translateY(-4px);box-shadow:var(--st-shadow-md)}
.route-card .route-image{height:180px;background:linear-gradient(135deg,var(--st-primary),var(--st-primary-dark));display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.route-card .route-image i{font-size:4rem;color:rgba(255,255,255,0.3)}
.route-card .route-image .route-price{position:absolute;top:1rem;right:1rem;background:var(--st-secondary);color:#fff;padding:0.35rem 0.85rem;border-radius:20px;font-weight:700;font-size:0.9rem}
[dir="rtl"] .route-card .route-image .route-price{right:auto;left:1rem}
.route-card .route-body{padding:1.25rem}
.route-card .route-title{font-weight:700;font-size:1.1rem;margin-bottom:0.5rem}
.route-card .route-meta{color:var(--st-muted);font-size:0.85rem;display:flex;align-items:center;gap:0.5rem}
.route-card .route-meta i{color:var(--st-primary)}

/* Seat Map */
.seat-map-container{background:#fff;border-radius:var(--st-card-radius);padding:2rem;box-shadow:var(--st-shadow-md)}
.bus-outline{background:linear-gradient(180deg,#f8f9fa,#fff);border:3px solid #dee2e6;border-radius:40px 40px 16px 16px;padding:2rem 1.5rem 1.5rem;position:relative;max-width:400px;margin:0 auto}
.bus-outline::before{content:attr(data-bus-type);position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--st-primary);color:#fff;padding:0.25rem 1.25rem;border-radius:12px;font-size:0.75rem;font-weight:600}
.seat-grid{display:grid;gap:0.6rem;justify-content:center}
.seat{width:48px;height:52px;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;font-weight:700;transition:var(--st-transition);position:relative;border:2px solid transparent;user-select:none;font-size:0.65rem}
.seat .seat-label{font-size:0.7rem}
.seat-available{background:#e8f5e9;color:var(--st-seat-available);border-color:var(--st-seat-available)}
.seat-available:hover{background:var(--st-seat-available);color:#fff;transform:scale(1.08)}
.seat-selected{background:var(--st-seat-selected);color:#fff;border-color:var(--st-seat-selected);box-shadow:0 4px 12px rgba(0,102,204,0.3);transform:scale(1.05)}
.seat-occupied{background:#f8d7da;color:var(--st-seat-occupied);border-color:var(--st-seat-occupied);cursor:not-allowed;opacity:0.7}
.seat-vip{background:#fff8e1;color:var(--st-seat-vip);border-color:var(--st-seat-vip)}
.seat-vip:hover{background:var(--st-seat-vip);color:#fff}
.seat-wheelchair{background:#ede7f6;color:var(--st-seat-wheelchair);border-color:var(--st-seat-wheelchair)}
.seat-driver{background:#e9ecef;color:var(--st-seat-driver);border-color:var(--st-seat-driver);cursor:default}
.seat-ladies{background:#fce4ec;color:var(--st-seat-ladies);border-color:var(--st-seat-ladies)}
.seat-legend{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e9ecef}
.legend-item{display:flex;align-items:center;gap:0.4rem;font-size:0.8rem;color:var(--st-muted)}
.legend-color{width:18px;height:18px;border-radius:4px;border:2px solid}
.seat-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);background:var(--st-dark);color:#fff;padding:0.5rem;border-radius:8px;font-size:0.7rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity 0.2s;z-index:100}
.seat:hover .seat-tooltip{opacity:1}

/* Journey */
.journey-card{background:#fff;border-radius:var(--st-card-radius);box-shadow:var(--st-shadow-sm);border:1px solid rgba(0,0,0,0.04);transition:var(--st-transition);overflow:hidden}
.journey-card:hover{box-shadow:var(--st-shadow-md);border-color:rgba(0,102,204,0.15)}
.journey-card .journey-header{padding:1.25rem 1.5rem;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}
.bus-category-badge{padding:0.35rem 0.85rem;border-radius:20px;font-size:0.75rem;font-weight:600}
.badge-economy{background:#e8f5e9;color:#2e7d32}
.badge-business{background:#e3f2fd;color:#1565c0}
.badge-vip{background:#fff8e1;color:#f9a825}
.badge-luxury{background:#f3e5f5;color:#7b1fa2}
.journey-card .journey-body{padding:1.5rem}
.journey-times{display:flex;align-items:center;gap:1rem}
.time-block{text-align:center}
.time-block .time{font-size:1.4rem;font-weight:700;color:var(--st-dark);line-height:1}
.time-block .city{font-size:0.8rem;color:var(--st-muted);margin-top:0.25rem}
.journey-arrow{flex:1;display:flex;flex-direction:column;align-items:center;gap:0.25rem}
.journey-arrow .line{width:100%;height:2px;background:linear-gradient(90deg,var(--st-primary),var(--st-secondary))}
.journey-arrow .duration{font-size:0.75rem;color:var(--st-muted);font-weight:500}
.journey-card .journey-footer{padding:1rem 1.5rem;background:#fafbfc;display:flex;justify-content:space-between;align-items:center}
.journey-price{font-size:1.5rem;font-weight:800;color:var(--st-primary)}
.journey-price .per-person{font-size:0.75rem;color:var(--st-muted);font-weight:400}

/* Filter */
.filter-sidebar{background:#fff;border-radius:var(--st-card-radius);padding:1.5rem;box-shadow:var(--st-shadow-sm);position:sticky;top:calc(var(--st-navbar-height) + 1rem)}
.filter-sidebar .filter-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid #f0f0f0}
.filter-sidebar .filter-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.filter-sidebar .filter-title{font-weight:700;font-size:0.95rem;margin-bottom:1rem}
.filter-sidebar .form-check{margin-bottom:0.6rem}
.filter-sidebar .form-check-input:checked{background-color:var(--st-primary);border-color:var(--st-primary)}

/* Checkout */
.checkout-card{background:#fff;border-radius:var(--st-card-radius);box-shadow:var(--st-shadow-sm);padding:1.5rem;margin-bottom:1rem}
.checkout-card .checkout-title{font-weight:700;font-size:1.1rem;margin-bottom:1.25rem;padding-bottom:0.75rem;border-bottom:2px solid #f0f0f0;display:flex;align-items:center;gap:0.5rem}
.price-row{display:flex;justify-content:space-between;padding:0.6rem 0;font-size:0.95rem}
.price-row.total{border-top:2px solid #e9ecef;margin-top:0.5rem;padding-top:1rem;font-size:1.25rem;font-weight:700;color:var(--st-primary)}
.price-row.discount{color:var(--st-success)}
.coupon-input-group{display:flex;gap:0.5rem}
.payment-method{border:2px solid #e9ecef;border-radius:12px;padding:1rem;cursor:pointer;transition:var(--st-transition);text-align:center}
.payment-method:hover{border-color:var(--st-primary)}
.payment-method.selected{border-color:var(--st-primary);background:var(--st-primary-light)}
.payment-method .payment-icon{font-size:2rem;margin-bottom:0.5rem;color:var(--st-primary)}
.payment-method .payment-name{font-weight:600;font-size:0.85rem}
.trust-badges{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center;padding:2rem 0}
.trust-badge{display:flex;align-items:center;gap:0.5rem;font-size:0.85rem;color:var(--st-muted)}
.trust-badge i{font-size:1.25rem;color:var(--st-success)}

/* Confirmation */
.confirmation-hero{text-align:center;padding:3rem 1.5rem;background:linear-gradient(135deg,var(--st-accent),#00c853);border-radius:var(--st-card-radius);color:#fff;margin-bottom:2rem}
.success-icon{width:100px;height:100px;background:rgba(255,255,255,0.2);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-size:3rem;animation:successPulse 1s ease-in-out}
@keyframes successPulse{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}
.booking-ref{background:rgba(255,255,255,0.2);border-radius:12px;padding:1rem 2rem;display:inline-block;margin-top:1rem}
.booking-ref .ref-number{font-size:2rem;font-weight:800;letter-spacing:2px}
.share-btn{display:inline-flex;align-items:center;gap:0.5rem;padding:0.6rem 1.25rem;border-radius:8px;font-weight:600;font-size:0.9rem;border:none;cursor:pointer;transition:var(--st-transition);color:#fff}
.share-btn.whatsapp{background:#25d366}
.share-btn.email{background:#ea4335}

/* Digital Ticket */
.digital-ticket{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--st-shadow-lg);max-width:500px;margin:0 auto;position:relative}
.digital-ticket::before,.digital-ticket::after{content:'';position:absolute;width:30px;height:30px;background:#f5f7fa;border-radius:50%;top:50%;transform:translateY(-50%);z-index:2}
.digital-ticket::before{left:-15px}.digital-ticket::after{right:-15px}
.ticket-header{background:linear-gradient(135deg,var(--st-primary),var(--st-primary-dark));color:#fff;padding:1.5rem;text-align:center}
.ticket-header .ticket-logo{font-size:1.25rem;font-weight:800;margin-bottom:0.5rem}
.ticket-body{padding:1.5rem}
.ticket-route{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1.5rem}
.ticket-route .city{font-size:1.2rem;font-weight:700;color:var(--st-dark)}
.ticket-route .time{font-size:0.85rem;color:var(--st-muted)}
.ticket-route .arrow{color:var(--st-secondary);font-size:1.5rem}
.ticket-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.5rem}
.ticket-detail-item{text-align:center;padding:0.75rem;background:#f8f9fa;border-radius:10px}
.ticket-detail-item .label{font-size:0.75rem;color:var(--st-muted);text-transform:uppercase;letter-spacing:0.5px}
.ticket-detail-item .value{font-size:1rem;font-weight:700;color:var(--st-dark);margin-top:0.25rem}
.ticket-footer{padding:1.5rem;background:#f8f9fa;border-top:2px dashed #dee2e6}

/* Account */
.account-sidebar{background:#fff;border-radius:var(--st-card-radius);box-shadow:var(--st-shadow-sm);overflow:hidden}
.account-sidebar .account-menu{list-style:none;padding:0;margin:0}
.account-sidebar .account-menu li a{display:flex;align-items:center;gap:0.75rem;padding:1rem 1.5rem;color:var(--st-dark);font-weight:500;border-left:3px solid transparent;transition:var(--st-transition)}
[dir="rtl"] .account-sidebar .account-menu li a{border-left:none;border-right:3px solid transparent}
.account-sidebar .account-menu li a:hover,.account-sidebar .account-menu li a.active{background:var(--st-primary-light);color:var(--st-primary);border-left-color:var(--st-primary)}
[dir="rtl"] .account-sidebar .account-menu li a:hover,.account-sidebar .account-menu li a.active{border-right-color:var(--st-primary)}
.account-sidebar .account-menu li a i{width:24px;text-align:center;color:var(--st-muted)}
.stat-card{background:#fff;border-radius:var(--st-card-radius);padding:1.5rem;box-shadow:var(--st-shadow-sm);display:flex;align-items:center;gap:1rem;transition:var(--st-transition)}
.stat-card:hover{box-shadow:var(--st-shadow-md);transform:translateY(-2px)}
.stat-card .stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0}
.stat-card .stat-value{font-size:1.75rem;font-weight:800;color:var(--st-dark);line-height:1}
.stat-card .stat-label{font-size:0.85rem;color:var(--st-muted);margin-top:0.25rem}

/* Booking History */
.booking-card{background:#fff;border-radius:var(--st-card-radius);box-shadow:var(--st-shadow-sm);padding:1.5rem;margin-bottom:1rem;transition:var(--st-transition);border-left:4px solid var(--st-primary)}
[dir="rtl"] .booking-card{border-left:none;border-right:4px solid var(--st-primary)}
.booking-card:hover{box-shadow:var(--st-shadow-md)}
.booking-card.status-confirmed{border-left-color:var(--st-success)}
[dir="rtl"] .booking-card.status-confirmed{border-right-color:var(--st-success);border-left:none}
.booking-card.status-pending{border-left-color:var(--st-warning)}
[dir="rtl"] .booking-card.status-pending{border-right-color:var(--st-warning);border-left:none}
.booking-card.status-cancelled{border-left-color:var(--st-danger)}
[dir="rtl"] .booking-card.status-cancelled{border-right-color:var(--st-danger);border-left:none}
.booking-card.status-completed{border-left-color:var(--st-muted)}
[dir="rtl"] .booking-card.status-completed{border-right-color:var(--st-muted);border-left:none}
.status-badge{padding:0.35rem 0.85rem;border-radius:20px;font-size:0.75rem;font-weight:600;display:inline-flex;align-items:center;gap:0.35rem}
.status-confirmed{background:#e8f5e9;color:#2e7d32}
.status-pending{background:#fff8e1;color:#f9a825}
.status-cancelled{background:#fce4ec;color:#c62828}
.status-completed{background:#eceff1;color:#546e7a}

/* Loyalty */
.loyalty-tier-card{background:linear-gradient(135deg,var(--st-primary),var(--st-primary-dark));border-radius:var(--st-card-radius);padding:2rem;color:#fff;text-align:center;position:relative;overflow:hidden}
.loyalty-tier-card .tier-icon{font-size:3rem;margin-bottom:0.5rem}
.loyalty-tier-card .tier-name{font-size:1.5rem;font-weight:700}
.loyalty-tier-card .tier-points{font-size:2.5rem;font-weight:800;margin:0.5rem 0}
.progress-custom{height:10px;border-radius:5px;background:rgba(255,255,255,0.2);margin-top:1rem}
.progress-custom .progress-bar{background:linear-gradient(90deg,var(--st-secondary),#ffd700);border-radius:5px}
.badge-item{text-align:center;padding:1rem;background:#fff;border-radius:12px;box-shadow:var(--st-shadow-sm);transition:var(--st-transition)}
.badge-item:hover{transform:translateY(-4px);box-shadow:var(--st-shadow-md)}
.badge-item .badge-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem;font-size:1.5rem}
.badge-item.earned .badge-icon{background:var(--st-secondary-light);color:var(--st-secondary)}
.badge-item.locked .badge-icon{background:#f0f0f0;color:#ccc}

/* Wallet */
.wallet-balance{background:linear-gradient(135deg,var(--st-primary),var(--st-primary-dark));border-radius:var(--st-card-radius);padding:2.5rem 2rem;color:#fff;text-align:center}
.wallet-balance .balance-amount{font-size:3rem;font-weight:800}
.transaction-item{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid #f0f0f0}
.transaction-item:last-child{border-bottom:none}
.transaction-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.transaction-icon.credit{background:var(--st-accent-light);color:var(--st-accent)}
.transaction-icon.debit{background:#fce8e8;color:var(--st-danger)}
.transaction-details{flex:1}
.transaction-details .transaction-title{font-weight:600;font-size:0.9rem;color:var(--st-dark)}
.transaction-details .transaction-date{font-size:0.8rem;color:var(--st-muted)}
.transaction-amount{font-weight:700;font-size:1rem}
.transaction-amount.credit{color:var(--st-success)}
.transaction-amount.debit{color:var(--st-danger)}

/* Map */
#track-map{width:100%;height:500px;border-radius:var(--st-card-radius);box-shadow:var(--st-shadow-sm)}
.active-bus-item{background:#fff;border-radius:12px;padding:1rem;margin-bottom:0.75rem;box-shadow:var(--st-shadow-sm);cursor:pointer;transition:var(--st-transition);border-left:4px solid var(--st-primary)}
[dir="rtl"] .active-bus-item{border-left:none;border-right:4px solid var(--st-primary)}
.active-bus-item:hover{box-shadow:var(--st-shadow-md)}

/* Countdown */
.countdown-timer{background:linear-gradient(135deg,#fff8e1,#fffde7);border:2px solid var(--st-secondary);border-radius:12px;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:center;gap:0.75rem;margin-bottom:1.5rem}
.countdown-timer .timer-value{font-size:1.5rem;font-weight:800;color:var(--st-danger);font-variant-numeric:tabular-nums}
.countdown-timer.warning{background:linear-gradient(135deg,#fce4ec,#f8bbd0);border-color:var(--st-danger);animation:timerPulse 1s ease-in-out infinite}
@keyframes timerPulse{0%,100%{box-shadow:0 0 0 0 rgba(220,53,69,0.3)}50%{box-shadow:0 0 0 8px rgba(220,53,69,0)}}

/* Buttons */
.btn-st-primary{background:linear-gradient(135deg,var(--st-primary),var(--st-primary-dark));color:#fff;font-weight:600;padding:0.75rem 2rem;border-radius:10px;border:none;transition:var(--st-transition);display:inline-flex;align-items:center;gap:0.5rem;justify-content:center}
.btn-st-primary:hover{transform:translateY(-2px);box-shadow:var(--st-shadow-primary);color:#fff}
.btn-st-secondary{background:linear-gradient(135deg,var(--st-secondary),var(--st-secondary-dark));color:#fff;font-weight:600;padding:0.75rem 2rem;border-radius:10px;border:none;transition:var(--st-transition);display:inline-flex;align-items:center;gap:0.5rem;justify-content:center}
.btn-st-secondary:hover{transform:translateY(-2px);box-shadow:0 4px 15px rgba(212,175,55,0.3);color:#fff}
.btn-st-outline{background:transparent;color:var(--st-primary);font-weight:600;padding:0.75rem 2rem;border-radius:10px;border:2px solid var(--st-primary);transition:var(--st-transition);display:inline-flex;align-items:center;gap:0.5rem;justify-content:center}
.btn-st-outline:hover{background:var(--st-primary);color:#fff}

/* Footer */
.st-footer{background:var(--st-dark);color:rgba(255,255,255,0.8);padding:4rem 0 0}
.st-footer .footer-brand{font-size:1.5rem;font-weight:800;color:#fff;display:flex;align-items:center;gap:0.5rem;margin-bottom:1rem}
.st-footer .footer-brand i{color:var(--st-secondary)}
.st-footer .footer-desc{font-size:0.9rem;line-height:1.7;color:rgba(255,255,255,0.6)}
.st-footer .footer-title{font-weight:700;color:#fff;font-size:1.1rem;margin-bottom:1.25rem}
.st-footer .footer-links{list-style:none;padding:0;margin:0}
.st-footer .footer-links li{margin-bottom:0.75rem}
.st-footer .footer-links a{color:rgba(255,255,255,0.6);font-size:0.9rem;transition:var(--st-transition)}
.st-footer .footer-links a:hover{color:var(--st-secondary);padding-left:0.5rem}
[dir="rtl"] .st-footer .footer-links a:hover{padding-left:0;padding-right:0.5rem}
.st-footer .footer-contact-item{display:flex;align-items:flex-start;gap:0.75rem;margin-bottom:1rem;font-size:0.9rem;color:rgba(255,255,255,0.6)}
.st-footer .footer-contact-item i{color:var(--st-secondary);margin-top:0.2rem}
.st-footer .social-links{display:flex;gap:0.75rem;margin-top:1.5rem}
.st-footer .social-links a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1rem;transition:var(--st-transition)}
.st-footer .social-links a:hover{background:var(--st-secondary);transform:translateY(-3px)}
.footer-bottom{border-top:1px solid rgba(255,255,255,0.1);margin-top:3rem;padding:1.5rem 0;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}
.footer-bottom .copyright{font-size:0.85rem;color:rgba(255,255,255,0.5)}
.footer-bottom .footer-legal-links{display:flex;gap:1.5rem;list-style:none;padding:0;margin:0}
.footer-bottom .footer-legal-links a{font-size:0.85rem;color:rgba(255,255,255,0.5)}
.footer-bottom .footer-legal-links a:hover{color:var(--st-secondary)}

/* Sections */
.section-padding{padding:var(--st-section-padding) 0}
.section-header{text-align:center;margin-bottom:3rem}
.section-header .section-subtitle{color:var(--st-primary);font-weight:600;font-size:0.85rem;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:0.5rem}
.section-header .section-title{font-size:2.25rem;font-weight:800;margin-bottom:0.75rem}
.section-header .section-desc{color:var(--st-muted);max-width:600px;margin:0 auto}

/* Testimonials */
.testimonial-card{background:#fff;border-radius:var(--st-card-radius);padding:2rem;box-shadow:var(--st-shadow-sm);text-align:center;transition:var(--st-transition);height:100%}
.testimonial-card:hover{box-shadow:var(--st-shadow-md);transform:translateY(-4px)}
.testimonial-card .testimonial-stars{color:var(--st-secondary);font-size:1rem;margin-bottom:1rem}
.testimonial-card .testimonial-text{font-style:italic;color:var(--st-muted);font-size:0.95rem;line-height:1.7;margin-bottom:1.25rem}
.testimonial-card .testimonial-author{font-weight:700;color:var(--st-dark)}

/* CTA */
.cta-section{background:linear-gradient(135deg,var(--st-primary),var(--st-primary-dark));border-radius:var(--st-card-radius);padding:3rem 2rem;text-align:center;color:#fff;position:relative;overflow:hidden}
.cta-section .cta-title{font-size:2rem;font-weight:800;margin-bottom:1rem}
.cta-section .cta-desc{font-size:1rem;opacity:0.9;margin-bottom:1.5rem;max-width:500px;margin-left:auto;margin-right:auto}

/* Toast */
.st-toast-container{position:fixed;top:calc(var(--st-navbar-height) + 1rem);right:1rem;z-index:9999;display:flex;flex-direction:column;gap:0.75rem}
[dir="rtl"] .st-toast-container{right:auto;left:1rem}
.st-toast{background:#fff;border-radius:12px;box-shadow:var(--st-shadow-lg);padding:1rem;min-width:300px;max-width:400px;display:flex;align-items:center;gap:0.75rem;animation:toastSlideIn 0.3s ease-out;border-right:4px solid}
[dir="rtl"] .st-toast{border-right:none;border-left:4px solid}
.st-toast.toast-success{border-color:var(--st-success)}
.st-toast.toast-error{border-color:var(--st-danger)}
.st-toast.toast-warning{border-color:var(--st-warning)}
.st-toast.toast-info{border-color:var(--st-info)}
.st-toast .toast-icon{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.st-toast.toast-success .toast-icon{background:#e8f5e9;color:var(--st-success)}
.st-toast.toast-error .toast-icon{background:#fce4ec;color:var(--st-danger)}
.st-toast.toast-warning .toast-icon{background:#fff8e1;color:var(--st-warning)}
.st-toast.toast-info .toast-icon{background:#e3f2fd;color:var(--st-info)}
.st-toast .toast-close{background:none;border:none;color:var(--st-muted);cursor:pointer;font-size:1rem}
@keyframes toastSlideIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}

/* Offline */
.offline-banner{position:fixed;bottom:0;left:0;right:0;background:var(--st-warning);color:#fff;text-align:center;padding:0.75rem;font-weight:600;z-index:9998;transform:translateY(100%);transition:transform 0.3s}
.offline-banner.show{transform:translateY(0)}

/* Animations */
.fade-in{animation:fadeIn 0.5s ease-out}
@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.slide-up{animation:slideUp 0.5s ease-out}
@keyframes slideUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}
.st-spinner{width:40px;height:40px;border:3px solid rgba(0,102,204,0.15);border-top-color:var(--st-primary);border-radius:50%;animation:spin 0.8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* RTL */
[dir="rtl"] .text-start{text-align:right!important}
[dir="rtl"] .text-end{text-align:left!important}
[dir="rtl"] .me-1{margin-right:0!important;margin-left:0.25rem!important}
[dir="rtl"] .me-2{margin-right:0!important;margin-left:0.5rem!important}
[dir="rtl"] .me-3{margin-right:0!important;margin-left:1rem!important}
[dir="rtl"] .me-4{margin-right:0!important;margin-left:1.5rem!important}
[dir="rtl"] .me-5{margin-right:0!important;margin-left:3rem!important}
[dir="rtl"] .ms-1{margin-left:0!important;margin-right:0.25rem!important}
[dir="rtl"] .ms-2{margin-left:0!important;margin-right:0.5rem!important}
[dir="rtl"] .ms-3{margin-left:0!important;margin-right:1rem!important}
[dir="rtl"] .ms-4{margin-left:0!important;margin-right:1.5rem!important}
[dir="rtl"] .ms-auto{margin-left:0!important;margin-right:auto!important}
[dir="rtl"] .dropdown-menu{text-align:right}
[dir="rtl"] .form-check{padding-left:0;padding-right:1.5em}
[dir="rtl"] .form-check-input{float:right;margin-left:0;margin-right:-1.5em}

/* Responsive */
@media(max-width:991.98px){
.st-hero .hero-title{font-size:2.25rem}
.section-header .section-title{font-size:1.75rem}
.filter-sidebar{position:static;margin-bottom:1.5rem}
.bus-animation{display:none}
}
@media(max-width:767.98px){
.st-hero{min-height:auto;padding:3rem 0}
.st-hero .hero-title{font-size:1.75rem}
.section-padding{padding:2.5rem 0}
.section-header .section-title{font-size:1.5rem}
.search-form-card{padding:1.25rem}
.journey-times{flex-direction:column;gap:0.5rem}
.seat{width:40px;height:44px}
#track-map{height:350px}
.footer-bottom{flex-direction:column;text-align:center}
}
@media(max-width:575.98px){
.route-card .route-image{height:140px}
.ticket-details{grid-template-columns:1fr}
.stat-card{flex-direction:column;text-align:center}
}

/* Print */
@media print{
.st-navbar,.st-footer,.btn,.no-print{display:none!important}
body{background:#fff}
.digital-ticket{box-shadow:none;border:2px solid #000}
.container{max-width:100%}
}

/* Admin */
.admin-body{background:#0f172a;color:#e2e8f0}
.admin-sidebar{background:#1e293b;min-height:100vh;width:260px;position:fixed;left:0;top:0;z-index:1040;overflow-y:auto}
[dir="rtl"] .admin-sidebar{left:auto;right:0}
.admin-sidebar.collapsed{width:70px}
.admin-sidebar .sidebar-brand{padding:1.25rem;display:flex;align-items:center;gap:0.75rem;color:#fff;font-weight:700;font-size:1.2rem;border-bottom:1px solid rgba(255,255,255,0.1)}
.admin-sidebar .sidebar-menu{list-style:none;padding:1rem 0;margin:0}
.admin-sidebar .sidebar-menu li a{display:flex;align-items:center;gap:0.75rem;padding:0.85rem 1.25rem;color:rgba(255,255,255,0.7);font-weight:500;border-left:3px solid transparent;transition:var(--st-transition)}
.admin-sidebar .sidebar-menu li a:hover,.admin-sidebar .sidebar-menu li a.active{background:rgba(0,102,204,0.15);color:#fff;border-left-color:var(--st-primary)}
.admin-main{margin-left:260px;min-height:100vh}
[dir="rtl"] .admin-main{margin-left:0;margin-right:260px}
.admin-sidebar.collapsed+.admin-main{margin-left:70px}
.admin-topbar{background:#1e293b;padding:1rem 1.5rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,0.05);position:sticky;top:0;z-index:1030}
.admin-content{padding:1.5rem}
.admin-card{background:#1e293b;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,0.05)}
.admin-table{color:#e2e8f0;width:100%}
.admin-table thead th{background:#0f172a;padding:1rem;font-weight:600;font-size:0.85rem;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,0.1);color:#94a3b8}
.admin-table tbody td{padding:1rem;border-bottom:1px solid rgba(255,255,255,0.05);font-size:0.9rem}
.admin-table tbody tr:hover{background:rgba(0,102,204,0.05)}
.admin-stat-card{background:#1e293b;border-radius:12px;padding:1.5rem;border:1px solid rgba(255,255,255,0.05);display:flex;align-items:center;gap:1rem}
.admin-stat-card .stat-icon{width:52px;height:52px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.4rem}
.admin-stat-card .stat-value{font-size:1.75rem;font-weight:800;color:#fff}
.admin-body .form-control,.admin-body .form-select{background:#0f172a;border-color:rgba(255,255,255,0.1);color:#e2e8f0}
.admin-body .form-control:focus,.admin-body .form-select:focus{box-shadow:0 0 0 4px rgba(0,102,204,0.15)}

/* Extras */
.document-upload-zone{border:2px dashed #ccc;border-radius:12px;padding:2rem;text-align:center;cursor:pointer;transition:var(--st-transition);background:#fafafa}
.document-upload-zone:hover{border-color:var(--st-primary);background:var(--st-primary-light)}
.estimated-price-box{background:linear-gradient(135deg,var(--st-secondary-light),#fff);border:2px solid var(--st-secondary);border-radius:12px;padding:1.5rem;text-align:center;margin-top:1.5rem}
.estimated-price-box .price-value{font-size:2.5rem;font-weight:800;color:var(--st-secondary-dark)}
.trip-countdown{background:linear-gradient(135deg,var(--st-primary),var(--st-primary-dark));border-radius:var(--st-card-radius);padding:2rem;color:#fff;text-align:center}
.countdown-units{display:flex;justify-content:center;gap:1rem}
.countdown-unit .unit-value{font-size:2.5rem;font-weight:800;background:rgba(255,255,255,0.15);border-radius:12px;padding:0.75rem 1rem;min-width:70px}
.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--st-primary-dark),var(--st-primary),#0052a3);padding:2rem 1rem}
.auth-card{background:#fff;border-radius:var(--st-card-radius);box-shadow:var(--st-shadow-lg);padding:2.5rem;width:100%;max-width:450px}
.social-login{display:flex;gap:0.75rem;margin-bottom:1.5rem}
.social-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:0.5rem;padding:0.75rem;border-radius:10px;border:2px solid #e9ecef;background:#fff;font-weight:600;cursor:pointer;transition:var(--st-transition)}
.social-btn:hover{border-color:var(--st-primary);background:var(--st-primary-light)}
.divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0;color:var(--st-muted);font-size:0.85rem}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:#e9ecef}
.payment-icons{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
.payment-icon{height:36px;width:auto;background:#fff;border-radius:6px;padding:4px 8px}
.pickup-location-row{background:#f8f9fa;border-radius:12px;padding:1.25rem;margin-bottom:1rem;position:relative;border:1px solid #e9ecef}
.pickup-location-row .remove-location{position:absolute;top:0.5rem;right:0.5rem;background:var(--st-danger);color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:0.75rem}
[dir="rtl"] .pickup-location-row .remove-location{right:auto;left:0.5rem}
.area-selector-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}
.distance-display{background:var(--st-primary-light);border-radius:10px;padding:1rem 1.25rem;display:flex;align-items:center;gap:0.75rem;margin-top:1rem}
.distance-display .distance-value{font-size:1.25rem;font-weight:700;color:var(--st-primary)}
.st-form-control{border:2px solid #e9ecef;border-radius:10px;padding:0.85rem 1rem;font-size:0.95rem;transition:var(--st-transition);width:100%}
.st-form-control:focus{border-color:var(--st-primary);box-shadow:0 0 0 4px rgba(0,102,204,0.1);outline:none}
.st-form-label{font-weight:600;color:var(--st-dark);font-size:0.9rem;margin-bottom:0.5rem;display:block}
.st-toggle{position:relative;display:inline-flex;align-items:center;gap:0.75rem;cursor:pointer}
.st-toggle input{opacity:0;width:0;height:0}
.st-toggle .toggle-slider{position:relative;width:48px;height:26px;background:#ccc;border-radius:13px;transition:var(--st-transition);flex-shrink:0}
.st-toggle .toggle-slider::before{content:'';position:absolute;width:20px;height:20px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:var(--st-transition)}
.st-toggle input:checked+.toggle-slider{background:var(--st-primary)}
.st-toggle input:checked+.toggle-slider::before{transform:translateX(22px)}
[dir="rtl"] .st-toggle .toggle-slider::before{left:auto;right:3px}
[dir="rtl"] .st-toggle input:checked+.toggle-slider::before{transform:translateX(-22px)}
