
.sloch-photo-gallery{margin:34px 0 30px;padding:26px 0 6px;border-top:1px solid #e2e7eb}
.sloch-gallery-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:0 0 14px}
.sloch-gallery-heading h2{margin:0;font-size:28px;line-height:1.2}
.sloch-gallery-heading span{font-size:14px;font-weight:700;color:#6b7480;white-space:nowrap}

.sloch-gallery-strip-shell{display:grid;grid-template-columns:46px minmax(0,1fr) 46px;gap:10px;align-items:center}
.sloch-gallery-strip{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-behavior:smooth;padding:3px 2px 10px;scrollbar-width:thin}
.sloch-photo-thumb{position:relative;flex:0 0 clamp(170px,20vw,215px);aspect-ratio:3/2;padding:0;border:0;border-radius:12px;overflow:hidden;background:#e9eef1;cursor:pointer;scroll-snap-align:start;box-shadow:0 1px 4px rgba(24,39,52,.12)}
.sloch-photo-thumb:focus-visible{outline:3px solid #0f6670;outline-offset:2px}
.sloch-photo-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.sloch-photo-number{position:absolute;right:7px;bottom:7px;min-width:26px;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:12px;font-weight:800;line-height:1.2;text-align:center}

.sloch-gallery-scroll{width:44px;height:44px;border:1px solid #cad3da;border-radius:50%;background:#fff;color:#26333d;font-size:24px;line-height:1;cursor:pointer;box-shadow:0 2px 8px rgba(24,39,52,.1)}
.sloch-gallery-scroll:hover{background:#f4f7f8}
.sloch-gallery-scroll:disabled{opacity:.35;cursor:default}

.sloch-gallery-lightbox[hidden]{display:none!important}
.sloch-gallery-lightbox{position:fixed;inset:0;z-index:100000;display:flex;align-items:center;justify-content:center;padding:18px}
.sloch-lightbox-backdrop{position:absolute;inset:0;background:rgba(8,13,17,.94)}
.sloch-lightbox-dialog{position:relative;z-index:1;width:min(1400px,96vw);height:min(94vh,980px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}
.sloch-lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:42px;color:#fff}
.sloch-lightbox-counter{font-size:16px;font-weight:800;letter-spacing:.02em}
.sloch-lightbox-close{width:42px;height:42px;border:0;border-radius:50%;background:rgba(255,255,255,.13);color:#fff;font-size:32px;line-height:38px;cursor:pointer}
.sloch-lightbox-stage{position:relative;min-height:0;display:flex;align-items:center;justify-content:center}
.sloch-lightbox-image{display:block;max-width:calc(100% - 100px);max-height:100%;width:auto;height:auto;object-fit:contain;box-shadow:0 5px 30px rgba(0,0,0,.32)}
.sloch-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:58px;border:0;border-radius:12px;background:rgba(255,255,255,.13);color:#fff;font-size:34px;line-height:1;cursor:pointer}
.sloch-lightbox-prev{left:0}
.sloch-lightbox-next{right:0}
.sloch-lightbox-nav:hover,.sloch-lightbox-close:hover{background:rgba(255,255,255,.22)}

.sloch-lightbox-thumbs{display:flex;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;padding:7px 4px 4px;scrollbar-width:thin;scrollbar-color:#69737b transparent}
.sloch-lightbox-thumb{flex:0 0 104px;width:104px;height:70px;padding:0;border:2px solid transparent;border-radius:7px;overflow:hidden;background:#26333d;cursor:pointer;opacity:.68}
.sloch-lightbox-thumb[aria-current="true"]{border-color:#ffd84d;opacity:1}
.sloch-lightbox-thumb img{display:block;width:100%;height:100%;object-fit:cover}

body.sloch-gallery-open{overflow:hidden}

@media(max-width:760px){
  .sloch-photo-gallery{margin-top:26px;padding-top:22px}
  .sloch-gallery-heading h2{font-size:24px}
  .sloch-gallery-strip-shell{grid-template-columns:minmax(0,1fr)}
  .sloch-gallery-scroll{display:none}
  .sloch-gallery-strip{gap:8px}
  .sloch-photo-thumb{flex-basis:72vw;max-width:290px}
  .sloch-gallery-lightbox{padding:8px}
  .sloch-lightbox-dialog{width:100%;height:96vh}
  .sloch-lightbox-image{max-width:100%;max-height:100%}
  .sloch-lightbox-nav{width:42px;height:54px;background:rgba(0,0,0,.38)}
  .sloch-lightbox-prev{left:5px}
  .sloch-lightbox-next{right:5px}
  .sloch-lightbox-thumb{flex-basis:82px;width:82px;height:56px}
}
