/* Theme icon sits in the main header on desktop and mobile. */
.header-actions { display:flex; align-items:center; justify-content:flex-end; gap:12px; }
.site-header__inner { grid-template-columns:225px minmax(0,1fr) 235px; }
.theme-toggle { display:grid; place-items:center; width:38px; height:38px; flex-shrink:0; padding:8px; border:1px solid #ccd8e4; border-radius:50%; background:#f0f5fa; color:#183c5d; }
.theme-toggle svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.theme-toggle svg[hidden] { display:none; }
.theme-toggle:hover { background:#e3eff9; }
.theme-toggle:focus-visible { outline:2px solid #087fbd; outline-offset:3px; }
html[data-theme=dark] .theme-toggle { background:#20344c; border-color:#42617c; color:#ffd16c; }
html[data-theme=dark] .theme-toggle:hover { background:#2d4661; }
html[data-theme=dark] { --ink:#e4edf7; --muted:#a9bace; --line:#2c4058; --surface:#091727; --shadow-sm:0 8px 24px #00000024; --shadow-md:0 18px 45px #00000030; }
html[data-theme=dark] body { background:#091727; color:#e4edf7; }
html[data-theme=dark] :is(.site-header,.main-navigation,.booking-panel,.search-grid,.search-field,.flight-card,.flight-filter-panel,.flight-sort-bar,.flight-sort-bar button,.flight-filter-empty,.airport-options,.destination-card,.hotel-result-card,.package-card,.content-card,.contact-card,.form-card,.faq-item,.cookie-consent-modal,.cookie-consent-banner) { background:#122338; color:#e4edf7; border-color:#2c4058; }
html[data-theme=dark] :is(.page-surface,.enterprise-services,.enterprise-destinations,.airline-enterprise,.section-space-small) { background:#091727; }
html[data-theme=dark] :is(.main-navigation a,.brand-link__text strong,.brand-link__text span,.flight-airline h3,.flight-endpoint strong,.flight-endpoint b,.flight-amount,.flight-filter-title h3,.flight-filter-panel legend,.flight-sort-bar strong,.flight-details h4,.flight-details h5,.large-heading,.section-heading h2,.flight-results-heading h2) { color:#e4edf7; }
html[data-theme=dark] :is(.search-field input,.search-field select,.flight-filter-panel select,textarea,.form-control,.form-select) { background:#192e46; border-color:#38506b; color:#edf4fc; }
html[data-theme=dark] :is(.search-field > span:first-child,.flight-airline > div > span,.flight-filter-panel small,.flight-sort-bar span,.flight-match-count,.flight-results-heading p,.flight-results-heading p span,.flight-muted,.airport-option small,.airport-message,.flight-source,.flight-fare > span,.flight-detail-hint,.flight-endpoint > span) { color:#adc0d5; }
html[data-theme=dark] :is(.flight-card-top,.flight-filter-panel fieldset,.flight-details,.flight-inclusions,.airport-option,.flight-sort-bar button,.flight-baggage-table th,.flight-baggage-table td) { border-color:#2c4058; }
html[data-theme=dark] :is(.flight-inclusions,.flight-details-content,.flight-baggage-table th,.flight-source strong,.flight-trip-types,.airline-strip--enterprise) { background:#172b42; color:#dce9f7; }
html[data-theme=dark] .flight-sort-bar button[aria-pressed=true],html[data-theme=dark] .airport-option[aria-selected=true],html[data-theme=dark] .airport-option:hover { background:#214362; color:#fff; }
html[data-theme=dark] .flight-fare { background:#102035; border-color:#2c4058; }
html[data-theme=dark] .flight-direct { color:#73ddb1; }
html[data-theme=dark] .flight-filter-title button { color:#78caff; }
html[data-theme=dark] .alert-info { background:#18354e; color:#d7edff; border-color:#315b7b; }

html[data-theme=dark] .airline-mark { background:#fff; }
html[data-theme=dark] a:focus-visible,html[data-theme=dark] button:focus-visible { outline-color:#ffc447; }

/* Dark surfaces and typography: avoid dark-on-dark headings and nested fields. */
html[data-theme=dark] :is(.enterprise-section-heading h2,.airline-enterprise__heading h2,.about-copy h2,.contact-details h2,.contact-social h3,.info-card h3,.prose-card h2,.prose-card h3,.result-main h3,.hotel-result-card h3,.package-card h3,.policy-card h2,.policy-card h3,.cookie-consent__copy h2,.flight-result-provider strong) { color:#eff5fc; }
html[data-theme=dark] :is(.enterprise-section-heading p,.about-copy p,.prose-card p,.policy-card p,.contact-details p,.destination-card p) { color:#b9cadd; }
html[data-theme=dark] :is(.info-card,.contact-details,.prose-card,.policy-card,.travel-result,.faq-list details,.pay-rules > div,.cookie-consent,.cookie-consent__panel) { background:#14263b; color:#e4edf7; border-color:#31475f; }
html[data-theme=dark] .main-navigation a.active { background:#ffcf70; color:#132338; }
html[data-theme=dark] .main-navigation a:hover { background:#233c55; color:#fff; }
html[data-theme=dark] .main-navigation a.active:hover { background:#ffda8c; color:#132338; }
html[data-theme=dark] .booking-shell--enterprise { border-color:#334e68; background:#122338; }
html[data-theme=dark] .booking-shell--enterprise :is(.booking-tabs,.booking-panel,.search-grid,.search-field,.flight-search-actions,.flight-trip-types,.multi-city-segment) { background:#122338; border-color:#31475f; }
html[data-theme=dark] .booking-shell--enterprise .booking-tab { color:#b9cadd; background:transparent; }
html[data-theme=dark] .booking-shell--enterprise .booking-tab.active { background:#1f3852; color:#8ad5ff; }
html[data-theme=dark] .booking-shell--enterprise .search-control-with-icon,
html[data-theme=dark] .booking-shell--enterprise .search-field > input,
html[data-theme=dark] .booking-shell--enterprise .search-field select { background:#1b3048; border:1px solid #405a75; color:#eef5fc; box-shadow:none; }
html[data-theme=dark] .booking-shell--enterprise .search-control-with-icon input { background:transparent; border:0; color:#eef5fc; padding:0; box-shadow:none; }
html[data-theme=dark] .booking-shell--enterprise .search-field input::placeholder { color:#b2c4d8; opacity:1; }
html[data-theme=dark] .booking-shell--enterprise .search-field > span:first-child { color:#b9cadd; }
html[data-theme=dark] .booking-shell--enterprise .flight-trip-type { background:transparent; color:#c5d4e5; border-color:transparent; }
html[data-theme=dark] .booking-shell--enterprise .flight-trip-type.active { background:#254866; border-color:#5189ad; color:#b4e5ff; }
html[data-theme=dark] .booking-shell--enterprise .flight-trip-type:hover { background:#25415c; color:#e8f4ff; }
html[data-theme=dark] .flight-swap-button { background:#1b3048; border:1px solid #405a75; color:#8ad5ff; }
html[data-theme=dark] .flight-swap-button:hover { background:#284660; }
html[data-theme=dark] .flight-details summary { color:#9bd8ff; }
html[data-theme=dark] .flight-details[open] summary { background:#213a54; }
html[data-theme=dark] .flight-inclusions small { color:#b2c4d8; }
html[data-theme=dark] .flight-route-middle > span,html[data-theme=dark] .flight-route-middle small { color:#b2c4d8; }
html[data-theme=dark] .flight-data-credit { color:#a9bdd2; }
@media(max-width:1100px) and (min-width:992px) { .site-header__inner { grid-template-columns:200px minmax(0,1fr) 205px; gap:10px; } .header-actions { gap:7px; } .theme-toggle { width:34px; height:34px; } }
@media(max-width:991px) { .site-header__inner { grid-template-columns:minmax(0,1fr) auto auto; gap:12px; } .brand-link { grid-column:1; grid-row:1; } .header-actions { grid-column:2; grid-row:1; } .mobile-menu-button { grid-column:3; grid-row:1; } .header-actions .header-pay-cta { display:none; } }
@media(max-width:575px) { .site-header__inner { gap:9px; } .theme-toggle { width:34px; height:34px; padding:7px; } }

html[data-theme=dark] :is(.faq-list summary,.policy-notice strong,.policy-contact strong,.cookie-consent__tabs button,.cookie-consent__category-title) { color:#e4edf7; }
html[data-theme=dark] .eyebrow--dark { color:#edba55; }

/* Tours menu: eight public links must fit at smaller desktop widths.
   No changes to booking tabs, payment buttons or mobile-menu behavior. */
@media (min-width: 993px) and (max-width: 1199px) {
    .site-header__inner { grid-template-columns: 210px minmax(0,1fr) 174px; gap: 8px; }
    .main-navigation { gap: 0; }
    .main-navigation a { padding-inline: 6px; font-size: .69rem; }
    .header-pay-cta { padding-inline: 8px; }
}
