/* =====================================================================
   KIGA KIDZ – GALLERY PAGES (grid + lightbox)
   ===================================================================== */
.kk-ghero{background:linear-gradient(180deg,var(--kk-blue) 0%,#E6F5FF 70%,var(--kk-cream) 100%);padding:44px 0 64px;text-align:center;position:relative;overflow:hidden;}
.kk-ghero::before,.kk-ghero::after{content:"";position:absolute;border-radius:50%;opacity:.5;animation:kk-float 7s ease-in-out infinite;}
.kk-ghero::before{width:120px;height:120px;background:var(--kk-yellow);top:16px;left:4%;}
.kk-ghero::after{width:90px;height:90px;background:var(--kk-mint);bottom:40px;right:6%;animation-delay:2s;}
.kk-ghero .kk-container{position:relative;z-index:2;}
.kk-ghero h1{font-size:clamp(2.1rem,5.5vw,3.3rem);margin-bottom:.3em;}
.kk-ghero p{max-width:620px;margin:0 auto;color:var(--kk-ink-soft);font-size:1.12rem;}
.kk-gback{display:inline-block;margin-bottom:18px;background:#fff;padding:8px 20px;border-radius:999px;font-weight:800;box-shadow:var(--kk-shadow);transition:transform .25s ease;}
.kk-gback:hover{transform:translateX(-5px);}
.kk-gcount{display:inline-block;margin-top:6px;background:#fff;border-radius:999px;padding:4px 16px;font-weight:800;font-size:.9rem;box-shadow:var(--kk-shadow);}

.kk-gsection{padding:6px 0 70px;}
.kk-ggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;}
.kk-gimg{position:relative;display:block;border-radius:16px;overflow:hidden;aspect-ratio:4/3;background:var(--kk-blue);box-shadow:var(--kk-shadow);transition:transform .35s ease,box-shadow .35s ease;cursor:zoom-in;}
.kk-wrap .kk-gimg img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease;}
.kk-gimg:hover,.kk-gimg:focus-visible{transform:translateY(-6px) scale(1.02);box-shadow:var(--kk-shadow-hover);}
.kk-wrap .kk-gimg:hover img{transform:scale(1.1);}
.kk-gimg::after{content:"🔍";position:absolute;right:10px;bottom:10px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;font-size:1.1rem;opacity:0;transform:scale(.7);transition:all .3s ease;}
.kk-gimg:hover::after,.kk-gimg:focus-visible::after{opacity:1;transform:scale(1);}
@media (hover:none){.kk-gimg::after{opacity:1;transform:scale(1);width:34px;height:34px;font-size:.95rem;}}

.kk-gempty{text-align:center;background:#fff;border-radius:24px;padding:60px 24px;box-shadow:var(--kk-shadow);max-width:640px;margin:0 auto;}
.kk-gempty .kk-gempty-emoji{font-size:4rem;display:block;margin-bottom:8px;animation:kk-float 4s ease-in-out infinite;}
.kk-gempty h2{font-size:1.7rem;}
.kk-gempty p{color:var(--kk-ink-soft);margin:0;}

.kk-albums{text-align:center;margin-top:54px;}
.kk-albums h2{font-size:1.5rem;margin-bottom:16px;}
.kk-albums-list{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.kk-albums-list a{background:#fff;border-radius:999px;padding:9px 20px;font-weight:800;box-shadow:var(--kk-shadow);transition:transform .25s ease,background .25s ease;}
.kk-albums-list a:hover{transform:translateY(-4px);background:var(--kk-yellow);}
.kk-albums-list a.is-current{background:var(--kk-orange-deep);color:#fff;}

@media (max-width:560px){
  .kk-ggrid{grid-template-columns:repeat(2,1fr);gap:10px;}
  .kk-ghero{padding:32px 0 50px;}
}

/* ---------- Lightbox (outside .kk-wrap, so no CSS variables) ---------- */
.kkl-overlay{position:fixed;inset:0;z-index:999999;background:rgba(20,26,44,.94);display:none;align-items:center;justify-content:center;flex-direction:column;opacity:0;transition:opacity .25s ease;touch-action:pan-y;}
.kkl-overlay.is-open{display:flex;}
.kkl-overlay.is-visible{opacity:1;}
.kkl-stage{position:relative;max-width:96vw;max-height:84vh;display:flex;align-items:center;justify-content:center;}
.kkl-img{max-width:96vw;max-height:84vh;width:auto;height:auto;border-radius:12px;box-shadow:0 12px 50px rgba(0,0,0,.5);background:#222;object-fit:contain;transition:opacity .2s ease;}
.kkl-img.is-loading{opacity:.25;}
.kkl-btn{position:absolute;border:0;cursor:pointer;color:#fff;background:rgba(255,255,255,.16);width:48px;height:48px;border-radius:50%;font-size:1.7rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s ease,transform .2s ease;font-family:Arial,sans-serif;padding:0;}
.kkl-btn:hover,.kkl-btn:focus-visible{background:#FF8A47;transform:scale(1.1);outline:0;}
.kkl-close{top:16px;right:16px;}
.kkl-prev{left:14px;top:50%;margin-top:-24px;}
.kkl-next{right:14px;top:50%;margin-top:-24px;}
.kkl-count{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#fff;font:700 .95rem 'Nunito',Arial,sans-serif;opacity:.9;}
body.kkl-lock{overflow:hidden !important;}
@media (max-width:560px){
  .kkl-btn{width:42px;height:42px;font-size:1.4rem;}
  .kkl-prev{left:6px;} .kkl-next{right:6px;}
}
@media (prefers-reduced-motion:reduce){.kkl-overlay,.kkl-img{transition:none;}}
