/* Whole-card rests. Each card owns a complete mobile reading position. */
.journey-track{scroll-snap-type:x mandatory}.journey-card{scroll-snap-align:start;scroll-snap-stop:always}
.next-step-card{background:#a8322c;border-color:#c94b40;color:white}.next-step-card :is(span,p){color:#fff2e8}.world-book-button{font:13px Exo;background:white;color:#82291f;border:0;padding:11px 16px;min-height:44px;margin-top:12px;cursor:pointer}.plan-stepper{display:flex;min-width:0}.plan-stepper>input{flex:1;min-width:0}.plan-stepper>button{display:none}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .journey-card{flex-basis:100%;min-width:100%;padding:14px 16px}.journey-track{gap:14px}.journey-card p{font-size:13px;line-height:1.45}.journey-card h3{font-size:25px}.world-story-button{font-size:13px;min-height:44px}.world-book-button{width:100%;margin-top:10px}
 .journey-screen .epic-stage .epic-art{width:min(78vw,39svh)!important;right:calc((100% - min(78vw,39svh))/2)!important}
 .journey-screen .epic-stage[data-game=elderquarze] .epic-art{width:min(89vw,47svh)!important;right:calc((100% - min(89vw,47svh))/2)!important}
 /* Pinned again on portrait phones; shallow/zoomed windows use the natural fallback. */
 .closing-screen{top:var(--mobile-header);height:var(--mobile-stage)}.closing-nav{inset:7px 8px auto}.closing-nav button{min-height:40px;font-size:11px;padding:8px 4px}
 .closing-screen .closing-panel{height:100%!important;min-height:0!important;overflow:auto;overscroll-behavior:auto}
 .c .closing-screen #buchungsdemo.planning-stage{padding:56px 10px 12px}.c .closing-screen #buchungsdemo>.stage-chapter{display:none}.c .closing-screen #buchungsdemo>h2{font-size:29px;line-height:1;margin-bottom:10px}.c .closing-screen #buchungsdemo>h2 br{display:none}
 .c #visit-planner .plan-layout,.stage-booking .plan-layout{display:block}.c #visit-planner .plan-main{display:flex!important;flex-direction:column;gap:8px;padding:10px 12px}.c #visit-planner .plan-main>.plan-section{display:block!important;border:0!important;padding:0!important;min-width:0}
 .c #visit-planner .plan-people-section{order:0}.c #visit-planner .plan-experience-section{order:1}.c #visit-planner .plan-date-section{order:2}
 .c #visit-planner .plan-section-title{margin:0 0 5px}.c #visit-planner .plan-section-title h3{font:16px/1.2 Exo;font-weight:700}.c #visit-planner .plan-people-section .plan-section-title{display:none}
 .c #visit-planner .people-row{gap:10px}.c #visit-planner .people-row label{font-size:12px;gap:4px;min-width:0}.c #visit-planner .people-row input{font-size:19px;text-align:center;padding:6px;width:100%;height:44px}.plan-stepper{width:100%}.plan-stepper>button{display:block;flex:0 0 44px;min-height:44px;border:1px solid #b7b5aa;background:#eee8db;color:#333;font:24px Exo;padding:0}.plan-stepper>button:first-child{border-right:0}.plan-stepper>button:last-child{border-left:0}
 .c #visit-planner .plan-people-section>.plan-hint:first-of-type{display:none}.c #visit-planner :is(#plan-input-note,#plan-error,#plan-date-error):empty{display:none}.c #visit-planner :is(#plan-input-note,#plan-error,#plan-date-error){font-size:12px;line-height:1.4;margin:6px 0}
 .c #visit-planner .plan-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.c #visit-planner .plan-games button{min-height:58px;padding:8px}.c #visit-planner .plan-games button strong{font-size:24px;line-height:1}.c #visit-planner .plan-games button>span,.c #visit-planner .plan-games button>small{display:none}.c #visit-planner .plan-games button.plan-change-game{font:12px Exo;min-height:44px;padding:6px;background:none;text-decoration:underline}
 .c #visit-planner[data-choosing=false] .plan-games{grid-template-columns:minmax(0,1fr) 105px}.c #visit-planner[data-choosing=false] .plan-games button{min-height:44px}
 .c #visit-planner[data-choosing=true] .plan-date-section,.c #visit-planner[data-choosing=true] .plan-summary{display:none!important}
 .c #visit-planner .plan-date-section .plan-section-title{display:none}.c #visit-planner .plan-date{display:flex;flex-direction:row;align-items:center;gap:8px;font-size:13px}.c #visit-planner .plan-date input{width:65%;min-width:0;font-size:16px;padding:8px;height:44px}
 .c #visit-planner .plan-periods{margin:6px 0}.c #visit-planner .plan-periods button{min-height:40px;padding:8px 3px;font-size:12px}.c #visit-planner .plan-times button{min-height:40px;font-size:17px;padding:7px}.c #visit-planner .plan-times small{font-size:10px;line-height:1.3}.c #visit-planner .plan-time-actions{margin:3px 0 0}.c #visit-planner .plan-time-actions button{min-height:36px;padding:6px 0;font-size:12px}
 .c #visit-planner .plan-summary{padding:9px 12px;border-top:1px solid #c6bfae;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.c #visit-planner .plan-summary>.eyebrow,.c #visit-planner .plan-summary>h3,.c #visit-planner #plan-summary>.plan-hint,.c #visit-planner #plan-summary>.plan-total,.c #visit-planner .plan-summary>.plan-hint{display:none}.c #visit-planner #plan-summary{flex:1;display:block;font-size:12px}.c #visit-planner #plan-summary>p{display:none}.c #visit-planner #plan-summary>p:nth-of-type(3){display:block;font-size:12px;line-height:1.4}.c #visit-planner #plan-finish{font-size:12px;padding:10px;min-height:44px;flex:0 0 auto}.c #visit-planner #plan-result{font-size:12px;width:100%}.c #visit-planner #plan-result:empty{display:none}.c #visit-planner .plan-demo-label{font-size:10px;line-height:1.25;padding:6px 12px}
 .c #visit-planner .plan-options{padding:8px;margin-top:6px}.c #visit-planner .plan-options h4{font-size:13px;margin:0}.c #visit-planner .plan-options .plan-hint{font-size:12px;line-height:1.35}.c #visit-planner .plan-worlds{gap:5px}.c #visit-planner .plan-worlds button{min-height:44px;font-size:12px}.c #visit-planner .plan-group-wishes button{padding:8px;min-height:44px}
 .c .closing-screen #gruppen.team-stage,.c .closing-screen #gutscheine.gift-stage{padding-top:56px}.c #gruppen .group-intro h2{font-size:37px}.c #gruppen .group-intro{margin-bottom:12px}.c #gruppen .group-editorial{padding-bottom:6px}.c #gruppen .group-plan{padding:10px;margin-top:8px}.c #gruppen .group-footnote{font-size:11px;line-height:1.4;margin-top:8px}
 .closing-flow .closing-panel{height:auto!important;min-height:var(--mobile-stage)!important;max-height:none!important;overflow:visible!important}.c .closing-flow #buchungsdemo.planning-stage,.c .closing-flow #gruppen.team-stage,.c .closing-flow #gutscheine.gift-stage{padding-top:22px}
 .mobile-times-dialog{position:fixed;inset:calc(var(--mobile-header) + 8px) max(8px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));width:auto;max-width:calc(100% - 16px);height:fit-content;max-height:calc(100dvh - var(--mobile-header) - 24px);padding:16px;background:#f5f1e7;color:#252a23;overflow:auto}.mobile-times-dialog::backdrop{background:#07100dd9}.mobile-times-dialog .plan-date-section{display:block!important}.mobile-times-dialog .plan-section-title{display:block!important}.mobile-times-dialog .plan-slot-row{gap:8px}.c #visit-planner .mobile-times-dialog .plan-times button{min-height:44px}.mobile-times-dialog .times-close{display:block;margin:0 0 12px auto;min-height:44px;padding:8px 14px;background:#a2382f;color:white;border:0;font:13px Exo}
}
@media(max-width:760px) and (max-height:560px),(max-width:1000px) and (max-height:500px){
 .journey-screen .epic-stage .epic-art,.journey-screen .epic-stage[data-game=elderquarze] .epic-art{width:36%!important;left:5%;right:auto!important;top:36%!important;max-height:58%}.journey-card p{font-size:12px}.journey-card{padding:10px 12px}.journey-card h3{font-size:23px}.world-story-button,.world-book-button{min-height:40px;margin-top:6px;padding:7px 10px}
}
#gruppen .group-editorial{scroll-snap-type:x mandatory}#gruppen .group-editorial article{scroll-snap-stop:always}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .c #gruppen .group-editorial article{flex:0 0 100%;min-width:100%}
 .c #visit-planner .plan-date{display:grid;grid-template-columns:88px minmax(0,1fr);min-inline-size:0;max-inline-size:100%;gap:8px}
 .c #visit-planner .plan-date input[type=date]{display:block;inline-size:100%!important;width:100%!important;min-inline-size:0!important;min-width:0!important;max-inline-size:100%;box-sizing:border-box;-webkit-appearance:none;appearance:none;font-size:16px;line-height:normal}
 .c #visit-planner .plan-date input::-webkit-date-and-time-value{min-width:0;text-align:left}
 .plan-vr-choice{font:12px Exo;margin-top:6px}.plan-vr-choice>summary{padding:8px 0;min-height:36px;cursor:pointer}
}

