/* ETS NOUROUR RASSOUL - feuille de style principale */
:root{--g:#0b7a3b;--gd:#07522a;--gdd:#053d20;--o:#f58220;--od:#d96a0c;--ink:#14201a;--mut:#6b7a72;--line:#e6ece8;--bg:#f5f8f6;--w:#fff;--r:14px;--sh:0 10px 30px rgba(7,82,42,.10);--sh2:0 22px 50px rgba(7,82,42,.18);--ease:cubic-bezier(.22,.8,.24,1)}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}
body{font-family:'Poppins',system-ui,sans-serif;color:var(--ink);background:var(--w);line-height:1.55;overflow-x:clip;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}ul{list-style:none}
input,select,textarea{font:inherit;color:inherit}
.i{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.i.fill{fill:currentColor;stroke:none}
.wrap{width:min(1280px,94%);margin:0 auto}
/* page loader */
#loader{position:fixed;inset:0;background:#fff;z-index:999;display:grid;place-items:center;transition:opacity .5s,visibility .5s}
#loader img{width:170px;animation:pulse 1.2s ease-in-out infinite}#loader.off{opacity:0;visibility:hidden}
@keyframes pulse{50%{transform:scale(1.07);opacity:.7}}
#progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--o),var(--g));z-index:998}
/* topbar */
.topbar{background:var(--gd);color:#fff;font-size:12.5px}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:40px}
.topbar span{display:inline-flex;align-items:center;gap:8px;margin-right:26px}.topbar .i{width:16px;height:16px}
.topbar .promo{background:var(--o);padding:9px 22px;font-weight:600;margin-right:-3%;border-radius:0}
/* header */
.head{background:#fff;position:sticky;top:0;z-index:90;transition:box-shadow .3s}.head.stuck{box-shadow:0 8px 24px rgba(0,0,0,.08)}
.head .wrap{display:flex;align-items:center;gap:34px;padding:12px 0}
.logo img{height:66px;width:auto;transition:height .3s}.head.stuck .logo img{height:50px}
.search{flex:1;position:relative;max-width:640px}
.search input{width:100%;height:48px;border-radius:30px;border:1.5px solid var(--line);background:var(--bg);padding:0 64px 0 22px;outline:0;transition:.25s}
.search input:focus{border-color:var(--g);background:#fff;box-shadow:0 0 0 4px rgba(11,122,59,.1)}
.search button{position:absolute;right:5px;top:5px;width:38px;height:38px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;transition:.25s}.search button:hover{background:var(--o);transform:rotate(90deg)}
.sugg{position:absolute;top:56px;left:0;right:0;background:#fff;border-radius:var(--r);box-shadow:var(--sh2);overflow:hidden;display:none;z-index:5}.sugg.on{display:block}
.sugg a{display:flex;gap:12px;align-items:center;padding:10px 16px;font-size:14px}.sugg a:hover{background:var(--bg)}.sugg img{width:42px;height:42px;object-fit:cover;border-radius:8px}
.acts{display:flex;gap:6px;margin-left:auto}
.act{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11.5px;color:var(--ink);padding:6px 12px;position:relative;border-radius:10px;transition:.25s}.act:hover{color:var(--g);background:var(--bg)}
.act .i{width:23px;height:23px}.badge{position:absolute;top:0;right:6px;background:var(--o);color:#fff;font-size:10px;font-weight:700;min-width:18px;height:18px;border-radius:9px;display:grid;place-items:center;padding:0 4px}
.badge.bump{animation:bump .5s}@keyframes bump{40%{transform:scale(1.6)}}
.burger{display:none}
/* nav */
.nav{background:var(--g);color:#fff}.nav .wrap{display:flex;align-items:center}
.nav>.wrap>ul{display:flex;flex:1}
.nav li{position:relative}.nav li>a{display:flex;align-items:center;gap:6px;padding:15px 18px;font-weight:500;font-size:14.5px;transition:.25s}
.nav li>a .i{width:14px;height:14px;transition:.25s}.nav li:hover>a{background:var(--gd)}.nav li:hover>a .i{transform:rotate(180deg)}
.nav li>a.cur{box-shadow:inset 0 -3px var(--o)}
.drop{position:absolute;top:100%;left:0;min-width:210px;background:#fff;color:var(--ink);border-radius:0 0 var(--r) var(--r);box-shadow:var(--sh2);opacity:0;visibility:hidden;transform:translateY(12px);transition:.3s var(--ease);padding:8px;z-index:20}
.nav li:hover .drop{opacity:1;visibility:visible;transform:none}.drop a{display:block;padding:10px 16px;border-radius:8px;font-size:14px}.drop a:hover{background:var(--bg);color:var(--g);padding-left:22px}
.nav .promoLink{background:var(--o);font-weight:600;margin-left:auto;border-radius:30px;margin:8px 0}.nav .promoLink:hover{background:var(--od)}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:14px 28px;border-radius:30px;font-weight:600;font-size:14.5px;transition:.3s var(--ease);position:relative;overflow:hidden}
.btn .i{width:17px;height:17px;transition:.3s}.btn:hover .i.go{transform:translateX(5px)}
.btn-o{background:var(--o);color:#fff;box-shadow:0 8px 20px rgba(245,130,32,.35)}.btn-o:hover{background:var(--od);transform:translateY(-3px);box-shadow:0 14px 28px rgba(245,130,32,.4)}
.btn-g{background:var(--g);color:#fff}.btn-g:hover{background:var(--gd);transform:translateY(-3px)}
.btn-w{background:#fff;color:var(--ink);box-shadow:var(--sh)}.btn-w:hover{transform:translateY(-3px);box-shadow:var(--sh2)}
.btn-line{border:1.5px solid var(--g);color:var(--g)}.btn-line:hover{background:var(--g);color:#fff}
.btn.block{width:100%}
.btn::after{content:"";position:absolute;top:0;left:-80%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg)}.btn:hover::after{left:130%;transition:.7s}
/* hero */
.hero{position:relative;height:clamp(340px,36vw,470px);overflow:hidden;background:var(--bg)}
.slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s,visibility .9s}.slide.on{opacity:1;visibility:visible}
.slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right center;transform:scale(1.12);transition:transform 7s linear}.slide.on>img{transform:scale(1)}
.slide .wrap{position:relative;height:100%;display:flex;align-items:center}
.slide.s1::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.93) 0,rgba(255,255,255,.7) 34%,transparent 58%)}
.slide.s3::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,61,32,.88) 0,rgba(5,61,32,.55) 45%,transparent 75%)}
.slide.s3 .hc{color:#fff}.slide.s3 .hc p{color:#e8f3ec}
.slide.s2 .hc{color:#fff}.slide.s2 .hc p{color:#fff3e6}
.hc{max-width:560px;position:relative}
.hc small{display:inline-block;font-weight:600;letter-spacing:.18em;text-transform:uppercase;font-size:12px;color:var(--o);margin-bottom:14px}.slide.s2 small{color:#fff}
.hc h1,.hc h2{font-size:clamp(30px,4.4vw,56px);line-height:1.08;font-weight:700;letter-spacing:-.02em}.hc h1 em,.hc h2 em{font-style:normal;color:var(--o)}.slide.s2 em{color:var(--gdd)}
.hc p{margin:18px 0 28px;color:#43524a;font-size:16px;max-width:460px}
.slide .hc>*{animation:up .9s var(--ease) both}.slide .hc>*:nth-child(2){animation-delay:.15s}.slide .hc>*:nth-child(3){animation-delay:.3s}.slide .hc>*:nth-child(4){animation-delay:.45s}
@keyframes up{from{opacity:0;transform:translateY(34px)}}
.harr{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:#fff;box-shadow:var(--sh);display:grid;place-items:center;z-index:3;transition:.25s}.harr:hover{background:var(--o);color:#fff}.harr.p{left:20px}.harr.n{right:20px}.harr.p .i{transform:rotate(180deg)}
.dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:3}.dots button{width:10px;height:10px;border-radius:5px;background:rgba(255,255,255,.7);box-shadow:0 0 0 1px rgba(0,0,0,.1);transition:.4s}.dots button.on{width:34px;background:var(--o)}
/* sections */
.sec{padding:70px 0}.sec.alt{background:var(--bg)}
.stitle{display:flex;align-items:center;gap:22px;justify-content:center;margin-bottom:38px}
.stitle h2{font-size:clamp(24px,3vw,34px);font-weight:700;color:var(--gd);white-space:nowrap}.stitle::before,.stitle::after{content:"";height:2px;flex:1;max-width:160px;background:linear-gradient(90deg,transparent,var(--o))}.stitle::after{transform:scaleX(-1)}
.shead{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.shead h2{font-size:28px;font-weight:700;color:var(--gd)}.shead a{color:var(--g);font-weight:600;display:inline-flex;gap:6px;align-items:center}.shead a:hover{color:var(--o)}
/* univers */
.univ{display:grid;grid-template-columns:repeat(7,1fr);gap:18px}
.u{position:relative;aspect-ratio:3/4;border-radius:var(--r);overflow:hidden;box-shadow:var(--sh);display:block}
.u img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.u:hover img{transform:scale(1.14)}
.u::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(5,61,32,.88))}
.u span{position:absolute;left:8px;right:8px;bottom:10px;z-index:2;height:44px;background:var(--g);color:#fff;border-radius:30px;padding:0 10px 0 14px;display:flex;justify-content:space-between;align-items:center;gap:4px;font-size:12px;font-weight:600;white-space:nowrap;transition:transform .35s,box-shadow .35s}
.u:hover span{transform:translateY(-4px);box-shadow:0 8px 18px rgba(0,0,0,.25)}.u span .i{width:14px;height:14px}
/* reassurance */
.reas{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:34px 0}
.reas div{display:flex;align-items:center;gap:16px}.reas .ic{width:56px;height:56px;border-radius:16px;background:#fff3e8;color:var(--o);display:grid;place-items:center;transition:.4s}.reas .ic .i{width:26px;height:26px}.reas div:hover .ic{background:var(--o);color:#fff;transform:rotate(-8deg) scale(1.08)}
.reas b{display:block;font-size:14.5px}.reas small{color:var(--mut);font-size:12.5px}
/* offer banner */
.offer{position:relative;border-radius:22px;overflow:hidden;min-height:230px;display:flex;align-items:center;background:var(--gd)}
.offer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.offer::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,61,32,.55),transparent 70%);z-index:1}
.offer .in{position:relative;z-index:2;padding:40px 54px;color:#fff;display:flex;gap:40px;align-items:center;flex-wrap:wrap}
.offer h2{font-size:clamp(28px,4vw,48px);line-height:1.05;font-weight:700}.offer p{opacity:.95;margin-top:8px}
.count{display:flex;gap:10px;margin-top:16px}.count div{background:rgba(255,255,255,.2);backdrop-filter:blur(8px);border-radius:12px;padding:8px 14px;text-align:center;min-width:62px}.count b{font-size:22px;display:block;line-height:1.1}.count small{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
/* products */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.card{background:#fff;border-radius:var(--r);overflow:hidden;box-shadow:0 2px 14px rgba(7,82,42,.07);transition:.45s var(--ease);position:relative;display:flex;flex-direction:column}
.card:hover{transform:translateY(-8px);box-shadow:var(--sh2)}
.card .ph{position:relative;aspect-ratio:1/1.08;overflow:hidden;background:var(--bg);display:block}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.card:hover .ph img{transform:scale(1.1)}
.tag{position:absolute;top:12px;left:12px;background:var(--o);color:#fff;font-size:11.5px;font-weight:700;padding:4px 11px;border-radius:20px;z-index:2}.tag.n{background:var(--g)}
.wish{position:absolute;top:10px;right:10px;width:38px;height:38px;border-radius:50%;background:#fff;display:grid;place-items:center;box-shadow:var(--sh);z-index:2;transition:.3s}.wish:hover{transform:scale(1.15)}.wish.on{color:#e0245e}.wish.on .i{fill:#e0245e}
.quick{position:absolute;left:12px;right:12px;bottom:-60px;z-index:2;transition:.4s var(--ease)}.card:hover .quick{bottom:12px}
.card .bd{padding:16px 16px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .cat{font-size:11.5px;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}.card h3{font-size:15px;font-weight:600;line-height:1.3}
.stars{display:flex;gap:2px;color:#f5a623}.stars .i{width:13px;height:13px;fill:currentColor;stroke:none}.stars .e{color:#d9dfdb}
.price{display:flex;align-items:baseline;gap:10px;margin-top:auto}.price b{font-size:17px;color:var(--gd)}.price s{color:var(--mut);font-size:13px}
.card .add{margin-top:10px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--g);color:#fff;padding:10px;border-radius:24px;font-size:13px;font-weight:600;transition:.3s}.card .add:hover{background:var(--o)}.card .add .i{width:16px;height:16px}
.skel{height:360px;border-radius:var(--r);background:linear-gradient(100deg,#eef2ef 30%,#f8faf9 50%,#eef2ef 70%);background-size:200% 100%;animation:sk 1.2s infinite}@keyframes sk{to{background-position:-200% 0}}
/* news */
.news{background:linear-gradient(135deg,var(--gd),var(--g));color:#fff;border-radius:22px;padding:44px;display:flex;justify-content:space-between;gap:30px;align-items:center;flex-wrap:wrap}
.news h3{font-size:26px}.news p{opacity:.85}.news form{display:flex;background:#fff;border-radius:30px;padding:5px;min-width:min(440px,100%)}.news input{flex:1;border:0;outline:0;padding:0 18px;background:none;color:var(--ink)}
/* footer */
footer{background:var(--gd);color:#d6e6dc;margin-top:0}footer .top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:44px;padding:64px 0 40px}
footer .lg{background:#fff;border-radius:14px;padding:8px 16px;display:inline-block;margin-bottom:18px}footer .lg img{height:52px}
footer h4{color:#fff;margin-bottom:18px;font-size:16px}footer li{margin-bottom:10px;font-size:14px}footer li a{transition:.25s;display:inline-block}footer li a:hover{color:var(--o);transform:translateX(5px)}
footer .ct li{display:flex;gap:10px;align-items:flex-start}footer .ct .i{width:17px;height:17px;margin-top:4px;color:var(--o)}
.soc{display:flex;gap:10px;margin-top:18px}.soc a{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.1);display:grid;place-items:center;font-size:12px;font-weight:700;transition:.3s}.soc a:hover{background:var(--o);transform:translateY(-4px)}
footer .bot{border-top:1px solid rgba(255,255,255,.12);padding:20px 0;display:flex;justify-content:space-between;font-size:13px;flex-wrap:wrap;gap:10px}
.wa{position:fixed;right:22px;bottom:22px;width:58px;height:58px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 10px 26px rgba(37,211,102,.5);z-index:80;animation:ring 2.4s infinite}.wa .i{width:28px;height:28px}
@keyframes ring{0%{box-shadow:0 0 0 0 rgba(37,211,102,.55)}70%,100%{box-shadow:0 0 0 22px rgba(37,211,102,0)}}
.totop{position:fixed;right:30px;bottom:92px;width:44px;height:44px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center;z-index:80;opacity:0;visibility:hidden;transition:.3s}.totop.on{opacity:1;visibility:visible}.totop .i{transform:rotate(-90deg)}
/* page header */
.ph-hero{position:relative;height:200px;background:var(--gd);overflow:hidden;color:#fff;display:flex;align-items:center}
.ph-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}.ph-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,61,32,.9),rgba(5,61,32,.3));z-index:1}
.ph-hero .wrap{position:relative;z-index:2}.ph-hero h1{font-size:clamp(32px,5vw,52px);font-weight:700;letter-spacing:-.02em}.crumb{font-size:13px;opacity:.9;margin-top:6px}.crumb a:hover{color:var(--o)}
/* shop */
.shop{display:grid;grid-template-columns:260px 1fr;gap:32px;padding:40px 0 70px;align-items:start}
.side{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;position:sticky;top:130px}.side h4{font-size:15px;margin:0 0 12px}.side h4:not(:first-child){margin-top:24px}
.side a,.side label{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;font-size:14px;cursor:pointer;transition:.2s}.side a:hover,.side a.on{background:#e9f5ee;color:var(--g);font-weight:600}.side small{color:var(--mut)}
.side input[type=range]{width:100%;accent-color:var(--g)}
.bar{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:14px;flex-wrap:wrap}.bar select{border:1.5px solid var(--line);border-radius:30px;padding:9px 18px;background:#fff;outline:0}
.chips{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.chips a{padding:7px 18px;border-radius:30px;border:1.5px solid var(--line);font-size:13.5px;transition:.25s}.chips a:hover,.chips a.on{background:var(--g);color:#fff;border-color:var(--g)}
.shop .grid{grid-template-columns:repeat(3,1fr)}.empty{text-align:center;padding:70px 20px;color:var(--mut);grid-column:1/-1}
.filt-btn{display:none}
/* product */
.pd{display:grid;grid-template-columns:1.05fr 1fr;gap:54px;padding:44px 0 30px}
.gal .main{border-radius:var(--r);overflow:hidden;aspect-ratio:1/1;background:var(--bg);cursor:zoom-in}.gal .main img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gal .th{display:flex;gap:12px;margin-top:12px}.gal .th button{width:84px;height:84px;border-radius:12px;overflow:hidden;border:2px solid transparent;opacity:.7}.gal .th button.on{border-color:var(--o);opacity:1}.gal .th img{width:100%;height:100%;object-fit:cover}
.pd h1{font-size:32px;line-height:1.2;margin:6px 0 10px}.pd .price b{font-size:30px;color:var(--g)}.pd .lead{color:var(--mut);margin:18px 0}
.opt{margin:20px 0}.opt>b{display:block;margin-bottom:10px;font-size:14px}.opt .row{display:flex;gap:10px;flex-wrap:wrap}.opt .row button{min-width:46px;height:44px;padding:0 14px;border-radius:10px;border:1.5px solid var(--line);font-weight:500;transition:.25s}.opt .row button:hover{border-color:var(--g)}.opt .row button.on{background:var(--g);color:#fff;border-color:var(--g)}
.opt .sw button{width:36px;height:36px;border-radius:50%;padding:0;min-width:0;box-shadow:inset 0 0 0 3px #fff}.opt .sw button.on{border-color:var(--o);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--o)}
.qty{display:inline-flex;align-items:center;border:1.5px solid var(--line);border-radius:30px;overflow:hidden}.qty button{width:42px;height:42px;display:grid;place-items:center}.qty button:hover{background:var(--bg)}.qty span{min-width:36px;text-align:center;font-weight:600}
.buy{display:flex;gap:14px;flex-wrap:wrap;align-items:center;margin:24px 0}.buy .btn{flex:1;min-width:170px}
.trust{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid var(--line);padding-top:20px}.trust div{display:flex;gap:8px;align-items:center;font-size:12.5px;color:var(--mut)}.trust .i{color:var(--g)}
.tabs{display:flex;gap:6px;border-bottom:2px solid var(--line);margin-top:30px}.tabs button{padding:14px 26px;font-weight:600;color:var(--mut);position:relative}.tabs button.on{color:var(--g)}.tabs button.on::after{content:"";position:absolute;left:0;right:0;bottom:-2px;height:2px;background:var(--g)}
.tabc{padding:26px 0;color:#43524a;max-width:820px}
/* drawer */
.ov{position:fixed;inset:0;background:rgba(5,30,16,.5);backdrop-filter:blur(3px);z-index:150;opacity:0;visibility:hidden;transition:.35s}.ov.on{opacity:1;visibility:visible}
.drawer{position:fixed;top:0;right:0;height:100%;width:min(440px,100%);background:#fff;z-index:160;transform:translateX(100%);transition:.5s var(--ease);display:flex;flex-direction:column}.drawer.on{transform:none}
.drawer header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--line)}.drawer h3{font-size:19px}
.drawer .items{flex:1;overflow:auto;padding:10px 24px}.drawer footer{background:#fff;padding:20px 24px;border-top:1px solid var(--line);color:var(--ink)}
.ci{display:grid;grid-template-columns:78px 1fr auto;gap:14px;padding:16px 0;border-bottom:1px solid var(--line);align-items:center}.ci img{width:78px;height:78px;border-radius:12px;object-fit:cover}.ci h4{font-size:14px;line-height:1.3}.ci small{color:var(--mut)}.ci .qty button{width:30px;height:30px}.ci .qty{margin-top:8px}
.rm{color:var(--mut);padding:6px;border-radius:50%}.rm:hover{color:#d33;background:#fdecec}
.tot{display:flex;justify-content:space-between;font-size:15px;margin-bottom:8px}.tot.big{font-size:19px;font-weight:700;color:var(--gd)}
.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,120px);background:var(--gdd);color:#fff;padding:14px 26px;border-radius:30px;z-index:300;transition:.5s var(--ease);box-shadow:var(--sh2);font-size:14px;display:flex;gap:10px;align-items:center}.toast.on{transform:translate(-50%,0)}.toast .i{color:var(--o)}
/* cart page / checkout / forms */
.two{display:grid;grid-template-columns:1.6fr 1fr;gap:34px;padding:40px 0 70px;align-items:start}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}.box h3{margin-bottom:18px;font-size:18px}.box+.box{margin-top:20px}
.f{display:grid;gap:16px}.f.c2{grid-template-columns:1fr 1fr}.f label{font-size:13px;font-weight:500;display:grid;gap:6px}
.f input,.f select,.f textarea{border:1.5px solid var(--line);border-radius:12px;padding:13px 15px;outline:0;background:#fff;transition:.25s;width:100%}.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--g);box-shadow:0 0 0 4px rgba(11,122,59,.1)}
.pay{display:grid;gap:12px}.pay label{display:flex;align-items:center;gap:14px;border:1.5px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;transition:.25s}.pay label:has(input:checked){border-color:var(--g);background:#eef8f2}.pay input{accent-color:var(--g)}.pay b{display:block;font-size:14.5px}.pay small{color:var(--mut)}
.steps{display:flex;justify-content:center;gap:0;padding:30px 0 0}.steps div{display:flex;align-items:center;gap:10px;color:var(--mut);font-size:14px}.steps div+div::before{content:"";width:70px;height:2px;background:var(--line);margin:0 14px}.steps span{width:32px;height:32px;border-radius:50%;background:var(--line);display:grid;place-items:center;font-weight:700}.steps .on{color:var(--g);font-weight:600}.steps .on span{background:var(--g);color:#fff}
.msg{padding:14px 18px;border-radius:12px;background:#fff3e8;color:#8a4a0c;font-size:14px;margin-bottom:16px}.msg.ok{background:#e9f5ee;color:var(--gd)}
.tabs2{display:flex;margin-bottom:22px;background:var(--bg);border-radius:30px;padding:4px}.tabs2 button{flex:1;padding:11px;border-radius:30px;font-weight:600;color:var(--mut);transition:.3s}.tabs2 button.on{background:#fff;color:var(--g);box-shadow:var(--sh)}
.auth{max-width:520px;margin:50px auto 70px}
.about{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.about img{border-radius:22px;box-shadow:var(--sh2)}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}.stats b{font-size:40px;color:var(--o);display:block}
/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}.rv.in{opacity:1;transform:none}
.rv.l{transform:translateX(-50px)}.rv.r{transform:translateX(50px)}.rv.in.l,.rv.in.r{transform:none}
.pt{animation:pin .6s var(--ease)}@keyframes pin{from{opacity:0;transform:translateY(14px)}}
@media(max-width:1100px){.univ{grid-template-columns:repeat(4,1fr)}.grid{grid-template-columns:repeat(3,1fr)}.shop .grid{grid-template-columns:repeat(2,1fr)}footer .top{grid-template-columns:1fr 1fr}.pd,.two,.about{grid-template-columns:1fr}.reas{grid-template-columns:1fr 1fr}.search{max-width:none}}
@media(max-width:820px){.topbar span:not(:first-child){display:none}.topbar .promo{display:none}.head .wrap{gap:12px;flex-wrap:wrap}.burger{display:grid;place-items:center;width:42px;height:42px}.search{order:5;flex-basis:100%}.act small{display:none}.logo img{height:50px}
.nav{position:fixed;top:0;left:0;bottom:0;width:min(320px,86%);z-index:170;transform:translateX(-100%);transition:.45s var(--ease);overflow:auto}.nav.on{transform:none}.nav .wrap{display:block;padding:20px 0}.nav>.wrap>ul{display:block}.drop{position:static;opacity:1;visibility:visible;transform:none;background:var(--gd);box-shadow:none;display:none;border-radius:0}.drop a{color:#fff}.nav li.open .drop{display:block}.nav .promoLink{margin:14px 18px;justify-content:center}
.univ{grid-template-columns:repeat(2,1fr)}.grid,.shop .grid{grid-template-columns:repeat(2,1fr);gap:12px}.shop{grid-template-columns:1fr}.side{position:fixed;left:0;top:0;bottom:0;width:min(320px,88%);z-index:170;transform:translateX(-100%);transition:.4s;overflow:auto;border-radius:0}.side.on{transform:none}.filt-btn{display:inline-flex}.quick{display:none}.card h3{font-size:13.5px}.sec{padding:46px 0}.slide.s1::before{background:linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.6))}.harr{display:none}.stats{grid-template-columns:1fr 1fr}.offer .in{padding:30px 24px}.news{padding:30px 22px}.f.c2{grid-template-columns:1fr}.trust{grid-template-columns:1fr}.steps div+div::before{width:24px}.stitle::before,.stitle::after{display:none}}

html{overflow-x:clip}
@media(max-width:820px){
.topbar{display:none}
.head .wrap{gap:8px 10px;padding:8px 0}.logo{margin-right:auto}.logo img,.head.stuck .logo img{height:38px}
.acts{margin-left:0;gap:0}.acts .act:nth-child(2){display:none}.act{padding:6px 9px}.act .i{width:22px}
.search input{height:42px}.search button{width:32px;height:32px}
.head.stuck .search{display:none}
.wa{width:52px;height:52px;right:16px;bottom:16px}.wa .i{width:28px;height:28px}.totop{right:20px;bottom:78px;width:40px;height:40px}
footer .top{grid-template-columns:1fr 1fr;gap:26px 18px;padding:38px 0 22px}
footer .top>div:first-child,footer .top>div:last-child{grid-column:1/-1}
footer .lg img{height:44px}footer p{font-size:13.5px}footer h4{margin-bottom:10px;font-size:15px}footer li{margin-bottom:7px;font-size:13.5px}
.soc{margin-top:14px}.soc a{width:36px;height:36px}
footer .bot{flex-direction:column;align-items:center;text-align:center;font-size:12px;padding:16px 0 80px}}

.hero .slide{opacity:1;visibility:visible}.hero .hc{z-index:2}.hero .hc h1{color:var(--ink)}
@media(max-width:820px){.hc h1{font-size:30px}.hc p{font-size:14.5px;margin:12px 0 20px}.hero{height:clamp(360px,100vw,430px)}.slide>img{object-position:78% center}.slide.s1::before{background:linear-gradient(90deg,rgba(255,255,255,.94) 0,rgba(255,255,255,.78) 60%,rgba(255,255,255,.3))}}

/* ---- animations supplementaires ---- */
main{animation:pgin .8s var(--ease) both}@keyframes pgin{from{opacity:0;transform:translateY(16px)}}
body.leave main,body.leave footer{opacity:0;transform:translateY(-10px);transition:.24s}
.slide>img{animation:kb 16s ease-out both}@keyframes kb{from{transform:scale(1.14)}}
.hc h1{animation:none!important;opacity:1!important}.hc .w{display:inline-block;animation:up .85s var(--ease) both;animation-delay:calc(var(--i)*.07s + .1s)}
.marq{overflow:hidden;background:var(--gd);color:#fff;font-size:13px;font-weight:500;padding:12px 0}.marq .mt{display:flex;width:max-content;animation:mq 34s linear infinite}.marq:hover .mt{animation-play-state:paused}
.marq span{padding:0 34px;white-space:nowrap;position:relative}.marq span::after{content:"";position:absolute;right:-3px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--o)}@keyframes mq{to{transform:translateX(-50%)}}
.u.rv{clip-path:inset(0 0 100% 0 round 14px);transition:clip-path 1s var(--ease),opacity .6s,transform .9s var(--ease)}.u.rv.in{clip-path:inset(0 round 14px)}.u{transition:transform .25s ease-out}
.nav>.wrap>ul>li>a{position:relative}.nav>.wrap>ul>li>a::before{content:"";position:absolute;left:18px;right:18px;bottom:8px;height:2px;background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav>.wrap>ul>li:hover>a::before{transform:scaleX(1)}
.card .ph::after{content:"";position:absolute;top:0;left:-90%;width:50%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);pointer-events:none}.card:hover .ph::after{left:140%;transition:.8s}
.card .add{position:relative;overflow:hidden}.rip{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:rip .65s linear;pointer-events:none}@keyframes rip{to{transform:scale(1);opacity:0}}
.reas .ic{animation:fl 4s ease-in-out infinite}.reas div:nth-child(2) .ic{animation-delay:.5s}.reas div:nth-child(3) .ic{animation-delay:1s}.reas div:nth-child(4) .ic{animation-delay:1.5s}@keyframes fl{50%{transform:translateY(-5px)}}
.offer>img{transform:scale(1.15)}.stitle h2{background:linear-gradient(90deg,var(--gd),var(--g),var(--gd));background-size:200%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gs 6s linear infinite}@keyframes gs{to{background-position:200%}}
.wish.on .i{animation:pop .5s}@keyframes pop{40%{transform:scale(1.5)}}
/* pages statiques */
.mo{display:none}.prose{max-width:860px;padding:44px 0 80px}.prose h2{font-size:22px;color:var(--gd);margin:30px 0 10px}.prose p{margin-bottom:14px;color:#43524a}
.tb{width:100%;border-collapse:collapse;margin:14px 0 20px;font-size:14.5px}.tb th,.tb td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}.tb th{background:var(--bg);color:var(--gd)}
.q{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;background:#fff;overflow:hidden;transition:.3s}.q[open]{box-shadow:var(--sh);border-color:var(--g)}
.q summary{list-style:none;cursor:pointer;padding:18px 22px;font-weight:600;display:flex;justify-content:space-between;align-items:center;gap:14px}.q summary::-webkit-details-marker{display:none}.q summary .i{transition:.35s;color:var(--o)}.q[open] summary .i{transform:rotate(135deg)}.q div{padding:0 22px 18px;animation:pin .5s var(--ease)}.q p{margin:0}
.tl{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.tl div{text-align:center;font-size:12.5px;color:var(--mut)}.tl span{display:block;height:6px;border-radius:3px;background:var(--line);margin-bottom:8px}.tl .on{color:var(--g);font-weight:600}.tl .on span{background:var(--g)}
/* pied de page */
footer .top{grid-template-columns:1.4fr 1fr 1fr 1fr 1.3fr}
footer .fc summary{list-style:none;color:#fff;font-weight:600;font-size:16px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;cursor:default}footer .fc summary::-webkit-details-marker{display:none}footer .fc summary .i{display:none}
footer .bot a:hover{color:var(--o)}
@media(max-width:1100px){footer .top{grid-template-columns:1fr 1fr 1fr}footer .brand,footer .ct{grid-column:1/-1}}
@media(max-width:820px){
footer .top{grid-template-columns:1fr;gap:0;padding:26px 0 8px}
footer .brand{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px}footer .brand p{display:none}footer .lg{margin:0;padding:6px 12px}footer .lg img{height:36px}footer .soc{margin:0}footer .soc a{width:34px;height:34px}
footer .fc{border-top:1px solid rgba(255,255,255,.12)}footer .fc summary{margin:0;padding:15px 0;font-size:14.5px;cursor:pointer}footer .fc summary .i{display:block;width:18px;height:18px;transition:.3s}footer .fc[open] summary .i{transform:rotate(180deg)}footer .fc ul{padding-bottom:12px}footer .fc li{margin-bottom:6px;font-size:13.5px}
footer .ct{border-top:1px solid rgba(255,255,255,.12);padding:14px 0}footer .ct h4{display:none}footer .ct ul{display:grid;gap:6px}footer .ct li{margin:0;font-size:13px}
footer .bot{padding:14px 0 84px;font-size:11.5px;opacity:.8}footer .bot span:last-child{display:none}
.mo{display:block}.tl{grid-template-columns:1fr 1fr}.marq{font-size:12px;padding:10px 0}}

/* carrousel 3D */
.csub{text-align:center;color:var(--mut);font-size:14px;margin:-18px 0 8px}
.cov{position:relative}
.cvs{position:relative;height:clamp(380px,42vw,480px);perspective:1500px;transform-style:preserve-3d;touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none;overflow:hidden;padding:10px 0}
.cvs.drag,.cvs.drag .u{cursor:grabbing}.cvs.drag .u{transition:none!important}
.cvs .u{position:absolute;left:50%;top:50%;width:clamp(180px,19vw,250px);aspect-ratio:3/4;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.22,.8,.24,1),opacity .6s,filter .6s;will-change:transform;backface-visibility:hidden;-webkit-tap-highlight-color:transparent}
.cvs .u.c{box-shadow:0 30px 60px rgba(7,82,42,.35),0 0 0 3px rgba(245,130,32,.9)}
.cvs .u::before{content:"";position:absolute;top:0;left:-70%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:skewX(-20deg);z-index:3;pointer-events:none}
.cvs .u.c::before{animation:shn 3.6s ease-in-out infinite}@keyframes shn{0%,55%{left:-70%}100%{left:150%}}
.cb{position:absolute;top:50%;margin-top:-24px;width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:var(--sh2);display:grid;place-items:center;z-index:200;transition:.3s}.cb:hover{background:var(--o);color:#fff;transform:scale(1.1)}.cb.p{left:2%}.cb.n{right:2%}.cb.p .i{transform:rotate(180deg)}
.cdots{display:flex;justify-content:center;gap:8px;margin-top:6px}.cdots button{width:9px;height:9px;border-radius:5px;background:#cfdcd4;transition:.4s}.cdots button.on{width:30px;background:var(--o)}
@media(max-width:820px){.cvs{height:360px}.cvs .u{width:180px}.cb{width:40px;height:40px;margin-top:-20px}.csub{margin-top:-10px}
/* hero mobile : image au-dessus, texte sur fond uni */
.hero{height:auto;min-height:0;background:#fff}.hero .slide{position:relative;display:block}
.slide>img{position:relative;display:block;width:100%;height:240px;object-fit:cover;object-position:72% center;animation:none}
.slide.s1::before{display:none}.slide .wrap{display:block;height:auto;padding:24px 0 30px}
.hc{max-width:none}.hc h1{font-size:28px;line-height:1.15;color:var(--ink)}.hc p{color:#43524a;font-size:15px;margin:12px 0 22px}.hc .btn{width:100%}}
.badge[hidden]{display:none}

@media(max-width:820px){
.hero{height:clamp(400px,112vw,480px);min-height:0;background:var(--bg);overflow:hidden}
.hero .slide{position:absolute;inset:0;display:block}
.hero .slide>img{position:absolute;inset:0;width:100%;height:100%;object-position:70% center;animation:kb 16s ease-out both}
.hero .slide.s1::before{display:block;content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.82),rgba(255,255,255,.66))}
.hero .slide .wrap{position:relative;height:100%;display:flex;align-items:center;padding:0}
.hero .hc{max-width:none}.hero .hc h1{font-size:30px;line-height:1.15;color:var(--ink)}.hero .hc p{color:#2f3d35;font-weight:500;font-size:15px;margin:12px 0 22px}.hero .hc .btn{width:auto}}
.slide>img{z-index:0}.slide.s1::before{z-index:1}.slide .wrap{z-index:2}

.cvs{height:clamp(380px,40vw,470px)}.cvs .u{width:clamp(280px,27vw,360px)}
@media(max-width:820px){.cvs{height:320px}.cvs .u{width:250px}}

.cvs{height:clamp(380px,42vw,480px)}.cvs .u{width:clamp(180px,19vw,250px);aspect-ratio:3/4!important}
@media(max-width:820px){.cvs{height:360px}.cvs .u{width:180px}}

/* ---- navigation facilitee ---- */
:focus-visible{outline:3px solid var(--o);outline-offset:2px}
.bnav,.buybar,.sheet,.sov,.sbtn,.nx{display:none}
.back{display:inline-flex;align-items:center;gap:4px;height:36px;padding:0 16px 0 8px;border-radius:30px;background:var(--bg);color:var(--g);font-size:13px;font-weight:600;margin-bottom:12px;transition:.25s}.back:hover{background:var(--o);color:#fff}.back .i{width:18px;height:18px}
.ph-hero .back{background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(6px)}
.crumb.pc{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.crumb.pc .back{margin:0 8px 0 0}.crumb.pc a:hover{color:var(--o)}
.catbar{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin-bottom:16px;padding-bottom:4px;scroll-behavior:smooth}.catbar::-webkit-scrollbar{display:none}
.catbar a{flex:none;padding:9px 20px;border-radius:30px;background:var(--bg);font-size:13.5px;font-weight:500;white-space:nowrap;transition:.25s}.catbar a:hover{background:#dcefe3}.catbar a.on{background:var(--g);color:#fff}
.fs{margin-bottom:14px}.fs p{font-size:12.5px;margin-bottom:6px;color:var(--mut)}.fs i{display:block;height:7px;border-radius:4px;background:var(--line);overflow:hidden}.fs u{display:block;height:100%;background:linear-gradient(90deg,var(--g),var(--o));border-radius:4px;transition:width .6s var(--ease)}
.lk{display:block;width:100%;text-align:center;margin-top:12px;font-size:13.5px;color:var(--g);font-weight:600}.lk:hover{color:var(--o)}
@media(min-width:821px){.nav{position:sticky;top:var(--hh,82px);z-index:89}}
@media(max-width:820px){
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
.bnav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:0;right:0;bottom:0;z-index:120;background:#fff;box-shadow:0 -6px 24px rgba(7,82,42,.13);padding-bottom:env(safe-area-inset-bottom);animation:bup .6s var(--ease) both}@keyframes bup{from{transform:translateY(100%)}}
.bnav a,.bnav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:62px;font-size:10.5px;font-weight:500;color:#5b6b62;transition:.25s;-webkit-tap-highlight-color:transparent}
.bnav .i{width:23px;height:23px;transition:.3s}.bnav .on{color:var(--g);font-weight:600}.bnav .on .i{transform:translateY(-2px) scale(1.12)}
.bnav .on::before{content:"";position:absolute;top:0;left:30%;right:30%;height:3px;border-radius:0 0 4px 4px;background:var(--o)}
.bnav .badge{top:6px;right:calc(50% - 24px)}
body[data-page=product]{padding-bottom:calc(140px + env(safe-area-inset-bottom))}
.buybar{display:flex;position:fixed;left:0;right:0;bottom:calc(62px + env(safe-area-inset-bottom));z-index:119;background:#fff;padding:10px 14px;gap:10px;align-items:center;box-shadow:0 -6px 24px rgba(7,82,42,.13);animation:bup .6s var(--ease) both}
.buybar .btn{flex:1;padding:12px 8px;font-size:13.5px}.bbc{position:relative;flex:none;width:46px;height:46px;border-radius:50%;background:var(--bg);display:grid;place-items:center;color:var(--g)}.bbc .badge{top:-4px;right:-4px}
.bp{flex:none}.bp small{display:block;font-size:10.5px;color:var(--mut);line-height:1}.bp b{font-size:15px;color:var(--gd);white-space:nowrap}
.wa{bottom:calc(78px + env(safe-area-inset-bottom))}.totop{bottom:calc(142px + env(safe-area-inset-bottom))}body[data-page=product] .wa{bottom:calc(144px + env(safe-area-inset-bottom))}body[data-page=product] .totop{bottom:calc(208px + env(safe-area-inset-bottom))}
.head.stuck .sbtn{display:flex}
.nx{display:grid;position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.15);place-items:center;color:#fff}.nav .wrap{padding-top:62px}
.sheet{display:block;position:fixed;left:0;right:0;bottom:0;max-height:84vh;overflow:auto;background:#fff;border-radius:22px 22px 0 0;z-index:170;transform:translateY(105%);transition:transform .5s var(--ease);padding:8px 18px calc(20px + env(safe-area-inset-bottom))}.sheet.on{transform:none}
.grab{width:44px;height:5px;border-radius:3px;background:#d5ddd8;margin:6px auto 12px}.sh{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.sh h3{font-size:18px}
.sx{width:38px;height:38px;border-radius:50%;background:var(--bg);display:grid;place-items:center;flex:none}
.sa{display:flex;align-items:center;gap:14px;padding:10px 6px;border-radius:14px}.sa:active{background:var(--bg)}.sa img{width:54px;height:54px;border-radius:12px;object-fit:cover}.sa b{flex:1;font-size:15px}.sa .i{width:18px;color:var(--o)}
.ss{display:flex;gap:8px;padding:0 6px 12px 74px}.ss a{padding:6px 16px;border-radius:20px;background:var(--bg);font-size:13px}.sr+.sr{border-top:1px solid var(--line)}.sheet.on .sr{animation:pin .5s var(--ease) both}.sheet.on .sr:nth-child(3){animation-delay:.05s}.sheet.on .sr:nth-child(4){animation-delay:.1s}.sheet.on .sr:nth-child(5){animation-delay:.15s}.sheet.on .sr:nth-child(6){animation-delay:.2s}.sheet.on .sr:nth-child(7){animation-delay:.25s}
.sov{display:block;position:fixed;inset:0;background:#fff;z-index:180;opacity:0;visibility:hidden;transform:translateY(-20px);transition:.35s var(--ease);overflow:auto;padding:12px 16px calc(20px + env(safe-area-inset-bottom))}.sov.on{opacity:1;visibility:visible;transform:none}
.sf{display:flex;gap:8px;align-items:center}.sf input{flex:1;min-width:0;height:46px;border-radius:30px;border:1.5px solid var(--g);padding:0 18px;outline:0;background:#fff}.sf button[aria-label=Rechercher]{flex:none;width:46px;height:46px;border-radius:50%;background:var(--g);color:#fff;display:grid;place-items:center}
.sl2{margin:22px 4px 10px;color:var(--mut);font-size:12.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.sch{display:flex;flex-wrap:wrap;gap:8px}.sch a{padding:9px 18px;border-radius:30px;background:var(--bg);font-size:14px}
.si{display:flex;gap:14px;align-items:center;padding:10px 4px;border-bottom:1px solid var(--line)}.si img{width:56px;height:56px;border-radius:12px;object-fit:cover}.si span{display:grid;font-size:14px}.si b{color:var(--g)}.sall{display:flex;justify-content:center;gap:8px;align-items:center;margin-top:18px;color:var(--g);font-weight:600}
footer .bot{padding-bottom:20px}}
@media(min-width:821px){.side,.box[style*="sticky"]{top:calc(var(--hh,82px) + 62px)!important}}

/* ---- boutons raffines ---- */
.btn{min-height:48px;padding:0 28px;line-height:1;letter-spacing:.01em;white-space:nowrap;-webkit-tap-highlight-color:transparent;border:1.5px solid transparent;user-select:none}
.btn.sm{min-height:40px;padding:0 18px;font-size:13px}
.btn:active{transform:scale(.97)!important;transition-duration:.1s}
.btn-o{background:linear-gradient(135deg,#ff9a3c,var(--o) 55%,var(--od))}
.btn-g{background:linear-gradient(135deg,var(--g),var(--gd));box-shadow:0 8px 20px rgba(11,122,59,.28)}.btn-g:hover{background:linear-gradient(135deg,#0e8f46,var(--gd));box-shadow:0 14px 28px rgba(11,122,59,.35)}
.btn-line{background:#fff;border-color:var(--g)}.btn-line.on{background:#fdecf1;border-color:#e0245e;color:#e0245e}.btn-line.on .i{fill:#e0245e}
.btn[disabled],.btn.is-disabled{opacity:.55;pointer-events:none;box-shadow:none}
.btn.loading{pointer-events:none;color:transparent!important}.btn.loading .i{opacity:0}.btn.loading::before{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;animation:spin .7s linear infinite}.btn-line.loading::before{border-color:rgba(11,122,59,.25);border-top-color:var(--g)}@keyframes spin{to{transform:rotate(360deg)}}
.card .add{min-height:42px;border:0;letter-spacing:.01em}.card .add:active{transform:scale(.97)}.card .add.done{background:var(--o)}
.wish,.qty button,.cb,.harr,.rm,.sx,.back{-webkit-tap-highlight-color:transparent}.wish:active,.qty button:active{transform:scale(.88)}
.qty{background:#fff}.qty button{width:44px;height:44px}.ci .qty button{width:34px;height:34px}
.rm{width:36px;height:36px;display:grid;place-items:center}
.pact{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}.pact .btn{flex:1;min-width:150px}
.lb{position:fixed;inset:0;background:rgba(5,20,12,.88);z-index:400;display:grid;place-items:center;padding:20px;cursor:zoom-out;animation:fadein .3s}.lb img{max-width:100%;max-height:92vh;border-radius:14px;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:zin .4s var(--ease)}.lb button{position:absolute;top:18px;right:18px;width:46px;height:46px;border-radius:50%;background:#fff;display:grid;place-items:center}
@keyframes fadein{from{opacity:0}}@keyframes zin{from{transform:scale(.9);opacity:0}}
@media(max-width:820px){.btn{min-height:50px}.btn.sm{min-height:44px}.buybar .btn{min-height:48px;padding:0 8px}.hc .btn{min-height:52px}}

main{min-height:55vh}
.opts{display:flex;align-items:center;gap:8px}.dotc{display:inline-block;width:14px;height:14px;border-radius:50%;box-shadow:0 0 0 1.5px #fff,0 0 0 2.5px var(--line)}
@media(max-width:820px){.steps{padding:20px 10px 0}.steps div{font-size:12px;gap:6px}.steps div+div::before{width:14px;margin:0 6px}.steps span{width:26px;height:26px;font-size:12px}}

/* ======================================================================
   v3 : boutique mobile corrigée, pages d'information, finitions
   ====================================================================== */
/* --- Boutique : la colonne produits ne doit jamais dépasser l'écran (cause du bug mobile) --- */
.shop{grid-template-columns:260px minmax(0,1fr)}
.shop>*{min-width:0}
.grid>*{min-width:0}
.card h3{overflow-wrap:anywhere}
.card .ph img{aspect-ratio:auto}
@media(max-width:1100px){.shop{grid-template-columns:minmax(0,1fr)}.shop .grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.shop .grid,.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){
 .ph-hero{height:132px}.ph-hero h1{font-size:28px}.crumb{font-size:12px}
 .shop{grid-template-columns:minmax(0,1fr);gap:0;padding:18px 0 46px}
 .grid,.shop .grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .card{border-radius:12px}.card:hover{transform:none}
 .card .ph{aspect-ratio:1/1}
 .card .bd{padding:10px 10px 12px;gap:3px}
 .card .cat{font-size:9.5px;letter-spacing:.05em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .card h3{font-size:12.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
 .stars .i{width:11px;height:11px}
 .price{gap:6px;flex-wrap:wrap;align-items:baseline}.price b{font-size:13.5px}.price s{font-size:11px}
 .card .add{margin-top:8px;min-height:36px;padding:0 6px;font-size:11.5px;gap:5px;border-radius:20px}.card .add .i{width:14px;height:14px}
 .tag{top:8px;left:8px;font-size:10px;padding:3px 9px}
 .wish{width:32px;height:32px;top:8px;right:8px}.wish .i{width:17px;height:17px}
 .bar{flex-wrap:nowrap;gap:8px;margin-bottom:14px}.bar>div{display:flex;align-items:center;gap:10px;min-width:0}.bar b{font-size:13px;white-space:nowrap}
 .bar select{padding:8px 12px;font-size:13px;max-width:44vw}
 .filt-btn{min-height:40px!important;padding:0 14px!important;font-size:13px!important}
 .catbar{margin:0 -3% 12px;padding:0 3% 4px}.catbar a{padding:8px 16px;font-size:13px}
 .chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;margin:0 -3% 14px;padding:0 3%}.chips::-webkit-scrollbar{display:none}.chips a{flex:none;white-space:nowrap}
 .shead h2{font-size:21px}.shead{margin-bottom:18px}
 .sec{padding:38px 0}
}
@media(max-width:360px){.card h3{font-size:12px}.card .add{font-size:11px}.price b{font-size:13px}}

/* --- finitions diverses --- */
.soc a[hidden]{display:none}.q[hidden]{display:none}
footer .ct li a,footer .ct li span{overflow-wrap:anywhere;min-width:0}
.about>img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
section[id]{scroll-margin-top:150px}

/* --- pages d'information (CGV, confidentialité, livraison) --- */
.legal{display:grid;grid-template-columns:270px minmax(0,1fr);gap:56px;padding:48px 0 90px;align-items:start}
.toc{position:sticky;top:calc(var(--hh,82px) + 70px);background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px 14px;display:grid;gap:2px;box-shadow:0 2px 14px rgba(7,82,42,.05)}
.toc b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);padding:0 10px 10px}
.toc a{padding:9px 10px;border-radius:9px;font-size:13.5px;color:#43524a;border-left:3px solid transparent;transition:.2s;line-height:1.35}
.toc a:hover{background:var(--bg);color:var(--g)}.toc a.on{background:#e9f5ee;color:var(--gd);font-weight:600;border-left-color:var(--o)}
.prose2{min-width:0;max-width:820px}
.prose2 .upd{display:inline-block;font-size:12.5px;color:var(--mut);background:var(--bg);border-radius:30px;padding:5px 14px;margin-bottom:16px}
.prose2 .lead{font-size:17px;line-height:1.7;color:#2c3a32;margin-bottom:30px;padding-left:18px;border-left:4px solid var(--o)}
.prose2 section{padding:26px 0;border-top:1px solid var(--line)}
.prose2 h2{display:flex;align-items:center;gap:14px;font-size:21px;color:var(--gd);margin-bottom:14px;line-height:1.3}
.prose2 h2 span{flex:none;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--g),var(--gd));color:#fff;display:grid;place-items:center;font-size:14px;font-weight:700}
.prose2 p{margin-bottom:13px;color:#43524a;line-height:1.75}
.prose2 ul,.prose2 ol:not(.flow){margin:0 0 14px 4px;display:grid;gap:9px;color:#43524a;line-height:1.65}
.prose2 ul li{position:relative;padding-left:22px}.prose2 ul li::before{content:"";position:absolute;left:2px;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--o)}
.prose2 a{color:var(--g);font-weight:500;text-decoration:underline;text-underline-offset:3px}.prose2 a:hover{color:var(--o)}
.prose2 b{color:var(--ink)}
.note{background:#fff7ee;border:1px solid #fbdcbd;border-left:4px solid var(--o);border-radius:12px;padding:16px 18px;margin:16px 0;color:#6b3d0f;font-size:14.5px;line-height:1.65}.note b{color:#7a3e05}
.legalid{font-size:13px;color:var(--mut)}
.prose2 .tw{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:8px 0 16px}.prose2 .tb{margin:0;min-width:480px}.prose2 .tb tr:last-child td{border-bottom:0}
.flow{counter-reset:f;display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:14px 0 18px;list-style:none}
.flow li{counter-increment:f;position:relative;background:var(--bg);border-radius:14px;padding:46px 16px 16px;font-size:13.5px;line-height:1.55;color:#43524a}
.flow li::before{content:counter(f);position:absolute;left:16px;top:14px;width:26px;height:26px;border-radius:50%;background:var(--o);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center}
.flow li b{display:block;color:var(--gd);font-size:14.5px;margin-bottom:3px}
@media(max-width:900px){
 .legal{grid-template-columns:minmax(0,1fr);gap:20px;padding:22px 0 60px}
 .toc{position:static;display:flex;overflow-x:auto;gap:6px;padding:10px;scrollbar-width:none;border-radius:14px}.toc::-webkit-scrollbar{display:none}
 .toc b{display:none}.toc a{flex:none;white-space:nowrap;background:var(--bg);border-left:0;padding:8px 14px;border-radius:30px;font-size:13px}.toc a.on{background:var(--g);color:#fff}
 .prose2 h2{font-size:18px;gap:11px}.prose2 h2 span{width:30px;height:30px;font-size:13px}.prose2 .lead{font-size:15.5px}
 section[id]{scroll-margin-top:96px}
}

/* --- FAQ --- */
.faqw{max-width:900px;padding:40px 0 90px}
.faqtools{position:sticky;top:calc(var(--hh,82px) + 62px);z-index:5;background:rgba(255,255,255,.96);backdrop-filter:blur(8px);padding:6px 0 14px;margin-bottom:10px}
.faqs{display:flex;align-items:center;gap:10px;height:52px;border:1.5px solid var(--line);border-radius:30px;padding:0 20px;background:var(--bg);transition:.25s;color:var(--mut)}
.faqs:focus-within{border-color:var(--g);background:#fff;box-shadow:0 0 0 4px rgba(11,122,59,.1)}
.faqs input{flex:1;min-width:0;border:0;outline:0;background:none;color:var(--ink);height:100%}
.faqc{display:flex;flex-wrap:wrap;gap:8px;scrollbar-width:none;margin-top:12px;padding-bottom:2px}.faqc::-webkit-scrollbar{display:none}
.faqc button{flex:none;padding:8px 18px;border-radius:30px;background:var(--bg);font-size:13.5px;font-weight:500;color:#43524a;transition:.25s;white-space:nowrap}.faqc button:hover{background:#dcefe3}.faqc button.on{background:var(--g);color:#fff}
.faqw .q p{line-height:1.7;color:#43524a}.faqw .q a{color:var(--g);text-decoration:underline;text-underline-offset:3px}
.faqhelp{margin-top:34px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;background:linear-gradient(135deg,var(--gd),var(--g));color:#fff;border-radius:20px;padding:30px 34px}
.faqhelp h3{font-size:21px;margin-bottom:4px}.faqhelp p{opacity:.9}.faqbtn{display:flex;gap:10px;flex-wrap:wrap}.faqhelp .btn-line{background:transparent;border-color:rgba(255,255,255,.7);color:#fff}.faqhelp .btn-line:hover{background:#fff;color:var(--gd)}
@media(max-width:820px){.faqc{flex-wrap:nowrap;overflow-x:auto}.faqw{padding:18px 0 60px}.faqtools{top:calc(var(--hh,60px) + 4px);padding-bottom:10px}.faqs{height:46px}.faqhelp{padding:24px 20px}.faqbtn{width:100%}.faqbtn .btn{flex:1}.q summary{padding:15px 16px;font-size:14.5px}.q div{padding:0 16px 16px}}

/* --- fiche produit : image plus compacte --- */
.pd{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:44px;padding:32px 0 24px;align-items:start}
.gal{max-width:440px;width:100%}
.gal .main{aspect-ratio:1/1}
.gal .th button{width:64px;height:64px}
@media(max-width:900px){.pd{grid-template-columns:minmax(0,1fr);gap:22px;padding:16px 0 20px}.gal{max-width:100%}.gal .main{aspect-ratio:4/3;max-height:300px;border-radius:14px}.gal .th{gap:8px;margin-top:8px;overflow-x:auto}.gal .th button{width:56px;height:56px;flex:none}.pd h1{font-size:23px}.pd .price b{font-size:24px}}

/* --- en-têtes de section : titre + « Voir tout » propres --- */
.shead{gap:16px;align-items:center}
.shead h2{min-width:0;line-height:1.2;letter-spacing:-.01em}
.shead a{flex:none;white-space:nowrap;padding:8px 16px;border-radius:30px;background:#e9f5ee;font-size:13.5px;transition:.25s}
.shead a:hover{background:var(--o);color:#fff}
.shead a .i{width:16px;height:16px;transition:transform .25s}.shead a:hover .i{transform:translateX(3px)}
@media(max-width:820px){.shead{margin-bottom:16px;gap:10px}.shead h2{font-size:19px}.shead a{padding:7px 13px;font-size:12.5px;gap:4px}.shead a .i{width:14px;height:14px}}
@media(max-width:360px){.shead h2{font-size:17px}}

/* --- mobile : pas de zoom automatique sur les champs, pas de zoom au double-tap --- */
html{touch-action:manipulation}
@media(max-width:820px){input,select,textarea{font-size:16px!important}}

/* --- garde-fous anti-coupure (petits écrans) --- */
.two>*,.about>*,.pd>*{min-width:0}
.two{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr)}
.about{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.tabs{overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:none;white-space:nowrap}
img,video{max-width:100%}
@media(max-width:900px){.two,.about{grid-template-columns:minmax(0,1fr)}.two{gap:22px;padding:24px 0 50px}.about{gap:26px}.tabs button{padding:12px 18px;font-size:14px}}

/* icônes des réseaux sociaux */
.soc a{font-size:0}.soc a .i{width:18px;height:18px;fill:currentColor;stroke:none}
.soc a:hover{background:var(--o);color:#fff}

/* mode maintenance + libellés masqués */
label[hidden]{display:none!important}
.mtbody{background:linear-gradient(160deg,#042f19,#0b7a3b);min-height:100vh;display:grid;place-items:center;padding:20px}
.mt{max-width:560px;background:#fff;border-radius:24px;padding:44px 32px;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.3)}
.mt img{height:70px;margin:0 auto 22px}.mt h1{font-size:28px;color:var(--gd);margin-bottom:12px}.mt p{color:#43524a;line-height:1.7;margin-bottom:26px}
.mtb{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
#mtbar{background:#c62828;color:#fff;text-align:center;padding:8px 14px;font-size:13px;font-weight:600}

/* points de vente */
.shops{margin-top:22px;display:grid;gap:12px}.shops:empty{display:none}.shops h4{font-size:15px}
.shop{display:grid;gap:6px;background:var(--bg);border-radius:14px;padding:14px 16px}.shop b{color:var(--gd)}.shop span{color:var(--mut);font-size:14px}.shop .btn{justify-self:start;margin-top:4px}
#wref-box input{margin-top:6px}
