/* Photo frame on desktop; full-width, quiet captions on mobile. */
#journeys-view .product-hero-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);gap:48px}
#journeys-view .route-gallery{min-width:0;width:100%;align-self:center}
#journeys-view .route-gallery-frame{aspect-ratio:var(--gallery-desktop-ratio,7/6);max-height:620px;position:relative;background:#eeeae1;overflow:hidden;touch-action:pan-y;border-radius:2px;isolation:isolate}
#journeys-view .route-gallery-slide{position:absolute;inset:0;margin:0;overflow:hidden}
#journeys-view .route-gallery-slide picture{display:block;width:100%;height:100%}
#journeys-view .route-gallery-slide img{display:block;width:100%;height:100%;object-fit:var(--gallery-fit);object-position:var(--gallery-position);transform:scale(var(--gallery-zoom));transform-origin:var(--gallery-position)}
#journeys-view .route-gallery-shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(transparent 55%,rgba(12,26,20,.12) 65%,rgba(12,26,20,.7));z-index:1}
#journeys-view .route-gallery-overlay{position:absolute;inset:auto 24px 20px;z-index:2;pointer-events:none;color:#fff}
#journeys-view .route-gallery-location{font:400 14px/1.45 var(--sans);margin:0 0 4px;color:#fff;text-align:left;text-shadow:0 1px 5px #0005}
#journeys-view .route-gallery-credit{font:400 10px/1.4 var(--sans);margin:0;color:#fffd;letter-spacing:.01em}
#journeys-view .route-gallery-count{position:absolute;top:18px;right:20px;z-index:2;color:#fff;font:400 11px/1.5 var(--sans);text-shadow:0 1px 5px #0008;background:#152b2333;padding:4px 8px;border-radius:2px}
#journeys-view .route-gallery-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;background:#f7f4edf2;color:#273c32;width:44px;height:44px;min-height:44px;border:1px solid #ffffff40;border-radius:50%;padding:11px;cursor:pointer;display:grid;place-items:center;transition:background .2s}
#journeys-view .route-gallery-arrow svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#journeys-view .gallery-prev{left:18px}
#journeys-view .gallery-next{right:18px}
#journeys-view .route-gallery-arrow:hover{background:#fff}
#journeys-view .route-gallery-arrow:focus-visible{outline:2px solid #92664d;outline-offset:3px}
#journeys-view .route-gallery-progress{height:2px;background:#ffffff45;margin-top:12px;overflow:hidden}
#journeys-view .route-gallery-progress span{display:block;height:100%;background:#f7f4ed;transition:width .22s ease}
#journeys-view .route-gallery-mobile-credit{display:none}
@media(max-width:700px){
 #journeys-view .product-hero-grid{gap:28px}
 #journeys-view .route-gallery{width:100vw;margin-inline:calc((100% - 100vw)/2)}
 #journeys-view .route-gallery-frame{aspect-ratio:var(--gallery-mobile-ratio,1/1);max-height:none;border-radius:0}
 #journeys-view .route-gallery-slide img{object-fit:var(--gallery-mobile-fit);object-position:var(--gallery-mobile-position);transform:scale(var(--gallery-mobile-zoom));transform-origin:var(--gallery-mobile-position)}
 #journeys-view .route-gallery-shade{background:linear-gradient(transparent 45%,rgba(12,26,20,.24) 67%,rgba(12,26,20,.45) 78%,#f7f4ed 100%)}
 #journeys-view .route-gallery-overlay{inset:auto 24px 62px}
 #journeys-view .route-gallery-location{font-size:12px;line-height:1.5;margin:0}
 #journeys-view .route-gallery-credit,#journeys-view .route-gallery-count{display:none}
 #journeys-view .route-gallery-arrow{background:#152b2326;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;border-color:#ffffff20}
 #journeys-view .route-gallery-arrow:hover{background:#152b2350}
 #journeys-view .gallery-prev{left:12px}
 #journeys-view .gallery-next{right:12px}
 #journeys-view .route-gallery-progress{margin-top:12px;height:1px;width:120px;max-width:50%}
 #journeys-view .route-gallery-mobile-credit{display:block;font:400 10px/1.4 var(--sans);color:#747a70;margin:0;padding:8px 24px 0;letter-spacing:.015em}
}
@media(prefers-reduced-motion:reduce){#journeys-view .route-gallery-progress span,#journeys-view .route-gallery-arrow{transition:none}}

#journeys-view .j-spring-photo{margin:0;min-width:0;max-width:none}
#journeys-view .j-spring-photo .route-gallery-slide img{height:100%;width:100%;aspect-ratio:auto}
/* Match the original route detail frame and columns at each breakpoint. */
#journeys-view .departure-detail{max-width:1280px;padding-inline:40px;box-sizing:border-box}
#journeys-view .departure-hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.3fr);gap:48px}
@media(max-width:1000px){#journeys-view .departure-detail{padding-inline:28px}}
@media(max-width:700px){#journeys-view .departure-detail{padding-inline:22px}#journeys-view .departure-hero{display:flex;flex-direction:column;gap:28px}#journeys-view .route-gallery-frame{border-radius:0}}

@media(max-width:700px){#journeys-view .departure-detail .j-spring-nav{margin-inline:-22px;padding-inline:22px}}
