.campaign-poster{width:100%;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:inherit;cursor:zoom-in}
.poster-viewer{width:calc(100vw - 32px);max-width:1100px;height:calc(100dvh - 32px);max-height:1200px;margin:auto;padding:0;border:1px solid #cda96688;border-radius:12px;background:var(--deep,#170f12);color:var(--ink,#fff7e8);overflow:hidden;box-shadow:0 24px 80px #0009}
.poster-viewer[open]{display:flex;flex-direction:column}
.poster-viewer::backdrop{background:rgba(8,5,7,.88)}
.poster-viewer-toolbar{display:flex;align-items:center;gap:12px;flex-shrink:0;padding:12px 18px;border-bottom:1px solid #cda96644;background:var(--deep,#170f12)}
.poster-viewer-toolbar h2{font-size:1rem;line-height:1.5;margin:0 auto 0 0;color:var(--gold-light,#f3d393)}
.poster-viewer-toolbar button{min-height:44px;padding:8px 15px;border:1px solid #cda96677;border-radius:6px;background:transparent;font:inherit;font-size:.88rem;color:inherit;cursor:pointer;white-space:nowrap}
.poster-viewer-toolbar .poster-viewer-close{background:var(--gold-light,#f3d393);color:var(--deep,#170f12);font-weight:700;border-color:transparent}
.poster-viewer-toolbar button:focus-visible{outline:2px solid var(--gold-light,#f3d393);outline-offset:3px}
.poster-viewer-body{min-height:0;flex:1;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}
.poster-viewer-body img{display:block;width:100%;max-width:none;height:auto;cursor:zoom-in}
.poster-viewer-body.is-zoomed img{width:175%;min-width:900px;cursor:zoom-out}
@media(max-width:600px){
  .poster-viewer{width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:9px}
  .poster-viewer-toolbar{padding:8px 10px;gap:8px}
  .poster-viewer-toolbar h2{font-size:.88rem}
  .poster-viewer-toolbar button{padding:8px 11px;font-size:.8rem}
}
