/* Supplied panoramas: text stays HTML; one image is chosen per page render. */
.choco-v3-scene { position: absolute; inset: 0; z-index: 0; display: block; pointer-events: none; }
.choco-v3-scene img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.choco-v3-catalog-hero--scene,
.choco-v3-route-hero--scene { position: relative; display: block; isolation: isolate; background: #06111b; }
.choco-v3-catalog-hero--scene::after,
.choco-v3-route-hero--scene::after { position: absolute; inset: 0; z-index: 1; content: ''; pointer-events: none; background: linear-gradient(90deg,rgba(3,13,22,.96),rgba(3,13,22,.85) 29%,rgba(3,13,22,.46) 56%,rgba(3,13,22,.04) 82%); }
.choco-v3-catalog-hero--scene .choco-v3-catalog-hero__copy,
.choco-v3-route-hero--scene .choco-v3-route-hero__copy { position: relative; z-index: 2; width: min(66%,760px); }
.choco-v3-catalog-hero--scene .choco-v3-catalog-title { font-size: clamp(40px,5.3vw,72px); }
.choco-v3-catalog-search { position: relative; align-items: center; gap: 12px; }
.choco-v3-catalog-search label[for="choco-catalog-query"] { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; border: 0 !important; }
.choco-v3-catalog-search input { width: 100%; min-height: 44px; padding: 0; box-shadow: none; }
.choco-v3-catalog-search button { flex: 0 0 48px; }
.choco-v3-route-hero--scene { min-height: 340px; }
.choco-v3-section-children { display: flex; gap: 10px; width: min(1180px,calc(100% - 40px)); margin: -14px auto 30px; padding: 10px; overflow-x: auto; border: 1px solid rgba(125,181,220,.28); border-radius: 12px; background: rgba(5,17,27,.88); }
.choco-v3-section-children a { display: flex; flex: 1 0 128px; min-height: 54px; align-items: center; justify-content: center; gap: 12px; padding: 10px 16px; border: 1px solid transparent; border-radius: 9px; color: #d6e0e8; text-align: center; text-decoration: none; font: 13px/1.3 Arial,sans-serif; }
.choco-v3-section-children a:hover,
.choco-v3-section-children a:focus-visible { color: #ffd18d; border-color: #e8b86d; background: linear-gradient(120deg,rgba(227,166,83,.18),rgba(227,166,83,.03)); box-shadow: 0 0 14px rgba(227,166,83,.18); }
.choco-v3-section-children a span[aria-hidden] { color: #e8b86d; font-size: 22px; }
.choco-v3-catalog-cta--city { position: relative; isolation: isolate; overflow: hidden; min-height: 250px; padding-left: 39%; background: #06111b; }
.choco-v3-catalog-cta--city::after { position: absolute; inset: 0; z-index: 1; content: ''; pointer-events: none; background: linear-gradient(90deg,transparent 18%,rgba(3,12,20,.7) 43%,rgba(3,12,20,.66) 73%,rgba(3,12,20,.28)); }
.choco-v3-catalog-cta--city > div,
.choco-v3-catalog-cta--city > a { position: relative; z-index: 2; }
.choco-v3-catalog-cta--city h2 { font-size: clamp(24px,2.7vw,38px); }
body:has(#choco-v3-home) .choco-v3-hero { min-height: clamp(420px,42vw,620px); }
body:has(#choco-v3-home) .choco-v3-hero-art { inset: 0; }
body:has(#choco-v3-home) .choco-v3-hero-art .choco-v3-scene img { max-width: none; width: 100%; height: 100%; object-position: center; }
body:has(#choco-v3-home) .choco-v3-hero-art::after { background: linear-gradient(90deg,#06111b 0%,rgba(6,17,27,.91) 23%,rgba(6,17,27,.45) 44%,rgba(6,17,27,0) 70%); }
body:has(#choco-v3-home) .choco-v3-process-scene { position: relative; isolation: isolate; overflow: hidden; min-height: 330px; margin-top: 30px; padding: 34px 20px 22px; background: #06111b; border-radius: 12px; }
body:has(#choco-v3-home) .choco-v3-process-scene::after { position: absolute; inset: 0; z-index: 1; content: ''; pointer-events: none; background: linear-gradient(90deg,rgba(3,12,21,.91),rgba(3,12,21,.6) 27%,rgba(3,12,21,0) 63%),linear-gradient(0deg,rgba(3,12,21,.82),transparent 65%); }
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-section-head,
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-process { position: relative; z-index: 2; }
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-section-head { min-height: 170px; align-items: flex-start; }
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-section-head > div { max-width: 35%; }
body:has(#choco-v3-home) .choco-v3-process-scene h2 { font-size: clamp(28px,3.4vw,46px); }
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-step { min-height: 110px; padding: 14px 16px; background: rgba(5,18,29,.68); border: 1px solid rgba(99,166,218,.44); border-radius: 10px; backdrop-filter: blur(4px); }
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-step b { font-size: 26px; }
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-step h3 { margin: 4px 0; font-size: 18px; }
body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-step p { margin: 0; font-size: 12px; }
/* hidden must override the component's flex/grid layout. */
body:has(#choco-v3-home) .choco-v3-image-request [hidden] { display: none !important; }
@media (max-width: 980px) {
  .choco-v3-catalog-hero--scene .choco-v3-catalog-hero__copy,
  .choco-v3-route-hero--scene .choco-v3-route-hero__copy { width: min(76%,650px); }
  .choco-v3-catalog-cta--city { display: grid; padding-left: 37%; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-section-head > div { max-width: 55%; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-process--five { grid-template-columns: repeat(5,minmax(0,1fr)); }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-step { padding: 12px 9px; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-step h3 { font-size: 15px; }
}
@media (max-width: 620px) {
  .choco-v3-catalog-hero--scene .choco-v3-catalog-hero__copy,
  .choco-v3-route-hero--scene .choco-v3-route-hero__copy { width: 100%; padding: 32px 20px; }
  .choco-v3-catalog-hero--scene::after,
  .choco-v3-route-hero--scene::after { background: linear-gradient(90deg,rgba(3,13,22,.94),rgba(3,13,22,.64)); }
  .choco-v3-catalog-hero--scene .choco-v3-scene img,
  .choco-v3-route-hero--scene .choco-v3-scene img { object-position: 65% center; }
  .choco-v3-catalog-hero--scene { min-height: 350px; }
  .choco-v3-section-children { width: calc(100% - 28px); gap: 4px; padding: 6px; }
  .choco-v3-section-children a { flex-basis: 118px; padding: 8px; }
  .choco-v3-catalog-cta--city { min-height: 310px; padding: 150px 20px 24px; }
  .choco-v3-catalog-cta--city .choco-v3-scene img { object-position: 25% center; }
  .choco-v3-catalog-cta--city::after { background: linear-gradient(0deg,rgba(3,12,20,.96),rgba(3,12,20,.64) 40%,transparent); }
  body:has(#choco-v3-home) .choco-v3-process-scene { padding: 26px 14px 18px; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-scene img { object-position: 70% top; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-section-head { min-height: 160px; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-section-head > div { max-width: 100%; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-section-head > a { display: none; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-process--five { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x proximity; }
  body:has(#choco-v3-home) .choco-v3-process-scene .choco-v3-step { flex: 0 0 158px; scroll-snap-align: start; }
}
