/* SimpleLook Snap Carousel v1.1.0 — CSS Scroll Snap (conflict-free) */
.sl-snap { position:relative; width:100%; }
.sl-snap-viewport { overflow:auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; }
.sl-snap-viewport { scrollbar-width: none; }            /* Firefox */
.sl-snap-viewport::-webkit-scrollbar { display: none; } /* WebKit */
.sl-snap-track { display:flex; align-items:stretch; gap: var(--slsnap-gap, 24px); }
.sl-snap-slide { scroll-snap-align: start; flex: 0 0 var(--slsnap-item-w, calc((100% - 2*var(--slsnap-gap,24px))/3)); }
.sl-snap-card { display:flex; flex-direction:column; height:100%; background:#fff; transition: transform .25s ease; }
.sl-snap-card:hover { transform: translateY(-2px); }

/* Media */
.sl-snap-media { position:relative; width:100%; height: var(--slsnap-media-h, 260px); overflow:hidden; }
.sl-snap-media-inner, .sl-snap-media img { width:100%; height:100%; }
.sl-snap-media img { object-fit: var(--slsnap-fit, cover); object-position: var(--slsnap-pos, center); display:block; }

.sl-snap-content { padding:16px; }
.sl-snap-title { margin:0 0 8px; line-height:1.25; }
.sl-snap-desc { opacity:.9; }

/* Peek offset */
.sl-snap-viewport { padding-left: var(--slsnap-peek-l, 0px); padding-right: var(--slsnap-peek-r, 0px); }

/* Arrows */
.sl-snap-arrow { position:absolute; top:50%; transform:translateY(-50%); z-index:3; border:none; width:40px; height:40px; border-radius:999px; background:#ffffffcc; cursor:pointer; display:flex; align-items:center; justify-content:center; color:inherit; }
.sl-snap-arrow.prev { left:0; }
.sl-snap-arrow.next { right:0; }
.sl-snap-arrow svg, .sl-snap-arrow img { width:var(--slsnap-arrow-ico, 24px); height:var(--slsnap-arrow-ico, 24px); display:block; }
.sl-snap-arrow svg { fill: currentColor; }

/* Dots */
.sl-snap-dots { display:flex; gap:8px; justify-content:center; margin-top:12px; }
.sl-snap-dots button { width:8px; height:8px; border-radius:999px; border:none; background:#bbb; cursor:pointer; }
.sl-snap-dots button[aria-current="true"] { background:#333; }

/* Icon overlay */
.sl-snap-icon { position:absolute; right:12px; bottom:12px; width:var(--slsnap-icon-size,40px); height:var(--slsnap-icon-size,40px); color:#fff; display:inline-flex; align-items:center; justify-content:center; }
.sl-snap-icon svg { width:100%; height:100%; fill:currentColor; display:block; }
.sl-snap-icon img { width:100%; height:100%; display:block; }
