/* Desktop day / night. The mobile UI keeps its own production palette. */
.city-theme-control {
  display: inline-flex; flex-direction: column; align-items: stretch;
  border: 1px solid var(--line-strong); border-radius: 999px;
  background: var(--surface); color: var(--ink); cursor: pointer;
}
.city-theme-control.is-open { position: fixed; z-index: 80; }
.city-theme-trigger {
  display: inline-flex; align-items: center; justify-content: space-between; gap: 8px;
  min-height: 44px; padding: 0 14px; color: inherit;
  font-size: 13px; font-weight: 600; letter-spacing: .02em; white-space: nowrap;
}
.city-theme-trigger::after {
  content: ""; width: 6px; height: 6px; margin-top: -2px;
  border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
  transform: rotate(45deg); opacity: .5;
}
.city-theme-control.is-open .city-theme-trigger::after { margin-top: 2px; transform: rotate(-135deg); }
.city-theme-menu { padding: 0 4px 10px; }
.city-theme-menu[hidden] { display: none; }
.city-theme-option {
  display: block; width: 100%; min-height: 36px; padding: 0 10px;
  border-radius: 999px; color: inherit; font-size: 13px; font-weight: 600; text-align: left;
}
.city-theme-option:hover,
.city-theme-option:focus-visible { background: var(--yellow-soft); }
.city-theme-option[aria-selected="true"] { background: var(--ink); color: var(--paper); }
.city-theme-option[aria-selected="true"]:hover,
.city-theme-option[aria-selected="true"]:focus-visible { background: var(--ink); color: var(--paper); }
html[data-ui="desktop"] .header.is-light .city-theme-control {
  border-color: var(--hero-line); background: rgba(255, 255, 255, .5); color: var(--hero-ink);
}
.hx-map-credit { display: block; width: fit-content; margin-left: auto; min-height: 44px; padding: 14px 0; font-size: 10px; opacity: .75; text-underline-offset: 3px; }
.hx-map-credit:hover { opacity: 1; text-decoration: underline; }
.hx-explore { position: absolute; z-index: 4; inset: 96px 16px 135px auto; top: 0; pointer-events: none; }
.hx-explore:focus-visible { outline: 1px solid var(--hero-coral); outline-offset: -4px; }
.hx-place-target { position: absolute; width: 44px; height: 44px; transform: translate(-50%,-50%); border: 0; border-radius: 50%; padding: 0; background: transparent; pointer-events: auto; cursor: crosshair; }
.hx-place-target::after { content: ''; position: absolute; inset: 20px; border-radius: 50%; background: var(--hero-ink); opacity: .4; }
.hx-place-target.is-active::after { opacity: .68; background: var(--hero-ink); }
.hx-place-target:focus-visible { outline: 1px solid var(--hero-coral); background: #ed986920; }
.hx-place-label {
  position: absolute; z-index: 6; left: 0; top: 0; pointer-events: none;
  width: max-content; max-width: 310px; padding: 0;
  color: rgba(32,63,75,.72); background: transparent;
  border: 0; border-radius: 0; box-shadow: none;
  opacity: 0; visibility: hidden; filter: blur(.5px);
  transition: opacity 850ms cubic-bezier(.35,0,.65,1), filter 850ms ease, visibility 0s linear 850ms;
  will-change: opacity, filter;
}
.hx-place-label.is-visible {
  opacity: 1; visibility: visible; filter: blur(0);
  transition: opacity 280ms cubic-bezier(.2,.65,.25,1), filter 350ms ease, visibility 0s;
}
.hx-place-label strong {
  display: block; font-size: 13px; font-weight: 500; line-height: 1.45;
  letter-spacing: .025em; text-shadow: 0 1px 2px #fffef9, 0 0 10px #fffef9;
}
.is-dragging,.is-dragging * { cursor: grabbing !important; user-select: none; }
.hx-place-target[hidden],.hx-place-label[hidden] { display: none; }
html[data-ui="desktop"][data-city-theme="night"] .hx-place-label { color: rgba(226,240,234,.76); }
html[data-ui="desktop"][data-city-theme="night"] .hx-place-label strong { text-shadow: 0 1px 3px #06191d, 0 0 12px #06191d; }
@media (prefers-reduced-motion: reduce) {
  .hx-place-label,.hx-place-label.is-visible { transition: none; filter: none; }
}
html[data-ui="desktop"] .header-actions { gap: 10px; }
@media (max-width: 1180px) {
  html[data-ui="desktop"] .desktop-nav a { padding: 0 10px; font-size: 13px; }
  html[data-ui="desktop"] .header-account { padding: 0 16px; }
  .city-theme-trigger { padding: 0 12px; }
}
@media (max-width: 950px) {
  html[data-ui="desktop"] .header-inner { width: calc(100% - 36px); }
  html[data-ui="desktop"] .brand-word strong { font-size: 17px; }
  html[data-ui="desktop"] .brand-word small { display: none; }
  html[data-ui="desktop"] .desktop-nav a { padding: 0 7px; font-size: 12px; }
  html[data-ui="desktop"] .header-actions { gap: 6px; }
}
html[data-ui="desktop"][data-city-theme="night"] {
  color-scheme: dark;
  --paper: #0b1e24; --paper-2: #19343b; --surface: #142b32;
  --ink: #eef4ee; --ink-2: #c7d9d7; --muted: #a0b6b7; --faint: #80999d;
  --line: #c7e5e51c; --line-strong: #c7e5e539;
  --lake: #99d5ce; --lake-soft: #213f43; --mist: #203a40;
  --sun: #ef936a; --sun-deep: #ffc49a; --sun-soft: #483129;
  --yellow: #3b3c2b; --yellow-soft: #30362b; --mint: #213d38;
  --lilac: #343646; --sand: #34392f;
  --hero-mist: #07181c; --hero-ink: #f4f1e8; --hero-muted: #b9cecb;
  --hero-coral: #ffb489; --hero-line: rgba(188,224,218,.25);
}
html[data-ui="desktop"][data-city-theme="night"] body::before { background: none; }
html[data-ui="desktop"][data-city-theme="night"] .hx {
  background: radial-gradient(70% 80% at 68% 44%, #10393e, transparent 70%), #06191d;
}
html[data-ui="desktop"][data-city-theme="night"] .hx-map::after {
  background: linear-gradient(90deg, #06191d 0%, rgba(6,25,29,.85) 27%, transparent 52%),
    linear-gradient(180deg, rgba(6,25,29,.7), transparent 18%),
    linear-gradient(0deg, #0b1e24, transparent 18%);
}
html[data-ui="desktop"][data-city-theme="night"] .hx-seg.hl .hx-u {
  background-image: linear-gradient(100deg, #ffe2c6, #ffa577 46%, #ff6640);
}
html[data-ui="desktop"][data-city-theme="night"] .hx-ring ellipse { stroke: #ff895d; }
html[data-ui="desktop"][data-city-theme="night"] .hx-btn-sun {
  background: linear-gradient(135deg,#c6512b,#aa3e23); color: #fff;
  box-shadow: 0 18px 40px -16px #e4572e88;
}
html[data-ui="desktop"][data-city-theme="night"] :is(.hx-btn-line,.hb) {
  background: rgba(13,37,42,.88); color: var(--hero-ink);
}
html[data-ui="desktop"][data-city-theme="night"] .hx-btn-line:hover { background: #294c50; }
html[data-ui="desktop"][data-city-theme="night"] .hx-ticket {
  background: linear-gradient(120deg,rgba(45,72,78,.92),rgba(24,48,54,.86));
}
html[data-ui="desktop"][data-city-theme="night"] .hx-ticket:hover { background: #28464d; }
html[data-ui="desktop"][data-city-theme="night"] :is(.hb-sym,.hb small) { background: #2b474d; }
html[data-ui="desktop"][data-city-theme="night"] .hb.on {
  color: #301d13; background: linear-gradient(135deg,#ffbf90,#f6976e);
}
html[data-ui="desktop"][data-city-theme="night"] .hb.on :is(.hb-sym,small) { background: #ffffff40; }
html[data-ui="desktop"][data-city-theme="night"] :is(.header,.header-hero.is-stuck) { background: rgba(8,27,32,.94); border-color: var(--line); }
html[data-ui="desktop"][data-city-theme="night"] .header-hero:not(.is-stuck) { background: transparent; border-color: transparent; }
html[data-ui="desktop"][data-city-theme="night"] .header.is-light :is(.header-account,.lang-button span.on) { background: #f4f1e8; color: #173a43; }
html[data-ui="desktop"][data-city-theme="night"] .header.is-light .lang-button { background: #102b32; }
html[data-ui="desktop"][data-city-theme="night"] .header.is-light .city-theme-control { background: #102b32; color: var(--hero-ink); }
html[data-ui="desktop"][data-city-theme="night"] .city-theme-option:hover,
html[data-ui="desktop"][data-city-theme="night"] .city-theme-option:focus-visible { background: #213f43; }
html[data-ui="desktop"][data-city-theme="night"] .city-theme-option[aria-selected="true"],
html[data-ui="desktop"][data-city-theme="night"] .city-theme-option[aria-selected="true"]:hover { background: #bce2db; color: #0b3039; }
html[data-ui="desktop"][data-city-theme="night"] .header.is-light .nav-pill { background: #c9eae51a; }
html[data-ui="desktop"][data-city-theme="night"] :is(.dp,.ev,.cc,.empty-state,.toolbar,.auth-layout,.main > .search-bar,.search-bar:focus-within) { background: var(--surface); }
html[data-ui="desktop"][data-city-theme="night"] .dt-alt { background: #253b39; }
html[data-ui="desktop"][data-city-theme="night"] .dt-alt .dt-sym { color: #173a43; }
html[data-ui="desktop"][data-city-theme="night"] .mq-track span { -webkit-text-stroke-color: #a8ceca55; }
html[data-ui="desktop"][data-city-theme="night"] .mq-track span:hover { color: #c7e5de; }
html[data-ui="desktop"][data-city-theme="night"] :is(.field,.form-grid) :is(input:not([type="checkbox"]),:is(select, .fic-select-trigger),textarea) {
  background: #0c2229; color: var(--ink); border-color: var(--line-strong);
}
html[data-ui="desktop"][data-city-theme="night"] :is(input,textarea)::placeholder { color: var(--muted); }
html[data-ui="desktop"][data-city-theme="night"] .dp-sym { background: var(--paper-2); color: var(--ink); }
html[data-ui="desktop"][data-city-theme="night"] :is(.ev-date,.ev-price) { background: #142b32ed; color: var(--ink); }
html[data-ui="desktop"][data-city-theme="night"] :is(.cc-sym,.ev-go,.button.primary,.header-account,.dt-arrow) { background: #bce2db; color: #0b3039; }
html[data-ui="desktop"][data-city-theme="night"] .hx-btn-light { background: #f7f3ea; color: #173a43; }
html[data-ui="desktop"][data-city-theme="night"] .footer::before { display: none; }
@media (max-width: 1000px) {
  html[data-ui="desktop"][data-city-theme="night"] .hx-map::after { background: linear-gradient(180deg,rgba(6,25,29,.96),rgba(6,25,29,.72) 48%,rgba(6,25,29,.24)); }
}
