/* Lightbox de fotos — Educare */
.photo-lightbox{
  position:fixed;
  inset:0;
  z-index:10000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(16px,4vw,32px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .35s ease,visibility .35s ease;
}
.photo-lightbox.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.photo-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(28,28,30,.92);
  backdrop-filter:blur(8px);
}
.photo-lightbox__box{
  position:relative;
  z-index:1;
  width:min(100%,1100px);
  max-height:min(92vh,900px);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:16px;
}
.photo-lightbox__figure{
  margin:0;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.photo-lightbox__img{
  display:block;
  max-width:100%;
  max-height:min(78vh,820px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:var(--r-lg,20px);
  box-shadow:0 24px 80px rgba(0,0,0,.45);
  background:#1a1a1a;
}
.photo-lightbox__caption{
  font-family:var(--fh,serif);
  font-size:clamp(14px,2vw,18px);
  font-weight:600;
  color:#fff;
  text-align:center;
  letter-spacing:.06em;
  text-transform:uppercase;
  max-width:90%;
}
.photo-lightbox__counter{
  font-size:13px;
  font-weight:500;
  color:rgba(255,255,255,.45);
  letter-spacing:.12em;
}
.photo-lightbox__close,
.photo-lightbox__prev,
.photo-lightbox__next{
  position:absolute;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  cursor:pointer;
  color:#fff;
  transition:transform .25s ease,background .25s ease,color .25s ease;
}
.photo-lightbox__close{
  top:-8px;
  right:-8px;
  width:44px;
  height:44px;
  border-radius:50%;
  background:rgba(255,255,255,.1);
  font-size:18px;
  z-index:2;
}
.photo-lightbox__close:hover{
  background:linear-gradient(135deg,var(--pri,#f0b100),var(--sec,#dd6a07));
  transform:scale(1.05);
}
.photo-lightbox__prev,
.photo-lightbox__next{
  top:50%;
  transform:translateY(-50%);
  width:48px;
  height:48px;
  border-radius:50%;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  font-size:16px;
}
.photo-lightbox__prev:hover,
.photo-lightbox__next:hover{
  background:rgba(240,177,0,.2);
  border-color:rgba(240,177,0,.35);
  color:var(--pri,#f0b100);
}
.photo-lightbox__prev{left:-56px}
.photo-lightbox__next{right:-56px}
.photo-lightbox__prev.is-hidden,
.photo-lightbox__next.is-hidden{
  opacity:0;
  pointer-events:none;
}
body.photo-lightbox-open{overflow:hidden}

@media(max-width:760px){
  .photo-lightbox{padding:12px}
  .photo-lightbox__prev{left:4px}
  .photo-lightbox__next{right:4px}
  .photo-lightbox__close{top:4px;right:4px}
  .photo-lightbox__prev,
  .photo-lightbox__next{
    width:40px;
    height:40px;
    background:rgba(28,28,30,.65);
    backdrop-filter:blur(6px);
  }
}
