/* ============================================================
   gallery.css — само за galeriya.html.

   6 авг. 2026 — първа версия на истинската галерия (досега беше
   placeholder "в процес на изграждане"). Разделите/снимките се
   генерират от tools/build_gallery.py в js/gallery-data.js —
   тук е само визуалният слой (грид миниатюри + lightbox).
   ============================================================ */

.gallery-root{margin-top:8px;}

/* ── Раздел (една папка от images/gallery/) ─────────────── */
.gsec{margin-top:44px;}
.gsec:first-child{margin-top:0;}
.gsec-head{margin-bottom:16px;}
.gsec-title{
  font-family:var(--font-serif);font-weight:500;
  font-size:1.3rem;margin:0 0 4px;color:var(--espresso);
}
.gsec-note{font-size:.88rem;color:var(--text-soft);margin:0;}

/* ── Грид миниатюри ──────────────────────────────────────── */
.gsec-grid{
  display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
}
@media(min-width:560px){.gsec-grid{grid-template-columns:repeat(3,1fr);gap:12px;}}
@media(min-width:900px){.gsec-grid{grid-template-columns:repeat(4,1fr);gap:14px;}}

.gthumb{
  position:relative;display:block;width:100%;padding:0;border:none;
  cursor:zoom-in;overflow:hidden;border-radius:14px;
  aspect-ratio:4/5;background:var(--surface);
  box-shadow:0 8px 20px -16px rgba(60,36,23,.4);
  transition:transform .25s cubic-bezier(.25,.8,.25,1),box-shadow .25s ease;
}
.gthumb:hover,.gthumb:focus-visible{
  transform:translateY(-3px);
  box-shadow:0 14px 28px -16px rgba(60,36,23,.5);
}
.gthumb img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .4s ease;
}
.gthumb:hover img{transform:scale(1.04);}
.gthumb::after{
  content:"";position:absolute;inset:0;border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(36,22,16,.08);pointer-events:none;
}

.gallery-empty{
  font-size:.95rem;color:var(--text-soft);text-align:center;
  padding:40px 0;
}

/* ── Lightbox (уголемен изглед при клик) ────────────────── */
.lightbox{
  position:fixed;inset:0;z-index:400;
  display:flex;align-items:center;justify-content:center;
  background:rgba(15,9,7,.92);
  -webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
}
.lightbox[hidden]{display:none;}

.lb-figure{
  margin:0;max-width:92vw;max-height:86vh;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.lb-figure img{
  max-width:92vw;max-height:76vh;object-fit:contain;
  border-radius:12px;box-shadow:0 30px 60px -20px rgba(0,0,0,.6);
  background:#111;
}
.lb-figure figcaption{
  font-size:.86rem;color:rgba(247,241,235,.78);text-align:center;
}

.lb-close,.lb-prev,.lb-next{
  position:fixed;z-index:401;
  width:46px;height:46px;border-radius:50%;flex:none;
  display:flex;align-items:center;justify-content:center;
  background:rgba(247,241,235,.12);border:1px solid rgba(247,241,235,.22);
  color:#F7F1EB;cursor:pointer;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:background .18s ease,transform .18s ease;
}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{background:rgba(247,241,235,.24);}
.lb-close .ic,.lb-prev .ic,.lb-next .ic{font-size:1.2rem;}

.lb-close{top:16px;right:16px;}
.lb-prev{left:16px;top:50%;transform:translateY(-50%);}
.lb-next{right:16px;top:50%;transform:translateY(-50%);}
.lb-next .ic{transform:scaleX(-1);}
.lb-prev:hover,.lb-next:hover{transform:translateY(-50%) scale(1.06);}

@media(max-width:640px){
  .lb-prev{left:8px;}
  .lb-next{right:8px;}
  .lb-close{top:10px;right:10px;}
}
