/* ============================================================
 * Mina's Prom & Grad — Lightbox / Image Magnifier
 * ============================================================ */

#minas-lightbox {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 99999;
  align-items: center;
  justify-content: center;
}
#minas-lightbox.mlb-open { display: flex; }

.mlb-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10,9,8,.95);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}

.mlb-stage {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
}

.mlb-img {
  position: relative;
  max-width: 90vw;
  max-height: 88vh;
  width: auto;
  height: auto;
  object-fit: contain;
  cursor: zoom-in;
  transform-origin: center center;
  transition: opacity .25s ease;
  user-select: none;
  -webkit-user-drag: none;
  border: 1px solid rgba(201,169,110,.2);
  box-shadow: 0 40px 100px rgba(0,0,0,.8);
}
.mlb-img.mlb-loading { opacity: 0; }

.mlb-close {
  position: absolute;
  top: 20px; right: 20px;
  z-index: 2;
  width: 44px; height: 44px;
  background: rgba(23,21,20,.7);
  border: 1px solid rgba(201,169,110,.4);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #fff;
  transition: background .15s, border-color .15s;
  padding: 0;
}
.mlb-close:hover { background: #c9a96e; border-color: #c9a96e; }
.mlb-close svg { width: 20px; height: 20px; pointer-events: none; }

.mlb-nav {
  position: absolute;
  top: 50%; transform: translateY(-50%);
  z-index: 2;
  width: 52px; height: 52px;
  background: rgba(23,21,20,.65);
  border: 1px solid rgba(201,169,110,.35);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; color: #fff;
  transition: background .15s, border-color .15s, transform .15s;
  padding: 0;
}
.mlb-nav:hover { background: #c9a96e; border-color: #c9a96e; transform: translateY(-50%) scale(1.08); }
.mlb-nav svg { width: 22px; height: 22px; pointer-events: none; }
.mlb-prev { left: 20px; }
.mlb-next { right: 20px; }

.mlb-caption {
  position: absolute;
  bottom: 52px; left: 50%; transform: translateX(-50%);
  z-index: 2;
  color: #fff;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 20px; font-weight: 400; letter-spacing: .04em;
  text-align: center; max-width: 80vw;
  text-shadow: 0 2px 8px rgba(0,0,0,.8);
  pointer-events: none;
}

.mlb-counter {
  position: absolute;
  top: 24px; left: 50%; transform: translateX(-50%);
  z-index: 2;
  color: rgba(255,255,255,.6);
  font-family: 'Jost', Arial, sans-serif;
  font-size: 13px; letter-spacing: .12em; text-transform: uppercase;
  pointer-events: none;
}

.mlb-zoom-hint {
  position: absolute;
  bottom: 24px; left: 50%; transform: translateX(-50%);
  z-index: 2;
  color: rgba(201,169,110,.7);
  font-family: 'Jost', Arial, sans-serif;
  font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  white-space: nowrap; pointer-events: none;
  transition: opacity .3s;
}
.mlb-zoom-hint.mlb-hint-hide { opacity: 0; }

/* Zoom cursor on card images */
.pagelayer-image-holder img,
.pg-card img, .dp-card img, .minas-card img {
  cursor: zoom-in !important;
  transition: transform .35s ease, box-shadow .25s ease;
}
.pagelayer-image-holder:hover img,
.pg-card:hover img, .dp-card:hover img, .minas-card:hover img {
  transform: scale(1.03);
  box-shadow: 0 12px 40px rgba(0,0,0,.18);
}

/* Open animation */
#minas-lightbox.mlb-open .mlb-stage {
  animation: mlb-in .22s ease;
}
@keyframes mlb-in {
  from { opacity: 0; transform: scale(.97); }
  to   { opacity: 1; transform: scale(1); }
}

@media (max-width: 600px) {
  .mlb-prev { left: 8px; } .mlb-next { right: 8px; }
  .mlb-nav  { width: 40px; height: 40px; }
  .mlb-img  { max-width: 98vw; max-height: 80vh; }
  .mlb-caption { font-size: 16px; bottom: 60px; }
  .mlb-zoom-hint { font-size: 10px; }
}
