/*!
 * SkyCenter UI — "Painted Ground" design system.
 * Canonical source: shared/sky-ui/. Identical copies are served from
 * /assets/sky-ui/ in each app (run shared/sky-ui/sync.py). Edit here only.
 *
 * Activate with <body data-sky="portal|parcare|cazare|rentacar">. Everything is
 * scoped under [data-sky] so admin/payment/legacy pages that do not opt in are
 * untouched.
 */

/* ------------------------------------------------------------------ Font */

@font-face {
  font-family: "Overpass";
  src: url("fonts/overpass-latin.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0100-017F, U+0218-021B, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2190-2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Overpass";
  src: url("fonts/overpass-cyrillic.woff2") format("woff2");
  font-weight: 300 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* Metric-matched fallback keeps layout stable while Overpass loads. */
@font-face {
  font-family: "Overpass Fallback";
  src: local("Arial");
  size-adjust: 101%;
  ascent-override: 88%;
  descent-override: 38%;
  line-gap-override: 0%;
}

/* ---------------------------------------------------------------- Tokens */

[data-sky] {
  /* Ground */
  --sky-asphalt: #0b1728;
  --sky-asphalt-2: #12233a;
  --sky-asphalt-3: #1a2f4b;
  --sky-navy: #1e3050;
  --sky-concrete: #edf2f7;
  --sky-concrete-2: #e1e9f1;
  --sky-paper: #ffffff;
  /* Paint */
  --sky-paint: #f4f7fb;
  --sky-blue: #0878b8;
  --sky-blue-deep: #06639a;
  --sky-sky: #159eee;
  /* Ink */
  --sky-ink: #0e1b2d;
  --sky-ink-2: #3f5268;
  --sky-ink-3: #5b6d82;
  --sky-mist: #b9c8da;
  --sky-mist-2: #8ea3bb;
  --sky-rule: rgba(14, 27, 45, .13);
  --sky-rule-dark: rgba(244, 247, 251, .14);
  /* States */
  --sky-ok: #1f8a5b;
  --sky-warn: #a16207;
  --sky-error: #c0362c;
  --sky-error-dark: #ff8a80;
  /* Service accents (markings only; never body text on light ground) */
  --sky-accent: #159eee;
  --sky-accent-ink: #0b1728;

  /* Type */
  --sky-font: "Overpass", "Overpass Fallback", "Segoe UI", system-ui, Arial, sans-serif;
  /* Four sizes only: small, body, title, headline. */
  --sky-fs-s: 1.0625rem;   /* 17 labels, notes, chips, navigation */
  --sky-fs-m: 1.25rem;     /* 20 reading text, leads, fields */
  --sky-fs-l: 1.625rem;    /* 26 titles, prices */
  --sky-fs-xl: clamp(2.125rem, 1.45rem + 2.6vw, 3.25rem);  /* 34-52 headlines, totals */
  --sky-lh-tight: 1.02;
  --sky-lh-head: 1.1;
  --sky-lh-body: 1.45;

  /* Space (4px base) */
  --sky-s1: 4px;  --sky-s2: 8px;  --sky-s3: 12px; --sky-s4: 16px;
  --sky-s5: 24px; --sky-s6: 32px; --sky-s7: 48px; --sky-s8: 64px;
  --sky-s9: 96px; --sky-s10: 128px;
  --sky-section: clamp(32px, 4vw, 56px);
  --sky-gutter: clamp(16px, 4vw, 40px);
  --sky-wrap: 1360px;

  /* Shape */
  --sky-r1: 4px;
  --sky-r2: 6px;
  --sky-r3: 10px;
  --sky-stripe: 4px;

  /* Elevation */
  --sky-e1: 0 1px 2px rgba(11, 23, 40, .08), 0 6px 16px -8px rgba(11, 23, 40, .22);
  --sky-e2: 0 2px 6px rgba(11, 23, 40, .10), 0 24px 48px -24px rgba(11, 23, 40, .45);
  --sky-e3: 0 4px 12px rgba(11, 23, 40, .16), 0 40px 80px -32px rgba(11, 23, 40, .6);

  /* Motion */
  --sky-ease: cubic-bezier(.16, 1, .3, 1);
  --sky-ease-io: cubic-bezier(.65, 0, .35, 1);
  --sky-t1: 160ms;
  --sky-t2: 260ms;
  --sky-t3: 460ms;
  --sky-t4: 800ms;

  --sky-header-h: 72px;
  --p: 0;
}
[data-sky="portal"]   { --sky-accent: #159eee; }
[data-sky="parcare"]  { --sky-accent: #f7c948; }
[data-sky="cazare"]   { --sky-accent: #a9b8ff; }
[data-sky="rentacar"] { --sky-accent: #3fd18f; }

/* ------------------------------------------------------------------ Base */

html:has(body[data-sky]) { scroll-padding-top: calc(var(--sky-header-h) + 16px); -webkit-text-size-adjust: 100%; overflow-x: clip; }
body[data-sky] {
  margin: 0;
  background: var(--sky-paper);
  color: var(--sky-ink);
  font: 400 var(--sky-fs-m)/var(--sky-lh-body) var(--sky-font);
  font-optical-sizing: auto;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: clip;
}
[data-sky] *, [data-sky] *::before, [data-sky] *::after { box-sizing: border-box; }
[data-sky] img, [data-sky] svg, [data-sky] video { max-width: 100%; }
[data-sky] img { height: auto; }
[data-sky] :where(h1, h2, h3, h4) { margin: 0; color: inherit; font-family: var(--sky-font); font-weight: 800; line-height: var(--sky-lh-head); letter-spacing: -.022em; text-wrap: balance; }
[data-sky] :where(p) { margin: 0; text-wrap: pretty; }
[data-sky] :where(a) { color: var(--sky-blue); text-decoration-thickness: .09em; text-underline-offset: .2em; transition: color var(--sky-t1); }
[data-sky] :where(a:hover) { color: var(--sky-blue-deep); }
[data-sky] ::selection { background: var(--sky-blue); color: #fff; }
/* Focus ring meets 3:1 on every surface: deep blue on light, sky blue on asphalt. */
[data-sky] :focus-visible { outline: 3px solid var(--sky-blue-deep); outline-offset: 3px; border-radius: 2px; }
[data-sky] :is(.sky-asphalt, .sky-actionbar, .sky-header, .sky-footer) :focus-visible, [data-sky] .sky-asphalt:focus-visible { outline-color: var(--sky-sky); }
[data-sky] :where(input, select, textarea, button) { font: inherit; color: inherit; }
[data-sky] { caret-color: var(--sky-blue); accent-color: var(--sky-blue); scrollbar-color: var(--sky-mist-2) transparent; }
[data-sky] .sky-num { font-variant-numeric: tabular-nums lining-nums; }

.sky-wrap { width: min(var(--sky-wrap), 100% - 2 * var(--sky-gutter)); margin-inline: auto; }
.sky-wrap--narrow { width: min(820px, 100% - 2 * var(--sky-gutter)); margin-inline: auto; }
.sky-skip { position: absolute; left: 16px; top: -80px; z-index: 300; padding: 12px 18px; border-radius: var(--sky-r2); background: var(--sky-paint); color: var(--sky-ink); font-weight: 700; }
.sky-skip:focus { top: 12px; }
.sky-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* -------------------------------------------------------------- Surfaces */

.sky-asphalt {
  position: relative;
  isolation: isolate;
  background-color: var(--sky-asphalt);
  color: var(--sky-paint);
}
/* Fine asphalt grain: a tiny tiled SVG noise, not a gradient wash. */
.sky-asphalt::before {
  content: "";
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
  opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .05 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.sky-asphalt :where(a:not(.sky-btn)) { color: #8fd0ff; }
.sky-asphalt :where(a:not(.sky-btn):hover) { color: #fff; }
.sky-asphalt .sky-muted { color: var(--sky-mist); }
.sky-concrete { background: var(--sky-concrete); color: var(--sky-ink); }
.sky-paper { background: var(--sky-paper); color: var(--sky-ink); }
.sky-section { padding-block: var(--sky-section); }
.sky-section--tight { padding-block: clamp(28px, 3.6vw, 48px); }
.sky-muted { color: var(--sky-ink-2); }

/* ------------------------------------------------------------ Typography */

.sky-display { font-size: var(--sky-fs-xl); line-height: var(--sky-lh-tight); letter-spacing: -.035em; font-weight: 850; }
.sky-h1 { font-size: var(--sky-fs-xl); line-height: 1.04; letter-spacing: -.03em; font-weight: 850; }
.sky-h2 { font-size: var(--sky-fs-xl); line-height: 1.05; letter-spacing: -.03em; font-weight: 820; }
.sky-h3 { font-size: var(--sky-fs-l); line-height: 1.15; letter-spacing: -.015em; font-weight: 760; }
.sky-lead { font-size: var(--sky-fs-m); line-height: 1.4; max-width: 60ch; }
.sky-small { font-size: var(--sky-fs-s); }
.sky-prose { max-width: 70ch; }
.sky-prose > * + * { margin-top: .65em; }
.sky-prose h2 { margin-top: 1.3em; font-size: var(--sky-fs-l); }
.sky-prose h3 { margin-top: 1.05em; font-size: var(--sky-fs-m); }
.sky-prose ul, .sky-prose ol { padding-left: 1.25em; }
.sky-prose li + li { margin-top: .4em; }
.sky-paint-mark { color: var(--sky-accent); }
.sky-headgroup { display: grid; gap: var(--sky-s4); max-width: 760px; margin-bottom: clamp(20px, 3vw, 34px); }
.sky-headgroup > p { color: var(--sky-ink-2); font-size: var(--sky-fs-m); }
.sky-asphalt .sky-headgroup > p { color: var(--sky-mist); }

/* Stencil numeral: outlined painted digits for bays and steps. */
.sky-stencil {
  font-family: var(--sky-font);
  font-weight: 900;
  line-height: .8;
  letter-spacing: -.04em;
  color: transparent;
  -webkit-text-stroke: 2px currentColor;
  font-variant-numeric: tabular-nums;
}
.sky-stencil.is-filled { color: currentColor; }

/* --------------------------------------------------------------- Buttons */

.sky-btn {
  --btn-bg: var(--sky-blue);
  --btn-fg: #fff;
  --btn-bd: var(--sky-blue);
  position: relative;
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: 52px; padding: 0 22px;
  border: 2px solid var(--btn-bd); border-radius: var(--sky-r2);
  background: var(--btn-bg); color: var(--btn-fg);
  font-family: var(--sky-font); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .01em; line-height: 1;
  text-decoration: none; white-space: nowrap; cursor: pointer;
  transition: background-color var(--sky-t1), border-color var(--sky-t1), color var(--sky-t1), transform var(--sky-t2) var(--sky-ease), box-shadow var(--sky-t2) var(--sky-ease);
}
.sky-btn:hover { --btn-bg: var(--sky-blue-deep); --btn-bd: var(--sky-blue-deep); color: var(--btn-fg); box-shadow: 0 12px 24px -14px rgba(8, 120, 184, .9); }
.sky-btn:active { transform: translateY(1px); }
.sky-btn[disabled], .sky-btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; box-shadow: none; }
/* The painted lane arrow: a chevron that "drives" on hover. */
.sky-btn__arrow { width: 22px; height: 14px; flex: none; overflow: visible; }
.sky-btn__arrow path { fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.sky-btn__arrow .shaft { stroke-dasharray: 4 3; transition: stroke-dashoffset var(--sky-t3) var(--sky-ease); }
.sky-btn:hover .sky-btn__arrow .shaft { stroke-dashoffset: -14; }
.sky-btn:hover .sky-btn__arrow .head { transform: translateX(3px); }
.sky-btn__arrow .head { transition: transform var(--sky-t2) var(--sky-ease); }
.sky-btn--ghost { --btn-bg: transparent; --btn-fg: currentColor; --btn-bd: currentColor; }
.sky-btn--ghost:hover { --btn-bg: transparent; --btn-bd: var(--sky-blue); --btn-fg: var(--sky-blue); box-shadow: none; }
.sky-asphalt .sky-btn--ghost:hover { --btn-bd: #fff; --btn-fg: #fff; }
.sky-btn--paint { --btn-bg: var(--sky-paint); --btn-fg: var(--sky-ink); --btn-bd: var(--sky-paint); }
.sky-btn--paint:hover { --btn-bg: #fff; --btn-bd: #fff; --btn-fg: var(--sky-blue-deep); }
.sky-btn--sm { min-height: 44px; padding: 0 16px; font-size: var(--sky-fs-s); }
.sky-btn--block { width: 100%; }
.sky-btn.is-loading { color: transparent; pointer-events: none; }
.sky-btn.is-loading::after { content: ""; position: absolute; width: 20px; height: 20px; border: 2.5px solid rgba(255, 255, 255, .35); border-top-color: #fff; border-radius: 50%; animation: sky-spin .8s linear infinite; }

.sky-link { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 700; text-decoration: none; }
.sky-link::after { content: ""; width: 14px; height: 2px; background: currentColor; transition: width var(--sky-t2) var(--sky-ease); }
.sky-link:hover::after { width: 24px; }

/* ------------------------------------------------------ Painted elements */

/* Hatched zone: conditions, notes, "confirmed separately". */
.sky-hatch {
  position: relative;
  padding: 12px 18px 12px 52px;
  border-radius: var(--sky-r1);
  background:
    repeating-linear-gradient(135deg, rgba(8, 120, 184, .10) 0 2px, transparent 2px 10px),
    var(--sky-paper);
  box-shadow: inset 0 0 0 1px var(--sky-rule);
  color: var(--sky-ink-2);
  font-size: var(--sky-fs-s);
}
.sky-hatch::before { content: ""; position: absolute; left: 18px; top: 18px; width: 18px; height: 18px; border-radius: 2px; background: var(--sky-blue); mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 0 20 10 10 0 0 0 0-20zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z'/%3E%3C/svg%3E") center / contain no-repeat; }
.sky-asphalt .sky-hatch { background: repeating-linear-gradient(135deg, rgba(244, 247, 251, .07) 0 2px, transparent 2px 10px), var(--sky-asphalt-2); box-shadow: inset 0 0 0 1px var(--sky-rule-dark); color: var(--sky-mist); }
.sky-asphalt .sky-hatch::before { background: var(--sky-accent); }

/* Painted arrow marker for section changes. */
.sky-arrow-mark { display: block; width: 44px; height: 44px; color: var(--sky-accent); }
.sky-arrow-mark path { fill: none; stroke: currentColor; stroke-width: 5; stroke-linecap: square; stroke-dasharray: 80; stroke-dashoffset: 80; transition: stroke-dashoffset var(--sky-t4) var(--sky-ease); }
.is-in .sky-arrow-mark path, .sky-arrow-mark.is-in path, :not(.sky-js) .sky-arrow-mark path { stroke-dashoffset: 0; }

/* Lane: dashed painted line (horizontal rule). */
.sky-lane-rule { height: 4px; border: 0; margin: 0; background: repeating-linear-gradient(90deg, currentColor 0 28px, transparent 28px 48px); opacity: .9; color: var(--sky-accent); }

/* The route: one painted lane in the page's left gutter, drawn by scroll. */
.sky-route { position: absolute; left: max(8px, calc((100vw - var(--sky-wrap)) / 2 - 36px)); top: 0; bottom: 0; width: 4px; pointer-events: none; z-index: 1; }
.sky-route::before, .sky-route::after { content: ""; position: absolute; inset: 0; background: repeating-linear-gradient(180deg, currentColor 0 26px, transparent 26px 46px); }
.sky-route::before { color: rgba(14, 27, 45, .12); }
.sky-route::after { color: var(--sky-blue); transform-origin: 50% 0; transform: scaleY(var(--route, 0)); }
@media (max-width: 1360px) { .sky-route { display: none; } }

/* Price plate: a stencil-style sign with the service's price. */
.sky-plate {
  display: inline-grid; grid-auto-flow: column; align-items: end; gap: 10px;
  padding: 12px 16px 10px;
  border: 2px solid currentColor; border-radius: var(--sky-r1);
  font-weight: 800; line-height: 1;
}
.sky-plate__value { font-size: var(--sky-fs-xl); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.sky-plate__unit { padding-bottom: .35em; font-size: var(--sky-fs-s); font-weight: 700; letter-spacing: .02em; }
.sky-plate__note { grid-column: 1 / -1; font-size: var(--sky-fs-s); font-weight: 600; opacity: .8; }

/* ----------------------------------------------------------------- Bays */

/* A bay is open at the top, bounded by two painted stripes, with a stencil
   number. Used for rooms, cars, vehicle types, packages and options. */
.sky-bays { display: grid; gap: clamp(12px, 1.4vw, 16px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); }
.sky-bay {
  --bay-stripe: var(--sky-rule);
  position: relative;
  display: flex; flex-direction: column;
  padding: 14px 24px 16px;
  background: var(--sky-paper);
  color: inherit;
  text-decoration: none;
  transition: transform var(--sky-t3) var(--sky-ease), box-shadow var(--sky-t3) var(--sky-ease), background-color var(--sky-t2);
}
.sky-bay::before, .sky-bay::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: var(--sky-stripe);
  background: var(--bay-stripe);
  transition: background-color var(--sky-t2), transform var(--sky-t4) var(--sky-ease);
  transform-origin: 50% 0;
}
.sky-bay::before { left: 0; }
.sky-bay::after { right: 0; }
.sky-bay__base { position: absolute; left: 0; right: 0; bottom: 0; height: var(--sky-stripe); background: var(--bay-stripe); transition: background-color var(--sky-t2); }
.sky-bay__num { position: absolute; top: 18px; right: 22px; font-size: var(--sky-fs-xl); color: var(--sky-rule); transition: color var(--sky-t2); }
.sky-bay__media { position: relative; margin: -14px -24px 12px; aspect-ratio: 4 / 3; overflow: hidden; background: var(--sky-concrete-2); }
.sky-bay__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 900ms var(--sky-ease); }
.sky-bay__media--cutout { background: linear-gradient(180deg, var(--sky-concrete) 0 62%, var(--sky-concrete-2) 62%); }
.sky-bay__media--cutout img { object-fit: contain; padding: 8% 10% 6%; }
.sky-bay__title { font-size: var(--sky-fs-l); font-weight: 780; letter-spacing: -.015em; line-height: 1.15; }
.sky-bay__text { margin-top: 8px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sky-bay__foot { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; }
.sky-bay__price { font-weight: 850; font-size: var(--sky-fs-l); letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.sky-bay__price small { margin-left: 4px; font-size: var(--sky-fs-s); font-weight: 700; letter-spacing: 0; color: var(--sky-ink-2); }
a.sky-bay:hover, .sky-bay--interactive:hover, .pt-pack:hover, .pt-pack:focus-within { --bay-stripe: var(--sky-blue); transform: translateY(-4px); box-shadow: var(--sky-e2); }
a.sky-bay:hover .sky-bay__num, .sky-bay--interactive:hover .sky-bay__num { color: var(--sky-blue); }
a.sky-bay:hover .sky-bay__media img { transform: scale(1.05); }
.sky-bay.is-selected, .sky-bay:has(input:checked) { --bay-stripe: var(--sky-blue); background: #f2f8fd; box-shadow: var(--sky-e1); }
.sky-bay.is-selected .sky-bay__num, .sky-bay:has(input:checked) .sky-bay__num { color: var(--sky-blue); -webkit-text-stroke-color: var(--sky-blue); }
.sky-asphalt .sky-bay { --bay-stripe: var(--sky-rule-dark); background: var(--sky-asphalt-2); color: var(--sky-paint); }
.sky-asphalt .sky-bay__text, .sky-asphalt .sky-bay__price small { color: var(--sky-mist); }
.sky-asphalt .sky-bay__num { color: var(--sky-rule-dark); }
.sky-asphalt a.sky-bay:hover { --bay-stripe: var(--sky-accent); }
.sky-asphalt a.sky-bay:hover .sky-bay__num { color: var(--sky-accent); }
.sky-bay--featured { --bay-stripe: var(--sky-accent); }
.sky-bay--featured .sky-bay__num { color: var(--sky-accent); }
/* Reveal: stripes paint downwards when the bay enters. */
.sky-js .sky-bay[data-sky-reveal]:not(.is-in)::before, .sky-js .sky-bay[data-sky-reveal]:not(.is-in)::after { transform: scaleY(0); }

/* ----------------------------------------------------------------- Chips */

.sky-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.sky-chip {
  display: inline-flex; align-items: center; gap: 8px;
  min-height: 36px; padding: 6px 12px;
  border-radius: var(--sky-r1);
  background: var(--sky-concrete); color: var(--sky-ink);
  font-size: var(--sky-fs-s); font-weight: 700; line-height: 1.2;
}
.sky-chip b { font-weight: 900; font-variant-numeric: tabular-nums; }
.sky-chip svg { width: 18px; height: 18px; flex: none; }
.sky-asphalt .sky-chip { background: rgba(244, 247, 251, .08); color: var(--sky-paint); box-shadow: inset 0 0 0 1px var(--sky-rule-dark); }
.sky-asphalt .sky-chip b { color: var(--sky-accent); }

/* -------------------------------------------------------------- Header */

.sky-header {
  position: sticky; top: 0; z-index: 100;
  height: var(--sky-header-h);
  background: var(--sky-asphalt);
  color: var(--sky-paint);
  transition: transform var(--sky-t3) var(--sky-ease), box-shadow var(--sky-t2);
}
.sky-header::after { content: ""; position: absolute; left: 0; right: 0; bottom: -4px; height: 4px; background: repeating-linear-gradient(90deg, var(--sky-accent) 0 22px, transparent 22px 36px); opacity: .95; }
.sky-header.is-scrolled { box-shadow: 0 10px 30px -18px rgba(0, 0, 0, .8); }
.sky-header.is-hidden { transform: translateY(calc(-100% - 6px)); }
.sky-header__inner { display: flex; align-items: center; gap: clamp(12px, 1.2vw, 16px); height: 100%; }
/* The original logo always sits on its white support plate. */
.sky-logo { display: inline-flex; flex: none; align-items: center; padding: 5px 9px; border-radius: var(--sky-r1); background: #fff; line-height: 0; }
.sky-logo img { width: 120px; height: auto; }
.sky-nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.sky-nav a {
  position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: 0 12px;
  color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 650; text-decoration: none; white-space: nowrap;
}
/* The header row is capped by --sky-wrap, so wide screens get no extra room:
   keep the compact sizing at every desktop width or longer navs collapse. */
@media (min-width: 1181px) { .sky-nav a { padding: 0 8px; font-size: var(--sky-fs-s); } .sky-nav a::after { left: 8px; right: 8px; } .sky-doors a { font-size: var(--sky-fs-s); padding: 0 8px; } .sky-header__inner { gap: 12px; } }
/* Tighter desktop bar when the links would not fit otherwise (sky.js fits() adds .sky-tight before collapsing). */
@media (min-width: 1181px) { .sky-tight .sky-nav a { padding: 0 5px; } .sky-tight .sky-nav a::after { left: 5px; right: 5px; } .sky-tight .sky-doors a { padding: 0 6px; gap: 5px; } .sky-tight .sky-header__inner { gap: 8px; } .sky-tight .sky-nav .sky-btn { margin-left: 6px; padding: 0 12px; } }
/* Last step before the burger: the tight bar with slightly smaller text (owner 2026-10-11: parking and rent stay inline on 1366 px laptops). */
@media (min-width: 1181px) { .sky-small .sky-nav a, .sky-small .sky-doors a { font-size: 1rem; } }
.sky-nav a::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 3px; background: var(--sky-accent); transform: scaleX(0); transform-origin: 0 50%; transition: transform var(--sky-t2) var(--sky-ease); }
.sky-nav a:hover { color: #fff; }
.sky-nav a:hover::after, .sky-nav a[aria-current="page"]::after { transform: scaleX(1); }
.sky-nav a[aria-current="page"] { color: #fff; }
.sky-nav .sky-btn { margin-left: 10px; color: #fff; }
.sky-nav .sky-btn::after { display: none; }

/* White header: the logo plate and the service colours read on paper. */
.sky-header { background: var(--sky-paper); color: var(--sky-ink); box-shadow: 0 1px 0 var(--sky-rule); }
.sky-header.is-scrolled { box-shadow: 0 1px 0 var(--sky-rule), 0 10px 30px -18px rgba(11, 23, 40, .45); }
.sky-header .sky-nav a { color: var(--sky-ink-2); }
.sky-header .sky-nav a:hover, .sky-header .sky-nav a[aria-current="page"] { color: var(--sky-ink); }
.sky-header .sky-nav a::after { background: var(--sky-blue); }
.sky-header .sky-nav .sky-btn { color: #fff; }
.sky-header .sky-doors { background: var(--sky-concrete); }
.sky-header .sky-doors a { color: var(--sky-ink-2); }
.sky-header .sky-doors a:hover { color: var(--sky-ink); background: rgba(14, 27, 45, .06); }
.sky-header .sky-doors a[aria-current="true"] { color: var(--sky-ink); background: var(--sky-paper); box-shadow: var(--sky-e1); }
.sky-header .sky-burger { background: var(--sky-concrete); color: var(--sky-ink); }
.sky-header :focus-visible { outline-color: var(--sky-blue); }

/* The four doors: a compact switcher between the SkyCenter sites. */
.sky-doors { display: flex; gap: 2px; padding: 3px; border-radius: var(--sky-r2); background: rgba(244, 247, 251, .06); }
.sky-doors a { display: inline-flex; align-items: center; gap: 7px; min-height: 38px; padding: 0 9px; white-space: nowrap; border-radius: var(--sky-r1); color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 750; text-decoration: none; }
.sky-doors a i { flex: none; width: 8px; height: 8px; border-radius: 1px; background: var(--door, var(--sky-mist-2)); }
.sky-doors a:hover { color: #fff; background: rgba(244, 247, 251, .08); }
.sky-doors a[aria-current="true"] { color: var(--sky-ink); background: var(--sky-paint); }
.sky-doors a[data-door="portal"] { --door: #159eee; }
.sky-doors a[data-door="parcare"] { --door: #f7c948; }
.sky-doors a[data-door="cazare"] { --door: #a9b8ff; }
.sky-doors a[data-door="rentacar"] { --door: #3fd18f; }

.sky-burger { display: none; margin-left: auto; width: 48px; height: 48px; border: 0; border-radius: var(--sky-r2); background: rgba(244, 247, 251, .08); color: #fff; cursor: pointer; }
.sky-burger span { display: block; width: 22px; height: 2.5px; margin: 5px auto; background: currentColor; transition: transform var(--sky-t3) var(--sky-ease), opacity var(--sky-t1); }
[data-sky-menu="open"] .sky-burger span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
[data-sky-menu="open"] .sky-burger span:nth-child(2) { opacity: 0; }
[data-sky-menu="open"] .sky-burger span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

@media (max-width: 1180px) {
  .sky-burger { display: block; position: relative; z-index: 2; }
  .sky-menu {
    position: fixed; inset: var(--sky-header-h) 0 0 0; z-index: 99;
    display: flex; flex-direction: column; gap: 14px;
    padding: 16px var(--sky-gutter) 24px;
    background: var(--sky-asphalt); overflow-y: auto;
    clip-path: inset(0 0 100% 0); visibility: hidden;
    transition: clip-path var(--sky-t3) var(--sky-ease), visibility 0s var(--sky-t3);
  }
  [data-sky-menu="open"] .sky-menu { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path var(--sky-t3) var(--sky-ease); }
  [data-sky-menu="open"] body, body[data-sky-menu="open"] { overflow: hidden; }
  .sky-nav { flex-direction: column; align-items: stretch; margin: 0; gap: 0; }
  .sky-nav a { min-height: 56px; padding: 0 4px; border-bottom: 1px solid var(--sky-rule-dark); font-size: var(--sky-fs-m); color: var(--sky-paint); }
  .sky-nav a::after { left: 4px; right: auto; width: 40px; bottom: 8px; }
  .sky-nav .sky-btn { margin: 12px 0 0; }
  .sky-doors { display: grid; grid-template-columns: 1fr 1fr; }
  .sky-doors a { min-height: 48px; }
}
/* Same rules when sky.js measures that the inline nav overflows. */
.sky-collapsed .sky-burger { display: block; position: relative; z-index: 2; }
.sky-collapsed .sky-menu {
    position: fixed; inset: var(--sky-header-h) 0 0 0; z-index: 99;
    display: flex; flex-direction: column; gap: 14px;
    padding: 16px var(--sky-gutter) 24px;
    background: var(--sky-asphalt); overflow-y: auto;
    clip-path: inset(0 0 100% 0); visibility: hidden;
    transition: clip-path var(--sky-t3) var(--sky-ease), visibility 0s var(--sky-t3);
  }
.sky-collapsed[data-sky-menu="open"] .sky-menu { clip-path: inset(0 0 0 0); visibility: visible; transition: clip-path var(--sky-t3) var(--sky-ease); }
.sky-collapsed[data-sky-menu="open"] body, .sky-collapsed body[data-sky-menu="open"] { overflow: hidden; }
.sky-collapsed .sky-nav { flex-direction: column; align-items: stretch; margin: 0; gap: 0; }
.sky-collapsed .sky-nav a { min-height: 56px; padding: 0 4px; border-bottom: 1px solid var(--sky-rule-dark); font-size: var(--sky-fs-m); color: var(--sky-paint); }
.sky-collapsed .sky-nav a::after { left: 4px; right: auto; width: 40px; bottom: 8px; }
.sky-collapsed .sky-nav .sky-btn { margin: 12px 0 0; }
.sky-collapsed .sky-doors { display: grid; grid-template-columns: 1fr 1fr; }
.sky-collapsed .sky-doors a { min-height: 48px; }
.sky-collapsed .sky-menu { display: flex; }
/* The open menu sits under the white header, so it is paper too. */
@media (max-width: 1180px) { .sky-header .sky-menu { background: var(--sky-paper); } .sky-header .sky-nav a { color: var(--sky-ink); border-bottom-color: var(--sky-rule); } }
.sky-collapsed .sky-header .sky-menu { background: var(--sky-paper); }
.sky-collapsed .sky-header .sky-nav a { color: var(--sky-ink); border-bottom-color: var(--sky-rule); }
/* Inside the open menu the doors are four sign-plate tiles: a painted service
   stripe on the left, the current site set in ink. Four across on tablets. */
@media (max-width: 1180px) {
  .sky-header .sky-doors { gap: 8px; padding: 0; background: none; }
  .sky-header .sky-doors a { min-height: 52px; padding: 0 14px; gap: 10px; border: 1px solid var(--sky-rule); border-left: 5px solid var(--door); border-radius: var(--sky-r1); background: var(--sky-paper); font-size: var(--sky-fs-s); }
  .sky-header .sky-doors a i { display: none; }
  .sky-header .sky-doors a[aria-current="true"] { color: #fff; background: var(--sky-ink); border-color: var(--sky-ink); border-left-color: var(--door); box-shadow: none; }
}
.sky-collapsed .sky-header .sky-doors { gap: 8px; padding: 0; background: none; }
.sky-collapsed .sky-header .sky-doors a { min-height: 52px; padding: 0 14px; gap: 10px; border: 1px solid var(--sky-rule); border-left: 5px solid var(--door); border-radius: var(--sky-r1); background: var(--sky-paper); font-size: var(--sky-fs-s); }
.sky-collapsed .sky-header .sky-doors a i { display: none; }
.sky-collapsed .sky-header .sky-doors a[aria-current="true"] { color: #fff; background: var(--sky-ink); border-color: var(--sky-ink); border-left-color: var(--door); box-shadow: none; }
@media (min-width: 700px) { .sky-collapsed .sky-header .sky-doors { grid-template-columns: repeat(4, 1fr); } }
@media (min-width: 700px) and (max-width: 1180px) { .sky-header .sky-doors { grid-template-columns: repeat(4, 1fr); } }
/* Without JavaScript the menu cannot open, so it stays in the flow. */
/* Gated on the scripting media feature (not the .sky-nojs class) so the
   in-flow menu never paints on JS pages before deferred sky.js runs. */
@media (max-width: 1180px) and (scripting: none) {
  .sky-header { position: relative; height: auto; }
  .sky-header__inner { flex-wrap: wrap; padding-block: 12px; }
  .sky-burger { display: none; }
  .sky-menu { position: static; inset: auto; width: 100%; clip-path: none; visibility: visible; padding: 8px 0 12px; background: none; }
  .sky-nav a { min-height: 48px; font-size: var(--sky-fs-m); }
}
@media (min-width: 1181px) { :root:not(.sky-collapsed) .sky-menu { display: contents; } }

/* -------------------------------------------------------------- Hero */

.sky-hero { position: relative; overflow: clip; padding: clamp(24px, 4.2vw, 58px) 0 clamp(34px, 4.8vw, 68px); }
.sky-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(16px, 3vw, 44px); align-items: center; }
.sky-hero__title { font-size: var(--sky-fs-xl); line-height: var(--sky-lh-tight); letter-spacing: -.035em; font-weight: 870; }
.sky-hero__title em { font-style: normal; color: var(--sky-accent); }
.sky-hero__lead { margin-top: 14px; max-width: 54ch; font-size: var(--sky-fs-m); color: var(--sky-mist); }
.sky-paper .sky-hero__lead, .sky-concrete .sky-hero__lead { color: var(--sky-ink-2); }
.sky-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 12px; margin-top: 20px; }
.sky-hero__proof { margin-top: 16px; }
.sky-hero__bay { position: relative; }
.sky-photo-bay { position: relative; margin: 0; }
.sky-photo-bay img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
/* Painted corner marks framing the photograph. */
.sky-photo-bay::before, .sky-photo-bay::after { content: ""; position: absolute; width: 44px; height: 44px; border: 4px solid var(--sky-accent); pointer-events: none; }
.sky-photo-bay::before { left: -12px; top: -12px; border-right: 0; border-bottom: 0; }
.sky-photo-bay::after { right: -12px; bottom: -12px; border-left: 0; border-top: 0; }
.sky-photo-bay .sky-plate { position: absolute; left: -16px; bottom: 28px; background: var(--sky-paint); color: var(--sky-ink); border-color: var(--sky-ink); box-shadow: var(--sky-e2); }
.sky-photo-bay figcaption { margin-top: 12px; color: var(--sky-mist); font-size: var(--sky-fs-s); }
@media (max-width: 900px) {
  .sky-hero__grid { grid-template-columns: 1fr; }
  .sky-photo-bay img { aspect-ratio: 16 / 11; }
  .sky-photo-bay .sky-plate { left: 12px; bottom: 12px; }
}

/* Feature split: a framed photograph beside a short pitch (events teaser). */
.sky-feature { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(24px, 3.6vw, 52px); align-items: center; }
.sky-feature .sky-photo-bay img { aspect-ratio: 4 / 3; }
.sky-feature__copy { display: grid; gap: 12px; justify-items: start; }
.sky-feature__copy > p { max-width: 58ch; color: var(--sky-ink-2); font-size: var(--sky-fs-m); }
.sky-asphalt .sky-feature__copy > p { color: var(--sky-mist); }
.sky-feature__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin-top: 8px; }
.sky-asphalt .sky-feature__actions .sky-link { color: var(--sky-paint); }
.sky-ticklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.sky-ticklist li { position: relative; padding-left: 34px; font-weight: 650; }
.sky-ticklist li::before { content: ""; position: absolute; left: 2px; top: .28em; width: 16px; height: 9px; border-left: 3px solid var(--sky-blue); border-bottom: 3px solid var(--sky-blue); transform: rotate(-45deg); }
.sky-asphalt .sky-ticklist li::before { border-color: var(--sky-accent); }
@media (max-width: 900px) { .sky-feature { grid-template-columns: 1fr; } }

/* ------------------------------------------------------------- Story */

/* A plan-view scroll scene. Without JS it renders as its final frame. */
.sky-story { position: relative; height: var(--story-h, 420vh); }
.sky-story__stage { position: sticky; top: var(--sky-header-h); height: calc(100vh - var(--sky-header-h)); height: calc(100svh - var(--sky-header-h)); overflow: hidden; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(12px, 2.4vw, 34px); }
.sky-story__plan { position: relative; height: 100%; display: grid; align-items: center; }
.sky-story__plan svg { width: 100%; height: auto; max-height: calc(100svh - var(--sky-header-h) - 48px); display: block; overflow: visible; }
.sky-story__legs { position: relative; display: grid; align-content: center; min-height: 60%; }
.sky-leg { grid-area: 1 / 1; opacity: 0; transform: translateY(18px); transition: opacity var(--sky-t3) var(--sky-ease), transform var(--sky-t4) var(--sky-ease); pointer-events: none; }
.sky-leg.is-active { opacity: 1; transform: none; pointer-events: auto; }
.sky-leg__num { display: block; margin-bottom: 12px; font-size: var(--sky-fs-xl); color: var(--sky-accent); }
.sky-leg__title { font-size: var(--sky-fs-l); line-height: 1.08; }
.sky-leg p { margin-top: 12px; max-width: 42ch; color: var(--sky-mist); font-size: var(--sky-fs-m); }
.sky-leg .sky-btn, .sky-leg .sky-link { margin-top: 12px; }
.sky-story__progress { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: var(--sky-rule-dark); }
.sky-story__progress::after { content: ""; position: absolute; inset: 0; background: var(--sky-accent); transform-origin: 0 50%; transform: scaleX(var(--p)); }
.sky-story__ticks { display: flex; gap: 8px; margin-top: 16px; }
.sky-story__ticks i { width: 26px; height: 4px; background: var(--sky-rule-dark); transition: background-color var(--sky-t2); }
.sky-story__ticks i.is-active { background: var(--sky-accent); }

/* ------------------------------------------------------- Scene player */
/* A self-running 2D motion-graphics story. Scenery is static SVG; actors are
   small HTML layers moved with transform/opacity only (compositor), placed in
   container units so every scene scales with the 8:5 stage. */
.sky-scenes { position: relative; padding-block: clamp(24px, 3.6vw, 52px); content-visibility: auto; contain-intrinsic-size: auto 720px; }
.sky-scenes__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: center; gap: clamp(12px, 2.4vw, 34px); }
.sky-scenes__copy { display: grid; gap: 14px; align-content: center; }
.sky-scenes__legs { display: grid; min-height: 15rem; align-content: start; }
.sky-scenes__stage { position: relative; aspect-ratio: 8 / 5; container-type: size; overflow: hidden; border-radius: var(--sky-r3); background: var(--sky-asphalt-2); box-shadow: inset 0 0 0 1px var(--sky-rule-dark), var(--sky-e2); }
.sky-scenes .scene { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity 520ms var(--sky-ease), visibility 0s 520ms; }
.sky-scenes .scene.is-on { opacity: 1; visibility: visible; transition: opacity 520ms var(--sky-ease); }
.sky-scenes .scene > svg { position: absolute; inset: 0; width: 100%; height: 100%; display: block; }
.sky-scenes .sa { position: absolute; left: 0; top: 0; display: block; transform-origin: 50% 50%; }
.sky-scenes .sa > svg { display: block; width: 100%; height: 100%; overflow: visible; }
.sky-scenes .scene.is-on .sa { will-change: transform, opacity; }
.sky-scenes .scene.is-on .spin { transform-box: fill-box; transform-origin: center; animation: sky-spin .6s linear infinite; }
.sky-scenes .scene.is-on .blink { animation: sky-pulse 1.6s ease-in-out infinite; }
/* Only the moving parts are named (actors, spinning/blinking bits, the step
   bar): a universal selector restyled the whole scene each time it paused
   or resumed while scrolling, which made phones stutter (batch 11i). */
.sky-scenes.is-paused :is(.sa, .spin, .blink, .sky-scenes__steps b) { animation-play-state: paused !important; }
.sky-scenes__controls { display: flex; align-items: center; gap: 12px; }
.sky-scenes__toggle { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-width: 44px; height: 44px; padding: 0 14px; border: 1px solid var(--sky-rule-dark); border-radius: 22px; background: rgba(244, 247, 251, .06); color: var(--sky-paint); font: inherit; font-size: var(--sky-fs-s); font-weight: 750; cursor: pointer; }
.sky-scenes__toggle:hover { background: rgba(244, 247, 251, .12); }
.sky-scenes__toggle:focus-visible { outline: 3px solid #8fd0ff; outline-offset: 2px; }
.sky-scenes__toggle .i-play, .sky-scenes__toggle[data-state="paused"] .i-pause { display: none; }
.sky-scenes__toggle[data-state="paused"] .i-play { display: block; }
.sky-scenes__steps { flex: 1; display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; }
.sky-scenes__steps li { flex: 1; }
.sky-scenes__steps button { display: block; width: 100%; min-height: 32px; padding: 12px 0; border: 0; background: none; cursor: pointer; }
.sky-scenes__steps span { display: block; height: 4px; border-radius: 2px; overflow: hidden; background: var(--sky-rule-dark); }
.sky-scenes__steps b { display: block; height: 100%; background: var(--step, var(--sky-accent)); transform: scaleX(0); transform-origin: 0 50%; }
.sky-scenes__steps .is-done b { transform: none; }
.sky-scenes__steps .is-active b { animation: sky-fill var(--dur, 7000ms) linear both; }
.sky-scenes.is-manual .sky-scenes__steps .is-active b { animation: none; transform: none; }
.sky-scenes__steps button:hover span { background: rgba(244, 247, 251, .3); }
@keyframes sky-fill { from { transform: scaleX(0); } to { transform: none; } }
@media (max-width: 900px) {
  .sky-scenes__grid { grid-template-columns: 1fr; gap: 12px; }
  .sky-scenes__stage { order: -1; }
  .sky-scenes__legs { min-height: 12.5rem; }
  .sky-scenes .sky-leg__num { font-size: var(--sky-fs-xl); margin-bottom: 6px; }
}
.sky-nojs .sky-scenes__controls { display: none; }
.sky-nojs .sky-scenes__legs { gap: 20px; }
@media print { .sky-scenes__stage, .sky-scenes__controls { display: none !important; } }
/* SVG paint vocabulary shared by all four scenes. */
.sky-plan .ground { fill: var(--sky-asphalt-2); }
.sky-plan .ground-2 { fill: var(--sky-asphalt-3); }
.sky-plan .grass { fill: #152f2a; }
.sky-plan .paint { fill: none; stroke: var(--sky-paint); stroke-width: 3; }
.sky-plan .paint-dash { fill: none; stroke: var(--sky-paint); stroke-width: 3; stroke-dasharray: 14 12; opacity: .55; }
.sky-plan .paint-accent { fill: none; stroke: var(--sky-accent); stroke-width: 4; }
.sky-plan .route { fill: none; stroke: var(--sky-accent); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--route-p, var(--p))); }
.sky-plan .label { font: 800 15px var(--sky-font); fill: var(--sky-mist); letter-spacing: .12em; }
.sky-plan .label-big { font: 900 30px var(--sky-font); fill: var(--sky-paint); letter-spacing: .06em; }
.sky-plan .num { font: 900 26px var(--sky-font); fill: none; stroke: var(--sky-rule-dark); stroke-width: 1.5; }
.sky-plan .bld { fill: var(--sky-asphalt-3); stroke: var(--sky-rule-dark); stroke-width: 2; }
.sky-plan .roof-lit { fill: #ffd98a; }
.sky-plan .car { fill: var(--sky-mist-2); }
.sky-plan .car-us { fill: var(--sky-sky); }
.sky-plan .glass { fill: rgba(11, 23, 40, .7); }
@media (max-width: 900px) {
  .sky-story__stage { grid-template-columns: 1fr; grid-template-rows: auto 1fr; align-content: start; padding-top: 12px; gap: 8px; }
  .sky-story__legs { order: -1; min-height: 190px; align-content: start; }
  .sky-leg__num { font-size: var(--sky-fs-xl); margin-bottom: 6px; }
  .sky-leg p { font-size: var(--sky-fs-s); }
  .sky-story__plan { align-items: start; }
  .sky-story__plan svg { max-height: calc(100svh - var(--sky-header-h) - 250px); }
}

/* ------------------------------------------------------------- Steps */

.sky-steps { display: grid; gap: clamp(12px, 1.8vw, 20px); grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); counter-reset: sky-step; margin: 0; padding: 0; list-style: none; }
.sky-steps > li { position: relative; padding-top: 44px; }
.sky-steps > li::before { counter-increment: sky-step; content: counter(sky-step); position: absolute; top: 0; left: 0; font: 900 var(--sky-fs-xl)/1 var(--sky-font); color: transparent; -webkit-text-stroke: 2px var(--sky-blue); }
.sky-asphalt .sky-steps > li::before { -webkit-text-stroke-color: var(--sky-accent); }
.sky-steps > li::after { content: ""; position: absolute; top: 26px; left: 64px; right: -16px; height: 3px; background: repeating-linear-gradient(90deg, var(--sky-rule) 0 12px, transparent 12px 20px); }
.sky-asphalt .sky-steps > li::after { background: repeating-linear-gradient(90deg, var(--sky-rule-dark) 0 12px, transparent 12px 20px); }
.sky-steps > li:last-child::after { display: none; }
.sky-steps h3 { font-size: var(--sky-fs-m); }
.sky-steps p { margin-top: 8px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sky-asphalt .sky-steps p { color: var(--sky-mist); }
/* Long sequences (8 steps) wrap into rows, so the dashed connector gives way to a rule. */
.sky-steps--long { grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); row-gap: clamp(20px, 2.4vw, 28px); }
.sky-steps--long > li { padding-top: 40px; }
.sky-steps--long > li::after { top: 56px; left: 0; right: 0; height: 2px; background: var(--sky-rule); }
.sky-steps--long > li:last-child::after { display: block; }
/* Stencil numerals mark real sequences only; information bays are not one. */
.sky-page-sections .sky-bay__num { display: none; }

/* ------------------------------------------------------------- Forms */

.sky-field { display: grid; gap: 6px; min-width: 0; }
.sky-field > label, .sky-label { font-size: var(--sky-fs-s); font-weight: 750; color: var(--sky-ink); }
.sky-input,
[data-sky] .sky-form :where(input:not([type=checkbox]):not([type=radio]):not([type=hidden]):not([type=range]), select, textarea) {
  width: 100%; min-height: 52px; padding: 12px 14px;
  border: 2px solid #cbd6e2; border-radius: var(--sky-r2);
  background: #fff; color: var(--sky-ink);
  font-size: var(--sky-fs-s); line-height: 1.3;
  transition: border-color var(--sky-t1), box-shadow var(--sky-t1);
  appearance: none;
}
[data-sky] .sky-form select, select.sky-input { padding-right: 42px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230878b8' stroke-width='2.4'/%3E%3C/svg%3E") no-repeat right 16px center; }
[data-sky] .sky-form textarea { min-height: 110px; resize: vertical; }
[data-sky] .sky-form :where(input, select, textarea):hover { border-color: #97abc1; }
[data-sky] .sky-form :where(input, select, textarea):focus { outline: none; border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }
[data-sky] .sky-form :where(input, select, textarea)[aria-invalid="true"],
[data-sky] .sky-form :where(input, select, textarea).is-invalid { border-color: var(--sky-error); box-shadow: 0 0 0 4px rgba(192, 54, 44, .12); }
.sky-field__error { display: none; align-items: center; gap: 6px; color: var(--sky-error); font-size: var(--sky-fs-s); font-weight: 700; }
.sky-field__error.is-shown, .sky-field.is-invalid .sky-field__error { display: flex; }
.sky-field__ok { color: var(--sky-ok); }
[data-sky] .sky-form :where(input[type=checkbox], input[type=radio]) { width: 22px; height: 22px; margin: 0; flex: none; }

/* ----------------------------------------------------------- Booking */

.sky-book { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: clamp(12px, 1.8vw, 22px); align-items: start; }
.sky-book__main { min-width: 0; padding: clamp(12px, 1.8vw, 22px) clamp(20px, 3vw, 36px); background: var(--sky-paper); border-radius: var(--sky-r2); box-shadow: var(--sky-e2); color: var(--sky-ink); }
.sky-book__aside { position: sticky; top: calc(var(--sky-header-h) + 24px); display: grid; gap: 12px; }
/* Lane progress: numbered stencil stops on one painted line. */
.sky-progress { display: flex; margin: 0 0 16px; padding: 0; list-style: none; counter-reset: sky-stop; }
.sky-progress li { position: relative; flex: 1; display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 750; }
.sky-progress li::before { counter-increment: sky-stop; content: counter(sky-stop); display: grid; place-items: center; flex: none; width: 32px; height: 32px; border-radius: var(--sky-r1); border: 2px solid currentColor; font-weight: 900; font-variant-numeric: tabular-nums; background: #fff; position: relative; z-index: 1; transition: background-color var(--sky-t2), color var(--sky-t2), border-color var(--sky-t2); }
.sky-progress li::after { content: ""; position: absolute; left: 32px; right: 0; top: 50%; height: 3px; margin-top: -1.5px; background: repeating-linear-gradient(90deg, var(--sky-rule) 0 10px, transparent 10px 16px); }
.sky-progress li:last-child::after { display: none; }
.sky-progress li.is-current { color: var(--sky-ink); }
.sky-progress li.is-current::before { background: var(--sky-blue); border-color: var(--sky-blue); color: #fff; }
.sky-progress li.is-done { color: var(--sky-blue); }
.sky-progress li.is-done::after { background: var(--sky-blue); }
.sky-progress li span { padding-right: 10px; background: #fff; position: relative; z-index: 1; }
@media (max-width: 640px) { .sky-progress li span { display: none; } .sky-progress li.is-current span { display: inline; } }

/* Sticky price plate. */
.sky-summary { padding: 14px 22px 14px; border-radius: var(--sky-r2); background: var(--sky-asphalt); color: var(--sky-paint); box-shadow: var(--sky-e2); }
.sky-summary :is(h2, h3) { font-size: var(--sky-fs-s); letter-spacing: .01em; color: var(--sky-mist); font-weight: 750; }
.sky-summary__total { display: flex; align-items: baseline; gap: 8px; margin-top: 10px; font-weight: 870; font-size: var(--sky-fs-xl); letter-spacing: -.04em; line-height: 1; font-variant-numeric: tabular-nums; }
.sky-summary__total small { font-size: var(--sky-fs-s); font-weight: 700; letter-spacing: 0; color: var(--sky-mist); }
.sky-summary__total.is-busy { opacity: .55; }
.sky-summary dl { display: grid; grid-template-columns: auto 1fr; gap: 8px 12px; margin: 12px 0 0; padding-top: 12px; border-top: 1px dashed var(--sky-rule-dark); font-size: var(--sky-fs-s); }
.sky-summary dt { color: var(--sky-mist); }
.sky-summary dd { margin: 0; text-align: right; font-weight: 700; }
.sky-summary .sky-hatch { margin-top: 12px; }
.sky-trust { display: grid; gap: 10px; margin: 0; padding: 12px 20px; list-style: none; border-radius: var(--sky-r2); background: var(--sky-concrete); font-size: var(--sky-fs-s); }
.sky-trust li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; align-items: start; }
.sky-trust svg { width: 22px; height: 22px; color: var(--sky-blue); }
/* Mobile action bar: total + primary step action within thumb reach. */
.sky-actionbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: none; align-items: center; gap: 12px; padding: 10px var(--sky-gutter) calc(10px + env(safe-area-inset-bottom)); background: var(--sky-asphalt); color: var(--sky-paint); box-shadow: 0 -12px 30px -16px rgba(0, 0, 0, .7); transform: translateY(110%); transition: transform var(--sky-t3) var(--sky-ease); }
.sky-actionbar.is-shown { transform: none; }
.sky-actionbar__total { font-weight: 870; font-size: var(--sky-fs-l); letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.sky-actionbar__total small { display: block; color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 700; letter-spacing: 0; }
.sky-actionbar .sky-btn { margin-left: auto; }
@media (max-width: 960px) {
  .sky-book { grid-template-columns: 1fr; }
  .sky-book__aside { position: static; }
  .sky-actionbar { display: flex; }
}

/* Status messages for loading / success / error states. */
.sky-status { display: flex; gap: 12px; align-items: flex-start; padding: 12px 16px; border-radius: var(--sky-r2); font-weight: 650; font-size: var(--sky-fs-s); }
.sky-status--error { background: #fdecea; color: #8a211a; }
.sky-status--ok { background: #e7f6ee; color: #145c3c; }
.sky-status--info { background: var(--sky-concrete); color: var(--sky-ink); }

/* ------------------------------------------ Booking wizard (shared) */
/* Styles the original sc-wizard-* / sc-picker-* markup used by the parking
   and accommodation booking scripts, without changing that markup. */
[data-sky] i.fa { display: none; }
.sc-wizard-progress { display: flex; margin: 0 0 12px; }
.sc-wizard-progress-step { position: relative; flex: 1; display: flex; align-items: center; gap: 10px; min-height: 44px; color: var(--sky-ink-3); font-weight: 750; font-size: var(--sky-fs-s); }
.sc-wizard-progress-step span { display: grid; place-items: center; flex: none; width: 32px; height: 32px; border: 2px solid currentColor; border-radius: var(--sky-r1); background: #fff; font-weight: 900; position: relative; z-index: 1; transition: background-color var(--sky-t2), color var(--sky-t2), border-color var(--sky-t2); }
.sc-wizard-progress-step small { padding-right: 8px; background: #fff; position: relative; z-index: 1; font-size: inherit; }
.sc-wizard-progress-step::after { content: ""; position: absolute; left: 32px; right: 0; top: 50%; height: 3px; margin-top: -1.5px; background: repeating-linear-gradient(90deg, var(--sky-rule) 0 10px, transparent 10px 16px); }
.sc-wizard-progress-step:last-child::after { display: none; }
.sc-wizard-progress-step.is-active { color: var(--sky-ink); }
.sc-wizard-progress-step.is-active span { background: var(--sky-blue); border-color: var(--sky-blue); color: #fff; }
.sc-wizard-progress-step.is-complete { color: var(--sky-blue); }
.sc-wizard-progress-step.is-complete::after { background: var(--sky-blue); }
@media (max-width: 640px) { .sc-wizard-progress-step small { display: none; } .sc-wizard-progress-step.is-active small { display: inline; } }

.sc-wizard-panel { margin-bottom: 10px; border-radius: var(--sky-r2); background: #fff; box-shadow: inset 0 0 0 2px var(--sky-concrete-2); transition: box-shadow var(--sky-t2); }
.sc-wizard-panel.is-active { box-shadow: inset 0 0 0 2px var(--sky-blue), var(--sky-e1); }
.sc-wizard-panel-heading { display: flex; align-items: center; gap: 12px; width: 100%; min-height: 64px; padding: 12px 18px; border: 0; border-radius: var(--sky-r2); background: transparent; color: var(--sky-ink); text-align: left; cursor: pointer; }
.sc-wizard-panel-heading > span:nth-child(2) { flex: 1; min-width: 0; }
.sc-wizard-panel-heading strong { display: block; font-size: var(--sky-fs-m); font-weight: 800; }
.sc-wizard-panel-heading small { display: block; margin-top: 2px; overflow: hidden; color: var(--sky-ink-2); font-size: var(--sky-fs-s); text-overflow: ellipsis; white-space: nowrap; }
.sc-wizard-panel-heading::after { content: ""; flex: none; width: 10px; height: 10px; border-right: 2.5px solid var(--sky-ink-3); border-bottom: 2.5px solid var(--sky-ink-3); transform: rotate(45deg) translate(-2px, -2px); transition: transform var(--sky-t2) var(--sky-ease); }
.sc-wizard-panel.is-active .sc-wizard-panel-heading::after { transform: rotate(-135deg); }
.sc-wizard-check { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border: 2px solid var(--sky-concrete-2); border-radius: var(--sky-r1); font-weight: 900; color: var(--sky-ink-3); }
.sc-wizard-panel.is-active .sc-wizard-check { border-color: var(--sky-blue); color: var(--sky-blue); }
.sc-wizard-panel.is-complete .sc-wizard-check { font-size: 0; background: var(--sky-blue); border-color: var(--sky-blue); }
.sc-wizard-panel.is-complete .sc-wizard-check::after { content: ""; width: 12px; height: 7px; border-left: 3px solid #fff; border-bottom: 3px solid #fff; transform: rotate(-45deg) translate(1px, -2px); }
.sc-wizard-panel-body { display: none; padding: 4px 18px 12px; }
.sc-wizard-panel.is-active .sc-wizard-panel-body { display: block; animation: sky-drop var(--sky-t3) var(--sky-ease); }
.sc-wizard-panel .row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.sc-wizard-panel .col-xs-12 { grid-column: 1 / -1; }
:is(.sc-wizard-panel, .sky-fields) .form-group { display: grid; gap: 6px; margin: 0; }
:is(.sc-wizard-panel, .sky-fields) label, .sc-field-label { font-size: var(--sky-fs-s); font-weight: 750; color: var(--sky-ink); }
.sc-optional { color: var(--sky-ink-3); font-weight: 600; }
:is(.sc-wizard-panel, .sky-fields) .form-control { width: 100%; min-height: 52px; padding: 12px 14px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; color: var(--sky-ink); font-size: var(--sky-fs-s); box-shadow: none; appearance: none; }
:is(.sc-wizard-panel, .sky-fields) select.form-control { padding-right: 42px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230878b8' stroke-width='2.4'/%3E%3C/svg%3E") no-repeat right 16px center; }
:is(.sc-wizard-panel, .sky-fields) textarea.form-control { min-height: 96px; resize: vertical; }
:is(.sc-wizard-panel, .sky-fields) .form-control:hover { border-color: #97abc1; }
:is(.sc-wizard-panel, .sky-fields) .form-control:focus { outline: none; border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }
[data-sky] [aria-invalid="true"], [data-sky] .sc-field-invalid { border-color: var(--sky-error) !important; box-shadow: 0 0 0 4px rgba(192, 54, 44, .12) !important; }
.pk-err { display: flex; align-items: center; gap: 6px; color: var(--sky-error); font-size: var(--sky-fs-s); font-weight: 700; }
.pk-err::before { content: "!"; display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--sky-error); color: #fff; font-size: var(--sky-fs-s); font-weight: 900; }
.sc-date-time-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sc-date-time-card { margin: 0; padding: 12px 14px; border: 0; border-radius: var(--sky-r2); background: var(--sky-concrete); min-width: 0; }
.sc-date-time-card legend { display: contents; }
.sc-date-time-card legend span { display: block; margin-bottom: 10px; }
.sc-date-time-card legend strong { display: block; font-size: var(--sky-fs-s); font-weight: 850; }
.sc-date-time-card legend small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sc-date-time-hint { display: block; margin-top: 8px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sc-combined-picker { position: relative; }
.sc-picker-trigger { display: grid; grid-template-columns: 1fr; width: 100%; min-height: 60px; padding: 0; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; text-align: left; cursor: pointer; overflow: hidden; transition: border-color var(--sky-t1), box-shadow var(--sky-t1); }
.sc-picker-trigger > span { display: grid; align-content: center; padding: 8px 14px; min-width: 0; }
.sc-picker-trigger > span + span { border-left: 2px dashed var(--sky-concrete-2); }
.sc-picker-trigger small { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sc-picker-trigger strong { overflow: hidden; color: var(--sky-ink); font-size: var(--sky-fs-s); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.sc-picker-trigger:hover { border-color: #97abc1; }
.sc-picker-trigger[aria-expanded="true"], .sc-picker-trigger:focus-visible { border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); outline: none; }
.sc-picker-trigger.has-value strong { color: var(--sky-blue-deep); }
.sc-picker-popover[hidden] { display: none !important; }
.sc-picker-popover { position: absolute; z-index: 80; top: calc(100% + 8px); left: 0; width: 580px; max-width: calc(100vw - 48px); border-radius: var(--sky-r2); background: #fff; box-shadow: var(--sky-e3); overflow: hidden; animation: sky-drop var(--sky-t2) var(--sky-ease); }
.sc-combined-picker[data-picker="endDate"] .sc-picker-popover { right: 0; left: auto; }
.sc-picker-main { display: grid; grid-template-columns: 1fr 190px; }
.sc-picker-calendar { padding: 12px 16px; }
.sc-picker-month { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
/* The month title opens the month and year chooser. */
.sc-picker-title { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 10px; border: 0; border-radius: var(--sky-r1); background: none; color: var(--sky-ink); font: inherit; font-weight: 850; text-transform: capitalize; cursor: pointer; }
.sc-picker-title::after { content: ""; width: 7px; height: 7px; margin-top: -4px; border-right: 2.5px solid var(--sky-blue); border-bottom: 2.5px solid var(--sky-blue); transform: rotate(45deg); transition: transform var(--sky-t1); }
.sc-picker-title[aria-expanded="true"]::after { margin-top: 4px; transform: rotate(-135deg); }
.sc-picker-title:hover { background: var(--sky-concrete); }
.sc-picker-month button[data-picker-action="previous"], .sc-picker-month button[data-picker-action="next"] { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: var(--sky-r1); background: var(--sky-concrete); cursor: pointer; }
.sc-picker-month button[data-picker-action="previous"]::before, .sc-picker-month button[data-picker-action="next"]::before { content: ""; width: 9px; height: 9px; border-left: 2.5px solid var(--sky-ink); border-bottom: 2.5px solid var(--sky-ink); transform: rotate(45deg); margin-left: 3px; }
.sc-picker-month button[data-picker-action="next"]::before { transform: rotate(-135deg); margin: 0 3px 0 0; }
.sc-picker-month button[data-picker-action]:disabled { opacity: .35; cursor: not-allowed; }
.sc-picker-weekdays, .sc-picker-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.sc-picker-weekdays span { padding: 6px 0; color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; text-align: center; }
.sc-picker-days button { min-height: 40px; border: 0; border-radius: var(--sky-r1); background: transparent; color: var(--sky-ink); font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer; }
.sc-picker-days button:hover:not(:disabled) { background: var(--sky-concrete); }
.sc-picker-days button.is-outside { color: var(--sky-ink-3); }
.sc-picker-days button.is-today { box-shadow: inset 0 0 0 2px var(--sky-blue); }
.sc-picker-days button.is-selected, .sc-picker-days button.is-selected:hover { background: var(--sky-blue); color: #fff; }
.sc-picker-days button:disabled { opacity: .3; cursor: not-allowed; }
.sc-picker-times { padding: 12px 12px; border-left: 2px dashed var(--sky-concrete-2); display: grid; grid-template-rows: auto 1fr; min-height: 0; }
.sc-picker-times > strong { font-weight: 850; margin-bottom: 8px; }
.sc-picker-months { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.sc-picker-years { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; margin-top: 10px; padding-top: 10px; border-top: 2px dashed var(--sky-concrete-2); }
.sc-picker-months button, .sc-picker-years button { min-height: 44px; border: 0; border-radius: var(--sky-r1); background: var(--sky-concrete); color: var(--sky-ink); font-weight: 750; text-transform: capitalize; font-variant-numeric: tabular-nums; cursor: pointer; }
.sc-picker-months button:hover:not(:disabled), .sc-picker-years button:hover { background: var(--sky-concrete-2); }
.sc-picker-months button.is-selected, .sc-picker-years button.is-selected { background: var(--sky-blue); color: #fff; }
.sc-picker-months button:disabled { opacity: .3; cursor: not-allowed; }
/* Time: two wheels (hours, minutes) that scroll and snap into a centre band. */
.sc-wheels { --wheel-row: 40px; position: relative; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 2px; height: calc(var(--wheel-row) * 5); }
.sc-wheels::before { content: ""; position: absolute; left: 0; right: 0; top: calc(var(--wheel-row) * 2); height: var(--wheel-row); border-radius: var(--sky-r1); background: var(--sky-concrete); pointer-events: none; }
.sc-wheel { position: relative; height: 100%; margin: 0; padding: calc(var(--wheel-row) * 2) 0; overflow-y: auto; list-style: none; scroll-snap-type: y mandatory; overscroll-behavior: contain; scrollbar-width: none; -webkit-mask-image: linear-gradient(180deg, transparent, #000 32%, #000 68%, transparent); mask-image: linear-gradient(180deg, transparent, #000 32%, #000 68%, transparent); outline: none; }
.sc-wheel::-webkit-scrollbar { display: none; }
.sc-wheel li { display: grid; place-items: center; height: var(--wheel-row); scroll-snap-align: center; color: var(--sky-ink-3); font-size: var(--sky-fs-m); font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer; user-select: none; transition: color var(--sky-t1); }
.sc-wheel li[aria-selected="true"] { color: var(--sky-ink); font-weight: 850; }
.sc-wheels:not(.is-unset) .sc-wheel li[aria-selected="true"] { color: var(--sky-blue-deep); }
.sc-wheel li[aria-disabled="true"] { opacity: .3; }
.sc-wheel:focus-visible { box-shadow: inset 0 0 0 3px var(--sky-blue); border-radius: var(--sky-r1); }
.sc-wheels__sep { position: relative; color: var(--sky-ink); font-size: var(--sky-fs-m); font-weight: 850; }
.sc-picker-footer { display: flex; align-items: center; gap: 12px; padding: 12px 16px; background: var(--sky-concrete); }
.sc-picker-footer span { flex: 1; font-size: var(--sky-fs-s); font-weight: 700; color: var(--sky-ink-2); }
.sc-picker-cancel, .sc-picker-confirm { min-height: 44px; padding: 0 16px; border-radius: var(--sky-r2); border: 2px solid var(--sky-ink); background: transparent; font-weight: 800; cursor: pointer; }
.sc-picker-confirm { border-color: var(--sky-blue); background: var(--sky-blue); color: #fff; }
.sc-picker-confirm:disabled { opacity: .45; cursor: not-allowed; }
/* Shared calendar (sky-datetime.js): the native field stays in the form for
   validation and the no-JS fallback, hidden under the button once enhanced. */
.sc-combined-picker .sky-dt-native { position: absolute; left: 16px; bottom: 0; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; pointer-events: none; }
.sc-picker-trigger svg { width: 16px; height: 16px; margin-bottom: 2px; color: var(--sky-blue); }
.sc-picker-trigger > span { grid-template-columns: auto 1fr; column-gap: 6px; align-items: center; }
.sc-picker-trigger > span > strong { grid-column: 1 / -1; }
.sc-combined-picker--date .sc-picker-trigger { grid-template-columns: 1fr; }
.sc-combined-picker--date .sc-picker-popover { width: 360px; }
.sc-combined-picker--date .sc-picker-main { grid-template-columns: 1fr; }
.sc-combined-picker--end .sc-picker-popover { right: 0; left: auto; }
/* Date + time: two buttons side by side; each opens its own window (owner 2026-10-06). */
.sc-combined-picker--split { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.sc-combined-picker--split .sc-picker-trigger--date { border-right-width: 1px; border-radius: var(--sky-r2) 0 0 var(--sky-r2); }
.sc-combined-picker--split .sc-picker-trigger--time { border-left: 1px dashed #cbd6e2; border-radius: 0 var(--sky-r2) var(--sky-r2) 0; }
.sc-combined-picker--split .sc-picker-trigger[aria-expanded="true"], .sc-combined-picker--split .sc-picker-trigger:focus-visible { position: relative; z-index: 1; border-style: solid; }
.sc-picker-popover.is-date { width: 360px; }
.sc-picker-popover.is-time { width: 280px; }
.sc-combined-picker--split .sc-picker-popover.is-time { right: 0; left: auto; }
.sc-picker-popover.is-date .sc-picker-main, .sc-picker-popover.is-time .sc-picker-main { grid-template-columns: 1fr; }
.sc-picker-popover.is-time .sc-picker-times { border: 0; }
.sc-picker-popover.is-time .sc-picker-footer span { display: none; }
.sc-picker-popover.is-time .sc-picker-footer button { flex: 1; }
/* Booked nights of the chosen room(s): struck through and not selectable. */
.sc-picker-days button.is-booked { opacity: 1; color: var(--sky-ink-3); text-decoration: line-through; background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(192, 54, 44, .12) 5px 7px); }
.sc-combined-picker:has(.sky-dt-native:is(.sc-field-invalid, [aria-invalid="true"])) .sc-picker-trigger { border-color: var(--sky-error); box-shadow: 0 0 0 4px rgba(192, 54, 44, .12); }
.sc-picker-days button:focus-visible, .sc-picker-months button:focus-visible, .sc-picker-years button:focus-visible, .sc-picker-month button:focus-visible, .sc-picker-footer button:focus-visible { outline: 3px solid var(--sky-blue); outline-offset: 2px; }
@media (max-width: 767px) {
  .sc-picker-popover { position: fixed; z-index: 1002; top: auto; bottom: 0; left: 0 !important; right: 0 !important; width: auto; max-width: none; max-height: calc(100svh - 40px); overflow-y: auto; border-radius: var(--sky-r3) var(--sky-r3) 0 0; }
  .sc-picker-main { grid-template-columns: 1fr; }
  .sc-picker-times { border-left: 0; border-top: 2px dashed var(--sky-concrete-2); }
  .sc-picker-popover.is-time .sc-picker-times { border-top: 0; }
  .sc-picker-times { grid-template-rows: auto; }
  .sc-wheels { --wheel-row: 36px; max-width: 260px; margin-inline: auto; width: 100%; }
  .sc-picker-footer { position: sticky; bottom: 0; padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
  body.sc-picker-open::before { content: ""; position: fixed; inset: 0; z-index: 1001; background: rgba(11, 23, 40, .55); }
  /* The page behind the open picker never scrolls (owner, batch 11n). */
  html:has(> body.sc-picker-open), body.sc-picker-open { overflow: hidden; }
  .sc-picker-popover { overscroll-behavior: contain; }
}
.sc-extra-option label { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 12px 14px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); cursor: pointer; transition: border-color var(--sky-t1), background-color var(--sky-t1); }
.sc-extra-option label:has(input:checked) { border-color: var(--sky-blue); background: #f2f8fd; }
.sc-extra-option input { width: 22px; height: 22px; flex: none; }
.sc-extra-option strong { display: block; font-weight: 800; }
.sc-extra-option small { color: var(--sky-blue-deep); font-weight: 800; }
.sc-live-total, .sc-confirmation-total { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 12px; padding: 12px 18px; border-radius: var(--sky-r2); background: var(--sky-asphalt); color: var(--sky-paint); }
.sc-live-total > span, .sc-confirmation-total > span { color: var(--sky-mist); font-weight: 750; }
#result, #confirmationTotal { font-size: var(--sky-fs-l); font-weight: 900; letter-spacing: -.02em; color: var(--sky-accent); font-variant-numeric: tabular-nums; text-align: right; }
#result[aria-busy="true"] { opacity: .6; }
.sc-booking-summary { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 12px; overflow: hidden; border-radius: var(--sky-r2); background: var(--sky-concrete-2); }
.sc-summary-item { display: grid; gap: 2px; padding: 12px 14px; background: #fff; }
.sc-summary-item span { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 700; }
.sc-summary-item strong { font-weight: 800; overflow-wrap: anywhere; }
.sc-payment-group { margin: 12px 0 0 !important; padding: 0; border: 0; }
.sc-payment-group legend { margin-bottom: 8px; font-size: var(--sky-fs-s); font-weight: 750; }
.sc-payment-options { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sc-payment-options label { display: flex; align-items: flex-start; gap: 12px; min-height: 72px; padding: 12px 14px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); cursor: pointer; transition: border-color var(--sky-t1), background-color var(--sky-t1); }
.sc-payment-options label:has(input:checked) { border-color: var(--sky-blue); background: #f2f8fd; }
.sc-payment-options input { width: 22px; height: 22px; margin-top: 2px; flex: none; }
.sc-payment-options strong { display: block; font-weight: 800; }
.sc-payment-options small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sc-wizard-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 12px; }
.sc-wizard-next, .submit-button, .sc-wizard-back { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 22px; border-radius: var(--sky-r2); font-weight: 850; font-size: var(--sky-fs-s); cursor: pointer; transition: background-color var(--sky-t1), transform var(--sky-t2) var(--sky-ease); }
.sc-wizard-next, .submit-button { margin-left: auto; border: 2px solid var(--sky-blue); background: var(--sky-blue); color: #fff; }
.sc-wizard-next::after { content: ""; width: 9px; height: 9px; border-top: 2.5px solid currentColor; border-right: 2.5px solid currentColor; transform: rotate(45deg); transition: transform var(--sky-t2) var(--sky-ease); }
.sc-wizard-next:hover, .submit-button:hover { background: var(--sky-blue-deep); border-color: var(--sky-blue-deep); }
.sc-wizard-next:hover::after { transform: translateX(3px) rotate(45deg); }
.sc-wizard-back { border: 2px solid var(--sky-concrete-2); background: #fff; color: var(--sky-ink); }
.sc-wizard-back:hover { border-color: var(--sky-ink); }
.submit-button[aria-busy="true"], .submit-button:disabled { opacity: .6; cursor: progress; }
@media (max-width: 640px) {
  .sc-wizard-panel .row, .sc-date-time-row, .sc-payment-options, .sc-booking-summary { grid-template-columns: 1fr; }
  .sc-wizard-panel-body { padding: 4px 14px 12px; }
}

/* Hotel date picker (cazare-date-picker.js) */
.sc-date-picker { position: relative; }
.sc-date-trigger { display: grid; grid-template-columns: 1fr auto; align-items: center; width: 100%; min-height: 56px; padding: 6px 14px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; text-align: left; cursor: pointer; transition: border-color var(--sky-t1), box-shadow var(--sky-t1); }
.sc-date-trigger::after { content: ""; width: 9px; height: 9px; border-right: 2.5px solid var(--sky-blue); border-bottom: 2.5px solid var(--sky-blue); transform: rotate(45deg) translate(-2px, -2px); }
.sc-date-trigger span { display: grid; min-width: 0; }
.sc-date-trigger small { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sc-date-trigger strong { overflow: hidden; color: var(--sky-ink); font-size: var(--sky-fs-s); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.sc-date-trigger:hover { border-color: #97abc1; }
.sc-date-trigger[aria-expanded="true"] { border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }
.sc-date-popover[hidden] { display: none !important; }
.sc-date-popover { position: absolute; z-index: 80; top: calc(100% + 8px); left: 0; width: 340px; max-width: calc(100vw - 32px); padding: 12px 16px; border-radius: var(--sky-r2); background: #fff; box-shadow: var(--sky-e3); animation: sky-drop var(--sky-t2) var(--sky-ease); }
.sc-date-month { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.sc-date-month strong { font-weight: 850; text-transform: capitalize; }
.sc-date-month button { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: var(--sky-r1); background: var(--sky-concrete); cursor: pointer; }
.sc-date-month button::before { content: ""; width: 9px; height: 9px; border-left: 2.5px solid var(--sky-ink); border-bottom: 2.5px solid var(--sky-ink); transform: rotate(45deg); margin-left: 3px; }
.sc-date-month button:last-child::before { transform: rotate(-135deg); margin: 0 3px 0 0; }
.sc-date-month button:disabled { opacity: .35; cursor: not-allowed; }
.sc-date-weekdays, .sc-date-days { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.sc-date-weekdays span { padding: 6px 0; color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; text-align: center; }
.sc-date-days button { min-height: 40px; border: 0; border-radius: var(--sky-r1); background: transparent; color: var(--sky-ink); font-weight: 700; font-variant-numeric: tabular-nums; cursor: pointer; }
.sc-date-days button:hover:not(:disabled) { background: var(--sky-concrete); }
.sc-date-days button.is-outside { color: var(--sky-ink-3); }
.sc-date-days button.is-today { box-shadow: inset 0 0 0 2px var(--sky-blue); }
.sc-date-days button.is-selected { background: var(--sky-blue); color: #fff; }
.sc-date-days button:disabled { opacity: .3; cursor: not-allowed; }
.sc-date-footer { display: flex; justify-content: space-between; gap: 10px; margin-top: 12px; }
.sc-date-cancel, .sc-date-confirm { min-height: 44px; padding: 0 16px; border-radius: var(--sky-r2); border: 2px solid var(--sky-ink); background: transparent; font-weight: 800; cursor: pointer; }
.sc-date-confirm { border-color: var(--sky-blue); background: var(--sky-blue); color: #fff; }
.sc-date-confirm:disabled { opacity: .45; }
@media (max-width: 767px) {
  .sc-date-popover { position: fixed; z-index: 1002; top: auto; bottom: 0; left: 0 !important; right: 0; width: auto; max-width: none; border-radius: var(--sky-r3) var(--sky-r3) 0 0; padding-bottom: calc(16px + env(safe-area-inset-bottom)); }
  body.sc-date-open::before { content: ""; position: fixed; inset: 0; z-index: 1001; background: rgba(11, 23, 40, .55); }
}

/* --------------------------------------------------------------- FAQ */

.sky-faq { display: grid; border-top: 2px solid var(--sky-ink); }
.sky-faq details { border-bottom: 1px solid var(--sky-rule); }
.sky-faq summary { position: relative; display: block; padding: 14px 56px 14px 0; font-size: var(--sky-fs-m); font-weight: 750; line-height: 1.3; cursor: pointer; list-style: none; }
.sky-faq summary::-webkit-details-marker { display: none; }
.sky-faq summary::before, .sky-faq summary::after { content: ""; position: absolute; right: 8px; top: 50%; width: 18px; height: 3px; margin-top: -1.5px; background: var(--sky-blue); transition: transform var(--sky-t3) var(--sky-ease); }
.sky-faq summary::after { transform: rotate(90deg); }
.sky-faq details[open] summary::after { transform: rotate(0); }
.sky-faq summary:hover { color: var(--sky-blue); }
.sky-faq .sky-faq__a { padding: 0 0 14px; max-width: 70ch; color: var(--sky-ink-2); }
.sky-faq .sky-faq__a > * + * { margin-top: .8em; }
.sky-faq details[open] .sky-faq__a { animation: sky-drop var(--sky-t3) var(--sky-ease); }

/* ------------------------------------------------------------- Media */

.sky-strip { display: grid; grid-auto-flow: column; grid-auto-columns: clamp(240px, 28vw, 380px); gap: 12px; overflow-x: auto; padding: 4px var(--sky-gutter) 12px; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.sky-strip figure { margin: 0; scroll-snap-align: start; }
.sky-strip img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 2px; transition: transform 900ms var(--sky-ease), filter var(--sky-t3); }
.sky-strip figure:hover img { transform: scale(1.03); }
.sky-video { position: relative; overflow: hidden; border-radius: var(--sky-r2); background: var(--sky-asphalt); aspect-ratio: 16 / 9; }
.sky-video img, .sky-video video { width: 100%; height: 100%; object-fit: cover; display: block; }
.sky-video__play { position: absolute; inset: 0; display: grid; place-items: center; border: 0; background: rgba(11, 23, 40, .35); color: #fff; cursor: pointer; }
.sky-video__play span { display: grid; place-items: center; width: 84px; height: 84px; border: 3px solid #fff; border-radius: 50%; transition: transform var(--sky-t3) var(--sky-ease), background-color var(--sky-t2); }
.sky-video__play:hover span { transform: scale(1.08); background: var(--sky-blue); border-color: var(--sky-blue); }
.sky-video__msg { position: absolute; left: 16px; right: 16px; bottom: 16px; padding: 12px 14px; border-radius: var(--sky-r1); background: rgba(11, 23, 40, .88); color: #fff; font-size: var(--sky-fs-s); }
.sky-map { position: relative; min-height: 360px; border-radius: var(--sky-r2); overflow: hidden; background: var(--sky-asphalt-2); color: var(--sky-paint); }
.sky-map iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* ------------------------------------------------------------ Scores */

.sky-scores { display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; }
.sky-score { display: inline-flex; align-items: baseline; gap: 8px; color: inherit; text-decoration: none; }
.sky-score b { font-size: var(--sky-fs-l); font-weight: 870; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.sky-score span { font-size: var(--sky-fs-s); font-weight: 700; color: var(--sky-mist); }
.sky-paper .sky-score span, .sky-concrete .sky-score span { color: var(--sky-ink-2); }
.sky-quote { margin: 0; padding: 14px 24px; background: var(--sky-paper); border-radius: var(--sky-r2); box-shadow: inset 0 0 0 1px var(--sky-rule); }
.sky-quote p { font-size: var(--sky-fs-m); }
.sky-quote footer { margin-top: 12px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-weight: 700; }

/* ------------------------------------------------------------- Footer */

.sky-footer { position: relative; padding: clamp(38px, 4.8vw, 62px) 0 calc(28px + env(safe-area-inset-bottom)); background: var(--sky-asphalt); color: var(--sky-mist); font-size: var(--sky-fs-s); }
.sky-footer::before { opacity: .5; }
.sky-footer__top { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.sky-footer h2 { margin-bottom: 12px; color: var(--sky-paint); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.sky-footer ul { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
.sky-footer a { display: inline-flex; align-items: center; min-height: 44px; color: var(--sky-paint); text-decoration: none; }
.sky-footer a:hover { color: #fff; text-decoration: underline; }
.sky-footer__lead p { max-width: 36ch; margin-top: 12px; }
.sky-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 16px; margin-top: 34px; padding-top: 14px; border-top: 1px dashed var(--sky-rule-dark); font-size: var(--sky-fs-s); }
.sky-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 4px 14px; }
.sky-footer__bottom nav a { display: inline-flex; align-items: center; gap: 6px; }
.sky-footer__bottom nav .sky-ico { width: 18px; height: 18px; }
.sky-footer__bottom .sc-website-version { display: block; margin-top: 2px; opacity: .6; font-size: .85em; }
@media (max-width: 900px) { .sky-footer__top { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .sky-footer__top { grid-template-columns: 1fr; } }

/* ----------------------------------------------------- Language switch */

.sky-lang { position: relative; }
.sky-lang > button { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 2px solid var(--sky-rule-dark); border-radius: var(--sky-r2); background: transparent; color: var(--sky-paint); font-weight: 750; cursor: pointer; }
.sky-lang > button:hover { border-color: var(--sky-paint); }
.sky-lang__list { position: absolute; bottom: calc(100% + 8px); right: 0; z-index: 20; display: grid; min-width: 200px; padding: 6px; border-radius: var(--sky-r2); background: #fff; box-shadow: var(--sky-e3); opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity var(--sky-t2), transform var(--sky-t3) var(--sky-ease), visibility 0s var(--sky-t3); }
.sky-lang.is-open .sky-lang__list { opacity: 1; visibility: visible; transform: none; transition: opacity var(--sky-t2), transform var(--sky-t3) var(--sky-ease); }
.sky-lang__list a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border-radius: var(--sky-r1); color: var(--sky-ink) !important; text-decoration: none !important; font-weight: 650; }
.sky-lang__list a b { width: 26px; font-size: var(--sky-fs-s); color: var(--sky-ink-3); }
.sky-lang__list a:hover, .sky-lang__list a[aria-current="true"] { background: var(--sky-concrete); }

/* ---------------------------------------------------- Floating contact */

.sky-float { position: fixed; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 95; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: #25d366; box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .55); transition: transform var(--sky-t3) var(--sky-ease), bottom var(--sky-t3) var(--sky-ease); }
.sky-float:hover { transform: scale(1.06); }
.sky-float img { width: 28px; height: 28px; }
body.sky-has-actionbar .sky-float { bottom: calc(88px + env(safe-area-inset-bottom)); }

/* --------------------------------------------------- Cookie consent */

[data-sky] #cookie-banner { position: fixed; left: 16px; right: 16px; bottom: calc(16px + env(safe-area-inset-bottom)); z-index: 200; max-width: 720px; margin-inline: auto; }
[data-sky] #cookie-banner-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; padding: 12px 20px; border-radius: var(--sky-r2); background: var(--sky-asphalt); color: var(--sky-mist); box-shadow: var(--sky-e3); font-size: var(--sky-fs-s); }
[data-sky] #cookie-text { flex: 1 1 320px; }
[data-sky] #cookie-text strong { display: block; color: var(--sky-paint); font-size: var(--sky-fs-s); }
[data-sky] #cookie-text p { margin: 4px 0; }
[data-sky] #cookie-text a { color: #8fd0ff; }
[data-sky] #cookie-buttons { display: flex; gap: 10px; }
[data-sky] #cookie-buttons button { min-height: 44px; padding: 0 18px; border-radius: var(--sky-r2); border: 2px solid var(--sky-paint); background: transparent; color: var(--sky-paint); font-weight: 800; cursor: pointer; }
[data-sky] #cookie-buttons #cookie-accept { background: var(--sky-blue); border-color: var(--sky-blue); color: #fff; }

/* ---------------------------------------------------- Information pages */
/* Secondary pages share one frame: page hero, numbered section bays,
   related lanes, then the footer. The big outlined stencil letter is the
   service's painted bay mark (P, H, R, S). */
.sky-page-hero { position: relative; overflow: clip; padding: clamp(20px, 3vw, 44px) 0 clamp(28px, 4.2vw, 58px); }
.sky-page-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: repeating-linear-gradient(90deg, var(--sky-accent) 0 22px, transparent 22px 36px); opacity: .9; }
.sky-page-hero__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: clamp(14px, 3vw, 44px); align-items: end; }
.sky-page-hero h1 { max-width: 22ch; font-size: var(--sky-fs-xl); line-height: 1.04; letter-spacing: -.035em; font-weight: 850; text-wrap: balance; }
.sky-page-hero__lead { margin-top: 12px; max-width: 60ch; color: var(--sky-mist); font-size: var(--sky-fs-m); line-height: 1.4; }
.sky-page-hero__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 14px; margin-top: 16px; }
.sky-page-hero__mark { font-size: clamp(7rem, 4rem + 12vw, 15rem); line-height: .78; font-weight: 900; letter-spacing: -.06em; color: transparent; -webkit-text-stroke: 3px var(--sky-accent); opacity: .85; user-select: none; }
.sky-page-hero .sky-crumbs { margin-bottom: 12px; }
.sky-page-hero .sky-crumbs [aria-current] { color: var(--sky-paint); }
@media (max-width: 720px) { .sky-page-hero__grid { grid-template-columns: 1fr; } .sky-page-hero__mark { display: none; } }

.sky-page-sections .sky-bay { padding-top: 16px; }
.sky-page-sections .sky-bay__title { padding-right: 56px; font-size: var(--sky-fs-l); }
.sky-page-sections .sky-bay__text { font-size: var(--sky-fs-m); line-height: 1.45; }
.sky-page-sections .sky-bay__text a { color: var(--sky-blue-deep); font-weight: 700; text-underline-offset: 3px; }
.sky-page-sections .sky-bay:target { --bay-stripe: var(--sky-accent); box-shadow: var(--sky-e2); }

.sky-lanes { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 250px), 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.sky-lanes a { position: relative; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 60px; padding: 12px 18px 12px 22px; border-radius: var(--sky-r2); background: var(--sky-paper); color: var(--sky-ink); font-weight: 750; text-decoration: none; box-shadow: inset 0 0 0 1px var(--sky-rule); transition: box-shadow var(--sky-t2), transform var(--sky-t2) var(--sky-ease); }
.sky-lanes a::before { content: ""; position: absolute; left: 0; top: 12px; bottom: 12px; width: 4px; border-radius: 0 2px 2px 0; background: var(--sky-rule); transition: background-color var(--sky-t2); }
.sky-lanes a .sky-btn__arrow { flex: none; width: 22px; height: 14px; fill: none; stroke: var(--sky-blue); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; transition: transform var(--sky-t2) var(--sky-ease); }
.sky-lanes a:hover { box-shadow: inset 0 0 0 1px var(--sky-rule), var(--sky-e1); transform: translateY(-2px); }
.sky-lanes a:hover::before, .sky-lanes a[aria-current]::before { background: var(--sky-accent); }
.sky-lanes a:hover .sky-btn__arrow { transform: translateX(4px); }
.sky-lanes a:focus-visible { outline: 3px solid var(--sky-blue-deep); outline-offset: 2px; }
.sky-concrete .sky-lanes a { background: var(--sky-paper); }

/* ------------------------------------------------------------ Breadcrumb */

.sky-crumbs { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-bottom: 14px; font-size: var(--sky-fs-s); font-weight: 650; color: var(--sky-mist); }
.sky-crumbs a { color: var(--sky-mist); }
.sky-crumbs span[aria-hidden] { opacity: .6; }
.sky-paper .sky-crumbs, .sky-concrete .sky-crumbs, .sky-paper .sky-crumbs a { color: var(--sky-ink-2); }

/* -------------------------------------------------------------- Reveal */

.sky-js [data-sky-reveal] { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity var(--sky-t4) var(--sky-ease), transform var(--sky-t4) var(--sky-ease); transition-delay: calc(var(--i, 0) * 70ms); }
.sky-js [data-sky-reveal="fade"] { transform: none; }
.sky-js [data-sky-reveal="wipe"] { opacity: 1; transform: none; clip-path: inset(0 0 100% 0); transition: clip-path 1100ms var(--sky-ease); }
.sky-js [data-sky-reveal].is-in { opacity: 1; transform: none; clip-path: inset(0 0 0 0); }
.sky-js .sky-split .w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: .1em; margin-bottom: -.1em; }
.sky-js .sky-split .w > span { display: inline-block; transform: translate3d(0, 104%, 0); transition: transform 1000ms var(--sky-ease); transition-delay: calc(var(--wi) * 55ms + 80ms); }
.sky-js .sky-split.is-in .w > span { transform: none; }

/* First-viewport entrance: visible from the first frame, only settles. */
.sky-enter { animation: sky-settle 900ms var(--sky-ease) both; animation-delay: calc(var(--i, 0) * 70ms); }
.sky-enter.sky-bay::before, .sky-enter.sky-bay::after { animation: sky-stripe 1100ms var(--sky-ease) both; animation-delay: calc(var(--i, 0) * 90ms + 120ms); }
@keyframes sky-settle { from { transform: translate3d(0, 14px, 0); } to { transform: none; } }
@keyframes sky-stripe { from { transform: scaleY(.15); } to { transform: none; } }

/* ------------------------------------------------------------ Keyframes */

@keyframes sky-spin { to { transform: rotate(360deg); } }
@keyframes sky-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes sky-pulse { 0%, 100% { opacity: .35; } 50% { opacity: 1; } }

/* ------------------------------------------------------- Reduced motion */

@media (prefers-reduced-motion: reduce) {
  [data-sky] *:not(.sky-scenes *), [data-sky] *:not(.sky-scenes *)::before, [data-sky] *:not(.sky-scenes *)::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; transition-delay: 0s !important; scroll-behavior: auto !important; }
}
.sky-reduced [data-sky-reveal], .sky-reduced .sky-split .w > span { opacity: 1 !important; transform: none !important; clip-path: none !important; }
.sky-reduced .sky-bay::before, .sky-reduced .sky-bay::after { transform: none !important; }
.sky-reduced .sky-story, .sky-nojs .sky-story { height: auto; }
.sky-reduced .sky-story__stage, .sky-nojs .sky-story__stage { position: relative; top: 0; height: auto; padding-block: 28px; }
.sky-reduced .sky-story .sky-leg, .sky-nojs .sky-leg { grid-area: auto; opacity: 1; transform: none; pointer-events: auto; }
.sky-reduced .sky-story__legs, .sky-nojs .sky-story__legs { gap: 22px; }
.sky-reduced .sky-story__progress, .sky-nojs .sky-story__progress, .sky-reduced .sky-story__ticks, .sky-nojs .sky-story__ticks { display: none; }
.sky-reduced .sky-header.is-hidden { transform: none; }

@media print {
  .sky-header, .sky-float, .sky-dock, .sky-actionbar, .sky-route, #cookie-banner, .sky-story__stage svg { display: none !important; }
  .sky-story { height: auto; }
  .sky-asphalt { background: #fff !important; color: #000 !important; }
}

/* Keep focused/invalid fields clear of the sticky header. */
[data-sky] :is(input, select, textarea, button, .sc-picker-trigger, .sc-date-trigger) { scroll-margin-top: 112px; scroll-margin-bottom: 96px; }

/* Portal bar: one button per service, each painted with its door colour. */
.sky-actionbar--doors { gap: 8px; }
.sky-actionbar--doors .sky-btn { flex: 1; margin: 0; justify-content: center; padding-inline: 8px; background: var(--sky-asphalt-3); box-shadow: inset 0 -3px 0 var(--door); }
.sky-actionbar--doors .sky-btn[data-door="parcare"] { --door: #f7c948; }
.sky-actionbar--doors .sky-btn[data-door="cazare"] { --door: #a9b8ff; }
.sky-actionbar--doors .sky-btn[data-door="rentacar"] { --door: #3fd18f; }

/* Critique fixes: plan labels stay legible when the 800-unit plan shrinks on
   phones; door buttons carry only their door colour. */
@media (max-width: 900px) {
  .sky-plan .label { font-size: 24px; }
  .sky-plan .label-big { font-size: 40px; }
}
.sky-actionbar--doors .sky-btn { border-color: transparent; }

/* Shared helpers requested by the page rollout. */
.sky-prose a { color: var(--sky-blue-deep); font-weight: 650; text-decoration: underline; text-underline-offset: 3px; }
.sky-prose a:hover { color: var(--sky-blue); }
.sky-asphalt .sky-prose a { color: var(--sky-sky); }
.sky-page-hero--status { display: grid; align-content: center; min-height: calc(100svh - var(--sky-header-h) - 120px); }
.sky-page-hero--status .sky-page-hero__grid { align-items: center; }
.sky-sr-only, [data-sky] .sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.sky-float { transition: opacity var(--sky-t2), transform var(--sky-t2) var(--sky-ease), bottom var(--sky-t3) var(--sky-ease), visibility 0s; }

/* Contact dock (built by sky.js): call, e-mail, Waze, Maps on one paper
   sign plate above the WhatsApp button. Labels show beside it on hover/focus. */
/* Contact dock: filled round buttons stacked above the WhatsApp float, in its
   style. Phones fold them behind one toggle (speed-dial), so the dock never
   covers a strip of text; transform/opacity only. */
.sky-dock { position: fixed; right: 20px; bottom: calc(84px + env(safe-area-inset-bottom)); z-index: 95; display: grid; justify-items: center; gap: 10px; pointer-events: none; transition: opacity var(--sky-t2), transform var(--sky-t2) var(--sky-ease), bottom var(--sky-t3) var(--sky-ease), visibility 0s; }
.sky-dock__list { display: grid; gap: 10px; }
.sky-dock a, .sky-dock__toggle { pointer-events: auto; position: relative; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: var(--dock, var(--sky-blue)); color: #fff; text-decoration: none; cursor: pointer; box-shadow: 0 10px 22px -10px rgba(0, 0, 0, .55); transition: transform var(--sky-t2) var(--sky-ease), opacity var(--sky-t2), visibility 0s; }
.sky-dock a:hover, .sky-dock__toggle:hover { transform: scale(1.06); color: #fff; }
.sky-dock a:focus-visible, .sky-dock__toggle:focus-visible { outline: 3px solid var(--sky-blue-deep); outline-offset: 3px; }
.sky-dock [data-contact="phone"] { --dock: #0878b8; }
.sky-dock [data-contact="email"] { --dock: #12233a; }
.sky-dock [data-contact="waze"] { --dock: #33ccff; }
.sky-dock [data-contact="maps"] { --dock: #ea4335; }
.sky-dock svg { width: 24px; height: 24px; fill: currentColor; }
.sky-dock [data-contact="waze"] svg { width: 28px; height: 28px; }
.sky-dock .wz { fill: #fff; stroke: #0b1728; stroke-width: 1.3; stroke-linejoin: round; }
.sky-dock .wz-d { fill: #0b1728; }
.sky-dock .wz-s { fill: none; stroke: #0b1728; stroke-width: 1.3; stroke-linecap: round; }
.sky-dock__toggle { display: none; --dock: var(--sky-asphalt); }
.sky-dock__toggle svg { fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; transition: transform var(--sky-t2) var(--sky-ease); }
.sky-dock.is-open .sky-dock__toggle svg { transform: rotate(45deg); }
.sky-dock span { position: absolute; right: calc(100% + 10px); top: 50%; padding: 5px 9px; border-radius: var(--sky-r1); background: var(--sky-ink); color: #fff; font-size: var(--sky-fs-s); font-weight: 750; white-space: nowrap; opacity: 0; transform: translate(6px, -50%); pointer-events: none; transition: opacity var(--sky-t1), transform var(--sky-t1) var(--sky-ease); }
.sky-dock a:hover span, .sky-dock a:focus-visible span, .sky-dock__toggle:hover span, .sky-dock__toggle:focus-visible span { opacity: 1; transform: translate(0, -50%); }
body.sky-has-actionbar .sky-dock { bottom: calc(156px + env(safe-area-inset-bottom)); }
@media (max-width: 720px) {
  .sky-dock { right: 22px; gap: 12px; }
  .sky-dock a, .sky-dock__toggle { width: 44px; height: 44px; }
  .sky-dock svg { width: 22px; height: 22px; }
  .sky-dock__toggle { display: grid; }
  .sky-dock span { right: calc(100% + 8px); }
  .sky-dock:not(.is-open) .sky-dock__toggle span { opacity: 0; }
  .sky-dock .sky-dock__list a { opacity: 0; visibility: hidden; transform: translateY(16px) scale(.6); transition: transform var(--sky-t2) var(--sky-ease), opacity var(--sky-t1), visibility 0s var(--sky-t2); }
  .sky-dock.is-open .sky-dock__list a { opacity: 1; visibility: visible; transform: none; transition: transform var(--sky-t3) var(--sky-ease), opacity var(--sky-t2), visibility 0s; }
  .sky-dock.is-open .sky-dock__list a:nth-child(3) { transition-delay: 30ms; }
  .sky-dock.is-open .sky-dock__list a:nth-child(2) { transition-delay: 60ms; }
  .sky-dock.is-open .sky-dock__list a:nth-child(1) { transition-delay: 90ms; }
  .sky-dock.is-open .sky-dock__list a span { opacity: 1; transform: translate(0, -50%); }
}

/* Footer brand band: the logo sits on paper, bookending the white header;
   a painted dashed edge hands over to the dark columns. */
.sky-footer { padding-top: 0; }
.sky-footer__top > .sky-footer__lead { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-bottom: clamp(14px, 2.4vw, 24px); padding: 16px 0; background: var(--sky-paper); box-shadow: 0 0 0 100vmax var(--sky-paper); clip-path: inset(0 -100vmax); color: var(--sky-ink-2); position: relative; }
.sky-footer__lead::after { content: ""; position: absolute; left: -100vmax; right: -100vmax; bottom: 0; height: 4px; background: repeating-linear-gradient(90deg, var(--sky-accent) 0 22px, transparent 22px 36px); }
.sky-footer__lead .sky-logo { padding: 0; background: none; }
.sky-footer__lead .sky-logo img { width: 170px; }
.sky-footer__lead p { margin: 0; max-width: 52ch; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sky-footer__lead a:hover { text-decoration: none; }
/* Middle dots in score and quote lines need air in Overpass. */
.sky-score span, .pt-bigscore span, .sky-quote footer { word-spacing: .14em; }

/* ---------------------------------------------------- Finish-review fixes */
/* One authored star, drawn as a mask; rating elements carry role="img" + aria-label. */
[data-sky] :is(.sp-review-stars, .sp-review-rating, .gr-card-stars) { display: inline-block; width: 86px; height: 16px; margin: 0; font-size: 0; background: #f5b301; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Cpath d='M9 .8l2.4 4.9 5.4.8-3.9 3.8.9 5.4L9 13.1l-4.8 2.6.9-5.4L1.2 6.5l5.4-.8z'/%3E%3C/svg%3E") 0 0 / 17.2px 16px repeat-x; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 16'%3E%3Cpath d='M9 .8l2.4 4.9 5.4.8-3.9 3.8.9 5.4L9 13.1l-4.8 2.6.9-5.4L1.2 6.5l5.4-.8z'/%3E%3C/svg%3E") 0 0 / 17.2px 16px repeat-x; }

/* Story step numerals are stencil-outlined: the sequence is real. */
.sky-leg__num { color: transparent; -webkit-text-stroke: 2.5px var(--sky-accent); }

/* Painted chevrons open each section heading (road marking, not a label). */
.sky-headgroup::before { content: ""; display: block; width: 46px; height: 16px; margin-bottom: 4px; background: var(--sky-accent); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 16'%3E%3Cpath d='M0 0h6l8 8-8 8H0l8-8zM16 0h6l8 8-8 8h-6l8-8zM32 0h6l8 8-8 8h-6l8-8z'/%3E%3C/svg%3E") no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 46 16'%3E%3Cpath d='M0 0h6l8 8-8 8H0l8-8zM16 0h6l8 8-8 8h-6l8-8zM32 0h6l8 8-8 8h-6l8-8z'/%3E%3C/svg%3E") no-repeat; }
.sky-concrete .sky-headgroup::before, .sky-paper .sky-headgroup::before { background: var(--sky-blue); }

/* The painted lane: one dashed line in the left gutter runs down the whole
   page on screens wide enough to have a gutter. */
@media (min-width: 1400px) {
  [data-sky] main { position: relative; }
  [data-sky] main::before { content: ""; position: absolute; z-index: 3; top: 0; bottom: 0; left: max(12px, calc((100% - var(--sky-wrap)) / 2 - 36px)); width: 4px; background: repeating-linear-gradient(180deg, var(--sky-accent) 0 22px, transparent 22px 40px); opacity: .55; pointer-events: none; }
}
@media print { [data-sky] main::before { display: none; } }

/* Ruled lists instead of same-size tile grids (why-SkyPark, hotel details). */
.sky-ruled { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 0 clamp(14px, 2.4vw, 34px); margin: 0; padding: 0; list-style: none; }

/* Finish round 2 */
[data-sky] :is(.sp-review-stars, .sp-review-rating, .gr-card-stars) { flex: none; min-width: 86px; }
/* Lane links are ruled rows, not raised tiles with a side stripe. */
.sky-lanes { gap: 0 clamp(12px, 1.8vw, 24px); }
.sky-lanes a { min-height: 58px; padding: 12px 4px; border-radius: 0; background: none; box-shadow: none; border-top: 2px solid var(--sky-ink); }
.sky-lanes a::before { display: none; }
.sky-lanes a:hover { box-shadow: none; transform: none; color: var(--sky-blue-deep); }
.sky-lanes a[aria-current] { color: var(--sky-blue-deep); border-top-style: dashed; }
.sky-concrete .sky-lanes a { background: none; }
.sky-asphalt .sky-lanes a { color: var(--sky-paint); border-top-color: var(--sky-rule-dark); }
/* Related links close each secondary page inside the footer's white logo
   band: one compact row of links (and social buttons), no separate heading. */
.sky-section--tight.sky-page-links { padding-block: clamp(10px, 1.4vw, 16px) 0; background: var(--sky-paper); }
.sky-page-links .sky-headgroup { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sky-page-links .sky-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 8px clamp(12px, 2vw, 28px); }
.sky-page-links .sky-lanes { flex: 1 1 560px; display: flex; flex-wrap: wrap; gap: 0 clamp(14px, 2vw, 28px); }
.sky-page-links .sky-lanes li { flex: 0 1 auto; }
.sky-page-links .sky-lanes a { min-height: 44px; gap: 10px; padding: 8px 2px; border-top: 0; border-bottom: 2px solid var(--sky-ink); }
.sky-page-links .sky-lanes a[aria-current] { border-bottom-style: dashed; }
.sky-page-links .rc-social { margin: 0; }
.sky-page-links .rc-social .ssd-btn { width: 44px; height: 44px; }
/* The gutter lane reaches laptop widths. */
@media (min-width: 1024px) and (max-width: 1399px) {
  [data-sky] main { position: relative; }
  [data-sky] main::before { content: ""; position: absolute; z-index: 3; top: 0; bottom: 0; left: 12px; width: 4px; background: repeating-linear-gradient(180deg, var(--sky-accent) 0 22px, transparent 22px 40px); opacity: .5; pointer-events: none; }
}

/* Package cards (Park & Rest, Rent & Rest, Family Space): shared so every service site
   can show the combined offers; markup is copied from the portal by packs/build.py. */
.pt-packs { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.pt-pack { padding-top: 16px; }
.pt-pack .sky-bay__num { font-size: var(--sky-fs-xl); }
.pt-pack__deal { display: inline-flex; align-self: flex-start; margin-bottom: 12px; padding: 6px 10px; border-radius: var(--sky-r1); background: var(--sky-asphalt); color: var(--sky-paint); font-weight: 850; font-size: var(--sky-fs-s); }
.pt-pack.sky-bay--featured .pt-pack__deal { background: var(--sky-blue); }
.pt-pack__tag { margin-top: 4px; color: var(--sky-blue); font-weight: 750; }
.pt-legs { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0 12px; }
.pt-legs span { display: inline-flex; align-items: center; gap: 8px; padding: 7px 10px; border-radius: var(--sky-r1); background: var(--sky-concrete); font-size: var(--sky-fs-s); font-weight: 700; }
.pt-legs span::before { content: ""; width: 10px; height: 10px; border-radius: 1px; background: var(--c); box-shadow: 0 0 0 1px rgba(14, 27, 45, .2); }
.pt-list { display: grid; gap: 10px; margin: 0 0 12px; padding: 0; list-style: none; font-size: var(--sky-fs-s); }
.pt-list li { position: relative; padding-left: 26px; }
.pt-list li::before { content: ""; position: absolute; left: 0; top: .45em; width: 14px; height: 8px; border-left: 3px solid var(--sky-blue); border-bottom: 3px solid var(--sky-blue); transform: rotate(-45deg); }
/* Icons name each leg and perk; a leg keeps its service colour as a paint stripe. */
.pt-legs span:has(> .sky-ico) { box-shadow: inset 3px 0 0 var(--c); padding-left: 12px; }
.pt-legs span:has(> .sky-ico)::before { display: none; }
.pt-legs .sky-ico { width: 20px; height: 20px; color: var(--sky-ink); }
.pt-list li:has(> .sky-ico) { padding-left: 32px; }
.pt-list li:has(> .sky-ico)::before { display: none; }
.pt-list .sky-ico { position: absolute; left: 0; top: .05em; width: 22px; height: 22px; color: var(--sky-blue); }
.pt-pack__for { margin-top: auto; margin-bottom: 12px; padding-top: 12px; border-top: 1px dashed var(--sky-rule); color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sky-paid-note { margin: 8px 0 0; font-size: var(--sky-fs-s); font-style: italic; opacity: .85; }
.pt-pack__note { display: block; margin-top: 4px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-style: italic; }
@media (max-width: 960px) { .pt-packs { grid-template-columns: 1fr; } }
/* Owner 2026-10-04: badge, name and tagline share one line and the legs one
   row, so a card spends its height on what is included. */
.pt-legs { gap: 6px; }
.pt-legs span { gap: 6px; padding: 5px 9px; max-width: 100%; }
.pt-legs span:has(> .sky-ico) { padding-left: 10px; }
.pt-legs .sky-ico { width: 18px; height: 18px; }
@media (min-width: 1200px), (min-width: 560px) and (max-width: 960px) {
  .pt-packs > .pt-pack { display: grid; grid-template-columns: auto auto minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto auto; column-gap: 10px; align-items: center; }
  .pt-packs > .pt-pack > * { grid-column: 1 / -1; }
  .pt-packs > .pt-pack > .pt-pack__deal { grid-column: 1; margin: 0; }
  .pt-packs > .pt-pack > .sky-bay__title { grid-column: 2; margin: 0; white-space: nowrap; }
  .pt-packs > .pt-pack { padding-inline: 16px; }
  .pt-packs > .pt-pack > .pt-pack__deal { padding: 4px 8px; }
  .pt-packs > .pt-pack > .sky-bay__title { font-size: var(--sky-fs-m); }
  .pt-packs > .pt-pack > .pt-pack__tag { grid-column: 3; margin: 0; font-size: var(--sky-fs-s); }
  .pt-packs > .pt-pack > .pt-legs { flex-wrap: wrap; gap: 4px; }
  .pt-packs > .pt-pack > .pt-legs span { padding: 4px 7px 4px 9px; gap: 5px; }
  .pt-packs > .pt-pack > .pt-list { align-self: start; }
  .pt-packs > .pt-pack > .pt-pack__for { align-self: end; }
}
.pt-packs-solo .sky-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: clamp(16px, 3vw, 44px); align-items: start; }
.pt-packs-solo .sky-headgroup { margin-bottom: 0; position: sticky; top: 96px; }
.pt-packs-solo .pt-packs { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 900px) { .pt-packs-solo .sky-wrap { grid-template-columns: 1fr; } .pt-packs-solo .sky-headgroup { position: static; } }
.sky-packs__all { margin-top: 12px; }
.sky-packs__all a { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; color: var(--sky-blue); font-weight: 800; text-decoration: none; }
.sky-packs__all a:hover { text-decoration: underline; }
/* On the service homes (packs/build.py) the offers take one short row: a
   single package is one horizontal card beside its heading; the hotel's three
   sit under a one-line heading. */
.sky-packs { padding-block: clamp(24px, 3vw, 40px); }
.sky-packs .sky-headgroup { gap: 4px; }
.sky-packs .sky-h2 { font-size: var(--sky-fs-l); }
.sky-packs .sky-headgroup p { font-size: var(--sky-fs-s); }
.sky-packs .sky-packs__all { margin-top: 4px; }
.sky-packs .pt-pack { padding: 12px 16px 14px; }
.sky-packs .pt-pack__deal { margin-bottom: 6px; }
.sky-packs .pt-legs { margin: 8px 0; }
.sky-packs .pt-list { gap: 6px; margin-bottom: 8px; }
.sky-packs .pt-pack__for { margin-bottom: 8px; padding-top: 8px; }
.sky-packs:not(.pt-packs-solo) .sky-headgroup { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; max-width: none; margin-bottom: 14px; }
.sky-packs:not(.pt-packs-solo) .sky-packs__all { margin: 0 0 0 auto; }
.sky-packs:not(.pt-packs-solo) .sky-packs__all a { min-height: 0; }
@media (min-width: 1024px) {
  .sky-packs:not(.pt-packs-solo) .sky-headgroup { flex-wrap: nowrap; }
  .sky-packs:not(.pt-packs-solo) .sky-headgroup > * { flex: none; width: auto; margin: 0; }
  .sky-packs:not(.pt-packs-solo) .sky-headgroup > p:not(.sky-packs__all) { flex: 1 1 auto; min-width: 0; }
}
@media (min-width: 901px) {
  .sky-packs.pt-packs-solo .sky-wrap { grid-template-columns: minmax(0, 3fr) minmax(0, 8fr); align-items: center; }
  .sky-packs.pt-packs-solo .sky-headgroup { position: static; }
  .sky-packs.pt-packs-solo .pt-pack { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); grid-template-areas: "deal list" "title list" "tag list" "legs list" "for btn"; column-gap: 28px; align-items: start; }
  .sky-packs.pt-packs-solo .pt-pack__deal { grid-area: deal; justify-self: start; }
  .sky-packs.pt-packs-solo .sky-bay__title { grid-area: title; }
  .sky-packs.pt-packs-solo .pt-pack__tag { grid-area: tag; }
  .sky-packs.pt-packs-solo .pt-legs { grid-area: legs; margin-bottom: 0; }
  .sky-packs.pt-packs-solo .pt-list { grid-area: list; align-self: center; margin: 0; }
  .sky-packs.pt-packs-solo .pt-pack__for { grid-area: for; align-self: end; margin: 10px 0 0; }
  .sky-packs.pt-packs-solo .pt-pack > .sky-btn { grid-area: btn; align-self: end; margin-top: 10px; }
}

/* ------------------------------------------------ Amenity micro-motion */
/* <i class="sky-ico" data-motion="drive|pan|flash|drop|spin|settle|rise|turn|flame">
   plays one short motion twice once its revealed ancestor is in view
   (staggered by --i). Transform/opacity only; reduced motion keeps it still. */
.sky-bay__ico { display: block; margin-bottom: 12px; color: var(--sky-blue); }
.sky-bay__ico .sky-ico { width: 34px; height: 34px; }
.sky-asphalt .sky-bay__ico { color: var(--sky-accent); }
@media (prefers-reduced-motion: no-preference) {
  .is-in .sky-ico[data-motion], .sky-ico[data-motion].is-in { animation: var(--motion, none) 1.5s var(--sky-ease) calc(450ms + var(--i, 0) * 140ms) 2 both; }
  .sky-ico[data-motion="drive"] { --motion: sky-m-drive; }
  .sky-ico[data-motion="pan"] { --motion: sky-m-pan; transform-origin: 80% 40%; }
  .sky-ico[data-motion="flash"] { --motion: sky-m-flash; }
  .sky-ico[data-motion="drop"] { --motion: sky-m-drop; }
  .sky-ico[data-motion="spin"] { --motion: sky-m-spin; }
  .sky-ico[data-motion="settle"] { --motion: sky-m-settle; }
  .sky-ico[data-motion="rise"] { --motion: sky-m-rise; }
  .sky-ico[data-motion="turn"] { --motion: sky-m-turn; transform-origin: 35% 65%; }
  .sky-ico[data-motion="flame"] { --motion: sky-m-flame; transform-origin: 50% 100%; }
}
@keyframes sky-m-drive { 0%, 100% { transform: none; } 40% { transform: translateX(5px); } 70% { transform: translateX(-2px); } }
@keyframes sky-m-pan { 0%, 100% { transform: rotate(0); } 35% { transform: rotate(-14deg); } 70% { transform: rotate(10deg); } }
@keyframes sky-m-flash { 0%, 100% { opacity: 1; } 25% { opacity: .25; } 50% { opacity: 1; } 65% { opacity: .4; } }
@keyframes sky-m-drop { 0% { transform: translateY(-6px); opacity: .3; } 50%, 100% { transform: none; opacity: 1; } }
@keyframes sky-m-spin { to { transform: rotate(360deg); } }
@keyframes sky-m-settle { 0%, 100% { transform: none; } 50% { transform: scale(.82); } }
@keyframes sky-m-rise { 0% { transform: translate(-4px, 4px); } 50% { transform: translate(3px, -4px); } 100% { transform: none; } }
@keyframes sky-m-turn { 0%, 100% { transform: rotate(0); } 45% { transform: rotate(-40deg); } }
@keyframes sky-m-flame { 0%, 100% { transform: none; } 30% { transform: scaleY(1.12); } 60% { transform: scaleY(.94); } }


/* ---------------------------------------------------------- Density */
/* Owner brief 2026-10-03: four type sizes, larger text, less air, related
   facts on one line. Rules here only regroup; they never hide content. */

/* The chevron mark shares the heading's line. */
.sky-headgroup { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; max-width: 980px; }
.sky-headgroup::before { flex: none; margin-bottom: 0; }
.sky-headgroup > :first-child { flex: 1 1 0; min-width: min(100%, 14ch); }
.sky-headgroup > * + * { flex: 1 1 100%; }

/* Step and story numerals sit beside their title, not above it. */
.sky-steps > li, .sky-steps--long > li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 12px; align-content: start; padding-top: 0; }
.sky-steps > li::before { position: static; grid-row: 1 / span 4; }
.sky-steps > li::after, .sky-steps--long > li:last-child::after { display: none; }
.sky-steps > li > * { grid-column: 2; }
.sky-steps p { margin-top: 4px; }
.sky-leg { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; align-items: center; align-content: start; }
.sky-leg .sky-leg__num, .sky-scenes .sky-leg__num { margin-bottom: 0; line-height: 1; }
.sky-leg > :not(.sky-leg__num):not(.sky-leg__title) { grid-column: 1 / -1; }
.sky-leg p { max-width: 52ch; margin-top: 8px; }
.sky-scenes__legs { min-height: 11.5rem; }
.sky-scenes { contain-intrinsic-size: auto 560px; }
@media (max-width: 900px) { .sky-scenes__legs { min-height: 12.5rem; } }

/* Hero photographs are landscape so the first screen holds the offer. */
.sky-hero .sky-photo-bay img { aspect-ratio: 4 / 3; }
.sky-ticklist { gap: 6px; }
.sky-scores { gap: 4px 20px; }

/* Footer links flow on a line where a mouse is the pointer; touch keeps 44px rows. */
@media (hover: hover) and (pointer: fine) and (min-width: 720px) {
  .sky-footer ul { display: flex; flex-wrap: wrap; gap: 0 18px; }
  .sky-footer a { min-height: 34px; }
  .sky-footer h2 { margin-bottom: 4px; }
  .sky-footer__bottom { margin-top: 16px; }
}

/* Wizard rows: step title and its hint on one line. */
@media (min-width: 641px) {
  .sc-wizard-panel-heading > span:nth-child(2) { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 12px; }
  .sc-wizard-panel-heading small { margin-top: 0; }
  .sc-wizard-panel-heading { min-height: 56px; }
}

/* Bare <small> falls to the small token, not the browser 83% default. */
:where([data-sky]) small { font-size: var(--sky-fs-s); }

/* ------------------------------------------------------------ Stepper */
/* Number with − and + buttons (sky.js moves it within min/max). */
.sky-stepper { display: inline-flex; align-items: stretch; height: 36px; border: 1px solid var(--sky-rule); border-radius: var(--sky-r1); background: var(--sky-paper); overflow: hidden; }
.sky-stepper button { width: 34px; border: 0; background: var(--sky-concrete); color: var(--sky-ink); font: inherit; font-size: var(--sky-fs-m); font-weight: 800; line-height: 1; cursor: pointer; }
.sky-stepper button:hover:not(:disabled) { background: var(--sky-concrete-2); }
.sky-stepper button:disabled { color: var(--sky-ink-3); opacity: .5; cursor: default; }
.sky-stepper button:focus-visible { outline: 3px solid #8fd0ff; outline-offset: -3px; }
.sky-stepper input { width: 38px; min-width: 0; border: 0; padding: 0; text-align: center; font: inherit; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--sky-ink); background: transparent; -moz-appearance: textfield; appearance: textfield; }
.sky-stepper input::-webkit-outer-spin-button, .sky-stepper input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.sky-stepper input:disabled { color: var(--sky-ink-3); }

/* Ticked summary lines: what is being paid for, one per line. */
.sky-ticks { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.sky-ticks li { display: grid; grid-template-columns: 14px minmax(0, 1fr) auto; gap: 8px; align-items: baseline; font-size: var(--sky-fs-s); line-height: 1.35; }
.sky-ticks li::before { content: ""; width: 9px; height: 5px; margin-bottom: 3px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); opacity: .8; }
.sky-ticks li b { white-space: nowrap; font-variant-numeric: tabular-nums; }
.sky-ticks .is-discount { color: #7ee2b0; }
.sky-ticks .is-muted { opacity: .75; }


/* sky-icons:start (generated by icons.py) */
.sky-ico { display: inline-block; flex: none; width: 1.25em; height: 1.25em; vertical-align: -.25em; background: currentColor; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
[data-ico="bed"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2018.5V6.5M3%2014.5h18v4M21%2014.5V12a2.5%202.5%200%200%200-2.5-2.5H11v5%27%2F%3E%3Ccircle%20cx%3D%277%27%20cy%3D%2711.5%27%20r%3D%271.8%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="moon"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M19.5%2014.5A8%208%200%201%201%209.5%204.5a6.5%206.5%200%200%200%2010%2010Z%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="parking"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%273.5%27%20width%3D%2717%27%20height%3D%2717%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M9.5%2017V7h3.3a3%203%200%200%201%200%206H9.5%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="car"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3.5%2016.5V12l2.2-5h12.6l2.2%205v4.5ZM5.5%2012h13%27%2F%3E%3Ccircle%20cx%3D%277.5%27%20cy%3D%2716.5%27%20r%3D%271.8%27%2F%3E%3Ccircle%20cx%3D%2716.5%27%20cy%3D%2716.5%27%20r%3D%271.8%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="minibus"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2016.5v-10A1.5%201.5%200%200%201%204.5%205H17l4%205v6.5ZM3%2010.5h18M8.5%205v5.5M13.5%205v5.5%27%2F%3E%3Ccircle%20cx%3D%277%27%20cy%3D%2717%27%20r%3D%271.8%27%2F%3E%3Ccircle%20cx%3D%2717%27%20cy%3D%2717%27%20r%3D%271.8%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="cup"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%209h12v5a5%205%200%200%201-5%205H9a5%205%200%200%201-5-5ZM16%2010.5h1.5a2.5%202.5%200%200%201%200%205h-2M8%203.5c-.8%201%20.8%202%200%203M12%203.5c-.8%201%20.8%202%200%203%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="luggage"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%275.5%27%20y%3D%277%27%20width%3D%2713%27%20height%3D%2712.5%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M9.5%207V4.5h5V7M9%2010.5v6M15%2010.5v6M8%2019.5v1M16%2019.5v1%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="plane"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%2020.5h18M4.5%2014.5%203%2010l2-.5%202.5%202.5%204-1.5L9%204.5l2.5-.8%205%205.8%203.5-1.2a1.6%201.6%200%200%201%201%203L6.5%2015.5Z%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="key"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%278%27%20cy%3D%2715.5%27%20r%3D%274%27%2F%3E%3Cpath%20d%3D%27M11%2012.5l8-8M16%207.5l2.5%202.5M13.8%209.7l2%202%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="document"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%203.5h8l4%204v13H6ZM14%203.5v4h4M9%2011.5h6M9%2014.5h4M9%2018c1-.9%201.8-.9%202.5%200s1.5.9%202.5%200%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="home"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3.5%2011%2012%204l8.5%207M6%209.5V20h12V9.5M10%2020v-5h4v5%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="doors"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%274%27%20width%3D%277%27%20height%3D%2716%27%20rx%3D%271%27%2F%3E%3Crect%20x%3D%2713.5%27%20y%3D%274%27%20width%3D%277%27%20height%3D%2716%27%20rx%3D%271%27%2F%3E%3Cpath%20d%3D%27M8.2%2012.5h.01M15.8%2012.5h.01%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="cot"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%204.5v16M20%204.5v16M4%209h16M4%2017h16M8%209v8M12%209v8M16%209v8%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="family"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%278%27%20cy%3D%276.5%27%20r%3D%272.3%27%2F%3E%3Ccircle%20cx%3D%2716%27%20cy%3D%276.5%27%20r%3D%272.3%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712.5%27%20r%3D%271.8%27%2F%3E%3Cpath%20d%3D%27M4%2020v-5.5A3.5%203.5%200%200%201%207.5%2011h1M20%2020v-5.5a3.5%203.5%200%200%200-3.5-3.5h-1M9%2020v-2.5a3%203%200%200%201%206%200V20%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="cctv"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3%207.5%2016%204l1.5%205.5L4.5%2013ZM17%207l3.5-1v5l-3%20.8M10%2011.5l1%204H6.5M6.5%2013.5v6%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="bolt"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M13%202.5%205%2013.5h6l-1%208%208-11h-6Z%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="battery"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%277%27%20width%3D%2718%27%20height%3D%2712%27%20rx%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M7%207V5h3v2M14%207V5h3v2M6.5%2013h3.5M14%2013h3.5M15.75%2011.25v3.5%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="wash"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203.5s-6%206.5-6%2010.5a6%206%200%200%200%2012%200c0-4-6-10.5-6-10.5ZM9.5%2014.5a2.5%202.5%200%200%200%202.5%202.5%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="radar"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278.5%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274.5%27%2F%3E%3Cpath%20d%3D%27M12%2012l6-6%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="roof"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2.5%2010.5%2012%205l9.5%205.5M6.5%2019.5v-3.5l1.5-3h8l1.5%203v3.5Z%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="pavers"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M3.5%203.5h17v17h-17ZM3.5%209.2h17M3.5%2014.8h17M9%203.5v5.7M15%203.5v5.7M6.2%209.2v5.6M12%209.2v5.6M17.8%209.2v5.6M9%2014.8v5.7M15%2014.8v5.7%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="shield"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%203%204.5%206v5.5c0%204.5%203.2%208%207.5%209.5%204.3-1.5%207.5-5%207.5-9.5V6ZM8.5%2012l2.5%202.5%204.5-5%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="clock"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278.5%27%2F%3E%3Cpath%20d%3D%27M12%207.5V12l3%202%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="road"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M8%203.5%204.5%2020.5M16%203.5l3.5%2017M12%205v2.5M12%2010.5v3M12%2016.5v3%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="grill"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M4%209.5h16a8%208%200%200%201-16%200ZM8%2017l-2%204M16%2017l2%204M12%2017.5v3.5M9%203.5c-.8%201%20.8%202%200%203M12%203c-.8%201%20.8%202%200%203M15%203.5c-.8%201%20.8%202%200%203%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="music"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M9%2018V5.5l11-2V16%27%2F%3E%3Ccircle%20cx%3D%276.5%27%20cy%3D%2718%27%20r%3D%272.5%27%2F%3E%3Ccircle%20cx%3D%2717.5%27%20cy%3D%2716%27%20r%3D%272.5%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="snow"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%202.5v19M3.8%207.2l16.4%209.6M3.8%2016.8l16.4-9.6M9.5%204l2.5%202%202.5-2M9.5%2020l2.5-2%202.5%202%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="gps"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M12%2021s-6.5-6-6.5-11a6.5%206.5%200%200%201%2013%200c0%205-6.5%2011-6.5%2011Z%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2710%27%20r%3D%272.3%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="seat"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M7%203.5h5l1%209H7.5ZM7.5%2012.5%206%2020.5M13%2012.5h4.5l1.5%208M9.5%2016h8%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="wifi"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M2.5%209a14%2014%200%200%201%2019%200M5.5%2012.5a9.5%209.5%200%200%201%2013%200M8.5%2016a5%205%200%200%201%207%200%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2719%27%20r%3D%27.9%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="euro"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M17.5%206.5A6.5%206.5%200%201%200%2017.5%2017.5M4%2010.5h9M4%2013.5h9%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="check"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m4.5%2012.5%205%205%2010-11%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="calendar"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%275%27%20width%3D%2717%27%20height%3D%2715.5%27%20rx%3D%272%27%2F%3E%3Cpath%20d%3D%27M3.5%2010h17M8%203v4M16%203v4M8%2014h2M14%2014h2M8%2017h2%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="phone"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6.5%203.5h3l1.5%204.5-2%201.5a11%2011%200%200%200%205.5%205.5l1.5-2%204.5%201.5v3a2%202%200%200%201-2%202A16%2016%200%200%201%204.5%205.5a2%202%200%200%201%202-2Z%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="mail"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275.5%27%20width%3D%2718%27%20height%3D%2713%27%20rx%3D%271.5%27%2F%3E%3Cpath%20d%3D%27m3.5%206.5%208.5%207%208.5-7%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="star"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m12%203.5%202.6%205.4%205.9.8-4.3%204.1%201%205.8L12%2016.8l-5.2%202.8%201-5.8-4.3-4.1%205.9-.8Z%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="fuel"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M5%2020.5V5a1.5%201.5%200%200%201%201.5-1.5h6A1.5%201.5%200%200%201%2014%205v15.5M3.5%2020.5h12M5%2010.5h9M14%208.5l3%202.5v6.5a1.5%201.5%200%200%200%203%200V9l-3-3%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="card"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273%27%20y%3D%275.5%27%20width%3D%2718%27%20height%3D%2713%27%20rx%3D%271.5%27%2F%3E%3Cpath%20d%3D%27M3%209.5h18M6.5%2015h4%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="globe"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%278.5%27%2F%3E%3Cpath%20d%3D%27M3.5%2012h17M12%203.5c2.4%202.6%203.5%205.5%203.5%208.5s-1.1%205.9-3.5%208.5c-2.4-2.6-3.5-5.5-3.5-8.5s1.1-5.9%203.5-8.5Z%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="facebook"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M14%2021v-7.5h2.6l.4-3H14V8.6c0-.9.3-1.5%201.6-1.5H17V4.4a20%2020%200%200%200-2.3-.1c-2.3%200-3.9%201.4-3.9%204v2.2H8.3v3h2.5V21%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="instagram"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Crect%20x%3D%273.5%27%20y%3D%273.5%27%20width%3D%2717%27%20height%3D%2717%27%20rx%3D%275%27%2F%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%274%27%2F%3E%3Ccircle%20cx%3D%2717.2%27%20cy%3D%276.8%27%20r%3D%27.6%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="tiktok"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M13.5%203.5v11.8a3.3%203.3%200%201%201-3.3-3.3M13.5%203.5c.4%202.7%202.4%204.7%205%204.9%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="waze"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%2016.5c-1.6-.4-2.5-1.6-2.5-2.8%201.1%200%201.6-.7%201.6-2.2A7%207%200%200%201%2012%204.5a7%207%200%200%201%207.5%207c0%203.7-3%206-6.5%206H10%27%2F%3E%3Ccircle%20cx%3D%278.2%27%20cy%3D%2718.3%27%20r%3D%271.6%27%2F%3E%3Ccircle%20cx%3D%2715.3%27%20cy%3D%2718.3%27%20r%3D%271.6%27%2F%3E%3Cpath%20d%3D%27M9.8%2010.2h.01M14.2%2010.2h.01M9.6%2013.2c1.4%201%203.4%201%204.8%200%27%2F%3E%3C%2Fsvg%3E"); }
[data-ico="catering"] { --ico: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%271.8%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M6%203.5v6a2%202%200%200%200%204%200v-6M8%209.5v11M16.5%2020.5v-17c-2%201-3%203.5-3%206.5v3h3%27%2F%3E%3C%2Fsvg%3E"); }
/* sky-icons:end */

/* ------------------------------------------------- Package suggestions */
/* Under each booking form: the packages that add the other services. */
.sky-upsell { margin-top: 12px; padding: 10px 12px 12px; border-radius: var(--sky-r2); background: var(--sky-paper); box-shadow: var(--sky-e1); color: var(--sky-ink); }
.sky-upsell__q { margin: 0 0 8px; font-size: var(--sky-fs-s); font-weight: 800; }
.sky-upsell ul { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.sky-upsell li[hidden] { display: none; }
.sky-upsell__pack { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "deal go" "name go"; align-items: center; gap: 4px 10px; padding: 8px 10px; border-left: 3px solid var(--sky-accent); border-radius: var(--sky-r1); background: var(--sky-concrete); color: inherit; text-decoration: none; transition: background-color var(--sky-t2); }
.sky-upsell__pack:hover { background: var(--sky-concrete-2); }
.sky-upsell__pack:focus-visible { outline: 3px solid var(--sky-blue); outline-offset: 2px; }
.sky-upsell__deal { grid-area: deal; justify-self: start; padding: 2px 6px; border-radius: var(--sky-r1); background: var(--sky-blue); color: #fff; font-size: var(--sky-fs-s); font-weight: 800; white-space: nowrap; }
.sky-upsell__name { grid-area: name; display: grid; min-width: 0; line-height: 1.25; }
.sky-upsell__name b { font-size: var(--sky-fs-s); font-weight: 800; }
.sky-upsell__name small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sky-upsell__go { grid-area: go; color: var(--sky-blue-deep); font-size: var(--sky-fs-s); font-weight: 800; white-space: nowrap; }
.sky-upsell__go::after { content: " →"; }

/* ------------------------------------------- Scene player as page hero */
/* Left: copy (h1, offer, actions) and every step as a compact list, the
   active one lit. Right: the running scene and its step bars. */
.sky-scenes--hero { content-visibility: visible; contain-intrinsic-size: none; padding-block: clamp(14px, 2.4vw, 34px) clamp(18px, 2.6vw, 36px); }
.sky-scenes--hero .sky-scenes__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: center; gap: clamp(16px, 2.6vw, 36px); }
.sky-scenes--hero .sky-scenes__copy { display: block; }
.sky-scenes__play { display: grid; gap: 4px; min-width: 0; }
.sky-scenes--hero .sky-scenes__legs { min-height: 0; display: grid; gap: 4px; margin-top: 12px; padding-top: 8px; border-top: 1px solid var(--sky-rule-dark); }
.sky-scenes--hero .sky-leg { grid-area: auto; display: block; opacity: 1; transform: none; pointer-events: auto; min-height: 44px; padding: 10px 12px 10px 14px; white-space: normal; border-left: 3px solid transparent; border-radius: 0 6px 6px 0; line-height: 1.4; color: var(--sky-mist-2); transition: border-color var(--sky-t2), color var(--sky-t2), background-color var(--sky-t2); cursor: pointer; }
.sky-scenes--hero .sky-leg:hover { background: rgba(244, 247, 251, .06); color: var(--sky-mist); }
.sky-scenes--hero .sky-leg.is-active { background: rgba(244, 247, 251, .08); }
.sky-scenes--hero .sky-leg.is-active { border-left-color: var(--sky-accent); color: var(--sky-mist); }
.sky-scenes--hero .sky-leg__num { display: inline-block; margin: 0 8px 0 0; font-size: var(--sky-fs-m); line-height: 1; vertical-align: -.08em; -webkit-text-stroke-width: 1.6px; opacity: .6; }
.sky-scenes--hero .sky-leg.is-active .sky-leg__num { opacity: 1; }
.sky-scenes--hero .sky-leg > * { white-space: inherit; }
.sky-scenes--hero .sky-leg__title { display: inline; font-size: var(--sky-fs-s); line-height: inherit; color: var(--sky-mist); }
.sky-scenes--hero .sky-leg.is-active .sky-leg__title { color: var(--sky-paint); }
.sky-scenes--hero .sky-leg p { display: inline; max-width: none; margin: 0 0 0 6px; font-size: var(--sky-fs-s); color: inherit; }
.sky-scenes--hero .sky-leg .sky-link { display: inline; margin: 0 0 0 8px; font-size: var(--sky-fs-s); white-space: nowrap; }
.sky-scenes--hero .sky-leg .sky-btn { display: none; }
.sky-scenes--hero .sky-scenes__controls { gap: 8px; }
.sky-scenes--hero .sky-scenes__steps button { padding: 10px 0; }
/* Phones: headline and offer first, then the running scene, then the steps. */
@media (max-width: 900px) {
  .sky-scenes--hero .sky-scenes__grid { display: flex; flex-direction: column; align-items: stretch; gap: 0; }
  .sky-scenes--hero .sky-scenes__copy { display: contents; }
  .sky-scenes--hero .sky-scenes__play { order: 1; margin-top: 16px; }
  .sky-scenes--hero .sky-scenes__legs { order: 2; margin-top: 4px; }
}

/* --- Booking summaries: chosen extras, one per line (handoff 2026-10-04) --- */
.sky-summary__extras span { display: block; }
.sky-summary__extras span + span { margin-top: 4px; }
.rc-trip__extras { margin: 0; font-size: var(--sky-fs-s); }
.rc-trip__extras[hidden] { display: none; }

/* Amenities grid (owner 2026-10-04): every "why us / facilities / included"
   list is one dense grid of icon tiles, 3–4 per row, one short line each. */
.sky-amen { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 8px; margin: 0; padding: 0; list-style: none; }
.sky-amen > li { display: grid; grid-template-columns: 28px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; row-gap: 1px; align-items: center; align-content: center; min-height: 58px; padding: 9px 12px; border-radius: var(--sky-r1); background: var(--sky-concrete); box-shadow: inset 3px 0 0 var(--sky-accent, var(--sky-blue)); }
.sky-concrete .sky-amen > li { background: var(--sky-paper); }
.sky-asphalt .sky-amen > li { background: var(--sky-asphalt-2); }
.sky-amen .sky-ico { grid-row: 1 / span 2; width: 28px; height: 28px; color: var(--sky-blue); }
.sky-asphalt .sky-amen .sky-ico { color: var(--sky-accent); }
.sky-amen b { font-size: var(--sky-fs-s); font-weight: 800; line-height: 1.25; color: var(--sky-ink); }
.sky-amen span { font-size: var(--sky-fs-s); font-weight: 400; line-height: 1.3; color: var(--sky-ink-2); }
.sky-asphalt .sky-amen b { color: var(--sky-paint); }
.sky-asphalt .sky-amen span { color: var(--sky-mist); }
.sky-amen > li:hover .sky-ico { transform: translateY(-2px); }
.sky-amen .sky-ico { transition: transform var(--sky-t2) var(--sky-ease); }
@media (max-width: 560px) {
  .sky-amen { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .sky-amen > li { grid-template-columns: 1fr; row-gap: 4px; align-content: start; padding: 10px; }
  .sky-amen .sky-ico { grid-row: auto; width: 26px; height: 26px; }
}
.sky-amen-sec .sky-headgroup { margin-bottom: 14px; }

/* Footer 2026-10-04 (owner): the whole footer is white, one panel with the
   logo band, so the logo reads on every site; a painted dashed edge marks
   where the page ends. */
.sky-footer.sky-asphalt { background: var(--sky-paper); color: var(--sky-ink-2); border-top: 1px solid var(--sky-rule); }
.sky-footer.sky-asphalt::before { display: none; }
.sky-footer h2 { color: var(--sky-ink); }
.sky-footer a { color: var(--sky-ink); }
.sky-footer a:hover { color: var(--sky-blue-deep); }
.sky-footer__lead::after { top: 0; bottom: auto; }
.sky-footer__top > .sky-footer__lead { margin-bottom: 4px; }
.sky-footer__bottom { border-top-color: var(--sky-rule); color: var(--sky-ink-2); }
.sky-footer .sky-lang > button { border-color: var(--sky-mist); color: var(--sky-ink); }
.sky-footer .sky-lang > button:hover { border-color: var(--sky-ink); }
[data-sky] .sky-footer :focus-visible { outline-color: var(--sky-blue); }

/* Dock language button: same round plate as call / e-mail / maps. */
.sky-dock__lang { pointer-events: auto; position: relative; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 2px solid #fff; border-radius: 50%; background: #fff; color: var(--sky-ink); box-shadow: 0 12px 26px -12px rgba(0, 0, 0, .55), inset 0 0 0 2px var(--sky-blue); font: inherit; cursor: pointer; transition: transform var(--sky-t2) var(--sky-ease); }
.sky-dock__lang b { font-size: var(--sky-fs-s); font-weight: 900; letter-spacing: .02em; }
.sky-dock__lang:hover { transform: scale(1.06); }
.sky-dock__lang:focus-visible { outline: 3px solid var(--sky-blue-deep); outline-offset: 3px; }
.sky-dock__lang:hover span, .sky-dock__lang:focus-visible span { opacity: 1; transform: translate(0, -50%); }
.sky-dock-langs { position: fixed; z-index: 96; display: grid; min-width: 200px; padding: 6px; border-radius: var(--sky-r2); background: #fff; box-shadow: var(--sky-e3); }
.sky-dock-langs[hidden] { display: none; }
.sky-dock-langs a { display: flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 12px; border-radius: var(--sky-r1); color: var(--sky-ink); text-decoration: none; font-weight: 650; }
.sky-dock-langs a b { width: 26px; font-size: var(--sky-fs-s); color: var(--sky-ink-3); }
.sky-dock-langs a:hover, .sky-dock-langs a[aria-current="true"] { background: var(--sky-concrete); }
@media (max-width: 720px) {
  .sky-dock__lang { width: 44px; height: 44px; }
  .sky-dock .sky-dock__list .sky-dock__lang { opacity: 0; visibility: hidden; transform: translateY(16px) scale(.6); transition: transform var(--sky-t2) var(--sky-ease), opacity var(--sky-t1), visibility 0s var(--sky-t2); }
  .sky-dock.is-open .sky-dock__list .sky-dock__lang { opacity: 1; visibility: visible; transform: none; transition: transform var(--sky-t3) var(--sky-ease), opacity var(--sky-t2), visibility 0s; transition-delay: 120ms; }
  .sky-dock.is-open .sky-dock__lang span { opacity: 1; transform: translate(0, -50%); }
}

/* Round 6 footer: every block is one stacked column; a long list (Servicii SkyCenter,
   Informații utile) splits into two columns so the footer stays short. The language
   button lives in the dock; the footer keeps its list only as the dock's source. */
.sky-footer__top ul { display: grid; grid-template-columns: 1fr; gap: 0; }
.sky-footer__top ul:has(> li:nth-child(5)) { grid-template-columns: repeat(2, minmax(0, max-content)); column-gap: 24px; }
.sky-footer__top a { min-height: 36px; }
.sky-footer .sky-lang { display: none; }
@media (max-width: 520px) { .sky-footer__top a { min-height: 44px; } }

/* ===== Booking card: one design for parking, hotel, rent and packages =====
   (owner round 6, #67; the hotel form is the model). A compact card (.sb)
   beside a dark summary (.sky-summary.sb-summary) that holds the payment
   choice and the one Rezervă button. Hooks stay per flow (data-*). */
.sb { display: grid; gap: 10px; padding: 14px 18px 16px; color: var(--sky-ink); }
.sb .sc-field, .sb .sb-field { display: grid; gap: 4px; margin: 0; min-width: 0; }
.sb label, .sb .sb-label { margin: 0; font-size: var(--sky-fs-s); font-weight: 750; color: var(--sky-ink); }
.sb :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { width: 100%; min-height: 44px; height: auto; margin: 0; padding: 8px 12px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background-color: #fff; color: var(--sky-ink); font: inherit; font-size: var(--sky-fs-s); box-shadow: none; }
.sb select { appearance: none; padding-right: 38px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%230878b8' stroke-width='2.4'/%3E%3C/svg%3E") no-repeat right 14px center; }
.sb textarea { min-height: 72px; resize: vertical; }
.sb :is(input, select, textarea):focus { outline: none; border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }
.sb :is(input, select, textarea)[aria-invalid="true"], .sb .sc-field-invalid { border-color: var(--sky-error); }
.sb-sec { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.sb-sec > legend, .sb-h { float: none; width: auto; margin: 0 0 2px; padding: 0; border: 0; color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }

/* When: picker (room / car) + two dates + the count plate on one line. */
.sb-when { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr) auto; gap: 8px; align-items: stretch; }
.sb-when--dates { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
.sb-date .sc-combined-picker, .sb-date .sc-picker-trigger { height: 100%; }
.sb-count { display: grid; place-content: center; justify-items: center; min-width: 72px; margin: 0; padding: 4px 10px; border-radius: var(--sky-r2); background: var(--sky-asphalt); color: var(--sky-paint); line-height: 1.1; }
.sb-count b { font-size: var(--sky-fs-l); font-weight: 900; font-variant-numeric: tabular-nums; }
.sb-count span { font-size: var(--sky-fs-s); color: var(--sky-mist); }

/* Picker: a button that opens a list with photo, limits and price. */
.sb-pick { position: relative; min-width: 0; }
.sb-pick__btn { display: flex; align-items: center; gap: 10px; width: 100%; height: 100%; min-height: 60px; padding: 8px 14px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; color: var(--sky-ink); text-align: left; font: inherit; cursor: pointer; transition: border-color var(--sky-t1), box-shadow var(--sky-t1); }
.sb-pick__btn:hover { border-color: #97abc1; }
.sb-pick__btn[aria-expanded="true"], .sb-pick__btn:focus-visible { border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); outline: none; }
.sb-pick__btn .sky-ico { color: var(--sky-blue-deep); }
.sb-pick__btn > span { display: grid; min-width: 0; }
.sb-pick__btn small { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sb-pick__btn strong { overflow: hidden; color: var(--sky-blue-deep); font-size: var(--sky-fs-s); font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.sb-pick__pop { position: absolute; z-index: 80; top: calc(100% + 8px); left: 0; display: block; width: min(440px, calc(100vw - 48px)); border-radius: var(--sky-r2); background: #fff; box-shadow: var(--sky-e3); overflow: hidden; animation: sky-drop var(--sky-t2) var(--sky-ease); }
.sb-pick__pop[hidden] { display: none; }
/* Choice lists (SkyUI.select): the native select stays, hidden, inside the box. */
.sb-pick--select .sb-pick__pop { width: max(100%, 220px); }
.sb-pick--select .sb-pick__btn::after { content: ""; flex: none; width: 8px; height: 8px; margin: -4px 4px 0 auto; border-right: 2.5px solid var(--sky-blue); border-bottom: 2.5px solid var(--sky-blue); transform: rotate(45deg); }
.sb-pick__native { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
.sb-list--plain li { grid-template-columns: minmax(0, 1fr); min-height: 44px; }
.sb-list { list-style: none; margin: 0; padding: 6px; max-height: 360px; overflow: auto; }
.sb-list li { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 6px 8px; border-radius: var(--sky-r1); cursor: pointer; outline: none; }
.sb-list li:hover, .sb-list li:focus { background: #f2f8fd; }
.sb-list li:focus-visible { box-shadow: inset 0 0 0 2px var(--sky-blue); }
.sb-list li[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
/* A long "not available" note wraps at the right instead of squeezing the name into a narrow column. */
.sb-list li[aria-disabled="true"] em { white-space: normal; max-width: 9em; text-align: right; font-size: var(--sky-fs-s); line-height: 1.2; }
.sb-list li[aria-selected="true"] { background: #f2f8fd; }
.sb-list img { width: 64px; height: 44px; object-fit: cover; border-radius: 2px; background: var(--sky-concrete-2); }
.sb-list .is-cutout img { object-fit: contain; background: var(--sky-concrete); }
.sb-opt__txt { display: grid; min-width: 0; }
.sb-opt__txt b { font-weight: 850; }
.sb-opt__txt small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sb-list em { font-style: normal; font-weight: 850; color: var(--sky-blue-deep); white-space: nowrap; }

/* Chosen rooms: one line each, steppers inline; breakfast and infant below. */
.sb-rows { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.sb-rows:empty { display: none; }
.sb-row { position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr) auto auto 36px; gap: 6px 10px; align-items: center; padding: 6px 8px; border: 1px solid var(--sky-rule); border-radius: var(--sky-r2); background: #fbfdff; }
.sb-row.is-taken { border-color: var(--sky-error); background: #fff6f5; }
.sb-row__photo { position: relative; width: 56px; height: 40px; }
.sb-row__photo img { width: 56px; height: 40px; object-fit: cover; border-radius: 2px; }
.sb-row__photo .sb-row__big { position: absolute; z-index: 20; left: 0; bottom: calc(100% + 8px); width: 280px; max-width: none; height: 180px; box-shadow: var(--sky-e3); opacity: 0; pointer-events: none; transform: translateY(6px); transition: opacity var(--sky-t2), transform var(--sky-t2); }
@media (hover: hover) and (pointer: fine) { .sb-row__photo:hover .sb-row__big { opacity: 1; transform: none; } }
.sb-row__name { display: grid; min-width: 0; }
.sb-row__name b { font-weight: 850; }
.sb-row__name small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sb-row__g { display: inline-flex; align-items: center; gap: 6px; margin: 0; font-weight: 650; }
.sb-row__g > span { color: var(--sky-ink-2); }
.sb-row__x { width: 32px; height: 32px; border: 0; border-radius: var(--sky-r1); background: transparent; color: var(--sky-ink-2); font-size: var(--sky-fs-l); line-height: 1; cursor: pointer; }
.sb-row__x:hover { background: var(--sky-concrete); color: var(--sky-ink); }
.sb-row__sub { grid-column: 2 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; padding-top: 6px; border-top: 1px dashed var(--sky-rule); }
.sb-row__sub .sky-ico { width: 20px; height: 20px; color: var(--sky-blue-deep); }
.sb-row__sub small { color: var(--sky-ink-3); font-size: var(--sky-fs-s); }
.sb-row__warn { grid-column: 1 / -1; margin: 0; color: var(--sky-error); font-size: var(--sky-fs-s); font-weight: 750; }
.sb-check { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; margin: 0; font-weight: 650; cursor: pointer; }
.sb-check input { width: 20px; height: 20px; margin: 0; accent-color: var(--sky-blue); }
.sb-add { justify-self: start; min-height: 36px; padding: 0 12px; border: 1px dashed var(--sky-blue); border-radius: var(--sky-r1); background: transparent; color: var(--sky-blue-deep); font: inherit; font-weight: 800; cursor: pointer; }
.sb-add:hover { background: #f2f8fd; }
.sb-add[hidden] { display: none; }
.sb-line { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 12px; padding: 6px 8px; border-radius: var(--sky-r2); background: var(--sky-concrete); }
.sb-line__label { display: inline-flex; align-items: center; gap: 8px; }
.sb-line__label small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.sb-line__label .sky-ico { color: var(--sky-blue-deep); }

/* Vehicle and extras (parking, Park & Rest): one grid, same box height. */
.sb-extras { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 8px; align-items: stretch; }
.sb-extra { display: grid; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: 0 10px; min-height: 60px; margin: 0; padding: 8px 12px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; cursor: pointer; font-weight: 400; }
.sb-extra:hover { border-color: #97abc1; }
.sb-extra:has(input:checked) { border-color: var(--sky-blue); background: #f2f8fd; }
.sb-extra:has(input:focus-visible) { box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }
.sb-extra input { grid-row: 1 / 3; width: 20px; height: 20px; margin: 0; accent-color: var(--sky-blue); }
.sb-extra b { font-weight: 800; line-height: 1.2; }
.sb-extra small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); line-height: 1.2; }
/* The vehicle select is a box like the extras: caption inside, same height. */
/* Vehicle tiles (parking): an icon per vehicle, the radio hidden; the tile is the control. */
.sb-extra--vehicle { position: relative; grid-template-columns: 34px minmax(0, 1fr); }
.sb-extra--vehicle input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.sb-extra--vehicle .sky-ico { grid-row: 1 / 3; width: 30px; height: 30px; color: var(--sky-ink-3); }
.sb-extra--vehicle:has(input:checked) .sky-ico { color: var(--sky-blue-deep); }
.sb-extra--select { grid-template-columns: 1fr; align-content: center; gap: 0; padding: 4px 4px 4px 12px; }
.sb-extra--select > span { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.sb .sb-extra--select select { min-height: 0; padding: 0 30px 0 0; border: 0; background-position: right 8px center; color: var(--sky-blue-deep); font-weight: 800; box-shadow: none; }
.sb-extras:has(> .sb-extra--select, > .sb-pick--select) { grid-template-columns: minmax(270px, 1.4fr) repeat(auto-fit, minmax(160px, 1fr)); }
.sb-extra--select:focus-within { border-color: var(--sky-blue); box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }

/* Contact row, invoice and the optional message. */
.sb-who { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
.sb-opts { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; }
.sb-invoice { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.sb-invoice[hidden] { display: none; }
.sb-more summary { display: inline-flex; align-items: center; min-height: 36px; color: var(--sky-blue-deep); font-weight: 800; cursor: pointer; list-style: none; }
.sb-more summary::-webkit-details-marker { display: none; }
.sb-more[open] summary { margin-bottom: 4px; }
.sb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Summary: lines, payment choice, one Rezervă button, status. */
.sb-summary .sky-ticks { margin: 8px 0 10px; }
.sb-summary .sky-ticks li.is-off b { color: #8ff0b8; }
.sb-pay { display: grid; gap: 8px; margin-top: 12px; }
.sb-pay__opts { display: flex; flex-direction: column; gap: 6px; margin: 0; padding: 0; border: 0; min-width: 0; }
.sb-pay__opts legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.sb-pay__opt { display: flex; align-items: center; gap: 8px; margin: 0; padding: 6px 10px; border: 2px solid var(--sky-rule-dark); border-radius: var(--sky-r2); background: rgba(244, 247, 251, .05); color: var(--sky-paint); cursor: pointer; font-weight: 400; }
.sb-pay__opt:has(input:checked) { border-color: var(--sky-sky); background: rgba(21, 158, 238, .14); }
.sb-pay__opt input { margin: 0; accent-color: var(--sky-sky); }
.sb-pay__opt span { display: grid; }
.sb-pay__opt b { font-weight: 800; }
.sb-pay__opt small { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 600; }
.sb-pay__opt.is-off { opacity: .55; cursor: not-allowed; }
.sb-submit { display: inline-flex; align-items: center; justify-content: center; gap: 4px; width: 100%; min-height: 52px; padding: 0 22px; border: 2px solid var(--sky-blue); border-radius: var(--sky-r2); background: var(--sky-blue); color: #fff; font: inherit; font-weight: 850; white-space: nowrap; cursor: pointer; }
.sb-submit:hover { background: var(--sky-blue-deep); border-color: var(--sky-blue-deep); }
.sb-submit:disabled { opacity: .6; cursor: progress; }
.sb-status { margin: 0; min-height: 1.2em; color: var(--sky-mist); font-size: var(--sky-fs-s); }
.sb-status.is-bad { color: #ffb4ab; font-weight: 750; }
.sb-summary .sky-hatch { margin-top: 10px; }

@media (max-width: 760px) {
  .sb { padding: 12px; }
  .sb-when, .sb-when--dates { grid-template-columns: 1fr 1fr; }
  .sb-pick { grid-column: 1 / -1; }
  .sb-count { grid-column: 1 / -1; display: flex; gap: 6px; justify-content: center; align-items: baseline; }
  .sb-pick__pop { width: calc(100vw - 48px); }
  .sb-row { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr) 32px; grid-template-areas: "ph nm nm x" "ad ad ch ch" "sub sub sub sub"; row-gap: 6px; }
  .sb-row__photo { grid-area: ph; }
  .sb-row__name { grid-area: nm; }
  .sb-row__x { grid-area: x; }
  .sb-row > .sb-row__g:nth-of-type(1) { grid-area: ad; }
  .sb-row > .sb-row__g:nth-of-type(2) { grid-area: ch; }
  .sb-row__sub { grid-area: sub; }
  .sb-row__g { display: grid; gap: 2px; }
  .sb-row__g .sky-stepper { justify-self: start; }
  .sb-invoice { grid-template-columns: 1fr; }
}

/* Confirmation pop-up over the booking page, with the reservation number. */
.sb-done { width: min(520px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: var(--sky-r2); background: var(--sky-paper); color: var(--sky-ink); box-shadow: var(--sky-e3); overflow: auto; }
.sb-done::backdrop { background: rgba(8, 18, 32, .62); }
.sb-done[open] { animation: sky-drop var(--sky-t2) var(--sky-ease); }
.sb-done__in { display: grid; gap: 12px; padding: 22px 24px 20px; }
.sb-done__mark { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%; background: #1f9d55; color: #fff; }
.sb-done.is-wait .sb-done__mark { background: var(--sky-blue); }
.sb-done.is-bad .sb-done__mark { background: var(--sky-error); }
.sb-done__mark svg { width: 26px; height: 26px; }
.sb-done h2 { margin: 0; font-size: var(--sky-fs-l); line-height: 1.15; }
.sb-done__ref { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; margin: 0; padding: 10px 14px; border-radius: var(--sky-r2); background: var(--sky-asphalt); color: var(--sky-paint); }
.sb-done__ref span { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 750; }
.sb-done__ref b { font-size: var(--sky-fs-l); font-weight: 900; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.sb-done__ref button { margin-left: auto; min-height: 36px; padding: 0 12px; border: 1px solid var(--sky-rule-dark); border-radius: var(--sky-r1); background: transparent; color: var(--sky-paint); font: inherit; font-size: var(--sky-fs-s); font-weight: 750; cursor: pointer; }
.sb-done__lines { margin: 0; }
.sb-done__total { display: flex; justify-content: space-between; margin: 0; padding-top: 8px; border-top: 2px solid var(--sky-ink); font-weight: 850; }
.sb-done__note { margin: 0; color: var(--sky-ink-2); }
.sb-done__actions { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
.sb-done__actions button { min-height: 48px; padding: 0 20px; border: 2px solid var(--sky-blue); border-radius: var(--sky-r2); background: var(--sky-blue); color: #fff; font: inherit; font-weight: 850; cursor: pointer; }
.sb-done__actions button.is-ghost { background: transparent; color: var(--sky-blue-deep); }

/* Under the booking card: one trust line and the package suggestions. */
.sb-under { display: grid; gap: 10px; margin-top: 10px; }
.sb-trust { display: flex; flex-wrap: wrap; gap: 2px 12px; margin: 0 2px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-weight: 650; }
.sb-trust span + span::before { content: "✓ "; color: var(--sky-blue); }
.sb-under .sky-upsell { margin-top: 0; }
@media (min-width: 640px) { .sb-under .sky-upsell ul { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); } }

/* The white card around a booking form, with its dark title strip. */
.sb-card { min-width: 0; border-radius: var(--sky-r2); background: var(--sky-paper); box-shadow: var(--sky-e2); color: var(--sky-ink); }
.sb-banner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 12px; padding: 8px 18px; border-radius: var(--sky-r2) var(--sky-r2) 0 0; background: var(--sky-asphalt); color: var(--sky-paint); }
.sb-banner h2 { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 10px; margin: 0; color: var(--sky-paint); font-size: var(--sky-fs-m); font-weight: 850; }
.sb-banner h2 small { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 650; }
.sb-banner a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; color: var(--sky-accent); font-weight: 750; text-decoration: none; white-space: nowrap; }
/* A picker sitting in the extras grid looks like the other boxes. */
.sb-extras > .sb-pick .sb-pick__btn { min-height: 60px; }

/* Phones: nothing in the card may be wider than the screen. Dates (with their
   time) stack, the vehicle/car box spans the row, extras go two by two. */
@media (max-width: 760px) {
  .sb > *, .sb-when > *, .sb-extras > *, .sb-who > * { min-width: 0; }
  .sb-when--dates { grid-template-columns: 1fr; }
  .sb-extras, .sb-extras:has(> .sb-extra--select, > .sb-pick--select) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-extras > .sb-extra--select, .sb-extras > .sb-pick { grid-column: 1 / -1; }
  .sb-extra { min-height: 52px; padding: 6px 10px; }
  .sb-who { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-who > :first-child { grid-column: 1 / -1; }
}

/* --- Batch 11b (owner 2026-10-07): phones compact, same design --- */
/* Site doors in the header bar (moved there by sky.js whenever the burger
   shows): a 2x2 grid of short words with the service stripe, current site in ink. */
.sky-header .sky-doors--bar { display: grid; grid-template-columns: repeat(2, minmax(62px, 1fr)); gap: 3px; margin-left: auto; padding: 0; background: none; }
.sky-header .sky-doors--bar + .sky-burger { margin-left: 0; }
.sky-header .sky-doors--bar a { min-height: 28px; padding: 0 8px 0 6px; gap: 0; border: 1px solid var(--sky-rule); border-left: 4px solid var(--door); border-radius: var(--sky-r1); background: var(--sky-paper); font-size: 12px; line-height: 1; font-weight: 800; }
.sky-header .sky-doors--bar a[aria-current="true"] { color: #fff; background: var(--sky-ink); border-color: var(--sky-ink); border-left-color: var(--door); box-shadow: none; }
.sky-doors--bar .sky-doors__tail { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (min-width: 700px) { .sky-header .sky-doors--bar { grid-template-columns: repeat(4, max-content); } .sky-header .sky-doors--bar a { min-height: 40px; padding: 0 12px 0 10px; font-size: var(--sky-fs-s); } }
@media (max-width: 400px) { .sky-logo { padding: 4px 6px; } .sky-logo img { width: 100px; } .sky-header .sky-doors--bar a { padding: 0 6px 0 5px; font-size: 11.5px; } }

/* Booking cards on phones: about half the height. Caption and value sit in
   one box (date, time, contact fields), vehicles share a row, extras go three
   across, invoice and message share a line; the summary pays side by side. */
@media (max-width: 760px) {
  .sb { gap: 8px; padding: 10px; }
  .sb-banner { padding: 6px 12px; }
  .sb-banner h2 { font-size: var(--sky-fs-s); }
  .sb-banner h2 small, .sb-banner a { font-size: 12px; min-height: 32px; }
  .sc-picker-trigger { min-height: 46px; }
  .sc-picker-trigger > span { padding: 4px 10px; row-gap: 1px; }
  .sc-picker-trigger small { font-size: 10.5px; }
  .sc-picker-trigger svg { width: 13px; height: 13px; margin-bottom: 1px; }
  .sb-when--dates { gap: 6px; }
  .sb-count { min-height: 0; padding: 3px 10px; }
  .sb-count b { font-size: var(--sky-fs-m); }
  .sb-extras, .sb-extras:has(> .sb-extra--select, > .sb-pick--select) { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; }
  .sb-extras > * { grid-column: span 2; }
  .sb-extras > .sb-extra--vehicle { grid-column: span 3; }
  .sb-extras > .sb-extra--select, .sb-extras > .sb-pick { grid-column: 1 / -1; }
  .sb-extra { grid-template-columns: 16px minmax(0, 1fr); gap: 0 6px; min-height: 44px; padding: 5px 7px; border-width: 1.5px; }
  .sb-extra input { width: 16px; height: 16px; }
  .sb-extra b { font-size: 12.5px; line-height: 1.15; }
  .sb-extra small { font-size: 11.5px; line-height: 1.15; }
  .sb-extra--vehicle { grid-template-columns: 24px minmax(0, 1fr); }
  .sb-extra--vehicle .sky-ico { width: 22px; height: 22px; }
  .sb-extras > .sb-pick .sb-pick__btn, .sb-pick__btn { min-height: 46px; padding: 4px 10px; }
  .sb-who, .sb-invoice { gap: 6px; }
  :is(.sb-who, .sb-invoice) > :is(.sb-field, .sc-field, .sky-field):not(:has(.sc-combined-picker, .sb-pick)) { position: relative; gap: 2px; }
  :is(.sb-who, .sb-invoice) > :is(.sb-field, .sc-field, .sky-field):not(:has(.sc-combined-picker, .sb-pick)) > label { position: absolute; z-index: 1; top: 5px; left: 12px; right: 8px; overflow: hidden; color: var(--sky-ink-3); font-size: 10.5px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; text-overflow: ellipsis; pointer-events: none; }
  :is(.sb-who, .sb-invoice) > :is(.sb-field, .sc-field, .sky-field):not(:has(.sc-combined-picker, .sb-pick)) > :is(input, select) { min-height: 46px; padding: 18px 10px 4px; }
  :is(.sb-who, .sb-invoice) > .sky-field > label small { font-size: inherit; text-transform: none; letter-spacing: 0; }
  .sb-extras .sb-extra > input[type] { width: 16px; height: 16px; min-width: 0; padding: 0; }
  .sb-extras > :is(.sb-extra--select, .sb-pick--select) { grid-column: 1 / -1; }
  .sb-pick__btn small { font-size: 10.5px; }
  .sb-pick__btn strong { font-size: 13px; }
  .sb-pick--select .sb-pick__btn { gap: 4px; padding: 4px 8px; }
  .sb-pick--select .sb-pick__btn::after { width: 6px; height: 6px; margin-right: 0; }
  .sb-extra--select select { min-height: 32px; padding: 2px 30px 2px 0; border: 0; }
  .sb-opts, .sb-more { font-size: var(--sky-fs-s); }
  .sb:has(> .sb-opts + .sb-invoice[hidden] + .sb-more) { grid-template-columns: minmax(0, 1fr) auto; }
  .sb:has(> .sb-opts + .sb-invoice[hidden] + .sb-more) > * { grid-column: 1 / -1; }
  .sb:has(> .sb-opts + .sb-invoice[hidden] + .sb-more) > .sb-opts { grid-column: 1; }
  .sb:has(> .sb-opts + .sb-invoice[hidden] + .sb-more):not(:has(> .sb-more[open])) > .sb-more { grid-column: 2; grid-row: auto; }
  .sb-check, .sb-more summary { min-height: 32px; }
  .sb-opts .sb-check { display: block; gap: 0; line-height: 1.3; }
  .sb-opts .sb-check input { margin-right: 6px; vertical-align: -3px; }
  .sb-check input { width: 18px; height: 18px; }
  /* Under the card. */
  .sb-under { gap: 6px; margin-top: 6px; }
  .sb-trust { font-size: 12px; }
  .sky-upsell { padding: 6px 8px 8px; }
  .sky-upsell__q { margin-bottom: 4px; font-size: 12px; }
  .sky-upsell__pack { padding: 6px 8px; gap: 2px 8px; }
  .sky-upsell__name small { font-size: 12px; }
  /* Summary. */
  .sky-summary { padding: 10px 12px; }
  .sb-summary { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; column-gap: 10px; }
  .sb-summary > * { grid-column: 1 / -1; }
  .sb-summary > :is(h2, h3) { grid-column: 1; margin: 0; }
  .sb-summary > .sky-summary__total { grid-column: 2; margin: 0; font-size: var(--sky-fs-l); }
  .sb-summary .sky-ticks { margin: 6px 0 8px; }
  .sb-summary .sky-ticks li { font-size: 12.5px; line-height: 1.3; }
  .sb-pay { gap: 6px; margin-top: 6px; }
  .sb-pay__opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .sb-pay__opt { align-items: flex-start; gap: 6px; padding: 5px 8px; }
  .sb-pay__opt input { margin-top: 3px; }
  .sb-pay__opt b { font-size: var(--sky-fs-s); }
  .sb-pay__opt small { font-size: 11.5px; line-height: 1.2; }
  .sb-submit { min-height: 48px; }
}

/* Scenes on phones: the step list leaves the page (it stays for screen
   readers); the active step's text sits in the scene window, timed with it,
   and the step bars carry their numbers 1-5 (tap one to play it). */
.sky-scenes__cap { display: none; }
@media (max-width: 900px) {
  .sky-scenes__play { display: grid; }
  .sky-scenes__play > .sky-scenes__stage { grid-area: 1 / 1; }
  .sky-scenes__play > .sky-scenes__controls { grid-row: 2; }
  .sky-scenes__cap { display: block; grid-area: 1 / 1; align-self: end; z-index: 2; margin: 0; padding: 26px 12px 9px; border-radius: 0 0 var(--sky-r3) var(--sky-r3); background: linear-gradient(rgba(8, 18, 32, 0), rgba(8, 18, 32, .88) 34%); color: var(--sky-paint); font-size: 13px; line-height: 1.38; pointer-events: none; }
  .sky-scenes__cap.is-new { animation: sky-cap-in 360ms var(--sky-ease) both; }
  [data-sky-scenes] .sky-scenes__cap .sky-leg__num { display: inline-block; margin: 0 6px 0 0; font-size: var(--sky-fs-m); line-height: 1; vertical-align: -.1em; -webkit-text-stroke-width: 1.4px; }
  [data-sky-scenes] .sky-scenes__cap :is(h3, .sky-leg__title) { display: inline; margin: 0 6px 0 0; font-size: 13px; line-height: inherit; color: #fff; }
  [data-sky-scenes] .sky-scenes__cap p { display: inline; margin: 0; max-width: none; font-size: inherit; color: var(--sky-mist); }
  .sky-scenes__cap :is(.sky-link, .sky-btn, a) { display: none; }
  [data-sky-scenes] .sky-scenes__legs { position: absolute !important; width: 1px; height: 1px; min-height: 0 !important; margin: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); border: 0; }
  .sky-scenes__steps { counter-reset: sky-step; gap: 4px; }
  .sky-scenes__steps li { counter-increment: sky-step; }
  .sky-scenes__steps button { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; column-gap: 4px; min-height: 36px; padding: 6px 0; color: var(--sky-mist-2); font: inherit; font-size: 12px; font-weight: 850; }
  .sky-scenes__steps button::before { content: counter(sky-step); }
  .sky-scenes__steps .is-active::before { color: var(--sky-accent); }
}
@keyframes sky-cap-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

/* Amenity grids on phones (owner, batch 11b): three per row, icon above,
   title and its explanation in smaller type (kept, not removed). */
@media (max-width: 560px) {
  .sky-amen { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .sky-amen > li { min-height: 0; padding: 7px 6px 8px 8px; row-gap: 2px; }
  .sky-amen .sky-ico { width: 20px; height: 20px; }
  .sky-amen b { font-size: 12px; line-height: 1.2; hyphens: auto; overflow-wrap: anywhere; }
  .sky-amen span { font-size: 11px; line-height: 1.25; }
}

/* Phones (owner, batch 11b): the whole scale one step tighter so every page
   reads compact; same four sizes, same fonts and colours. */
@media (max-width: 560px) {
  [data-sky] {
    --sky-fs-s: .9375rem;
    --sky-fs-m: 1.0625rem;
    --sky-fs-l: 1.375rem;
    --sky-fs-xl: clamp(1.75rem, 1.25rem + 2.4vw, 2.125rem);
    --sky-section: 26px;
  }
  .sky-section--tight { padding-block: 20px; }
  .sky-headgroup { gap: 6px; margin-bottom: 14px; }
  .sky-quote { padding: 10px 14px; }
  .sky-page-hero { padding: 14px 0 20px; }
  .sky-page-hero__lead { margin-top: 8px; }
  .sky-feature { gap: 14px; }
  .sky-feature .sky-photo-bay img, .sky-photo-bay img { aspect-ratio: 16 / 9; }
  .sky-page-sections .sky-bay { display: grid; grid-template-columns: 26px minmax(0, 1fr); column-gap: 10px; align-items: center; padding: 12px 14px; }
  .sky-page-sections .sky-bay > * { grid-column: 1 / -1; }
  .sky-page-sections .sky-bay > .sky-bay__ico { grid-column: 1; margin: 0; }
  .sky-page-sections .sky-bay > .sky-bay__ico + .sky-bay__num + .sky-bay__title, .sky-page-sections .sky-bay > .sky-bay__ico + .sky-bay__title { grid-column: 2; margin: 0; }
  .sky-page-sections .sky-bay__ico .sky-ico { width: 24px; height: 24px; }
  .sky-page-sections .sky-bay__title { padding-right: 0; }
  .sky-page-sections .sky-bay__text { margin-top: 4px; }
}

/* Phones: package cards stay one per row (owner) but their contents pack two
   by two; maps are shorter. */
@media (max-width: 560px) {
  .pt-pack { padding: 12px 14px 14px; }
  .pt-legs { gap: 6px; margin: 8px 0; }
  .pt-legs span { padding: 5px 8px; font-size: 13px; }
  .pt-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; margin-bottom: 8px; font-size: 13px; line-height: 1.3; }
  .pt-list li { padding-left: 22px; }
  .pt-list li .sky-ico { width: 18px; height: 18px; }
  .sky-map { min-height: 220px; }
}

/* --- Batch 11c (owner 2026-10-07): phone review --- */
/* The portal's bottom doors bar repeated the header doors: it stays in the
   markup (no fallback bar is injected) but never shows. */
.sky-actionbar--doors { display: none !important; }
/* Header doors a little bigger on phones. */
.sky-header .sky-doors--bar { row-gap: 4px; }
.sky-header .sky-doors--bar a { min-height: 32px; font-size: 13px; }
@media (max-width: 400px) { .sky-header .sky-doors--bar a { padding: 0 6px 0 5px; font-size: 12.5px; } }
@media (max-width: 370px) { .sky-logo img { width: 88px; } .sky-header .sky-doors--bar { grid-template-columns: repeat(2, minmax(56px, 1fr)); } .sky-header .sky-doors--bar a { font-size: 12px; } }
/* The open menu scrolls by itself; the page under it is pinned (sky.js),
   with the header held at the top. */
.sky-menu { overscroll-behavior: contain; }
.sky-locked .sky-header { position: fixed; top: 0; left: 0; right: 0; }
/* Contact dock folded on phones: the buttons peek out behind the "+" as a
   small fan (offsets set by sky.js); a tap on the fan opens the dock. */
@media (max-width: 720px) {
  .sky-dock:not(.is-open) .sky-dock__list > * { opacity: 1; visibility: visible; transform: var(--fan, translateY(16px) scale(.6)); box-shadow: 0 4px 10px -4px rgba(0, 0, 0, .5); }
  .sky-dock:not(.is-open) .sky-dock__list > * span { opacity: 0; }
  .sky-dock__toggle { z-index: 1; }
}

/* Heroes on phones (owner, batch 11c): the animation sits beside the text on
   the same row, on every page. Title and lead on the left, the scene (its
   step text inside the window, numbered steps under it) on the right; the
   buttons, prices and scores run full width under both. */
@media (max-width: 900px) {
  .sky-scenes--hero .sky-scenes__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: 12px; align-items: start; }
  .sky-scenes--hero .sky-scenes__copy > * { grid-column: 1 / -1; }
  .sky-scenes--hero .sky-scenes__copy > .sky-hero__title { grid-column: 1; grid-row: 1; margin: 0; }
  .sky-scenes--hero .sky-scenes__copy > .sky-hero__lead { grid-column: 1; grid-row: 2; margin-top: 8px; }
  .sky-scenes--hero .sky-scenes__play { grid-column: 2; grid-row: 1 / span 2; align-self: start; margin: 0; order: 0; }
  .sky-scenes--hero .sky-scenes__legs { order: 0; }
}
/* The scene column keeps the scene's own 8:5 window (the actors are placed
   for it); the step text sits in the same frame right under the picture,
   the Pause button is an icon (its word stays for screen readers) and the
   numbered steps run beside it. */
@media (max-width: 900px) {
  .sky-scenes--hero .sky-scenes__grid { grid-template-rows: auto 1fr; }
  .sky-scenes--hero .sky-scenes__copy > .sky-hero__lead { align-self: start; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__play > .sky-scenes__stage { border-radius: var(--sky-r3) var(--sky-r3) 0 0; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__play > .sky-scenes__cap { grid-area: 2 / 1; align-self: stretch; min-height: 7.4em; padding: 6px 8px 7px; border-radius: 0 0 var(--sky-r3) var(--sky-r3); background: var(--sky-asphalt-2); box-shadow: inset 0 0 0 1px var(--sky-rule-dark); font-size: 11.5px; line-height: 1.3; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__play > .sky-scenes__controls { grid-row: 3; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap :is(h3, .sky-leg__title) { display: inline; margin: 0; font-size: 12px; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap p { display: block; margin-top: 2px; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap .sky-leg__num { margin-right: 4px; font-size: 14px; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__controls { gap: 6px; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__toggle { min-width: 36px; width: 36px; height: 36px; padding: 0; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__toggle-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__steps { gap: 3px; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__steps button { min-height: 36px; font-size: 11px; column-gap: 2px; }
}

/* Booking bar with the summary (owner, batch 11c; built by sky.js from the
   page's .sb-summary): total and the chosen options on the left (a tap opens
   the sheet), Rezervă on the right. */
.sky-actionbar--sheet { gap: 10px; padding-top: 8px; padding-bottom: calc(8px + env(safe-area-inset-bottom)); }
.sky-actionbar__open { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; column-gap: 8px; min-height: 48px; margin: 0; padding: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.sky-actionbar--sheet .sky-actionbar__total { display: flex; align-items: baseline; gap: 6px; min-width: 0; font-size: var(--sky-fs-m); line-height: 1.15; white-space: nowrap; }
.sky-actionbar--sheet .sky-actionbar__total small { display: inline; overflow: hidden; text-overflow: ellipsis; font-size: 12px; }
.sky-actionbar__line { grid-column: 1; display: flex; min-width: 0; color: var(--sky-mist); font-size: 12px; font-weight: 650; line-height: 1.3; word-spacing: .14em; white-space: nowrap; }
.sky-actionbar__line[hidden] { display: none; }
.sky-actionbar__line > :first-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.sky-actionbar__line > :last-child { flex: none; white-space: pre; }
.sky-actionbar__chev { grid-column: 2; grid-row: 1 / span 2; width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: rgba(244, 247, 251, .1); fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.sky-actionbar__open:hover .sky-actionbar__chev { background: rgba(244, 247, 251, .18); }
.sky-actionbar--sheet .sky-actionbar__go { flex: none; margin-left: 0; min-height: 44px; }

/* The sheet: the page's own summary (lines, payment, Rezervă) on a panel
   that rises from the bottom; the page under it stays where it was. */
.sky-sheet { position: fixed; inset: 0; z-index: 120; display: flex; flex-direction: column; justify-content: flex-end; }
.sky-sheet[hidden] { display: none; }
.sky-sheet__scrim { position: absolute; inset: 0; background: rgba(8, 18, 32, .55); opacity: 0; transition: opacity var(--sky-t2); }
.sky-sheet__panel { position: relative; max-height: 88vh; max-height: 88dvh; overflow-y: auto; overscroll-behavior: contain; padding: 4px 12px calc(12px + env(safe-area-inset-bottom)); border-radius: var(--sky-r3) var(--sky-r3) 0 0; background: var(--sky-asphalt); color: var(--sky-paint); box-shadow: 0 -16px 40px -18px rgba(0, 0, 0, .7); transform: translateY(100%); transition: transform var(--sky-t3) var(--sky-ease); }
.sky-sheet.is-open .sky-sheet__scrim { opacity: 1; }
.sky-sheet.is-open .sky-sheet__panel { transform: none; }
.sky-sheet__head { position: sticky; top: 0; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0 6px; background: var(--sky-asphalt); }
.sky-sheet__head h2 { margin: 0; font-size: var(--sky-fs-m); color: var(--sky-paint); }
.sky-sheet__close { display: grid; place-items: center; width: 44px; height: 44px; margin-right: -6px; border: 0; border-radius: 50%; background: rgba(244, 247, 251, .08); color: var(--sky-paint); cursor: pointer; }
.sky-sheet__close svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.sky-sheet__close:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 2px; }
.sky-sheet .sky-summary { padding: 0; border-radius: 0; box-shadow: none; }
/* "Rent-a-car" in the full header reads as one word (the hidden-on-phones
   tail is a separate span; the link's flex gap must not split it). */
.sky-doors a .sky-doors__tail { margin-left: -7px; }

/* --- Batch 11d (owner 2026-10-07): phone review 2 --- */
/* Header doors fill the free space between the logo and the burger. */
@media (max-width: 1180px) {
  .sky-header .sky-doors--bar { flex: 1 1 auto; max-width: 300px; margin-inline: 10px 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px; }
  .sky-header .sky-doors--bar a { justify-content: center; min-height: 34px; padding: 0 6px; font-size: 14px; }
}
@media (min-width: 700px) and (max-width: 1180px) { .sky-header .sky-doors--bar { max-width: 520px; grid-template-columns: repeat(4, minmax(0, 1fr)); } .sky-header .sky-doors--bar a { min-height: 42px; } }
@media (max-width: 370px) { .sky-header .sky-doors--bar { margin-inline: 6px 4px; } .sky-header .sky-doors--bar a { font-size: 12.5px; } }

/* Contact dock on phones: WhatsApp is the dock's last button, next to the
   "+"; the separate green button goes, so one corner control remains. */
.sky-dock__wa { display: none !important; }
.sky-dock [data-contact="whatsapp"] { --dock: #25d366; }
.sky-dock__wa img { width: 24px; height: 24px; }
@media (max-width: 720px) {
  .sky-float { display: none !important; }
  .sky-dock__wa { display: grid !important; }
  .sky-dock { right: 14px; bottom: calc(14px + env(safe-area-inset-bottom)); }
  body.sky-has-actionbar .sky-dock { bottom: calc(80px + env(safe-area-inset-bottom)); }
}

/* Footer: the address and a map beside the Contact column (one block with
   "where we are"); the bottom line in at most two centred rows of three;
   the release number stays in the page for checks but is not shown. */
.sky-footer__map { min-height: 200px; border-radius: var(--sky-r2); }
.sky-footer__map-btn { position: absolute; inset: 0; width: 100%; border: 0; background: var(--sky-asphalt-2); color: var(--sky-paint); font: inherit; font-weight: 750; cursor: pointer; }
.sky-footer__bottom .sc-website-version { display: none; }
@media (max-width: 900px) {
  .sky-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
  .sky-footer__top > .sky-footer__contact { grid-column: 1; }
  .sky-footer__top > .sky-footer__map { grid-column: 2; align-self: stretch; min-height: 170px; margin-top: 4px; }
}
@media (max-width: 760px) {
  .sky-footer__bottom { display: grid; grid-template-columns: repeat(3, auto); justify-content: center; justify-items: center; gap: 8px 18px; text-align: center; }
  .sky-footer__bottom nav { display: contents; }
  .sky-footer__bottom nav a { min-height: 32px; }
}

/* Booking cards step by step (sky.js initSteps): the rest of the card waits
   for the dates; on phones the offer and summary under it wait for the
   contact (the bottom bar carries the total meanwhile). */
.sb .sb-later { display: none !important; }
.sb .sb-in { animation: sb-in 420ms var(--sky-ease) backwards; }
@keyframes sb-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }
@media (max-width: 960px) {
  .sb-flow:not(.sb-ready) :is(.sb-under, .hm-under, .sky-book__aside) { display: none; }
  .sb-flow.sb-ready :is(.sb-under, .hm-under, .sky-book__aside) { animation: sb-in 420ms var(--sky-ease) backwards; }
}
/* Paired grids (sky.js initPairs): two small column titles over the pairs. */
.sky-pair__heads { display: contents; }
.sky-pair__heads p { margin: 0; color: var(--sky-mist); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
@media (min-width: 901px) { .sky-footer__top:has(> .sky-footer__map) { grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr); } }

/* --- Batch 11e (owner 2026-10-07): phone review 3 --- */
/* Gliding rows (sky.js initMarquee): an endless sideways loop; tap pauses.
   They run with reduced motion too (like the scenes): tap stops them. */
.sky-marquee { overflow: hidden; cursor: pointer; -webkit-mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); mask-image: linear-gradient(90deg, transparent, #000 4%, #000 96%, transparent); }
.sky-marquee__track { display: flex; width: max-content; gap: 8px; }
.sky-marquee__track[data-sky-copied] { animation: sky-glide var(--sky-glide, 30s) linear infinite; }
.sky-marquee.is-paused .sky-marquee__track, .sky-marquee.is-held .sky-marquee__track, .sky-marquee.is-away .sky-marquee__track { animation-play-state: paused; }
.sky-marquee__track > * { flex: none; }
[data-sky] .sky-marquee__track[data-sky-copied] { animation-duration: var(--sky-glide, 30s) !important; animation-iteration-count: infinite !important; }
@keyframes sky-glide { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 4px)); } }
/* Open contact dock: the names on white pills, readable over any photo or
   dark band. */
.sky-dock span { background: #fff; color: var(--sky-ink); box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .55), inset 0 0 0 1px var(--sky-rule); }
/* Burger menu (batch 11e): shorter rows, two columns, the button under them. */
@media (max-width: 1180px) {
  .sky-menu { gap: 10px; padding-top: 10px; padding-bottom: 16px; }
  .sky-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
  .sky-nav a { min-height: 44px; font-size: var(--sky-fs-s); }
  .sky-nav .sky-btn { grid-column: 1 / -1; min-height: 44px; margin-top: 8px; }
}
.sky-collapsed .sky-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
.sky-collapsed .sky-nav a { min-height: 44px; font-size: var(--sky-fs-s); }
.sky-collapsed .sky-nav .sky-btn { grid-column: 1 / -1; min-height: 44px; margin-top: 8px; }
/* Footer, one compact template on every site (batch 11e): logo and line
   centred, short rows, small titles. */
@media (max-width: 900px) {
  .sky-footer__top { row-gap: 10px; }
  .sky-footer__top > .sky-footer__lead { justify-content: center; gap: 6px 14px; margin-bottom: 0; padding: 10px 0; text-align: center; }
  .sky-footer__lead .sky-logo img { width: 130px; height: auto; }
  .sky-footer__lead p { margin: 0; font-size: 12.5px; }
  .sky-footer__top h2 { margin-bottom: 4px; font-size: 12px; }
  .sky-footer__top a { min-height: 32px; font-size: 13.5px; }
  .sky-footer__top ul:has(> li:nth-child(5)) { column-gap: 14px; }
  .sky-footer__bottom { margin-top: 10px; padding-top: 8px; font-size: 12.5px; }
  .sky-footer__bottom nav a { min-height: 28px; }
  .sky-footer { padding-bottom: calc(12px + env(safe-area-inset-bottom)); }
}
/* The same footer head on every width: logo and line centred. */
.sky-footer__top > .sky-footer__lead { justify-content: center; text-align: center; }
/* The open menu is only as tall as its links (the page shows under it). */
@media (max-width: 1180px) { .sky-menu { bottom: auto; max-height: calc(100dvh - var(--sky-header-h)); box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .55); } }
.sky-collapsed .sky-menu { bottom: auto; max-height: calc(100dvh - var(--sky-header-h)); box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .55); }

/* --- Batch 11f (owner 2026-10-07) --- */
/* Booking dates on one row on phones: parking and rent show arrival | departure
   (each with its time) side by side; the hotel and package forms show
   check-in | check-out | room (dates first, then the room). The day/night
   count stays a thin bar under them. */
@media (max-width: 760px) {
  .sb-when--dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-when > .sb-count { grid-column: 1 / -1; }
  .sb-when--dates .sc-combined-picker--split { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); }
  .sb-when--dates .sc-picker-trigger > span { padding: 4px 6px; column-gap: 3px; }
  .sb-when--dates .sc-picker-trigger small { overflow: hidden; font-size: 9.5px; letter-spacing: .02em; text-overflow: ellipsis; white-space: nowrap; }
  .sb-when--dates .sc-picker-trigger strong { font-size: 12.5px; }
  .sb-when--dates .sc-picker-trigger svg { width: 11px; height: 11px; }
  .sb-when:not(.sb-when--dates) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .sb-when:not(.sb-when--dates) > .sb-pick { grid-column: auto; }
  .sb-when > .sb-pick .sb-pick__btn { gap: 6px; padding: 4px 8px; }
  .sb-when > .sb-pick .sb-pick__btn > .sky-ico { display: none; }
  .sb-when > .sb-pick .sb-pick__btn strong { font-size: 12.5px; }
  .sb-when > .sb-date .sc-picker-trigger > span { padding: 4px 8px; }
  .sb-when > .sb-date .sc-picker-trigger strong { font-size: 12.5px; }
  .sb-when > .sb-pick:last-of-type .sb-pick__pop, .sb-when > .sb-date + .sb-pick .sb-pick__pop { left: auto; right: 0; }
}
@media (max-width: 380px) {
  .sb-when--dates .sc-combined-picker--split { grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr); }
  .sb-when--dates .sc-picker-trigger > span { padding: 4px 5px; }
  .sb-when--dates .sc-picker-trigger strong { font-size: 11.5px; letter-spacing: -.01em; }
}
@media (max-width: 760px) {
  .sb-when:not(.sb-when--dates):has(> .sb-pick[hidden]) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
/* Packages inside the booking card (before the contact fields; 2 or 3 per site):
   one row of small tiles; the "what's in it" line from tablets up. */
.sb .sky-upsell { margin: 0; padding: 0; background: none; box-shadow: none; }
.sb .sky-upsell__q { margin-bottom: 6px; }
.sb .sky-upsell ul { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; }
.sb .sky-upsell__pack { grid-template-columns: minmax(0, 1fr); grid-template-areas: "deal" "name" "go"; align-content: start; gap: 3px; height: 100%; padding: 6px 8px; }
.sb .sky-upsell__go { justify-self: start; }
.sb .sky-upsell li.is-applied .sky-upsell__pack { background: #eaf7ef; cursor: default; }
.sb .sky-upsell li.is-applied .sky-upsell__go { color: #1f7a45; }
.sb .sky-upsell li.is-applied .sky-upsell__go::after { content: none; }
@media (max-width: 760px) {
  .sb .sky-upsell__q { margin-bottom: 4px; font-size: 12px; }
  .sb .sky-upsell__pack { padding: 5px 6px; }
  .sb .sky-upsell__deal { padding: 1px 4px; font-size: 11px; white-space: normal; }
  .sb .sky-upsell__name b { font-size: 12.5px; line-height: 1.15; }
  .sb .sky-upsell__name small { display: none; }
  .sb .sky-upsell__go { font-size: 12px; }
}
/* Room rows (hotel, packages): adults | children | infants on one line (the
   infants' limit comes from the owner's office app); breakfast on one line. */
.sb-row { grid-template-columns: 56px minmax(0, 1fr) auto auto auto 36px; }
.sb-row__g--inf > span small { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 650; }
.sb-back { display: grid; gap: 6px; }
.sb-back[hidden] { display: none; }
.sb-back__dates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.sb-back__dates[hidden] { display: none; }
.sb-back .sb-check small { color: var(--sky-ink-3); font-weight: 650; }
@media (max-width: 760px) {
  .sb-row { grid-template-columns: repeat(6, minmax(0, 1fr)); grid-template-areas: "ph nm nm nm nm x" "ad ad ch ch in in" "sub sub sub sub sub sub"; column-gap: 6px; }
  .sb-row__photo, .sb-row__photo > img:first-child { width: 100%; max-width: 56px; }
  .sb-row > .sb-row__g--inf { grid-area: in; }
  .sb-row > .sb-row__g > span { overflow: hidden; font-size: 12.5px; text-overflow: ellipsis; white-space: nowrap; }
  .sb-row > .sb-row__g--inf > span small { display: none; }
  .sb-row__sub { flex-wrap: wrap; row-gap: 4px; padding-top: 4px; }
  .sb-row__sub > .sb-row__g { display: flex; flex: 1 1 100%; align-items: center; justify-content: space-between; gap: 6px; min-width: 0; }
  .sb-row__sub > .sb-row__g > span { min-width: 0; font-size: 12.5px; line-height: 1.2; }
  .sb-row__sub > .sb-check { flex: none; font-size: 12.5px; }
  .sb-back__dates .sc-picker-trigger > span { padding: 4px 8px; }
}
/* Amenity tiles on phones: the icon sits on the title's line (one row less in
   every tile); the explanation stays under it in small type. */
@media (max-width: 560px) {
  .sky-amen > li { grid-template-columns: 16px minmax(0, 1fr); column-gap: 5px; align-items: start; }
  .sky-amen .sky-ico { grid-row: 1; width: 16px; height: 16px; margin-top: 1px; }
  .sky-amen > li > span { grid-column: 1 / -1; }
}

/* --- Batch 11g (owner 2026-10-07): phone review 5 --- */
/* Column titles over the paired services | packages: readable words in the
   heading face with a short accent line, not small grey capitals. */
.sky-pair__heads p { display: flex; flex-direction: column; gap: 4px; color: var(--sky-paint); font-size: 15px; font-weight: 850; letter-spacing: -.01em; line-height: 1.15; text-transform: none; }
.sky-pair__heads p::after { content: ""; width: 26px; height: 3px; border-radius: 2px; background: var(--sky-sky, #159eee); }
.sky-pair__heads p + p::after { background: #f7c948; }
/* Date and time pickers on phones open in the middle of the window, as a
   dialog (they sat in the bottom-left corner at their desktop width). */
@media (max-width: 767px) {
  .sc-picker-popover, .sc-picker-popover.is-date, .sc-picker-popover.is-time, .sc-combined-picker--date .sc-picker-popover { top: 50%; bottom: auto; left: 50% !important; right: auto !important; width: min(380px, calc(100vw - 24px)); max-height: calc(100svh - 24px); border-radius: var(--sky-r3); translate: -50% -50%; }
  .sc-picker-popover.is-time { width: min(300px, calc(100vw - 24px)); }
  .sc-picker-footer { padding-bottom: 12px; }
}

/* --- Batch 11h (owner 2026-10-07): phone review 6 --- */
/* One footer on every site (chrome.json), the portal's look the owner
   liked (batch 11i, 11h-screens/232.png): Contact | map, then "Servicii
   SkyCenter" in two short columns | the site's own pages in one column,
   left-aligned (replaces 11h's centred full-width rows). */
.sky-footer__top > div:has(> h2):last-child > ul { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 760px) {
  .sky-footer__top > .sky-footer__lead { flex-wrap: nowrap; gap: 12px; }
  .sky-footer__lead .sky-logo { flex: none; }
  .sky-footer__lead .sky-logo img { width: 112px; }
  .sky-footer__lead p { flex: 1 1 auto; font-size: 12px; line-height: 1.35; }
}
/* Night on the way back with its own rooms (hotel + package forms): its
   dates and the same room picker as the first stay, then the same room rows
   (batch 11j; replaces 11i's tile list). */
.sb-back__rooms { display: grid; gap: 6px; }
.sb-back__rooms[hidden] { display: none; }
.sb-back__dates:has(> .sb-date + .sb-date + .sb-pick) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1.25fr); }
.sb-back__dates > .sb-pick .sb-pick__pop { left: auto; right: 0; }
@media (max-width: 560px) {
  .sb-back__dates:has(> .sb-date + .sb-date + .sb-pick) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-back__dates > .sb-date + .sb-date + .sb-pick { grid-column: 1 / -1; }
}
/* A car block (parking card cars 1..5, package page Park & Rest): a framed
   group, the plate on top, then the vehicle and extras tiles. */
.pk-car { position: relative; display: grid; gap: 6px; min-width: 0; margin: 0; padding: 6px 8px 8px; border: 1.5px dashed #cbd6e2; border-radius: var(--sky-r2); background: #fbfdff; }
.pk-car > legend { display: flex; align-items: center; gap: 6px; padding: 0 4px; color: var(--sky-ink); font-size: var(--sky-fs-s); font-weight: 850; }
.pk-car__x { display: inline-grid; place-items: center; width: 26px; height: 26px; border: 1.5px solid #cbd6e2; border-radius: 50%; background: #fff; font-size: 17px; }
.pk-car__plate { position: relative; display: grid; gap: 2px; margin: 0; }
.pk-car__plate > label { position: absolute; z-index: 1; top: 5px; left: 12px; right: 8px; overflow: hidden; color: var(--sky-ink-3); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; pointer-events: none; }
.pk-car .pk-car__plate > input[type] { width: 100%; min-height: 50px; padding: 21px 10px 4px; border: 2px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; font: inherit; font-weight: 750; }
.pk-car__plate > input:focus { border-color: var(--sky-blue); outline: none; box-shadow: 0 0 0 4px rgba(21, 158, 238, .2); }
.pk-car__plate > input[aria-invalid="true"] { border-color: var(--sky-error); }
.pk-car__tiles { margin: 0; }

/* --- Batch 11i (owner 2026-10-07): phone review 7 --- */
/* One hero layout on the four homes (phones): title and lead on the left, the
   scene on the right in the slightly wider column (step text and numbered
   steps under it), the page's main button small under the scene; details
   (scores, chips) under both. Same title and lead size everywhere. */
@media (max-width: 900px) {
  :is(.sky-scenes--hero, .rc-hero) .sky-hero__title { font-size: clamp(1.4rem, 6.4vw, 1.75rem); line-height: 1.08; align-self: start; }
  :is(.sky-scenes--hero, .rc-hero) .sky-hero__lead { font-size: 14.5px; line-height: 1.4; }
  .sky-scenes--hero .sky-scenes__grid, .rc-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
  .sky-scenes--hero .sky-scenes__copy > .sky-hero__actions .sky-btn { min-height: 36px; padding: 6px 12px; font-size: 13.5px; border-radius: var(--sky-r1); }
}

/* --- Batch 11j (owner 2026-10-08): phone review 8 --- */
/* Rezervă at the end of every booking form (phones, beside the bottom bar;
   sky.js initBookBar): full width, the word and the total. */
.sb-end { display: none; }
/* The bottom bar stays to the end of the page: room for it under the footer. */
@media (max-width: 960px) {
  .sb > .sb-end { display: flex; grid-column: 1 / -1; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 52px; margin: 4px 0 0; font-size: 17px; }
  .sb > .sb-end b { font-weight: 900; font-variant-numeric: tabular-nums; }
  .sb > .sb-end b:empty { display: none; }
  body.sky-has-bookbar .sky-footer { padding-bottom: calc(88px + env(safe-area-inset-bottom)); }
}
/* Readable form texts on phones (owner: "nu se înțelege tot textul"): captions
   12-13 px, values 15-16 px, nothing cut. Dates and times take two rows
   (arrival | time, departure | time); the hotel's dates share a row and the
   room picker gets its own. */
@media (max-width: 760px) {
  .sc-picker-trigger small, .sb-pick__btn small, .sb-extra--select > span { font-size: 12px; letter-spacing: .04em; }
  .sc-picker-trigger strong, .sb-pick__btn strong { font-size: 15px; }
  .sb-when--dates .sc-picker-trigger small { font-size: 12px; letter-spacing: .03em; }
  .sb-when--dates .sc-picker-trigger strong, .sb-when > .sb-pick .sb-pick__btn strong, .sb-when > .sb-date .sc-picker-trigger strong { font-size: 15px; letter-spacing: 0; }
  .sb-when--dates .sc-picker-trigger svg { width: 13px; height: 13px; }
  .sc-picker-trigger, .sb-pick__btn { min-height: 52px; }
  .sb-count span { font-size: 13px; }
  :is(.sb-who, .sb-invoice) > :is(.sb-field, .sc-field, .sky-field):not(:has(.sc-combined-picker, .sb-pick)) > label,
  .pk-car__plate > label { font-size: 12px; letter-spacing: .04em; }
  :is(.sb-who, .sb-invoice) > :is(.sb-field, .sc-field, .sky-field):not(:has(.sc-combined-picker, .sb-pick)) > :is(input, select),
  .pk-car .pk-car__plate > input[type] { min-height: 54px; padding: 22px 10px 5px; font-size: 16px; }
  .sb :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea) { font-size: 16px; }
  .sb-extra { padding: 6px 8px; }
  .sb-extra b { font-size: 14px; line-height: 1.2; }
  .sb-extra small { font-size: 13px; line-height: 1.2; }
  .sb-opts, .sb-more, .sb-check, .sb-more summary { font-size: 15px; }
  .sb-opts .sb-check small { font-size: 13px; }
  .sb .sky-upsell__q { font-size: 14px; }
  .sb .sky-upsell__deal { font-size: 12.5px; }
  .sb .sky-upsell__name b { font-size: 14.5px; }
  .sb .sky-upsell__go { font-size: 13.5px; }
  .sb-row__name b { font-size: 16px; }
  .sb-row__name small { font-size: 13px; overflow: visible; text-overflow: clip; white-space: normal; }
  .sb-row > .sb-row__g > span, .sb-row__sub > .sb-row__g > span, .sb-row__sub > .sb-check { font-size: 14px; overflow: visible; text-overflow: clip; }
  .sb-row__sub small { font-size: 13px; }
  .sb-add { min-height: 44px; font-size: 15px; }
  .sb-summary .sky-ticks li { font-size: 14px; }
  .sb-pay__opt b { font-size: 15px; }
  .sb-pay__opt small { font-size: 12.5px; }
  .sb-trust, .sky-upsell__name small { font-size: 13px; }
  .sb-opt__txt b { font-size: 16px; }
  .sb-opt__txt small { font-size: 13px; }
  .sky-actionbar--sheet .sky-actionbar__total small, .sky-actionbar__line { font-size: 13px; }
}
/* Tablets: the room picker's value wraps rather than being cut. */
@media (min-width: 561px) and (max-width: 960px) { .sb-pick__btn strong { white-space: normal; } }
@media (max-width: 560px) {
  .sb-when--dates { grid-template-columns: minmax(0, 1fr); }
  .sb-when--dates .sc-combined-picker--split { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
  .sb-when--dates .sc-picker-trigger > span { padding: 5px 10px; column-gap: 5px; }
  .sb-when:not(.sb-when--dates) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sb-when:not(.sb-when--dates) > .sb-pick { grid-column: 1 / -1; }
  .sb-when > .sb-pick:last-of-type .sb-pick__pop, .sb-when > .sb-date + .sb-pick .sb-pick__pop { left: 0; right: auto; }
}

/* --- Batch 11k (owner 2026-10-08): extras readable on phones --- */
/* One extra per row: the box, the whole name, the price on the right (three
   per row cut the names into one word per line). Vehicles stay two per row. */
@media (max-width: 560px) {
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) { grid-column: 1 / -1; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; column-gap: 10px; min-height: 48px; padding: 8px 12px; }
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) > input { grid-row: 1; width: 20px; height: 20px; }
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) > b { grid-column: 2; grid-row: 1; font-size: 15px; }
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) > small { grid-column: 3; grid-row: 1; max-width: 10em; color: var(--sky-ink); font-size: 14px; font-weight: 750; text-align: right; }
}

/* --- Batch 11l (owner 2026-10-08): a lower header on phones --- */
/* 72 -> 52 px: the same 2x2 doors in shorter rows, a smaller logo plate and
   burger. --sky-header-h follows, so the menu panel, the sticky parts and the
   anchor offsets stay right. */
@media (max-width: 699px) {
  [data-sky] { --sky-header-h: 52px; }
  .sky-logo { padding: 4px 6px; }
  .sky-logo img { width: 88px; }
  .sky-header .sky-doors--bar { row-gap: 3px; column-gap: 4px; }
  .sky-header .sky-doors--bar a { min-height: 23px; padding: 0 5px; border-left-width: 4px; font-size: 13px; line-height: 1; }
  .sky-burger { width: 42px; height: 42px; }
  .sky-burger span { width: 20px; margin: 4.5px auto; }
  [data-sky-menu="open"] .sky-burger span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  [data-sky-menu="open"] .sky-burger span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
}
@media (max-width: 370px) { .sky-logo img { width: 78px; } .sky-header .sky-doors--bar a { font-size: 12.5px; } }

/* --- Batch 11m (owner 2026-10-08): the dock's language list stays whole --- */
/* sky.js places it between the header and the window's bottom edge; on phones
   the eight languages sit in two columns (four short rows). */
.sky-dock-langs { overflow-y: auto; overscroll-behavior: contain; }
@media (max-width: 560px) {
  .sky-dock-langs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; width: min(300px, calc(100vw - 96px)); min-width: 0; }
  .sky-dock-langs a { gap: 6px; min-height: 44px; padding: 0 8px; font-size: 14px; }
  .sky-dock-langs a b { width: 22px; flex: none; }
}

/* --- Batch 11n (owner 2026-10-09): twelfth phone review --- */
/* Items a hero moves under its scene on phones (sky.js initHeroAside). */
.sky-scenes__aside { grid-column: 1 / -1; display: grid; gap: 4px; min-width: 0; margin-top: 6px; }
.sky-scenes__aside:empty { display: none; }
/* Each scene step offers its service inside the window on phones (sky.js
   initScenes, owner 11n): a small button in the caption's corner. */
.sky-scenes__go { display: none; }
@media (max-width: 900px) {
  .has-go .sky-scenes__play > .sky-scenes__cap { padding-bottom: 34px; }
  .has-go .sky-scenes__play > .sky-scenes__go:not([hidden]) { grid-area: 2 / 1; z-index: 3; align-self: end; justify-self: end; display: inline-flex; align-items: center; gap: 4px; min-height: 28px; margin: 0 6px 6px 0; padding: 2px 10px; border-radius: var(--sky-r1); background: var(--sky-blue); color: #fff; font-size: 12px; font-weight: 800; line-height: 1.1; text-decoration: none; }
  .has-go .sky-scenes__play > .sky-scenes__go::after { content: "\2192"; font-size: 13px; }
  .has-go .sky-scenes__play > .sky-scenes__go:focus-visible { outline: 3px solid var(--sky-sky); outline-offset: 2px; }
}
/* Booking card banners on phones: title, note and link on one line where they
   fit (the note had a tap-target height it does not need). */
@media (max-width: 560px) {
  .sb-banner { column-gap: 8px; }
  .sb-banner h2 small { min-height: 0; }
}
/* Feature blocks on phones (events and the like): the ticks two per row, the
   buttons side by side, the photo a little flatter (owner 11n: no empty space). */
@media (max-width: 560px) {
  .sky-feature { gap: 10px; }
  .sky-feature .sky-photo-bay img { aspect-ratio: 2 / 1; }
  .sky-feature__copy { gap: 8px; }
  .sky-feature__copy > p { font-size: var(--sky-fs-s); line-height: 1.4; }
  .sky-feature .sky-ticklist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 10px; }
  .sky-feature .sky-ticklist li { padding-left: 22px; font-size: 13px; line-height: 1.3; }
  .sky-feature .sky-ticklist li::before { left: 1px; width: 11px; height: 6px; border-width: 2.5px; }
  .sky-feature__actions { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 8px; width: 100%; margin-top: 4px; }
  .sky-feature__actions .sky-btn { min-height: 42px; justify-content: center; padding: 8px 10px; font-size: 14px; }
}
/* Footer on phones (owner 11n: one footer everywhere, compact): shorter link
   rows (28 px still clear to tap), a shorter map. */
@media (max-width: 560px) {
  .sky-footer__top { row-gap: 8px; }
  .sky-footer__top a { min-height: 28px; font-size: 13.5px; line-height: 1.25; }
  .sky-footer__top h2 { margin-bottom: 2px; }
  .sky-footer__top > .sky-footer__map { min-height: 140px; }
  .sky-footer__bottom { gap: 4px 16px; }
}
/* Extras on phones (owner 11n, "compactează"): still one per row with the
   whole name (11k), but shorter rows and closer together. */
@media (max-width: 560px) {
  .sb-extras { gap: 5px; }
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) { min-height: 38px; padding: 4px 10px; border-width: 1.5px; column-gap: 8px; }
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) > input { width: 18px; height: 18px; }
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) > b { font-size: 14px; }
  .sb-extras > .sb-extra:not(.sb-extra--vehicle):not(.sb-extra--select) > small { max-width: 13em; font-size: 12.5px; line-height: 1.15; }
}
/* Something missing on Rezervă (sky-book.js missing): the confirmation's
   window, amber mark, the message as its title. */
.sb-done.is-missing .sb-done__mark { background: #e8a317; }
.sb-done.is-missing h2 { font-size: var(--sky-fs-m); line-height: 1.3; }
/* The other choices in that window (a free car instead of a taken one). */
.sb-done__choices { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.sb-done__choices button { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; width: 100%; min-height: 44px; padding: 8px 12px; border: 1.5px solid #cbd6e2; border-radius: var(--sky-r1); background: #fff; color: var(--sky-ink); font: inherit; text-align: left; cursor: pointer; }
.sb-done__choices button:hover, .sb-done__choices button:focus-visible { border-color: var(--sky-blue); background: #f2f8fd; }
.sb-done__choices small { flex: none; color: var(--sky-blue-deep); font-weight: 800; }
/* The page's amenities over the scene window (sky.js initScenes, owner 11n,
   names added in 11o): a row of small tiles in the top corner, each lit in
   turn, and the lit one's name in a pill under the row. */
.sky-scenes__amen { position: absolute; z-index: 2; top: 6px; left: 6px; right: 6px; display: grid; justify-items: start; gap: 4px; pointer-events: none; }
.sky-scenes__amen-row { display: flex; flex-wrap: wrap; gap: 4px; }
.sky-scenes__amen-row > span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 6px; background: rgba(8, 18, 32, .62); color: var(--sky-paint); box-shadow: inset 0 0 0 1px rgba(244, 247, 251, .14); animation: sky-amen-lit calc(var(--n, 6) * 1.4s) var(--sky-ease) infinite both; animation-delay: calc(var(--i, 0) * 1.4s); transition: background var(--sky-t2), color var(--sky-t2), transform var(--sky-t2) var(--sky-ease); }
.sky-scenes__amen .sky-ico { width: 15px; height: 15px; }
.sky-scenes__amen.has-names .sky-scenes__amen-row > span { animation: none; }
.sky-scenes__amen.has-names .sky-scenes__amen-row > span.is-lit { background: var(--sky-accent, #f7c948); color: var(--sky-asphalt); transform: scale(1.12); }
.sky-scenes__amen-name { max-width: 100%; padding: 4px 9px; border-radius: 999px; background: rgba(8, 18, 32, .82); box-shadow: inset 0 0 0 1px rgba(247, 201, 72, .45), 0 4px 14px rgba(0, 0, 0, .3); color: #fff; font-size: 12px; font-weight: 750; line-height: 1.25; letter-spacing: .01em; }
.sky-scenes__amen-name[hidden] { display: none; }
.sky-scenes__amen-name.is-new { animation: sky-amen-name 420ms var(--sky-ease) both; }
.sky-scenes.is-paused .sky-scenes__amen-row > span { animation-play-state: paused; }
@keyframes sky-amen-lit { 0%, 18%, 100% { background: rgba(8, 18, 32, .62); color: var(--sky-paint); transform: none; } 6%, 12% { background: var(--sky-accent, #f7c948); color: var(--sky-asphalt); transform: scale(1.12); } }
@keyframes sky-amen-name { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (min-width: 901px) { .sky-scenes__amen { top: 10px; left: 10px; right: 10px; gap: 6px; } .sky-scenes__amen-row { gap: 6px; } .sky-scenes__amen-row > span { width: 30px; height: 30px; } .sky-scenes__amen .sky-ico { width: 18px; height: 18px; } .sky-scenes__amen-name { padding: 5px 12px; font-size: 14px; } }
@media (max-width: 400px) {
  .sky-scenes__amen { top: 4px; left: 4px; right: 4px; gap: 3px; }
  .sky-scenes__amen-row { flex-wrap: nowrap; gap: 3px; }
  .sky-scenes__amen-row > span { width: 20px; height: 20px; border-radius: 5px; }
  .sky-scenes__amen .sky-ico { width: 12px; height: 12px; }
  .sky-scenes__amen-name { padding: 3px 7px; font-size: 10.5px; }
}

/* Batch 11o (owner, 2026-10-09). Hero scenes: no numbered step bar. It
   stays in the page, out of sight, because its fill is the scene clock
   (animationend moves to the next step) and screen readers keep the steps. */
:is(.sky-scenes--hero, .rc-hero) .sky-scenes__controls { position: absolute !important; width: 1px; height: 1px; margin: 0; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); border: 0; opacity: 0; pointer-events: none; }
@media (max-width: 900px) {
  /* The button in the scene window books on phones, so the hero's own main
     button goes (computers keep it; "Vezi camerele" stays). */
  .sky-scenes--hero.has-go .sky-hero__actions > .sky-btn:not(.sky-btn--ghost) { display: none; }
  .sky-scenes--hero.has-go .sky-hero__actions:not(:has(> .sky-btn--ghost)) { display: none; }
  /* The amenities now run inside the window: no list under the scene. */
  .sky-scenes--hero .sky-scenes__aside { display: none; }
}
/* Footer "Informații utile": short labels (chrome.json, owner 11o) on one
   line each, so the column ends almost level with the services. */
.sky-footer__top > div:has(> h2):last-child a { white-space: nowrap; }
/* The open menu is a narrow panel on the right, the page stays visible on
   the left (owner 11o); a tap outside closes it (sky.js). */
@media (max-width: 1180px) {
  .sky-menu { left: auto; right: 0; width: clamp(172px, 46vw, 260px); padding: 8px 12px 12px; gap: 8px; border-radius: 0 0 0 var(--sky-r3); }
  .sky-nav, .sky-collapsed .sky-nav { display: flex; flex-direction: column; }
  .sky-nav a { min-height: 42px; padding: 6px 2px; font-size: 14px; line-height: 1.2; }
  .sky-nav .sky-btn { min-height: 42px; margin-top: 8px; padding-inline: 10px; }
  .sky-menu > .sky-doors { grid-template-columns: minmax(0, 1fr); }
  .sky-menu > .sky-doors a { min-height: 42px; }
}
.sky-collapsed .sky-menu { left: auto; right: 0; width: clamp(172px, 46vw, 260px); padding: 8px 12px 12px; gap: 8px; border-radius: 0 0 0 var(--sky-r3); }
.sky-collapsed .sky-nav a { min-height: 42px; padding: 6px 2px; font-size: 14px; line-height: 1.2; }
.sky-collapsed .sky-nav .sky-btn { min-height: 42px; margin-top: 8px; padding-inline: 10px; }
.sky-collapsed .sky-menu > .sky-doors { grid-template-columns: minmax(0, 1fr); }
.sky-collapsed .sky-nav { display: flex; flex-direction: column; }
/* A choice may list several lines (hotel split stay: one room per line). */
.sb-done__choices button { flex-wrap: wrap; row-gap: 2px; }
.sb-done__choices b { flex: 1 1 62%; min-width: 0; white-space: pre-line; }
.sb-done__choices small { margin-left: auto; }

/* --- Batch 11p (owner, 2026-10-09): fourteenth phone review --- */
/* Contact dock: the names beside the buttons in blue with white text, so
   they stand apart from the page under them. */
.sky-dock span { background: var(--sky-blue); color: #fff; box-shadow: 0 6px 16px -8px rgba(0, 0, 0, .55), inset 0 0 0 1px rgba(255, 255, 255, .28); }
/* Footer on phones: the line centred on its own row under the dashed edge;
   then the logo with the contact under it on the left and the map beside
   both on the right, top and bottom level with them. */
@media (max-width: 900px) {
  .sky-footer.sky-asphalt { background-image: repeating-linear-gradient(90deg, var(--sky-accent) 0 22px, transparent 22px 36px); background-size: 100% 4px; background-repeat: no-repeat; }
  .sky-footer__top > .sky-footer__lead { display: contents; }
  .sky-footer__top > .sky-footer__lead::after { content: none; }
  .sky-footer__lead > p { grid-column: 1 / -1; grid-row: 1; max-width: none; margin: 0; padding: 14px 0 2px; text-align: center; }
  .sky-footer__lead > .sky-logo { grid-column: 1; grid-row: 2; justify-self: start; align-self: start; min-height: 0; }
  .sky-footer__top > .sky-footer__contact { grid-column: 1; grid-row: 3; }
  .sky-footer__top > .sky-footer__map { grid-column: 2; grid-row: 2 / span 2; align-self: stretch; min-height: 0; margin-top: 0; }
}
/* One proposal in the window (hotel rooms): the plan, a big blue button to
   take it, "Închide" under it. */
.sb-done__plan { margin: 0; padding: 10px 12px; border: 1.5px solid #cbd6e2; border-radius: var(--sky-r1); background: #f2f8fd; color: var(--sky-ink); font-weight: 800; line-height: 1.45; white-space: pre-line; }
.sb-done__actions.is-stacked { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.sb-done__actions.is-stacked button { width: 100%; }
.sb-done__take { min-height: 52px; padding: 0 20px; border: 2px solid var(--sky-blue); border-radius: var(--sky-r2); background: var(--sky-blue); color: #fff; font: inherit; font-size: var(--sky-fs-m); font-weight: 850; cursor: pointer; }
.sb-done__take:hover { background: var(--sky-blue-deep); border-color: var(--sky-blue-deep); }
/* Calendar: the days outside the pair hatched, the days between tinted,
   the other date outlined. */
.sc-picker-days button.is-hatch { opacity: .7; color: var(--sky-ink-3); background: repeating-linear-gradient(135deg, transparent 0 4px, rgba(11, 23, 40, .16) 4px 6px); }
.sc-picker-days button.is-span { background: #dcecf8; color: var(--sky-ink); border-radius: 0; }
.sc-picker-days button.is-anchor:not(.is-selected) { box-shadow: inset 0 0 0 2px var(--sky-blue); background: #dcecf8; color: var(--sky-blue-deep); opacity: 1; }
/* Scene amenities in a band above the picture (sky.js initScenes, owner
   11p): the icons and the lit one's name sit on a solid strip, so the whole
   animation stays clear; the window keeps one height (sky.js fit). */
.sky-scenes__amen.is-band { position: relative; inset: auto; z-index: 1; display: grid; justify-items: start; align-content: start; gap: 4px; padding: 6px 8px; border-radius: var(--sky-r3) var(--sky-r3) 0 0; background: var(--sky-asphalt-2); box-shadow: inset 0 0 0 1px var(--sky-rule-dark); }
.sky-scenes__amen.is-band + .sky-scenes__stage { border-top-left-radius: 0; border-top-right-radius: 0; }
.sky-scenes__amen.is-band { min-width: 0; overflow: hidden; }
.sky-scenes__amen.is-band .sky-scenes__amen-row { flex-wrap: nowrap; max-width: 100%; }
.sky-scenes__amen.is-band .sky-scenes__amen-row > span { flex: 0 1 auto; min-width: 0; }
.sky-scenes__amen.is-band .sky-scenes__amen-name { padding: 0; border-radius: 0; background: none; box-shadow: none; color: #fff; }
.sky-scenes__amen.is-band .sky-scenes__amen-name[hidden] { display: block; visibility: hidden; }
@media (min-width: 901px) {
  .sky-scenes__amen.is-band { grid-auto-flow: column; justify-content: start; align-items: center; gap: 14px; padding: 8px 12px; }
}
@media (max-width: 900px) {
  .sky-scenes__play:has(> .sky-scenes__amen.is-band) { grid-template-columns: minmax(0, 1fr); }
  .sky-scenes__play > .sky-scenes__amen.is-band { grid-area: 1 / 1; }
  .sky-scenes__amen.is-band ~ .sky-scenes__stage { grid-area: 2 / 1; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__amen.is-band ~ .sky-scenes__stage { border-radius: 0; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__amen.is-band ~ .sky-scenes__cap,
  .has-go .sky-scenes__amen.is-band ~ .sky-scenes__go:not([hidden]) { grid-area: 3 / 1; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__amen.is-band ~ .sky-scenes__controls { grid-row: 4; }
  .sky-scenes__amen.is-band { padding: 5px 6px; gap: 3px; }
  .sky-scenes__amen.is-band .sky-scenes__amen-name { font-size: 11.5px; line-height: 1.25; }
}
@media (max-width: 400px) {
  .sky-scenes__amen.is-band { padding: 4px 5px; }
  .sky-scenes__amen.is-band .sky-scenes__amen-row { gap: 2px; }
}
/* A short list of the main services under a hero's lead (owner 11p: no
   empty space beside the scene on phones; the same words help search). */
.sky-hero__list { display: grid; gap: 4px; margin: 12px 0 0; padding: 0; list-style: none; color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 650; }
.sky-hero__list li { display: flex; align-items: baseline; gap: 8px; line-height: 1.3; }
.sky-hero__list li::before { content: ""; flex: none; width: 8px; height: 8px; background: var(--sky-accent); clip-path: polygon(0 0, 100% 50%, 0 100%); }
@media (max-width: 900px) {
  .sky-hero__list { gap: 3px; margin-top: 10px; font-size: 12.5px; }
  .sky-hero__list li { gap: 6px; line-height: 1.25; }
  .sky-hero__list li::before { width: 7px; height: 7px; }
}
/* Home hero (owner 11p): the title and lead centred, then three windows,
   one per service, each running its own animation with its own booking
   button (sky.js initTrio); the single player stays hidden. */
.sky-scenes--trio .sky-scenes__play { display: none !important; }
.sky-scenes--trio .sky-scenes__grid { display: block !important; }
.sky-scenes--trio .sky-scenes__copy { display: flex !important; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.sky-scenes--trio .sky-scenes__copy > .sky-hero__title { max-width: 24ch; margin: 0; }
.sky-scenes--trio .sky-scenes__copy > .sky-hero__lead { max-width: 62ch; margin: 0; }
.sky-scenes--trio .sky-scenes__copy > .sky-scores { justify-content: center; }
.sky-scenes--trio .sky-scenes__legs { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
/* Home (owner, batch 11q): the hero is the title and lead only, the three
   service cards under it run the scenes in their picture (sky.js initTrio):
   a view in the scenes' 8:5 shape covers the picture, the amenity band
   sits above it. The photo stays for no-JS. */
.sky-bay__media.sky-trio__stage { position: relative; container-type: size; overflow: hidden; background: #0f1d30; }
.sky-trio__stage.has-scene > img { visibility: hidden; }
/* With JS the scene replaces the photo: never paint the photo first (it flashed for a moment on load). */
@media (scripting: enabled) { .sky-bay__media[data-trio] { background: #0f1d30; } .sky-bay__media[data-trio] > img { visibility: hidden; } }
/* With scripts on, the old photo never shows, not even for an instant
   while the page loads (owner 11r: a tap on the logo flashed it). */
@media (scripting: enabled) {
  .sky-bay__media[data-trio] { background: #0f1d30; }
  .sky-bay__media[data-trio] > img { visibility: hidden; }
}
.sky-trio__view.sky-scenes { position: absolute; left: 50%; top: 50%; width: max(100cqw, 160cqh); height: max(100cqh, 62.5cqw); padding: 0; translate: -50% -50%; container-type: size; content-visibility: visible; contain-intrinsic-size: none; pointer-events: none; }
.sky-trio__amen.is-band { display: grid; grid-auto-flow: row; justify-items: start; gap: 3px; border-radius: 0; box-shadow: none; background: #0b1626; }
.sky-trio__amen .sky-scenes__amen-name { font-size: 12px; line-height: 1.25; }
.pt-door .sky-trio__amen { margin-inline: -18px; margin-top: -12px; padding: 7px 18px 6px; }
.pt-door .sky-trio__amen + .sky-bay__media { margin-top: 0; }
/* The service letter (P, H, R) keeps its corner: the band's text stops before it. */
.pt-door .sky-trio__amen.is-band { padding-right: 58px; }
@media (min-width: 901px) { .pt-door .sky-trio__amen.is-band { grid-auto-flow: column; justify-content: start; align-items: center; gap: 12px; } }
@media (max-width: 900px) { .pt-door .sky-trio__amen { margin-inline: -14px -16px; padding: 5px 10px; } .pt-door .sky-trio__amen.is-band { padding-right: 36px; } }

/* The home title arrives in motion (owner 11q): each word rises out of a
   soft blur, the place line lands last, a runway line draws under it and a
   light keeps running along it. */
.sky-hero__title.sky-motion:not(.sky-split) { animation: sky-word-in 1100ms cubic-bezier(.16, 1, .3, 1) 100ms both; }
.sky-hero__title.sky-motion.sky-split .w > span { display: inline-block; animation: sky-word-in 1100ms cubic-bezier(.16, 1, .3, 1) both; animation-delay: calc(var(--wi) * 85ms + 120ms); }
.sky-scenes--trio .sky-hero__title em { position: relative; display: inline-block; padding-bottom: .12em; }
.sky-scenes--trio .sky-hero__title em::after { content: ""; position: absolute; left: 4%; right: 4%; bottom: -.04em; height: 3px; border-radius: 3px; background: repeating-linear-gradient(90deg, currentColor 0 14px, transparent 14px 24px); opacity: .85; transform-origin: 0 50%; }
.sky-scenes--trio .sky-hero__title em::before { content: ""; position: absolute; z-index: 1; left: 4%; bottom: calc(-.04em - 2px); width: 10px; height: 7px; border-radius: 50%; background: #fff; box-shadow: 0 0 10px 3px rgba(120, 190, 255, .9); opacity: 0; }
.sky-hero__title.sky-motion em::after { animation: sky-runway 900ms cubic-bezier(.65, 0, .35, 1) 1250ms both; }
.sky-hero__title.sky-motion em::before { animation: sky-runway-light 3.2s ease-in-out 2.2s infinite; }
.sky-hero__title.sky-motion ~ .sky-hero__lead { animation: sky-lead-in 900ms cubic-bezier(.16, 1, .3, 1) 900ms both; }
.sky-hero__title.sky-motion .w { overflow: visible; }
@keyframes sky-word-in { from { opacity: 0; filter: blur(8px); transform: translate3d(0, 55%, 0) scale(.96); } to { opacity: 1; filter: none; transform: none; } }
@keyframes sky-runway { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes sky-runway-light { 0% { left: 4%; opacity: 0; } 12% { opacity: 1; } 78% { opacity: 1; } 90%, 100% { left: calc(96% - 10px); opacity: 0; } }
@keyframes sky-lead-in { from { opacity: 0; transform: translate3d(0, 10px, 0); } to { opacity: 1; transform: none; } }
@media (max-width: 720px) {
  .sky-scenes--trio .sky-scenes__copy { gap: 8px; }
  .sky-scenes--trio .sky-scenes__copy > .sky-hero__title { font-size: clamp(1.5rem, 7vw, 1.9rem); line-height: 1.1; }
  .sky-scenes--trio .sky-scenes__copy > .sky-hero__lead { font-size: 14px; line-height: 1.4; }
}
/* Phones: the hero scene's caption is compact (owner 11q): the step title,
   its text in at most two lines, the booking button; sky.js fit() lets it
   grow only to end level with the text column. */
@media (max-width: 900px) {
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__play > .sky-scenes__cap { min-height: 0; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
  [data-sky-scenes].is-tight .sky-scenes__cap p { display: none; }
  [data-sky-scenes].is-roomy .sky-scenes__cap p { -webkit-line-clamp: unset; }
}
/* The "night on the way back" tick looks the same in every flow (owner
   11q): the grey row of the package page's night ticks. */
.sb-back > .sb-check:first-child { padding: 4px 12px; border-radius: var(--sky-r2); background: var(--sky-concrete); }

/* --- Batch 11r (owner, 2026-10-09): the steps back inside the animation ---
   Phones, parking / hotel / rent heroes: the step's number and title run
   over the bottom of the picture, one step after another (they slide in,
   the pips fill with the step's time); the booking button is a full-width
   blue button right under the window, level with its left and right edges. */
@media (max-width: 900px) {
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__play > .sky-scenes__stage { border-radius: 0 0 var(--sky-r3) var(--sky-r3); }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__play > .sky-scenes__cap,
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__amen.is-band ~ .sky-scenes__cap { grid-area: 2 / 1; align-self: end; z-index: 2; min-height: 0 !important; margin: 0; padding: 22px 8px 6px; border-radius: 0 0 var(--sky-r3) var(--sky-r3); background: linear-gradient(rgba(8, 18, 32, 0), rgba(8, 18, 32, .9) 46%); box-shadow: none; font-size: 12px; line-height: 1.25; pointer-events: none; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap p { display: none !important; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap :is(h3, .sky-leg__title) { display: inline; font-size: 12.5px; font-weight: 850; line-height: 1.25; color: #fff; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap .sky-leg__num { margin-right: 5px; font-size: 15px; color: var(--sky-accent); }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__cap.is-new { animation: sky-step-in 520ms var(--sky-ease) both; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__cap.is-new > :not(.sky-scenes__pips) { animation: sky-step-in 520ms var(--sky-ease) both; animation-delay: 80ms; }
  .sky-scenes__pips { display: flex; gap: 3px; margin: 0 0 5px; }
  .sky-scenes__pips > i { flex: 1; height: 3px; overflow: hidden; border-radius: 2px; background: rgba(244, 247, 251, .22); }
  .sky-scenes__pips > i::after { content: ""; display: block; height: 100%; background: var(--sky-accent); transform: scaleX(0); transform-origin: 0 50%; }
  .sky-scenes__pips > i.is-done::after { transform: none; }
  .sky-scenes__pips > i.is-active::after { animation: sky-fill var(--dur, 7000ms) linear both; }
  .sky-scenes.is-paused .sky-scenes__pips > i::after { animation-play-state: paused; }
  .has-go .sky-scenes__play > .sky-scenes__cap { padding-bottom: 6px; }
  .has-go .sky-scenes__play > .sky-scenes__go:not([hidden]),
  .has-go .sky-scenes__amen.is-band ~ .sky-scenes__go:not([hidden]) { grid-area: 3 / 1; align-self: stretch; justify-self: stretch; justify-content: center; gap: 6px; min-height: 40px; margin: 6px 0 0; padding: 4px 10px; border-radius: var(--sky-r2); background: var(--sky-blue); box-shadow: 0 6px 16px -10px rgba(0, 0, 0, .6); font-size: 14px; font-weight: 850; }
  .has-go .sky-scenes__play > .sky-scenes__go:hover { background: var(--sky-blue-deep); }
  .has-go .sky-scenes__play > .sky-scenes__go::after { font-size: 15px; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__amen.is-band ~ .sky-scenes__controls { grid-row: 4; }
}
@keyframes sky-step-in { from { opacity: 0; transform: translate3d(-14px, 0, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__cap.is-new, :is(.sky-scenes--hero, .rc-hero) .sky-scenes__cap.is-new > * { animation: none; }
}
@media (max-width: 400px) {
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap :is(h3, .sky-leg__title) { font-size: 11.5px; }
  [data-sky-scenes]:is(.sky-scenes--hero, .rc-scenes) .sky-scenes__cap .sky-leg__num { font-size: 13px; }
  :is(.sky-scenes--hero, .rc-hero) .sky-scenes__play > .sky-scenes__cap { padding: 18px 6px 5px; }
}
/* The hero picture in its own 8:5 view (sky.js, batch 11r): a taller window
   (both columns level on phones) is covered, never stretched. */
.sky-scenes__view { position: absolute; inset: 0; container-type: size; }
.sky-scenes__stage.is-cover { aspect-ratio: auto; }
.sky-scenes__stage.is-cover > .sky-scenes__view { inset: auto; left: 50%; top: 50%; width: max(100cqw, 160cqh); height: max(100cqh, 62.5cqw); translate: -50% -50%; }

/* --- Batch 11r: the group and the rooms (sky-stay.js) --- */
/* "Câte persoane sunteți?" right above check-in / check-out. */
.sb-guests { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; margin: 0 0 8px; padding: 6px 12px; border: 1.5px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; }
.sb-guests__q { display: inline-flex; align-items: center; gap: 6px; font-weight: 850; color: var(--sky-ink); }
.sb-guests__q .sky-ico { width: 18px; height: 18px; color: var(--sky-blue); }
.sb-guests .sb-row__g { display: inline-flex; flex-direction: row; align-items: center; gap: 6px; }
.sb-guests__fit { flex: 1 1 100%; margin: 0; color: var(--sky-blue-deep); font-weight: 750; }
.sb-guests__fit:empty { display: none; }
@media (max-width: 560px) {
  .sb-guests { gap: 4px 10px; padding: 6px 8px; }
  .sb-guests__q { flex: 1 1 100%; font-size: 13.5px; }
  /* Adults | children side by side, the word above its stepper: no empty
     space at the right on phones. */
  .sb-guests { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .sb-guests__q, .sb-guests__fit { grid-column: 1 / -1; }
  .sb-guests .sb-row__g { flex-direction: column; align-items: stretch; gap: 2px; }
  .sb-guests .sb-row__g > span:first-child { font-size: 12px; font-weight: 750; color: var(--sky-ink-2); }
  .sb-guests .sky-stepper { display: flex; }
  .sb-guests .sky-stepper button { width: 40px; }
  .sb-guests .sky-stepper input { flex: 1 1 auto; min-width: 0; width: auto; }
}
/* A room not free every night: hatched, with its booked nights. */
.sb-list li[aria-disabled="true"] { opacity: .75; background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(11, 23, 40, .07) 5px 8px); }
.sb-list li[aria-disabled="true"] small { color: #b42318; font-weight: 750; }
.sb-list li[aria-disabled="true"] img { filter: grayscale(1); }
/* The window says why: the booked nights, what it replaces. */
.sb-done__why { margin: -4px 0 0; color: var(--sky-ink-2); font-weight: 650; line-height: 1.45; white-space: pre-line; }
/* The same proposal under the rooms. */
.hb-split { display: grid; gap: 8px; margin: 8px 0; padding: 10px 12px; border: 1.5px solid #f2c94c; border-radius: var(--sky-r2); background: #fffbeb; }
.hb-split > p { margin: 0; font-weight: 700; line-height: 1.4; white-space: pre-line; }
.hb-split__opt { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 8px 10px; border-radius: var(--sky-r1); background: #fff; box-shadow: inset 0 0 0 1px #e5d29b; }
.hb-split__opt p { margin: 0; font-weight: 800; line-height: 1.4; white-space: pre-line; }
/* Calendar: a day before the first date starts a new period there. */
.sc-picker-days button.is-restart { cursor: pointer; }
.sc-picker-days button.is-restart:hover { opacity: 1; box-shadow: inset 0 0 0 2px var(--sky-blue); }

/* Batch 11r (owner 2026-10-09): the "+" dock opens and closes twice as fast
   (call, location, language...): its timings are halved, the fan's stagger too. */
.sky-dock__toggle, .sky-dock__list { --sky-t1: 80ms; --sky-t2: 130ms; --sky-t3: 230ms; }
@media (max-width: 720px) {
  .sky-dock.is-open .sky-dock__list a:nth-child(3) { transition-delay: 15ms; }
  .sky-dock.is-open .sky-dock__list a:nth-child(2) { transition-delay: 30ms; }
  .sky-dock.is-open .sky-dock__list a:nth-child(1) { transition-delay: 45ms; }
  .sky-dock.is-open .sky-dock__list .sky-dock__lang { transition-delay: 60ms; }
}

/* --- Batch 11s (owner 2026-10-09) --- */
/* The paid airport transfer (hotel, Family Space): a tick per way, its hour
   and its price beside it. */
.sb-transfer { display: grid; gap: 6px; margin: 10px 0; padding: 8px 12px; border: 1.5px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; }
.sb-transfer__q { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin: 0; color: var(--sky-ink); }
.sb-transfer__q .sky-ico { width: 18px; height: 18px; color: var(--sky-blue); }
.sb-transfer__q small { color: var(--sky-ink-2); font-weight: 650; }
.sb-transfer__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; min-height: 40px; }
.sb-transfer__row .sb-time { min-width: 120px; margin: 0; }
.sb-transfer__price { margin-left: auto; color: var(--sky-blue-deep); font-weight: 800; }
/* The two night ticks beside the group (packages): same state as below. */
.sb-guests__ticks { display: inline-flex; flex-wrap: wrap; gap: 4px 14px; }
.sb-guests__ticks .sb-check { margin: 0; }
@media (max-width: 560px) { .sb-guests__ticks { grid-column: 1 / -1; } }
/* Batch 11s: the group with its babies (packages): three columns on phones. */
@media (max-width: 560px) {
  .sb-guests--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .sb-guests--3 .sky-stepper button { width: 32px; }
  .sb-guests--3 .sb-row__g { justify-content: flex-end; }
  .sb-guests--3 .sb-row__g > span:first-child { white-space: nowrap; }
  .sb-guests--3 .sb-row__g > span:first-child small { font-size: 11px; font-weight: 650; }
}
/* Batch 11s: the rooms take the group's counts; each row says who sleeps
   there (the steppers stay in the form, hidden). */
.sb-rows--auto > .sb-row > .sb-row__g { display: none; }
.sb-row__who { grid-column: 1 / -1; font-weight: 800; color: var(--sky-blue-deep); font-size: 15px; }
/* Batch 11s: the hero is measured without its entrance motion (sky.js fit). */
.sky-measure :is(.sky-scenes--hero, .rc-hero, .sky-scenes--hero *, .rc-hero *) { transform: none !important; translate: none !important; scale: none !important; rotate: none !important; }
/* Batch 11s: before sky.js fits it (slow first load), the phone lead already
   starts compact, at the size the fit usually ends on. */
@media (max-width: 900px) {
  :is(.sky-scenes--hero, .rc-hero) .sky-hero__lead { font-size: 13px; }
}
/* Batch 11s: the window says its step and what it is for. */
.sc-picker-step { margin: 0 0 6px; padding: 14px 18px 10px; border-bottom: 1px solid var(--sky-rule); font-size: 15px; font-weight: 700; color: var(--sky-ink-2); }
.sc-picker-step b { color: var(--sky-blue); font-weight: 850; }
.sc-picker-step span { color: var(--sky-ink); font-weight: 850; text-transform: uppercase; letter-spacing: .04em; }
/* Batch 11s: the transfer ticks read like "Pătuț": name, then the price small and grey. */
.sb-transfer .sb-check small { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 650; }
