/* Q8BY-only identity. Each token is editable in Website Colors. */
html body.booking-page {
    --booking-primary: var(--q8by-brand_accent, #ff7900);
    --booking-primary-dark: var(--q8by-brand_nav_text, #002878);
    --booking-canvas: var(--q8by-brand_page_bg, #fffaf5);
    --booking-border: var(--q8by-brand_border, #ffd5af);
    --booking-text: var(--q8by-brand_nav_text, #002878);
}
html body .booking-app-shell .page-header {
    background: var(--q8by-brand_summary_bg, #fff) !important;
    color: var(--q8by-brand_summary_text, #002878) !important;
    border: 1px solid var(--q8by-brand_border, #ffd5af) !important;
    border-top: 4px solid var(--q8by-brand_accent, #ff7900) !important;
}
html body .booking-app-shell .page-header h2,
html body .booking-app-shell .page-header #countdown-timer {
    color: var(--q8by-brand_summary_text, #002878) !important;
}
html body .booking-app-shell .session-timer {
    background: var(--q8by-brand_surface, #fff3e7) !important;
    border-color: var(--q8by-brand_border, #ffd5af) !important;
}
html body .booking-app-shell .card-header.bg-success {
    background: var(--q8by-brand_nav_text, #002878) !important;
    color: #fff !important;
}
html body .booking-app-shell .upgrade-banner {
    background: var(--q8by-brand_surface, #fff3e7) !important;
    border-color: var(--q8by-brand_border, #ffd5af) !important;
}
html body #booking-form button[name="submit_booking"],
html body button.mobile-booking-continue {
    background: var(--q8by-brand_action, #ff7900) !important;
    border-color: var(--q8by-brand_action, #ff7900) !important;
    color: var(--q8by-brand_action_text, #002878) !important;
}
html body #booking-form button[name="submit_booking"]:hover,
html body button.mobile-booking-continue:hover {
    background: var(--q8by-brand_action_hover, #e56800) !important;
}
html body { background-color: var(--q8by-brand_page_bg, #fffaf5) !important; }
html body nav.navbar {
    background: var(--q8by-brand_nav_bg, #fff) !important;
    border-bottom: 4px solid var(--q8by-brand_accent, #ff7900) !important;
    box-shadow: 0 4px 20px #00287812 !important;
}
html body .navbar .nav-link,
html body .navbar .navbar-brand,
html body .navbar .nav-link i {
    color: var(--q8by-brand_nav_text, #002878) !important;
    text-shadow: none !important;
}
html body .navbar .nav-link:hover,
html body .navbar .nav-link.active,
html body .navbar .nav-link:hover i,
html body .navbar .nav-link.active i { color: #a94900 !important; }
html body .navbar .nav-link::after { background: var(--q8by-brand_accent, #ff7900) !important; }
html body .search-tabs { background: var(--q8by-brand_surface, #fff3e7) !important; border-bottom-color: var(--q8by-brand_border, #ffd5af) !important; }
html body .search-tab.active {
    color: var(--q8by-brand_nav_text, #002878) !important;
    border-bottom-color: var(--q8by-brand_accent, #ff7900) !important;
    background: #fff !important;
}
html body .field-with-icon input,
html body .trip-date-alt-input { background: #fffdfb !important; border-color: var(--q8by-brand_border, #ffd5af) !important; }
html body .swap-btn {
    background: var(--q8by-brand_accent, #ff7900) !important;
    color: var(--q8by-brand_nav_text, #002878) !important;
    box-shadow: 0 4px 12px #ff790033 !important;
}
html body .card-header.bg-primary {
    background: var(--q8by-brand_filter_bg, #ff7900) !important;
    color: var(--q8by-brand_nav_text, #002878) !important;
    border-bottom: 3px solid var(--q8by-brand_accent, #ff7900) !important;
}
/* Checkout and confirmation use their own headings, not search-summary cards. */
html body .card-header.bg-info,
html body .gradient-header-info,
html body .mobile-checkout-summary__toggle {
    background: var(--q8by-brand_summary_bg, #fff) !important;
    color: var(--q8by-brand_summary_text, #002878) !important;
    border-color: var(--q8by-brand_border, #ffd5af) !important;
}
html body .gradient-header-primary {
    background: var(--q8by-brand_filter_bg, #ff7900) !important;
    color: var(--q8by-brand_nav_text, #002878) !important;
}
html body .payment-method-group,
html body .payment-card-label {
    border-color: var(--q8by-brand_border, #ffd5af) !important;
}
html body .payment-method-group--installments {
    background: var(--q8by-brand_surface, #fff3e7) !important;
}
html body .navbar-toggler { color: var(--q8by-brand_nav_text, #002878) !important; border-color: var(--q8by-brand_border, #ffd5af) !important; }
html body .navbar-toggler-icon {
    background-image: none !important;
    width: 22px;
    height: 17px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
}
html body .navbar-toggler-icon::before { content: ''; display: block; border-top: 2px solid currentColor; margin-top: 6px; }
html body .search-summary-card {
    background: var(--q8by-brand_summary_bg, #fff) !important;
    color: var(--q8by-brand_summary_text, #002878) !important;
    border: 1px solid var(--q8by-brand_border, #ffd5af) !important;
    border-inline-start: 6px solid var(--q8by-brand_accent, #ff7900) !important;
    box-shadow: 0 6px 24px #0028780d !important;
}
html body .search-summary-card .city-code,
html body .search-summary-card .city-name,
html body .search-summary-card .route-divider i,
html body .search-summary-card .meta-pill,
html body .search-summary-card .header-timer { color: var(--q8by-brand_summary_text, #002878) !important; }
html body .search-summary-card .route-line { background: var(--q8by-brand_border, #ffd5af) !important; }
html body .search-summary-card .meta-pill,
html body .search-summary-card .header-timer,
html body .trip-date-navigator,
html body .trip-date-shift {
    background: var(--q8by-brand_surface, #fff3e7) !important;
    border-color: var(--q8by-brand_border, #ffd5af) !important;
}
html body .search-summary-card .meta-pill.accent,
html body .header-timer .timer-countdown { color: #944400 !important; }
html body .search-summary-card .modify-search-btn {
    background: var(--q8by-brand_accent, #ff7900) !important;
    color: var(--q8by-brand_nav_text, #002878) !important;
    border-color: var(--q8by-brand_accent, #ff7900) !important;
}
html body .desktop-filter-sidebar .card-header,
html body .desktop-filter-sidebar .card-header h5 {
    color: var(--q8by-brand_nav_text, #002878) !important;
}
html body .filter-reset-all {
    color: var(--q8by-brand_nav_text, #002878) !important;
    border-color: var(--q8by-brand_nav_text, #002878) !important;
    background: #ffffff80 !important;
}
html body .results-plane-icon,
html body .sort-pill input:checked + label {
    background: var(--q8by-brand_accent, #ff7900) !important;
    border-color: var(--q8by-brand_accent, #ff7900) !important;
    color: var(--q8by-brand_nav_text, #002878) !important;
    box-shadow: 0 3px 12px #ff790026 !important;
}
html body .price-section-desktop,
html body .price-section {
    background: var(--q8by-brand_nav_text, #002878) !important;
    border-top: 3px solid var(--q8by-brand_accent, #ff7900) !important;
}
html body .alam-footer { border-top: 4px solid var(--q8by-brand_accent, #ff7900) !important; }
html body .alam-footer h5::after { background: var(--q8by-brand_accent, #ff7900) !important; }
@media (max-width: 991.98px) {
    html body .navbar-collapse { background: var(--q8by-brand_nav_bg, #fff) !important; }
    html body .drawer-header { background: var(--q8by-brand_surface, #fff3e7) !important; border-bottom-color: var(--q8by-brand_border, #ffd5af) !important; }
    html body .drawer-logo { filter: none !important; }
    html body .drawer-close { color: var(--q8by-brand_nav_text, #002878) !important; background: var(--q8by-brand_border, #ffd5af) !important; }
    html body .navbar-nav .nav-item.active .nav-link,
    html body .navbar-nav .nav-link.active { background: var(--q8by-brand_surface, #fff3e7) !important; }
}
html body .btn-primary,
html body .btn-search-gds,
html body .btn-book,
html body .btn-book-v2,
html body .select-flight,
html body #complete-payment-btn,
html body .mobile-payment-submit #complete-payment-btn,
html body #continue-booking button[type="submit"] {
    background: var(--q8by-brand_action, #ff7900) !important;
    border-color: var(--q8by-brand_action, #ff7900) !important;
    color: var(--q8by-brand_action_text, #002878) !important;
    --bs-btn-color: var(--q8by-brand_action_text, #002878);
    --bs-btn-bg: var(--q8by-brand_action, #ff7900);
    --bs-btn-border-color: var(--q8by-brand_action, #ff7900);
}
html body .btn-primary:hover,
html body .btn-search-gds:hover,
html body .btn-book:hover,
html body .btn-book-v2:hover,
html body .select-flight:hover,
html body #complete-payment-btn:hover,
html body .mobile-payment-submit #complete-payment-btn:hover,
html body #continue-booking button[type="submit"]:hover {
    background: var(--q8by-brand_action_hover, #e56800) !important;
    border-color: var(--q8by-brand_action_hover, #e56800) !important;
}
html body .btn-primary:focus-visible,
html body .btn-search-gds:focus-visible,
html body .btn-book:focus-visible,
html body .btn-book-v2:focus-visible,
html body .select-flight:focus-visible,
html body #complete-payment-btn:focus-visible {
    outline: 3px solid #002878;
    outline-offset: 3px;
}
