/* SkyCenter portal — app layer on top of /assets/sky-ui/sky.css. */

/* Hero: headline + running trip scene; the three doors right below */
.pt-doors-sec { padding-bottom: clamp(20px, 2.6vw, 36px); }
.pt-scenes .sky-hero__actions { margin-top: 14px; }
.pt-scenes .sky-hero__proof { margin-top: 10px; }
.pt-doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.2vw, 14px); align-items: stretch; }
.pt-door { --bay-stripe: var(--sky-rule-dark); background: var(--sky-asphalt-2); color: var(--sky-paint); }
.pt-door .sky-bay__num { color: var(--door); -webkit-text-stroke-color: var(--door); z-index: 2; top: 14px; right: 16px; font-size: var(--sky-fs-xl); color: transparent; }
.pt-door .sky-bay__media { aspect-ratio: 2 / 1; margin-bottom: 10px; }
/* Price row sits right under the text, not pushed to the card bottom. */
.pt-door { padding: 12px 18px 14px; }
.pt-door .sky-bay__media { margin-inline: -18px; margin-top: -12px; }
.pt-door .sky-bay__text { margin-top: 4px; }
.pt-door .sky-bay__foot { margin-top: auto; padding-top: 8px; align-items: center; }
.pt-door__go { white-space: nowrap; }
.pt-door .sky-bay__text { color: var(--sky-mist); }
.pt-door .sky-bay__price small, .pt-door__note { color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 700; }
.pt-door__go { display: inline-flex; align-items: center; gap: 10px; min-height: 40px; color: var(--sky-paint); font-weight: 800; }
.pt-door:hover { --bay-stripe: var(--door); }
.pt-door:hover .sky-bay__num { color: var(--door); }
.pt-door:hover .pt-door__go { color: var(--door); }
.pt-door:hover .shaft { stroke-dashoffset: -14; }
.pt-door:hover .head { transform: translateX(3px); }
.pt-door .shaft { stroke-dasharray: 4 3; transition: stroke-dashoffset var(--sky-t3) var(--sky-ease); }
.pt-door .head { transition: transform var(--sky-t2) var(--sky-ease); }
@media (max-width: 900px) {
  .pt-doors { grid-template-columns: 1fr; }
  .pt-door { display: grid; grid-template-columns: 116px 1fr; column-gap: 12px; padding: 12px 16px 12px 14px; }
  .pt-door .sky-bay__media { grid-row: 1 / span 3; margin: 0; aspect-ratio: 1; border-radius: 2px; }
  .pt-door .sky-bay__title { font-size: var(--sky-fs-m); align-self: end; }
  .pt-door .sky-bay__text { font-size: var(--sky-fs-s); margin-top: 2px; }
  .pt-door .sky-bay__foot { padding-top: 6px; }
  .pt-door .sky-bay__num { font-size: var(--sky-fs-xl); top: 10px; right: 12px; }
  .pt-door__go { min-height: 32px; font-size: var(--sky-fs-s); }
  .pt-door__go { font-size: 0; gap: 0; }
  .pt-door__go svg { width: 26px; height: 16px; }
}
@media (max-width: 420px) { .pt-door .sky-bay__text { display: none; } .pt-door { grid-template-columns: 96px 1fr; } }

