/* Base helpers */
html { scroll-behavior: smooth; }
.reveal { opacity: 0; transform: translateY(24px); transition: all 0.75s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }
.img-glow { box-shadow: 0 0 22px rgba(166, 142, 94, 0.22); }
.chip { transition: all .2s ease; }
.chip.active { background: rgba(166,142,94,.16); border-color: rgba(166,142,94,.55); color: #A68E5E; }
.tab { display:none; }
.tab.active { display:block; }
.zoomable { cursor: zoom-in; }

/* LIGHTBOX + NAV + CAPTION */
.lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.92);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:9999;
  padding:24px;
}
.lightbox.active{display:flex;}

.lightbox-inner{
  position:relative;
  width:min(1100px, 96vw);
  height:min(80vh, 760px);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.lightbox-media{
  flex:1;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}

.lightbox-img{
  max-width:100%;
  max-height:100%;
  border-radius:14px;
  box-shadow:0 0 40px rgba(0,0,0,.55);
}

.lightbox-caption{
  color:rgba(255,255,255,.82);
  font-size:14px;
  line-height:1.4;
  text-align:center;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.05);
}

.lb-btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.2s;
  user-select:none;
}
.lb-btn:hover{background:rgba(255,255,255,.14);}
.lb-prev{left:10px;}
.lb-next{right:10px;}

.lb-close{
  position:absolute;
  top:10px;
  right:10px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.2s;
}
.lb-close:hover{background:rgba(255,255,255,.14);}

@media (max-width:640px){
  .lb-btn{width:42px;height:42px;}
  .lightbox-caption{font-size:13px;}
}
