/* Shared, uncropped web-poster collection. 210px is 75% of the 280px comp. */
.custom-posters{--poster-height:210px;padding-top:32px;padding-bottom:40px;border-top:1px solid var(--line);margin-top:32px}
.custom-posters-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}
body .custom-posters h2{font-size:clamp(1.45rem,3vw,2rem);line-height:1.2;margin:0 0 8px}
.custom-posters-heading p{margin:0;color:var(--muted);font-size:.9rem}
.custom-posters-controls{display:flex;gap:8px}
.custom-posters-controls[hidden]{display:none}
.custom-posters-controls button{width:44px;height:44px;padding:8px;background:var(--sky);color:var(--ink);border:1px solid var(--line);border-radius:6px}
.custom-posters-controls button:disabled{opacity:.4}
.custom-posters-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;padding:4px 4px 16px;scrollbar-width:thin}
.custom-poster{flex:none;width:calc(var(--poster-height)*.75 + 30px);scroll-snap-align:start}
.custom-poster[data-orientation="landscape"]{width:calc(var(--poster-height)*4/3 + 30px)}
.custom-poster-art{display:block;padding:14px;background:var(--sky);border:1px solid var(--line);border-radius:5px}
.custom-poster-art img{display:block;width:100%;height:auto;aspect-ratio:3/4;object-fit:contain;box-shadow:0 4px 10px #13213915}
.custom-poster[data-orientation="landscape"] img{aspect-ratio:4/3}
body .custom-poster h3{font-size:1rem;margin:14px 0 3px;line-height:1.4}
body .custom-poster p{font-size:.8rem;line-height:1.6;color:var(--muted);margin:0 0 3px}
.custom-poster-link{display:inline-block;margin-top:8px;color:var(--blue);font-size:.85rem;text-underline-offset:4px}
.custom-posters a:focus-visible,.custom-posters button:focus-visible,.custom-preview-arrow:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
body.map-designer-active .custom-posters{display:none}
body .custom-preview-ready .custom-gallery-thumbnails,body .custom-preview-ready>.micro:not(.atlas-map-credit){display:none}
.custom-preview-stage{position:relative}
.custom-preview-stage>a{display:block}
body .custom-preview-stage .custom-preview-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;min-height:44px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--navy);font-size:30px;line-height:1;box-shadow:0 3px 10px #13213918}
.custom-preview-arrow.previous{left:-22px}.custom-preview-arrow.next{right:-22px}
.custom-preview-status{display:block;text-align:center;font-size:.8rem;color:var(--muted);margin:10px 0}
@media(max-width:600px){.custom-posters{margin-top:24px;padding-top:26px}.custom-posters-heading{align-items:flex-start}.custom-preview-arrow.previous{left:-12px}.custom-preview-arrow.next{right:-12px}}

body .custom-preview-stage .custom-preview-arrow:hover{background:var(--sky);color:var(--navy)}

.custom-poster-lightbox{width:min(1200px,calc(100vw - 32px));max-width:none;max-height:calc(100dvh - 32px);padding:16px;border:1px solid #46514e;border-radius:10px;background:#18211f;color:#fff;box-shadow:0 20px 80px #0008}
.custom-poster-lightbox::backdrop{background:#07100dd9}
.poster-lightbox-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.poster-lightbox-toolbar p{margin:0;font-size:.9rem;color:#fff}
.poster-lightbox-stage{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:12px}
.poster-lightbox-stage img{display:block;width:100%;height:auto;max-height:calc(100dvh - 140px);object-fit:contain}
body .custom-poster-lightbox button{width:44px;height:44px;padding:0;border:1px solid #607069;border-radius:50%;background:#283a32;color:#fff;font-size:28px;line-height:1}
body .custom-poster-lightbox button:hover{background:#3f564c}
body .custom-poster-lightbox button:disabled{opacity:.3;cursor:default}
.custom-poster-lightbox button:focus-visible{outline:3px solid #a4d3c1;outline-offset:3px}
@media(max-width:600px){.custom-poster-lightbox{width:calc(100vw - 16px);padding:10px}.poster-lightbox-stage{grid-template-columns:1fr 1fr;gap:14px}.poster-lightbox-stage img{grid-column:1/-1;grid-row:1;max-height:calc(100dvh - 200px)}.poster-lightbox-previous{justify-self:end}.poster-lightbox-next{justify-self:start}}
