/*
 * XPRS Hotelier — dark appearance refinements.
 *
 * Everything else is token-driven, so this file only corrects the places where
 * a light-first treatment (flat surfaces, hairline weight, media contrast)
 * needs a different value once the page is dark.
 */

[data-xh-scheme="dark"] {
  color-scheme: dark;
}

/* --------------------------------------------------------------- Chrome */
[data-xh-scheme="dark"] .xh-utility {
  background: #0d0c0b;
  color: color-mix(in srgb, var(--xh-color-ink) 72%, var(--xh-color-surface));
  border-bottom-color: color-mix(in srgb, var(--xh-color-ink) 14%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-header:not([data-xh-transparent="true"]),
[data-xh-scheme="dark"] .xh-header[data-xh-condensed="true"] {
  background: color-mix(in srgb, var(--xh-color-surface) 88%, #000);
  border-bottom-color: color-mix(in srgb, var(--xh-color-ink) 18%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-mega,
[data-xh-scheme="dark"] .xh-drawer,
[data-xh-scheme="dark"] .xh-switcher__list,
[data-xh-scheme="dark"] .xh-nav ul ul {
  background-color: color-mix(in srgb, var(--xh-color-surface) 92%, #fff 2%);
  box-shadow: 0 30px 80px -40px rgba(0, 0, 0, 0.9);
}

/* ---------------------------------------------------------- Surfaces */
[data-xh-scheme="dark"] .xh-section--alt {
  background: color-mix(in srgb, var(--xh-color-surface) 86%, #fff 3%);
}

[data-xh-scheme="dark"] .xh-card,
[data-xh-scheme="dark"] .xh-panel,
[data-xh-scheme="dark"] .xh-rate-rail,
[data-xh-scheme="dark"] .xh-search,
[data-xh-scheme="dark"] .xh-empty,
[data-xh-scheme="dark"] .xh-filters {
  background: color-mix(in srgb, var(--xh-color-surface) 84%, #fff 4%);
  border-color: color-mix(in srgb, var(--xh-color-ink) 20%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-card__body { color: var(--xh-color-ink); }
[data-xh-scheme="dark"] .xh-card__excerpt,
[data-xh-scheme="dark"] .xh-card__meta,
[data-xh-scheme="dark"] .xh-meta-list dt,
[data-xh-scheme="dark"] .xh-section-heading__lead {
  color: color-mix(in srgb, var(--xh-color-ink) 70%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-chip {
  border-color: color-mix(in srgb, var(--xh-color-ink) 26%, var(--xh-color-surface));
  color: color-mix(in srgb, var(--xh-color-ink) 82%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-archive-head,
[data-xh-scheme="dark"] .xh-post-nav,
[data-xh-scheme="dark"] .xh-propnav,
[data-xh-scheme="dark"] .xh-card__footer {
  border-color: color-mix(in srgb, var(--xh-color-ink) 20%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-archive-head__lead,
[data-xh-scheme="dark"] .xh-filter-summary,
[data-xh-scheme="dark"] .xh-results-note,
[data-xh-scheme="dark"] .xh-article-meta {
  color: color-mix(in srgb, var(--xh-color-ink) 72%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-card__media--empty {
  background: color-mix(in srgb, var(--xh-color-surface) 72%, #000);
}

/* ------------------------------------------------------------- Forms */
[data-xh-scheme="dark"] .xh-input,
[data-xh-scheme="dark"] .xh-select,
[data-xh-scheme="dark"] .xh-textarea {
  background: color-mix(in srgb, var(--xh-color-surface) 78%, #000);
  color: var(--xh-color-ink);
  border-color: color-mix(in srgb, var(--xh-color-ink) 24%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-input::placeholder,
[data-xh-scheme="dark"] .xh-textarea::placeholder {
  color: color-mix(in srgb, var(--xh-color-ink) 46%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-engine input:-webkit-autofill,
[data-xh-scheme="dark"] .xh-engine textarea:-webkit-autofill,
[data-xh-scheme="dark"] .xh-engine select:-webkit-autofill {
  -webkit-text-fill-color: var(--xh-color-ink);
  caret-color: var(--xh-color-ink);
  box-shadow: 0 0 0 1000px color-mix(in srgb, var(--xh-color-surface) 78%, #000) inset;
}

[data-xh-scheme="dark"] .xh-select {
  /* Native arrow needs the dark form control hint. */
  color-scheme: dark;
}

[data-xh-scheme="dark"] .xh-calendar,
[data-xh-scheme="dark"] .xh-popover {
  background: color-mix(in srgb, var(--xh-color-surface) 82%, #fff 3%);
  border-color: color-mix(in srgb, var(--xh-color-ink) 22%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-calendar__day:hover,
[data-xh-scheme="dark"] .xh-calendar__day[aria-pressed="true"] {
  background: var(--xh-color-accent);
  color: var(--xh-color-on-accent);
}

/* -------------------------------------------------------------- Buttons */
[data-xh-scheme="dark"] .xh-btn--primary {
  --xh-btn-bg: var(--xh-color-ink);
  --xh-btn-fg: #14120e;
  --xh-btn-border: var(--xh-color-ink);
}

[data-xh-scheme="dark"] .xh-btn--primary:hover {
  --xh-btn-bg: var(--xh-color-accent);
  --xh-btn-fg: var(--xh-color-on-accent);
  --xh-btn-border: var(--xh-color-accent);
}

[data-xh-scheme="dark"] .xh-btn--ghost {
  --xh-btn-border: color-mix(in srgb, var(--xh-color-ink) 32%, var(--xh-color-surface));
  --xh-btn-fg: var(--xh-color-ink);
}

/* --------------------------------------------------------------- Media */
[data-xh-scheme="dark"] .xh-card__media img,
[data-xh-scheme="dark"] .xh-gallery__item img {
  filter: brightness(0.92) saturate(0.96);
}

[data-xh-scheme="dark"] .xh-hero__media img,
[data-xh-scheme="dark"] .xh-hero__media video {
  filter: brightness(0.82) saturate(0.95);
}

/* --------------------------------------------------------------- Footer */
[data-xh-scheme="dark"] .xh-footer {
  background: #0b0a09;
  color: color-mix(in srgb, var(--xh-color-ink) 88%, var(--xh-color-surface));
  border-top-color: color-mix(in srgb, var(--xh-color-ink) 16%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-footer a { color: inherit; }
[data-xh-scheme="dark"] .xh-footer a:hover { color: var(--xh-color-accent); }

[data-xh-scheme="dark"] .xh-bookbar,
[data-xh-scheme="dark"] .xh-sticky-bar {
  background: color-mix(in srgb, var(--xh-color-surface) 86%, #000);
  border-top-color: color-mix(in srgb, var(--xh-color-ink) 18%, var(--xh-color-surface));
}

/* ------------------------------------------------------ Booking engine */
[data-xh-scheme="dark"] .xh-basket,
[data-xh-scheme="dark"] .xh-summary,
[data-xh-scheme="dark"] .xh-pay {
  background: color-mix(in srgb, var(--xh-color-surface) 86%, #fff 3%);
  border-color: var(--xh-color-line);
  color: var(--xh-color-ink);
}

[data-xh-scheme="dark"] .xh-plan.is-chosen {
  background: color-mix(in srgb, var(--xh-color-accent) 12%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] .xh-notice,
[data-xh-scheme="dark"] .xh-basket__notice {
  background: color-mix(in srgb, var(--xh-color-accent) 10%, var(--xh-color-surface));
  border-color: color-mix(in srgb, var(--xh-color-accent) 46%, var(--xh-color-surface));
  color: var(--xh-color-ink);
}

[data-xh-scheme="dark"] .xh-stepper {
  background: color-mix(in srgb, var(--xh-color-surface) 80%, #000);
  border-color: var(--xh-color-line-strong);
}

[data-xh-scheme="dark"] .xh-stepper__btn:hover,
[data-xh-scheme="dark"] .xh-stepper__btn:focus-visible {
  background: var(--xh-color-surface-2);
}

[data-xh-scheme="dark"] .xh-room-offer__count {
  background: color-mix(in srgb, var(--xh-color-surface) 88%, #000);
  border-color: var(--xh-color-line-strong);
  color: var(--xh-color-ink);
}

[data-xh-scheme="dark"] .xh-bookbar--basket .xh-bookbar__basket {
  --xh-btn-bg: var(--xh-color-accent);
  --xh-btn-fg: var(--xh-color-on-accent);
  --xh-btn-border: var(--xh-color-accent);
}

/* ------------------------------------------------------------ Editorial */
[data-xh-scheme="dark"] .xh-prose blockquote,
[data-xh-scheme="dark"] .xh-quote {
  border-color: color-mix(in srgb, var(--xh-color-ink) 24%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] hr,
[data-xh-scheme="dark"] .xh-hairline {
  border-color: color-mix(in srgb, var(--xh-color-ink) 18%, var(--xh-color-surface));
}

[data-xh-scheme="dark"] table th,
[data-xh-scheme="dark"] table td {
  border-color: color-mix(in srgb, var(--xh-color-ink) 20%, var(--xh-color-surface));
}
