
#txsl_x3f{
	--red:#d00408; --red-l:#ff3a40; --red-soft:rgba(208,4,8,.10);
	--green:#4ade80; --gold:#facc15;
	--txt:#fff; --txt2:rgba(255,255,255,.86); --txt3:rgba(255,255,255,.62); --txt4:rgba(255,255,255,.32);
	--bd:rgba(255,255,255,.08); --bd-strong:rgba(208,4,8,.30);
	--r:12px; --r-lg:16px; --r-xs:8px;
	--ease:cubic-bezier(.22,.61,.36,1); --spring:cubic-bezier(.34,1.56,.64,1);
	font-family:'Urbanist',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;
	color:var(--txt)!important; line-height:1.6; -webkit-font-smoothing:antialiased;
	display:block; position:relative; width:100%; max-width:100%; overflow:hidden;
	background:
		radial-gradient(120% 85% at 6% -12%, rgba(208,4,8,.22) 0%, rgba(176,3,7,.06) 32%, transparent 62%),
		radial-gradient(90% 70% at 104% 4%, rgba(255,58,64,.10) 0%, transparent 55%),
		radial-gradient(95% 90% at 50% 118%, rgba(176,3,7,.16) 0%, transparent 60%),
		linear-gradient(180deg, #0b0304 0%, #060606 46%, #030303 100%) !important;
	isolation:isolate; contain:layout style;
}
/* v1.5.0 — halo rouge premium (statique, GPU-léger) : remplace la fumée animée. */
#txsl_x3f .txsl-wrap::before{content:'';position:absolute;z-index:-1;top:-8%;left:50%;transform:translateX(-50%);width:min(1100px,120%);height:120%;pointer-events:none;background:radial-gradient(60% 46% at 50% 30%, rgba(208,4,8,.14) 0%, rgba(176,3,7,.05) 40%, transparent 72%);filter:blur(8px)}
#txsl_x3f *,#txsl_x3f *::before,#txsl_x3f *::after{box-sizing:border-box}
#txsl_x3f h2,#txsl_x3f p{margin:0}
#txsl_x3f a{text-decoration:none!important;color:inherit}
#txsl_x3f button{appearance:none;-webkit-appearance:none;border:0;background:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;font-family:inherit!important}
#txsl_x3f img{max-width:100%;height:auto;display:block}
#txsl_x3f::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;z-index:6;background:linear-gradient(90deg,transparent,var(--red) 30%,var(--red-l) 50%,var(--red) 70%,transparent);opacity:.8;animation:txslNeon 3s ease-in-out infinite;will-change:opacity}
@keyframes txslNeon{0%,100%{opacity:.5}50%{opacity:1}}

#txsl_x3f .txsl-wrap{position:relative;z-index:2;width:min(1280px,100%);margin:0 auto!important;padding:clamp(32px,4.6vw,60px) clamp(16px,4vw,44px)}

/* HEAD */
#txsl_x3f .txsl-head{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:24px;flex-wrap:wrap}
#txsl_x3f .txsl-head-txt{flex:1;min-width:220px}
#txsl_x3f .txsl-kicker{display:inline-flex;align-items:center;gap:10px;font-size:9.5px!important;font-weight:600!important;letter-spacing:.24em!important;text-transform:uppercase!important;color:var(--red-l)!important;margin-bottom:10px}
#txsl_x3f .txsl-kicker::before{content:'';width:20px;height:1.5px;background:linear-gradient(90deg,var(--red-l),transparent)}
#txsl_x3f .txsl-title{font-size:clamp(1.4rem,3.1vw,1.95rem)!important;font-weight:600!important;line-height:1.16!important;letter-spacing:.015em!important;text-transform:uppercase!important;color:var(--txt)!important}
#txsl_x3f .txsl-title em{font-style:normal;font-weight:700!important;color:var(--red-l)!important;text-shadow:0 0 26px rgba(208,4,8,.35)}
#txsl_x3f .txsl-lead{font-size:14px!important;color:var(--txt2)!important;max-width:540px;margin-top:12px!important;line-height:1.65}
#txsl_x3f .txsl-lead strong{color:var(--green)}

