/* Arrow navigation enhances catalog chapters; without JS the full document remains scrollable. */
:is(.programs-page,.gallery-page,.about-page,.dates-page)[data-program-transitions] { padding-top:0; }
[data-program-transitions] #main { overflow:visible; }
[data-program-transitions] .catalog-chapter { position:relative; }
[data-program-transitions] .catalog-chapter[hidden] { display:none !important; }
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-chapter-scene {
  position: relative; min-height: var(--catalog-viewport); margin: 0;
  padding: 112px 0 76px; isolation: isolate;
  background: linear-gradient(90deg,#031422b3,#031422b8 58%,#0314228c),url('forest-lanterns.webp') center / cover #0b1c2b;
}
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-chapter-scene.places-scene {
  background: linear-gradient(90deg,#010f20c9,#0112258a 32%,#02152829 65%,#010b2517),url('scene-places-scene-2026.webp') center / cover #0b1c2b;
}
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice { padding-top: 170px; }
.catalog-choice .intro-section { background: none; margin: 0; }
.catalog-choice .intro-section .container { padding-block: 0; }
.catalog-choice .breadcrumbs { padding-top: 0; margin-bottom: 10px; }
.catalog-choice .page-intro { padding: 0 0 18px; }
.catalog-choice .page-intro h1 { font-size: clamp(40px,3.5vw,56px); }
.catalog-choice .page-intro p { max-width: none; margin-top: 12px; font-size: 16px; }
.catalog-choice .premium-programs { background: none; padding: 0; }
.catalog-overview > .catalog-chapter-content { width: min(1280px,calc(100% - 80px)); margin-inline: auto; }
.catalog-overview .duration-overview { padding-top: 24px; }
.catalog-overview .addons-overview { margin-top: 0; }
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .overview-pending,
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .overview-pending .duration-summary-card { opacity: 1 !important; transform: none !important; transition: none !important; }
@media(min-width:1200px) and (min-height:700px) {
  :is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-chapter-scene { display: flex; align-items: center; height: var(--catalog-viewport); max-height: var(--catalog-viewport); min-height: 0; overflow: clip; }
  .catalog-chapter-scene > .container,.catalog-chapter-scene > .catalog-chapter-content { min-height: 0; max-height: none; overflow: visible; flex-shrink: 0; transform: scale(var(--chapter-content-scale, 1)); transform-origin: center; }
  .catalog-choice .catalog-chapter-content { width: 100%; }
  .catalog-chapter-scene.places-scene .scene-child { max-height: 40svh; width: auto; bottom: -25px; }
  .catalog-overview .overview-reindeer-photo { aspect-ratio: 1.14; }
  .catalog-overview .overview-reindeer-visual { max-width: 600px; }
}
@media(min-width:1200px) and (min-height:700px) and (max-height:820px) {
  :is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-chapter-scene { padding-top: 100px; padding-bottom: 65px; }
  :is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice { padding-top: 164px; }
  .catalog-choice .page-intro { padding-bottom: 14px; }
  .catalog-choice .page-intro h1 { font-size: 40px; }
  .catalog-choice .page-intro p { font-size: 14px; margin-top: 8px; }
  .catalog-choice .breadcrumbs { margin-bottom: 8px; }
  .catalog-overview .duration-overview-heading { margin-bottom: 42px; }
  .catalog-overview .overview-reindeer-photo { aspect-ratio: 1.4; }
  .catalog-overview .addons-overview-intro h2 { font-size: 44px; }
  .catalog-overview .addons-overview-intro > p,.catalog-overview .addons-overview-description p { font-size: 15px; }
}
@media(max-width:1199px),(max-height:699px) {
  :is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-chapter-scene { padding-top: 110px; padding-bottom: 88px; }
  :is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice { padding-top: 155px; }
  .catalog-choice .premium-programs { padding-bottom: 0; }
  .catalog-overview > .catalog-chapter-content { width: calc(100% - 40px); }
}
@media(max-width:767px) {
  :is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice { padding-top: 132px; }
  .catalog-choice .page-intro h1 { font-size: 39px; }
  .catalog-choice .page-intro p { font-size: 15px; }
}

/* Keep the shared card proportions instead of squeezing the catalog into one screen. */
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice { display: block; height: auto; max-height: none; min-height: var(--catalog-viewport); overflow: visible; }
@media(min-width:1200px) and (min-height:700px) {
  :is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice { display: flex; height: var(--catalog-viewport); max-height: var(--catalog-viewport); min-height: 0; overflow: clip; }
}
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice > .catalog-chapter-content { max-height: none; overflow: visible; }

/* End the forest journey with the final button on the foreground path. */
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-chapter-scene.cta-section { display: flex; align-items: flex-end; padding-bottom: calc(15svh - 23px); }
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-chapter-scene.cta-section .cta-inner { display: flex; flex-direction: column; gap: 24px; text-align: center; overflow: visible; }

/* Explicit chapter controls; the segments show the selected screen. */
.catalog-chapter-navigation { position:fixed;z-index:18;left:50%;bottom:max(10px,env(safe-area-inset-bottom));transform:translateX(-50%);width:min(580px,calc(100% - 32px));padding:6px 12px 0;border:1px solid #d5b16b55;border-radius:14px;background:#031423ed;box-shadow:0 3px 20px #0006; }
.catalog-chapter-navigation[hidden] { display:none; }
.catalog-screen-controls { display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center; }
.catalog-screen-controls button { min-width:88px;min-height:44px;padding:7px 12px;border:1px solid #eac17a99;border-radius:8px;background:#0b2335;color:#f4ce88;font:500 14px/1.2 Manrope,sans-serif;cursor:pointer; }
.catalog-screen-controls button:disabled {opacity:.35;cursor:default;}
.catalog-screen-controls button:focus-visible,.catalog-screen-segments button:focus-visible {outline:2px solid #ffe1a0;outline-offset:2px;}
.catalog-screen-status {text-align:center;color:#e9e9e1;font:400 12px/1.3 Manrope,sans-serif;}
.catalog-screen-segments {display:flex;gap:10px;}
.catalog-screen-segments button {flex:1;min-width:0;height:28px;padding:0;border:0;background:none;cursor:pointer;}
.ice-progress-track {position:relative;display:block;height:5px;overflow:hidden;border:1px solid #b5e6ff80;border-radius:3px;background:#112e44;}
.ice-progress-track::after {content:'';position:absolute;inset:0;transform:scaleX(var(--chapter-progress,0));transform-origin:left;background:linear-gradient(110deg,#72b5d5,#e2faff 50%,#92d7f5);}
.catalog-chapter-navigation [aria-current=step] .ice-progress-track {border-color:#f4ce88;}
.catalog-chapter-navigation [aria-current=step] .ice-progress-track::after {background:#f4ce88;}
@media(max-width:767px){.catalog-screen-controls{gap:8px}.catalog-screen-controls button{min-width:70px;padding:7px 8px}.catalog-screen-status{font-size:11px}}
:is(.programs-page,.gallery-page,.about-page,.dates-page,.contacts-page)[data-program-transitions] .catalog-choice { padding-top: calc(var(--header-panel-height) + 16px); }
@media(max-width:767px) { .catalog-chapter-navigation { gap: 7px; width: calc(100% - 32px); } }

/* Scale the complete tree and its ornament links together; never scroll this scene internally. */
@media(min-width:1200px) and (min-height:700px) {
  .catalog-chapter-scene.places-scene > .places-scene-layout { max-height: none; overflow: visible; }
  .catalog-chapter-scene.places-scene .scene-tree { width: min(100%, 520px, calc((100svh - 188px) * .75)); max-height: none; }
  .catalog-chapter-scene.places-scene .scene-tree > img { height: auto; max-height: none; }
}
@media(min-width:1200px) and (min-height:700px) and (max-height:820px) {
  .catalog-chapter-scene.places-scene .scene-copy h2 { font-size: clamp(58px, 8svh, 72px); }
  .catalog-chapter-scene.places-scene .scene-copy > p { margin-top: 18px; }
  .catalog-chapter-scene.places-scene .scene-benefits { margin-block: 20px; }
  .catalog-chapter-scene.places-scene .scene-benefits .line-icon { width: 30px; height: 30px; }
}

/* Place the tree on the foreground snow rather than centering it in mid-air. */
@media(min-width:1200px) and (min-height:700px) {
  .catalog-chapter-scene.places-scene > .places-scene-layout { position: static; transform: none; }
  .catalog-chapter-scene.places-scene .scene-copy { position: relative; z-index: 2; }
  .catalog-chapter-scene.places-scene .scene-tree { position: absolute; z-index: 2; right: max(48px, calc((100vw - 1200px) / 2)); bottom: 28px; width: min(46vw, 640px, calc((100svh - 112px) * .75)); margin: 0; isolation: isolate; }
  .catalog-chapter-scene.places-scene .scene-tree::before { content: ''; position: absolute; z-index: -1; left: 10%; right: 10%; bottom: -8px; height: 30px; background: radial-gradient(ellipse, #03101cc9, #14233365 45%, transparent 72%); pointer-events: none; }
}

/* The chapter navigator owns a separate bottom area, never a layer over content. */
body[data-chapter-navigation="arrows"] #main.catalog-screen-viewport {height:calc(100dvh - var(--chapter-navigation-space,102px));overflow-y:auto;overflow-x:clip;overscroll-behavior-y:contain;scroll-padding-top:calc(var(--header-panel-height,72px) + 16px);scroll-padding-bottom:16px;}
@media(min-width:1200px) and (min-height:700px){
 .catalog-screen-viewport .catalog-chapter-scene.places-scene .scene-tree {width:min(46vw,640px,calc((var(--catalog-viewport) - 112px) * .75));}
}

/* One continuous scene background also paints the snow beneath navigation. */
body[data-chapter-navigation="arrows"] #main.catalog-screen-viewport {position:relative;z-index:1;}
.catalog-navigation-ground {position:fixed;z-index:0;inset:0;pointer-events:none;background-position:center;background-size:cover;background-repeat:no-repeat;}
.catalog-navigation-ground[data-solid-scene]::after {content:'';position:absolute;inset:auto 0 0;height:var(--ground-height,102px);background:linear-gradient(#031225,transparent);}
