/* STB · ampliação de fotos (lightbox) — compartilhado por todas as páginas com fotos.
   Ajustes rápidos: tempo da animação em stb-lightbox.js (DUR); texto do aviso em stb-lightbox.js (HINT). */

.zoom-item { min-width: 0; }
img.zoomable { cursor: zoom-in; }
img.zoomable:focus-visible { outline: 1px solid var(--gold, #b89b5e); outline-offset: 3px; }

/* aviso discreto sob cada foto */
.zoom-hint {
  display: block; margin-top: .55rem;
  font: 400 .64rem/1 var(--font-text, "Manrope", system-ui, sans-serif);
  letter-spacing: .16em; text-transform: uppercase;
  color: rgba(255,255,255,.36); transition: color .3s ease; user-select: none;
}
.zoom-item:hover .zoom-hint { color: var(--gold, #b89b5e); }

/* modal */
.lb {
  position: fixed; inset: 0; z-index: 10000; display: none;
  background: rgba(5,5,5,0); -webkit-backdrop-filter: blur(0); backdrop-filter: blur(0);
  transition: background .45s ease, backdrop-filter .45s ease, -webkit-backdrop-filter .45s ease;
}
.lb.is-open { display: block; }
.lb.is-on { background: rgba(5,5,5,.93); -webkit-backdrop-filter: blur(7px); backdrop-filter: blur(7px); }

.lb .lb__img {
  position: fixed; margin: 0; max-width: none !important; object-fit: cover; cursor: zoom-out;
  border-radius: var(--r-md, 4px); box-shadow: 0 30px 90px rgba(0,0,0,.65);
  transition: left .55s cubic-bezier(.2,.75,.2,1), top .55s cubic-bezier(.2,.75,.2,1),
              width .55s cubic-bezier(.2,.75,.2,1), height .55s cubic-bezier(.2,.75,.2,1);
}
.lb.no-anim .lb__img { transition: none; }

/* título fininho */
.lb__cap {
  position: fixed; left: 0; right: 0; margin: 0; padding: 0 1.5rem; text-align: center;
  font: 400 .78rem/1.4 var(--font-text, "Manrope", system-ui, sans-serif); letter-spacing: .05em;
  color: rgba(255,255,255,.58); opacity: 0; transform: translateY(-4px);
  transition: opacity .4s ease, transform .4s ease; pointer-events: none;
}
.lb__cap::before { content: ""; display: block; width: 28px; height: 1px; margin: 0 auto .7rem; background: var(--gold, #b89b5e); opacity: .7; }
.lb.is-on .lb__cap.is-shown { opacity: 1; transform: none; }

/* botão fechar */
.lb__close {
  position: fixed; top: max(18px, env(safe-area-inset-top, 0px)); right: 20px; width: 44px; height: 44px;
  display: grid; place-items: center; padding: 0; background: transparent; color: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.22); border-radius: 50%; cursor: pointer; opacity: 0;
  transition: opacity .4s ease, border-color .25s ease, color .25s ease;
}
.lb.is-on .lb__close { opacity: 1; }
.lb__close:hover, .lb__close:focus-visible { color: var(--gold, #b89b5e); border-color: var(--gold, #b89b5e); outline: none; }
.lb__close svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 1.2; fill: none; stroke-linecap: round; }

@media (prefers-reduced-motion: reduce) {
  .lb, .lb .lb__img, .lb__cap, .lb__close { transition: none !important; }
}
