@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#fff;padding:16px 24px;border-radius:12px;box-shadow:0 4px 20px #00000026;display:flex;align-items:center;gap:12px;z-index:2000;font-weight:500;animation:slideDown .3s ease}.toast-icon{width:32px;height:32px;background:#d1fae5;color:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.2rem}@keyframes slideDown{0%{transform:translate(-50%) translateY(-100%);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.login-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.login-modal{display:flex;background:#fff;border-radius:16px;overflow:hidden;max-width:900px;width:100%;max-height:90vh}.login-left{flex:1;background:linear-gradient(#00000080,#00000080),url(https://images.unsplash.com/photo-1591604129939-f1efa4d9f7fa?w=800) center/cover;padding:40px;display:flex;flex-direction:column;justify-content:center;color:#fff;min-height:500px}.login-left h2{font-size:1.75rem;margin-bottom:24px}.step{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:.95rem;line-height:1.5}.step-num{width:28px;height:28px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}.login-right{flex:1;padding:40px;display:flex;flex-direction:column;align-items:center;position:relative}.login-close{position:absolute;top:16px;right:16px;background:none;border:none;color:#6b7280;cursor:pointer}.login-right h3{font-size:1.5rem;color:#1e1b4b;margin:16px 0 8px}.login-subtitle{color:#9ca3af;margin-bottom:24px;text-align:center}.form-field{width:100%;margin-bottom:20px}.form-field label{display:block;font-size:.9rem;color:#6b7280;margin-bottom:8px}.form-field input{width:100%;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem}.form-field input:focus{outline:none;border-color:#7c3aed}.phone-input{display:flex;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.phone-input select{padding:14px 12px;border:none;background:#f9fafb;font-size:1rem;cursor:pointer}.phone-input input{flex:1;border:none;border-radius:0}.continue-btn{width:100%;padding:16px;background:#7c3aed;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;margin-bottom:16px}.continue-btn:hover{background:#6d28d9}.switch-btn{background:none;border:none;color:#1e1b4b;font-size:1rem;font-weight:600;cursor:pointer;text-decoration:underline}.credential{color:#1e1b4b;font-weight:600;margin-bottom:24px}.change-btn{background:none;border:none;color:#7c3aed;text-decoration:underline;cursor:pointer;font-size:inherit}.otp-inputs{display:flex;gap:12px;margin-bottom:16px}.otp-input{width:48px;height:56px;border:1px solid #e5e7eb;border-radius:10px;text-align:center;font-size:1.25rem;font-weight:600}.otp-input:focus{outline:none;border-color:#7c3aed}.resend{color:#9ca3af;font-size:.9rem;margin-bottom:8px}.timer{color:#1e1b4b;font-weight:600}.spam-note{color:#6b7280;font-size:.85rem;text-align:center;margin-bottom:20px}.verify-btn{width:100%;padding:16px;background:#f3f4f6;color:#6b7280;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer}.verify-btn:not(:disabled){background:#7c3aed;color:#fff}@media(max-width:768px){.login-modal{flex-direction:column;max-height:95vh}.login-left{display:none}.login-right{padding:32px 24px;min-height:auto}.login-right h3{font-size:1.35rem}.login-subtitle{font-size:.9rem}.otp-inputs{gap:8px}.otp-input{width:42px;height:50px;font-size:1.1rem}}.error-message{width:100%;background:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:12px 16px;border-radius:10px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;font-size:.9rem}.error-dismiss{background:none;border:none;color:#dc2626;font-size:1.25rem;cursor:pointer;padding:0 4px;line-height:1}.error-dismiss:hover{color:#b91c1c}.spinner{animation:spin 1s linear infinite;margin-right:8px}.continue-btn:disabled,.verify-btn:disabled{opacity:.6;cursor:not-allowed}.continue-btn:disabled:hover{background:#7c3aed}.continue-btn,.verify-btn{display:flex;align-items:center;justify-content:center;gap:8px}.resend-btn{background:none;border:none;color:#7c3aed;font-weight:600;cursor:pointer;padding:0;margin-right:8px}.resend-btn:hover:not(:disabled){text-decoration:underline}.resend-btn.disabled,.resend-btn:disabled{color:#9ca3af;cursor:not-allowed}.form-field input:disabled,.phone-input select:disabled,.phone-input input:disabled,.otp-input:disabled{background:#f9fafb;cursor:not-allowed}.switch-btn:disabled{opacity:.6;cursor:not-allowed}.navbar-wrapper{position:sticky;top:0;z-index:1000}.navbar{display:flex;align-items:center;justify-content:space-between;padding:16px 40px;background:#1e1b4b}.navbar-logo{font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;cursor:pointer}.navbar-logo h3{font-size:1.5rem;margin-bottom:8px}.navbar-logo h3 span{color:#f59e0b}.navbar-right{display:flex;align-items:center;gap:16px}.navbar-selectors{display:flex;gap:16px}.selector-dropdown{display:flex;align-items:center;gap:2px;color:#fff;font-size:.9rem;cursor:pointer;position:relative;padding:8px 0;border-radius:8px;transition:background .2s}.selector-dropdown:hover{background:#ffffff1a}.selector-flag{font-size:1.2rem}.selector-icon{color:#fff}.selector-code{font-weight:500;font-size:.85rem}.dropdown-menu{position:absolute;top:100%;left:0;min-width:180px;background:#fff;border-radius:12px;box-shadow:0 10px 40px #00000026;z-index:1000;padding:8px 0;margin-top:8px}.dropdown-item{display:flex;align-items:center;gap:10px;padding:10px 16px;color:#374151;font-size:.9rem;cursor:pointer;transition:background .2s}.dropdown-item:hover{background:#f3f4f6}.dropdown-item.active{background:#f5f3ff;border-left:3px solid #8b5cf6}.dropdown-flag{font-size:1.2rem}.mobile-menu-btn{display:none;align-items:center;justify-content:center;background:transparent;border:none;color:#fff;cursor:pointer;padding:8px}.mobile-menu-panel{display:block;background:#1e1b4b;padding:16px}.mobile-menu-item{display:flex;align-items:center;gap:12px;padding:16px 8px;color:#fff;font-size:1rem;cursor:pointer}.mobile-menu-item svg{color:#fff}.mobile-user-item{font-size:.95rem}.mobile-menu-divider{height:1px;background:#ffffff1a;margin:0 8px}.mobile-submenu{padding-left:24px;padding-bottom:8px}.mobile-submenu-item{display:flex;align-items:center;gap:10px;padding:12px 16px;color:#fffc;font-size:.9rem;cursor:pointer;border-radius:8px}.mobile-submenu-item:hover{background:#ffffff1a}.mobile-submenu-item.active{background:#8b5cf633;color:#fff}@media(max-width:768px){.navbar{padding:12px 16px}.navbar-desktop{display:none!important}.mobile-menu-btn{display:flex!important}}.signin-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;background:#312e81;border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.signin-btn:hover{background:#3730a3}.user-menu{position:relative}.user-menu-btn{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;border:none;border-radius:10px;color:#fff;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s}.user-menu-btn:hover{background:#ffffff1a}.user-avatar{width:36px;height:36px;border-radius:10px;background:#8b5cf6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600}.user-avatar-large{width:44px;height:44px;border-radius:12px;background:#8b5cf6;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:600;flex-shrink:0}.user-name{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-menu{position:absolute;top:100%;right:0;min-width:280px;background:#fff;border-radius:16px;box-shadow:0 10px 40px #00000026;z-index:1000;margin-top:8px;overflow:hidden}.user-dropdown-header{display:flex;align-items:center;gap:12px;padding:20px;background:#fff}.user-info{flex:1;min-width:0}.user-name-display{display:block;font-size:.95rem;font-weight:600;color:#1f2937;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{display:block;font-size:.8rem;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.logout-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:none;border:none;color:#9ca3af;cursor:pointer;border-radius:8px;transition:all .2s}.logout-icon-btn:hover{background:#f3f4f6;color:#374151}.user-dropdown-divider{height:1px;background:#e5e7eb}.user-dropdown-items{padding:8px 0}.user-dropdown-item{display:flex;align-items:center;gap:14px;width:100%;padding:14px 20px;background:none;border:none;color:#374151;font-size:.95rem;font-weight:500;cursor:pointer;transition:background .2s;text-align:left;text-decoration:none}.user-dropdown-item svg{color:#8b5cf6}.user-dropdown-item:hover{background:#f9fafb}.logout-item{color:#dc2626}.logout-item:hover{background:#fef2f2}.mobile-user-header{display:flex;align-items:center;gap:12px;padding:16px 8px}.mobile-user-header .user-info{flex:1}.mobile-user-header .user-name-display{color:#fff}.mobile-user-header .user-email{color:#fff9}.mobile-logout-item{color:#fca5a5}.mobile-logout-item:hover{background:#dc26261a}.footer{background:#1e1b4b;color:#fff;padding:60px 0 0;margin-top:80px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:40px}.footer-logo{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-size:1.25rem;font-weight:700;margin-bottom:16px}.footer-logo .brand-highlight{color:#f59e0b}.footer-desc{color:#a5b4fc;line-height:1.7;margin-bottom:20px}.social-links{display:flex;gap:12px}.social-links a{width:40px;height:40px;border-radius:50%;background:#ffffff1a;display:flex;align-items:center;justify-content:center;color:#fff;transition:all .3s}.social-links a:hover{background:#6366f1;transform:translateY(-3px)}.footer-links h4,.footer-contact h4{font-size:1.1rem;margin-bottom:20px;color:#fff}.footer-links ul{list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{color:#a5b4fc;text-decoration:none;transition:color .3s}.footer-links a:hover{color:#fff}.contact-item{display:flex;align-items:center;gap:12px;color:#a5b4fc;margin-bottom:16px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding:24px 0;margin-top:40px;border-top:1px solid rgba(255,255,255,.1)}.footer-bottom p{color:#a5b4fc}.app-badges{display:flex;gap:12px}.app-badges img{height:40px}@media(max-width:968px){.footer-grid{grid-template-columns:1fr 1fr}}@media(max-width:576px){.footer-grid{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:20px;text-align:center}}.landing-hero{background-size:cover;background-position:center;background-repeat:no-repeat;padding:80px 20px 60px;display:flex;align-items:center;justify-content:center;min-height:450px;position:relative;text-align:center}.landing-hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#1e1b4bd9,#4c1d95bf,#7c3aedb3);z-index:1}.landing-hero-content{position:relative;z-index:2;max-width:900px}.landing-hero h1{font-size:2.5rem;color:#fff;margin-bottom:16px;line-height:1.2;font-weight:700}.landing-hero h1 span{color:#f59e0b}.landing-hero-subtitle{font-size:1.1rem;color:#e5e7eb;margin-bottom:32px;line-height:1.6}.landing-hero-stats{display:flex;justify-content:center;gap:60px;margin-bottom:32px}.landing-hero-stat-item{display:flex;flex-direction:column;align-items:center}.landing-hero-stat-value{font-size:1.75rem;font-weight:700;color:#f59e0b}.landing-hero-stat-label{font-size:.9rem;color:#fff}.landing-hero-buttons{display:flex;justify-content:center;gap:16px;margin-bottom:24px}.landing-hero-btn{padding:14px 36px;font-size:1rem;font-weight:600;border-radius:6px;cursor:pointer;transition:background .2s,transform .2s;border:2px solid transparent}.landing-hero-btn-primary{background:#f59e0b;color:#1e1b4b;border-color:#f59e0b}.landing-hero-btn-primary:hover{background:#fbbf24;border-color:#fbbf24;transform:translateY(-2px)}.landing-hero-btn-secondary{background:transparent;color:#fff;border-color:#fff}.landing-hero-btn-secondary:hover{background:#ffffff1a;transform:translateY(-2px)}.landing-hero-discount{color:#fff;font-size:1rem;font-weight:500}@media(max-width:768px){.landing-hero{padding:60px 20px 40px;min-height:400px}.landing-hero h1{font-size:1.75rem}.landing-hero-subtitle{font-size:.95rem}.landing-hero-stats{gap:30px}.landing-hero-stat-value{font-size:1.4rem}.landing-hero-stat-label{font-size:.8rem}.landing-hero-buttons{flex-direction:column;align-items:center}.landing-hero-btn{width:100%;max-width:250px}}.features-section{padding:80px 20px;max-width:1200px;margin:0 auto}.features-section h2{font-size:2rem;color:#1f2937;text-align:center;margin-bottom:48px;font-weight:700}.feature-showcase-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:48px}.feature-showcase-card{background:#fff;border-radius:16px;padding:32px 24px;box-shadow:0 4px 20px #00000014;transition:transform .2s,box-shadow .2s}.feature-showcase-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.feature-showcase-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.feature-showcase-card h3{font-size:1.25rem;color:#1f2937;margin-bottom:12px;font-weight:600}.feature-showcase-card p{font-size:.95rem;color:#6b7280;line-height:1.6}.quick-features-row{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.quick-feature-badge{display:flex;align-items:center;gap:8px;background:#f3f4f6;padding:12px 20px;border-radius:50px;font-size:.9rem;color:#374151;font-weight:500}.badge-dot{width:8px;height:8px;background:#7c3aed;border-radius:50%}@media(max-width:1024px){.feature-showcase-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.features-section h2{font-size:1.5rem}.feature-showcase-grid{grid-template-columns:1fr}.quick-features-row{gap:12px}.quick-feature-badge{padding:10px 16px;font-size:.85rem}}.pricing-section{background-size:cover;background-position:center;background-repeat:no-repeat;padding:60px 20px;text-align:center;position:relative}.pricing-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#f59e0be6,#fbbf24d9,#fcd34dcc);z-index:1}.pricing-content{max-width:800px;margin:0 auto;position:relative;z-index:2}.pricing-section h2{font-size:2.5rem;color:#1e1b4b;margin-bottom:16px;font-weight:700}.pricing-section p{font-size:1.15rem;color:#374151;margin-bottom:32px}.pricing-cta-btn{background:#1e1b4b;color:#fff;border:none;padding:16px 40px;font-size:1.1rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .2s,transform .2s}.pricing-cta-btn:hover{background:#4c1d95;transform:translateY(-2px)}@media(max-width:768px){.pricing-section h2{font-size:1.75rem}.pricing-section p{font-size:1rem}}.booking-journey-section{padding:80px 20px;max-width:1000px;margin:0 auto;background:#fff}.booking-journey-header{text-align:center;margin-bottom:60px}.booking-journey-section h2{font-size:2rem;color:#1f2937;margin-bottom:12px;font-weight:700}.booking-journey-subtitle{font-size:1rem;color:#6b7280;max-width:600px;margin:0 auto}.journey-timeline{position:relative;padding:0 20px}.journey-timeline-line{position:absolute;left:50%;top:0;bottom:80px;width:2px;background:#e5e7eb;transform:translate(-50%)}.journey-step{display:flex;align-items:center;margin-bottom:40px;position:relative}.journey-step-left{flex-direction:row;justify-content:flex-end;padding-right:calc(50% + 30px)}.journey-step-right{flex-direction:row-reverse;justify-content:flex-end;padding-left:calc(50% + 30px)}.journey-step-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:24px;max-width:380px;box-shadow:0 4px 16px #0000000f;position:relative}.journey-step-icon{width:56px;height:56px;background:#f59e0b;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;position:absolute;top:-12px;right:24px;box-shadow:0 4px 12px #f59e0b4d}.journey-step-left .journey-step-icon,.journey-step-right .journey-step-icon{right:24px}.journey-step-card h3{font-size:1.15rem;color:#1e1b4b;margin-bottom:8px;margin-top:16px;font-weight:700;padding-right:70px}.journey-step-card p{font-size:.95rem;color:#64748b;line-height:1.6;margin:0}.journey-step-number{position:absolute;left:50%;transform:translate(-50%);width:36px;height:36px;background:#1e1b4b;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;font-weight:700;z-index:2}.time-saving-banner{background:linear-gradient(135deg,#1e1b4b,#312e81 90%);border-radius:16px;padding:32px 90px;text-align:center;color:#fff}.time-saving-icon{width:48px;height:48px;margin-bottom:12px}.time-saving-banner h3{font-size:1.5rem;color:#f59e0b;margin-bottom:8px;font-weight:700;font-style:italic}.time-saving-banner p{font-size:.95rem;color:#e5e7eb;max-width:400px;margin:0 auto;line-height:1.6}@media(max-width:768px){.booking-journey-section h2{font-size:1.5rem}.journey-timeline-line{left:20px}.journey-step{flex-direction:column!important;align-items:flex-start;padding-left:50px!important;padding-right:0!important}.journey-step-number{left:20px;transform:translate(-50%)}.journey-step-card{max-width:100%}.time-saving-banner{padding:24px 20px}.time-saving-banner h3{font-size:1.25rem}}.testimonials-section{padding:80px 20px;background:linear-gradient(135deg,#1e1b4b,#4c1d95)}.testimonials-section h2{font-size:2rem;color:#fff;text-align:center;margin-bottom:48px;font-weight:700}.testimonials-carousel{display:flex;align-items:center;justify-content:center;gap:24px;max-width:900px;margin:0 auto}.carousel-btn{width:48px;height:48px;border-radius:50%;border:2px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.carousel-btn:hover{background:#ffffff1a;border-color:#fff}.testimonials-track{flex:1;max-width:700px}.testimonial-card{background:#fff;border-radius:16px;padding:32px;text-align:center}.testimonial-rating{display:flex;justify-content:center;gap:4px;margin-bottom:20px}.testimonial-content{font-size:1.1rem;color:#374151;line-height:1.7;margin-bottom:24px;font-style:italic}.testimonial-author{display:flex;align-items:center;justify-content:center;gap:12px}.author-avatar{width:48px;height:48px;background:linear-gradient(135deg,#7c3aed,#4c1d95);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:600}.author-info{text-align:left}.author-info h4{font-size:1rem;color:#1f2937;margin-bottom:2px;font-weight:600}.author-info span{font-size:.85rem;color:#6b7280}.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:32px}.dot{width:10px;height:10px;border-radius:50%;border:none;background:#ffffff4d;cursor:pointer;transition:all .2s}.dot.active{background:#f59e0b;transform:scale(1.2)}.dot:hover{background:#ffffff80}@media(max-width:768px){.testimonials-section h2{font-size:1.5rem}.carousel-btn{width:40px;height:40px}.testimonial-card{padding:24px}.testimonial-content{font-size:1rem}}.trust-section{padding:80px 20px;background:#f8fafc;text-align:center}.trust-content{max-width:800px;margin:0 auto}.trust-logo{display:flex;align-items:center;justify-content:center;margin-bottom:24px}.trust-logo-img{max-width:200px;height:auto}.trust-section h3{font-size:1.75rem;color:#1f2937;margin-bottom:16px;font-weight:700}.trust-section p{font-size:1.1rem;color:#6b7280;line-height:1.7;margin-bottom:32px}.trust-badges{display:flex;justify-content:center;gap:32px;flex-wrap:wrap}.trust-badge{display:flex;align-items:center;gap:8px;color:#374151;font-weight:500}.trust-badge svg{color:#10b981}@media(max-width:768px){.trust-section h3{font-size:1.5rem}.trust-section p{font-size:1rem}.trust-badges{gap:20px}}.landing-page{min-height:100vh;background:#f8fafc}.custom-dropdown{position:relative}.dropdown-trigger{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#fff;cursor:pointer;width:100%}.dropdown-trigger:focus{outline:none;border-color:#7c3aed}.dropdown-trigger.open{border-color:#7c3aed}.dropdown-trigger .placeholder{color:#9ca3af}.dropdown-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border-radius:10px;box-shadow:0 4px 20px #00000026;z-index:1000;max-height:280px;overflow-y:auto}.dropdown-header{padding:12px 16px;font-size:.9rem;color:#6b7280;border-bottom:1px solid #f3f4f6}.dropdown-item{padding:14px 16px;cursor:pointer;font-size:1rem;color:#1f2937;transition:background .15s}.dropdown-item:hover{background:#f9fafb}.dropdown-item.selected{background:#f5f3ff;border:2px solid #7c3aed;border-radius:8px;margin:4px 8px;padding:12px 14px}.dropdown-arrow{color:#6b7280;transition:transform .2s}.dropdown-trigger.open .dropdown-arrow{transform:rotate(180deg)}.custom-datepicker{position:relative}.datepicker-trigger{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#fff;cursor:pointer;width:100%}.datepicker-trigger:focus{outline:none;border-color:#7c3aed}.datepicker-trigger.open{border-color:#7c3aed}.datepicker-trigger .placeholder{color:#9ca3af}.datepicker-arrow{color:#6b7280;transition:transform .2s}.datepicker-trigger.open .datepicker-arrow{transform:rotate(180deg)}.datepicker-menu{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;z-index:1000;padding:16px;min-width:300px}.calendar-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.calendar-header .nav-btn{background:none;border:none;padding:8px;cursor:pointer;color:#6b7280;border-radius:8px;transition:background .15s}.calendar-header .nav-btn:hover{background:#f3f4f6;color:#1f2937}.month-year{font-weight:600;color:#1f2937;font-size:1rem}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:8px}.weekday{text-align:center;font-size:.8rem;color:#9ca3af;font-weight:500;padding:8px 0}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;background:none;font-size:.9rem;color:#1f2937;cursor:pointer;border-radius:8px;transition:all .15s}.calendar-day:hover:not(.disabled):not(.empty){background:#f5f3ff}.calendar-day.empty{cursor:default}.calendar-day.today{border:1px solid #7c3aed}.calendar-day.selected{background:#7c3aed;color:#fff}.calendar-day.selected:hover{background:#6d28d9}.calendar-day.disabled{color:#d1d5db;cursor:not-allowed}.traveler-picker{position:relative}.picker-trigger{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#fff;cursor:pointer;width:100%}.picker-trigger:focus,.picker-trigger.open{outline:none;border-color:#7c3aed}.picker-arrow{color:#6b7280;transition:transform .2s}.picker-trigger.open .picker-arrow{transform:rotate(180deg)}.picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:20px;z-index:100;min-width:280px}.picker-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f3f4f6}.picker-row:last-of-type{border-bottom:none}.picker-label{display:flex;flex-direction:column;gap:2px}.label-title{font-weight:600;color:#1f2937}.label-sub{font-size:.85rem;color:#9ca3af}.picker-controls{display:flex;align-items:center;gap:8px}.ctrl-btn{width:36px;height:36px;border:1px solid #e5e7eb;border-radius:8px;background:#fff;color:#7c3aed;cursor:pointer;display:flex;align-items:center;justify-content:center}.ctrl-btn:hover{background:#f5f3ff}.ctrl-value{width:40px;text-align:center;font-size:1.1rem;font-weight:600;color:#1f2937}.apply-btn{width:100%;padding:14px;background:#1e1b4b;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;margin-top:16px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:16px;max-width:600px;width:100%;max-height:90vh;overflow-y:auto}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#1e1b4b;border-radius:16px 16px 0 0}.modal-header h2{color:#fff;font-size:1.25rem;margin:0}.modal-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px}.modal-banner{background:#fef3c7;padding:20px 24px;position:relative}.modal-banner span{font-weight:600;color:#92400e;display:block;margin-bottom:8px}.modal-banner p{color:#a16207;font-size:.9rem;line-height:1.5;margin:0}.banner-explore{position:absolute;right:24px;top:50%;transform:translateY(-50%);padding:10px 24px;background:#fff;border:1px solid #f59e0b;border-radius:8px;color:#f59e0b;font-weight:600;cursor:pointer}.modal-body{padding:24px}.modal-body h3{font-size:1rem;color:#1e1b4b;margin:20px 0 8px}.modal-body h3:first-child{margin-top:0}.modal-body p{color:#6b7280;font-size:.9rem;line-height:1.6;margin:0}.download-link{display:inline-flex;align-items:center;gap:8px;color:#7c3aed;font-size:.9rem;margin-top:20px;text-decoration:underline}.modal-footer{padding:0 24px 24px;display:flex;justify-content:center}.proceed-btn{padding:14px 48px;background:#1e1b4b;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer}.proceed-btn:hover{background:#312e81}@media(max-width:600px){.modal-banner{padding-bottom:60px}.banner-explore{position:static;transform:none;margin-top:12px}}.booking-form{background:#fff;border-radius:20px;padding:28px 36px;box-shadow:0 8px 32px #0000001f}.form-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.trip-type{display:flex;gap:32px}.trip-option{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:1rem;color:#374151;font-weight:500;padding:8px 16px;border-radius:24px;transition:background .2s}.trip-option:has(input:checked){background:#f3f4f6}.trip-option input[type=radio]{appearance:none;width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;position:relative;cursor:pointer}.trip-option input[type=radio]:checked{border-color:#7c3aed}.trip-option input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#7c3aed;border-radius:50%}.group-booking{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;color:#374151;cursor:pointer}.group-booking input[type=checkbox]{appearance:none;width:20px;height:20px;border:2px solid #d1d5db;border-radius:6px;cursor:pointer;margin-top:2px}.group-booking input[type=checkbox]:checked{background:#7c3aed;border-color:#7c3aed;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:center}.group-booking-text{display:flex;flex-direction:column;gap:2px}.group-booking-text span{font-weight:600;color:#1f2937}.group-booking-text small{display:flex;align-items:center;gap:4px;color:#9ca3af;font-size:.8rem;position:relative}.group-booking-text small .info-icon{cursor:help}.group-booking-text small:hover .info-tooltip{display:block}.info-tooltip{display:none;position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:12px;box-shadow:0 4px 24px #00000026;padding:20px;width:320px;z-index:100;text-align:left}.info-tooltip h4{font-size:1rem;color:#1e1b4b;margin:0 0 12px;display:flex;justify-content:space-between;align-items:center}.info-tooltip h5{font-size:.9rem;color:#1e1b4b;margin:16px 0 6px}.info-tooltip h5:first-of-type{margin-top:0}.info-tooltip p{font-size:.85rem;color:#6b7280;line-height:1.5;margin:0}.form-row{display:grid;grid-template-columns:1fr auto 1fr 1fr 1fr;align-items:flex-end;gap:12px;margin-bottom:20px}.form-row.with-return{grid-template-columns:1fr auto 1fr 1fr 1fr 1fr}.field{display:flex;flex-direction:column;gap:8px;flex:1}.field-label{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#6b7280}.field select,.field input[type=date]{padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#fff;cursor:pointer;width:100%}.field select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}.field select:focus,.field input:focus{outline:none;border-color:#7c3aed}.swap-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%;cursor:pointer;flex-shrink:0;margin-bottom:4px;color:#7c3aed}.swap-btn:hover{background:#f3f4f6}.form-footer{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:8px}.agent-banner{display:flex;align-items:center;gap:16px;background:#fef3c7;padding:12px 20px;border-radius:10px;font-size:.9rem;color:#92400e;font-weight:500;flex-shrink:0}.explore-btn{padding:10px 24px;background:#fff;border:1px solid #f59e0b;border-radius:8px;color:#f59e0b;font-weight:600;font-size:.9rem;cursor:pointer;gap:60px;white-space:nowrap}.explore-btn:hover{background:#fffbeb}.timetable-link{display:flex;align-items:center;padding-top:5%;gap:10px;color:#1e1b4b;font-size:.85rem;text-decoration:underline;cursor:pointer;font-weight:500;white-space:nowrap}.footer-right{display:flex;align-items:center;gap:24px}.search-btn{padding:16px 56px;background:#1e1b4b;color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s;flex-shrink:0}.search-btn:hover{background:#312e81}@media(max-width:1024px){.form-row,.form-row.with-return{grid-template-columns:1fr 1fr}.swap-btn{display:none}.form-footer{flex-wrap:wrap}.agent-banner{order:3;flex:1 1 100%}}@media(max-width:768px){.trip-type{gap:16px}.trip-option{padding:6px 12px;font-size:.9rem}}@media(max-width:600px){.booking-form{padding:20px}.form-header{flex-direction:column;gap:16px}.trip-type{flex-wrap:wrap;gap:8px}.form-row,.form-row.with-return{grid-template-columns:1fr}.form-footer{flex-direction:column;align-items:stretch}.search-btn{width:100%}.agent-banner{flex-direction:column;text-align:center}}.booking-form-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;background:#fff;border-radius:16px}.booking-form-error p{color:#ef4444;margin:0 0 16px;font-size:.95rem}.booking-form-error .retry-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.booking-form-error .retry-btn:hover{background:#4f46e5}.dropdown.disabled,.dropdown[disabled]{opacity:.6;pointer-events:none}.search-btn:disabled{opacity:.6;cursor:not-allowed}.feature-card{background:#fff;border-radius:12px;padding:32px 24px;text-align:center;border:1px solid #e5e7eb;transition:box-shadow .2s,transform .2s}.feature-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.feature-icon{display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:#1e1b4b}.feature-card h3{font-size:1rem;color:#1f2937;margin-bottom:12px;font-weight:700;line-height:1.3}.feature-card p{font-size:.875rem;color:#6b7280;line-height:1.6;margin:0}.trust-section-wrapper{margin-top:40px;width:100%}.trust-top-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.trustpilot-card{background:linear-gradient(135deg,#1e1b4b,#312e81);border-radius:12px;padding:20px 24px;display:flex;align-items:center;justify-content:space-between}.trustpilot-left{display:flex;align-items:center;gap:16px}.trustpilot-info{display:flex;flex-direction:column;gap:6px}.trustpilot-name{color:#fff;font-size:1.25rem;font-weight:700}.trustpilot-rating{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.trustpilot-stars{display:flex;gap:2px}.star-box{background:#00b67a;padding:3px;display:flex;align-items:center;justify-content:center}.trustpilot-score,.trustpilot-reviews{color:#d1d5db;font-size:.85rem}.trustpilot-divider{color:#6b7280}.trustpilot-link{color:#d1d5db;font-size:.85rem;text-decoration:underline}.trustpilot-link:hover{color:#fff}.highly-rated-badge{background:#f59e0b;color:#1e1b4b;padding:6px 16px;border-radius:20px;font-size:.85rem;font-weight:600}.seamless-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:20px 24px;display:flex;align-items:center;gap:16px}.seamless-icon{color:#f59e0b;flex-shrink:0}.seamless-content h4{font-size:1rem;color:#1f2937;font-weight:700;margin-bottom:4px}.seamless-content p{font-size:.875rem;color:#6b7280;line-height:1.5;margin:0}.group-bookings-banner{background:linear-gradient(135deg,#f59e0b,#fbbf24);border-radius:12px;padding:24px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:60px}.banner-content{display:flex;align-items:flex-start;gap:12px}.banner-icon{font-size:1.25rem}.banner-text h4{font-size:1.1rem;color:#1e1b4b;font-weight:700;margin-bottom:4px}.banner-text p{font-size:.9rem;color:#374151;line-height:1.5;margin:0}.explore-btn{background:#fff;color:#f59e0b;border:2px solid #f59e0b;padding:10px 28px;border-radius:24px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.explore-btn:hover{background:#1e1b4b;color:#fff;border-color:#1e1b4b}.about-haramain-section{display:flex;flex-direction:column;gap:32px}.about-haramain-section h2{font-size:2.5rem;color:#1f2937;font-weight:700;text-align:center;width:100%;line-height:1.2}.about-haramain-section h2 span{color:#3b82f6}.about-haramain-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.about-content p{font-size:.95rem;color:#4b5563;line-height:1.7;margin-bottom:16px}.about-image{border-radius:12px;overflow:hidden}.about-image img{width:100%;height:auto;display:block}@media(max-width:1024px){.trust-top-row,.about-haramain-content{grid-template-columns:1fr}.about-image{order:-1}}@media(max-width:768px){.trustpilot-card{flex-direction:column;gap:16px;text-align:center}.trustpilot-left{flex-direction:column}.trustpilot-rating{justify-content:center}.group-bookings-banner{flex-direction:column;text-align:center}.banner-content{flex-direction:column;align-items:center}.about-haramain-section h2{font-size:1.75rem}}.why-choose-grid{display:grid;grid-template-columns:1fr 1.5fr 1fr;grid-template-rows:160px 160px;gap:16px;width:100%}.why-card{border-radius:20px;padding:24px;position:relative;overflow:hidden;color:#fff;background-size:cover;background-position:center}.why-card-overlay{position:absolute;inset:0;z-index:1}.why-card.speed{grid-row:span 2}.why-card.speed .why-card-overlay{background:linear-gradient(135deg,#1e1b4bd9,#4c1d95bf,#7c3aedb3)}.why-card.comfort{grid-column:2;grid-row:2}.why-card.comfort .why-card-overlay{background:linear-gradient(135deg,#0d9488d9,#14b8a6bf,#2dd4bfb3)}.why-card.stations{grid-column:3;grid-row:1}.why-card.stations .why-card-overlay{background:linear-gradient(135deg,#d97706d9,#f59e0bbf,#fbbf24b3)}.why-card.convenience{grid-column:3;grid-row:2}.why-card.convenience .why-card-overlay{background:linear-gradient(135deg,#1d4ed8d9,#3b82f6bf,#60a5fab3)}.why-choose-grid:before{content:"";grid-column:2;grid-row:1;border-radius:20px;background-image:url(/assets/train-bg-CWXcz2td.jpg);background-size:cover;background-position:center}.why-card .content{position:relative;z-index:2;height:100%;display:flex;flex-direction:column;justify-content:flex-end}.why-card h3{font-size:1.25rem;font-weight:700;margin-bottom:8px;color:#fff}.why-card p{font-size:.8rem;opacity:.95;line-height:1.5;margin:0;color:#fff}@media(max-width:900px){.why-choose-grid{grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto}.why-card.speed{grid-row:span 1;grid-column:1;min-height:180px}.why-card.comfort{grid-column:2;grid-row:1}.why-card.stations{grid-column:1;grid-row:2}.why-card.convenience{grid-column:2;grid-row:2}.why-choose-grid:before{display:none}}@media(max-width:600px){.why-choose-grid{grid-template-columns:1fr;grid-template-rows:auto}.why-card{min-height:140px}.why-card.speed,.why-card.comfort,.why-card.stations,.why-card.convenience{grid-column:1;grid-row:auto}}.destination-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.destination-card img{width:100%;height:160px;object-fit:cover}.destination-card .card-body{padding:16px}.destination-card h3{font-size:1.1rem;color:#1f2937;margin-bottom:8px}.destination-card p{font-size:.85rem;color:#6b7280;line-height:1.5;margin-bottom:12px}.destination-card .explore-btn{padding:8px 20px;background:#10b981;color:#fff;border:none;border-radius:20px;font-size:.85rem;font-weight:500;cursor:pointer}.destination-card .explore-btn:hover{background:#059669}.tip-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.tip-card img{width:100%;height:140px;object-fit:cover}.tip-card .card-body{padding:16px}.tip-card h3{font-size:1rem;color:#1f2937;margin-bottom:8px}.tip-card p{font-size:.85rem;color:#6b7280;line-height:1.5;margin-bottom:12px}.tip-card .read-more{color:#dc2626;font-size:.85rem;font-weight:500;text-decoration:none;cursor:pointer}.tip-card .read-more:hover{text-decoration:underline}.train-page{min-height:100vh;background:#f8fafc}.hero{background-size:cover;background-position:center;background-repeat:no-repeat;padding:80px 20px 160px;text-align:center;position:relative}.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,#1e1b4bd9,#4c1d95bf,#7c3aedb3);z-index:1}.hero-content{max-width:800px;margin:0 auto;position:relative;z-index:2}.hero h1{font-size:2.75rem;color:#f59e0b;margin-bottom:20px;line-height:1.2;font-weight:700}.hero .subtitle{font-size:1.35rem;color:#fff;margin-bottom:16px;font-weight:500}.hero .announcement{font-size:1rem;color:#e5e7eb}.hero .announcement strong{color:#fbbf24;text-decoration:underline}.booking-form-wrapper{max-width:1100px;margin:-100px auto 0;padding:0 20px;position:relative;z-index:10}.section{padding:60px 20px;max-width:1200px;margin:0 auto}.content-section{padding:60px 20px;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;gap:32px}.content-section-header{width:100%}.content-section-header h2{font-size:2.5rem;color:#1f2937;font-weight:700;text-align:center;width:100%;line-height:1.2}.content-section-header h2 span{color:#3b82f6}.section-title{font-size:2.5rem;color:#1f2937;margin-bottom:40px;font-weight:700;text-align:center;line-height:1.2}.section-title span{color:#3b82f6}.features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px;width:100%}.destinations-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;width:100%}.tips-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;width:100%}.footer{background:#1e1b4b;color:#fff;padding:40px 20px}.footer-content{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:40px}.footer-brand h3{font-size:1.5rem;margin-bottom:8px}.footer-brand h3 span{color:#f59e0b}.footer-brand p{font-size:.85rem;color:#9ca3af;margin-bottom:16px}.app-buttons{display:flex;gap:8px}.app-btn{padding:8px 16px;background:#374151;border-radius:8px;font-size:.8rem;color:#fff;text-decoration:none}.payment-icons{display:flex;gap:8px;margin-top:16px;flex-wrap:wrap}.payment-icons img{height:24px}.footer-col h4{font-size:.95rem;margin-bottom:16px;color:#fff}.footer-col a{display:block;color:#9ca3af;font-size:.85rem;margin-bottom:8px;text-decoration:none}.footer-col a:hover{color:#fff}.footer-bottom{max-width:1200px;margin:24px auto 0;padding-top:24px;border-top:1px solid #374151;display:flex;justify-content:space-between;font-size:.85rem;color:#9ca3af}@media(max-width:1024px){.features-grid,.destinations-grid,.footer-content{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.hero h1{font-size:1.75rem}.hero .subtitle{font-size:1rem}.section-title,.content-section-header h2{font-size:1.75rem}.tips-grid,.footer-content{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:8px;text-align:center}}@media(max-width:600px){.features-grid,.destinations-grid{grid-template-columns:1fr}}.booking-loading-overlay{position:fixed;inset:0;background:#fffffff2;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-bubbles{position:relative;width:120px;height:80px}.bubble{position:absolute;border-radius:50%;animation:bounce 1.2s ease-in-out infinite}.bubble-1{width:36px;height:36px;background:#7c3aed;left:30px;top:25px;animation-delay:0s}.bubble-2{width:24px;height:24px;background:#ec4899;left:58px;top:8px;animation-delay:.15s}.bubble-3{width:16px;height:16px;background:#ec4899;left:75px;top:30px;animation-delay:.3s}.bubble-4{width:10px;height:10px;background:#f472b6;left:88px;top:42px;animation-delay:.45s}.bubble-5{width:14px;height:14px;background:#ec4899;left:50px;top:0;animation-delay:.1s}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}.loading-text{margin-top:24px;font-size:1.1rem;font-weight:500;color:#1e1b4b}.search-results-page{background:#f8fafc;min-height:100vh}.search-booking-form-wrapper{background:#1e1b4b;padding:24px 0}.search-booking-form-wrapper .booking-form{background:#fff;border-radius:16px;padding:20px 24px}.search-summary-bar{background:#1e1b4b;padding:16px 0}.summary-content{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.route-info{display:flex;align-items:center;gap:12px;color:#fff;font-weight:600;font-size:1.1rem}.route-info .arrow{color:#a5b4fc}.trip-info{display:flex;align-items:center;gap:8px;color:#c7d2fe;font-size:.9rem}.trip-info .separator{color:#6366f1}.modify-search-btn{margin-left:auto;padding:10px 20px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.modify-search-btn:hover{background:#4f46e5}.promo-banner-results{display:flex;align-items:center;gap:16px;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fbbf24;border-radius:12px;padding:16px 20px;margin:20px 0}.promo-icon{font-size:2rem}.promo-content strong{color:#1e1b4b;display:block;margin-bottom:4px}.promo-content p{color:#64748b;font-size:.9rem;margin:0}.results-container{display:grid;grid-template-columns:280px 1fr;gap:24px;padding-bottom:60px}.filters-header{display:none}.desktop-filters{display:block}@media(max-width:968px){.desktop-filters{display:none}}.filter-section{margin-bottom:20px}.filter-accordion{background:#fff;border-radius:12px;margin-bottom:16px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.filter-accordion-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:#fff;border:none;cursor:pointer;transition:background .2s}.filter-accordion-header:hover{background:#f8fafc}.filter-accordion-title{display:flex;align-items:center;gap:8px;font-weight:600;color:#1e1b4b;font-size:1rem}.filter-icon-walking{font-size:1rem}.accordion-chevron{color:#1e1b4b;transition:transform .3s ease}.accordion-chevron.rotated{transform:rotate(180deg)}.filter-accordion-content{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;padding:0 20px}.filter-accordion-content.show{max-height:300px;padding:0 20px 20px}.time-slots-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.time-slot-card{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.time-slot-card:hover{border-color:#6366f1;background:#f8fafc}.time-slot-card.selected{border-color:#6366f1;background:#eef2ff}.time-slot-card .slot-icon{color:#64748b;margin-bottom:4px}.time-slot-card.selected .slot-icon{color:#6366f1}.time-slot-card .slot-label{font-weight:500;color:#1e1b4b;font-size:.9rem;text-align:center}.time-slot-card .slot-time{font-size:.8rem;color:#64748b}.time-slot-card.selected .slot-label,.time-slot-card.selected .slot-time{color:#4f46e5}.filter-title{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 0;background:none;border:none;border-bottom:1px solid #e2e8f0;cursor:pointer;font-weight:600;color:#1e1b4b;font-size:.95rem}.filter-options{padding-top:12px}.filter-option{display:flex;align-items:center;gap:10px;padding:10px 0;cursor:pointer}.filter-option input{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.filter-option input:checked+.checkbox-custom{background:#6366f1;border-color:#6366f1}.filter-option input:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:12px}.slot-icon{font-size:1.25rem}.slot-info{display:flex;flex-direction:column}.slot-label{font-weight:500;color:#1e1b4b;font-size:.9rem}.slot-time{font-size:.8rem;color:#64748b}.baggage-info{background:#f8fafc;border-radius:8px;padding:16px;margin-top:20px}.baggage-info h4{font-size:.95rem;color:#1e1b4b;margin-bottom:12px}.baggage-content{display:flex;gap:12px}.baggage-icon{font-size:2rem}.baggage-details p{font-size:.85rem;color:#64748b;line-height:1.5;margin:0 0 8px}.policy-link{color:#6366f1;font-size:.85rem;text-decoration:none}.policy-link:hover{text-decoration:underline}.results-section{min-width:0}.results-header{display:flex;align-items:center;gap:16px;margin-bottom:16px;flex-wrap:wrap;margin-top:20px}.results-count{padding-top:2%;font-weight:500;color:#1e1b4b}.view-toggle{display:flex;background:#f3e8ff;border-radius:50px;padding:4px;margin-left:auto;border:1px solid #e9d5ff}.view-btn{display:flex;align-items:center;justify-content:center;padding:12px;background:none;border:none;border-radius:50px;cursor:pointer;color:#64748b;font-weight:600;font-size:.7rem;transition:all .2s}.view-btn.active{background:#a855f7;color:#fff}.mobile-filter-btn{display:none;align-items:center;gap:6px;padding:10px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-weight:500;color:#1e1b4b}.trains-list{display:flex;flex-direction:column;gap:12px}.train-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000a;transition:all .2s}.train-card:hover{box-shadow:0 4px 16px #00000014}.train-card.sold_out{opacity:.7}.detail-card-new{display:flex;flex-direction:column}.detail-collapsed-card{padding:20px}.detail-collapsed-content{display:flex;align-items:center;gap:24px}.detail-collapsed-train-info{display:flex;flex-direction:column;gap:8px;min-width:120px}.detail-collapsed-title{display:flex;align-items:center;gap:8px}.haramain-logo-small{height:32px;object-fit:contain}.detail-collapsed-journey{display:flex;align-items:flex-start;gap:20px;flex:1}.detail-collapsed-departure,.detail-collapsed-arrival{display:flex;flex-direction:column;gap:2px}.detail-collapsed-date{font-size:.8rem;color:#64748b}.detail-collapsed-time{display:flex;align-items:center;gap:4px;font-size:1.25rem;font-weight:700;color:#1e1b4b}.detail-collapsed-time svg{color:#64748b;width:14px;height:14px}.detail-collapsed-station{font-size:.85rem;color:#64748b}.detail-collapsed-duration{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:100px}.detail-collapsed-duration-text{font-size:.85rem;color:#6366f1;font-weight:500}.detail-collapsed-duration-line{display:flex;align-items:center;width:100%;gap:8px}.detail-collapsed-dot{width:8px;height:8px;border-radius:50%;background:#6366f1}.detail-collapsed-badge{padding:4px 10px;background:#eef2ff;color:#6366f1;border-radius:16px;font-size:.75rem;font-weight:500}.detail-collapsed-price{display:flex;flex-direction:column;align-items:flex-end;gap:2px;min-width:140px}.detail-collapsed-price-label{font-size:.75rem;color:#64748b}.detail-collapsed-price-value{font-size:1.5rem;font-weight:700;color:#1e1b4b}.detail-collapsed-per-adult{font-size:.8rem;color:#64748b}.detail-collapsed-btn{margin-top:8px;padding:10px 24px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.detail-collapsed-btn:hover{background:#4f46e5}@media(max-width:968px){.detail-collapsed-content{flex-direction:column;align-items:flex-start;gap:16px}.detail-collapsed-journey{width:100%;justify-content:space-between}.detail-collapsed-price{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.detail-collapsed-btn{margin-top:0}}@media(max-width:640px){.detail-collapsed-journey{flex-direction:column;gap:12px}.detail-collapsed-duration{width:100%}}.detail-header-section{display:flex;align-items:flex-start;padding:20px;gap:24px;border-bottom:1px solid #e2e8f0}.detail-train-info{display:flex;flex-direction:column;gap:8px;min-width:140px}.detail-train-title{display:flex;align-items:center;gap:12px}.bullet-train-label{font-weight:600;color:#1e1b4b;font-size:1rem}.detail-train-number{color:#6366f1;font-weight:700;font-size:1.1rem}.haramain-logo{height:40px;object-fit:contain}.detail-journey-info{display:flex;align-items:flex-start;gap:24px;flex:1}.detail-departure,.detail-arrival{display:flex;flex-direction:column;gap:4px}.detail-date{font-size:.85rem;color:#64748b}.detail-time{display:flex;align-items:center;gap:6px;font-size:1.5rem;font-weight:700;color:#1e1b4b}.detail-time svg{color:#64748b;width:16px;height:16px}.detail-station{font-size:.9rem;color:#64748b}.detail-duration-section{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:100px}.detail-duration-text{font-size:.9rem;color:#6366f1;font-weight:500}.detail-duration-line{display:flex;align-items:center;width:100%;gap:8px}.detail-dot{width:10px;height:10px;border-radius:50%;background:#6366f1}.detail-line-badge{padding:4px 12px;background:#eef2ff;color:#6366f1;border-radius:20px;font-size:.8rem;font-weight:500}.detail-price-preview{display:flex;flex-direction:column;align-items:flex-end;gap:4px;min-width:160px}.price-starting{font-size:.8rem;color:#64748b}.detail-price-value{font-size:1.75rem;font-weight:700;color:#1e1b4b}.detail-per-adult{font-size:.85rem;color:#64748b}.reservation-policies-btn{margin-top:8px;padding:8px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-size:.85rem;color:#1e1b4b;cursor:pointer;transition:all .2s}.reservation-policies-btn:hover{border-color:#6366f1;color:#6366f1}.detail-class-section{display:flex;padding:20px;gap:20px;border-bottom:1px solid #e2e8f0}.detail-train-image{width:280px;height:180px;border-radius:12px;overflow:hidden;flex-shrink:0}.detail-train-image img{width:100%;height:100%;object-fit:cover}.detail-class-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:20px;border:1px solid #e2e8f0;border-radius:12px;text-align:center}.detail-class-card.business{border-color:#a855f7}.detail-class-card.economy{border-color:#22c55e}.detail-class-header{display:flex;align-items:center;gap:8px;margin-bottom:12px}.detail-class-icon{font-size:1.25rem}.detail-class-name{font-weight:600;font-size:1.1rem}.detail-class-card.business .detail-class-name{color:#7c3aed}.detail-class-card.economy .detail-class-name{color:#16a34a}.detail-class-price{display:flex;align-items:baseline;gap:4px;margin-bottom:4px}.detail-currency{font-size:1rem;color:#64748b}.detail-amount{font-size:1.75rem;font-weight:700}.detail-class-card.business .detail-amount{color:#7c3aed}.detail-class-card.economy .detail-amount{color:#16a34a}.detail-per-adult-label{font-size:.85rem;color:#64748b;margin-bottom:8px}.detail-total{font-size:.9rem;color:#64748b;margin-bottom:12px}.detail-book-btn{padding:12px 32px;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s}.detail-book-btn.business-book{background:#fff;border:2px solid #a855f7;color:#7c3aed}.detail-book-btn.business-book:hover{background:#7c3aed;color:#fff}.detail-book-btn.economy-book{background:#22c55e;border:2px solid #22c55e;color:#fff}.detail-book-btn.economy-book:hover{background:#16a34a;border-color:#16a34a}.detail-book-btn.disabled{background:#e2e8f0;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}.detail-baggage-section{display:flex;justify-content:space-between;align-items:center;padding:24px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:0 0 12px 12px}.baggage-info-content{flex:1}.baggage-title{font-size:1.1rem;font-weight:700;color:#1e1b4b;margin:0 0 12px}.baggage-rule{font-size:.9rem;color:#1e1b4b;margin:0 0 4px}.baggage-note{font-size:.8rem;color:#64748b;font-style:italic;margin:8px 0 0}.baggage-image{width:180px;height:140px}.baggage-image img{width:100%;height:100%;object-fit:contain}@media(max-width:968px){.detail-header-section{flex-direction:column;gap:16px}.detail-journey-info{width:100%;justify-content:space-between}.detail-price-preview{width:100%;align-items:flex-start;flex-direction:row;justify-content:space-between;flex-wrap:wrap}.detail-class-section{flex-direction:column}.detail-train-image{width:100%;height:200px}.detail-baggage-section{flex-direction:column;gap:20px;text-align:center}.baggage-image{width:140px;height:100px}}@media(max-width:640px){.detail-journey-info{flex-direction:column;gap:16px}.detail-duration-section{width:100%}.detail-class-section{padding:16px;gap:12px}.detail-class-card{padding:16px}}.train-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.train-number{display:flex;align-items:center;gap:6px;font-weight:600;color:#1e1b4b}.train-class{padding:4px 12px;background:#eef2ff;color:#6366f1;border-radius:20px;font-size:.8rem;font-weight:500}.travel-policies{margin-left:auto;color:#6366f1;font-size:.85rem;text-decoration:none}.travel-policies:hover{text-decoration:underline}.train-body{display:flex;align-items:center;padding:20px;gap:24px}.journey-info{display:flex;align-items:center;gap:20px;flex:1}.departure,.arrival{display:flex;flex-direction:column;gap:4px}.departure .time,.arrival .time{font-size:1.25rem;font-weight:700;color:#1e1b4b}.departure .station,.arrival .station{display:flex;align-items:center;gap:4px;font-size:.85rem;color:#64748b}.duration{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:120px}.duration-line{display:flex;align-items:center;width:100%}.duration-line .dot{width:8px;height:8px;background:#6366f1;border-radius:50%}.duration-line .line{flex:1;height:2px;background:linear-gradient(90deg,#6366f1,#a5b4fc,#6366f1)}.duration-text{display:flex;align-items:center;gap:4px;font-size:.85rem;color:#64748b}.amenities{display:flex;gap:8px;color:#64748b}.booking-info{display:flex;flex-direction:column;align-items:flex-end;gap:8px;min-width:140px}.price-section{text-align:right}.price{font-size:1.25rem;font-weight:700;color:#1e1b4b}.per-person{display:block;font-size:.8rem;color:#64748b}.status-badge{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500}.status-badge.available{background:#dcfce7;color:#16a34a}.status-badge.limited{background:#fef3c7;color:#d97706}.status-badge.sold-out{background:#fee2e2;color:#dc2626}.select-btn{padding:10px 24px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.select-btn:hover:not(.disabled){background:#4f46e5}.select-btn.disabled{background:#e2e8f0;color:#94a3b8;cursor:not-allowed}.trains-list.compact .train-card{padding:0}.compact-card-new{display:flex;flex-direction:column}.compact-main-row{display:flex;align-items:stretch;border-bottom:1px solid #e2e8f0}.compact-left-section{display:flex;align-items:center;padding:20px;gap:20px;flex:1}.compact-journey-section{display:flex;align-items:center;padding:20px;gap:20px;border-bottom:1px solid #e2e8f0}.compact-train-badge{display:flex;align-items:center;gap:8px}.train-logo{width:40px;height:40px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff}.train-number-text{font-weight:700;color:#6366f1;font-size:1.1rem}.compact-route-info{display:flex;align-items:center;gap:16px;flex:1}.compact-departure,.compact-arrival{display:flex;flex-direction:column;gap:2px}.compact-datetime{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#1e1b4b;font-weight:500}.compact-datetime svg{color:#64748b}.compact-station-name{font-size:.85rem;color:#64748b}.compact-duration-section{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.compact-duration-text{font-size:.85rem;color:#64748b}.compact-duration-line{display:flex;align-items:center;width:100%}.duration-dot{width:8px;height:8px;border-radius:50%;background:#6366f1}.duration-dot.start{background:#6366f1}.duration-connector{flex:1;height:2px;background:#cbd5e1;margin:0 2px}.duration-arrow{color:#6366f1;font-weight:700;font-size:1rem}.compact-pricing-row{display:flex;gap:12px;padding:16px;border-left:1px solid #e2e8f0}.class-card-mini{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;min-width:140px}.class-card-mini.business{border-color:#a855f7;background:#fff}.class-card-mini.economy{border-color:#22c55e;background:#fff}.class-card-header{display:flex;align-items:center;gap:4px}.class-icon-mini{font-size:.85rem}.class-name-mini{font-weight:600;font-size:.8rem}.class-card-mini.business .class-name-mini{color:#7c3aed}.class-card-mini.economy .class-name-mini{color:#16a34a}.class-card-price{display:flex;align-items:center;gap:6px}.price-label-mini{font-size:.75rem;color:#64748b}.price-value-mini{font-weight:700;font-size:.9rem}.class-card-mini.business .price-value-mini{color:#7c3aed}.class-card-mini.economy .price-value-mini{color:#16a34a}.class-card-seats{font-size:.75rem;color:#64748b}.class-total-btn-mini{padding:8px 12px;border-radius:6px;font-weight:600;font-size:.8rem;cursor:pointer;border:1px solid;transition:all .2s;margin-top:4px}.class-total-btn-mini.business-btn-mini{background:#fff;border-color:#a855f7;color:#7c3aed}.class-total-btn-mini.business-btn-mini:hover{background:#7c3aed;color:#fff}.class-total-btn-mini.economy-btn-mini{background:#22c55e;border-color:#22c55e;color:#fff}.class-total-btn-mini.economy-btn-mini:hover{background:#16a34a;border-color:#16a34a}.class-total-btn-mini.disabled{background:#e2e8f0;border-color:#e2e8f0;color:#94a3b8;cursor:not-allowed}.compact-footer{display:flex;align-items:center;padding:12px 20px;background:#f8fafc}.compact-amenities{display:flex;align-items:center;gap:12px;color:#1e1b4b}.amenities-separator{width:1px;height:20px;background:#cbd5e1;margin:0 8px}.travel-policies-link{color:#1e1b4b;font-size:1rem;text-decoration:underline;font-weight:700;background:none;border:none;cursor:pointer;padding:0}.travel-policies-link:hover{color:#6366f1}.compact-content{display:flex;align-items:center;justify-content:space-between;gap:20px}.compact-left{display:flex;flex-direction:column;gap:8px}.train-id{display:flex;align-items:center;gap:8px;font-weight:600;color:#1e1b4b}.class-badge{padding:2px 8px;background:#eef2ff;color:#6366f1;border-radius:12px;font-size:.75rem;font-weight:500}.compact-times{display:flex;align-items:center;gap:8px;color:#64748b}.compact-times .time{font-weight:600;color:#1e1b4b}.compact-times .duration{font-size:.85rem}.compact-right{display:flex;align-items:center;gap:16px}.compact-price{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.compact-price .price{font-size:1.1rem}.select-btn.compact{padding:8px 20px}.no-results{text-align:center;padding:60px 20px;color:#64748b}.no-results svg{margin-bottom:16px;opacity:.5}.no-results h3{color:#1e1b4b;margin-bottom:8px}@media(max-width:968px){.results-container{grid-template-columns:1fr}.desktop-filters{display:none}.tablet-filter-btn{display:flex}.view-toggle span{display:none}}.filter-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:999;opacity:0;transition:opacity .3s}.filter-overlay.show{display:block;opacity:1}.filters-sidebar-mobile{display:none;position:fixed;top:0;left:0;bottom:0;width:100%;max-width:480px;z-index:1000;background:#f8fafc;transform:translate(-100%);transition:transform .3s ease;flex-direction:column}.filters-sidebar-mobile.show{transform:translate(0)}@media(max-width:968px){.filters-sidebar-mobile{display:flex}}.filters-mobile-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#1e1b4b;color:#fff}.filters-mobile-header h3{font-size:1.25rem;font-weight:600;margin:0}.close-filters{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.filters-mobile-content{flex:1;overflow-y:auto;padding:20px}.filters-mobile-footer{display:flex;gap:12px;padding:16px 20px;background:#fff;border-top:1px solid #e2e8f0}.clear-all-btn{flex:1;padding:14px 20px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;font-weight:600;font-size:1rem;color:#1e1b4b;cursor:pointer;transition:all .2s}.clear-all-btn:hover{background:#f8fafc}.apply-btn{flex:1;padding:14px 20px;background:#1e1b4b;border:none;border-radius:8px;font-weight:600;font-size:1rem;color:#fff;cursor:pointer;transition:all .2s}.apply-btn:hover{background:#312e81}.tablet-filter-btn{display:none;align-items:center;justify-content:center;width:48px;height:48px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;color:#1e1b4b;margin-bottom:16px;box-shadow:0 2px 8px #0000000a;transition:all .2s}.tablet-filter-btn:hover{background:#f8fafc;border-color:#6366f1;color:#6366f1}.mobile-filter-btn{display:none}.inline-filter-bar{display:none;align-items:center;gap:12px;margin-bottom:20px;padding:16px;background:#eef2ff;border-radius:12px}@media(max-width:968px){.inline-filter-bar{display:flex}}.filter-icon-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;color:#6366f1;transition:all .2s}.filter-icon-btn:hover{background:#f8fafc;border-color:#6366f1}.inline-filter-dropdown{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;font-weight:500;font-size:.9rem;color:#1e1b4b;transition:all .2s}.inline-filter-dropdown:hover{border-color:#6366f1}.inline-filter-dropdown.has-filter{border-color:#6366f1;background:#eef2ff}.inline-filter-dropdown .filter-icon-walking{font-size:.9rem}@media(max-width:640px){.summary-content{flex-direction:column;align-items:flex-start;gap:12px}.modify-search-btn{margin-left:0;width:100%}.train-body{flex-direction:column;align-items:stretch}.journey-info{flex-direction:column;align-items:stretch;gap:16px}.duration{flex-direction:row;justify-content:center}.duration-line{width:60px}.booking-info{flex-direction:row;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #e2e8f0}.compact-content{flex-direction:column;align-items:stretch}.compact-right{justify-content:space-between;padding-top:12px;border-top:1px solid #e2e8f0}.inline-filter-bar{flex-wrap:wrap;padding:12px}.inline-filter-dropdown{font-size:.8rem;padding:10px 12px}.inline-filter-dropdown span:not(.filter-icon-walking){display:none}.compact-main-row{flex-direction:column}.compact-left-section{flex-direction:column;align-items:flex-start}.compact-pricing-row{border-left:none;border-top:1px solid #e2e8f0}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton-element{background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-bar{background:#e2e8f0}.skeleton-summary-bar{display:flex;align-items:center;gap:24px;padding:16px 0}.skeleton-route{width:200px;height:24px;background:linear-gradient(90deg,#cbd5e1,#94a3b8,#cbd5e1 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-date{width:150px;height:20px;background:linear-gradient(90deg,#cbd5e1,#94a3b8,#cbd5e1 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-modify-btn{margin-left:auto;width:120px;height:40px;background:linear-gradient(90deg,#cbd5e1,#94a3b8,#cbd5e1 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:8px}.skeleton-sidebar{background:#fff}.skeleton-filters-header{width:80px;height:24px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:20px}.skeleton-filter-section{margin-bottom:24px}.skeleton-filter-title{width:140px;height:20px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px;margin-bottom:16px}.skeleton-filter-options{display:flex;flex-direction:column;gap:12px}.skeleton-filter-option{display:flex;align-items:center;gap:12px}.skeleton-checkbox{width:20px;height:20px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-text-short{width:100px;height:16px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.skeleton-count{width:120px;height:20px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-view-toggle{width:160px;height:40px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:8px}.skeleton-train-card{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:12px}.skeleton-train-header{display:flex;align-items:center;gap:16px;padding:12px 20px;background:#f8fafc;border-bottom:1px solid #e2e8f0}.skeleton-text-medium{width:100px;height:20px;background:linear-gradient(90deg,#e2e8f0,#cbd5e1,#e2e8f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-badge{width:80px;height:24px;background:linear-gradient(90deg,#e2e8f0,#cbd5e1,#e2e8f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:20px}.skeleton-train-body{display:flex;align-items:center;justify-content:space-between;padding:20px;gap:24px}.skeleton-journey{display:flex;align-items:center;gap:20px;flex:1}.skeleton-time-block{display:flex;flex-direction:column;gap:8px}.skeleton-text-large{width:60px;height:28px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-text-small{width:80px;height:16px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-duration-line{width:120px;height:8px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-booking{display:flex;flex-direction:column;align-items:flex-end;gap:12px}.skeleton-price{width:100px;height:28px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:4px}.skeleton-button{width:100px;height:40px;background:linear-gradient(90deg,#f0f0f0,#e8e8e8,#f0f0f0 80px);background-size:200px 100%;animation:shimmer 1.5s infinite;border-radius:8px}.filters-sidebar{background:transparent;border-radius:12px;padding:0;height:fit-content;align-self:flex-start}.policies-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.policies-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.policies-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#1e1b4b;color:#fff}.policies-modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.policies-modal-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.policies-modal-close:hover{opacity:.8}.policies-modal-content{flex:1;overflow-y:auto;padding:24px}.policies-section{margin-bottom:24px}.policies-section-title{font-size:1.1rem;font-weight:700;color:#1e1b4b;margin:0 0 4px}.policies-section-subtitle{font-size:.9rem;color:#64748b;margin:0 0 16px}.policy-cards{display:flex;flex-direction:column;gap:12px}.policy-card{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.policy-card-icon{flex-shrink:0}.policy-icon-circle{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;font-size:1rem;font-weight:700}.policy-icon-circle.red{background:#fee2e2;color:#dc2626}.policy-icon-circle.orange{background:#fef3c7;color:#d97706}.policy-card-content{flex:1}.policy-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.85rem;font-weight:600;margin-bottom:6px}.policy-badge.red{background:#fee2e2;color:#dc2626}.policy-badge.orange{background:#fef3c7;color:#d97706}.policy-description{font-size:.9rem;color:#64748b;margin:0;line-height:1.4}.policies-baggage-section{display:flex;justify-content:space-between;align-items:center;padding:24px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:12px;margin-bottom:24px}.policies-baggage-content{flex:1}.policies-baggage-title{font-size:1.1rem;font-weight:700;color:#1e1b4b;margin:0 0 12px}.policies-baggage-rule{font-size:.9rem;color:#1e1b4b;margin:0 0 4px}.policies-baggage-note{font-size:.8rem;color:#64748b;font-style:italic;margin:8px 0 0}.policies-baggage-image{width:120px;height:100px;flex-shrink:0}.policies-baggage-image img{width:100%;height:100%;object-fit:contain}.policies-notes-section{padding:16px;background:#f8fafc;border-radius:12px;border:1px solid #e2e8f0}.policies-notes-title{font-size:1rem;font-weight:600;color:#1e1b4b;margin:0 0 8px}.policies-notes-text{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}.policies-email-link{color:#6366f1;text-decoration:none;font-weight:500}.policies-email-link:hover{text-decoration:underline}@media(max-width:640px){.policies-modal-overlay{padding:0;align-items:flex-end}.policies-modal{max-width:100%;max-height:85vh;border-radius:16px 16px 0 0}.policies-modal-content{padding:20px}.policies-baggage-section{flex-direction:column;gap:16px;text-align:center}.policies-baggage-image{width:100px;height:80px}}.travel-modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px}.travel-modal{background:#fff;border-radius:16px;width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.travel-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;background:#1e1b4b;color:#fff}.travel-modal-header h2{font-size:1.25rem;font-weight:600;margin:0}.travel-modal-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;transition:opacity .2s}.travel-modal-close:hover{opacity:.8}.travel-modal-tabs{display:flex;gap:8px;padding:16px 24px;background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.travel-tab{padding:10px 20px;border:1px solid #e2e8f0;border-radius:24px;background:#fff;font-size:.9rem;font-weight:500;color:#1e1b4b;cursor:pointer;transition:all .2s}.travel-tab:hover{border-color:#6366f1}.travel-tab.active{background:#1e1b4b;border-color:#1e1b4b;color:#fff}.travel-modal-content{flex:1;overflow-y:auto;padding:24px}.travel-class-content{display:grid;grid-template-columns:1fr 1fr;gap:24px}.travel-class-image{position:relative;border-radius:12px;overflow:hidden;height:280px}.travel-class-image img{width:100%;height:100%;object-fit:cover}.image-nav-btn{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#ffffffe6;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#1e1b4b;transition:all .2s;z-index:10}.image-nav-btn:hover{background:#fff;box-shadow:0 4px 12px #00000026}.image-nav-btn.prev{left:12px}.image-nav-btn.next{right:12px}.travel-class-amenities{display:flex;flex-direction:column;gap:16px}.amenity-item{display:flex;align-items:flex-start;gap:12px}.amenity-icon{width:36px;height:36px;background:#f3e8ff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}.amenity-info{display:flex;flex-direction:column;gap:2px}.amenity-title{font-weight:600;color:#1e1b4b;font-size:.95rem}.amenity-desc{font-size:.85rem;color:#64748b}.travel-class-footer{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #e2e8f0}.travel-class-price-info{display:flex;flex-direction:column;gap:2px}.travel-class-name{font-weight:600;color:#1e1b4b;font-size:1rem}.travel-class-price{font-size:1.5rem;font-weight:700;color:#1e1b4b}.travel-class-per{font-size:.85rem;color:#64748b}.travel-book-btn{padding:14px 40px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s}.travel-book-btn:hover{background:#4f46e5}.travel-reservation-content{max-width:700px}.travel-section-title{font-size:1.1rem;font-weight:700;color:#1e1b4b;margin:0 0 16px}.travel-policy-item{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e2e8f0}.travel-policy-item:last-of-type{border-bottom:none}.travel-policy-name{font-weight:600;color:#1e1b4b;font-size:.95rem;margin:0 0 4px}.travel-policy-desc{font-size:.9rem;color:#64748b;margin:0;line-height:1.5}.travel-baggage-rule{font-size:.9rem;color:#1e1b4b;margin:0 0 8px}.travel-baggage-note{font-size:.85rem;color:#64748b;font-style:italic;margin:12px 0 0}.travel-baggage-content{padding:20px 0}.travel-baggage-main{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:24px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);border-radius:12px}.travel-baggage-info{flex:1}.travel-baggage-image{width:180px;height:140px;flex-shrink:0}.travel-baggage-image img{width:100%;height:100%;object-fit:contain}.travel-images-content{display:flex;flex-direction:column;gap:20px}.travel-images-gallery{position:relative;border-radius:12px;overflow:hidden;height:400px}.travel-images-gallery img{width:100%;height:100%;object-fit:cover}.travel-images-thumbnails{display:flex;gap:12px;justify-content:center}.thumbnail{width:80px;height:60px;border-radius:8px;overflow:hidden;border:2px solid transparent;cursor:pointer;padding:0;background:none;transition:all .2s}.thumbnail:hover{border-color:#a5b4fc}.thumbnail.active{border-color:#6366f1}.thumbnail img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.travel-modal-overlay{padding:0;align-items:flex-end}.travel-modal{max-width:100%;max-height:90vh;border-radius:16px 16px 0 0}.travel-modal-tabs{padding:12px 16px;gap:6px}.travel-tab{padding:8px 14px;font-size:.8rem}.travel-modal-content{padding:16px}.travel-class-content{grid-template-columns:1fr}.travel-class-image{height:200px}.travel-class-footer{flex-direction:column;gap:16px;align-items:stretch}.travel-book-btn{width:100%}.travel-baggage-main{flex-direction:column;text-align:center}.travel-baggage-image{width:140px;height:100px}.travel-images-gallery{height:250px}.thumbnail{width:60px;height:45px}}.search-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;background:#fff;border-radius:12px;margin:20px 0}.search-error svg{color:#94a3b8;margin-bottom:16px}.search-error h3{color:#1e293b;font-size:1.25rem;margin:0 0 8px}.search-error p{color:#64748b;margin:0 0 20px}.retry-btn{display:flex;align-items:center;gap:8px;padding:12px 24px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.retry-btn:hover{background:#4f46e5}.booking-form-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.booking-form-error p{color:#ef4444;margin:0 0 16px}.booking-details-page{background:#f8fafc;min-height:100vh;padding:24px 0 60px}.back-to-search{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6366f1;font-size:.9rem;font-weight:500;cursor:pointer;padding:0;margin-bottom:16px;transition:color .2s}.back-to-search:hover{color:#4f46e5}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#64748b;margin-bottom:16px}.breadcrumb .separator{color:#cbd5e1}.page-title{font-size:1.75rem;font-weight:700;color:#1e1b4b;margin-bottom:24px}.booking-layout{display:grid;grid-template-columns:1fr 360px;gap:24px;align-items:start}.booking-main{display:flex;flex-direction:column;gap:24px}.trip-summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.trip-badge{display:inline-block;padding:6px 16px;background:#6366f1;color:#fff;border-radius:20px;font-size:.85rem;font-weight:500;margin-bottom:20px}.trip-details{position:relative}.trip-station{display:flex;align-items:flex-start;gap:16px}.station-marker{width:16px;height:16px;border-radius:50%;flex-shrink:0;margin-top:4px}.departure-marker{background:#10b981}.arrival-marker{background:#6366f1}.station-info{flex:1}.station-info h3{font-size:1.1rem;font-weight:600;color:#1e1b4b;margin-bottom:4px}.station-info p{font-size:.85rem;color:#64748b;line-height:1.4}.station-time{text-align:right}.station-time .date{display:block;font-size:.85rem;color:#64748b;margin-bottom:2px}.station-time .time{font-size:1.25rem;font-weight:700;color:#1e1b4b}.trip-duration{display:flex;align-items:center;gap:12px;padding:16px 0 16px 6px}.duration-line-vertical{width:4px;height:40px;background:linear-gradient(180deg,#10b981,#6366f1);border-radius:2px}.duration-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f1f5f9;border-radius:20px;font-size:.85rem;color:#64748b}.trip-meta{display:flex;align-items:center;gap:16px;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.meta-item{display:flex;align-items:center;gap:6px;font-size:.9rem;color:#64748b}.meta-item.class-badge{padding:4px 12px;background:#eef2ff;color:#6366f1;border-radius:20px;font-weight:500}.trip-summary-card-new{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.trip-summary-grid{display:grid;grid-template-columns:180px 1fr 220px;gap:24px;align-items:start}.trip-train-info{display:flex;flex-direction:column;gap:12px}.trip-badge-new{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;background:#6366f1;color:#fff;border-radius:8px;font-size:.85rem;font-weight:500;width:fit-content}.train-details{display:flex;flex-direction:column;gap:4px}.train-type{font-size:1rem;font-weight:600;color:#1e1b4b}.train-number{font-size:.9rem;color:#6366f1;font-weight:500}.haramain-logo-booking{width:140px;height:auto;margin-top:8px}.trip-timeline{display:flex;flex-direction:column;position:relative;padding-left:24px}.timeline-station{display:flex;align-items:flex-start;gap:12px;position:relative}.timeline-marker{width:12px;height:12px;border-radius:50%;flex-shrink:0;position:absolute;left:-24px;top:4px;z-index:2;background:#fff;border:2px solid #6366f1}.timeline-connector{position:absolute;left:-19px;top:16px;bottom:-28px;width:2px;background:#6366f1;z-index:0}.timeline-station.arrival .timeline-connector{display:none}.timeline-station.departure .timeline-connector{display:block}.timeline-content{flex:1}.timeline-station.departure{margin-bottom:24px}.station-name{font-size:1.15rem;font-weight:600;color:#1e1b4b;margin-bottom:4px;line-height:1.3}.station-description{font-size:.85rem;color:#64748b;line-height:1.5}.trip-details-panel{display:flex;flex-direction:column;gap:16px;padding-left:24px;border-left:1px solid #e2e8f0}.detail-item{display:flex;flex-direction:column;gap:4px}.detail-label{font-size:.8rem;color:#64748b;text-transform:uppercase;letter-spacing:.02em}.detail-value{font-size:.95rem;font-weight:600;color:#1e1b4b}.detail-item.class-item{display:flex;flex-direction:row;align-items:center;gap:8px;color:#6366f1;margin-top:8px}.detail-item.class-item .detail-value{color:#6366f1}.addon-banner{background:#fff;border-radius:12px;padding:20px;border:1px dashed #d1d5db}.addon-banner h4{font-size:1rem;color:#1e1b4b;margin-bottom:4px}.addon-banner>p{font-size:.85rem;color:#64748b;margin-bottom:16px}.addon-options{display:flex;gap:16px}.addon-option{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#f8fafc;border-radius:8px;cursor:pointer;flex:1}.addon-option input{display:none}.addon-check{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;transition:all .2s}.addon-option input:checked+.addon-check{background:#6366f1;border-color:#6366f1}.addon-option input:checked+.addon-check:after{content:"✓";color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center}.addon-info{display:flex;flex-direction:column}.addon-name{font-weight:600;color:#1e1b4b}.addon-desc{font-size:.8rem;color:#64748b}.addon-tag{padding:2px 8px;border-radius:12px;font-size:.7rem;font-weight:600;margin-left:auto}.addon-tag.new{background:#dcfce7;color:#16a34a}.route-summary{background:#1e1b4b;border-radius:12px;padding:20px;color:#fff}.route-summary h4{font-size:.9rem;margin-bottom:16px}.route-visual{display:flex;align-items:center;gap:12px}.route-point{display:flex;align-items:center;gap:8px}.point-dot{width:12px;height:12px;border-radius:50%}.point-dot.green{background:#10b981}.point-dot.purple{background:#a78bfa}.route-line{flex:1;height:2px;background:linear-gradient(90deg,#10b981,#a78bfa)}.form-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.section-title{display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:600;color:#1e1b4b;margin-bottom:20px}.section-icon{width:36px;height:36px;background:#eef2ff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6366f1}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:.875rem;font-weight:500;color:#374151;margin-bottom:8px}.form-group input,.form-group select{width:100%;padding:14px 16px;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;background:#fff;cursor:pointer;transition:all .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.form-row{display:grid;gap:16px}.form-row.two-col{grid-template-columns:1fr 1fr}.form-row.three-col{grid-template-columns:120px 1fr 1fr}.phone-input{display:flex;gap:1px}.phone-code{width:120px!important;flex-shrink:0}.passenger-notice,.passenger-warning{display:flex;gap:12px;padding:14px;border-radius:8px;margin-bottom:16px;font-size:.85rem;line-height:1.5}.passenger-notice{background:#eff6ff;color:#1e40af}.passenger-warning{background:#fef3c7;color:#92400e}.passenger-notice p,.passenger-warning p{margin:0}.passenger-card{border:1px solid #e2e8f0;border-radius:12px;margin-bottom:16px;overflow:hidden}.passenger-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:#f8fafc;border:none;cursor:pointer}.passenger-title{display:flex;align-items:center;gap:10px;font-weight:600;color:#1e1b4b}.passenger-form{padding:20px}.radio-group{display:flex;gap:24px}.radio-option{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-option input{display:none}.radio-custom{width:20px;height:20px;border:2px solid #d1d5db;border-radius:50%;position:relative;transition:all .2s}.radio-option input:checked+.radio-custom{border-color:#6366f1}.radio-option input:checked+.radio-custom:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#6366f1;border-radius:50%}.save-traveler{display:flex;align-items:center;gap:10px;cursor:pointer;margin-top:8px}.save-traveler input{display:none}.checkbox-custom{width:20px;height:20px;border:2px solid #d1d5db;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s}.save-traveler input:checked+.checkbox-custom{background:#6366f1;border-color:#6366f1}.save-traveler input:checked+.checkbox-custom:after{content:"✓";color:#fff;font-size:12px}.esim-section{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:12px;padding:24px;color:#fff}.passengers-section{margin-top:8px}.passengers-notice{background:#eef2ff;border-radius:12px;padding:16px 20px;margin-bottom:20px}.notice-item{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}.notice-item:last-child{margin-bottom:0}.notice-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;margin-top:6px}.notice-dot.purple{background:#6366f1}.notice-item p{font-size:.9rem;color:#1e1b4b;line-height:1.5;margin:0}.passenger-card-new{background:#f8fafc;border-radius:12px;margin-bottom:16px;overflow:visible}.passenger-header-new{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 20px;background:transparent;border:none;cursor:pointer;color:#64748b}.passenger-header-left{display:flex;align-items:center;gap:12px}.passenger-avatar{width:40px;height:40px;background:#e2e8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b}.passenger-label{font-size:1rem;font-weight:600;color:#1e1b4b}.passenger-form-new{padding:0 20px 20px;overflow:visible}.form-row.three-col-passenger{display:grid;grid-template-columns:150px 1fr 1fr;gap:16px}.input-field.date-field{position:relative}.input-field.date-field .field-icon{left:14px;color:#9ca3af}.input-field.date-field input{padding-left:48px;color:#9ca3af}.input-field.date-field input::-webkit-calendar-picker-indicator{opacity:0;position:absolute;right:0;width:100%;height:100%;cursor:pointer}.save-member-checkbox{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e2e8f0}.save-member-checkbox input[type=checkbox]{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;cursor:pointer;accent-color:#6366f1}.save-member-checkbox label{font-size:.95rem;color:#1e1b4b;cursor:pointer}.save-member-checkbox label strong{font-weight:600}.esim-header{display:flex;gap:16px;margin-bottom:24px}.esim-header h3{font-size:1.1rem;margin-bottom:8px}.esim-header p{font-size:.9rem;opacity:.9;line-height:1.5}.esim-section>h4{font-size:.95rem;margin-bottom:16px}.esim-plans{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.esim-plan{background:#ffffff26;border:2px solid transparent;border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.esim-plan:hover{background:#ffffff40}.esim-plan.selected{background:#fff;color:#1e1b4b;border-color:#10b981}.esim-plan.popular{border-color:#fbbf24}.popular-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:2px 10px;background:#fbbf24;color:#1e1b4b;border-radius:10px;font-size:.7rem;font-weight:600}.plan-data{font-size:1.25rem;font-weight:700;margin-bottom:4px}.plan-days{font-size:.85rem;opacity:.8;margin-bottom:8px}.plan-price{font-weight:600;margin-bottom:4px}.plan-validity{font-size:.75rem;opacity:.7}.plan-check{position:absolute;top:8px;right:8px;width:24px;height:24px;background:#10b981;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.view-all-esim{background:#fff;color:#6366f1;border:none;padding:10px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.view-all-esim:hover{background:#f1f5f9}.policies-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.policies-section-new{margin-top:8px}.policy-block{margin-bottom:24px}.policy-block:last-child{margin-bottom:0}.policy-block-title{font-size:1rem;font-weight:600;color:#1e1b4b;margin-bottom:12px}.policy-card{background:#f1f5f9;border-radius:12px;padding:16px 20px;margin-bottom:12px}.policy-card:last-child{margin-bottom:0}.policy-card p{font-size:.95rem;color:#1e1b4b;line-height:1.6;margin:0}.policy-row{display:flex;justify-content:space-between;align-items:center;gap:20px}.policy-row p{flex:1}.policy-tag{padding:6px 14px;border-radius:6px;font-size:.85rem;font-weight:600;white-space:nowrap;flex-shrink:0}.policy-tag.red{background:#fee2e2;color:#dc2626}.baggage-policy-card{background:linear-gradient(135deg,#e0e7ff,#ede9fe);border-radius:12px;padding:20px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.baggage-content h4{font-size:1.1rem;font-weight:600;color:#1e1b4b;margin-bottom:12px}.baggage-content ul{list-style:disc;padding-left:20px;margin:0}.baggage-content li{font-size:.95rem;color:#1e1b4b;line-height:1.6;margin-bottom:4px}.baggage-content li:last-child{margin-bottom:0}.baggage-illustration{flex-shrink:0}.baggage-image{width:100px;height:auto;object-fit:contain}.policy-item{border-bottom:1px solid #e2e8f0}.policy-item:last-child{border-bottom:none}.policy-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:16px 0;background:none;border:none;cursor:pointer;font-weight:600;color:#1e1b4b;font-size:.95rem}.policy-content{padding-bottom:16px}.policy-content p{font-size:.9rem;color:#64748b;line-height:1.6;margin-bottom:8px}.policy-rule{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:12px 0;border-bottom:1px solid #f1f5f9}.policy-rule:last-child{border-bottom:none}.rule-label{font-size:.9rem;color:#64748b;line-height:1.5}.rule-tag{padding:4px 10px;border-radius:20px;font-size:.75rem;font-weight:500;white-space:nowrap}.rule-tag.red{background:#fee2e2;color:#dc2626}.booking-sidebar{position:sticky;top:100px}.price-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.price-header{padding-bottom:16px;border-bottom:1px solid #e2e8f0;margin-bottom:16px}.trip-route{display:flex;align-items:center;gap:8px;font-weight:600;color:#1e1b4b;margin-bottom:8px}.route-arrow{color:#6366f1}.trip-date{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#64748b}.price-breakdown{margin-bottom:16px}.price-row{display:flex;justify-content:space-between;padding:8px 0;font-size:.9rem;color:#64748b}.total-price{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;margin-bottom:16px}.total-price span:first-child{font-weight:600;color:#1e1b4b}.total-amount{font-size:1.5rem;font-weight:700;color:#1e1b4b}.total-amount small{font-size:.9rem;font-weight:500}.coupon-section{margin-bottom:16px}.coupon-input{display:flex;gap:8px}.coupon-input input{flex:1;padding:10px 12px;border:1px dashed #d1d5db;border-radius:8px;font-size:.85rem;text-transform:uppercase}.coupon-input input:focus{outline:none;border-color:#6366f1}.apply-btn{padding:10px 16px;background:none;border:none;color:#6366f1;font-weight:600;cursor:pointer}.apply-btn:hover{text-decoration:underline}.wallet-option{margin-bottom:20px}.wallet-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:.9rem;color:#374151}.wallet-checkbox input{display:none}.proceed-btn{width:100%;padding:14px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.proceed-btn:hover{background:#4f46e5}@media(max-width:1024px){.booking-layout{grid-template-columns:1fr}.booking-sidebar{position:static;order:-1}.esim-plans{grid-template-columns:repeat(2,1fr)}.trip-summary-grid{grid-template-columns:1fr;gap:20px}.trip-timeline{padding-left:20px}.timeline-marker{left:-20px}.timeline-connector{left:-15px}.trip-details-panel{border-left:none;border-top:1px solid #e2e8f0;padding-left:0;padding-top:20px;flex-direction:row;flex-wrap:wrap;gap:20px}.detail-item{min-width:140px}}@media(max-width:640px){.form-row.two-col,.form-row.three-col,.form-row.three-col-passenger{grid-template-columns:1fr}.trip-station{flex-wrap:wrap}.station-time{width:100%;text-align:left;margin-top:8px;padding-left:32px}.addon-options{flex-direction:column}.esim-plans{grid-template-columns:1fr 1fr}.policy-rule{flex-direction:column;gap:8px}.trip-summary-grid{gap:16px}.trip-details-panel{flex-direction:column;gap:12px}.detail-item{min-width:auto}.haramain-logo-booking{width:120px}}.section-heading{font-size:1.5rem;font-weight:700;color:#1e1b4b;margin-bottom:16px}.contact-details-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.contact-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.contact-header-left{display:flex;align-items:center;gap:12px}.contact-icon-circle{width:40px;height:40px;background:#f1f5f9;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#64748b}.contact-header-title{font-size:1rem;font-weight:600;color:#1e1b4b}.contact-expand-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:4px}.contact-email-display{font-size:.9rem;color:#64748b;margin-bottom:24px;padding-left:52px}.contact-section{margin-bottom:24px}.contact-section-title{font-size:.95rem;font-weight:600;color:#1e1b4b;margin-bottom:16px}.phone-input{display:flex;align-items:stretch;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden;background:#fff}.phone-input select{border:none;padding:12px 24px 12px 12px;font-size:.95rem;color:#1f2937;background:#f8fafc;cursor:pointer;border-right:1px solid #e2e8f0;width:110px;flex-shrink:0;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.phone-input select:focus{outline:none}.phone-input input{flex:1;border:none;padding:12px 14px;font-size:.95rem;color:#1f2937;min-width:0}.phone-input input::placeholder{color:#9ca3af}.phone-input input:focus{outline:none}.phone-input:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.phone-input-field{display:flex;align-items:center;border:1px solid #e5e7eb;border-radius:10px;background:#fff;overflow:hidden}.phone-country-selector{display:flex;align-items:center;gap:4px;padding:12px 8px 12px 14px;background:transparent;border-right:none}.country-flag{font-size:1.2rem;line-height:1}.phone-code-dropdown{border:none;background:transparent;font-size:.9rem;color:#1f2937;cursor:pointer;padding:0 16px 0 0;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right center}.phone-code-dropdown:focus{outline:none}.phone-input-field input{flex:1;border:none;padding:12px 14px;font-size:.95rem;color:#1f2937}.phone-input-field input::placeholder{color:#9ca3af}.phone-input-field input:focus{outline:none}.phone-input-field:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.phone-input-wrapper{display:flex;gap:0;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.phone-code-select{width:100px;padding:12px 10px;border:none;border-right:1px solid #e2e8f0;font-size:.9rem;color:#1f2937;background:#f8fafc;cursor:pointer}.phone-code-select:focus{outline:none}.phone-number-input{flex:1;padding:12px 14px;border:none;font-size:.95rem;color:#1f2937}.phone-number-input:focus{outline:none}.phone-input-wrapper:focus-within{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.phone-input-group{display:flex;gap:8px}.phone-input-group input{flex:1}.input-field{position:relative;display:flex;align-items:center}.input-field .field-icon{position:absolute;left:16px;color:#9ca3af;z-index:1}.input-field input{width:100%;padding:14px 16px 14px 48px;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem;color:#1f2937;transition:all .2s}.input-field input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.input-field.phone-field{display:flex;align-items:center}.input-field.phone-field .field-icon{left:14px}.phone-code-inline{position:absolute;left:42px;background:transparent;border:none;font-size:.9rem;color:#1f2937;cursor:pointer;padding:0 4px;z-index:1}.phone-code-inline:focus{outline:none}.input-field.phone-field input{padding-left:130px}.traveling-checkbox{display:flex;align-items:center;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}.traveling-checkbox input[type=checkbox]{width:18px;height:18px;border:2px solid #d1d5db;border-radius:4px;cursor:pointer}.traveling-checkbox label{font-size:.95rem;color:#1e1b4b;cursor:pointer}.price-card-new{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.sidebar-info-row{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f1f5f9}.sidebar-info-row:first-child{padding-top:0}.sidebar-info-icon{width:36px;height:36px;background:#eef2ff;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6366f1;flex-shrink:0}.sidebar-info-content{display:flex;flex-direction:column;gap:2px}.sidebar-info-label{font-size:.8rem;color:#64748b}.sidebar-info-value{font-size:1rem;font-weight:600;color:#1e1b4b}.sidebar-price-section{padding:20px 0;text-align:right;border-bottom:1px solid #f1f5f9}.sidebar-price-amount{display:flex;align-items:baseline;justify-content:flex-end;gap:4px}.price-currency{font-size:1.25rem;font-weight:600;color:#1e1b4b}.price-value{font-size:2rem;font-weight:700;color:#1e1b4b}.price-tax-note{font-size:.8rem;color:#64748b;margin-top:4px}.price-tax-toggle{display:flex;align-items:center;justify-content:flex-end;gap:6px;background:none;border:none;font-size:.85rem;color:#64748b;cursor:pointer;padding:4px 0;margin-top:4px}.price-tax-toggle:hover{color:#6366f1}.price-breakdown{padding:16px 0;border-bottom:1px solid #f1f5f9}.price-breakdown-title{font-size:1.1rem;font-weight:700;color:#1e1b4b;margin-bottom:16px}.price-breakdown-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:.95rem;color:#64748b}.price-breakdown-value{font-weight:600;color:#1e1b4b}.price-breakdown-total{display:flex;justify-content:space-between;align-items:center;padding:12px 0 0;margin-top:12px;border-top:1px dashed #e2e8f0;font-size:1rem;font-weight:600;color:#1e1b4b}.price-breakdown-total .price-breakdown-value{font-size:1.1rem;font-weight:700}.info-icon{cursor:pointer}.coupon-section-new{padding:16px 0}.coupon-input-wrapper{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #e5e7eb;border-radius:10px;background:#fefce8}.coupon-icon{color:#ca8a04;flex-shrink:0}.coupon-input-field{flex:1;border:none;outline:none;font-size:.85rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;background:transparent}.coupon-input-field::placeholder{color:#94a3b8}.coupon-apply-btn{background:none;border:none;color:#ca8a04;font-weight:600;font-size:.9rem;cursor:pointer;padding:4px 8px}.coupon-apply-btn:hover{text-decoration:underline}.view-offers-link{display:block;width:100%;background:none;border:none;color:#6366f1;font-size:.9rem;text-align:left;cursor:pointer;padding:8px 0;margin-bottom:16px}.view-offers-link:hover{text-decoration:underline}.proceed-btn-new{width:100%;padding:14px;background:#6366f1;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.proceed-btn-new:hover{background:#4f46e5}.proceed-btn-new:disabled{background:#94a3b8;cursor:not-allowed}.confirm-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.confirm-modal{background:#fff;border-radius:12px;width:100%;max-width:700px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0003}.confirm-modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#1e1b4b;color:#fff;border-radius:12px 12px 0 0;flex-shrink:0}.confirm-modal-header h2{font-size:1.125rem;font-weight:600;margin:0}.confirm-modal-close{background:none;border:none;color:#fff;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center}.confirm-modal-close:hover{opacity:.8}.confirm-modal-body{padding:1.5rem;overflow-y:auto;flex:1}.confirm-trip-info{margin-bottom:1.5rem}.confirm-trip-meta{display:flex;justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:1rem}.confirm-passengers{font-size:.875rem;color:#374151}.confirm-price{display:flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:600;color:#1e1b4b}.confirm-trip-card{display:flex;align-items:center;gap:1.5rem;padding:1.25rem;border:1px solid #e5e7eb;border-radius:12px}.confirm-train-logo{display:flex;flex-direction:column;align-items:center;gap:.5rem}.confirm-train-logo img{height:40px;object-fit:contain}.confirm-train-number{font-size:.75rem;color:#7c3aed;font-weight:500}.confirm-trip-timeline{flex:1;display:flex;align-items:center;justify-content:space-between}.confirm-departure,.confirm-arrival{display:flex;flex-direction:column;gap:.25rem}.confirm-date{font-size:.75rem;color:#6b7280}.confirm-time{font-size:1rem;font-weight:600;color:#1e1b4b}.confirm-station{font-size:.8125rem;color:#374151}.confirm-duration{display:flex;flex-direction:column;align-items:center;gap:.25rem}.confirm-duration-time{font-size:.75rem;color:#7c3aed;font-weight:500}.confirm-duration-line{display:flex;align-items:center;gap:0;width:100px}.duration-dot{width:8px;height:8px;border-radius:50%;background:#d1d5db}.duration-connector{flex:1;height:2px;background:#d1d5db}.confirm-direct{font-size:.75rem;color:#6b7280}.confirm-section{margin-bottom:1.5rem}.confirm-section-title{font-size:1rem;font-weight:600;color:#1e1b4b;margin:0 0 .75rem}.confirm-contact-card,.confirm-passenger-card{display:flex;align-items:center;gap:2rem;padding:1rem 1.25rem;border:1px solid #e5e7eb;border-radius:12px;flex-wrap:wrap}.confirm-contact-item,.confirm-passenger-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151}.confirm-contact-item svg,.confirm-passenger-item svg{color:#6b7280}.confirm-notice-card{background:#fef3c7;border-radius:12px;padding:1rem 1.25rem}.confirm-notice-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.5rem}.confirm-notice-list li{font-size:.8125rem;color:#1e1b4b;line-height:1.5}.confirm-notice-list li::marker{color:#1e1b4b}.confirm-baggage-card{background:linear-gradient(135deg,#f3e8ff,#e0e7ff);border-radius:12px;padding:1rem 1.25rem}.confirm-baggage-card p{font-size:.875rem;color:#1e1b4b;margin:0 0 .375rem}.confirm-baggage-note{font-size:.75rem;color:#6b7280;font-style:italic}.confirm-modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid #e5e7eb;flex-shrink:0}.confirm-edit-btn{padding:.75rem 2rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-edit-btn:hover{background:#f9fafb;border-color:#9ca3af}.confirm-continue-btn{padding:.75rem 1.5rem;background:#1e1b4b;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.confirm-continue-btn:hover{background:#312e81}.confirm-continue-btn:disabled{opacity:.6;cursor:not-allowed}@media(max-width:768px){.confirm-modal{max-width:100%;margin:.5rem;max-height:95vh}.confirm-trip-card,.confirm-trip-timeline{flex-direction:column;gap:1rem}.confirm-contact-card,.confirm-passenger-card{flex-direction:column;align-items:flex-start;gap:.75rem}.confirm-modal-footer{flex-direction:column}.confirm-edit-btn,.confirm-continue-btn{width:100%}}.payment-page{background:#f8fafc;min-height:100vh;padding:24px 0 60px}.payment-container{max-width:1200px;margin:0 auto;padding:0 24px}.back-to-details{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:#6366f1;font-size:.9rem;font-weight:500;cursor:pointer;padding:0;margin-bottom:24px;transition:color .2s}.back-to-details:hover{color:#4f46e5}.payment-layout{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:start}.payment-methods-panel{display:flex;flex-direction:column;gap:24px}.payment-methods-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.payment-methods-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.payment-methods-header h2{font-size:1.25rem;font-weight:600;color:#1e1b4b;margin:0}.secure-badge{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#dcfce7;color:#16a34a;border-radius:20px;font-size:.8rem;font-weight:500}.payment-options{display:flex;gap:16px;margin-bottom:24px}.payment-option{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.payment-option:hover,.payment-option.selected{border-color:#6366f1;background:#f5f3ff}.card-icons{display:flex;align-items:center;gap:12px}.mastercard-icon{font-size:1.5rem;color:#eb001b;letter-spacing:-8px}.visa-text{font-size:1.5rem;font-weight:700;color:#1a1f71;font-style:italic}.mada-icon{display:flex;flex-direction:column;align-items:center;gap:2px}.mada-ar{font-size:1.25rem;font-weight:700;color:#004d40}.mada-en{font-size:.9rem;font-weight:600;color:#004d40;text-transform:lowercase}.online-payment-section{border-top:1px solid #e2e8f0;padding-top:20px}.online-payment-section h3{font-size:1rem;font-weight:600;color:#1e1b4b;margin-bottom:16px}.paypal-btn{width:100%;padding:16px;background:#ffc439;border:2px solid #ffc439;border-radius:12px;cursor:pointer;transition:all .2s}.paypal-btn:hover{background:#f0b429;border-color:#f0b429}.paypal-btn.selected{border-color:#6366f1;box-shadow:0 0 0 2px #6366f133}.paypal-text{font-size:1.5rem;font-weight:700;color:#003087;font-style:italic}.payment-summary-panel{position:sticky;top:100px}.payment-summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 8px #0000000a}.payment-summary-card h2{font-size:1.25rem;font-weight:600;color:#1e1b4b;margin:0 0 20px}.summary-booking-id{display:flex;align-items:center;gap:8px;font-size:.9rem;color:#64748b;margin-bottom:8px}.summary-email{font-size:.9rem;color:#1e1b4b;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}.summary-trip-card{display:flex;gap:16px;padding:16px;background:#f8fafc;border-radius:12px;margin-bottom:20px}.summary-trip-image{width:80px;height:60px;border-radius:8px;overflow:hidden;flex-shrink:0}.summary-trip-image img{width:100%;height:100%;object-fit:contain}.summary-trip-details h3{font-size:.95rem;font-weight:600;color:#1e1b4b;margin:0 0 8px}.summary-trip-date,.summary-trip-pax{display:flex;align-items:center;gap:6px;font-size:.85rem;color:#64748b;margin-bottom:4px}.summary-charge-notice{display:flex;gap:12px;padding:16px;background:#fef3c7;border-radius:12px;margin-bottom:20px}.summary-charge-notice svg{color:#ca8a04;flex-shrink:0;margin-top:2px}.charge-notice-text{display:flex;flex-direction:column;gap:4px}.charge-notice-title{font-size:.9rem;font-weight:600;color:#1e1b4b}.charge-notice-sub{font-size:.8rem;color:#64748b}.summary-total{display:flex;align-items:baseline;justify-content:flex-end;gap:4px;padding-top:16px;border-top:1px solid #e2e8f0}.total-currency{font-size:1.25rem;font-weight:600;color:#1e1b4b}.total-amount{font-size:2rem;font-weight:700;color:#1e1b4b}.payment-footer{text-align:center;margin-top:40px;padding-top:20px;border-top:1px solid #e2e8f0}.payment-footer p{font-size:.85rem;color:#64748b;margin:0}@media(max-width:1024px){.payment-layout{grid-template-columns:1fr}.payment-summary-panel{position:static;order:-1}}@media(max-width:640px){.payment-options{flex-direction:column}.payment-methods-header{flex-direction:column;align-items:flex-start;gap:12px}.summary-trip-card{flex-direction:column}.summary-trip-image{width:100%;height:80px}}.dashboard-sidebar{position:fixed;left:0;top:64px;width:280px;height:calc(100vh - 64px);background:#fff;border-right:1px solid #e5e7eb;padding:1.5rem;overflow-y:auto;z-index:100}.sidebar-user-section{display:flex;flex-direction:column;align-items:center;padding-bottom:1.5rem;border-bottom:1px solid #e5e7eb;margin-bottom:1.5rem}.sidebar-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;margin-bottom:1rem}.sidebar-user-info{text-align:center}.sidebar-user-email{display:block;font-size:.875rem;color:#374151;font-weight:500;margin-bottom:.25rem}.sidebar-view-profile{font-size:.75rem;color:#7c3aed;text-decoration:none}.sidebar-view-profile:hover{text-decoration:underline}.sidebar-nav{padding:0}.sidebar-nav-label{display:block;font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem;padding-left:.5rem}.sidebar-nav-list{list-style:none;padding:0;margin:0}.sidebar-nav-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:8px;color:#374151;text-decoration:none;font-size:.875rem;font-weight:500;transition:all .2s ease}.sidebar-nav-item:hover{background:#f3f4f6;color:#7c3aed}.sidebar-nav-item.active{background:#f3e8ff;color:#7c3aed}.sidebar-nav-item .external-icon{margin-left:auto;opacity:.5}@media(max-width:1024px){.dashboard-sidebar{display:none;position:fixed;left:0;top:0;height:100vh;z-index:200;box-shadow:4px 0 20px #00000026}.dashboard-sidebar.mobile-open{display:block}.sidebar-close-mobile{display:flex;position:absolute;top:1rem;right:1rem;background:none;border:none;color:#6b7280;cursor:pointer;padding:.25rem}}@media(min-width:1025px){.sidebar-close-mobile{display:none}}.welcome-banner{position:relative;background:linear-gradient(135deg,#1e1b4b,#312e81);border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;color:#fff;display:flex;align-items:flex-start;gap:1.5rem}.banner-close-btn{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:background .2s ease}.banner-close-btn:hover{background:#fff3}.banner-content{flex:1}.banner-title{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.banner-subtitle{font-size:.875rem;opacity:.9;margin:0 0 1rem}.banner-features{list-style:none;padding:0;margin:0 0 1rem}.banner-features li{display:flex;align-items:center;gap:.5rem;font-size:.875rem;margin-bottom:.5rem}.banner-features .feature-icon{color:#22c55e;flex-shrink:0}.banner-tip{font-size:.75rem;opacity:.8;margin:0;padding-top:.5rem;border-top:1px solid rgba(255,255,255,.1)}.banner-quick-book-btn{background:#fff;color:#1e1b4b;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;align-self:center}.banner-quick-book-btn:hover{background:#f3f4f6;transform:translateY(-1px)}@media(max-width:768px){.welcome-banner{flex-direction:column;padding:2.5rem 1rem 1rem}.banner-quick-book-btn{width:100%;text-align:center}}.stats-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.stat-card{background:#fff;border-radius:12px;padding:1.25rem;text-decoration:none;color:inherit;border:1px solid #e5e7eb;transition:all .2s ease}.stat-card:hover{border-color:#7c3aed;box-shadow:0 4px 12px #7c3aed1a;transform:translateY(-2px)}.stat-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.stat-label{font-size:.875rem;color:#6b7280;font-weight:500}.stat-icon{width:40px;height:40px;border-radius:10px;background:#f3e8ff;color:#7c3aed;display:flex;align-items:center;justify-content:center}.stat-value{font-size:1.75rem;font-weight:700;color:#111827;margin-bottom:.25rem}.stat-prefix{font-size:1rem;font-weight:500;margin-right:.25rem}.stat-subtext{font-size:.75rem;color:#7c3aed}@media(max-width:1024px){.stats-cards{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.stats-cards{grid-template-columns:1fr}}.vat-invoice-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem}.vat-content{flex:1}.vat-header{margin-bottom:1rem}.vat-title{font-size:1.125rem;font-weight:600;color:#dc2626;margin:0 0 .5rem}.vat-description{font-size:.875rem;color:#6b7280;margin:0}.vat-requirements{list-style:none;padding:0;margin:0}.vat-requirement-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:#374151;margin-bottom:.5rem}.vat-requirement-item:last-child{margin-bottom:0}.requirement-icon{color:#22c55e;flex-shrink:0}.vat-submit-btn{background:#7c3aed;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease;align-self:center}.vat-submit-btn:hover{background:#6d28d9;transform:translateY(-1px)}@media(max-width:768px){.vat-invoice-section{flex-direction:column;padding:1rem}.vat-submit-btn{width:100%;text-align:center}}.weekly-availability{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.availability-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.availability-header h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0}.edit-btn{background:none;border:none;color:#7c3aed;cursor:pointer;padding:.5rem;border-radius:6px;transition:background .2s ease}.edit-btn:hover{background:#f3e8ff}.availability-filters{display:flex;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.filter-select,.filter-date{padding:.625rem .875rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;color:#374151;background:#fff;min-width:150px}.filter-passengers{min-width:80px}.filter-select:focus,.filter-date:focus{outline:none;border-color:#7c3aed}.check-btn{background:#1e1b4b;color:#fff;border:none;border-radius:8px;padding:.625rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .2s ease}.check-btn:hover{background:#312e81}.date-navigation{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;overflow-x:auto;padding-bottom:.5rem}.nav-btn{background:#f3f4f6;border:none;border-radius:6px;padding:.5rem;cursor:pointer;color:#374151;flex-shrink:0;transition:all .2s ease}.nav-btn:hover{background:#e5e7eb}.date-tabs{display:flex;gap:.25rem;overflow-x:auto}.date-tab{background:#f3f4f6;border:none;border-radius:6px;padding:.5rem .75rem;font-size:.75rem;color:#6b7280;cursor:pointer;white-space:nowrap;transition:all .2s ease}.date-tab:hover{background:#e5e7eb}.date-tab.active{background:#1e1b4b;color:#fff}.show-prices-toggle{display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#6b7280;margin-left:auto;flex-shrink:0;cursor:pointer}.show-prices-toggle input{cursor:pointer}.availability-table-wrapper{overflow-x:auto;margin-bottom:1rem}.availability-table{width:100%;border-collapse:collapse;font-size:.75rem}.availability-table th,.availability-table td{padding:.625rem .5rem;text-align:center;border-bottom:1px solid #e5e7eb}.availability-table th{background:#f9fafb;font-weight:600;color:#374151;white-space:nowrap}.availability-table th.selected{background:#f3e8ff;color:#7c3aed}.train-info{text-align:left!important;vertical-align:top;min-width:120px}.train-number{font-weight:700;color:#111827;font-size:.875rem}.train-time{font-size:.7rem;color:#6b7280;margin-top:.25rem}.availability-cell{white-space:nowrap}.availability-cell.selected{background:#faf5ff}.class-label{font-weight:600;color:#6b7280;margin-right:.25rem}.seat-count{font-weight:500}.seat-high{color:#22c55e}.seat-medium{color:#f59e0b}.seat-low{color:#ef4444}.seat-sold-out{color:#dc2626;font-weight:600}.train-row-business td{border-bottom:2px solid #e5e7eb}.availability-legend{display:flex;gap:1.5rem;font-size:.75rem;color:#6b7280}.legend-item{display:flex;align-items:center;gap:.375rem}.legend-dot{width:8px;height:8px;border-radius:50%}.legend-dot.economy{background:#22c55e}.legend-dot.business{background:#3b82f6}.legend-dot.limited{background:#f59e0b}@media(max-width:768px){.weekly-availability{padding:1rem}.availability-filters{flex-direction:column}.filter-select,.filter-date{width:100%;min-width:unset}.check-btn{width:100%}.date-navigation{flex-wrap:wrap}.date-tabs{width:100%;order:3}.show-prices-toggle{margin-left:0}.availability-legend{flex-wrap:wrap;gap:.75rem}}.dashboard-page{display:flex;min-height:100vh;background-color:#f8f9fa;position:relative}.dashboard-content{flex:1;padding:1.5rem;margin-left:280px;max-width:calc(100% - 280px)}.dashboard-page.sidebar-collapsed .dashboard-content{margin-left:0;max-width:100%}.mobile-sidebar-toggle{display:none;position:fixed;top:80px;left:1rem;z-index:200;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem;cursor:pointer;box-shadow:0 2px 8px #0000001a}.mobile-sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:150}@media(max-width:1024px){.dashboard-content{margin-left:0;max-width:100%;padding:4rem 1rem 1rem}.mobile-sidebar-toggle{display:flex;align-items:center;justify-content:center}.mobile-sidebar-overlay{display:block}}@media(max-width:768px){.dashboard-content{padding:4rem .75rem .75rem}}.vat-invoice-page{display:flex;min-height:100vh;background-color:#f8f9fa}.vat-invoice-content{flex:1;padding:1.5rem;margin-left:280px;max-width:calc(100% - 280px)}.vat-invoice-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.vat-invoice-header h1{font-size:1.5rem;font-weight:600;color:#111827;margin:0}.status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:500}.status-badge.not-submitted{background:#fef2f2;color:#dc2626}.status-badge.submitted{background:#f0fdf4;color:#16a34a}.vat-info-box{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;padding:1rem 1.5rem;margin-bottom:1.5rem}.vat-info-box h3{font-size:.875rem;font-weight:600;color:#92400e;margin:0 0 .5rem}.vat-info-box p{font-size:.8rem;color:#78350f;margin:0;line-height:1.5}.vat-upload-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e5e7eb}.vat-upload-section h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.section-description{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem}.upload-content{display:grid;grid-template-columns:1fr 1.5fr;gap:2rem}.upload-area{display:flex;flex-direction:column;gap:1rem}.upload-dropzone{border:2px dashed #d1d5db;border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s ease}.upload-dropzone:hover{border-color:#7c3aed;background:#faf5ff}.checkbox-label{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:#374151}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#7c3aed}.upload-icon{color:#9ca3af;margin-bottom:.5rem}.upload-text{font-size:.875rem;color:#374151;margin:0 0 .25rem}.upload-hint{font-size:.75rem;color:#9ca3af;margin:0}.upload-filename{font-size:.75rem;color:#7c3aed;margin:.5rem 0 0;font-weight:500}.what-happens-next h4{font-size:1rem;font-weight:600;color:#111827;margin:0 0 1rem}.steps-list{list-style:none;padding:0;margin:0}.step-item{display:flex;gap:.75rem;margin-bottom:1rem}.step-item:last-child{margin-bottom:0}.step-icon{flex-shrink:0;margin-top:2px}.icon-complete{color:#22c55e}.icon-pending{color:#f59e0b}.step-content strong{display:block;font-size:.875rem;color:#111827;margin-bottom:.25rem}.step-content p{font-size:.75rem;color:#6b7280;margin:0;line-height:1.4}.vat-form{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.form-section{margin-bottom:2rem}.form-section:last-of-type{margin-bottom:0}.form-section h2{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.search-field{display:flex;align-items:center;gap:.75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:.5rem 1rem;margin-bottom:1.5rem}.search-field svg{color:#9ca3af;flex-shrink:0}.search-field input{flex:1;border:none;background:transparent;font-size:.875rem;color:#374151;outline:none}.search-field input::placeholder{color:#9ca3af}.get-address-btn{background:#1e1b4b;color:#fff;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .2s ease}.get-address-btn:hover{background:#312e81}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.8rem;font-weight:500;color:#374151}.form-group input,.form-group select{padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;color:#374151;background:#fff;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{outline:none;border-color:#7c3aed}.form-group input:disabled{background:#f3f4f6;color:#6b7280}.form-actions{display:flex;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.submit-btn{background:#7c3aed;color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-btn:hover{background:#6d28d9;transform:translateY(-1px)}@media(max-width:1024px){.vat-invoice-content{margin-left:0;max-width:100%;padding:1rem}.upload-content{grid-template-columns:1fr}}@media(max-width:768px){.vat-invoice-header{flex-direction:column;align-items:flex-start}.vat-invoice-header h1{font-size:1.25rem}.form-grid{grid-template-columns:1fr}.search-field{flex-wrap:wrap}.search-field input{width:100%;order:2}.get-address-btn{width:100%;order:3;margin-top:.5rem}}.wallet-page{display:flex;min-height:100vh;background-color:#f8f9fa}.wallet-content{flex:1;padding:1.5rem;max-width:100%}.wallet-layout{display:grid;grid-template-columns:300px 1fr;gap:1.5rem}.wallet-user-panel{background:#fff;border-radius:12px;padding:2rem 1.5rem;border:1px solid #e5e7eb;text-align:center;height:fit-content}.wallet-user-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:600;margin:0 auto 1rem}.wallet-user-email{font-size:1rem;font-weight:600;color:#111827;margin:0 0 .25rem}.wallet-user-sub{font-size:.8rem;color:#6b7280;margin:0 0 1.5rem}.wallet-details{text-align:left;border-top:1px solid #e5e7eb;padding-top:1.5rem}.wallet-details h3{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:#111827;margin:0 0 1rem}.detail-item{margin-bottom:1rem}.detail-item:last-child{margin-bottom:0}.detail-label{display:block;font-size:.75rem;font-weight:600;color:#374151;margin-bottom:.25rem}.detail-value{display:block;font-size:.875rem;color:#6b7280}.detail-value.balance{color:#22c55e;font-weight:600}.wallet-main-panel{display:flex;flex-direction:column;gap:1.5rem}.wallet-tabs{display:flex;gap:.5rem;border-bottom:1px solid #e5e7eb;padding-bottom:0}.wallet-tab{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:none;border:none;font-size:.875rem;font-weight:500;color:#6b7280;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all .2s ease}.wallet-tab:hover{color:#374151}.wallet-tab.active{color:#1e1b4b;border-bottom-color:#1e1b4b}.balance-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.balance-card{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb;text-align:center}.balance-icon{width:48px;height:48px;border-radius:12px;background:#f3e8ff;color:#7c3aed;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.balance-card.pending .balance-icon{background:#fef3c7;color:#f59e0b}.balance-label{display:block;font-size:.875rem;color:#6b7280;margin-bottom:.5rem}.balance-amount{display:block;font-size:1.5rem;font-weight:700;color:#22c55e;margin-bottom:1rem}.balance-amount.pending-text{color:#f59e0b;font-size:1rem}.topup-btn{background:#fff;color:#1e1b4b;border:1px solid #1e1b4b;border-radius:8px;padding:.5rem 1.5rem;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s ease}.topup-btn:hover{background:#1e1b4b;color:#fff}.topup-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.topup-section h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .25rem}.topup-section>p{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem}.topup-methods{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.topup-method{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:#fff;border:1px solid #e5e7eb;border-radius:12px;cursor:pointer;transition:all .2s ease}.topup-method:hover{border-color:#7c3aed;background:#faf5ff}.topup-method svg{color:#1e1b4b}.topup-method span{font-size:.875rem;font-weight:500;color:#374151}.no-transactions{display:flex;align-items:center;gap:1rem;background:#fff;border:2px solid #7c3aed;border-radius:12px;padding:1.5rem}.no-transactions-icon{width:64px;height:64px;background:#fef3c7;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.no-transactions-icon svg{color:#92400e}.no-transactions-content{flex:1}.no-transactions-content h4{font-size:1rem;font-weight:600;color:#111827;margin:0 0 .25rem}.no-transactions-content p{font-size:.8rem;color:#6b7280;margin:0;line-height:1.5}.topup-wallet-btn{display:flex;align-items:center;gap:.5rem;background:#1e1b4b;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.8rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all .2s ease}.topup-wallet-btn:hover{background:#312e81}.request-form-content{background:#fff;border-radius:12px;padding:3rem;border:1px solid #e5e7eb}.empty-state{text-align:center}.empty-state svg{color:#9ca3af;margin-bottom:1rem}.empty-state h3{font-size:1.125rem;font-weight:600;color:#111827;margin:0 0 .5rem}.empty-state p{font-size:.875rem;color:#6b7280;margin:0 0 1.5rem}.submit-request-btn{background:#7c3aed;color:#fff;border:none;border-radius:8px;padding:.75rem 2rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-request-btn:hover{background:#6d28d9}@media(max-width:1024px){.wallet-content{padding:1rem}.wallet-layout{grid-template-columns:1fr}.wallet-user-panel{order:-1}}@media(max-width:768px){.balance-cards,.topup-methods{grid-template-columns:1fr}.no-transactions{flex-direction:column;text-align:center}.topup-wallet-btn{width:100%;justify-content:center}}.transfer-method-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-bottom:1.5rem}.transfer-method-card{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:1.5rem;background:#fff;border:2px dashed #d1d5db;border-radius:12px;cursor:pointer;transition:all .2s ease}.transfer-method-card:hover{border-color:#7c3aed}.transfer-method-card.active{border-color:#22c55e;border-style:solid;background:#f0fdf4}.transfer-method-card svg{color:#1e1b4b}.transfer-method-card span{font-size:.875rem;font-weight:600;color:#374151}.bank-details-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.bank-details-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px dashed #e5e7eb}.bank-details-header h3{font-size:1.25rem;font-weight:600;color:#1e1b4b;margin:0 0 .25rem}.bank-details-header p{font-size:.875rem;color:#6b7280;margin:0}.close-bank-details{background:#f3f4f6;border:none;border-radius:8px;padding:.5rem;cursor:pointer;color:#6b7280;transition:all .2s ease}.close-bank-details:hover{background:#e5e7eb;color:#374151}.transfer-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px dashed #e5e7eb}.transfer-step{text-align:center;padding:1rem}.step-number{width:32px;height:32px;border-radius:50%;background:#1e1b4b;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:600;margin:0 auto .75rem}.transfer-step h4{font-size:.875rem;font-weight:600;color:#111827;margin:0 0 .5rem}.transfer-step p{font-size:.75rem;color:#6b7280;margin:0 0 1rem;line-height:1.5}.step-btn{background:#fff;color:#1e1b4b;border:1px solid #1e1b4b;border-radius:6px;padding:.5rem 1rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease}.step-btn:hover{background:#1e1b4b;color:#fff}.bank-info-table{border-radius:12px;overflow:hidden;margin-bottom:1.5rem}.bank-info-row{display:flex;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid #e5e7eb}.bank-info-row:last-child{border-bottom:none}.bank-info-row.highlight{background:#f0fdf4}.bank-info-label{width:200px;font-size:.875rem;font-weight:600;color:#374151;flex-shrink:0}.bank-info-value{flex:1;font-size:.875rem;color:#111827;display:flex;align-items:center;gap:.5rem}.copy-btn{background:none;border:none;color:#9ca3af;cursor:pointer;padding:.25rem;border-radius:4px;transition:all .2s ease}.copy-btn:hover{color:#7c3aed;background:#f3e8ff}.generate-request-footer{display:flex;justify-content:flex-end}.generate-request-btn{display:flex;align-items:center;gap:.5rem;background:#1e1b4b;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.generate-request-btn:hover{background:#312e81}@media(max-width:1024px){.transfer-steps{grid-template-columns:1fr}}@media(max-width:768px){.transfer-method-cards{grid-template-columns:1fr}.bank-info-row{flex-direction:column;gap:.5rem}.bank-info-label{width:100%}}.online-details-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.online-details-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px dashed #e5e7eb}.online-details-header h3{font-size:1.25rem;font-weight:600;color:#1e1b4b;margin:0 0 .25rem}.online-details-header p{font-size:.875rem;color:#6b7280;margin:0}.close-details-btn{background:#f3f4f6;border:none;border-radius:8px;padding:.5rem;cursor:pointer;color:#6b7280;transition:all .2s ease}.close-details-btn:hover{background:#e5e7eb;color:#374151}.online-steps{border-bottom:1px dashed #e5e7eb;margin-bottom:1.5rem;padding-bottom:1.5rem}.online-step{text-align:center;padding:1rem}.step-number.online{background:#22c55e}.online-payment-form{background:#f9fafb;border-radius:12px;padding:1.5rem}.payment-form-row{display:flex;gap:1rem;align-items:flex-end;margin-bottom:1.5rem}.payment-form-group{flex:1}.payment-form-group label{display:block;font-size:.875rem;font-weight:600;color:#374151;margin-bottom:.5rem}.payment-form-group input{width:100%;padding:.75rem 1rem;border:1px solid #d1d5db;border-radius:8px;font-size:.875rem;color:#111827;background:#fff;transition:all .2s ease}.payment-form-group input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.payment-form-group input::placeholder{color:#9ca3af}.add-payment-btn{background:#22c55e;color:#fff;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s ease}.add-payment-btn:hover{background:#16a34a}.payment-methods-icons{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.payment-icon{display:inline-flex;align-items:center;justify-content:center;padding:.5rem 1rem;background:#fff;border:1px solid #e5e7eb;border-radius:8px;font-size:.75rem;font-weight:600;color:#374151}.payment-icon.mastercard{font-size:1.25rem}.payment-icon.visa{color:#1a1f71;font-weight:700;font-style:italic}.payment-icon.applepay{color:#000}.payment-icon.paypal{color:#003087}.payment-icon.paylater{background:#fef3c7;color:#92400e;border-color:#fcd34d}@media(max-width:768px){.payment-form-row{flex-direction:column;align-items:stretch}.add-payment-btn{width:100%}.payment-methods-icons{justify-content:center}}.request-form-content{display:flex;flex-direction:column;gap:1.5rem}.request-section{background:#fff;border-radius:12px;padding:1.5rem;border:1px solid #e5e7eb}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.request-section h3{font-size:1rem;font-weight:600;color:#1e1b4b;margin:0 0 1rem}.section-header h3{margin:0}.check-btn{width:28px;height:28px;border-radius:50%;background:#22c55e;color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer}.details-table{display:flex;flex-direction:column;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.details-row{display:flex;border-bottom:1px solid #e5e7eb;min-height:48px}.details-row:last-child{border-bottom:none}.details-label{width:220px;padding:.875rem 1rem;background:#f9fafb;font-size:.875rem;font-weight:500;color:#374151;display:flex;align-items:center;flex-shrink:0;border-right:1px solid #e5e7eb}.details-value{flex:1;padding:.875rem 1rem;font-size:.875rem;color:#111827;display:flex;align-items:center}.details-input-wrapper{flex:1;display:flex;flex-direction:column;padding:.5rem 1rem}.details-input{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff}.details-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.details-input::placeholder{color:#9ca3af}.details-input.full-width{flex:1;margin:.5rem 1rem}.input-error{font-size:.75rem;color:#ef4444;margin-top:.25rem}.details-textarea{flex:1;margin:.5rem 1rem;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:6px;font-size:.875rem;color:#111827;background:#fff;min-height:60px;resize:vertical;font-family:inherit}.details-textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.details-textarea::placeholder{color:#9ca3af}.request-form-footer{display:flex;justify-content:flex-end}@media(max-width:768px){.details-row{flex-direction:column}.details-label{width:100%;border-right:none;border-bottom:1px solid #e5e7eb}.details-input.full-width,.details-textarea{margin:.5rem}}.mybooking-page{min-height:100vh;background-color:#e8eef3;padding:2rem 3rem}.mybooking-container{max-width:1000px}.mybooking-title{font-size:1.5rem;font-weight:600;color:#1e1b4b;margin:0 0 1.25rem}.mybooking-search{display:flex;align-items:center;gap:.5rem}.search-input-wrapper{position:relative;width:220px}.search-icon{position:absolute;left:.875rem;top:50%;transform:translateY(-50%);color:#9ca3af}.search-input{width:100%;padding:.625rem 1rem .625rem 2.5rem;border:1px solid #e5e7eb;border-radius:6px;font-size:.8125rem;color:#111827;background:#fff;transition:all .2s ease}.search-input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.search-input::placeholder{color:#9ca3af}.reset-btn{padding:.625rem 1.25rem;background:#fff;color:#374151;border:1px solid #d1d5db;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.reset-btn:hover{background:#f9fafb;border-color:#9ca3af}.search-btn{padding:.625rem 1.25rem;background:#6b7280;color:#fff;border:none;border-radius:6px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.search-btn:hover{background:#4b5563}.mybooking-divider{height:1px;background:#d1d5db;margin:1.5rem 0}.mybooking-empty{text-align:center;padding:1rem 0}.mybooking-empty p{font-size:.8125rem;color:#4b5563;line-height:1.6;margin:0}@media(max-width:768px){.mybooking-page{padding:1.5rem 1rem}.mybooking-search{flex-wrap:wrap}.search-input-wrapper{width:100%}.reset-btn,.search-btn{flex:1}}.profile-page{min-height:100vh;background-color:#e8eef3;padding:2rem}.profile-layout{display:grid;grid-template-columns:220px 1fr;gap:1.5rem;max-width:1000px;margin:0 auto}.profile-user-panel{background:#fff;border-radius:12px;padding:2rem 1.5rem;border:1px solid #e5e7eb;text-align:center;height:fit-content}.profile-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600;margin:0 auto 1rem}.profile-user-name{font-size:.9375rem;font-weight:600;color:#111827;margin:0 0 .25rem}.profile-user-email{font-size:.8125rem;color:#6b7280;margin:0}.profile-main-panel{display:flex;flex-direction:column;gap:1rem}.passengers-header{display:flex;justify-content:space-between;align-items:center}.passengers-title{font-size:1.125rem;font-weight:600;color:#1e1b4b;margin:0}.add-passenger-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem 1rem;background:#fff;color:#7c3aed;border:1px solid #e5e7eb;border-radius:8px;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.add-passenger-btn:hover{background:#f9fafb;border-color:#7c3aed}.passengers-content{background:#fff;border-radius:12px;border:2px dashed #7c3aed;min-height:200px}.passengers-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center}.passengers-empty-icon{color:#1e1b4b;margin-bottom:1rem}.passengers-empty h3{font-size:1.25rem;font-weight:600;color:#1e1b4b;margin:0 0 .5rem}.passengers-empty p{font-size:.875rem;color:#6b7280;margin:0}.passengers-list{padding:1rem}.passenger-item{padding:1rem;border-bottom:1px solid #e5e7eb}@media(max-width:768px){.profile-page{padding:1rem}.profile-layout{grid-template-columns:1fr}.profile-user-panel{order:-1}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.add-passenger-modal{background:#fff;border-radius:12px;width:100%;max-width:720px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 50px #0003}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;background:#1e1b4b;color:#fff;border-radius:12px 12px 0 0}.modal-header h2{font-size:1.125rem;font-weight:600;margin:0}.modal-close-btn{background:none;border:none;color:#fff;cursor:pointer;padding:.25rem;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease}.modal-close-btn:hover{opacity:.8}.modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;gap:1rem}.form-row.three-cols{grid-template-columns:140px 1fr 1fr}.form-row.two-cols{grid-template-columns:1fr 1fr}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.75rem;font-weight:500;color:#6b7280}.form-group input,.form-group select{padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:8px;font-size:.875rem;color:#111827;background:#fff;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.form-group input::placeholder{color:#9ca3af}.select-wrapper{position:relative}.select-wrapper select{appearance:none;padding-right:2.5rem;cursor:pointer}.select-wrapper .select-icon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.date-input-wrapper{position:relative}.date-input-wrapper input{padding-left:2.5rem}.date-input-wrapper .date-icon{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:#6b7280;pointer-events:none}.modal-footer{display:flex;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid #e5e7eb}.save-btn{padding:.75rem 2rem;background:#1e1b4b;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.save-btn:hover{background:#312e81}.passengers-list{padding:0}.passenger-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid #e5e7eb}.passenger-item:last-child{border-bottom:none}.passenger-name{font-size:.875rem;font-weight:500;color:#111827}.passenger-relation{font-size:.8125rem;color:#6b7280}@media(max-width:768px){.form-row.three-cols,.form-row.two-cols{grid-template-columns:1fr}.add-passenger-modal{max-width:100%;margin:1rem}}.protected-route-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:1rem}.loading-spinner{width:40px;height:40px;border:3px solid #f3f3f3;border-top:3px solid #7c3aed;border-radius:50%;animation:spin 1s linear infinite}.protected-route-loading p{color:#666;font-size:.875rem}.email-confirm-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.confirm-card{background:#fff;border-radius:16px;padding:48px;text-align:center;max-width:450px;width:100%;box-shadow:0 20px 60px #0003}.confirm-card h1{font-size:1.75rem;color:#1a1a2e;margin:24px 0 12px}.confirm-card p{color:#666;line-height:1.6;margin-bottom:8px}.loading-icon{color:#667eea;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.success-icon{color:#48bb78}.error-icon{color:#e53e3e}.redirect-text{font-size:.875rem;color:#999;margin-top:16px}.confirm-btn{margin-top:24px;padding:14px 32px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}@media(max-width:480px){.confirm-card{padding:32px 24px}.confirm-card h1{font-size:1.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;background-color:#f8f9fa;color:#333}.container{max-width:1200px;margin:0 auto;padding:0 20px}.btn{padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #6366f166}.btn-outline{background:transparent;border:2px solid #6366f1;color:#6366f1}.btn-outline:hover{background:#6366f1;color:#fff}
