/* Albumes de fotos: lista de miniaturas (sin JS) y, con JS, paginas de 3x3 que se deslizan + visor a pantalla completa */
.album{margin:28px 0 0}
.album-g,.album-pg{list-style:none;margin:0;padding:1px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.album-f{margin:0;min-width:0}
.album-a{display:block;aspect-ratio:3/2;overflow:hidden;background:var(--surface2);border:1px solid var(--rule)}
.album-i{display:block;width:100%;height:100%;object-fit:cover}
.album-a:hover,.album-a:focus-visible{outline:3px solid var(--focus);outline-offset:1px}
.album-c{display:none}
.album-vp{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.album-vp::-webkit-scrollbar{display:none}
.album-pg{flex:0 0 100%;box-sizing:border-box;scroll-snap-align:start;align-content:start}
.album-nav{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 12px;margin:12px 0 0}
.album-nav .album-b{width:100%}
.album-b{min-width:44px;min-height:44px;padding:0 16px;border:2px solid var(--ink);border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.album-b:hover:not(:disabled),.album-b:focus-visible{background:var(--hi);color:var(--on-hi)}
.album-b:disabled{opacity:.4;cursor:default}
.album-st{grid-column:1/-1;order:-1;margin:0;font-size:.875rem;color:var(--muted);text-align:center}
.album-dlg{box-sizing:border-box;width:100vw;max-width:100vw;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;padding:0;border:0;background:transparent;color:#fff}
.album-dlg::backdrop{background:rgba(0,0,0,.9)}
.album-lb{box-sizing:border-box;display:grid;grid-template-rows:minmax(0,1fr) auto;height:100%;padding:12px;gap:10px}
.album-lb-i{display:flex;align-items:center;justify-content:center;min-height:0;min-width:0}
.album-lb-i img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.album-lb-b{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px}
.album-lb-p{flex:1 1 220px;margin:0;font-size:1rem;line-height:1.35;color:#fff}
.album-lb-n{margin:0;font-size:.875rem;color:#d3d8e2;white-space:nowrap}
.album-lb .album-b{background:#10131a;color:#fff;border-color:#fff}
.album-lb .album-b:hover,.album-lb .album-b:focus-visible{background:var(--hi);color:var(--on-hi)}
.album-lb :focus-visible{outline:3px solid #ffd60a;outline-offset:2px}
@media (max-width:420px){.album-g,.album-pg{gap:4px}.album-b{padding:0 12px}}
@media (prefers-reduced-motion:reduce){.album-vp{scroll-behavior:auto}}
