/* Qualoo Stays product tokens shared by landing, search, map, property, and checkout. */
:root {
  --stays-signal: var(--qualoo-action-primary, #2F80ED);
  --stays-signal-hover: var(--qualoo-action-primary-hover, #1D4ED8);
  --stays-signal-soft: #ebf3fd;
  --stays-evidence: #10b981;
  --stays-evidence-deep: #047857;
  --stays-rating: #f59e0b;
  --stays-danger: #ef4444;
  --stays-chrome: #121212;
  --stays-dark-panel: #1e1e1e;
  --stays-dark-panel-raised: #1e1e1e;
  --stays-canvas: #f6f7fb;
  --stays-surface: #ffffff;
  --stays-ink: #14132e;
  --stays-ink-muted: #4b5563;
  --stays-night-text: #e3e3e3;
  --stays-night-muted: #a0a0a0;
  --stays-border: #d8e0ea;
  --stays-border-soft: #e6edf5;
  --stays-focus-ring: rgba(47, 128, 237, .34);
  --stays-radius-control: 12px;
  --stays-radius-card: 16px;
  --stays-radius-elevated: 24px;
  --stays-touch-target: 44px;
  --stays-ease-out: cubic-bezier(.16, 1, .3, 1);
}

*, *::before, *::after { box-sizing: border-box; }
:where(button, a, input, select, textarea):focus-visible { outline: 3px solid var(--stays-focus-ring); outline-offset: 2px; }

/* Keep store download badges out of Stays navigation chrome. */
.nav-global a[href*="apps.apple.com"],
.nav-global a[href*="play.google.com"] { display: none !important; }
:where(button, input, select, textarea) { font: inherit; }

/* Destination autocomplete follows the active theme rather than opening as a
   bright island above the dark search bar. */
html[data-theme="dark"] .qualoo-ac-list {
  background: #1e1e1e;
  border-color: #2d2d2d;
  box-shadow: 0 20px 44px rgba(0, 0, 0, .42);
}

html[data-theme="dark"] .qualoo-ac-option { color: #e3e3e3; }
html[data-theme="dark"] .qualoo-ac-option:hover,
html[data-theme="dark"] .qualoo-ac-option.is-active { background: #262626; }
html[data-theme="dark"] .qualoo-ac-label { color: #e3e3e3; }
html[data-theme="dark"] .qualoo-ac-meta { color: #a0a0a0; }
.stays-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

@media (pointer: coarse) {
  :where(button, [role="button"], input:not([type="checkbox"]):not([type="radio"]), select) { min-height: var(--stays-touch-target); }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
