/* Portico gallery defaults. Override --portico-* on the portal or gallery wrapper. */
.wportico-gallery{color:inherit;font:inherit;max-width:100%;overflow-wrap:anywhere}
.wportico-gallery *{box-sizing:border-box}
.wportico-gallery .wportico-album{padding:0;margin-block:1.25rem;border:1px solid var(--portico-border,#d5dae0);border-radius:var(--portico-radius,.75rem);overflow:hidden}
.wportico-gallery .wportico-album-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1rem;cursor:pointer;list-style:none;min-height:5rem}
.wportico-gallery .wportico-album-heading::-webkit-details-marker{display:none}
.wportico-gallery .wportico-album-heading strong{font-size:1.15em;font-weight:650}
.wportico-gallery .wportico-album-heading small{display:block;margin-top:.3rem;font-weight:400;font-size:.85em}
.wportico-gallery .wportico-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr));gap:1.25rem;padding:1.25rem;margin:0;border-top:1px solid var(--portico-border,#d5dae0)}
.wportico-gallery figure{margin:0;min-width:0}
.wportico-gallery .wportico-photo-grid a{display:block;border-radius:.5rem;overflow:hidden}
.wportico-gallery .wportico-photo-grid img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.wportico-gallery figcaption{padding:.65rem .1rem;font-size:.9em;line-height:1.5}
.wportico-gallery .wportico-gallery-empty{padding:0 1.25rem 1.25rem}
.wportico-gallery a:focus-visible,.wportico-gallery summary:focus-visible,.wportico-gallery button:focus-visible{outline:3px solid var(--portico-accent,#174b70);outline-offset:3px}
.wportico-gallery .wportico-photo-viewer{border:0;border-radius:.75rem;padding:1rem;background:#111820;color:#fff;width:min(1100px,94vw);max-width:94vw;max-height:94dvh;overflow:auto}
.wportico-photo-viewer::backdrop{background:rgba(0,0,0,.85)}
.wportico-gallery .wportico-photo-viewer>img{display:block;max-width:100%;width:auto;max-height:65dvh;height:auto;object-fit:contain;margin:1rem auto}
.wportico-gallery .wportico-photo-viewer p{margin:.75rem 0;text-align:center;color:inherit}
.wportico-gallery .wportico-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wportico-gallery .wportico-viewer-toolbar button,.wportico-gallery .wportico-viewer-toolbar a{font:inherit;font-size:1rem;color:#fff;background:transparent;border:1px solid #76818d;border-radius:.35rem;padding:.65rem 1rem;min-height:44px;text-decoration:none;cursor:pointer}
.wportico-gallery .wportico-viewer-toolbar [hidden]{display:none}
@media(max-width:480px){.wportico-gallery .wportico-album-cover{width:5rem;height:4rem}.wportico-gallery .wportico-photo-grid{gap:.75rem;padding:.75rem;grid-template-columns:repeat(2,minmax(0,1fr))}.wportico-gallery .wportico-viewer-toolbar{gap:.4rem}.wportico-gallery .wportico-viewer-toolbar button,.wportico-gallery .wportico-viewer-toolbar a{padding:.6rem;font-size:.85rem}}


.wportico-gallery .wportico-photo-viewer img.is-preview { filter: blur(3px); }
.wportico-gallery .wportico-photo-viewer [data-loading] { font-size: .875em; opacity: .8; }

/* Album strips mirror the resident wireframes, with native keyboard disclosure. */
.wportico-gallery .wportico-album-action{font-size:.9em;font-weight:600;color:var(--portico-accent,#174b70);text-decoration:underline;text-underline-offset:.2em}
.wportico-gallery .wportico-album-previews{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem}
.wportico-gallery .wportico-album-previews img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:.35rem}
.wportico-gallery .wportico-album-remaining{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;border:1px solid var(--portico-border,#d5dae0);border-radius:.35rem;font-size:1.5em;font-weight:600}
.wportico-gallery .wportico-album-hide,.wportico-gallery details[open] .wportico-album-view,.wportico-gallery details[open] .wportico-album-previews{display:none}
.wportico-gallery details[open] .wportico-album-hide{display:inline}
@media(max-width:480px){.wportico-gallery .wportico-album-heading{gap:.75rem;padding:.75rem}.wportico-gallery .wportico-album-previews{gap:.4rem}.wportico-gallery .wportico-album-action{font-size:.8em}}
