.slider .slide { margin:0; opacity:0; transform:translate3d(12px,0,0); transition:opacity .24s ease, transform .24s ease; }
.slider .slide.active { opacity:1; transform:translate3d(0,0,0); }
.slider:not(.dialog-slider) .image { max-height:min(75vh, calc(100svh - 220px)); }
.slider.is-dragging .scrub { filter:drop-shadow(0 0 7px rgba(191,133,98,.5)); }
.slider.is-dragging .scrub i { transform:scaleY(1.35); }
.slider.is-dragging .slider-counter { color:#d8a07d; }
.slider .slide[hidden], .slider .stock[hidden] { display:none; }
.slider .slider-controls { display:flex; justify-content:center; gap:10px; align-items:center; }
.slider .slider-counter { min-width:4.5em; color:#a9aaa1; font-size:12px; font-variant-numeric:tabular-nums; text-align:center; white-space:nowrap; }
.slider button { cursor:pointer; background:transparent; border:1px solid #626860; color:inherit; min-width:44px; min-height:44px; }
.slider .scrub { display:flex; justify-content:center; gap:6px; flex:0 1 180px; width:180px; height:44px; align-items:center; touch-action:none; cursor:grab; }
.slider .scrub.is-dragging { cursor:grabbing; }
.slider .scrub i { flex:1 1 0; min-width:0; height:5px; border-radius:999px; background:#626860; transition:background .2s, transform .2s; }
.slider .scrub i:nth-child(n+4) { display:none; }
.slider .scrub i.active { background:#bf8562; transform:scaleY(1.15); }
.slider .thumbs { display:none; }
.slider .thumb { padding:0; flex:0 0 58px; }
.slider .thumb.active { outline:2px solid #bf8562; outline-offset:-2px; }
.slider .thumb img { width:58px; height:42px; object-fit:cover; display:block; }
.slider .stock { display:inline-block; padding:12px 0; color:#d8a07d; font-size:16px; }
.dialog-slider { height:100%; display:flex; flex-direction:column; padding:14px; box-sizing:border-box; }
.dialog-slider .slide { flex:1; min-height:0; display:flex; align-items:center; justify-content:center; padding:0 8px 10px; }
.dialog-slider .image { width:100%; height:100%; object-fit:contain; }
.dialog-slider .image { max-height:100%; }
.dialog-slider .slider-controls { flex:0 0 54px; position:relative; z-index:1; }
.dialog-slider .stock { flex:0 0 auto; }
.slider :focus-visible { outline:2px solid #bf8562; outline-offset:2px; }
@media (max-width:600px) { .slider .scrub { flex-basis:156px; width:156px; } }
@media (max-width:600px) { .slider:not(.dialog-slider) .image { max-height:calc(100svh - 170px); } }
@media (prefers-reduced-motion:reduce) { .slider .slide { transition:none; } .slider .scrub i { transition:none; } }
