/* Woudklank Reunie 2026 – album v1.4. Everything scoped to the shortcode. */
.wkrg-gallery {width:100%;max-width:100%;margin:1.3rem 0 2rem;color:#242323;box-sizing:border-box;font-family:inherit;}
.wkrg-gallery * {box-sizing:border-box;}
.wkrg-intro {position:relative;overflow:hidden;padding:clamp(22px,4vw,42px);margin:0 0 22px;border:1px solid #ebdfcb;border-radius:18px;background:linear-gradient(120deg,#fff9ed 0%,#fffdf8 55%,#f8ead5 100%);}
.wkrg-intro:after {content:"";position:absolute;right:-52px;top:-62px;border:1px solid rgba(184,138,29,.17);width:240px;height:240px;border-radius:50%;pointer-events:none;}
.wkrg-kicker {position:relative;z-index:1;display:inline-block;color:#8e6813;font-size:12px;font-weight:750;letter-spacing:.07em;text-transform:uppercase;}
.wkrg-intro-line {position:relative;z-index:1;display:flex;gap:20px;align-items:flex-end;justify-content:space-between;}
.wkrg-album-title {margin:12px 0 10px!important;font-size:clamp(25px,3.2vw,39px)!important;line-height:1.16!important;font-weight:800!important;color:#1d1c1b!important;text-align:left!important;}
.wkrg-lead {font-size:clamp(15px,1.55vw,18px)!important;line-height:1.6!important;margin:0!important;max-width:680px;color:#4b453b;}
.wkrg-photo-total {white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;border-radius:999px;background:#fff;border:1px solid #ead7ad;font-weight:750;color:#76540c;font-size:15px;box-shadow:0 2px 10px rgba(80,65,39,.04);}
.wkrg-instruction {position:relative;z-index:1;border-top:1px solid #e8d7ba;padding:13px 0 0!important;margin:21px 0 0!important;font-size:13px!important;color:#796c5a!important;}
/* Natural-height masonry in row-by-row photo order, without cropping. */
.wkrg-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;align-items:start;}
.wkrg-grid.wkrg-is-masonry {grid-auto-rows:6px;}
.wkrg-tile {position:relative;display:block!important;width:100%!important;margin:0!important;padding:0!important;align-self:start;overflow:hidden;border:0!important;border-radius:12px!important;line-height:0!important;background:#e8e3dd!important;color:#fff;cursor:zoom-in;box-shadow:0 2px 9px rgba(25,23,19,.07);transform:translateZ(0);transition:box-shadow .2s ease,transform .2s ease;}
.wkrg-tile:hover {transform:translateY(-3px);box-shadow:0 12px 30px rgba(25,23,19,.2);}
.wkrg-tile:focus-visible {outline:3px solid #b88a1d!important;outline-offset:3px;}
.wkrg-tile img {display:block!important;width:100%!important;height:auto!important;max-width:100%!important;margin:0!important;padding:0!important;object-fit:contain!important;border-radius:0!important;filter:none!important;}
.wkrg-tile-caption {position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:space-between;padding:22px 13px 11px;background:linear-gradient(transparent,rgba(0,0,0,.68));font-size:12px;font-weight:700;line-height:1.3;letter-spacing:.02em;color:#fff;opacity:0;transition:opacity .15s ease;pointer-events:none;}
.wkrg-tile-caption span {font-size:19px;}
.wkrg-tile:hover .wkrg-tile-caption,.wkrg-tile:focus-visible .wkrg-tile-caption {opacity:1;}
@media (max-width:780px) {.wkrg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}.wkrg-intro-line{align-items:flex-start;flex-direction:column;gap:14px;}}
@media (max-width:420px) {.wkrg-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;}.wkrg-tile{border-radius:8px!important;}.wkrg-intro{padding:21px 18px;}.wkrg-photo-total{padding:7px 12px;font-size:13px;}.wkrg-tile-caption{display:none;}}
/* Immersive full-viewport lightbox. CSS fullscreen works even on iOS Safari,
 * where the browser Fullscreen API can be unavailable for arbitrary elements. */
.wkrg-gallery .wkrg-dialog {position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100vh!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;overflow:hidden!important;background:#07090c!important;color:#fff!important;box-sizing:border-box!important;}
.wkrg-gallery .wkrg-dialog::backdrop {background:rgba(0,0,0,.94);}
.wkrg-gallery .wkrg-dialog[open] {display:block!important;}
.wkrg-gallery .wkrg-dialog .wkrg-lightbox {position:relative;width:100%!important;height:100%!important;overflow:hidden;display:flex;align-items:stretch;flex-direction:column;}
.wkrg-gallery .wkrg-toolbar {position:absolute;z-index:4;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:68px;padding:calc(10px + env(safe-area-inset-top,0px)) calc(14px + env(safe-area-inset-right,0px)) 14px calc(14px + env(safe-area-inset-left,0px));background:linear-gradient(to bottom,rgba(0,0,0,.78),rgba(0,0,0,0));}
.wkrg-gallery .wkrg-counter {font:700 15px/1.2 system-ui,sans-serif;color:white;letter-spacing:.035em;}
.wkrg-gallery .wkrg-tools {display:flex;gap:8px;align-items:center;}
.wkrg-gallery .wkrg-close,.wkrg-gallery .wkrg-fullscreen,.wkrg-gallery .wkrg-nav {appearance:none;-webkit-appearance:none;margin:0!important;padding:0!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;background:rgba(0,0,0,.46)!important;color:white!important;cursor:pointer;box-shadow:none!important;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);}
.wkrg-gallery .wkrg-close,.wkrg-gallery .wkrg-fullscreen {width:43px;height:43px;flex:0 0 43px;}
.wkrg-gallery .wkrg-close {font:300 30px/1 system-ui,sans-serif!important;}
.wkrg-gallery .wkrg-fullscreen[hidden] {display:none!important;}
.wkrg-gallery .wkrg-fullscreen svg {display:block;width:21px;height:21px;}
.wkrg-gallery .wkrg-close:hover,.wkrg-gallery .wkrg-fullscreen:hover,.wkrg-gallery .wkrg-nav:hover {background:rgba(70,70,70,.85)!important;}
.wkrg-gallery .wkrg-dialog button:focus-visible {outline:3px solid #f0bd51!important;outline-offset:3px!important;}
.wkrg-gallery .wkrg-viewer {position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;flex:1;overflow:hidden;touch-action:pan-y pinch-zoom;overscroll-behavior:contain;}
.wkrg-gallery .wkrg-large {display:block!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;margin:0!important;padding:0!important;border-radius:0!important;border:0!important;box-shadow:none!important;background:transparent!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;}
.wkrg-gallery .wkrg-large.wkrg-image-loading {opacity:.38;}
.wkrg-gallery .wkrg-nav {position:absolute;z-index:3;top:50%;transform:translateY(-50%);width:45px;height:55px;border-radius:14px!important;font:700 27px/1 system-ui,sans-serif!important;}
.wkrg-gallery .wkrg-prev {left:clamp(8px,2vw,30px);} .wkrg-gallery .wkrg-next {right:clamp(8px,2vw,30px);}
.wkrg-gallery .wkrg-load-error {position:absolute;z-index:2;inset:auto 12px 24px;text-align:center;color:#fff;font-size:14px;}
.wkrg-gallery .wkrg-load-error[hidden] {display:none!important;}
.wkrg-gallery .wkrg-footer {position:absolute;z-index:3;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:24px max(20px,env(safe-area-inset-right,0px)) calc(14px + env(safe-area-inset-bottom,0px)) max(20px,env(safe-area-inset-left,0px));font:12px/1.5 system-ui,sans-serif;color:rgba(255,255,255,.68);background:linear-gradient(transparent,rgba(0,0,0,.66));pointer-events:none;}
@media(max-width:650px) {
 .wkrg-gallery .wkrg-toolbar {min-height:56px;padding:calc(7px + env(safe-area-inset-top,0px)) calc(9px + env(safe-area-inset-right,0px)) 10px calc(12px + env(safe-area-inset-left,0px));}
 .wkrg-gallery .wkrg-close,.wkrg-gallery .wkrg-fullscreen {width:38px;height:38px;flex-basis:38px;}
 .wkrg-gallery .wkrg-nav {width:33px;height:49px;font-size:21px!important;border-radius:12px!important;opacity:.8;}
 .wkrg-gallery .wkrg-prev {left:5px;}.wkrg-gallery .wkrg-next {right:5px;}
 .wkrg-gallery .wkrg-footer {display:none;}
}
@media (prefers-reduced-motion:reduce) {.wkrg-gallery .wkrg-tile,.wkrg-gallery .wkrg-tile-caption {transition:none;}}
