/* Photo archives only. Existing artists, checkout and ticket styles are not overridden. */
.wppa-section { padding: clamp(44px,7vw,96px) 0; color:#faf9ff; }
.wppa-section .wpp-container { max-width:1320px; }
.wppa-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; }
.wppa-heading>div { min-width:0; }
.wppa-eyebrow { display:block; color:#cebbf7; letter-spacing:.17em; font-size:11px; font-weight:800; line-height:1.7; }
.wppa-heading h1,.wppa-heading h2 { color:#faf9ff; font-family:inherit; font-weight:800; font-size:clamp(32px,5vw,64px); line-height:1.06; letter-spacing:-.035em; margin:14px 0 12px; overflow-wrap:break-word; }
.wppa-heading p { color:#bdb9c6; font-size:16px; line-height:1.55; margin:0; }
.wppa-back { display:inline-block; text-decoration:none; color:#ccc3dc; font-size:14px; margin-bottom:26px; }
.wppa-link-button { display:inline-flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px; flex:none; padding:14px 20px; border:1px solid rgba(194,148,255,.42); border-radius:13px; background:rgba(153,90,220,.10); color:#faf9ff; font-size:14px; font-weight:700; text-decoration:none; line-height:1.3; min-height:48px; }
.wppa-link-button small { font-size:11px; font-weight:400; color:#c4bdcc; }
.wppa-link-button:hover { background:rgba(153,90,220,.22); border-color:var(--wpp-primary,#ae72ef); }
.wppa-albums-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; }
.wppa-album-card { min-width:0; background:#121015; border:1px solid #2c2733; border-radius:22px; overflow:hidden; }
.wppa-album-link { display:block; text-decoration:none; }
.wppa-cover { position:relative; aspect-ratio:16/10; background:#0a090d; overflow:hidden; }
.wppa-cover img { display:block; height:100%; width:100%; object-fit:contain; }
.wppa-count { position:absolute; bottom:12px; right:12px; border:1px solid #51495f; background:rgba(12,10,17,.89); color:#fff; border-radius:20px; padding:7px 11px; font-size:12px; font-weight:700; }
.wppa-album-caption { padding:22px; }
.wppa-album-caption time { font-size:12px; color:#c0b7cf; }
.wppa-album-caption h3 { font-family:inherit; font-size:clamp(20px,2vw,27px); line-height:1.16; letter-spacing:-.02em; margin:12px 0 20px; color:#fff; overflow-wrap:break-word; }
.wppa-text-link { display:flex; align-items:center; justify-content:space-between; gap:8px; color:#d8c4fb; font-size:13px; font-weight:700; }
.wppa-album-card:focus-within,.wppa-album-card:hover { border-color:#8e6fb6; }
.wppa-album-meta { display:flex; flex-wrap:wrap; gap:10px 24px; }
.wppa-intro { max-width:780px; color:#d6d0df; line-height:1.7; margin:0 0 32px; }
.wppa-intro img { max-width:100%; }
.wppa-photos-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; align-items:start; }
.wppa-photo-card { min-width:0; margin:0; border:1px solid #2e2837; border-radius:18px; background:#131017; overflow:hidden; }
.wppa-photo-open { position:relative; display:flex; align-items:center; justify-content:center; aspect-ratio:4/5; background:#09070b; overflow:hidden; }
.wppa-photo-open img { display:block; width:100%; height:100%; object-fit:contain; transform:none; }
.wppa-photo-zoom { position:absolute; bottom:12px; right:12px; display:grid; place-items:center; width:36px; height:36px; background:rgba(17,12,24,.87); border:1px solid #6a5286; border-radius:50%; color:#fff; font-size:20px; }
.wppa-photo-card figcaption { padding:16px; display:flex; align-items:center; justify-content:space-between; gap:8px; }
.wppa-photo-number { font-size:11px; letter-spacing:.08em; color:#a89bb9; }
.wppa-download { display:flex; flex-wrap:wrap; align-items:center; gap:7px; color:#ece0ff; text-decoration:none; font-size:13px; font-weight:650; min-height:40px; padding:4px 0; }
.wppa-download small { display:block; width:100%; padding-left:27px; font-size:10px; color:#b8afc4; font-weight:400; }
.wppa-file-note { font-size:11px; color:#bdb4c8; }
.wppa-photo-caption { margin:0; padding:0 16px 16px; color:#bdb5c7; font-size:13px; line-height:1.5; }
.wppa-empty { border:1px solid #393141; border-radius:20px; padding:32px; color:#cfc6db; }
.wppa-pagination { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:36px; }
.wppa-pagination .page-numbers { display:inline-flex; align-items:center; justify-content:center; min-width:42px; min-height:44px; border:1px solid #44384f; border-radius:10px; padding:10px 14px; text-decoration:none; background:#15111c; font-size:14px; }
.wppa-pagination .current { background:#382448; color:#fff; }
.wppa-admin-preview { padding:14px 18px; background:#2a2036; border:1px solid #695182; border-radius:12px; }
.wppa-section a:focus-visible,.wppa-viewer a:focus-visible,.wppa-viewer button:focus-visible { outline:3px solid #d9b5ff; outline-offset:3px; }
.wppa-page .wpp-mobile-buy { display:none !important; }
.wppa-viewer { position:fixed; inset:0; padding:0; margin:auto; width:min(1280px,calc(100vw - 28px)); max-width:calc(100vw - 28px); height:calc(100vh - 28px); height:calc(100dvh - 28px); max-height:calc(100dvh - 28px); border:1px solid #655071; border-radius:18px; background:#08060c; color:#fff; box-shadow:0 24px 100px #000; overflow:hidden; }
.wppa-viewer:not([open]) { display:none; }
.wppa-viewer::backdrop { background:rgba(0,0,0,.94); }
.wppa-viewer-shell { display:flex; flex-direction:column; height:100%; min-height:0; }
.wppa-viewer-bar { display:flex; align-items:center; justify-content:space-between; padding:9px 12px 9px 20px; flex:0 0 auto; gap:12px; }
.wppa-viewer-counter { font-size:13px; color:#cfc5dc; }
.wppa-icon-button { appearance:none; display:inline-flex; justify-content:center; align-items:center; padding:0; width:46px; height:46px; min-width:46px; border:1px solid #605269; border-radius:50%; color:#fff; background:rgba(12,8,19,.85); cursor:pointer; }
.wppa-viewer-stage { position:relative; flex:1 1 auto; min-height:0; display:flex; justify-content:center; align-items:center; overflow:hidden; touch-action:pan-y pinch-zoom; }
.wppa-viewer-stage>img { display:block; width:100%; height:100%; min-height:0; object-fit:contain; }
.wppa-prev,.wppa-next { position:absolute; top:50%; transform:translateY(-50%); }
.wppa-prev { left:12px; }.wppa-next { right:12px; }
.wppa-viewer-footer { display:flex; align-items:center; justify-content:space-between; flex:0 0 auto; gap:16px; padding:14px 20px; background:#110d17; }
.wppa-viewer-footer p { margin:0; color:#c6bccf; font-size:13px; line-height:1.4; max-height:56px; overflow:auto; }
.wppa-viewer [hidden] { display:none !important; }
@media(max-width:980px) { .wppa-albums-grid,.wppa-photos-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:600px) {
    .wppa-section .wpp-container { width:calc(100% - 32px); }
    .wppa-heading { flex-direction:column; align-items:stretch; gap:20px; margin-bottom:26px; }
    .wppa-heading h1,.wppa-heading h2 { font-size:clamp(30px,9vw,44px); line-height:1.06; }
    .wppa-heading p { font-size:15px; }.wppa-eyebrow { font-size:10px; }
    .wppa-heading>.wppa-link-button { align-self:flex-start; }
    .wppa-albums-grid,.wppa-photos-grid { grid-template-columns:minmax(0,1fr); gap:20px; }
    .wppa-album-caption { padding:20px; }
    .wppa-photo-open { aspect-ratio:auto; min-height:120px; }
    .wppa-photo-open img { width:100%; height:auto; max-height:none; }
    .wppa-photo-card figcaption { padding:12px 16px; }
    .wppa-download { font-size:14px; }
    .wppa-viewer { width:100%; max-width:100%; height:100vh; height:100dvh; max-height:100dvh; border-radius:0; border:0; }
    .wppa-viewer-bar { padding-top:calc(8px + env(safe-area-inset-top,0px)); }
    .wppa-viewer-footer { flex-direction:column; align-items:stretch; gap:10px; padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px)); }
    .wppa-viewer-footer p:empty { display:none; }
    .wppa-viewer-footer .wppa-link-button { width:100%; }
    .wppa-prev { left:7px; }.wppa-next { right:7px; }
}
@media(prefers-reduced-motion:reduce) { .wppa-section *,.wppa-viewer * { scroll-behavior:auto; transition:none; } }

.wppa-intro,.wppa-album-meta,.wppa-photo-caption,.wppa-viewer-footer p { overflow-wrap:anywhere; }
