/* Галерея товара в стиле Instagram: свайп, точки, счётчик, полноэкранный просмотр */
.gal{position:relative;aspect-ratio:1;background:#f1eeec;border-radius:20px;overflow:hidden;user-select:none;-webkit-user-select:none}
.gal-track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.gal-track::-webkit-scrollbar{display:none}
.gal-slide{flex:0 0 100%;height:100%;margin:0;scroll-snap-align:center;scroll-snap-stop:always;display:grid;place-items:center;cursor:zoom-in}
.gal-slide img{width:100%;height:100%;object-fit:contain;display:block;-webkit-user-drag:none}
.gal-btn{position:absolute;top:50%;width:34px;height:34px;margin-top:-17px;border-radius:50%;border:0;background:rgba(255,255,255,.92);color:#1d1a18;box-shadow:0 2px 10px rgba(0,0,0,.18);display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s,transform .15s;z-index:2}
.gal-btn:hover{transform:scale(1.08)}
.gal-btn svg{width:16px;height:16px}
.gal-prev{left:12px}.gal-next{right:12px}
.gal:hover .gal-btn:not([disabled]),.gal:focus-within .gal-btn:not([disabled]){opacity:1}
.gal-btn[disabled]{opacity:0!important;pointer-events:none}
@media (hover:none){.gal-btn{display:none}}
.gal-count{position:absolute;top:12px;right:12px;z-index:2;background:rgba(29,26,24,.62);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;font-variant-numeric:tabular-nums;backdrop-filter:blur(4px)}
.gal-dots{position:absolute;left:0;right:0;bottom:12px;z-index:2;display:flex;justify-content:center;gap:5px;pointer-events:none}
.gal-dots i{width:6px;height:6px;border-radius:50%;background:rgba(29,26,24,.25);transition:background .2s,transform .2s}
.gal-dots i.on{background:#e8332c;transform:scale(1.25)}
.gal.single .gal-btn,.gal.single .gal-count,.gal.single .gal-dots{display:none}
.gal-thumbs{display:flex;gap:8px;overflow-x:auto;padding:10px 2px 2px;scrollbar-width:thin}
.gal-thumbs button{flex:0 0 64px;height:64px;border-radius:12px;border:2px solid transparent;background:#f1eeec center/cover no-repeat;cursor:pointer;padding:0;opacity:.65;transition:opacity .15s,border-color .15s}
.gal-thumbs button:hover{opacity:1}
.gal-thumbs button[aria-current="true"]{border-color:#e8332c;opacity:1}
.gal-empty{display:grid;place-items:center;height:100%;color:#b5aca6}

/* полноэкранный просмотр */
.glb{position:fixed;inset:0;z-index:1000;background:#0e0c0c;display:flex;flex-direction:column;animation:glbIn .2s ease-out}
@keyframes glbIn{from{opacity:0}}
.glb .gal{flex:1;aspect-ratio:auto;border-radius:0;background:transparent}
.glb .gal-slide{cursor:default;padding:max(56px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) 56px max(12px,env(safe-area-inset-left,0px))}
.glb .gal-btn{opacity:1;background:rgba(0,0,0,.55);color:#fff;border:1px solid rgba(255,255,255,.25);width:44px;height:44px;margin-top:-22px}
.glb .gal-dots i{background:rgba(255,255,255,.3)}
.glb .gal-count{top:max(16px,env(safe-area-inset-top,0px));left:16px;right:auto}
.glb-x{position:absolute;border:1px solid rgba(255,255,255,.25)!important;top:max(12px,env(safe-area-inset-top,0px));right:max(12px,env(safe-area-inset-right,0px));z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.55);color:#fff;font-size:18px;cursor:pointer}
body.glb-open{overflow:hidden}
@media (prefers-reduced-motion:reduce){.gal-track{scroll-behavior:auto}.glb{animation:none}}

.gal-empty .ph{width:38%;max-width:120px;color:#d8d0ca}
