/* Enhanced high contrast — manual (data-high-contrast) + OS forced-colors */

html[data-high-contrast='true'] {
  color-scheme: light;
  --bg: #ffffff;
  --surface: #ffffff;
  --surface-solid: #ffffff;
  --surface-soft: #f0f0f0;
  --ink: #000000;
  --ink-soft: #0a0a0a;
  --muted: #1a1a1a;
  --line: #000000;
  --line-strong: #000000;
  --blue: #003d99;
  --blue-strong: #002966;
  --green: #0a4d24;
  --red: #7a0000;
  --shadow-lg: none;
  --shadow-md: none;
  --shadow-sm: none;
  --hc-focus: #003d99;
  --hc-link: #0000c8;
}

html[data-theme='dark'][data-high-contrast='true'] {
  color-scheme: dark;
  --bg: #000000;
  --surface: #000000;
  --surface-solid: #000000;
  --surface-soft: #0d0d0d;
  --ink: #ffffff;
  --ink-soft: #f5f5f5;
  --muted: #e8e8e8;
  --line: #ffffff;
  --line-strong: #ffffff;
  --blue: #9ed0ff;
  --blue-strong: #c8e4ff;
  --green: #8dffb8;
  --red: #ffb8b0;
  --hc-focus: #9ed0ff;
  --hc-link: #9ecbff;
}

html[data-high-contrast='true'] body {
  background: var(--bg) !important;
  color: var(--ink);
}

html[data-high-contrast='true'] .glass,
html[data-high-contrast='true'] .site-header,
html[data-high-contrast='true'] .panel,
html[data-high-contrast='true'] .hero-panel,
html[data-high-contrast='true'] .hero-surface,
html[data-high-contrast='true'] .result-card,
html[data-high-contrast='true'] .notifications-panel,
html[data-high-contrast='true'] .notifications-backdrop,
html[data-high-contrast='true'] .view-settings .settings-region-card,
html[data-high-contrast='true'] .view-settings .settings-row-panel,
html[data-high-contrast='true'] .route-price-graph-card,
html[data-high-contrast='true'] .home-insight-empty,
html[data-high-contrast='true'] .booking-ticket-tile,
html[data-high-contrast='true'] .booking-section-panel,
html[data-high-contrast='true'] .duffel-checkout-card,
html[data-high-contrast='true'] .duffel-contact-card,
html[data-high-contrast='true'] .duffel-summary-card,
html[data-high-contrast='true'] .duffel-passenger-section,
html[data-high-contrast='true'] .duffel-payment-card,
html[data-high-contrast='true'] .itinerary-sheet,
html[data-high-contrast='true'] .search-filter-bar,
html[data-high-contrast='true'] .results-filter-bar,
html[data-high-contrast='true'] .alert-card,
html[data-high-contrast='true'] .app-boot-overlay-card {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  background: var(--surface-solid) !important;
  border: 2px solid var(--line-strong) !important;
  box-shadow: none !important;
  color: var(--ink);
}

html[data-high-contrast='true'] .primary,
html[data-high-contrast='true'] .secondary,
html[data-high-contrast='true'] .ghost,
html[data-high-contrast='true'] .cta-pill,
html[data-high-contrast='true'] .nav-link,
html[data-high-contrast='true'] .settings-tab,
html[data-high-contrast='true'] .settings-theme-pill,
html[data-high-contrast='true'] .pill,
html[data-high-contrast='true'] .badge,
html[data-high-contrast='true'] .field input,
html[data-high-contrast='true'] .field select,
html[data-high-contrast='true'] .field textarea,
html[data-high-contrast='true'] .checkout-phone-national,
html[data-high-contrast='true'] .checkout-phone-country-trigger,
html[data-high-contrast='true'] .checkout-date-input,
html[data-high-contrast='true'] .date-field,
html[data-high-contrast='true'] .suggestion,
html[data-high-contrast='true'] .quick-route-chip,
html[data-high-contrast='true'] .route-command-card,
html[data-high-contrast='true'] .deal-radar-card,
html[data-high-contrast='true'] .theme-toggle-track {
  border: 2px solid var(--line-strong) !important;
  box-shadow: none !important;
}