@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .c #visit-planner #plan-summary>p.plan-hint{display:none!important}
 .c #visit-planner .plan-summary{padding:7px 12px}.c #visit-planner .plan-date{grid-template-columns:86px minmax(0,1fr)}
}
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .c #visit-planner[data-choosing=false] .plan-experience-section>.plan-section-title{display:none}
 .c #visit-planner .plan-summary{flex-direction:row;flex-wrap:nowrap;gap:0;padding:7px 12px}
 .c #visit-planner #plan-summary{display:none}
 .c #visit-planner #plan-finish{width:100%;flex:1;min-height:44px}
 .c #visit-planner .plan-summary:has(#plan-result:not(:empty)){flex-wrap:wrap}
 .c #visit-planner .plan-demo-label{font-size:11px;line-height:1.2;padding:5px 12px}
}

/* V19.2: centered full cards with a quiet16px glimpse of each available neighbour. */
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .journey-track,.c #gruppen .group-editorial{padding-inline:28px;gap:12px;scroll-padding-inline:28px;box-sizing:border-box}
 .journey-track>.journey-card,.c #gruppen .group-editorial>article{flex:0 0 100%;min-width:100%;max-width:100%;scroll-snap-align:center}
}

/* Additional world travel buys a deliberate final-card reading stop; intro pixels stay unchanged in JS. */
.journey-worlds{height:730svh}
@media(prefers-reduced-motion:reduce){.journey-worlds{height:auto}}

.journey-track,.c #gruppen .group-editorial{touch-action:pan-y pinch-zoom}
.journey-track.is-card-dragging,.c #gruppen .group-editorial.is-card-dragging{scroll-snap-type:none;scroll-behavior:auto}

/* V19.3: all mobile offers stay visible while choosing; capacity is an explicit overlay. */
@media(max-width:760px),(max-width:1000px) and (max-height:500px){
 .c #visit-planner[data-choosing=true] .plan-games button{display:block;min-height:82px}
 .c #visit-planner .plan-games button>.plan-lock{display:flex;padding:8px;gap:4px;background:#e8e5dcf5}
 .c #visit-planner .plan-games .plan-lock .plan-lock-name{font:21px/1 League}
 .c #visit-planner .plan-games .plan-lock b{font:12px/1.25 Exo;font-weight:700}
 .c #visit-planner .plan-games .plan-lock small{display:none}
 .c #visit-planner .plan-games button[aria-disabled=true]{cursor:not-allowed}
}