#txsl_x3f .txsl-nav{display:flex;gap:10px;flex-shrink:0}
#txsl_x3f .txsl-arrow{width:44px;height:44px;display:grid!important;place-items:center;border-radius:50%!important;border:1px solid var(--bd)!important;background:rgba(255,255,255,.03)!important;color:var(--txt2)!important;transition:border-color .22s,background-color .22s,color .22s,transform .22s var(--spring)}
#txsl_x3f .txsl-arrow svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
#txsl_x3f .txsl-arrow:hover{border-color:var(--bd-strong)!important;background:var(--red-soft)!important;color:var(--red-l)!important;transform:translateY(-2px)}
#txsl_x3f .txsl-arrow:active{transform:scale(.92)}
#txsl_x3f .txsl-arrow[disabled]{opacity:.30;pointer-events:none}

/* VIEWPORT + TRACK (scroll-snap horizontal) */
#txsl_x3f .txsl-viewport{position:relative;margin:0 -4px}
#txsl_x3f .txsl-track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;padding:6px 4px 14px;scrollbar-width:none;overscroll-behavior-x:contain;cursor:grab}
#txsl_x3f .txsl-track::-webkit-scrollbar{display:none}
#txsl_x3f .txsl-track.is-grabbing{cursor:grabbing;scroll-behavior:auto;scroll-snap-type:none}
/* v1.9.0 — TACTILE : plus d'accrochage CSS (le JS gère le positionnement) → le scroll
   VERTICAL de la page passe librement sur la section, et on évite le bug iOS scroll-snap+filtre. */
