
/* =========================================================
   FOTOS ABERTAS — FUNDO PRETO, SEM ESCRITA E COM EFEITOS
   ========================================================= */

/* Remove textos/captions/legendas ao abrir foto */
.lightbox-caption,
.lightbox-title,
.lightbox-description,
.image-caption,
.image-title,
.image-description,
.photo-caption,
.photo-title,
.photo-description,
.gallery-caption,
.gallery-title,
.gallery-description,
.viewer-caption,
.viewer-title,
.viewer-description,
.modal-caption,
.modal-title,
.modal-description,
.lg-sub-html,
.pswp__caption,
[data-caption],
[data-title],
[class*="caption"],
[class*="Caption"]{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* Remove escrita tipo "clique para ampliar" em cima da galeria */
.gallery-item::before,
.gallery-item::after,
.photo-item::before,
.photo-item::after,
.image-card::before,
.image-card::after,
.gallery-card::before,
.gallery-card::after,
.foto-card::before,
.foto-card::after{
  content:none!important;
  display:none!important;
}

/* Fundo preto puro no modal/lightbox */
.lightbox,
.image-modal,
.photo-modal,
.gallery-modal,
.viewer-modal,
.modal-foto,
.modalFoto,
.photo-viewer,
.image-viewer,
.foto-viewer,
.zoom-modal,
#lightbox,
#imageModal,
#photoModal,
#galleryModal,
#viewerModal,
#modalFoto,
#modal-foto{
  background:#000!important;
  background-color:#000!important;
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

/* Fundos internos também pretos */
.lightbox *,
.image-modal *,
.photo-modal *,
.gallery-modal *,
.viewer-modal *,
.modal-foto *,
.photo-viewer *,
.image-viewer *,
.zoom-modal *{
  box-shadow:none!important;
}

/* Imagem aberta com efeito premium */
.lightbox img,
.image-modal img,
.photo-modal img,
.gallery-modal img,
.viewer-modal img,
.modal-foto img,
.photo-viewer img,
.image-viewer img,
.zoom-modal img,
#lightbox img,
#imageModal img,
#photoModal img,
#galleryModal img,
#viewerModal img,
#modalFoto img{
  max-width:min(94vw,1180px)!important;
  max-height:88vh!important;
  object-fit:contain!important;
  border-radius:18px!important;
  background:#000!important;
  box-shadow:0 30px 120px rgba(0,0,0,.95)!important;
  animation:msPhotoZoom .34s ease both!important;
}

/* Efeito de entrada do fundo */
.lightbox.open,
.image-modal.open,
.photo-modal.open,
.gallery-modal.open,
.viewer-modal.open,
.modal-foto.open,
.photo-viewer.open,
.image-viewer.open,
.zoom-modal.open{
  animation:msPhotoFade .28s ease both!important;
}

/* Botão fechar elegante */
.lightbox-close,
.modal-close,
.close,
.close-modal,
.viewer-close,
.photo-close,
.image-close,
button[aria-label="Fechar"],
button[aria-label="Close"]{
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  width:46px!important;
  height:46px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  backdrop-filter:blur(12px)!important;
  -webkit-backdrop-filter:blur(12px)!important;
  transition:transform .22s ease, background .22s ease, border-color .22s ease!important;
}

.lightbox-close:hover,
.modal-close:hover,
.close:hover,
.close-modal:hover,
.viewer-close:hover,
.photo-close:hover,
.image-close:hover,
button[aria-label="Fechar"]:hover,
button[aria-label="Close"]:hover{
  transform:scale(1.06)!important;
  background:rgba(255,255,255,.14)!important;
  border-color:rgba(255,255,255,.32)!important;
}

/* Efeito bonito nas miniaturas */
.gallery-item img,
.photo-item img,
.image-card img,
.gallery-card img,
.foto-card img,
.ref-gallery img,
.ref-gallery-grid img,
[class*="gallery"] img,
[class*="foto"] img{
  transition:transform .35s ease, filter .35s ease, opacity .35s ease!important;
  will-change:transform!important;
}

.gallery-item:hover img,
.photo-item:hover img,
.image-card:hover img,
.gallery-card:hover img,
.foto-card:hover img,
.ref-gallery img:hover,
.ref-gallery-grid img:hover,
[class*="gallery"] img:hover,
[class*="foto"] img:hover{
  transform:scale(1.035)!important;
  filter:contrast(1.06) brightness(1.04)!important;
}

/* Brilho sutil ao passar em cards de foto */
.gallery-item,
.photo-item,
.image-card,
.gallery-card,
.foto-card{
  position:relative!important;
  overflow:hidden!important;
}

.gallery-item > *,
.photo-item > *,
.image-card > *,
.gallery-card > *,
.foto-card > *{
  position:relative!important;
  z-index:2!important;
}

.gallery-item::after,
.photo-item::after,
.image-card::after,
.gallery-card::after,
.foto-card::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:3!important;
  pointer-events:none!important;
  background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.16) 44%,transparent 70%)!important;
  transform:translateX(-120%)!important;
  opacity:0!important;
  transition:transform .65s ease, opacity .35s ease!important;
}

.gallery-item:hover::after,
.photo-item:hover::after,
.image-card:hover::after,
.gallery-card:hover::after,
.foto-card:hover::after{
  transform:translateX(120%)!important;
  opacity:1!important;
}

@keyframes msPhotoFade{
  from{opacity:0}
  to{opacity:1}
}

@keyframes msPhotoZoom{
  from{
    opacity:0;
    transform:scale(.94) translateY(10px);
  }
  to{
    opacity:1;
    transform:scale(1) translateY(0);
  }
}

@media(max-width:760px){
  .lightbox img,
  .image-modal img,
  .photo-modal img,
  .gallery-modal img,
  .viewer-modal img,
  .modal-foto img,
  .photo-viewer img,
  .image-viewer img,
  .zoom-modal img,
  #lightbox img,
  #imageModal img,
  #photoModal img,
  #galleryModal img,
  #viewerModal img,
  #modalFoto img{
    max-width:96vw!important;
    max-height:82vh!important;
    border-radius:14px!important;
  }

  .lightbox-close,
  .modal-close,
  .close,
  .close-modal,
  .viewer-close,
  .photo-close,
  .image-close{
    width:42px!important;
    height:42px!important;
  }
}
