/* Album viewer (public gallery) */
.bg-dlg{border:0;padding:0;max-width:none;width:100%;height:100%;max-height:none;background:var(--ivory);color:var(--charcoal)}
.bg-dlg::backdrop{background:rgba(30,26,20,.55)}
.bg-dlg .bg-in{max-width:72rem;margin:0 auto;padding:1.25rem 1.25rem 4rem}
.bg-top{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0;background:var(--ivory);border-bottom:1px solid var(--border)}
.bg-top h2{font-family:Playfair Display,Georgia,serif;color:var(--sage-deep);font-size:clamp(1.5rem,3vw,2.25rem);margin:0}
.bg-x{border:1px solid var(--border);background:transparent;border-radius:999px;width:2.75rem;height:2.75rem;font-size:1.4rem;line-height:1;cursor:pointer;color:var(--charcoal)}
.bg-x:hover,.bg-x:focus-visible{border-color:var(--gold);color:var(--gold)}
.bg-desc{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;color:var(--taupe);font-size:1.15rem;margin:1rem 0 1.5rem}
.bg-grid{columns:2 12rem;column-gap:1rem}
@media(min-width:768px){.bg-grid{columns:3 14rem;column-gap:1.25rem}}
.bg-grid figure{break-inside:avoid;margin:0 0 1rem}
.bg-grid button{display:block;width:100%;padding:0;border:0;background:none;cursor:zoom-in}
.bg-grid img{width:100%;height:auto;display:block;border-radius:2px}
.bg-grid figcaption,.bg-lb figcaption{font-family:Cormorant Garamond,Georgia,serif;font-style:italic;color:var(--taupe);margin-top:.4rem}
.bg-lb{position:fixed;inset:0;z-index:5;background:rgba(30,26,20,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1rem}
.bg-lb[hidden]{display:none}
.bg-lb img{max-width:100%;max-height:80vh;object-fit:contain}
.bg-lb figcaption{color:var(--champagne);text-align:center}
.bg-lb .bg-x{position:absolute;top:1rem;right:1rem;color:var(--ivory);border-color:rgba(255,255,255,.4)}
.bg-nav{position:absolute;top:50%;transform:translateY(-50%);color:var(--ivory);border-color:rgba(255,255,255,.4)}
.bg-prev{left:.75rem}.bg-next{right:.75rem}
@media (prefers-reduced-motion:no-preference){.bg-dlg[open]{animation:bgIn .45s ease-out}@keyframes bgIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}}
.bg-lb .bg-nav{top:50%;transform:translateY(-50%);right:auto}.bg-lb .bg-prev{left:.75rem}.bg-lb .bg-next{left:auto;right:.75rem}
.bg-lb .bg-nav,.bg-lb .bg-lbx{background:rgba(30,26,20,.5)}
