/* Original implementation. Scoped presentation inspired by the existing Social MED album. */
.dtxpa-gallery,.dtxpa-albums{box-sizing:border-box;width:100%;--pa-gap:40px;--pa-columns:3;--pa-accent:#e91c63}
.dtxpa-grid,.dtxpa-album-grid{display:grid;grid-template-columns:repeat(var(--pa-columns),minmax(0,1fr));gap:var(--pa-gap)}
.dtxpa-gallery .dtxpa-photo{margin:0;min-width:0;align-self:start}
.dtxpa-image{display:block;position:relative;overflow:hidden;background:#f0f0f0;line-height:0}
.dtxpa-image img{display:block;width:100%;height:auto;transition:transform .35s ease;max-width:100%}
.dtxpa-gallery[data-pa-layout=grid] .dtxpa-image{aspect-ratio:16/9}
.dtxpa-gallery[data-pa-layout=grid] img{height:100%;object-fit:cover}
.dtxpa-rollover{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,35,129,.22);color:white;opacity:0;transition:opacity .25s ease;pointer-events:none}
.dtxpa-rollover svg{width:42px;height:42px;fill:none;stroke:currentColor;stroke-width:1.6}
.dtxpa-image:hover img,.dtxpa-image:focus-visible img{transform:scale(1.04)}
.dtxpa-image:hover .dtxpa-rollover,.dtxpa-image:focus-visible .dtxpa-rollover{opacity:1}
.dtxpa-image:focus-visible,.dtxpa-albums a:focus-visible{outline:3px solid var(--pa-accent);outline-offset:4px}
.dtxpa-photo figcaption{padding:12px 0 0;font-size:14px;line-height:1.6}
.dtxpa-gallery.pa-masonry .dtxpa-grid{grid-auto-rows:1px;row-gap:0}
.dtxpa-gallery.pa-masonry .dtxpa-photo{margin-bottom:var(--pa-gap)}
.dtxpa-album-cover{display:block;position:relative;overflow:hidden;aspect-ratio:16/9;background:#f0f0f0}
.dtxpa-album-cover img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.dtxpa-album-cover:hover img{transform:scale(1.04)}
.dtxpa-album-count{position:absolute;right:12px;bottom:12px;background:#002381;color:white;padding:6px 10px;font:500 12px/1.5 Arial,sans-serif}
.dtxpa-album h2{font-size:22px;line-height:1.4;margin:20px 0 10px}
.dtxpa-album h2 a{color:inherit;text-decoration:none}
.dtxpa-album p{line-height:1.7}
.dtxpa-albums [hidden]{display:none!important}
.dtxpa-filters{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:30px}
.dtxpa-filters button{border:1px solid #ddd;background:white;color:#222;padding:10px 16px;font:600 14px/1.5 Arial,sans-serif;cursor:pointer;border-radius:0}
.dtxpa-filters button[aria-pressed=true]{background:#002381;border-color:#002381;color:white}
.dtxpa-page{padding:60px 0 80px;background:#fff}
.dtxpa-page-inner{width:calc(100% - 64px);max-width:1320px;margin:auto}
.dtxpa-page-heading{padding:0 0 30px;margin:0 0 60px;border-bottom:3px solid #e91c63}
.dtxpa-page-heading h1{font:700 clamp(28px,3vw,42px)/1.3 var(--dtx-font-display,Georgia,serif);margin:14px 0 0;overflow-wrap:anywhere}
.dtxpa-eyebrow{text-transform:uppercase;font-size:12px;letter-spacing:.12em;color:#e91c63;font-weight:700}
.dtxpa-description{line-height:1.8;margin-top:48px}
dialog.dtxpa-lightbox{position:fixed;inset:0;width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;background:rgba(0,0,0,.96);color:white;overflow:hidden;box-sizing:border-box}
dialog.dtxpa-lightbox::backdrop{background:#000}
.dtxpa-lightbox:not([open]){display:none}
.dtxpa-lightbox[open]{display:grid;grid-template-rows:56px minmax(0,1fr) auto}
.dtxpa-toolbar{display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#111}
.dtxpa-toolbar-controls{display:flex;align-items:center;gap:4px}
.dtxpa-lightbox button{display:grid;place-items:center;width:48px;height:48px;min-width:48px;border:0;border-radius:0;background:transparent;color:#fff;font:400 28px/1 Arial,sans-serif;cursor:pointer;padding:10px}
.dtxpa-lightbox button:hover,.dtxpa-lightbox button:focus-visible{background:#333;outline:2px solid white;outline-offset:-3px}
.dtxpa-lightbox button[aria-pressed=true]{background:#333}
.dtxpa-lightbox button svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.dtxpa-stage{min-height:0;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;touch-action:pan-y pinch-zoom}
.dtxpa-stage img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}
.dtxpa-lightbox.pa-zoomed .dtxpa-stage{display:block;overflow:auto}
.dtxpa-lightbox.pa-zoomed .dtxpa-stage img{max-width:none;max-height:none;margin:auto}
.dtxpa-lightbox .dtxpa-prev,.dtxpa-lightbox .dtxpa-next{position:absolute;top:50%;transform:translateY(-50%);background:#0006;z-index:2}
.dtxpa-lightbox .dtxpa-prev{left:12px}.dtxpa-lightbox .dtxpa-next{right:12px}
.dtxpa-caption{text-align:center;background:#111;padding:14px 64px 20px;max-height:25dvh;overflow:auto;font:400 14px/1.6 var(--dtx-font-body,Arial,sans-serif)}
.dtxpa-caption strong{display:block;font:700 17px/1.5 var(--dtx-font-display,Georgia,serif);margin-bottom:4px}
.dtxpa-counter{font:500 14px/1.5 Arial,sans-serif;padding-left:8px}
html.dtxpa-modal-open{overflow:hidden}
@media(max-width:980px){.dtxpa-grid,.dtxpa-album-grid{grid-template-columns:repeat(min(2,var(--pa-columns)),minmax(0,1fr))}.dtxpa-page-inner{width:calc(100% - 40px)}.dtxpa-page{padding:40px 0 48px}.dtxpa-page-heading{margin-bottom:36px}.dtxpa-gallery,.dtxpa-albums{--pa-gap:24px!important}}
@media(max-width:600px){.dtxpa-grid,.dtxpa-album-grid{grid-template-columns:1fr}.dtxpa-caption{padding:12px 20px 20px;font-size:13px}.dtxpa-caption strong{font-size:15px}.dtxpa-lightbox .dtxpa-prev{left:4px}.dtxpa-lightbox .dtxpa-next{right:4px}}
@media(prefers-reduced-motion:reduce){.dtxpa-image img,.dtxpa-rollover,.dtxpa-album-cover img{transition:none}}
body .dtxpa-page .dtxpa-page-heading h1{font-size:clamp(28px,2.6vw,40px);line-height:1.3}
body .dtxpa-gallery .dtxpa-image:focus-visible{outline:3px solid #e91c63;outline-offset:4px}
.dtxpa-lightbox button[hidden]{display:none!important}
body .dtxpa-albums .dtxpa-album h2{font-size:22px;line-height:1.4;margin:20px 0 10px}
