/* ===== Gallery page styles ===== */

.gallery-tabs{
  display:flex; flex-wrap:wrap; gap:10px; margin-bottom:44px;
}
.gallery-tab{
  font-family:var(--mono); font-size:0.8rem; text-transform:uppercase; letter-spacing:0.06em;
  padding:11px 18px; border-radius:999px; border:1px solid var(--line);
  background:var(--white); color:var(--ink); cursor:pointer;
  transition:background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease;
}
.gallery-tab:hover{ border-color:var(--terracotta); transform:translateY(-2px); }
.gallery-tab.active{
  background:var(--terracotta); border-color:var(--terracotta); color:var(--white);
}

.gallery-panel{ display:none; }
.gallery-panel.active{ display:block; animation:fadeIn .35s ease; }

.gallery-empty{
  padding:44px; text-align:center; border:1px dashed var(--line); border-radius:var(--radius);
  color:#6b6455; font-family:var(--mono); font-size:0.9rem;
}
.gallery-empty code{
  background:var(--paper-dim); padding:2px 6px; border-radius:4px; font-size:0.85rem;
}

.gallery-grid{
  display:grid; grid-template-columns:repeat(3, 1fr); gap:26px;
}
.gallery-item{
  margin:0; background:var(--white); border:1px solid var(--line); border-radius:var(--radius);
  overflow:hidden; transition:transform .25s ease, box-shadow .25s ease;
}
.gallery-item:hover{
  transform:translateY(-4px); box-shadow:0 16px 32px rgba(36,31,24,0.14);
}
.gallery-thumb{
  display:block; width:100%; padding:0; border:none; cursor:pointer;
  background:var(--paper-dim); aspect-ratio:4/3;
}
.gallery-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.gallery-item figcaption{
  padding:16px 18px; font-size:0.92rem; color:#4a4437; line-height:1.5;
  border-top:1px solid var(--line);
}

/* ===== Lightbox ===== */
.lightbox{
  position:fixed; inset:0; z-index:200;
  background:rgba(24,20,14,0.94);
  display:flex; align-items:center; justify-content:center;
  padding:40px;
}
.lightbox[hidden]{ display:none; }
.lightbox figure{ margin:0; max-width:min(90vw, 900px); text-align:center; }
.lightbox img{
  max-width:100%; max-height:76vh; border-radius:var(--radius);
  display:block; margin:0 auto; box-shadow:0 30px 60px rgba(0,0,0,0.5);
}
.lightbox figcaption{
  color:var(--paper); font-family:var(--body); font-size:0.95rem;
  margin-top:18px; max-width:60ch; margin-left:auto; margin-right:auto;
}
.lightbox-close{
  position:absolute; top:22px; right:28px;
  background:none; border:none; color:var(--paper);
  font-size:2.4rem; line-height:1; cursor:pointer;
}
.lightbox-close:hover{ color:var(--gold); }

@keyframes fadeIn{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none; } }

@media (max-width: 980px){
  .gallery-grid{ grid-template-columns:repeat(2, 1fr); }
}
@media (max-width: 720px){
  .gallery-grid{ grid-template-columns:1fr; }
  .lightbox{ padding:20px; }
}
