/* ===== INÍCIO: 12 Galeria (fotos em assets/galeria/, lista via api/galeria.php) =====
   Grade sempre par: 2 colunas no celular; no desktop o script escolhe 5, 4, 3 ou 2
   colunas para não sobrar foto sozinha. Legenda: 1 linha de título + 1 linha de local. */
.tabs{display:flex;gap:8px;margin-top:20px;overflow-x:auto;scrollbar-width:none;padding-bottom:4px}
.tabs::-webkit-scrollbar{display:none}
.tab{all:unset;box-sizing:border-box;cursor:pointer;flex:none;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--white);font-family:var(--head);font-weight:700;font-size:14px;color:var(--navy);display:inline-flex;align-items:center;transition:background .2s,color .2s}
.tab[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.tab:focus-visible{outline:3px solid var(--aqua);outline-offset:2px}
.gal{display:grid;grid-template-columns:repeat(var(--cols,2),minmax(0,1fr));gap:12px;margin-top:16px}
.shot{margin:0;display:flex;flex-direction:column;gap:8px;min-width:0;animation:rise .3s ease}
.shot.feat{grid-column:1/-1}
.shot button{all:unset;cursor:zoom-in;border-radius:14px;overflow:hidden;aspect-ratio:3/4;max-width:100%;display:block;position:relative;background:var(--line)}
.shot.feat button{aspect-ratio:4/3}
.shot button:focus-visible{outline:3px solid var(--aqua);outline-offset:3px}
.shot img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.shot .lbl{position:absolute;left:8px;top:8px;padding:4px 9px;border-radius:8px;background:rgba(7,29,69,.86);color:#fff;font-family:var(--head);font-weight:700;font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.shot figcaption{display:grid;gap:1px;min-width:0}
.shot figcaption b,.shot figcaption span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shot figcaption b{font-family:var(--head);color:var(--navy);font-size:14px;font-weight:700}
.shot figcaption span{font-size:13px;color:var(--muted)}
dialog.lb{border:0;padding:0;background:transparent;max-width:min(980px,94vw);width:100%;color:#fff}
dialog.lb::backdrop{background:rgba(4,19,47,.9)}
.lb-in{position:relative;background:var(--navy-2);border-radius:16px;overflow:hidden}
.lb-in img{width:100%;max-height:74vh;object-fit:contain;background:#000}
.lb-cap{padding:14px 64px 16px 16px;font-size:14px;color:rgba(255,255,255,.8);display:grid;gap:2px}
.lb-cap b{font-family:var(--head);color:#fff;font-size:16px}
.lb-x{all:unset;box-sizing:border-box;cursor:pointer;position:absolute;top:10px;right:10px;width:44px;height:44px;border-radius:12px;background:rgba(7,29,69,.85);border:1px solid rgba(255,255,255,.25);display:grid;place-items:center}
.lb-x svg{width:22px;height:22px;color:#fff}
/* ===== FIM: 12 Galeria ===== */
