/* LB Gallery – Frontend styles (neutral, premium base) */

.lb-gallery-teaser__grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1rem;
}
@media (max-width: 900px){
  .lb-gallery-teaser__grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px){
  .lb-gallery-teaser__grid{ grid-template-columns:1fr; }
}

.lb-gallery-teaser__card{
  position:relative;
  display:block;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  background:#000;
  min-height:220px;
  text-decoration:none;
}
.lb-gallery-teaser__label{
  position:absolute;
  top:12px; left:12px;
  z-index:2;
  padding:.45rem .75rem;
  border-radius:999px;
  background:rgba(0,0,0,.55);
  color:#fff;
  font-weight:600;
  letter-spacing:.02em;
  border:1px solid rgba(212,175,55,.45);
}
.lb-gallery-teaser__media,
.lb-gallery-teaser__media img{
  width:100%;
  height:100%;
}
.lb-gallery-teaser__media img{
  object-fit:cover;
  display:block;
  opacity:.92;
  transform:scale(1.01);
  transition:transform .35s ease, opacity .35s ease;
}
.lb-gallery-teaser__card:hover img{
  transform:scale(1.06);
  opacity:1;
}
.lb-gallery-teaser__footer{
  margin-top:1rem;
}
.lb-gallery-link{
  display:inline-block;
  text-decoration:none;
  border-bottom:1px solid rgba(212,175,55,.75);
  padding-bottom:.1rem;
}

.lb-gallery__filter{
  display:flex;
  flex-wrap:wrap;
  gap:.5rem;
  margin: 1rem 0 1.25rem;
}
.lb-gallery__filter-btn{
  text-decoration:none;
  padding:.55rem .85rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;
}
.lb-gallery__filter-btn.is-active{
  border-color: rgba(212,175,55,.9);
  box-shadow: 0 6px 18px rgba(0,0,0,.08);
}

.lb-gallery__cats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
@media (max-width: 900px){
  .lb-gallery__cats{ grid-template-columns:1fr; }
}
.lb-gallery__cat{
  position:relative;
  display:block;
  border-radius:22px;
  overflow:hidden;
  background:#000;
  min-height:260px;
  border:1px solid rgba(0,0,0,.12);
  text-decoration:none;
}
.lb-gallery__cat img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  opacity:.9;
  transition:transform .35s ease, opacity .35s ease;
}
.lb-gallery__cat:hover img{
  transform:scale(1.06);
  opacity:1;
}
.lb-gallery__cat-title{
  position:absolute;
  left:16px; bottom:16px;
  z-index:2;
  padding:.6rem .9rem;
  border-radius:14px;
  background:rgba(0,0,0,.55);
  color:#fff;
  border:1px solid rgba(212,175,55,.45);
}

.lb-gallery__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}
@media (max-width: 900px){
  .lb-gallery__grid{ grid-template-columns:1fr; }
}
.lb-gallery__item{
  margin:0;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
}
.lb-gallery__item img{
  width:100%;
  height:auto;
  display:block;
}
.lb-gallery__caption{
  padding:.75rem .9rem;
  font-size:.95rem;
}

.lb-gallery__pager{
  margin-top: 1rem;
  display:flex;
  gap:.75rem;
}
.lb-gallery__pager-btn{
  display:inline-block;
  padding:.6rem .9rem;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.15);
  text-decoration:none;
  background:#fff;
}

/* Lightbox */
.lb-lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.75);
  display:none;
  z-index:9999;
}
.lb-lightbox.is-open{ display:block; }
body.lb-lightbox-open{ overflow:hidden; }

.lb-lightbox__stage{
  position:absolute;
  inset:48px 20px 20px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:12px;
}
.lb-lightbox__img{
  max-width:min(1200px, 95vw);
  max-height:min(78vh, 900px);
  width:auto;
  height:auto;
  border-radius:18px;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
  background:#111;
}
.lb-lightbox__caption{
  color:#fff;
  max-width:min(1200px, 95vw);
  text-align:center;
  font-weight:600;
  letter-spacing:.01em;
}

.lb-lightbox__close,
.lb-lightbox__prev,
.lb-lightbox__next{
  position:absolute;
  top:18px;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(212,175,55,.55);
  background:rgba(0,0,0,.35);
  cursor:pointer;
}
.lb-lightbox__close{ right:18px; }
.lb-lightbox__prev{ left:18px; top:50%; transform:translateY(-50%); }
.lb-lightbox__next{ right:18px; top:50%; transform:translateY(-50%); }

.lb-lightbox__close:before{
  content:'×';
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:28px;
  line-height:1;
}
.lb-lightbox__prev:before,
.lb-lightbox__next:before{
  content:'‹';
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:#fff;
  font-size:34px;
  line-height:1;
}
.lb-lightbox__next:before{ content:'›'; }

@media (max-width: 520px){
  .lb-lightbox__stage{ inset:64px 12px 12px 12px; }
}
