/* Readable quantity ranges alongside each configurable price tier. */
.price-strip>[data-price-tier]{flex-direction:row;align-items:center;justify-content:flex-start;gap:14px;flex-wrap:wrap}
.price-strip>[data-price-tier]>span{font-size:15px;font-weight:600;color:var(--red);line-height:1.3;white-space:nowrap}
.phone-layout .price-strip>[data-price-tier]{flex-direction:row;gap:4px 8px}
.phone-layout .price-strip>[data-price-tier]>span{font-size:12px;color:var(--red)}
/* Keep the complete desktop home screen within its viewport. */
@media(min-width:721px){
html:not(.phone-layout).catalog-home,html:not(.phone-layout).catalog-home body{height:100dvh;overflow:hidden}
html:not(.phone-layout).catalog-home .topbar{height:68px;padding:0 26px}
html:not(.phone-layout).catalog-home .demo-banner{padding:7px 26px}
html:not(.phone-layout).catalog-home .layout{height:calc(100dvh - var(--header-height,68px) - var(--banner-height,30px));min-height:0}
html:not(.phone-layout).catalog-home main{height:100%;min-height:0;max-width:none;margin:0;padding:0 26px;display:flex;flex-direction:column;gap:10px}
html:not(.phone-layout).catalog-home .intro,html:not(.phone-layout).catalog-home .gallery-toolbar{display:none}
html:not(.phone-layout).catalog-home .find-photos{padding:14px 0 4px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:24px;align-items:center;flex-shrink:0}
html:not(.phone-layout).catalog-home .find-photos>.eyebrow,html:not(.phone-layout).catalog-home .find-photos>h2,html:not(.phone-layout).catalog-home .find-photos>p{grid-column:1}
html:not(.phone-layout).catalog-home .find-photos h2{font-size:clamp(28px,3vw,42px);margin:7px 0;line-height:1.05}
html:not(.phone-layout).catalog-home .find-photos p{font-size:14px;margin:4px 0;line-height:1.45}
html:not(.phone-layout).catalog-home #findMyPhotos{grid-column:2;grid-row:1/4;align-self:center;max-width:300px;padding:16px 22px}
html:not(.phone-layout).catalog-home .price-strip{position:static;margin:0;padding:12px 0;flex-shrink:0}
html:not(.phone-layout).catalog-home #folderNavigation{position:static;min-height:38px;padding:0;flex-shrink:0}
html:not(.phone-layout).catalog-home #content{flex:1 1 0;min-height:76px;align-content:start;grid-auto-rows:60px;grid-template-columns:repeat(var(--folder-columns,4),minmax(0,1fr));gap:10px}
html:not(.phone-layout).catalog-home .folder-card{height:60px;min-width:0;padding:12px 16px;flex-direction:row;align-items:center;gap:12px}
html:not(.phone-layout).catalog-home .folder-card .folder-icon{width:28px;height:24px;flex-shrink:0}
html:not(.phone-layout).catalog-home .folder-card b{font-size:17px}
html:not(.phone-layout).catalog-home .folder-card small{display:none}
html:not(.phone-layout).catalog-home .main-services{margin:0;padding:12px 20px;flex-shrink:0}
html:not(.phone-layout).catalog-home .main-services h2{font-size:19px;margin:5px 0}
html:not(.phone-layout).catalog-home .main-services p{font-size:13px;margin:4px 0}
html:not(.phone-layout).catalog-home footer{margin:0;padding:10px 0;flex-shrink:0}
html:not(.phone-layout) .slope-choice{grid-template-columns:minmax(200px,260px) 70px minmax(0,1fr);gap:16px}
html:not(.phone-layout) .map-enlarge{align-self:center;justify-self:center;width:70px}
}
@media(min-width:721px) and (max-height:650px){
html:not(.phone-layout).catalog-home main{gap:6px}
html:not(.phone-layout).catalog-home .find-photos{padding-top:8px}
html:not(.phone-layout).catalog-home .find-photos h2{font-size:28px}
html:not(.phone-layout).catalog-home .price-strip{padding:8px 0}
html:not(.phone-layout).catalog-home .main-services{padding:8px 14px}
html:not(.phone-layout).catalog-home .main-services .eyebrow{display:none}
}
.map-enlarge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px 4px;background:#fff;color:#444;border:1px solid #ddd;border-radius:6px;font-size:11px}
.map-enlarge svg{width:27px;height:27px}.map-enlarge:hover{color:var(--red);border-color:var(--red)}
.phone-layout .map-enlarge{align-self:center;flex-direction:row;padding:8px 14px}.phone-layout .map-enlarge svg{width:22px;height:22px}
#slopeMapZoom{width:96vw;height:94dvh;max-width:96vw;max-height:94dvh;margin:auto;background:#fff;padding:0;overflow:hidden}
#slopeMapZoom[open]{display:flex;flex-direction:column}
.map-zoom-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid #ddd;flex-shrink:0}
.map-zoom-toolbar>div{display:flex;align-items:center;gap:8px}.map-zoom-toolbar button{min-width:38px;min-height:38px;padding:6px 12px;border-radius:4px;background:#f2f2f2;font-size:18px}.map-zoom-toolbar output{min-width:48px;text-align:center;font-size:13px}
.map-zoom-toolbar [data-zoom=reset]{font-size:13px}.map-zoom-toolbar [data-zoom=close]{font-size:27px}
.map-zoom-stage{position:relative;overflow:hidden;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:#edf2f4;touch-action:none}
.map-zoom-stage img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;pointer-events:none;transform-origin:center}
.map-zoom-stage.is-zoomed{cursor:grab}.map-zoom-stage.is-zoomed:active{cursor:grabbing}
#slopeMapZoom>p{margin:0;padding:8px 12px;text-align:center;color:#666;font-size:12px;flex-shrink:0}
@media(max-width:720px){.slope-choice{display:flex;flex-direction:column;height:auto}.map-enlarge{align-self:center;flex-direction:row;padding:8px 14px}.map-zoom-toolbar{padding:6px;gap:4px}.map-zoom-toolbar b{font-size:12px}.map-zoom-toolbar>div{gap:3px}.map-zoom-toolbar button{min-width:32px;padding:5px 8px}.map-zoom-toolbar [data-zoom=reset]{font-size:11px}}

/* Direct two-finger map zoom on phones; desktop keeps its magnifier dialog. */
.map-touch-viewport{width:100%;flex:1;min-height:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.slope-reference .map-touch-viewport img{width:100%;height:100%;object-fit:contain;object-position:center;transform-origin:center;user-select:none;pointer-events:none}

.phone-layout .map-enlarge{display:none}
.phone-layout .map-touch-viewport{flex:none;aspect-ratio:1536/921;touch-action:pan-y}
.phone-layout .map-touch-viewport.is-zoomed{touch-action:none}

@media(max-width:720px){.map-enlarge{display:none}.slope-reference{height:auto;width:100%}.map-touch-viewport{flex:none;aspect-ratio:1536/921;touch-action:pan-y}.map-touch-viewport.is-zoomed{touch-action:none}}
