/* JMDA — Gallery page. Loaded after jmda-core.css + page-components.css */
.gl-filters{display:flex;flex-direction:column;gap:.9rem;margin-bottom:2.2rem;padding-bottom:1.6rem;border-bottom:1px solid var(--line)}
.gl-frow{display:flex;align-items:flex-start;gap:1rem}
.gl-flabel{flex:0 0 76px;padding-top:.6rem;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-t)}
.gl-chips{display:flex;flex-wrap:wrap;gap:.5rem}
.gl-group{margin-bottom:3rem}
.gl-group[hidden]{display:none}
.gl-year{display:flex;align-items:baseline;gap:.9rem;margin-bottom:1.2rem}
.gl-year h2{margin:0;font-size:clamp(24px,3vw,34px)}
.gl-count{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.gl-chip{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:99px;padding:.6rem 1.05rem;transition:.15s}
.gl-chip:hover{border-color:var(--green);color:var(--green)}
.gl-chip.active{background:var(--green);border-color:var(--green);color:#fff}

.gl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}
.gl-item{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}
.gl-item:hover{border-color:var(--green);box-shadow:0 10px 24px rgba(18,33,27,.08)}
.gl-item[hidden]{display:none}
.gl-open{display:block;width:100%;padding:0;border:0;background:#E9ECE8;aspect-ratio:4/3;overflow:hidden;cursor:zoom-in}
.gl-open img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gl-item:hover .gl-open img{transform:scale(1.04)}
.gl-item figcaption{padding:1rem 1.15rem 1.15rem}
.gl-cat{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-t);margin-bottom:.3rem}
.gl-item figcaption b{display:block;font-size:.98rem;color:var(--ink)}
.gl-item figcaption small{display:block;font-size:.84rem;color:var(--slate);margin-top:.2rem}
.gl-empty{text-align:center;color:var(--slate);padding:2rem 0}

/* Lightbox */
.gl-box{position:fixed;inset:0;z-index:2000;background:rgba(10,18,14,.92);display:flex;align-items:center;justify-content:center;padding:4rem 4.5rem}
.gl-box[hidden]{display:none}
.gl-stage{margin:0;max-width:1100px;width:100%;text-align:center}
.gl-stage img{max-width:100%;max-height:78vh;border-radius:8px;object-fit:contain}
.gl-stage figcaption{color:#EDF5F1;margin-top:.9rem;font-size:.95rem}
.gl-btn{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.08);color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center}
.gl-btn:hover{background:rgba(255,255,255,.2)}
.gl-close{top:1.2rem;right:1.2rem}
.gl-prev{left:1.2rem;top:50%;transform:translateY(-50%)}
.gl-next{right:1.2rem;top:50%;transform:translateY(-50%)}
body.gl-lock{overflow:hidden}

@media (max-width:991.98px){.gl-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:575.98px){
  .gl-frow{flex-direction:column;gap:.4rem}.gl-flabel{padding-top:0;flex-basis:auto}
  .gl-grid{grid-template-columns:1fr}
  .gl-box{padding:4rem .8rem 5.5rem}
  .gl-prev,.gl-next{top:auto;bottom:1.2rem;transform:none}
  .gl-prev{left:calc(50% - 60px)}.gl-next{right:calc(50% - 60px)}
}
.gl-grid{align-items:start}
.gl-open{aspect-ratio:auto}
.gl-open img{height:auto;object-fit:contain}
.gl-item:hover .gl-open img{transform:none}
.gl-grid{display:block;column-count:3;column-gap:1.25rem}
.gl-item{display:block;break-inside:avoid;margin-bottom:1.25rem}
@media (max-width:991.98px){.gl-grid{column-count:2}}
@media (max-width:575.98px){.gl-grid{column-count:1}}