.sfs-slider{position:relative;overflow:hidden;width:100%;height:var(--sfs-hm,420px);background:var(--sfs-bg,#111);color:var(--sfs-text,#fff);box-sizing:border-box}
@media (min-width:768px){.sfs-slider{height:var(--sfs-h,600px)}}

.sfs-track,.sfs-slide{position:absolute;top:0;right:0;bottom:0;left:0}
.sfs-slide{opacity:0;visibility:hidden;transition:opacity var(--sfs-speed,800ms) ease,visibility 0s linear var(--sfs-speed,800ms)}
.sfs-slide.is-active{opacity:1;visibility:visible;z-index:1;transition:opacity var(--sfs-speed,800ms) ease,visibility 0s}

/* Image de fond (optionnelle) */
.sfs-img{display:block;width:100%;height:100%;object-fit:cover}
.sfs-slide.has-bg::after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,var(--sfs-overlay,.35))}

/* Image produit : arrive de la droite */
.sfs-product{position:absolute;z-index:2;right:clamp(56px,7vw,110px);top:50%;width:auto;height:auto;max-width:42%;max-height:82%;object-fit:contain;transform:translate(0,-50%)}
.sfs-slide.is-active .sfs-product{animation:sfs-in-right .8s ease .25s both}
@keyframes sfs-in-right{from{opacity:0;transform:translate(110px,-50%)}to{opacity:1;transform:translate(0,-50%)}}
@keyframes sfs-in-right-m{from{opacity:0;transform:translate(calc(-50% + 90px),0)}to{opacity:1;transform:translate(-50%,0)}}

/* Texte */
.sfs-caption{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;align-items:center;box-sizing:border-box;padding:0 clamp(56px,8vw,120px)}
.sfs-a-center .sfs-caption{justify-content:center;text-align:center}
.sfs-a-left .sfs-caption{justify-content:flex-start;text-align:left}
.sfs-a-right .sfs-caption{justify-content:flex-end;text-align:right}
.sfs-inner{max-width:720px}
.sfs-a-left .sfs-inner,.sfs-a-right .sfs-inner{max-width:min(720px,55%)}
.sfs-slide.has-product .sfs-caption{justify-content:flex-start;text-align:left}
.sfs-slide.has-product .sfs-inner{max-width:50%}

.sfs-slider .sfs-title{margin:0 0 .5em;padding:0;font-size:clamp(1.5rem,4.5vw,3.2rem);line-height:1.15;font-weight:800;color:var(--sfs-title,inherit);text-transform:none;letter-spacing:normal}
.sfs-slider .sfs-text{margin:0 0 1.2em;font-size:clamp(.95rem,2vw,1.25rem);line-height:1.5;color:inherit}
.sfs-slider .sfs-btn{display:inline-block;padding:.8em 1.6em;background:var(--sfs-btn-bg,#fff);color:var(--sfs-btn-color,#111);text-decoration:none;font-weight:600;border-radius:var(--sfs-btn-radius,4px);transition:opacity .2s}
.sfs-slider .sfs-btn:hover,.sfs-slider .sfs-btn:focus{opacity:.85;color:var(--sfs-btn-color,#111)}

/* Mobile : texte en haut, produit en bas au centre */
@media (max-width:767px){
	.sfs-br{display:none}
	.sfs-a-left .sfs-inner,.sfs-a-right .sfs-inner{max-width:100%}
	.sfs-a-right .sfs-caption{justify-content:center;text-align:center}
	.sfs-slide.has-product .sfs-caption{align-items:flex-start;justify-content:center;text-align:center;padding-top:22px;padding-left:56px;padding-right:56px}
	.sfs-slide.has-product .sfs-inner{max-width:100%}
	.sfs-slide.has-product .sfs-text{margin-bottom:.8em}
	.sfs-product{right:auto;left:50%;top:auto;bottom:36px;max-width:68%;max-height:36%;transform:translate(-50%,0)}
	.sfs-slide.is-active .sfs-product{animation-name:sfs-in-right-m}
}

/* Flèches */
.sfs-prev,.sfs-next{position:absolute;top:50%;z-index:3;width:42px;height:42px;margin-top:-21px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:26px;line-height:42px;text-align:center;cursor:pointer}
.sfs-prev{left:10px}
.sfs-next{right:10px}
.sfs-prev:hover,.sfs-next:hover{background:rgba(0,0,0,.65)}

/* Points */
.sfs-dots{position:absolute;left:0;right:0;bottom:14px;z-index:3;display:flex;justify-content:center;gap:8px}
.sfs-dot{width:11px;height:11px;padding:0;border:2px solid #fff;border-radius:50%;background:transparent;cursor:pointer;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.sfs-dot.is-active{background:#fff}

.sfs-prev:focus-visible,.sfs-next:focus-visible,.sfs-dot:focus-visible,.sfs-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}

@media (prefers-reduced-motion:reduce){
	.sfs-slide,.sfs-slide.is-active{transition:none}
	.sfs-slide.is-active .sfs-product{animation:none}
}
