/* ==== GMG Gallery Styles ==== */
.gmg-wrap{--gmg-gap:16px;--gmg-rad:10px;--gmg-btn-bg:#0ea5e9;--gmg-btn-text:#fff;--gmg-btn-bg-active:#0369a1;--gmg-btn-text-active:#fff;--gmg-overlay:rgba(0,0,0,.8)}
.gmg-filters{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 18px}
.gmg-filters.center{justify-content:center}
.gmg-filters .gmg-btn{cursor:pointer;border:none;border-radius:999px;padding:10px 16px;font-weight:600;background:var(--gmg-btn-bg);color:var(--gmg-btn-text);transition:transform .15s ease, background .2s ease, color .2s ease}
.gmg-filters .gmg-btn.active{background:var(--gmg-btn-bg-active);color:var(--gmg-btn-text-active);transform:translateY(-1px)}
.gmg-grid{display:grid;grid-template-columns:repeat(var(--gmg-cols,3),1fr);gap:var(--gmg-gap)}
.gmg-item{position:relative;overflow:hidden;border-radius:var(--gmg-rad);opacity:0;transform:translateY(10px);transition:opacity .28s ease, transform .28s ease;height:var(--gmg-h, auto)}
.gmg-item.show{opacity:1;transform:none}
.gmg-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease}
.gmg-item:hover img{transform:scale(1.04)}
.gmg-item .gmg-zoom{position:absolute;inset:0;display:block;z-index:3}

/* entrance effects */
.gmg-effect-fade .gmg-item{opacity:0;transform:none}
.gmg-effect-fade .gmg-item.show{opacity:1}
.gmg-effect-zoom-in .gmg-item{transform:scale(.96)}
.gmg-effect-zoom-in .gmg-item.show{transform:scale(1)}
.gmg-effect-slide-up .gmg-item{transform:translateY(16px)}
.gmg-effect-slide-up .gmg-item.show{transform:translateY(0)}

/* tablet */
@media (max-width:1024px){
  .gmg-grid{grid-template-columns:repeat(var(--gmg-cols-t,2),1fr)}
  .gmg-item{height:var(--gmg-h-t, var(--gmg-h, auto))}
}

/* mobile: TWO COLUMNS + SQUARE TILES */
@media (max-width:767px){
  .gmg-grid{grid-template-columns:repeat(var(--gmg-cols-m,2),1fr)}
  .gmg-item{aspect-ratio:1/1;height:auto}
  .gmg-filters{gap:8px}
}

/* Lightbox */
.gmg-lightbox{position:fixed !important; inset:0 !important; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.8) !important; z-index:9999999999 !important; opacity:0; transition:opacity .2s ease}
.gmg-lightbox.open{display:flex; opacity:1 !important}
.gmg-lightbox .gmg-lb-img{max-width:min(92vw,1400px);max-height:88vh;border-radius:10px;box-shadow:0 10px 40px rgba(0,0,0,.5)}
.gmg-lightbox .gmg-lb-close,.gmg-lightbox .gmg-lb-prev,.gmg-lightbox .gmg-lb-next{
  position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:1px solid rgba(255,255,255,.6) !important;
  background:rgba(20,20,20,.45);backdrop-filter:blur(6px);color:#fff !important;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px}
.gmg-lightbox .gmg-lb-close{top:24px;right:24px;transform:none}
.gmg-lightbox .gmg-lb-prev{left:24px}
.gmg-lightbox .gmg-lb-next{right:24px}
.gmg-lightbox .gmg-lb-counter{position:absolute;bottom:18px;color:#fff;font-weight:600;letter-spacing:.4px}

/* Category transition helpers */
.gmg-wrap.gmg-cat-fade .gmg-item{transition:opacity .25s ease, transform .25s ease}
.gmg-wrap.gmg-cat-zoom .gmg-item{transition:opacity .25s ease, transform .25s ease}
.gmg-wrap.gmg-cat-slide-up .gmg-item{transition:opacity .25s ease, transform .25s ease}

/* During switch, avoid clicks */
.gmg-grid.gmg-switching{pointer-events:none}
