/* (v157) A foto ampliada (zoom-foto.js): fundo escuro, a foto inteira no meio, a anterior e a próxima nas laterais (no
   celular, embaixo, perto do dedo). Mesmo arquivo no almoxarifado, na imobiliária e na escola. */
.zoom-foto {
  position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center;
  padding: 72px 76px 64px; background: rgba(8, 10, 14, .9);
  -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  opacity: 0; transition: opacity .18s ease;
}
.zoom-foto[hidden] { display: none; }
.zoom-foto.visivel { opacity: 1; }
.zoom-foto__quadro { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 14px; max-width: min(100%, 1100px); }
.zoom-foto__quadro img {
  display: block; width: auto; height: auto; max-width: 100%;
  max-height: calc(100vh - 170px); max-height: calc(100dvh - 170px);
  border-radius: 18px; background: #1B1D22; box-shadow: 0 30px 80px rgba(0, 0, 0, .5);
  opacity: .35; transform: scale(.985); transition: opacity .2s ease, transform .25s cubic-bezier(.2, .8, .2, 1);
}
.zoom-foto__quadro img.zoom-foto__img--pronta { opacity: 1; transform: none; }
.zoom-foto__legenda {
  max-width: 60ch; color: #FFFFFF; text-align: center;
  font: 650 15px/1.4 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}
.zoom-foto__legenda[hidden] { display: none; }
.zoom-foto__botao {
  position: absolute; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; margin: 0;
  border-radius: 999px; border: 1px solid rgba(255, 255, 255, .35); background: rgba(255, 255, 255, .1);
  color: #FFFFFF; cursor: pointer; transition: background-color .15s ease;
}
.zoom-foto__botao:hover { background: rgba(255, 255, 255, .2); }
.zoom-foto__botao:focus-visible { outline: 3px solid #FFFFFF; outline-offset: 2px; }
.zoom-foto__botao[hidden] { display: none; }
.zoom-foto__fechar { top: max(14px, env(safe-area-inset-top)); right: 14px; }
.zoom-foto__ant { left: 16px; top: 50%; transform: translateY(-50%); }
.zoom-foto__prox { right: 16px; top: 50%; transform: translateY(-50%); }
.zoom-foto__conta {
  position: absolute; left: 50%; bottom: max(18px, env(safe-area-inset-bottom)); transform: translateX(-50%);
  padding: 5px 12px; border-radius: 999px; background: rgba(255, 255, 255, .12); color: rgba(255, 255, 255, .88);
  font: 650 13px/1.2 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; white-space: nowrap;
}
.zoom-foto__conta[hidden] { display: none; }
body.com-zoom-foto { overflow: hidden; }
@media (max-width: 640px) {
  .zoom-foto { padding: 70px 12px 84px; }
  .zoom-foto__quadro img { max-height: calc(100vh - 190px); max-height: calc(100dvh - 190px); border-radius: 14px; }
  .zoom-foto__ant, .zoom-foto__prox { top: auto; bottom: max(14px, env(safe-area-inset-bottom)); transform: none; }
  .zoom-foto__conta { bottom: max(28px, calc(env(safe-area-inset-bottom) + 14px)); }
}
@media (prefers-reduced-motion: reduce) {
  .zoom-foto, .zoom-foto__quadro img { transition: none; }
}
@media print { .zoom-foto { display: none !important; } }
