/* ==========================================================================
   Galeri Instagram — filter, grid, lightbox
   ========================================================================== */

.ig-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin:0 0 clamp(18px,2.4vw,28px)}
.ig-bar button{
  border:1px solid var(--line);background:var(--white);color:var(--ink-2);
  font-size:.82rem;font-weight:600;padding:.5rem .95rem;border-radius:999px;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;
}
.ig-bar button:hover{border-color:var(--gold-400);color:var(--green-700)}
.ig-bar button[aria-pressed="true"]{background:var(--green-700);border-color:var(--green-700);color:#fff}

.ig-grid{
  display:grid;gap:clamp(10px,1.4vw,16px);
  grid-template-columns:repeat(auto-fill,minmax(148px,1fr));
}
.ig-tile{
  position:relative;display:block;width:100%;padding:0;margin:0;cursor:zoom-in;
  aspect-ratio:4/5;border-radius:14px;overflow:hidden;
  border:1px solid var(--line);background:var(--green-900);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.ig-tile:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--gold-400)}
.ig-tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .3s}
.ig-tile:hover img{transform:scale(1.05);opacity:.92}
.ig-tile .cap{
  position:absolute;inset:auto 0 0 0;padding:2rem .85rem .75rem;
  background:linear-gradient(to top,rgba(5,46,35,.95),rgba(5,46,35,.55) 55%,transparent);
  color:#fff;font-size:.8rem;line-height:1.35;text-align:left;font-weight:500;
}
.ig-tile .cat{
  position:absolute;top:10px;left:10px;z-index:2;
  font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:#241d07;background:var(--gold-500);padding:.25rem .55rem;border-radius:999px;
}
.ig-tile .ig-mark{
  position:absolute;top:10px;right:10px;z-index:2;width:26px;height:26px;
  display:grid;place-items:center;border-radius:8px;
  background:rgba(5,46,35,.6);color:#f4ead2;border:1px solid rgba(216,189,120,.4);
}
.ig-tile .ig-mark svg{width:14px;height:14px}
.ig-tile[hidden]{display:none}

/* lightbox */
.lb{
  position:fixed;inset:0;z-index:200;display:none;place-items:center;
  background:rgba(4,20,15,.93);padding:clamp(12px,3vw,40px);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);
}
.lb.is-open{display:grid}
.lb figure{
  margin:0;max-width:min(560px,94vw);max-height:92vh;overflow:auto;
  background:var(--green-900);border:1px solid rgba(216,189,120,.32);border-radius:16px;
}
.lb img{display:block;width:100%;max-height:70vh;object-fit:contain;background:#03110c}
.lb figcaption{padding:1rem 1.15rem 1.15rem;color:#cfe0d6;font-size:.9rem;line-height:1.5}
.lb figcaption b{display:block;color:var(--cream);font-size:.98rem;margin-bottom:.25rem}
.lb figcaption a{display:inline-block;margin-top:.6rem;color:var(--gold-400);font-size:.82rem;font-weight:600}
.lb .lb-close{
  position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(216,189,120,.4);background:rgba(5,46,35,.7);color:#f4ead2;
  display:grid;place-items:center;cursor:pointer;
}
.lb .lb-close svg{width:18px;height:18px}
body.lb-open{overflow:hidden}