html[data-high-contrast='true'] .primary,
html[data-high-contrast='true'] .cta-pill {
  background: var(--ink) !important;
  color: var(--bg) !important;
}

html[data-theme='dark'][data-high-contrast='true'] .primary,
html[data-theme='dark'][data-high-contrast='true'] .cta-pill {
  background: var(--ink) !important;
  color: var(--bg) !important;
}

html[data-high-contrast='true'] .secondary,
html[data-high-contrast='true'] .ghost {
  background: var(--surface-solid) !important;
  color: var(--ink) !important;
}

html[data-high-contrast='true'] .caption,
html[data-high-contrast='true'] .settings-panel-eyebrow,
html[data-high-contrast='true'] .result-price-caption,
html[data-high-contrast='true'] .muted-label {
  color: var(--muted) !important;
  opacity: 1 !important;
}

html[data-high-contrast='true']
  a:not(.primary):not(.secondary):not(.ghost):not(.nav-link) {
  color: var(--hc-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}

html[data-high-contrast='true'] .nav-link.active {
  outline: 3px solid var(--hc-focus);
  outline-offset: 2px;
}

html[data-high-contrast='true'] .view-search .results-kpi-sort.active {
  background: var(--blue) !important;
  border: 2px solid var(--ink) !important;
  box-shadow: none !important;
}

html[data-high-contrast='true'] .view-search .results-kpi-sort.active span,
html[data-high-contrast='true'] .view-search .results-kpi-sort.active strong {
  color: #ffffff !important;
}

html[data-high-contrast='true'] :focus-visible {
  outline: 3px solid var(--hc-focus) !important;
  outline-offset: 2px;
}

html[data-high-contrast='true'] .suggestion:hover,
html[data-high-contrast='true'] .suggestion.active {
  background: var(--surface-soft) !important;
  outline: 2px solid var(--hc-focus);
}

html[data-high-contrast='true'] .bg-grid,
html[data-high-contrast='true'] .bg-orb {
  opacity: 0.04 !important;
}

html[data-high-contrast='true'] .result-card::before,
html[data-high-contrast='true'] .result-card::after,
html[data-high-contrast='true'] .hero-panel::before {
  display: none !important;
}

html[data-high-contrast='true'] .route-price-graph-chart {
  border: 2px solid var(--line-strong) !important;
  background: var(--surface-solid) !important;
}

html[data-high-contrast='true'] input:disabled,
html[data-high-contrast='true'] button:disabled,
html[data-high-contrast='true'] select:disabled {
  opacity: 0.55;
  border-style: dashed !important;
}

html[data-high-contrast='true'] .error,
html[data-high-contrast='true'] .tone-error,
html[data-high-contrast='true'] .hifi-composer-status--error {
  color: var(--red) !important;
  font-weight: 700;
}

html[data-high-contrast='true'] .tone-live,
html[data-high-contrast='true'] .hifi-composer-status--live {
  color: var(--green) !important;
  font-weight: 700;
}

/* Windows / OS high contrast (Forced Colors) */
@media (forced-colors: active) {
  :root {
    color-scheme: light dark;
  }

  body {
    background: Canvas !important;
    color: CanvasText !important;
  }

  .glass,
  .panel,
  .site-header,
  .hero-panel,
  .result-card,
  .notifications-panel,
  .field input,
  .field select,
  .field textarea,
  .duffel-checkout-card,
  .duffel-payment-card,
  .booking-ticket-tile,
  .view-hifi .hifi-studio,
  .view-hifi .hifi-chat-bubble,
  .view-hifi .hifi-event-card {
    background: Canvas !important;
    color: CanvasText !important;
    border: 1px solid CanvasText !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
  }

  .primary,
  .cta-pill {
    background: ButtonFace !important;
    color: ButtonText !important;
    border: 2px solid ButtonText !important;
  }

  a,
  .nav-link {
    color: LinkText !important;
  }

  :focus-visible {
    outline: 3px solid Highlight !important;
    outline-offset: 2px;
  }

  .bg-grid,
  .bg-orb {
    display: none !important;
  }
}
