/* Галерея фото+видео (см. lk-gallery.js) */
.lk-gallery-sec{ padding:100px 0; overflow:hidden; }
.lk-gal{ position:relative; margin-top:40px; }
.lk-gal__track{ overflow:visible; }
.lk-gal__card{ position:relative; display:block; width:100%; padding:0; border:0; background:#111; border-radius:20px; overflow:hidden;
  aspect-ratio:4 / 5; cursor:pointer; }
.lk-gal__card img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s; }
.lk-gal__card:hover img{ transform:scale(1.05); }
.lk-gal__card::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.65) 100%); pointer-events:none; }
.lk-gal__cap{ position:absolute; left:18px; right:18px; bottom:16px; z-index:2; color:#fff; font-weight:700; font-size:16px; text-align:left; }
.lk-gal__play, .lk-gal__zoom{ position:absolute; top:16px; right:16px; z-index:2; width:44px; height:44px; border-radius:50%;
  background:var(--accent-color, #CBCA7B); }
.lk-gal__play::after{ content:''; position:absolute; left:17px; top:13px; border-style:solid; border-width:9px 0 9px 14px; border-color:transparent transparent transparent #000; }
.lk-gal__zoom::after{ content:'+'; position:absolute; inset:0; display:flex; align-items:center; justify-content:center; font-size:26px; font-weight:700; color:#000; }
.lk-gal__nav{ display:flex; align-items:center; justify-content:center; gap:20px; margin-top:30px; }
.lk-gal__prev, .lk-gal__next{ width:48px; height:48px; border-radius:50%; border:1px solid var(--divider-color, #0001); background:var(--white-color, #fff);
  font-size:20px; cursor:pointer; transition:background .3s; }
.lk-gal__prev:hover, .lk-gal__next:hover{ background:var(--accent-color, #CBCA7B); }
.lk-gal__dots{ position:static !important; width:auto !important; transform:none !important; }
.lk-gal__dots .swiper-pagination-bullet-active{ background:var(--accent-color, #CBCA7B); }

.lk-gal__box{ position:fixed; inset:0; z-index:99999; background:rgba(0,0,0,.94); display:none; }
.lk-gal__box.is-open{ display:block; }
.lk-gal__full{ width:100%; height:100%; }
.lk-gal__full .swiper-slide{ display:flex; flex-direction:column; align-items:center; justify-content:center; padding:60px 70px 50px; }
.lk-gal__full img, .lk-gal__full video{ max-width:100%; max-height:calc(100vh - 130px); object-fit:contain; border-radius:12px; background:#000; }
.lk-gal__vwrap{ position:relative; display:flex; max-width:100%; cursor:pointer; }
.lk-gal__vstate{ position:absolute; left:50%; top:50%; width:72px; height:72px; margin:-36px 0 0 -36px; border-radius:50%;
  background:rgba(0,0,0,.45); opacity:0; transition:opacity .25s; pointer-events:none; }
.lk-gal__vstate::after{ content:''; position:absolute; left:28px; top:21px; border-style:solid; border-width:15px 0 15px 22px; border-color:transparent transparent transparent #fff; }
.lk-gal__vwrap.is-paused .lk-gal__vstate{ opacity:1; }
.lk-gal__fcap{ color:#fff; opacity:.8; margin-top:12px; font-size:15px; }
.lk-gal__close{ position:absolute; top:14px; right:18px; z-index:5; width:46px; height:46px; border-radius:50%; border:0; background:rgba(255,255,255,.12);
  color:#fff; font-size:30px; line-height:44px; cursor:pointer; padding:0; }
.lk-gal__count{ position:absolute; top:24px; left:24px; z-index:5; color:#fff; opacity:.7; font-size:14px; }
.lk-gal__fprev, .lk-gal__fnext{ position:absolute; top:50%; z-index:5; transform:translateY(-50%); width:52px; height:52px; border-radius:50%; border:0;
  background:rgba(255,255,255,.12); color:#fff; font-size:34px; line-height:1; cursor:pointer; }
.lk-gal__fprev{ left:14px; } .lk-gal__fnext{ right:14px; }
.lk-gal__fprev.swiper-button-disabled, .lk-gal__fnext.swiper-button-disabled{ opacity:.2; }
html.lk-gal-lock, html.lk-gal-lock body{ overflow:hidden; }
@media (max-width:767px){
  .lk-gallery-sec{ padding:60px 0; }
  .lk-gal__full .swiper-slide{ padding:56px 0 30px; }
  .lk-gal__full img, .lk-gal__full video{ border-radius:0; max-height:calc(100vh - 110px); }
  .lk-gal__fprev, .lk-gal__fnext{ display:none; }   /* на мобиле — свайп */
  .lk-gal__cap{ font-size:14px; }
}
