/* Gallery-only extension of AU's existing design system. */
.au-gallery-page .au-breadcrumb{font-size:calc(var(--au-font-small) + 2px)}
.au-gallery-intro{display:flex;align-items:baseline;justify-content:space-between;gap:18px;color:var(--au-muted);padding-bottom:32px}
.au-gallery-hint{font-size:var(--au-font-support)}
.au-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;padding-bottom:64px}
.au-gallery-item{position:relative;display:block;aspect-ratio:4/5;border-radius:var(--au-radius);background:var(--au-pale);overflow:hidden}
.au-gallery-page .au-gallery-image{width:100%;height:100%;object-fit:cover;transition:transform .2s}
.au-gallery-zoom{position:absolute;right:14px;bottom:14px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;color:var(--au-navy);box-shadow:0 2px 12px #091a4d15}
.au-gallery-item:hover .au-gallery-image{transform:scale(1.025)}
.au-gallery-empty{padding-bottom:64px}
.au-gallery-page .au-gallery-dialog{width:min(1100px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:20px 28px;margin:auto;border:0;border-radius:20px;background:#fff;color:var(--au-navy);box-shadow:0 20px 80px #0004;overscroll-behavior:contain}
.au-gallery-dialog::backdrop{background:#07122edb}
.au-gallery-toolbar,.au-gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.au-gallery-page .au-gallery-dialog button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:8px 12px;border:0;border-radius:8px;background:var(--au-pale);color:var(--au-navy);font-size:16px;font-weight:700;box-shadow:none}
.au-gallery-dialog button:hover{background:#dceff5}.au-gallery-close span{font-size:26px;line-height:1}
.au-gallery-counter{font-size:16px;color:var(--au-muted)}
.au-gallery-page .au-gallery-view{margin-block:16px}
.au-gallery-page .au-gallery-view img{width:100%;height:min(65dvh,700px);object-fit:contain;border-radius:8px;background:var(--au-pale)}
.au-gallery-view figcaption{margin-top:12px;font-size:16px;line-height:1.5;color:var(--au-muted);min-height:24px}
.au-gallery-prev .au-icon{transform:rotate(180deg)}
html:has(.au-gallery-dialog[open]){overflow:hidden}
@media(max-width:1000px){.au-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.au-gallery-intro{align-items:flex-start;flex-direction:column;gap:8px}}
@media(max-width:540px){.au-gallery-grid{grid-template-columns:1fr;gap:20px;padding-bottom:40px}.au-gallery-item{aspect-ratio:4/3}.au-gallery-intro{padding-bottom:26px}.au-gallery-page .au-gallery-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:16px;border-radius:14px}.au-gallery-page .au-gallery-view img{height:52dvh}.au-gallery-page .au-gallery-dialog button{padding-inline:10px;font-size:14px}.au-gallery-controls{gap:10px}}
@media(prefers-reduced-motion:reduce){.au-gallery-page .au-gallery-image{transition:none}.au-gallery-item:hover .au-gallery-image{transform:none}}
