/* ═══════════════════════════════════════════════
   GRADUATE GEMOLOGIST CERTIFICATE GALLERY
═══════════════════════════════════════════════ */
.cert-gallery-section{
  padding:80px 0 70px;
  background:linear-gradient(160deg,#fdf6f1 0%,#D4CBC4 50%,#D4CBC4 100%);
  position:relative;
  overflow:hidden;
}
.cert-gallery-section::before{
  content:'';
  position:absolute;
  top:-120px;
  right:-120px;
  width:380px;
  height:380px;
  background:radial-gradient(circle,rgba(242,201,76,0.12) 0%,transparent 70%);
  pointer-events:none;
}
.cert-section-badge{
  display:inline-block;
  background:linear-gradient(135deg,#7a0649,#5a0336);
  color:#ffffff;
  font-size:12px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  padding:6px 18px;
  border-radius:50px;
  margin-bottom:14px;
}
.cert-gallery-section .section-title h2{
  color:#2d0418;
}

.cert-person-circle{
  width:108px;
  height:108px;
  margin:14px auto 12px;
  border-radius:50%;
  padding:4px;
  background:linear-gradient(135deg,#7a0649,#f2c94c);
  box-shadow:0 10px 24px rgba(90,3,54,0.22);
}

.cert-person-circle-img{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  border:2px solid #fff;
}

/* ── Thumbnail Grid ── */
.cert-thumb-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
  max-width:900px;
  margin:40px auto 0;
}
.cert-thumb-btn{
  position:relative;
  border:3px solid transparent;
  border-radius:14px;
  background:#D4CBC4;
  padding:0;
  cursor:pointer;
  overflow:hidden;
  box-shadow:0 6px 20px rgba(90,3,54,0.10);
  transition:border-color 0.3s,box-shadow 0.3s,transform 0.28s;
}
.cert-thumb-btn.is-active{
  border-color:#7a0649;
  box-shadow:0 12px 36px rgba(90,3,54,0.28);
  transform:translateY(-6px) scale(1.04);
}
.cert-thumb-btn:hover{
  border-color:#f2c94c;
  box-shadow:0 8px 24px rgba(90,3,54,0.20);
  transform:translateY(-4px) scale(1.02);
}
.cert-thumb-img{
  display:block;
  width:100%;
  height:190px;
  object-fit:contain;
  background:#D4CBC4;
  border-radius:11px 11px 0 0;
}
.cert-thumb-overlay{
  position:absolute;
  inset:0 0 34px 0;
  border-radius:11px 11px 0 0;
  background:rgba(90,3,54,0);
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background 0.25s;
}
.cert-thumb-overlay i{
  color:#fff;
  font-size:28px;
  opacity:0;
  transform:scale(0.6);
  transition:opacity 0.22s,transform 0.22s;
}
.cert-thumb-btn:hover .cert-thumb-overlay{
  background:rgba(90,3,54,0.50);
}
.cert-thumb-btn:hover .cert-thumb-overlay i{
  opacity:1;
  transform:scale(1);
}
.cert-thumb-btn.is-active .cert-thumb-overlay i{
  opacity:0.5;
  transform:scale(0.85);
}
.cert-thumb-label{
  display:block;
  font-size:12px;
  font-weight:600;
  color:#7a0649;
  text-align:center;
  padding:8px 4px;
  background:#D4CBC4;
  border-radius:0 0 11px 11px;
}

/* ── Certificate Lightbox ── */
.cert-lightbox{
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1200;
}
.cert-lightbox.is-open{
  display:flex;
}
body.lightbox-open{
  overflow:hidden;
}
body.lightbox-open .custom-navbar{
  display:none;
}
.cert-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(10,3,7,0.88);
  backdrop-filter:blur(4px);
  cursor:pointer;
}
.cert-lightbox-dialog{
  position:relative;
  z-index:2;
  background:#D4CBC4;
  border-radius:20px;
  padding:18px 18px 60px;
  max-width:min(94vw,820px);
  box-shadow:0 32px 72px rgba(0,0,0,0.48);
}
.cert-lightbox-img-wrap{
  position:relative;
  user-select:none;
}
.cert-lightbox-img{
  display:block;
  max-width:min(88vw,760px);
  max-height:72vh;
  object-fit:contain;
  border-radius:12px;
}
.cert-lightbox-close{
  position:absolute;
  top:-14px;
  right:-14px;
  width:38px;
  height:38px;
  border:0;
  border-radius:50%;
  background:#7a0649;
  color:#fff;
  font-size:15px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 6px 18px rgba(90,3,54,0.32);
  z-index:3;
  transition:background 0.2s;
}
.cert-lightbox-close:hover{
  background:#5a0336;
}
.cert-lightbox-nav{
  position:absolute;
  bottom:14px;
  left:50%;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:18px;
}
.cert-lightbox-prev,
.cert-lightbox-next{
  width:36px;
  height:36px;
  border-radius:50%;
  border:2px solid #7a0649;
  background:#D4CBC4;
  color:#7a0649;
  font-size:15px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background 0.2s,color 0.2s;
}
.cert-lightbox-prev:hover,
.cert-lightbox-next:hover{
  background:#7a0649;
  color: #5a0336;
}
.cert-lightbox-counter{
  font-size:14px;
  font-weight:600;
  color:#5a0336;
  min-width:40px;
  text-align:center;
}

/* ── Responsive ── */
@media(max-width:991px){
  .cert-thumb-grid{
    grid-template-columns:repeat(2,1fr);
    max-width:520px;
  }
  .cert-thumb-img{
    height:160px;
  }
}
@media(max-width:480px){
  .cert-person-circle{
    width:88px;
    height:88px;
    margin:10px auto 10px;
  }

  .cert-thumb-grid{
    grid-template-columns:repeat(2,1fr);
    gap:12px;
    max-width:100%;
  }
  .cert-thumb-img{
    height:120px;
  }
  .cert-lightbox-img{
    max-height:60vh;
  }
}
