body {font-family:'Inter', sans-serif;background-color:#0f172a;color:#f1f5f9;margin:0;} h1, h2, h3, h4, .font-display {font-family:'Outfit', sans-serif;} select option {background-color:#ffffff;color:#0f172a;} .hidden-section {display:none;} .fade-in {animation:fadeIn 0.3s ease-in-out;} @keyframes fadeIn {from {opacity:0;transform:translateY(8px);} to {opacity:1;transform:translateY(0);}} ::-webkit-scrollbar {width:8px;} ::-webkit-scrollbar-track {background:#1e293b;} ::-webkit-scrollbar-thumb {background:#334155;border-radius:4px;} ::-webkit-scrollbar-thumb:hover {background:#475569;} .hero-section {position:relative;min-height:550px;background:radial-gradient(circle at top right, #1e293b, #0f172a);overflow:hidden;} .hero-bg {position:absolute;inset:0;background-size:cover;background-position:center;opacity:0.3;transition:opacity 0.7s ease;} .hero-overlay {position:absolute;inset:0;background:linear-gradient(180deg, rgba(15, 23, 42, 0.4) 0%, rgba(15, 23, 42, 0.8) 100%);} .main-nav {position:fixed;top:0;left:0;right:0;z-index:50;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);background:#0f172a;border-bottom:1px solid rgba(255, 255, 255, 0.1);} .main-nav.scrolled {padding:8px 0;background:rgba(15, 23, 42, 0.9) !important;backdrop-filter:blur(12px);box-shadow:0 8px 30px rgba(0, 0, 0, 0.3);border-bottom:1px solid rgba(255, 255, 255, 0.05);} .main-nav .nav-link {color:#475569;font-weight:600;font-size:14px;transition:all 0.2s;} .main-nav .nav-link:hover {color:#84cc16;transform:translateY(-1px);} .main-nav .nav-logo {color:#0f172a;font-weight:800;font-size:24px;font-family:'Outfit', sans-serif;letter-spacing:-0.5px;} input[type=range] {-webkit-appearance:none;appearance:none;background:transparent;} input[type=range]::-webkit-slider-thumb {-webkit-appearance:none;height:20px;width:20px;border-radius:50%;background:#84cc16;cursor:pointer;margin-top:-8px;box-shadow:0 1px 3px rgba(0,0,0,0.3);} input[type=range]::-webkit-slider-runnable-track {width:100%;height:4px;cursor:pointer;background:#e5e7eb;border-radius:2px;} input[type=range]:focus {outline:none;} .loading-spinner {border:3px solid #e5e7eb;border-top:3px solid #84cc16;border-radius:50%;width:40px;height:40px;animation:spin 0.8s linear infinite;} @keyframes spin {0% {transform:rotate(0deg);} 100% {transform:rotate(360deg);}} .date-input {cursor:pointer;position:relative;} .flatpickr-calendar {border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 20px 40px rgba(0,0,0,0.12);} .flatpickr-day.flatpickr-disabled, .flatpickr-day.flatpickr-disabled:hover {color:#cbd5e1 !important;background:#f8fafc !important;text-decoration:line-through;cursor:not-allowed;} .flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange {background:#84cc16 !important;border-color:#84cc16 !important;} .flatpickr-day.today {border-color:#84cc16 !important;} .glass-card {background:rgba(15, 23, 42, 0.8);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255, 255, 255, 0.1);border-radius:20px;color:#f8fafc;} .dark-card {background:#1e293b;border:1px solid rgba(255, 255, 255, 0.1);color:#f8fafc;border-radius:20px;box-shadow:0 10px 30px -5px rgba(0, 0, 0, 0.2);} .feature-card {background:#1e293b;border-radius:24px;border:1px solid rgba(255, 255, 255, 0.05);padding:24px;color:#f8fafc;transition:all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);} .feature-card:hover {transform:translateY(-8px) scale(1.02);box-shadow:0 25px 50px -12px rgba(0, 0, 0, 0.35);border-color:#84cc16;background:#0f172a;} .feature-card h3 {color:#ffffff !important;} .feature-card p {color:#94a3b8 !important;} .feature-card .text-gray-900 {color:#ffffff !important;} .feature-card .text-gray-500 {color:#94a3b8 !important;} .faq-answer {max-height:0;overflow:hidden;transition:max-height 0.3s ease;} .faq-answer.open {max-height:500px;} .timeline-line {position:absolute;left:24px;top:0;bottom:0;width:2px;background:linear-gradient(to bottom, #84cc16, #65a30d);} .mobile-menu {transform:translateX(100%);transition:transform 0.3s ease;} .mobile-menu.open {transform:translateX(0);} .booking-option-card.selected {border-color:#84cc16;background-color:#064e3b;} .km-package-card.selected {border-color:#84cc16;background-color:#064e3b;} #booking-form-global {transition:opacity 0.3s ease;} #booking-compact-bar {display:none;position:fixed;top:10px;left:16px;right:16px;z-index:100;background:#ffffff;box-shadow:0 10px 30px rgba(0,0,0,0.15);border-radius:50px;padding:6px 6px 6px 16px;cursor:pointer;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);opacity:0;transform:translateY(-20px);border:1px solid rgba(0, 0, 0, 0.05);} #booking-compact-bar.visible {display:flex;opacity:1;transform:translateY(0);align-items:center;justify-content:space-between;} #booking-compact-bar .compact-inner {display:flex;align-items:center;gap:10px;flex:1;overflow:hidden;margin-right:8px;} #booking-compact-bar .compact-text {display:flex;align-items:center;font-size:13px;font-weight:800;color:#1e293b;white-space:nowrap;gap:8px;} #booking-compact-bar .compact-divider {width:1px;height:14px;background:#e2e8f0;flex-shrink:0;} #booking-compact-bar .compact-icon {color:#84cc16;font-size:16px;flex-shrink:0;} #booking-compact-bar .compact-edit {font-size:11px;font-weight:900;color:#fff;background:#84cc16;padding:10px 18px;border-radius:30px;text-transform:uppercase;letter-spacing:0.5px;transition:background 0.2s;flex-shrink:0;} #booking-compact-bar .compact-edit:hover {background:#65a30d;} .toast-container {position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:8px;pointer-events:none;} .toast {pointer-events:auto;padding:14px 20px;border-radius:12px;box-shadow:0 8px 30px rgba(0,0,0,0.15);font-size:14px;font-weight:500;line-height:1.4;display:flex;align-items:flex-start;gap:10px;max-width:380px;min-width:280px;animation:toastIn 0.3s ease-out;transition:opacity 0.3s ease, transform 0.3s ease;} .toast.toast-error {background:#fef2f2;border:1px solid #fecaca;color:#991b1b;} .toast.toast-success {background:#f0fdf4;border:1px solid #bbf7d0;color:#166534;} .toast.toast-warning {background:#fffbeb;border:1px solid #fde68a;color:#92400e;} .toast.toast-info {background:#f0f9ff;border:1px solid #bae6fd;color:#075985;} .toast-icon {flex-shrink:0;font-size:16px;margin-top:1px;} .toast-close {flex-shrink:0;margin-left:auto;cursor:pointer;opacity:0.5;transition:opacity 0.2s;font-size:16px;background:none;border:none;color:inherit;padding:0;} .toast-close:hover {opacity:1;} @keyframes toastIn {from {opacity:0;transform:translateX(20px);} to {opacity:1;transform:translateX(0);}} .toast.toast-out {opacity:0;transform:translateX(20px);} body.booking-embed #main-nav, body.booking-embed #mobile-menu, body.booking-embed #seo-links-section, body.booking-embed #breadcrumb-section, body.booking-embed #site-footer, body.booking-embed #booking-compact-bar {display:none !important;} body.booking-embed #booking-form-global {position:relative !important;top:0 !important;padding-top:0 !important;} body.booking-embed #view-home > :not(#booking-form-global) {display:none !important;} body.booking-embed .booking-flow-logo {display:none !important;} body.booking-embed .booking-back-label {display:inline !important;} body.booking-embed #modal-extras {align-items:center !important;padding-top:0 !important;padding-bottom:0 !important;overflow:hidden !important;} body.booking-embed #modal-extras-card.driver-qty-modal #modal-extras-cancel, body.booking-embed #modal-extras-card.driver-qty-modal #modal-extras-confirm {height:30px !important;min-height:30px !important;max-height:30px !important;padding-top:0 !important;padding-bottom:0 !important;font-size:12px !important;line-height:1 !important;} body.booking-embed [id^="modal-"]:not(#modal-extras), body.booking-embed #loading-overlay {align-items:flex-start !important;overflow-y:auto;padding-top:40px !important;padding-bottom:16px !important;overflow-x:hidden !important;} @media (max-width:767px) {body.booking-embed #booking-form-wrapper > .max-w-7xl, body.booking-embed #view-results > .container, body.booking-embed #view-protection > .container, body.booking-embed #view-extras > .container, body.booking-embed #view-checkout > .container, body.booking-embed #view-results .sticky .max-w-7xl, body.booking-embed #view-protection .sticky .max-w-7xl, body.booking-embed #view-extras .sticky .max-w-7xl, body.booking-embed #view-checkout .sticky .max-w-7xl {max-width:100% !important;padding-left:0 !important;padding-right:0 !important;}} .vehicle-card-premium {background:#111827;border:2px solid #84cc16;border-radius:20px;transition:all 0.4s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:0 4px 20px -5px rgba(0, 0, 0, 0.5);color:#f8fafc;overflow:hidden;position:relative;} .vehicle-card-premium:hover {transform:translateY(-8px);box-shadow:0 40px 80px -20px rgba(0, 0, 0, 0.6), 0 0 20px -5px rgba(132, 204, 22, 0.2);border-color:#84cc16;background:#0f172a;} .vehicle-card-premium h3 {color:#ffffff !important;} .vehicle-card-premium .text-gray-900 {color:#ffffff !important;} .vehicle-card-premium .text-gray-600 {color:#e2e8f0 !important;} .vehicle-card-premium .text-gray-500 {color:#94a3b8 !important;} .vehicle-card-premium .text-gray-400 {color:#64748b !important;} .vehicle-card-premium .price-badge {background:#0f172a;border:1px solid rgba(255, 255, 255, 0.1);border-radius:16px;padding:16px;transition:all 0.3s ease;} .vehicle-card-premium:hover .price-badge {background:#020617;border-color:#84cc16;} .vehicle-card-premium .bg-slate-50 {background-color:rgba(255, 255, 255, 0.03) !important;} .trust-badge-mini {display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:rgba(132, 204, 22, 0.1);color:#65a30d;border-radius:6px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:0.025em;} .vehicle-card-premium.active-selection {border-color:#84cc16 !important;background:#0f172a;opacity:1 !important;filter:none !important;box-shadow:0 0 30px rgba(132, 204, 22, 0.2), 0 20px 50px rgba(0, 0, 0, 0.5);} .selection-caret {transition:all 0.3s ease-out;} :focus-visible {outline:2px solid #84cc16;outline-offset:2px;} button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible {outline:2px solid #84cc16;outline-offset:2px;} .skip-link {position:absolute;top:-40px;left:0;background:#1a1a2e;color:#fff;padding:8px 16px;z-index:100;font-size:14px;font-weight:600;transition:top 0.2s;} .skip-link:focus {top:0;}