/* MÉTODO doliveira.net · módulo 19 · galeria (carrossel + tela cheia). Igual em todo cliente.
   Cores e raio vêm dos tokens do site (--cor-*, --raio); o fallback é o que vale sem eles. */
html:has(.galeria){scrollbar-gutter:stable}
html.galeria-trava{overflow:hidden}
.galeria{container-type:inline-size;margin:0}
.galeria__faixa{--n:1;--gap:16px;position:relative;display:flex;gap:var(--gap);margin:0;padding:0;list-style:none;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none}
.galeria__faixa::-webkit-scrollbar{display:none}
.galeria__slide{flex:0 0 calc((100% - (var(--n) - 1) * var(--gap)) / var(--n));min-width:0;scroll-snap-align:start}
@container (min-width:600px){.galeria__faixa{--n:2}}
@container (min-width:960px){.galeria__faixa{--n:3}}
.galeria__slide figure{margin:0}
.galeria__abrir{display:block;width:100%;aspect-ratio:4/5;margin:0;padding:0;border:0;overflow:hidden;border-radius:var(--raio,10px);background:var(--cor-superficie,#1a1d21);cursor:zoom-in}
.galeria__abrir img{display:block;width:100%;height:100%;object-fit:cover}
.galeria__slide figcaption{margin-top:10px;font-size:.85rem;line-height:1.4;color:var(--cor-linha,#c8ccd1)}
.galeria__barra{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;margin-top:12px}
.galeria__pos{margin:0;font-size:.9rem;color:var(--cor-linha,#c8ccd1);font-variant-numeric:tabular-nums}
.galeria__setas{display:flex;gap:8px}
.galeria__seta,.galeria-lb button{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:0;padding:0;border:1px solid var(--cor-cinza,#727981);border-radius:50%;background:transparent;color:var(--cor-tinta,#fff);cursor:pointer}
.galeria__seta:hover,.galeria-lb button:hover{border-color:var(--cor-acento,#ff2d8f);color:var(--cor-acento,#ff2d8f)}
.galeria__seta:disabled{opacity:.35;cursor:default;border-color:var(--cor-cinza,#727981);color:var(--cor-tinta,#fff)}
.galeria svg,.galeria-lb svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.galeria__abrir:focus-visible,.galeria__seta:focus-visible,.galeria-lb button:focus-visible{outline:3px solid var(--cor-acento,#ff2d8f);outline-offset:3px}
@media (hover:none) and (pointer:coarse){.galeria__setas{display:none}}

.galeria-lb{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;overflow:hidden;background:rgba(0,0,0,.95);color:var(--cor-tinta,#fff)}
.galeria-lb:not([open]){display:none}
.galeria-lb__palco{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:72px 16px 20px;touch-action:pan-y pinch-zoom}
.galeria-lb__img{display:block;min-height:0;max-width:100%;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);width:auto;height:auto;object-fit:contain;border-radius:6px}
.galeria-lb__legenda{max-width:60ch;min-height:2.8em;margin:0;font-size:.95rem;line-height:1.4;text-align:center}
.galeria-lb__cont{position:absolute;top:0;left:16px;display:flex;align-items:center;height:72px;margin:0;font-size:.9rem;font-variant-numeric:tabular-nums}
.galeria-lb .galeria-lb__fechar{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.6)}
.galeria-lb .galeria-lb__ant,.galeria-lb .galeria-lb__prox{position:absolute;top:50%;margin-top:-22px;background:rgba(0,0,0,.6)}
.galeria-lb .galeria-lb__ant{left:8px}
.galeria-lb .galeria-lb__prox{right:8px}
@media (min-width:900px){.galeria-lb .galeria-lb__ant{left:24px}.galeria-lb .galeria-lb__prox{right:24px}}
@media (prefers-reduced-motion:no-preference){.galeria-lb[open]{animation:galeria-entra .18s ease-out}@keyframes galeria-entra{from{opacity:0}}}