/* Story plan: route paint per service, night falling on the last leg */
.pt-story { --story-h: 260vh; }
.pt-plan .route { stroke-width: 6; opacity: .95; }
.pt-plan .pt-r1 { stroke: #f7c948; --route-p: var(--e1); }
.pt-plan .pt-r2 { stroke: #159eee; --route-p: var(--e2); }
.pt-plan .pt-r3 { stroke: #f4f7fb; --route-p: var(--e3); stroke-dasharray: 1; }
.pt-plan .pt-r4 { stroke: #3fd18f; --route-p: var(--e4); }
.pt-plan .pt-r5 { stroke: #a9b8ff; --route-p: var(--e5); }
.pt-plan .pt-bay-target { fill: #f7c948; opacity: calc(.08 + var(--e1) * .5); }
.pt-plan .pt-barrier { transform-box: fill-box; transform-origin: 0 50%; transform: rotate(calc(min(1, var(--s1) * 2.5) * -80deg)); }
.pt-plan .pt-night { fill: #020814; opacity: calc(var(--e5) * .5); pointer-events: none; }
.pt-plan .pt-windows rect { fill: #ffd98a; opacity: calc(.12 + var(--e5) * .88); filter: drop-shadow(0 0 6px rgba(255, 217, 138, calc(var(--e5) * .9))); }
.pt-plan text { pointer-events: none; }
.pt-story .sky-leg__title { color: var(--sky-paint); }
.pt-story .sky-leg .sky-link { color: var(--sky-accent); }

/* Packages */

/* Reviews */
.pt-reviews { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(16px, 3vw, 38px); align-items: center; }
.pt-score-row { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-bottom: 16px; }
.pt-bigscore { display: inline-flex; align-items: center; gap: 12px; color: var(--sky-ink); text-decoration: none; font-weight: 750; line-height: 1.25; }
.pt-bigscore b { font-size: var(--sky-fs-xl); font-weight: 900; letter-spacing: -.05em; line-height: .9; color: var(--sky-blue); }
.pt-bigscore small { color: var(--sky-ink-2); font-weight: 650; }
.pt-bigscore:hover span { color: var(--sky-blue); }
.pt-quotes { display: grid; gap: 12px; }
.pt-para { font-weight: 750; color: var(--sky-ink-2); }
.pt-note { margin-top: 12px; }
.pt-video { aspect-ratio: 4 / 5; }
@media (max-width: 900px) { .pt-reviews { grid-template-columns: 1fr; } .pt-video { aspect-ratio: 16 / 10; } }

/* Location */
.pt-location { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: clamp(16px, 3vw, 38px); align-items: center; }
.pt-contact { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px dashed var(--sky-rule-dark); }
.pt-contact li { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-bottom: 1px dashed var(--sky-rule-dark); }
.pt-contact span { color: var(--sky-mist); }
.pt-contact b, .pt-contact a { color: var(--sky-paint); font-weight: 750; text-align: right; }
.pt-map-facade { position: absolute; inset: 0; display: grid; place-items: center; }
.pt-map-art { position: absolute; inset: 0; width: 100%; height: 100%; }
.pt-map-facade .sky-btn { position: relative; }
@media (max-width: 900px) { .pt-location { grid-template-columns: 1fr; } }

/* Secondary pages (information.php, legal, FAQ, about, maintenance) */
.sky-page-sections .sky-bay__text a { overflow-wrap: anywhere; }
.pt-updated { margin-top: 12px; color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 650; }
.pt-legal .sky-prose { font-size: var(--sky-fs-m); }
.pt-legal .sky-prose h2:first-child { margin-top: 0; }
.pt-legal .sky-prose a { color: var(--sky-blue-deep); font-weight: 700; text-underline-offset: 3px; overflow-wrap: anywhere; }
.pt-legal__foot { margin-top: 1.6em; padding-top: .8em; border-top: 1px dashed var(--sky-rule); color: var(--sky-ink-2); }
.pt-faq-group + .pt-faq-group { margin-top: clamp(28px, 3.6vw, 44px); }
.pt-faq-group__head { display: grid; grid-template-columns: 14px minmax(0, 1fr); gap: 6px 12px; align-items: center; margin-bottom: 12px; }
.pt-faq-group__head::before { content: ""; flex: none; width: 14px; height: 14px; border-radius: 2px; background: var(--c, var(--sky-blue)); box-shadow: 0 0 0 1px rgba(14, 27, 45, .2); }
.pt-faq-group__head p { grid-column: 2; }
.pt-faq-group__head h2 { font-size: var(--sky-fs-l); }
.pt-faq-group__head p { color: var(--sky-ink-2); font-weight: 650; }
.pt-faq .sky-faq__a a { color: var(--sky-blue-deep); font-weight: 700; }
.sky-prose .pt-about-list, .pt-about-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--sky-ink); }
.sky-prose .pt-about-list li, .pt-about-list li { margin: 0; position: relative; padding: 12px 0 12px 30px; border-bottom: 1px dashed var(--sky-rule); }
.pt-about-list li::before { content: ""; position: absolute; left: 0; top: 24px; width: 14px; height: 14px; border-radius: 2px; background: var(--c, var(--sky-blue)); box-shadow: 0 0 0 1px rgba(14, 27, 45, .2); }
.pt-status { min-height: min(72vh, 720px); display: grid; align-items: center; }
.pt-about .pt-about-list + p { margin-top: 1em; }
.pt-about p + .pt-about-list { margin-top: .8em; }

/* Door stencils sit on a dark scrim so they read on light photos. */
.pt-door .sky-bay__num { padding: 2px 8px; border-radius: var(--sky-r1); background: rgba(11, 23, 40, .55); }

/* Door prices are painted plates, like the service heroes. */
.pt-door .sky-bay__price { display: inline-flex; align-items: baseline; gap: 4px; padding: 6px 10px 5px; border-radius: 2px; background: var(--sky-paint); color: var(--sky-ink); font-weight: 900; box-shadow: inset 0 -3px 0 var(--door); }
.pt-door .sky-bay__price small { color: var(--sky-ink-2); font-weight: 750; }
.pt-door .sky-bay__media img[src*="logan-lot"] { object-position: 60% 60%; }

/* sky-scenes:start (generated by shared/sky-ui/scenes/build.py) */
.pt-scenes .pt-s1-gl { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s1-gl { animation: pt-s1-gl 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s1-gl { 0% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } 14% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } 26% { transform: translate(35.075cqw, 61.060cqh) rotate(0deg) scale(1); opacity: 1; } 48% { transform: translate(35.075cqw, 61.060cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(38.050cqw, 63.440cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s1-gr { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s1-gr { animation: pt-s1-gr 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s1-gr { 0% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } 14% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } 26% { transform: translate(44.000cqw, 68.200cqh) rotate(0deg) scale(1); opacity: 1; } 48% { transform: translate(44.000cqw, 68.200cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(41.025cqw, 65.820cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s1-batt { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s1-batt { animation: pt-s1-batt 3600ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s1-batt { 0% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s1-fill { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; transform-origin: 4% 50%; }
.pt-scenes .scene.is-on .pt-s1-fill { animation: pt-s1-fill 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s1-fill { 0% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(0.15, 1); opacity: 1; } 90% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; } 100% { transform: translate(68.862cqw, 29.270cqh) rotate(0deg) scale(1, 1); opacity: 1; } }
.pt-scenes .pt-s1-chg { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s1-chg { animation: pt-s1-chg 3600ms ease-in-out both; }
@keyframes pt-s1-chg { 0% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 12% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 25% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 37% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 50% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 62% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 75% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 0.35; } 87% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(68.862cqw, 25.270cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s1-smk0 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pt-scenes .scene.is-on .pt-s1-smk0 { animation: pt-s1-smk0 3600ms ease-out both; }
@keyframes pt-s1-smk0 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 1% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 8% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 40% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pt-scenes .pt-s1-smk1 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pt-scenes .scene.is-on .pt-s1-smk1 { animation: pt-s1-smk1 3600ms ease-out both; }
@keyframes pt-s1-smk1 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 31% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 38% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 70% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pt-scenes .pt-s1-smk2 { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; }
.pt-scenes .scene.is-on .pt-s1-smk2 { animation: pt-s1-smk2 3600ms ease-out both; }
@keyframes pt-s1-smk2 { 0% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 61% { transform: translate(14.888cqw, 32.810cqh) rotate(0deg) scale(0.4); opacity: 0; } 68% { transform: translate(15.138cqw, 31.610cqh) rotate(0deg) scale(0.8); opacity: 0.5; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } 100% { transform: translate(16.138cqw, 24.810cqh) rotate(0deg) scale(1.8); opacity: 0; } }
.pt-scenes .pt-s1-pass { transform: translate(-11.994cqw, 27.995cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s1-pass { animation: pt-s1-pass 3600ms linear both; }
@keyframes pt-s1-pass { 0% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 0; } 30% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 0; } 31% { transform: translate(85.756cqw, 106.195cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(-11.994cqw, 27.995cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s1-caru { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 0; }
.pt-scenes .scene.is-on .pt-s1-caru { animation: pt-s1-caru 3600ms cubic-bezier(.45,.05,.35,1) both; }
@keyframes pt-s1-caru { 0% { transform: translate(-11.994cqw, 33.095cqh) rotate(0deg) scale(1); opacity: 1; } 28% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 1; } 28.8% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 0; } 40% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 0; } 40.8% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 1; } 52% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 1; } 52.8% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 0; } 64% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 0; } }
.pt-scenes .pt-s1-carv { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s1-carv { animation: pt-s1-carv 3600ms cubic-bezier(.45,.05,.35,1) both; }
@keyframes pt-s1-carv { 0% { transform: translate(-11.994cqw, 33.095cqh) rotate(0deg) scale(1); opacity: 0; } 28% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 0; } 28.8% { transform: translate(33.481cqw, 69.475cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 1; } 40.8% { transform: translate(43.150cqw, 61.740cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 0; } 52.8% { transform: translate(51.331cqw, 68.285cqh) rotate(0deg) scale(1); opacity: 1; } 64% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s1-ring { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.45); opacity: 0; }
.pt-scenes .scene.is-on .pt-s1-ring { animation: pt-s1-ring 3600ms ease-out both; }
@keyframes pt-s1-ring { 0% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(0.6); opacity: 0; } 62% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(0.6); opacity: 0; } 68% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1); opacity: 1; } 82% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.45); opacity: 0; } 100% { transform: translate(59.406cqw, 61.825cqh) rotate(0deg) scale(1.45); opacity: 0; } }
.pt-scenes .pt-s1-plate { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s1-plate { animation: pt-s1-plate 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s1-plate { 0% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(0.4); opacity: 0; } 66% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(0.4); opacity: 0; } 74% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1.08); opacity: 1; } 80% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(59.406cqw, 49.925cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s2-world { transform: translate(20.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s2-world { animation: pt-s2-world 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s2-world { 0% { transform: translate(100.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 56% { transform: translate(100.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(20.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s2-staff { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 0; }
.pt-scenes .scene.is-on .pt-s2-staff { animation: pt-s2-staff 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s2-staff { 0% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 56% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 62% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(60.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 0; } }
.pt-scenes .pt-s2-client { transform: translate(58.750cqw, 71.600cqh) rotate(0deg) scale(0.9); opacity: 0; }
.pt-scenes .scene.is-on .pt-s2-client { animation: pt-s2-client 3800ms linear both; }
@keyframes pt-s2-client { 0% { transform: translate(8.750cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 10% { transform: translate(18.750cqw, 71.000cqh) rotate(0deg) scale(1); opacity: 1; } 20% { transform: translate(31.250cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 32% { transform: translate(55.000cqw, 71.200cqh) rotate(0deg) scale(1); opacity: 1; } 50% { transform: translate(55.000cqw, 71.600cqh) rotate(0deg) scale(1); opacity: 1; } 56% { transform: translate(58.750cqw, 71.600cqh) rotate(0deg) scale(0.9); opacity: 0; } 100% { transform: translate(58.750cqw, 71.600cqh) rotate(0deg) scale(0.9); opacity: 0; } }
.pt-scenes .pt-s2-shake { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; }
.pt-scenes .scene.is-on .pt-s2-shake { animation: pt-s2-shake 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s2-shake { 0% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } 34% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } 40% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(1.2); opacity: 1; } 48% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(1); opacity: 1; } 54% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } 100% { transform: translate(57.875cqw, 67.200cqh) rotate(0deg) scale(0); opacity: 0; } }
.pt-scenes .pt-s2-vanp { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; }
.pt-scenes .scene.is-on .pt-s2-vanp { animation: pt-s2-vanp 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s2-vanp { 0% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 58% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 59% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } 100% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } }
.pt-scenes .pt-s2-vanm { transform: translate(70.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s2-vanm { animation: pt-s2-vanm 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s2-vanm { 0% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } 58% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 0; } 59% { transform: translate(75.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 74% { transform: translate(82.500cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(70.000cqw, 74.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s3-plane { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s3-plane { animation: pt-s3-plane 3600ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s3-plane { 0% { transform: translate(28.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(58.750cqw, 74.400cqh) rotate(0deg) scale(1); opacity: 1; } 62% { transform: translate(82.500cqw, 60.000cqh) rotate(-12deg) scale(1); opacity: 1; } 100% { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s3-cl { transform: translate(65.000cqw, 38.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s3-cl { animation: pt-s3-cl 3600ms linear both; }
@keyframes pt-s3-cl { 0% { transform: translate(90.000cqw, 38.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(65.000cqw, 38.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s3-shield { transform: translate(18.750cqw, 60.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s3-shield { animation: pt-s3-shield 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s3-shield { 0% { transform: translate(18.750cqw, 60.000cqh) rotate(0deg) scale(0.3); opacity: 0; } 50% { transform: translate(18.750cqw, 60.000cqh) rotate(0deg) scale(0.3); opacity: 0; } 62% { transform: translate(18.750cqw, 60.000cqh) rotate(0deg) scale(1.1); opacity: 1; } 70% { transform: translate(18.750cqw, 60.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(18.750cqw, 60.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s4-plane { transform: translate(56.250cqw, 75.600cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s4-plane { animation: pt-s4-plane 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s4-plane { 0% { transform: translate(-13.750cqw, 22.000cqh) rotate(12deg) scale(1); opacity: 1; } 36% { transform: translate(37.500cqw, 75.200cqh) rotate(2deg) scale(1); opacity: 1; } 56% { transform: translate(55.000cqw, 75.600cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(56.250cqw, 75.600cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s4-staff { transform: translate(87.500cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s4-staff { animation: pt-s4-staff 3800ms cubic-bezier(.65,0,.35,1) both; }
@keyframes pt-s4-staff { 0% { transform: translate(87.500cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 0; } 50% { transform: translate(87.500cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 0; } 56% { transform: translate(87.500cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(87.500cqw, 72.400cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s4-car { transform: translate(77.500cqw, 76.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s4-car { animation: pt-s4-car 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s4-car { 0% { transform: translate(112.500cqw, 76.000cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(112.500cqw, 76.000cqh) rotate(0deg) scale(1); opacity: 1; } 70% { transform: translate(77.500cqw, 76.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(77.500cqw, 76.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s4-stripe { transform: translate(77.625cqw, 76.200cqh) rotate(0deg) scale(1); opacity: 0.9; }
.pt-scenes .scene.is-on .pt-s4-stripe { animation: pt-s4-stripe 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s4-stripe { 0% { transform: translate(112.625cqw, 76.200cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(112.625cqw, 76.200cqh) rotate(0deg) scale(1); opacity: 0.9; } 70% { transform: translate(77.625cqw, 76.200cqh) rotate(0deg) scale(1); opacity: 0.9; } 100% { transform: translate(77.625cqw, 76.200cqh) rotate(0deg) scale(1); opacity: 0.9; } }
.pt-scenes .pt-s4-key { transform: translate(80.000cqw, 58.000cqh) rotate(-15deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s4-key { animation: pt-s4-key 3800ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s4-key { 0% { transform: translate(82.500cqw, 60.000cqh) rotate(0deg) scale(0.4); opacity: 0; } 76% { transform: translate(82.500cqw, 60.000cqh) rotate(0deg) scale(0.4); opacity: 0; } 84% { transform: translate(80.000cqw, 58.000cqh) rotate(-15deg) scale(1.1); opacity: 1; } 100% { transform: translate(80.000cqw, 58.000cqh) rotate(-15deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-car { transform: translate(56.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-car { animation: pt-s5-car 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s5-car { 0% { transform: translate(-11.250cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 46% { transform: translate(56.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(56.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-moon { transform: translate(23.750cqw, 19.200cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-moon { animation: pt-s5-moon 3600ms ease-out both; }
@keyframes pt-s5-moon { 0% { transform: translate(21.250cqw, 30.000cqh) rotate(0deg) scale(1); opacity: 0; } 30% { transform: translate(21.250cqw, 26.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(23.750cqw, 19.200cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-grill { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-grill { animation: pt-s5-grill 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s5-grill { 0% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 0; } 52% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 0; } 60% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(14.000cqw, 82.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-flame { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1); opacity: 1; transform-origin: 50% 100%; }
.pt-scenes .scene.is-on .pt-s5-flame { animation: pt-s5-flame 3600ms ease-in-out both; }
@keyframes pt-s5-flame { 0% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.6); opacity: 0; } 58% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.6); opacity: 0; } 64% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1); opacity: 1; } 72% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.85); opacity: 1; } 80% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1.1); opacity: 1; } 88% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(0.9); opacity: 1; } 100% { transform: translate(14.000cqw, 78.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-ev { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-ev { animation: pt-s5-ev 3600ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s5-ev { 0% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 0; } 66% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 0; } 74% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 1; } 100% { transform: translate(67.250cqw, 82.400cqh) rotate(0deg) scale(-1, 1); opacity: 1; } }
.pt-scenes .pt-s5-bolt { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-bolt { animation: pt-s5-bolt 3600ms ease-in-out both; }
@keyframes pt-s5-bolt { 0% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 0; } 74% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 0; } 80% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; } 86% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 0.3; } 92% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(67.250cqw, 76.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-w2 { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-w2 { animation: pt-s5-w2 3600ms ease-out both; }
@keyframes pt-s5-w2 { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 44% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 54% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-w1 { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-w1 { animation: pt-s5-w1 3600ms ease-out both; }
@keyframes pt-s5-w1 { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 56% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 66% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s5-w0 { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s5-w0 { animation: pt-s5-w0 3600ms ease-out both; }
@keyframes pt-s5-w0 { 0% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 68% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 0; } 78% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(50.000cqw, 50.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s6-road { transform: translate(17.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s6-road { animation: pt-s6-road 4400ms linear both; }
@keyframes pt-s6-road { 0% { transform: translate(100.000cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 62% { transform: translate(20.000cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(17.500cqw, 86.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s6-trees { transform: translate(36.250cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s6-trees { animation: pt-s6-trees 4400ms linear both; }
@keyframes pt-s6-trees { 0% { transform: translate(87.500cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; } 62% { transform: translate(37.500cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(36.250cqw, 72.000cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s6-term { transform: translate(77.500cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s6-term { animation: pt-s6-term 4400ms cubic-bezier(.16,1,.3,1) both; }
@keyframes pt-s6-term { 0% { transform: translate(125.000cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(125.000cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } 92% { transform: translate(77.500cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(77.500cqw, 60.800cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s6-car { transform: translate(52.500cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; }
.pt-scenes .scene.is-on .pt-s6-car { animation: pt-s6-car 4400ms ease-in-out both; }
@keyframes pt-s6-car { 0% { transform: translate(41.250cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } 20% { transform: translate(41.750cqw, 81.200cqh) rotate(0deg) scale(1); opacity: 1; } 40% { transform: translate(41.250cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } 60% { transform: translate(41.750cqw, 81.200cqh) rotate(0deg) scale(1); opacity: 1; } 92% { transform: translate(52.500cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } 100% { transform: translate(52.500cqw, 81.600cqh) rotate(0deg) scale(1); opacity: 1; } }
.pt-scenes .pt-s6-stripe { transform: translate(52.625cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; }
.pt-scenes .scene.is-on .pt-s6-stripe { animation: pt-s6-stripe 4400ms ease-in-out both; }
@keyframes pt-s6-stripe { 0% { transform: translate(41.375cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } 20% { transform: translate(41.875cqw, 81.400cqh) rotate(0deg) scale(1); opacity: 0.9; } 40% { transform: translate(41.375cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } 60% { transform: translate(41.875cqw, 81.400cqh) rotate(0deg) scale(1); opacity: 0.9; } 92% { transform: translate(52.625cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } 100% { transform: translate(52.625cqw, 81.800cqh) rotate(0deg) scale(1); opacity: 0.9; } }
.pt-scenes .pt-s6-plane { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(0.7); opacity: 1; }
.pt-scenes .scene.is-on .pt-s6-plane { animation: pt-s6-plane 4400ms ease-in both; }
@keyframes pt-s6-plane { 0% { transform: translate(90.000cqw, 66.000cqh) rotate(-12deg) scale(0.7); opacity: 0; } 84% { transform: translate(87.500cqw, 60.000cqh) rotate(-12deg) scale(0.7); opacity: 0; } 88% { transform: translate(90.000cqw, 58.000cqh) rotate(-12deg) scale(0.7); opacity: 1; } 100% { transform: translate(112.500cqw, 34.000cqh) rotate(-16deg) scale(0.7); opacity: 1; } }
/* sky-scenes:end */

/* ------------------------------------------------ Package booking */
.pkb { display: grid; gap: 14px; counter-reset: pkb-step; }
.pkb-step { margin: 0; padding: 0; border: 0; min-width: 0; display: grid; gap: 8px; }
.pkb-step[hidden] { display: none; }
.pkb-step > legend { counter-increment: pkb-step; display: flex; align-items: center; gap: 10px; margin-bottom: 8px; padding: 0; font-size: var(--sky-fs-m); font-weight: 800; letter-spacing: -.01em; }
.pkb-step > legend::before { content: counter(pkb-step); display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: var(--sky-r1); background: var(--sky-blue); color: #fff; font-size: var(--sky-fs-s); font-weight: 900; font-variant-numeric: tabular-nums; }
.pkb-step + .pkb-step > legend { width: 100%; padding-top: 14px; background: repeating-linear-gradient(90deg, var(--sky-rule) 0 8px, transparent 8px 14px) top left / 100% 1px no-repeat; }
.pkb [hidden] { display: none !important; }
.pkb-hint { margin: 0; color: var(--sky-ink-3); font-size: var(--sky-fs-s); }
.pkb .sky-field__error:empty { display: none; }
/* 1 · packages: one row of chips */
.pkb-packs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pkb-pack { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 2px 8px; padding: 6px 10px; border: 2px solid var(--sky-concrete-2); border-radius: var(--sky-r2); background: #fff; cursor: pointer; transition: border-color var(--sky-t1), background-color var(--sky-t1); }
.pkb-pack:hover { border-color: #97abc1; }
.pkb-pack input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pkb-pack:has(input:checked) { border-color: var(--sky-blue); background: var(--sky-selected-tint, #f2f8fd); }
.pkb-pack:has(input:focus-visible) { outline: 3px solid var(--sky-blue-deep); outline-offset: 3px; }
.pkb-pack__icons { grid-row: span 2; display: flex; gap: 2px; color: var(--sky-blue); }
.pkb-pack__icons .sky-ico { width: 20px; height: 20px; }
.pkb-pack__title { font-weight: 850; }
.pkb-pack__deal { justify-self: start; padding: 0 6px; border-radius: var(--sky-r1); background: var(--sky-asphalt); color: var(--sky-paint); font-size: var(--sky-fs-s); font-weight: 850; white-space: nowrap; }
.pkb-pack:has(input:checked) .pkb-pack__deal { background: var(--sky-blue); }
/* 2 · dates on one row, nights as a chip */
.pkb-when { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 8px; align-items: stretch; }
.pkb[data-package="family-space"] .pkb-when { grid-template-columns: repeat(2, minmax(0, 1fr)) auto; }
.pkb-date > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pkb-date .sc-combined-picker, .pkb-date .sc-picker-trigger { height: 100%; }
.pkb-nights { 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; }
.pkb-nights b { font-size: var(--sky-fs-l); font-weight: 900; font-variant-numeric: tabular-nums; }
.pkb-nights span { font-size: var(--sky-fs-s); color: var(--sky-mist); }
.pkb-back { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.pkb-back .pkb-date { flex: 0 1 260px; }
/* 3 · rooms: one line each */
.pkb-rooms { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pkb-room { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 4px 12px; align-items: center; padding: 4px 8px; border: 1px solid var(--sky-rule); border-radius: var(--sky-r2); background: #fff; transition: border-color var(--sky-t1), background-color var(--sky-t1); }
.pkb-room.is-on { border-color: var(--sky-blue); background: var(--sky-selected-tint, #f2f8fd); }
.pkb-room.is-taken { opacity: .6; }
.pkb-room.is-taken.is-on { opacity: 1; border-color: var(--sky-error); background: #fff6f5; }
.pkb-room__pick { display: grid; grid-template-columns: auto 56px minmax(0, 1fr); gap: 10px; align-items: center; min-width: 0; margin: 0; cursor: pointer; }
.pkb-room__pick input { margin: 0 !important; }
.pkb-room.is-taken:not(.is-on) .pkb-room__pick { cursor: not-allowed; }
.pkb-room__photo { position: relative; width: 56px; height: 40px; }
.pkb-room__photo img { width: 56px; height: 40px; object-fit: cover; border-radius: 2px; background: var(--sky-concrete-2); }
.pkb-room__photo .pkb-room__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) { .pkb-room__photo:hover .pkb-room__big { opacity: 1; transform: none; } }
.pkb-room__name { display: grid; min-width: 0; }
.pkb-room__name b { font-weight: 850; }
.pkb-room__name small { overflow: hidden; color: var(--sky-ink-2); font-size: var(--sky-fs-s); text-overflow: ellipsis; white-space: nowrap; }
.pkb-room__g { display: inline-flex; align-items: center; gap: 6px; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.pkb-room:not(.is-on) .pkb-room__g { opacity: .45; }
.pkb-room__warn { grid-column: 1 / -1; margin: 0; color: var(--sky-error); font-size: var(--sky-fs-s); font-weight: 750; }
.pkb-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); }
.pkb-line__label { display: inline-flex; align-items: center; gap: 8px; }
.pkb-line__label small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.pkb-line__label .sky-ico { color: var(--sky-blue-deep); }
/* 4 · extras as chips */
.pkb-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.pkb-chip { position: relative; display: inline-flex; margin: 0; cursor: pointer; }
.pkb-chip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pkb-chip > span { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 4px 12px; border: 2px solid var(--sky-concrete-2); border-radius: var(--sky-r1); background: #fff; font-weight: 750; }
.pkb-chip > span small { color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 650; }
.pkb-chip > span .sky-ico { width: 20px; height: 20px; color: var(--sky-blue); }
.pkb-chip:hover > span { border-color: #97abc1; }
.pkb-chip input:checked + span { border-color: var(--sky-blue); background: var(--sky-selected-tint, #f2f8fd); }
.pkb-chip input[type="checkbox"]:checked + span::before { content: ""; width: 9px; height: 5px; margin: 0 2px 3px 0; border-left: 2px solid var(--sky-blue-deep); border-bottom: 2px solid var(--sky-blue-deep); transform: rotate(-45deg); }
.pkb-chip input:focus-visible + span { outline: 3px solid var(--sky-blue-deep); outline-offset: 2px; }
.pkb-invoice { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 8px; }
/* 5 · contact and payment */
.pkb-who { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.pkb textarea { min-height: 0; }
/* The portal's field styles must not reach the stepper's number box. */
.pkb .sky-stepper input[type="number"] { width: 38px; height: auto; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 0; box-shadow: none; background: transparent; }
.pkb-check { display: flex; align-items: flex-start; gap: 10px; font-size: var(--sky-fs-s); cursor: pointer; }
.pkb-check input { margin-top: 2px !important; }
.pkb-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pkb-pay { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; }
.pkb-pay__opts { display: flex; flex: 1 1 360px; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
.pkb-pay__opt { flex: 1; display: flex; align-items: center; gap: 8px; margin: 0; padding: 8px 10px; border: 2px solid var(--sky-concrete-2); border-radius: var(--sky-r2); background: #fff; cursor: pointer; }
.pkb-pay__opt:has(input:checked) { border-color: var(--sky-blue); background: var(--sky-selected-tint, #f2f8fd); }
.pkb-pay__opt span { display: grid; }
.pkb-pay__opt small { color: var(--sky-ink-2); font-size: var(--sky-fs-s); font-weight: 600; }
.pkb-pay__opt.is-off { opacity: .55; cursor: not-allowed; }
.pkb-submit { flex: 0 1 auto; min-height: 56px; white-space: nowrap; }
.pkb-alert { padding: 10px 14px; border-radius: var(--sky-r1); background: #fcebea; color: #8a211a; font-weight: 700; }
/* summary */
.pkb-summary .sky-summary__total { font-size: var(--sky-fs-xl); }
.pkb-lines { margin: 10px 0 0; padding-top: 10px; border-top: 1px dashed var(--sky-rule-dark); }
.pkb-pending { margin: 10px 0 0; color: var(--sky-mist); font-size: var(--sky-fs-s); }
@media (max-width: 960px) { .pkb-sec .sky-book { grid-template-columns: 1fr; } .pkb-sec .sky-book__aside { position: static; } }
@media (max-width: 760px) {
  /* Packages: one slim line each (title, deal). */
  .pkb-packs { grid-template-columns: 1fr; gap: 4px; }
  .pkb-pack { grid-template-columns: auto minmax(0, 1fr) auto; }
  .pkb-pack__icons { grid-row: auto; }
  .pkb-pack__deal { justify-self: end; }
  /* With the script on, a room shows its steppers once it is ticked. */
  html:not(.sky-nojs) .pkb-room:not(.is-on) .pkb-room__g { display: none; }
  .pkb-when, .pkb[data-package="family-space"] .pkb-when { grid-template-columns: 1fr 1fr; }
  .pkb-nights { display: flex; gap: 6px; justify-content: center; align-items: center; }
  .pkb[data-package="family-space"] .pkb-nights { grid-column: 1 / -1; }
  /* Room line: pick on top, adults and children side by side below. */
  .pkb-room { grid-template-columns: 1fr 1fr; }
  .pkb-room__pick { grid-column: 1 / -1; }
  .pkb-room__g { display: grid; gap: 2px; justify-items: start; }
  .pkb-room__big { display: none; }
  .pkb-who, .pkb-invoice { grid-template-columns: 1fr; }
  .pkb-pay__opts { flex-direction: column; }
  .pkb-submit { width: 100%; }
}

/* ------------------------------------------------------ About page */
.pt-about-intro .sky-feature__copy > p + p { margin-top: -4px; }
.pt-about-services { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
.pt-about-services .sky-bay__foot { margin-top: auto; padding-top: 12px; }
.pt-about-services .sky-bay { display: flex; flex-direction: column; }
.pt-about-list--dark { border-top-color: var(--sky-paint); max-width: 820px; }
.pt-about-list--dark li { border-bottom-color: var(--sky-rule-dark); color: var(--sky-mist); }
.pt-about-list--dark strong { color: var(--sky-paint); }
.pt-about-packs__cta { margin-top: 16px; }
.pt-about-values { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
.pt-about-scores { display: grid; gap: 12px; justify-items: start; }
.pt-about-score { display: grid; gap: 4px; margin: 0; padding: 12px 22px; border-left: 4px solid var(--sky-blue); background: var(--sky-paper); min-width: min(100%, 320px); }
.pt-about-score b { font-size: var(--sky-fs-xl); font-weight: 900; line-height: 1; letter-spacing: -.03em; }
.pt-about-score span { color: var(--sky-ink-2); font-weight: 650; }
.pt-about-where { display: grid; place-items: center; }

/* ------------------------------------------------------------ Blog */
.pt-blog-list { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
.pt-blog-card { display: flex; flex-direction: column; gap: 10px; text-decoration: none; color: var(--sky-ink); }
.pt-blog-card .sky-bay__media img { aspect-ratio: 4 / 3; object-fit: cover; }
.pt-blog-card__meta { display: inline-flex; align-items: center; gap: 8px; color: var(--sky-ink-3); font-size: var(--sky-fs-s); font-weight: 700; }
.pt-blog-card__meta .sky-ico { color: var(--sky-blue); }
.pt-blog-card .sky-bay__title { font-size: var(--sky-fs-l); line-height: 1.2; }
.pt-blog-card__more { margin-top: auto; color: var(--sky-ink); }
.pt-post__meta { margin-top: 12px; color: var(--sky-mist); font-size: var(--sky-fs-s); font-weight: 650; }
.pt-post__grid { display: grid; grid-template-columns: minmax(200px, 260px) minmax(0, 1fr); gap: clamp(16px, 3vw, 44px); align-items: start; }
.pt-post__toc { position: sticky; top: calc(var(--sky-header-h) + 24px); padding-top: 12px; border-top: 2px solid var(--sky-ink); }
.pt-post__toc h2 { font-size: var(--sky-fs-s); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--sky-ink-3); }
.pt-post__toc ol { margin: 12px 0 0; padding: 0; list-style: none; counter-reset: toc; display: grid; gap: 2px; }
.pt-post__toc li { counter-increment: toc; }
.pt-post__toc a { display: grid; grid-template-columns: 26px 1fr; min-height: 40px; align-items: center; color: var(--sky-ink-2); font-weight: 650; font-size: var(--sky-fs-s); text-decoration: none; }
.pt-post__toc a::before { content: counter(toc); font-weight: 900; color: var(--sky-blue); font-variant-numeric: tabular-nums; }
.pt-post__toc a:hover { color: var(--sky-blue-deep); }
.pt-post__body { max-width: 70ch; }
.pt-post__body section { scroll-margin-top: calc(var(--sky-header-h) + 20px); }
.pt-post__body h2 { margin-top: 1.15em; font-size: var(--sky-fs-l); }
.pt-post__body section:first-of-type h2 { margin-top: .8em; }
.pt-post__figure { margin: 0; }
.pt-post__figure img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 2px; }
.pt-post__cta { margin-top: 1.6em; padding: clamp(14px, 1.8vw, 20px) clamp(22px, 3vw, 32px); border-radius: var(--sky-r2); display: grid; gap: 12px; justify-items: start; box-shadow: inset 0 4px 0 var(--sky-accent); }
.pt-post__cta h2 { margin: 0; font-size: var(--sky-fs-l); color: var(--sky-paint); }
.pt-post__cta p { margin: 0; color: var(--sky-mist); }
@media (max-width: 900px) {
  .pt-post__grid { grid-template-columns: 1fr; }
  .pt-post__toc { position: static; }
}
.pt-post__body p + p, .pt-post__body ul + p { margin-top: .65em; }

/* Density 2026-10-03: headline and pitch share a centred row; both scores on one line. */
.pt-scenes .sky-scores { flex-direction: row; flex-wrap: wrap; gap: 4px 14px; }
.pt-scenes .sky-score { gap: 6px; }
.pt-scenes .sky-score span { word-spacing: normal; font-weight: 650; }


/* Round 6: the package checkout is the shared booking card (.sb-*). */
.pkb.sb { padding: 14px 18px 16px; }
.pkb-return { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px 16px; }
.pkb-return[hidden] { display: none; }
.pkb-return .pkb-date { flex: 0 1 300px; }
.pkb-return .sb-check { align-self: center; }
.pkb .pkb-hint { margin: 0; }
.pkb-consent { align-items: flex-start; }
.pkb-consent input { margin-top: 3px; }
.pkb-fallback[hidden] { display: none; }

/* Phones (owner, batch 11c): reviews about half as tall, the scores and
   quotes on the left, the video on the right; the quotes slide sideways one
   at a time (the next one peeks in). */
@media (max-width: 760px) {
}

/* Phones (owner, batch 11d): each service beside its package on one row
   (sky.js moves the package cards in); the package section's own block
   steps aside. Both cards keep their look, stacked compact. */
@media (max-width: 900px) {
  #packages.is-lent { display: none; }
  .pt-doors.is-paired { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; align-items: stretch; }
  .pt-doors.is-paired > .pt-door { display: flex; flex-direction: column; padding: 0 10px 10px; }
  .pt-doors.is-paired > .pt-door .sky-bay__media { aspect-ratio: 16 / 10; margin: 0 -10px 8px; border-radius: 0; }
  .pt-doors.is-paired > .pt-door .sky-bay__title { font-size: var(--sky-fs-m); line-height: 1.15; }
  .pt-doors.is-paired > .pt-door .sky-bay__text { display: block; font-size: 12.5px; line-height: 1.3; }
  .pt-doors.is-paired > .pt-door .sky-bay__num { top: 6px; right: 6px; font-size: var(--sky-fs-m); }
  .pt-doors.is-paired > .pt-door .sky-bay__foot { margin-top: auto; padding-top: 8px; }
  .pt-doors.is-paired > .pt-door .sky-bay__price { padding: 4px 7px 3px; font-size: var(--sky-fs-m); }
  .pt-doors.is-paired > .pt-pack { display: flex; flex-direction: column; gap: 5px; padding: 10px; color: var(--sky-ink); }
  .pt-doors.is-paired > .pt-pack > * { margin: 0; }
  .pt-doors.is-paired > .pt-pack .pt-pack__deal { align-self: flex-start; padding: 3px 7px; font-size: 12px; }
  .pt-doors.is-paired > .pt-pack .sky-bay__title { font-size: var(--sky-fs-m); line-height: 1.15; }
  .pt-doors.is-paired > .pt-pack .pt-pack__tag { font-size: 12.5px; }
  .pt-doors.is-paired > .pt-pack .pt-legs { display: grid; gap: 4px; }
  .pt-doors.is-paired > .pt-pack .pt-legs span { padding: 3px 6px; font-size: 12px; white-space: normal; line-height: 1.2; }
  .pt-doors.is-paired > .pt-pack .pt-legs .sky-ico { width: 14px; height: 14px; }
  .pt-doors.is-paired > .pt-pack :is(.pt-list, .pt-pack__for) { display: none; }
  .pt-doors.is-paired > .pt-pack .sky-btn { margin-top: auto; min-height: 40px; padding-inline: 8px; font-size: 13.5px; }
  .pt-doors.is-paired > .pt-pack .sky-btn .sky-btn__arrow { display: none; }
}
@media (max-width: 900px) {
  .pt-doors.is-paired > .pt-door > * { align-self: stretch; }
  .pt-doors.is-paired > .pt-pack { background: var(--sky-paper); }
  .pt-doors.is-paired > .pt-pack .pt-pack__tag { color: var(--sky-blue-deep); }
}
@media (max-width: 760px) {
  /* Batch 11d: the two scores clear and full width, side by side. */
}

/* Reviews (owner, batch 11e): the two scores left and the film right, then
   two gliding rows (Google, Booking.com) full width, small cards. Desktop
   keeps the film beside the column, the rows glide inside the column. */
.pt-rails { display: grid; gap: 8px; min-width: 0; }
.pt-rail { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 8px; -webkit-mask-image: none; mask-image: none; }
.pt-rail__src { margin: 0; writing-mode: vertical-rl; transform: rotate(180deg); color: var(--sky-ink-3); font-size: 11px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.pt-rail .sky-marquee__track { -webkit-mask-image: linear-gradient(90deg, transparent, #000 3%, #000 97%, transparent); }
.pt-rail { overflow: hidden; }
.pt-rail .sky-quote { width: 240px; margin: 0; padding: 8px 10px; font-size: 13px; line-height: 1.35; }
.pt-rail .sky-quote p { font-size: inherit; line-height: inherit; }
.pt-rail .sky-quote footer { margin-top: 4px; font-size: 11.5px; }
@media (max-width: 760px) {
  .pt-reviews { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "head head" "score video" "quotes quotes" "note note"; gap: 0 10px; align-items: stretch; }
  .pt-reviews > div:first-child { display: contents; }
  .pt-reviews .sky-headgroup { grid-area: head; }
  .pt-reviews .pt-score-row { grid-area: score; display: grid; gap: 6px; margin: 0 0 10px; }
  .pt-reviews .pt-bigscore { gap: 8px; padding: 6px 10px; border-radius: var(--sky-r2); background: var(--sky-concrete); font-size: 12.5px; line-height: 1.2; }
  .pt-reviews .pt-bigscore b { font-size: var(--sky-fs-xl); }
  .pt-reviews .pt-bigscore small { display: block; font-size: 11.5px; }
  .pt-reviews .pt-quotes { grid-area: quotes; }
  .pt-reviews .pt-video { grid-area: video; align-self: stretch; aspect-ratio: auto; min-height: 0; margin-bottom: 10px; }
  .pt-reviews .pt-video > img, .pt-reviews .pt-video > video { width: 100%; height: 100%; object-fit: cover; }
  .pt-reviews .pt-note { grid-area: note; margin-top: 8px; font-size: 11px; }
  .pt-rail .sky-quote { width: 210px; font-size: 12.5px; }
}

/* Hero (batch 11e): the two scores and "Pachete Speciale" share one row. */
@media (max-width: 900px) {
  .pt-scenes .sky-scenes__copy > .sky-hero__proof { grid-column: 1; grid-row: 3; align-self: center; display: grid; gap: 2px; margin: 12px 0 0; }
  .pt-scenes .sky-scenes__copy > .sky-hero__actions { grid-column: 2; grid-row: 3; align-self: center; margin: 12px 0 0; }
  .pt-scenes .sky-hero__actions .sky-btn { width: 100%; min-height: 42px; justify-content: center; padding-inline: 10px; font-size: 14px; }
  .pt-scenes .sky-hero__proof .sky-score { gap: 6px; font-size: 12px; line-height: 1.2; }
  .pt-scenes .sky-hero__proof .sky-score b { font-size: var(--sky-fs-m); }
}
/* Packages beside their service (batch 11e): three of the included points
   fill the card's free space. Desktop: each package under its service. */
@media (max-width: 900px) {
  .pt-doors.is-paired > .pt-pack .pt-list { display: grid; grid-template-columns: 1fr; gap: 3px; margin: 2px 0 0; font-size: 11.5px; line-height: 1.25; }
  .pt-doors.is-paired > .pt-pack .pt-list li { padding-left: 18px; }
  .pt-doors.is-paired > .pt-pack .pt-list li:nth-child(n+4) { display: none; }
  .pt-doors.is-paired > .pt-pack .pt-list .sky-ico { width: 14px; height: 14px; }
}
@media (min-width: 901px) {
  .pt-packs > [data-pair="p"] { order: 1; } .pt-packs > [data-pair="h"] { order: 2; } .pt-packs > [data-pair="r"] { order: 3; }
}
.pt-rail { grid-template-columns: minmax(0, 1fr); }
.pt-rail__src { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* --- Batch 11g (owner 2026-10-07) --- */
/* Hero on phones: no "Pachete Speciale" button (the packages follow right
   under it). The title sits beside a bigger scene; the lead and the two
   scores run full width under both. */
@media (max-width: 900px) {
  .pt-scenes .sky-scenes__copy > .sky-hero__actions { display: none; }
  .pt-scenes .sky-scenes__grid { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); grid-template-rows: auto auto auto; }
  .pt-scenes .sky-scenes__copy > .sky-hero__title { align-self: center; }
  .pt-scenes .sky-scenes__play { grid-row: 1; align-self: center; }
  .pt-scenes .sky-scenes__copy > .sky-hero__lead { grid-column: 1 / -1; grid-row: 2; margin-top: 10px; }
  .pt-scenes .sky-scenes__copy > .sky-hero__proof { grid-column: 1 / -1; grid-row: 3; display: flex; flex-wrap: wrap; gap: 4px 16px; margin-top: 8px; }
}

/* --- Batch 11h (owner 2026-10-07): package page = the three cards' flows --- */
/* The three packages: three compact tiles on one row on phones too. */
@media (max-width: 760px) {
  .pkb-packs { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
  .pkb-pack { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 3px; padding: 6px 4px; text-align: center; }
  .pkb-pack__icons { grid-row: auto; }
  .pkb-pack__icons .sky-ico { width: 18px; height: 18px; }
  .pkb-pack__title { font-size: 13px; line-height: 1.15; }
  .pkb-pack__deal { justify-self: center; padding: 0 4px; font-size: 11px; white-space: normal; }
}
/* Parking and rent parts: the date row of their own card (the first tile is
   the check-out day, fixed), then the card's own blocks. */
.pkb-part { display: grid; gap: 8px; padding-top: 10px; border-top: 1px dashed var(--sky-rule); }
.pkb-part[hidden] { display: none; }
.pkb .sb-when.pkb-svc { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1.45fr) minmax(0, 1fr) auto; }
.pkb-slot { display: contents; }
.pkb-svc .sc-combined-picker, .pkb-svc .sc-picker-trigger { height: 100%; }
.pkb-time > label, .pkb-svc .pkb-date > label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pkb-fixed .sc-picker-trigger { display: grid; background: var(--sky-concrete); border-color: transparent; cursor: default; }
.pkb-fixed .sc-picker-trigger strong { color: var(--sky-ink); }
@media (max-width: 760px) {
  .pkb .sb-when.pkb-svc { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) minmax(0, 1.45fr) minmax(0, 1fr); gap: 4px; }
  .pkb .sb-when.pkb-svc > .sb-count { grid-column: 1 / -1; }
  .pkb .pkb-svc .sc-picker-trigger > span { padding: 4px 6px; column-gap: 3px; }
  .pkb-svc .sc-picker-trigger small { overflow: hidden; font-size: 9.5px; letter-spacing: .02em; text-overflow: ellipsis; white-space: nowrap; }
  .pkb-svc .sc-picker-trigger strong { font-size: 12.5px; }
}

/* --- Batch 11i (owner 2026-10-07) --- */
/* Hero on phones like the other three homes (shared sky.css "Batch 11i"):
   title and lead on the left, the scene on the right with the two scores
   under it (replaces 11g's centred title and full-width lead). */
@media (max-width: 900px) {
  .pt-scenes .sky-scenes__grid { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); grid-template-rows: auto auto 1fr; }
  .pt-scenes .sky-scenes__copy > .sky-hero__title { align-self: start; }
  .pt-scenes .sky-scenes__play { grid-row: 1 / span 2; align-self: start; }
  .pt-scenes .sky-scenes__copy > .sky-hero__lead { grid-column: 1; grid-row: 2 / span 2; margin-top: 8px; }
  .pt-scenes .sky-scenes__copy > .sky-hero__proof { grid-column: 2; grid-row: 3; align-self: start; display: grid; gap: 2px; margin-top: 8px; }
  .pt-scenes .sky-hero__proof .sky-score { font-size: 12.5px; }
}

/* --- Batch 11j (owner 2026-10-08): readable package form on phones --- */
/* Captions 12 px, values 15 px; the parking/rent row takes two rows on
   narrow phones (day | time, return | time) so nothing is cut. */
@media (max-width: 760px) {
  .pkb-svc .sc-picker-trigger small { font-size: 12px; letter-spacing: .03em; }
  .pkb-svc .sc-picker-trigger strong { font-size: 15px; }
  .pkb-pack__title { font-size: 14px; }
  .pkb-pack__deal { font-size: 12.5px; }
  .pkb-hint, .pkb-consent { font-size: 14px; }
}
@media (max-width: 560px) {
  .pkb .sb-when.pkb-svc { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 6px; }
  .pkb .pkb-svc .sc-picker-trigger > span { padding: 5px 10px; column-gap: 5px; }
}

/* --- Batch 11k (owner 2026-10-08): nights on arrival and/or on the way back --- */
.sb-nights { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 18px; padding: 4px 12px; border-radius: var(--sky-r2); background: var(--sky-concrete); }
.sb-nights[hidden] { display: none; }
.sb-nights__q { color: var(--sky-ink); font-weight: 850; }
.pkb .pkb-fixed[hidden], .pkb [data-pkb-start-field][hidden] { display: none !important; }
@media (max-width: 760px) { .sb-nights { gap: 0 14px; font-size: 15px; } }

/* --- Batch 11l (owner 2026-10-08): the car first, numbered sections --- */
/* Every section of the package form has a numbered heading (1 Pachetul,
   2 Parcarea / Mașina închiriată, 3 Cazarea, 4 Datele tale); hidden ones are
   not counted. All sections are open at once (data-sb-open). */
.pkb { counter-reset: pkb-head; }
.pkb-head { counter-increment: pkb-head; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin: 6px 0 0; font-size: 17px; font-weight: 850; line-height: 1.25; letter-spacing: -.01em; }
.pkb-head::before { content: counter(pkb-head); align-self: center; display: grid; place-items: center; flex: none; width: 26px; height: 26px; border-radius: 50%; background: var(--sky-blue); color: #fff; font-size: 14px; font-weight: 900; font-variant-numeric: tabular-nums; }
.pkb-head small { color: var(--sky-ink-2); font-size: 14px; font-weight: 650; letter-spacing: 0; }
.pkb-head[hidden], .pkb-head small[hidden] { display: none; }
.pkb > .pkb-head:first-of-type { margin-top: 0; }
.pkb-part > .pkb-head { margin-top: 0; }
.pkb > .pkb-head:not(:first-of-type) { padding-top: 12px; border-top: 1px dashed var(--sky-rule); }
/* The car parts carry their own heading; the stay's heading draws the line. */
.pkb-part { padding-top: 12px; }
/* The section heading already says "Cazarea"; the box label stays for screen readers. */
.pkb .sb-nights__q { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* The night on the way back belongs to section 3 (no divider of its own). */
.pkb-part.sb-back { padding-top: 0; border-top: 0; }

/* --- Batch 11m (owner 2026-10-08): free dates, several cars --- */
/* The parking days said in words under the car row: what is paid, which days
   are not and why. */
.pkb-daynote { margin: 0; padding: 8px 12px; border-left: 4px solid #1f8a4c; border-radius: 0 var(--sky-r2) var(--sky-r2) 0; background: #e8f5ed; color: var(--sky-ink); font-size: 15px; font-weight: 650; line-height: 1.4; }
.pkb-daynote[hidden] { display: none; }
.pkb-cars { display: grid; gap: 10px; }
.pkb-cars:empty { display: none; }
.pkb-car.is-many > .pk-car__head, .pkb-cars .pk-car__head { font-weight: 850; }
.pkb-cars .pk-car__head { display: flex; align-items: center; gap: 8px; }
.pkb-cars .pk-car__x { position: static; margin-left: 6px; }

/* --- Batch 11n (owner 2026-10-09) --- */
/* Hero on phones: the two scores run one line each under both columns
   (under the scene they made it much taller than the text). */
@media (max-width: 900px) {
  .pt-scenes .sky-scenes__grid { grid-template-rows: auto 1fr auto; }
  .pt-scenes .sky-scenes__copy > .sky-hero__lead { grid-row: 2; }
  .pt-scenes .sky-scenes__copy > .sky-hero__proof { grid-column: 1 / -1; grid-row: 3; display: flex; flex-wrap: wrap; gap: 0 16px; margin-top: 10px; }
  .pt-scenes .sky-hero__proof .sky-score { white-space: nowrap; }
}

/* --- Batch 11o (owner 2026-10-09) --- */
@media (max-width: 900px) {
  /* Hero scores: Google | Booking.com side by side, one row. */
  .pt-scenes .sky-scenes__copy > .sky-hero__proof { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .pt-scenes .sky-hero__proof .sky-score { align-items: center; white-space: normal; }
  .pt-scenes .sky-hero__proof .sky-score span { line-height: 1.2; }
  /* Package cards: the deal and the name on one line, the tagline under. */
  .pt-doors.is-paired > .pt-pack { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto; align-content: stretch; column-gap: 6px; row-gap: 5px; }
  .pt-doors.is-paired > .pt-pack > * { grid-column: 1 / -1; }
  .pt-doors.is-paired > .pt-pack > .pt-pack__deal { grid-column: 1; align-self: center; padding: 2px 5px; font-size: 11px; letter-spacing: 0; white-space: nowrap; }
  .pt-doors.is-paired > .pt-pack > .sky-bay__title { grid-column: 2; align-self: center; font-size: 14.5px; line-height: 1.1; }
  .pt-doors.is-paired > .pt-pack > .pt-list { align-self: start; }
  .pt-doors.is-paired > .pt-pack > .sky-btn { align-self: end; }
}
/* Service cards: the arrow on the left, the price on the right (every width). */
.pt-door .sky-bay__foot { flex-direction: row-reverse; }

/* --- Batch 11s (owner 2026-10-09): Park & Rest / Rent & Rest nights are one
   night each, check-out the next day: its field stays hidden; a link back to
   the service the visitor came from. --- */
#pkb-form:is([data-package="park-and-rest"], [data-package="rent-and-rest"]) .pkb-date--out { display: none; }
.pkb-backlink { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; font-weight: 750; color: var(--sky-blue); text-decoration: none; }
.pkb-backlink:hover { text-decoration: underline; }

/* "Rezervarea mea" (batch 11s): the lookup form, then the bookings as cards. */
.mb-wrap { display: grid; gap: 22px; max-width: 760px; }
.mb-form { display: grid; gap: 14px; padding: 18px; border-radius: var(--sky-r2); background: var(--sky-paper); border: 1px solid var(--sky-rule); }
.mb-submit { width: 100%; }
.mb-alert { margin: 0; padding: 10px 14px; border-radius: var(--sky-r1); background: #fcebea; color: #8a211a; font-weight: 700; }
.mb-note { margin: 0; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.mb-results { display: grid; gap: 14px; scroll-margin-top: calc(var(--sky-header-h, 64px) + 12px); outline: none; }
.mb-results__title { margin: 6px 0 0; font-size: var(--sky-fs-l); }
.mb-results__title small { margin-left: 6px; color: var(--sky-ink-3); font-size: var(--sky-fs-s); }
.mb-card { display: grid; gap: 8px; padding: 16px; border-radius: var(--sky-r2); background: var(--sky-paper); border: 1px solid var(--sky-rule); }
.mb-card.is-match { border: 2px solid var(--sky-blue); }
.mb-card__head { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.mb-card__kind { font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: var(--sky-blue-deep); }
.mb-card__state { padding: 3px 10px; border-radius: 99px; font-size: 12px; font-weight: 800; }
.mb-card__state.is-ok { background: #e3f4e8; color: #17603a; }
.mb-card__state.is-wait { background: #fff4d6; color: #7a5600; }
.mb-card__state.is-off { background: var(--sky-concrete); color: var(--sky-ink-2); }
.mb-card__title { margin: 0; font-size: var(--sky-fs-m); }
.mb-card__ref { margin: 0; color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.mb-card__ref b { color: var(--sky-ink); letter-spacing: .04em; }
.mb-card__facts { display: grid; gap: 6px; margin: 4px 0 0; }
.mb-card__facts div { display: grid; grid-template-columns: minmax(84px, 30%) 1fr; gap: 10px; }
.mb-card__facts dt { color: var(--sky-ink-3); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding-top: 2px; }
.mb-card__facts dd { margin: 0; font-size: 15px; }
.mb-card__lines { display: grid; gap: 4px; margin: 4px 0 0; padding: 8px 0 0; list-style: none; border-top: 1px dashed var(--sky-rule-dark); font-size: 15px; }
.mb-card__lines li { display: flex; justify-content: space-between; gap: 12px; }
.mb-card__lines b { white-space: nowrap; }
.mb-card__text { margin: 0; white-space: pre-wrap; font: inherit; font-size: 15px; }
.mb-card__total { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin: 4px 0 0; padding-top: 8px; border-top: 1px solid var(--sky-rule); }
.mb-card__total span { color: var(--sky-ink-2); font-size: var(--sky-fs-s); }
.mb-card__total b { font-size: var(--sky-fs-l); }
@media (max-width: 520px) { .mb-form, .mb-card { padding: 14px; } .mb-card__facts div { grid-template-columns: 1fr; gap: 0; } }
.mb-card__sum { display: grid; gap: 8px; cursor: pointer; list-style: none; }
.mb-card__sum::-webkit-details-marker { display: none; }
.mb-card__more { justify-self: start; color: var(--sky-blue); font-size: var(--sky-fs-s); font-weight: 800; }
.mb-card__more::after { content: " ▾"; }
details.mb-card[open] .mb-card__more::after { content: " ▴"; }
details.mb-card[open] > .mb-card__sum { padding-bottom: 8px; border-bottom: 1px solid var(--sky-rule); }
/* Batch 11s (final): Park & Rest / Rent & Rest nights follow the car's hours,
   no calendars; the night is written where its dates were. */
#pkb-form:is([data-package="park-and-rest"], [data-package="rent-and-rest"]) :is(.sb-when[data-pkb-first], .sb-back__dates) > .pkb-date { display: none; }
.pkb-nightline { flex: 1 1 100%; display: grid; gap: 2px; margin: 0; padding: 10px 12px; border: 1.5px solid #cbd6e2; border-radius: var(--sky-r2); background: #fff; }
.pkb-nightline b { font-size: 16px; color: var(--sky-blue-deep); }
.pkb-nightline small { color: var(--sky-ink-2); font-size: 14px; font-weight: 650; }
.pkb-nightline.is-past { border-color: #f2c94c; background: #fffbeb; }
.pkb-nightline.is-past b { color: #8a5a00; }
.pkb-nightline { grid-column: 1 / -1; width: 100%; box-sizing: border-box; }
#pkb-form:is([data-package="park-and-rest"], [data-package="rent-and-rest"]) .sb-when[data-pkb-first] > .sb-count { display: none; }