@media(hover:none){#txsl_x3f .txsl-track{scroll-snap-type:none}}

/* CARD — petites, image 100% sur fond blanc */
#txsl_x3f .txsl-card{flex:0 0 clamp(196px,66vw,236px);scroll-snap-align:start;display:flex;flex-direction:column;background:linear-gradient(180deg,rgba(20,8,8,.45) 0%,rgba(10,4,4,.65) 100%);border:1px solid var(--bd);border-radius:var(--r-lg);overflow:hidden;position:relative;transition:border-color .22s,box-shadow .22s,transform .22s var(--ease);opacity:0;transform:translate3d(0,18px,0)}
#txsl_x3f.is-revealed .txsl-card{opacity:1;transform:translate3d(0,0,0);transition:opacity .5s var(--ease) calc((var(--i,1) - 1)*45ms),transform .5s var(--ease) calc((var(--i,1) - 1)*45ms),border-color .22s,box-shadow .22s}
#txsl_x3f .txsl-card:hover{border-color:var(--bd-strong);transform:translate3d(0,-4px,0);box-shadow:0 20px 36px rgba(0,0,0,.5),0 0 0 1px rgba(208,4,8,.08)}
#txsl_x3f .txsl-card.is-oos{opacity:.82}
#txsl_x3f.is-grab .txsl-card{pointer-events:none}

#txsl_x3f .txsl-card__media-wrap{position:relative}
#txsl_x3f .txsl-card__media{display:block!important;position:relative;aspect-ratio:4/3;background:#fff;overflow:hidden}
#txsl_x3f .txsl-card__img{width:100%!important;height:100%!important;object-fit:contain!important;object-position:center;transition:transform .8s var(--ease)}
#txsl_x3f .txsl-card:hover .txsl-card__img{transform:scale(1.05)}
#txsl_x3f .txsl-card__shine{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.10) 50%,transparent 70%);transform:translateX(-100%);transition:transform .9s var(--ease);mix-blend-mode:overlay}
#txsl_x3f .txsl-card:hover .txsl-card__shine{transform:translateX(100%)}
#txsl_x3f .txsl-card__badge{position:absolute;top:10px;left:10px;z-index:3;padding:5px 11px;border-radius:999px;font-size:9px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#fff!important}
#txsl_x3f .txsl-card__badge--deg{background:linear-gradient(135deg,#16a34a,var(--green))!important;box-shadow:0 4px 12px rgba(74,222,128,.3)}
#txsl_x3f .txsl-card__badge--oos{background:rgba(0,0,0,.85)!important;border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.82)!important;left:auto;right:10px}
#txsl_x3f .txsl-card__cat{position:absolute;bottom:10px;left:10px;z-index:3;padding:5px 11px;border-radius:999px;font-size:9px!important;font-weight:700!important;letter-spacing:.12em!important;text-transform:uppercase!important;background:rgba(0,0,0,.85)!important;border:1px solid rgba(208,4,8,.35);color:var(--red-l)!important}

#txsl_x3f .txsl-wl{position:absolute!important;top:10px;right:10px;z-index:10;display:inline-flex!important;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px!important;background:rgba(0,0,0,.78)!important;color:rgba(255,255,255,.78)!important;border:1px solid rgba(255,255,255,.12)!important;transition:color .22s,background-color .22s,border-color .22s,transform .22s var(--spring)}
#txsl_x3f .txsl-wl svg{width:17px;height:17px;pointer-events:none}
#txsl_x3f .txsl-wl:hover{color:var(--red-l)!important;border-color:rgba(208,4,8,.5)!important;background:rgba(0,0,0,.92)!important;transform:scale(1.08)}
#txsl_x3f .txsl-wl.is-in{color:#fff!important;background:linear-gradient(135deg,var(--red),var(--red-l))!important;border-color:var(--red)!important;animation:txslHeart .6s var(--spring)}
#txsl_x3f .txsl-wl.is-in svg{fill:currentColor}
@keyframes txslHeart{0%{transform:scale(1)}30%{transform:scale(1.35)}60%{transform:scale(.92)}100%{transform:scale(1)}}

#txsl_x3f .txsl-card__body{padding:14px;display:flex;flex-direction:column;gap:7px;flex:1}
#txsl_x3f .txsl-card__title{display:-webkit-box;font-size:14px!important;font-weight:800!important;line-height:1.25!important;text-transform:uppercase!important;color:var(--txt)!important;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.4em;transition:color .22s}
#txsl_x3f .txsl-card:hover .txsl-card__title{color:var(--red-l)!important}
#txsl_x3f .txsl-card__stock{font-size:10px!important;display:inline-flex;align-items:center;gap:6px}
#txsl_x3f .txsl-card__stock::before{content:'';width:6px;height:6px;border-radius:50%}
#txsl_x3f .txsl-card__stock.is-ok{color:rgba(154,230,100,.85)!important}
#txsl_x3f .txsl-card__stock.is-ok::before{background:rgba(154,230,100,.85);box-shadow:0 0 6px rgba(154,230,100,.7)}
#txsl_x3f .txsl-card__stock.is-no{color:rgba(255,255,255,.4)!important}
#txsl_x3f .txsl-card__stock.is-no::before{background:rgba(255,255,255,.3)}

#txsl_x3f .txsl-card__price{display:flex;flex-direction:column;gap:1px;margin-top:auto;line-height:1.25}
#txsl_x3f .txsl-card__from{font-size:9px;font-weight:600;color:var(--txt3);text-transform:uppercase;letter-spacing:.08em}
#txsl_x3f .txsl-card__amount{font-size:19px;font-weight:900;color:var(--red-l);line-height:1}
#txsl_x3f .txsl-card__amount small{font-size:.55em;font-weight:700;color:var(--txt2)}
#txsl_x3f .txsl-card__hint{font-size:9px;font-weight:700;color:var(--green);letter-spacing:.04em}
#txsl_x3f .txsl-card__price del{color:var(--txt3)!important;font-size:12px!important;margin-right:6px}
#txsl_x3f .txsl-card__price ins,#txsl_x3f .txsl-card__price .amount{text-decoration:none!important;color:var(--red-l)!important;background:none!important;font-weight:800!important;font-size:16px}

#txsl_x3f .txsl-card__actions{display:flex;gap:7px;margin-top:6px}
#txsl_x3f .txsl-card__btn{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;flex:1;min-height:42px!important;padding:0 10px!important;border-radius:var(--r-xs)!important;font-size:9.5px!important;font-weight:800!important;letter-spacing:.12em!important;text-transform:uppercase!important;white-space:nowrap;line-height:1!important;border:1px solid transparent!important;position:relative;overflow:hidden;transition:transform .22s,background-color .22s,border-color .22s,color .22s,box-shadow .22s}
#txsl_x3f .txsl-card__btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;position:relative;z-index:2}
#txsl_x3f .txsl-card__btn span{position:relative;z-index:2}
#txsl_x3f .txsl-card__btn--view{color:var(--txt2)!important;border-color:var(--bd)!important;background:rgba(255,255,255,.02)!important}
#txsl_x3f .txsl-card__btn--view:hover{border-color:var(--red)!important;color:var(--red-l)!important;background:var(--red-soft)!important}
#txsl_x3f .txsl-card__btn--cart{background:linear-gradient(135deg,var(--red),var(--red-l))!important;color:#fff!important;border-color:var(--red)!important}
#txsl_x3f .txsl-card__btn--cart:hover{transform:translate3d(0,-2px,0);box-shadow:0 10px 22px rgba(208,4,8,.4)}
#txsl_x3f .txsl-card__ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.4);transform:translate(-50%,-50%) scale(0);pointer-events:none;z-index:1}
#txsl_x3f .txsl-card__ripple.is-on{animation:txslRipple .6s var(--ease) forwards}
@keyframes txslRipple{0%{transform:translate(-50%,-50%) scale(0);opacity:1}100%{transform:translate(-50%,-50%) scale(4);opacity:0}}

/* CARD CTA fin de slider */
#txsl_x3f .txsl-card--cta{align-items:center;justify-content:center;gap:14px;text-align:center;background:linear-gradient(135deg,rgba(208,4,8,.12),rgba(10,4,4,.6));border:1px dashed var(--bd-strong)}
#txsl_x3f .txsl-card--cta:hover{background:linear-gradient(135deg,rgba(208,4,8,.2),rgba(10,4,4,.7));transform:translate3d(0,-4px,0)}
#txsl_x3f .txsl-cta-arrow{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:rgba(208,4,8,.14);border:1px solid var(--bd-strong);transition:transform .25s var(--spring),background-color .22s}
#txsl_x3f .txsl-card--cta:hover .txsl-cta-arrow{transform:scale(1.1);background:var(--red)}
#txsl_x3f .txsl-cta-arrow svg{width:22px;height:22px;fill:none;stroke:var(--red-l);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;transition:stroke .22s}
#txsl_x3f .txsl-card--cta:hover .txsl-cta-arrow svg{stroke:#fff}
#txsl_x3f .txsl-cta-lab{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--txt);line-height:1.25}

/* PROGRESS */
#txsl_x3f .txsl-progress{height:3px;background:rgba(255,255,255,.07);border-radius:999px;overflow:hidden;margin-top:14px}
#txsl_x3f .txsl-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--red),var(--red-l));border-radius:999px;transition:width .18s linear;box-shadow:0 0 8px rgba(208,4,8,.4)}

#txsl_x3f .txsl-empty{text-align:center;padding:60px 20px;color:var(--txt2);background:rgba(255,255,255,.02);border:1px dashed var(--bd);border-radius:var(--r-lg)}
#txsl_x3f .txsl-empty p{margin-bottom:18px!important;font-size:14px}

@media(max-width:540px){
	#txsl_x3f .txsl-head{align-items:flex-start}
	#txsl_x3f .txsl-nav{display:none}
	/* v1.8.0 — MOBILE COMPACT : cartes moins larges (66vw→~47vw) → on voit plus, moins « zoomé ». */
	#txsl_x3f .txsl-wrap{padding:clamp(24px,6vw,40px) clamp(14px,4vw,22px)}
	#txsl_x3f .txsl-track{gap:11px}
	#txsl_x3f .txsl-card{flex:0 0 clamp(158px,47vw,190px)}
	#txsl_x3f .txsl-card__body{padding:12px;gap:6px}
	#txsl_x3f .txsl-card__title{font-size:13px!important;min-height:2.35em}
	#txsl_x3f .txsl-card__from{font-size:8.5px}
	#txsl_x3f .txsl-card__amount{font-size:17px}
	#txsl_x3f .txsl-card__hint{font-size:8.5px}
	/* Boutons Voir + Ajouter garantis sur UNE ligne (flex, jamais de wrap) */
	#txsl_x3f .txsl-card__actions{gap:6px;flex-wrap:nowrap}
	#txsl_x3f .txsl-card__btn{min-height:40px!important;font-size:9px!important;padding:0 8px!important;gap:5px;letter-spacing:.08em!important}
	#txsl_x3f .txsl-card__btn svg{width:12px;height:12px}
}
/* v1.8.0 — TRÈS PETITS ÉCRANS (≤360px) : encore plus compact, libellés jamais rognés. */
@media(max-width:360px){
	#txsl_x3f .txsl-card{flex:0 0 46vw}
	#txsl_x3f .txsl-card__body{padding:10px;gap:5px}
	#txsl_x3f .txsl-card__title{font-size:12.5px!important}
	#txsl_x3f .txsl-card__amount{font-size:16px}
	#txsl_x3f .txsl-card__btn{font-size:8.5px!important;padding:0 6px!important;letter-spacing:.05em!important;gap:4px}
}
@media(prefers-reduced-motion:reduce){
	#txsl_x3f::before{display:none!important}
	#txsl_x3f .txsl-card{opacity:1!important;transform:none!important}
	#txsl_x3f *,#txsl_x3f *::before,#txsl_x3f *::after{transition:none!important;animation:none!important}
	#txsl_x3f .txsl-track{scroll-behavior:auto}
}
