:root{
  --green:#38ff70;
  --green2:#00d75a;
  --bg:#010604;
  --line:rgba(69,255,123,.24);
  --text:#f7fff8;
  --muted:#c7d9cb;
  --dotY:0px;
  --dotOpacity:.54;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,Arial,sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden}
.bg{position:fixed;inset:0;z-index:-5;pointer-events:none;background:radial-gradient(circle at 19% 20%,rgba(56,255,112,.10),transparent 28%),radial-gradient(circle at 74% 29%,rgba(54,255,110,.14),transparent 28%),linear-gradient(180deg,#020a05 0%,#020806 58%,#000 100%)}
.dotLayer{position:fixed;left:0;right:0;top:0;height:76vh;z-index:-4;pointer-events:none;opacity:var(--dotOpacity);overflow:hidden;mask-image:linear-gradient(180deg,#000 0%,#000 46%,rgba(0,0,0,.72) 66%,transparent 100%);-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 46%,rgba(0,0,0,.72) 66%,transparent 100%)}
.dotLayer:before{content:"";position:absolute;inset:-10vh -4vw;background-image:radial-gradient(circle,rgba(44,255,96,.78) 1.05px,transparent 1.75px);background-size:15px 15px;transform:translate3d(0,var(--dotY),0);transition:transform .05s linear;mask-image:radial-gradient(ellipse at 50% 26%,rgba(0,0,0,.22) 0%,rgba(0,0,0,.72) 28%,#000 62%,#000 100%);-webkit-mask-image:radial-gradient(ellipse at 50% 26%,rgba(0,0,0,.22) 0%,rgba(0,0,0,.72) 28%,#000 62%,#000 100%)}
.hero{position:relative;min-height:675px;padding:24px clamp(20px,5vw,76px) 0}.hero:after{content:"";position:absolute;left:0;right:0;bottom:-80px;height:250px;z-index:-3;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.55) 48%,#000 100%);pointer-events:none}
.nav{max-width:1460px;margin:0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:24px;position:relative;z-index:10}.brand{width:116px;min-width:116px;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;text-align:center;line-height:.82}.brandLeaf{width:86px;height:62px;object-fit:contain;filter:drop-shadow(0 0 12px rgba(72,255,124,.38))}.brand strong{font-size:43px;font-weight:900;letter-spacing:-.055em}.brand span{font-size:8px;letter-spacing:.52em;color:#6aff8e;font-weight:900;margin:10px 0 0 6px}.navlinks{position:absolute;top:1px;left:50%;transform:translateX(-50%);display:flex;gap:10px;white-space:nowrap}.navlinks a{color:#f3fff5;text-decoration:none;border:1px solid var(--line);background:rgba(2,16,8,.72);border-radius:999px;padding:13px 22px;font-size:13px;font-weight:850;box-shadow:inset 0 0 22px rgba(58,255,112,.035)}.navlinks a:hover{border-color:rgba(82,255,133,.50);background:rgba(8,38,18,.82)}
.cartTop,.floatingCart,.btn,.orderBtn{border:0;cursor:pointer;font-family:inherit;font-weight:900}.cartTop,.floatingCart{background:linear-gradient(135deg,#62ff79,#06d457);color:#011307;border-radius:999px;padding:16px 22px;box-shadow:0 0 36px rgba(35,255,94,.32)}.cartTop b,.floatingCart b{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:29px;background:#04170d;color:#fff;border-radius:999px;padding:0 9px;margin-left:8px}.cartIcon{margin-left:6px}
.heroInner{max-width:1136px;margin:0 auto;min-height:535px;padding-top:42px;display:grid;grid-template-columns:1fr 460px;gap:92px;align-items:center}.kicker{margin:0 0 12px;color:#52ff7c;text-transform:uppercase;font-size:17px;font-weight:900;letter-spacing:.32em}.hero h1{font-size:clamp(70px,7.65vw,98px);line-height:.9;letter-spacing:-.066em;margin:0 0 24px}.hero h1 span{display:block;color:var(--green);text-shadow:0 0 38px rgba(55,255,108,.46)}.sub{max-width:700px;color:#e5eee7;font-size:16px;line-height:1.55;margin:0}.actions{display:flex;gap:14px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:18px;border-radius:999px;padding:16px 28px;text-decoration:none}.btn span{font-size:25px;line-height:0}.primary{background:linear-gradient(135deg,#62ff79,#07d85b);color:#031108;box-shadow:0 14px 38px rgba(42,255,101,.18)}.ghost{background:rgba(2,17,9,.68);color:#f7fff8;border:1px solid var(--line)}.ghost:hover,.primary:hover{transform:translateY(-1px)}.danger{background:#351018;color:#ffc9c9}
.logoCard{justify-self:end;width:430px;height:430px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:40px;background:radial-gradient(circle at 50% 36%,rgba(42,255,105,.22) 0%,rgba(24,160,64,.09) 28%,rgba(0,12,6,.985) 68%),linear-gradient(180deg,rgba(9,48,23,.48),rgba(0,8,4,.96));border:1px solid rgba(103,255,136,.82);box-shadow:0 0 0 1px rgba(72,255,115,.12),0 0 22px rgba(70,255,114,.28),0 0 62px rgba(20,255,94,.20),inset 0 0 58px rgba(59,255,111,.075);overflow:hidden}.logoCard:before,.logoCard:after{content:"";position:absolute;top:42%;width:5px;height:108px;transform:translateY(-50%);border-radius:999px;background:rgba(111,255,139,.96);filter:blur(.5px);box-shadow:0 0 12px rgba(94,255,126,.94),0 0 34px rgba(30,255,94,.82),0 0 72px rgba(30,255,94,.52)}.logoCard:before{left:-1px}.logoCard:after{right:-1px}.logoCardInner{position:relative;z-index:2;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:56px 48px 52px}.logoCardInner:before{content:"";position:absolute;top:86px;left:50%;width:230px;height:180px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle,rgba(75,255,126,.36),rgba(75,255,126,.13) 38%,transparent 72%);filter:blur(10px);z-index:-1}.logoLeaf{width:178px;height:126px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(255,255,255,.22)) drop-shadow(0 0 28px rgba(64,255,113,.20));margin-bottom:30px}.logoText{font-size:82px;line-height:.82;font-weight:900;letter-spacing:-.075em;color:#fff;text-shadow:0 4px 0 rgba(255,255,255,.08),0 18px 25px rgba(0,0,0,.58)}.logoBoost{margin-top:38px;color:#fff;font-size:17px;font-weight:900;letter-spacing:.56em;padding-left:.56em;text-shadow:0 0 18px rgba(255,255,255,.22)}
main{max-width:1120px;margin:-22px auto 0;padding:0 18px 76px;position:relative}.tools{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 auto 18px;padding:13px;border-radius:18px;background:rgba(1,17,8,.78);border:1px solid rgba(66,255,119,.20);box-shadow:0 24px 70px rgba(0,0,0,.42);backdrop-filter:blur(10px)}.searchWrap{position:relative;display:block}.searchWrap span{position:absolute;left:18px;top:50%;transform:translateY(-50%);font-size:24px;color:#fff}input,select,textarea{width:100%;background:rgba(2,18,9,.88);color:#f6fff7;border:1px solid rgba(77,255,128,.20);border-radius:12px;padding:15px 16px;font:inherit;font-weight:700;outline:none}input{padding-left:52px}textarea{min-height:90px}.cat{padding:24px 0 48px}.catTitle span{color:#53ff7e;text-transform:uppercase;font-size:14px;font-weight:900;letter-spacing:.24em}.catTitle h2{font-size:30px;letter-spacing:-.03em;margin:6px 0 12px}.grid{display:grid;grid-template-columns:repeat(3,minmax(300px,1fr));gap:22px}.card{position:relative;overflow:hidden;min-height:282px;border-radius:18px;padding:17px 16px 15px;background:radial-gradient(circle at 82% 12%,rgba(62,255,116,.11),transparent 30%),linear-gradient(145deg,rgba(7,48,24,.94),rgba(0,15,8,.98));border:1px solid rgba(67,255,119,.24);box-shadow:0 22px 65px rgba(0,0,0,.48),inset 0 0 62px rgba(62,255,116,.025);transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}.card:hover{transform:translateY(-5px);border-color:rgba(84,255,132,.46);box-shadow:0 28px 82px rgba(0,0,0,.55),0 0 36px rgba(57,255,104,.13)}.badge{display:inline-block;border:1px solid rgba(82,255,132,.31);border-radius:8px;color:#55ff82;padding:7px 10px;font-weight:900;font-size:12px}.card h3{font-size:20px;line-height:1.14;margin:14px 0 6px}.meta{font-size:13px;color:#bfd0c3;margin:0 0 12px}.priceGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.pbox{position:relative;min-height:78px;border-radius:10px;padding:10px 9px;background:rgba(7,33,17,.72);border:1px solid rgba(80,255,128,.14)}.pbox.best{border-color:#49ff78;box-shadow:0 0 18px rgba(67,255,116,.10)}.pbox.best:before{content:'🔥 Meilleur prix';position:absolute;right:4px;top:-18px;font-size:10px;color:#baffc8;font-weight:900}.pbox span,.pbox small{display:block;color:#d9f4df;font-size:12px}.pbox b{display:block;font-size:19px;margin-top:4px}.pbox.best b,.pbox.best small,.pbox.best span{color:#49ff78}.pbox.off{opacity:.38}.buyRow{display:grid;grid-template-columns:1fr 128px;gap:10px;margin-top:15px}.orderBtn{min-height:48px;border-radius:12px;background:linear-gradient(135deg,#62ff79,#09d45b);color:#031108;box-shadow:0 0 24px rgba(46,255,105,.20)}.orderBtn:disabled{opacity:.38;cursor:not-allowed}.qtySelect{border-radius:12px;padding-left:14px}.floatingCart{position:fixed;right:32px;bottom:25px;z-index:15;padding:16px 22px}.drawer{position:fixed;inset:0;background:rgba(0,0,0,.58);backdrop-filter:blur(4px);z-index:30;display:none}.drawer.open{display:block}.drawerPanel{margin-left:auto;width:min(520px,100%);height:100%;background:linear-gradient(180deg,#061c0e,#010805);border-left:1px solid rgba(78,255,126,.2);padding:24px;overflow:auto}.drawerHead{display:flex;justify-content:space-between;align-items:center}.drawerHead h2{margin:0}.drawerHead button{font-size:34px;background:none;color:white;border:0;cursor:pointer}.cartRow{display:flex;justify-content:space-between;gap:12px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}.cartRow span{display:block;color:#c2d6c7;font-size:13px;margin-top:4px}.step{display:flex;align-items:center;gap:8px}.step button{width:28px;height:28px;border-radius:10px;border:1px solid rgba(80,255,128,.2);background:#082312;color:white;cursor:pointer}.step .x{color:#ff9999}.totals{margin:20px 0;padding:18px;border-radius:20px;background:rgba(88,255,135,.1);display:flex;justify-content:space-between}.totals strong{font-size:26px;color:#63ff81}.contactBox{display:grid;gap:10px}.drawerActions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.empty{color:#b7c9bc}
@media(max-width:1100px){.heroInner{grid-template-columns:1fr;gap:24px;justify-items:center;text-align:left;padding-top:40px}.heroText{width:100%;max-width:690px}.logoCard{justify-self:center;width:min(430px,92vw);height:min(430px,92vw)}.hero{min-height:auto;padding-bottom:64px}.nav{flex-wrap:wrap}.navlinks{position:static;transform:none;order:3;width:100%;overflow-x:auto;justify-content:flex-start;padding-top:16px}.cartTop{position:fixed;right:14px;top:14px;z-index:20}.grid{grid-template-columns:1fr 1fr}.tools{grid-template-columns:1fr}.hero h1{font-size:64px}main{margin-top:-10px}}
@media(max-width:700px){.hero{padding-left:16px;padding-right:16px}.brand{align-items:flex-start;width:86px;min-width:86px}.brandLeaf{width:72px;height:52px}.brand strong{font-size:34px}.brand span{font-size:7px}.heroInner{align-items:start;justify-items:start;text-align:left}.hero h1{font-size:54px}.kicker{font-size:13px}.sub{font-size:14px}.actions{flex-direction:column;width:100%}.actions .btn{width:100%}.grid{grid-template-columns:1fr}.priceGrid{grid-template-columns:repeat(2,1fr)}.buyRow{grid-template-columns:1fr}.floatingCart{right:14px;bottom:14px}.logoCard{width:100%;height:auto;aspect-ratio:1/1}.logoLeaf{width:38vw;max-width:178px}.logoText{font-size:clamp(66px,18vw,82px)}.logoBoost{font-size:clamp(13px,3.8vw,17px);letter-spacing:.48em;padding-left:.48em}.tools{margin-top:0}.cartTop{max-width:calc(100vw - 110px);white-space:nowrap;overflow:hidden}}


/* V23 fixes: no black square wrapper around logo card, mobile layout clean */
.heroVisual, .logoWrap, .logoCardBox, .logo-card-wrap{background:transparent!important;box-shadow:none!important;padding:0!important;border:0!important;overflow:visible!important;}
.logoCard{background:radial-gradient(circle at 50% 33%,rgba(64,255,112,.24) 0%,rgba(22,126,52,.08) 31%,rgba(0,8,4,.96) 69%),linear-gradient(180deg,rgba(5,35,17,.54),rgba(0,5,3,.96))!important;background-clip:padding-box!important;isolation:isolate;}
.logoCard::marker{display:none}
.logoCard img{background:transparent!important}
.logoCardInner{background:transparent!important;}
@media(max-width:700px){
  .hero{padding-top:88px!important;}
  .nav{align-items:flex-start!important;}
  .navlinks{display:none!important;}
  .cartTop{top:18px!important;right:16px!important;max-width:none!important;padding:14px 18px!important;font-size:14px!important;}
  .floatingCart{display:none!important;}
  .heroInner{padding-top:8px!important;gap:28px!important;}
  .heroText{order:1!important;}
  .logoCard{order:2!important;width:min(88vw,390px)!important;height:auto!important;aspect-ratio:1/1!important;margin:0 auto!important;border-radius:30px!important;overflow:hidden!important;}
  .tools{margin-top:24px!important;}
  .actions{position:relative!important;z-index:2!important;}
  .actions .btn{min-height:54px!important;}
}


/* V24 final logo tuning: original-style leaf, darker card, lighter glow */
.logoCard{
  background:
    radial-gradient(circle at 50% 31%,rgba(56,255,108,.14) 0%,rgba(21,118,48,.055) 28%,rgba(0,9,5,.985) 68%),
    linear-gradient(180deg,rgba(4,31,15,.50),rgba(0,6,3,.98))!important;
  border:1px solid rgba(104,255,139,.64)!important;
  box-shadow:
    0 0 0 1px rgba(78,255,121,.06),
    0 0 18px rgba(72,255,117,.16),
    0 0 42px rgba(20,255,94,.12),
    inset 0 0 46px rgba(59,255,111,.045)!important;
}
.logoCard:before,.logoCard:after{
  width:3px!important;
  height:82px!important;
  top:47%!important;
  opacity:.86!important;
  box-shadow:
    0 0 8px rgba(94,255,126,.78),
    0 0 22px rgba(30,255,94,.55),
    0 0 44px rgba(30,255,94,.28)!important;
}
.logoCardInner:before{
  top:100px!important;
  width:170px!important;
  height:135px!important;
  background:radial-gradient(circle,rgba(75,255,126,.18),rgba(75,255,126,.065) 42%,transparent 72%)!important;
  filter:blur(12px)!important;
}
.logoLeaf{
  width:164px!important;
  height:116px!important;
  margin-bottom:32px!important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.16)) drop-shadow(0 0 14px rgba(64,255,113,.10))!important;
}
.logoText{text-shadow:0 14px 20px rgba(0,0,0,.55)!important;}
@media(max-width:700px){
  .logoCard{width:min(88vw,390px)!important;}
  .logoLeaf{width:36vw!important;max-width:164px!important;height:auto!important;}
}

/* V25 final: carte logo sans carré noir externe + feuille validée */
.logoCard{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
  isolation:isolate!important;
}
.logoCard::before,.logoCard::after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:4px!important;
  height:112px!important;
  transform:translateY(-50%)!important;
  border-radius:999px!important;
  background:rgba(116,255,143,.95)!important;
  filter:blur(.25px)!important;
  opacity:.88!important;
  box-shadow:0 0 10px rgba(104,255,133,.86),0 0 28px rgba(35,255,96,.62),0 0 58px rgba(35,255,96,.36)!important;
  z-index:3!important;
}
.logoCard::before{left:-1px!important}.logoCard::after{right:-1px!important}
.logoCardInner{
  width:100%!important;
  height:100%!important;
  border-radius:40px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 50% 33%, rgba(43,255,103,.20) 0%, rgba(15,105,43,.075) 31%, rgba(0,7,4,.99) 67%),
    linear-gradient(180deg, rgba(4,34,16,.52), rgba(0,5,3,.98))!important;
  border:1px solid rgba(119,255,151,.78)!important;
  box-shadow:
    0 0 0 1px rgba(74,255,119,.09),
    0 0 18px rgba(85,255,124,.24),
    0 0 54px rgba(24,255,91,.16),
    inset 0 0 52px rgba(55,255,108,.055)!important;
}
.logoCardInner::before{
  content:""!important;
  position:absolute!important;
  top:102px!important;
  left:50%!important;
  width:190px!important;
  height:160px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(72,255,124,.22), rgba(72,255,124,.075) 43%, transparent 72%)!important;
  filter:blur(12px)!important;
  z-index:0!important;
}
.logoLeaf{
  position:relative!important;
  z-index:2!important;
  width:150px!important;
  height:166px!important;
  object-fit:contain!important;
  margin:0 0 20px!important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.18)) drop-shadow(0 0 16px rgba(70,255,118,.13))!important;
}
.logoText{
  position:relative!important;
  z-index:2!important;
  font-size:82px!important;
  line-height:.84!important;
  font-weight:900!important;
  letter-spacing:-.072em!important;
  color:#fff!important;
  text-shadow:0 14px 18px rgba(0,0,0,.58)!important;
}
.logoBoost{
  position:relative!important;
  z-index:2!important;
  margin-top:36px!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:.56em!important;
  padding-left:.56em!important;
  text-shadow:0 0 14px rgba(255,255,255,.18)!important;
}
@media(max-width:700px){
  .logoCard{width:min(88vw,390px)!important;height:auto!important;aspect-ratio:1/1!important;margin:0 auto!important;}
  .logoCardInner{border-radius:30px!important;}
  .logoCard::before,.logoCard::after{height:92px!important;}
  .logoCardInner::before{top:22%!important;width:48vw!important;max-width:185px!important;height:42vw!important;max-height:150px!important;}
  .logoLeaf{width:34vw!important;max-width:150px!important;height:auto!important;margin-bottom:18px!important;}
  .logoText{font-size:clamp(66px,18vw,82px)!important;}
  .logoBoost{font-size:clamp(13px,3.8vw,17px)!important;letter-spacing:.48em!important;padding-left:.48em!important;margin-top:30px!important;}
}

/* V26 correction finale : feuille validée non coupée + carte sans bloc noir */
.logoCard{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
}
.logoCardInner{
  background:
    radial-gradient(circle at 50% 32%, rgba(45,255,105,.18) 0%, rgba(16,106,43,.065) 30%, rgba(0,8,4,.985) 68%),
    linear-gradient(180deg, rgba(4,30,15,.50), rgba(0,5,3,.98))!important;
  border:1px solid rgba(116,255,148,.76)!important;
  box-shadow:
    0 0 0 1px rgba(74,255,119,.08),
    0 0 18px rgba(85,255,124,.18),
    0 0 48px rgba(24,255,91,.13),
    inset 0 0 48px rgba(55,255,108,.045)!important;
  overflow:hidden!important;
}
.logoCard::before,.logoCard::after{
  height:94px!important;
  width:3px!important;
  top:50%!important;
  opacity:.72!important;
  box-shadow:0 0 8px rgba(104,255,133,.70),0 0 22px rgba(35,255,96,.45),0 0 42px rgba(35,255,96,.24)!important;
}
.logoCardInner::before{
  top:96px!important;
  width:174px!important;
  height:140px!important;
  background:radial-gradient(circle, rgba(72,255,124,.18), rgba(72,255,124,.055) 42%, transparent 72%)!important;
  filter:blur(11px)!important;
}
.logoLeaf{
  width:166px!important;
  height:auto!important;
  aspect-ratio:345/330!important;
  object-fit:contain!important;
  object-position:center!important;
  margin:0 0 24px!important;
  display:block!important;
  max-width:none!important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.14)) drop-shadow(0 0 13px rgba(70,255,118,.12))!important;
}
.logoText{font-size:82px!important;text-shadow:0 14px 18px rgba(0,0,0,.58)!important;}
.logoBoost{margin-top:34px!important;}
@media(max-width:700px){
  .logoCard{width:min(88vw,390px)!important;height:auto!important;aspect-ratio:1/1!important;margin:0 auto!important;}
  .logoCardInner{border-radius:30px!important;padding:54px 28px 44px!important;}
  .logoCardInner::before{top:88px!important;width:46vw!important;max-width:170px!important;height:38vw!important;max-height:135px!important;}
  .logoLeaf{width:min(38vw,158px)!important;height:auto!important;margin-bottom:22px!important;}
  .logoText{font-size:clamp(68px,18vw,82px)!important;}
  .logoBoost{margin-top:30px!important;}
  .cartTop{transform:scale(.92);transform-origin:right top;}
}

/* V28 FINAL LOGO: carte validée, feuille vectorielle nette, jamais coupée */
.logoCard{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  padding:0!important;
}
.logoCardInner{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:58px 48px 50px!important;
  border-radius:40px!important;
  overflow:visible!important;
  background:
    radial-gradient(circle at 50% 31%, rgba(43,255,103,.18) 0%, rgba(15,95,39,.070) 31%, rgba(0,7,4,.99) 67%),
    linear-gradient(180deg, rgba(4,28,14,.54), rgba(0,5,3,.985))!important;
  border:1px solid rgba(118,255,150,.80)!important;
  box-shadow:
    0 0 0 1px rgba(74,255,119,.075),
    0 0 16px rgba(85,255,124,.18),
    0 0 44px rgba(24,255,91,.14),
    inset 0 0 48px rgba(55,255,108,.045)!important;
}
.logoCardInner:before{
  content:""!important;
  position:absolute!important;
  top:82px!important;
  left:50%!important;
  width:210px!important;
  height:165px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(70,255,118,.20),rgba(70,255,118,.060) 42%,transparent 74%)!important;
  filter:blur(12px)!important;
  z-index:0!important;
}
.logoCard:before,.logoCard:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:4px!important;
  height:104px!important;
  transform:translateY(-50%)!important;
  border-radius:999px!important;
  background:rgba(118,255,145,.95)!important;
  filter:blur(.25px)!important;
  opacity:.78!important;
  box-shadow:0 0 8px rgba(104,255,133,.78),0 0 24px rgba(35,255,96,.50),0 0 48px rgba(35,255,96,.26)!important;
  z-index:3!important;
}
.logoCard:before{left:-1px!important;}
.logoCard:after{right:-1px!important;}
.logoLeaf{display:none!important;}
.logoLeafSvg{
  position:relative!important;
  z-index:2!important;
  display:block!important;
  width:178px!important;
  height:136px!important;
  flex:0 0 auto!important;
  overflow:visible!important;
  margin:0 0 28px!important;
}
.logoText{
  position:relative!important;
  z-index:2!important;
  font-size:82px!important;
  line-height:.84!important;
  font-weight:900!important;
  letter-spacing:-.072em!important;
  color:#fff!important;
  text-shadow:0 14px 18px rgba(0,0,0,.58)!important;
}
.logoBoost{
  position:relative!important;
  z-index:2!important;
  margin-top:34px!important;
  color:#fff!important;
  font-size:17px!important;
  font-weight:900!important;
  letter-spacing:.56em!important;
  padding-left:.56em!important;
  text-shadow:0 0 14px rgba(255,255,255,.18)!important;
}
@media(max-width:700px){
  .logoCard{width:min(88vw,390px)!important;height:auto!important;aspect-ratio:1/1!important;margin:0 auto!important;}
  .logoCardInner{border-radius:30px!important;padding:50px 28px 42px!important;}
  .logoCardInner:before{top:78px!important;width:52vw!important;max-width:205px!important;height:38vw!important;max-height:150px!important;}
  .logoCard:before,.logoCard:after{height:92px!important;}
  .logoLeafSvg{width:min(45vw,175px)!important;height:auto!important;margin-bottom:22px!important;}
  .logoText{font-size:clamp(72px,19vw,82px)!important;}
  .logoBoost{font-size:clamp(13px,3.8vw,17px)!important;letter-spacing:.48em!important;padding-left:.48em!important;margin-top:30px!important;}
}

.logoCardImageWrap{
 display:flex;
 align-items:center;
 justify-content:center;
}
.logoCardImage{
 width:min(100%,420px);
 height:auto;
 display:block;
 filter: drop-shadow(0 0 18px rgba(50,255,120,.25));
 background:transparent !important;
}


/* V30 FINAL — carte JNK reconstruite en HTML/CSS, feuille exacte non coupée */
.logoCardImageWrap,.logoCardImage,.logoCard,.logoCardInner{display:none!important;}
.jnkHeroCard{
  justify-self:end!important;
  width:min(430px, 88vw)!important;
  aspect-ratio:1/1!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:38px!important;
  background:
    radial-gradient(circle at 50% 34%, rgba(43,255,111,.26) 0%, rgba(22,118,49,.10) 28%, rgba(0,8,4,.985) 63%),
    linear-gradient(180deg, rgba(3,31,15,.50), rgba(0,4,2,.98))!important;
  border:1.35px solid rgba(116,255,151,.88)!important;
  box-shadow:
    0 0 0 1px rgba(82,255,126,.10),
    0 0 22px rgba(61,255,112,.22),
    0 0 62px rgba(26,255,94,.20),
    inset 0 0 52px rgba(51,255,108,.06)!important;
  overflow:visible!important;
  isolation:isolate!important;
  padding:0!important;
  margin:0!important;
}
.jnkHeroCard:before,.jnkHeroCard:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:5px!important;
  height:92px!important;
  transform:translateY(-50%)!important;
  border-radius:999px!important;
  background:rgba(113,255,146,.98)!important;
  box-shadow:
    0 0 10px rgba(110,255,145,.95),
    0 0 32px rgba(35,255,100,.82),
    0 0 70px rgba(35,255,100,.55)!important;
  z-index:4!important;
}
.jnkHeroCard:before{left:-2px!important;}
.jnkHeroCard:after{right:-2px!important;}
.jnkLeafHalo{
  position:absolute!important;
  top:82px!important;
  left:50%!important;
  width:230px!important;
  height:185px!important;
  transform:translateX(-50%)!important;
  border-radius:50%!important;
  background:radial-gradient(circle, rgba(66,255,118,.38), rgba(53,255,113,.14) 42%, transparent 72%)!important;
  filter:blur(11px)!important;
  z-index:1!important;
}
.jnkLeafExact{
  position:relative!important;
  z-index:2!important;
  width:178px!important;
  height:auto!important;
  display:block!important;
  object-fit:contain!important;
  margin:0 0 32px 0!important;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.26)) drop-shadow(0 0 22px rgba(66,255,116,.20))!important;
  background:transparent!important;
  max-width:none!important;
  max-height:none!important;
}
.jnkWord{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
  font-size:88px!important;
  line-height:.82!important;
  font-weight:950!important;
  letter-spacing:-.075em!important;
  font-family:Inter, Arial, sans-serif!important;
  text-shadow:0 4px 0 rgba(255,255,255,.06), 0 18px 26px rgba(0,0,0,.58)!important;
}
.jnkBoost{
  position:relative!important;
  z-index:2!important;
  margin-top:38px!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.56em!important;
  padding-left:.56em!important;
  font-family:Inter, Arial, sans-serif!important;
  text-shadow:0 0 16px rgba(255,255,255,.22)!important;
}
@media(max-width:1100px){
  .jnkHeroCard{justify-self:center!important;}
}
@media(max-width:700px){
  .jnkHeroCard{
    width:min(88vw, 430px)!important;
    border-radius:31px!important;
    margin:0 auto 12px!important;
  }
  .jnkHeroCard:before,.jnkHeroCard:after{height:78px!important;width:4px!important;}
  .jnkLeafHalo{top:18%!important;width:49vw!important;max-width:205px!important;height:38vw!important;max-height:150px!important;}
  .jnkLeafExact{width:min(38vw, 178px)!important;margin-bottom:clamp(24px,7vw,32px)!important;}
  .jnkWord{font-size:clamp(68px,18.5vw,88px)!important;}
  .jnkBoost{font-size:clamp(13px,3.8vw,17px)!important;letter-spacing:.48em!important;padding-left:.48em!important;margin-top:clamp(30px,8vw,38px)!important;}
}


/* V31 — corrections finales : même feuille JNK partout + glow carte plus naturel */
.brandLeafExact{
  width:86px!important;
  height:62px!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 0 8px rgba(255,255,255,.18)) drop-shadow(0 0 12px rgba(64,255,112,.28))!important;
  background:transparent!important;
}
.jnkHeroCard{
  background:
    radial-gradient(circle at 50% 34%, rgba(45,255,111,.16) 0%, rgba(22,118,49,.055) 31%, rgba(0,8,4,.985) 66%),
    linear-gradient(180deg, rgba(3,26,13,.46), rgba(0,4,2,.985))!important;
  border:1px solid rgba(125,255,153,.64)!important;
  box-shadow:
    0 0 0 1px rgba(80,255,126,.055),
    0 0 16px rgba(61,255,112,.13),
    0 0 42px rgba(26,255,94,.10),
    inset 0 0 42px rgba(51,255,108,.035)!important;
  overflow:visible!important;
}
.jnkHeroCard:before,.jnkHeroCard:after{
  top:50%!important;
  width:2px!important;
  height:54px!important;
  opacity:.72!important;
  background:rgba(116,255,148,.78)!important;
  filter:blur(.25px)!important;
  box-shadow:
    0 0 8px rgba(108,255,143,.72),
    0 0 20px rgba(37,255,100,.42),
    0 0 38px rgba(37,255,100,.24)!important;
}
.jnkHeroCard:before{left:-1px!important;}
.jnkHeroCard:after{right:-1px!important;}
.jnkLeafHalo{
  background:radial-gradient(circle, rgba(66,255,118,.26), rgba(53,255,113,.08) 40%, transparent 72%)!important;
  filter:blur(9px)!important;
}
.jnkLeafExact{
  width:178px!important;
  max-width:178px!important;
  height:auto!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.22)) drop-shadow(0 0 14px rgba(66,255,116,.14))!important;
}
.logoLeaf,.logoLeafSvg{display:none!important;}
@media(max-width:700px){
  .brandLeafExact{width:72px!important;height:52px!important;}
  .jnkHeroCard:before,.jnkHeroCard:after{height:48px!important;width:2px!important;opacity:.68!important;}
  .jnkLeafExact{width:min(38vw,178px)!important;max-width:178px!important;}
}

/* V32 — suppression logo haut gauche + glow carte plus lumineux mais naturel */
.nav .brand{display:none!important;visibility:hidden!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden!important;}
.nav{justify-content:flex-end!important;}
.jnkHeroCard{
  border:1px solid rgba(145,255,165,.92)!important;
  background:
    radial-gradient(circle at 50% 32%, rgba(48,255,115,.18) 0%, rgba(25,150,58,.06) 31%, rgba(0,7,3,.99) 66%),
    linear-gradient(180deg, rgba(3,28,13,.42), rgba(0,4,2,.99))!important;
  box-shadow:
    0 0 0 1px rgba(105,255,143,.09),
    0 0 10px rgba(104,255,137,.24),
    0 0 26px rgba(38,255,101,.22),
    0 0 54px rgba(20,255,91,.11),
    inset 0 0 38px rgba(64,255,113,.04)!important;
  overflow:visible!important;
}
.jnkHeroCard:before,.jnkHeroCard:after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  width:2px!important;
  height:62px!important;
  transform:translateY(-50%)!important;
  border-radius:999px!important;
  background:rgba(165,255,184,.86)!important;
  opacity:.74!important;
  filter:blur(.15px)!important;
  box-shadow:
    0 0 7px rgba(159,255,184,.78),
    0 0 18px rgba(68,255,124,.54),
    0 0 34px rgba(34,255,98,.32)!important;
}
.jnkHeroCard:before{left:-1px!important;}
.jnkHeroCard:after{right:-1px!important;}
.jnkLeafHalo{
  background:radial-gradient(circle, rgba(54,255,115,.24), rgba(54,255,115,.08) 38%, transparent 70%)!important;
  filter:blur(8px)!important;
}
.jnkLeafExact{
  filter:drop-shadow(0 0 5px rgba(255,255,255,.22)) drop-shadow(0 0 18px rgba(67,255,119,.16))!important;
}
@media(max-width:700px){
  .nav{justify-content:flex-end!important;min-height:58px!important;}
  .navlinks{width:100%!important;}
  .cartTop{right:16px!important;top:18px!important;}
  .jnkHeroCard{margin-top:8px!important;}
  .jnkHeroCard:before,.jnkHeroCard:after{height:54px!important;width:2px!important;opacity:.72!important;}
}


/* V33 — optimisation responsive PC / mobile
   PC : texte Gamme à gauche, carte logo à droite.
   Mobile : carte logo en premier, puis texte Gamme CBD BOOST dessous.
*/
@media (min-width: 1101px){
  .hero{
    padding-top:24px!important;
  }
  .heroInner{
    max-width:1180px!important;
    margin:0 auto!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 430px!important;
    gap:88px!important;
    align-items:center!important;
    justify-items:stretch!important;
    padding-top:54px!important;
  }
  .heroText{
    order:1!important;
    grid-column:1!important;
    max-width:700px!important;
    text-align:left!important;
    justify-self:start!important;
  }
  .jnkHeroCard{
    order:2!important;
    grid-column:2!important;
    justify-self:end!important;
    align-self:center!important;
    width:430px!important;
    height:430px!important;
    aspect-ratio:1 / 1!important;
    margin:0!important;
  }
  main{
    margin-top:0!important;
  }
}

@media (max-width: 1100px){
  .heroInner{
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:28px!important;
    padding-top:22px!important;
  }
  .jnkHeroCard{
    order:1!important;
    align-self:center!important;
  }
  .heroText{
    order:2!important;
    width:100%!important;
    max-width:720px!important;
    text-align:left!important;
  }
}

@media (max-width: 700px){
  .hero{
    padding-left:16px!important;
    padding-right:16px!important;
    padding-top:82px!important;
  }
  .heroInner{
    gap:30px!important;
    padding-top:8px!important;
  }
  .jnkHeroCard{
    order:1!important;
    width:min(88vw,390px)!important;
    height:auto!important;
    aspect-ratio:1 / 1!important;
    margin:0 auto 4px!important;
  }
  .heroText{
    order:2!important;
    width:100%!important;
    max-width:none!important;
  }
  .kicker{
    margin-top:4px!important;
  }
  .hero h1{
    font-size:clamp(54px,17vw,72px)!important;
  }
  .sub{
    max-width:100%!important;
  }
  .actions{
    margin-top:26px!important;
  }
  .tools{
    margin-top:12px!important;
  }
}


/* V34 — fond dynamique après la première entête uniquement
   60% points verts / 20% dégradé / 20% noir propre */
body::before,
body::after{
  content:none!important;
  display:none!important;
}

.hero,
header,
.siteHeader,
.topbar,
.navbar{
  background:
    radial-gradient(circle at 50% 18%, rgba(34,255,111,.10), transparent 34%),
    linear-gradient(180deg, #03160b 0%, #020907 72%, #000 100%)!important;
}

main,
.catalogue,
.catalog,
.productsArea,
.sections,
#catalogue,
#catalog{
  position:relative!important;
  isolation:isolate!important;
}

main::before,
.catalogue::before,
.catalog::before,
.productsArea::before,
.sections::before,
#catalogue::before,
#catalog::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-2!important;
  pointer-events:none!important;
  background:
    radial-gradient(circle, rgba(37,255,104,.58) 1.25px, transparent 1.8px) 0 0 / 20px 20px,
    linear-gradient(180deg,
      rgba(0,12,7,0) 0%,
      rgba(0,22,11,.58) 0%,
      rgba(0,20,10,.48) 60%,
      rgba(0,12,7,.22) 80%,
      #000 100%
    )!important;
  background-attachment:fixed!important;
  opacity:.78!important;
  mask-image:linear-gradient(180deg,
    #000 0%,
    #000 60%,
    rgba(0,0,0,.55) 80%,
    transparent 100%
  )!important;
  -webkit-mask-image:linear-gradient(180deg,
    #000 0%,
    #000 60%,
    rgba(0,0,0,.55) 80%,
    transparent 100%
  )!important;
}

main::after,
.catalogue::after,
.catalog::after,
.productsArea::after,
.sections::after,
#catalogue::after,
#catalog::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,
    rgba(0,0,0,0) 0%,
    rgba(0,0,0,0) 60%,
    rgba(0,0,0,.45) 80%,
    #000 100%
  )!important;
}

@media (max-width:700px){
  main::before,
  .catalogue::before,
  .catalog::before,
  .productsArea::before,
  .sections::before,
  #catalogue::before,
  #catalog::before{
    background:
      radial-gradient(circle, rgba(37,255,104,.55) 1.45px, transparent 2px) 0 0 / 18px 18px,
      linear-gradient(180deg,
        rgba(0,22,11,.58) 0%,
        rgba(0,20,10,.50) 60%,
        rgba(0,12,7,.24) 80%,
        #000 100%
      )!important;
    background-attachment:scroll!important;
  }
}


/* V35 — points vraiment dynamiques au scroll
   Les points ne sont plus fixes : ils se déplacent progressivement vers le bas
   grâce à la variable --dotShift pilotée en JS. */
:root{
  --dotShift: 0px;
  --dotOpacity: .42;
}

main::before,
.catalogue::before,
.catalog::before,
.productsArea::before,
.sections::before,
#catalogue::before,
#catalog::before{
  background:
    radial-gradient(circle, rgba(37,255,104,var(--dotOpacity)) 1.25px, transparent 1.85px) 0 var(--dotShift) / 20px 20px,
    linear-gradient(180deg,
      rgba(0,20,10,.50) 0%,
      rgba(0,20,10,.48) 60%,
      rgba(0,12,7,.22) 80%,
      #000 100%
    )!important;
  background-attachment:scroll!important;
  transition:opacity .08s linear!important;
}

@media (max-width:700px){
  main::before,
  .catalogue::before,
  .catalog::before,
  .productsArea::before,
  .sections::before,
  #catalogue::before,
  #catalog::before{
    background:
      radial-gradient(circle, rgba(37,255,104,var(--dotOpacity)) 1.45px, transparent 2px) 0 var(--dotShift) / 18px 18px,
      linear-gradient(180deg,
        rgba(0,22,11,.55) 0%,
        rgba(0,20,10,.48) 60%,
        rgba(0,12,7,.22) 80%,
        #000 100%
      )!important;
  }
}


/* V36 — suppression des points fixes + vrais points générés au scroll */
main::before,
.catalogue::before,
.catalog::before,
.productsArea::before,
.sections::before,
#catalogue::before,
#catalog::before{
  background:
    linear-gradient(180deg,
      rgba(0,20,10,.42) 0%,
      rgba(0,18,9,.34) 60%,
      rgba(0,10,6,.18) 80%,
      #000 100%
    )!important;
  opacity:1!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}

.scrollDotCanvas{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  pointer-events:none;
  z-index:0;
  opacity:0;
  transition:opacity .22s ease;
  mix-blend-mode:screen;
}
body.is-scrolling .scrollDotCanvas{
  opacity:.82;
}

header, .hero, main, .siteHeader, .topbar, .navbar, .catalogue, .catalog, .productsArea, .sections, #catalogue, #catalog{
  position:relative;
  z-index:1;
}

@media (max-width:700px){
  .scrollDotCanvas{
    mix-blend-mode:normal;
  }
}


/* V37 — suppression totale des points fixes */
.dotLayer,
.dotLayer::before,
.dotLayer::after{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

/* Fond catalogue : uniquement vert/noir en dégradé, sans motif fixe */
main::before,
.catalogue::before,
.catalog::before,
.productsArea::before,
.sections::before,
#catalogue::before,
#catalog::before{
  background:
    linear-gradient(180deg,
      rgba(0,18,9,.48) 0%,
      rgba(0,18,9,.42) 60%,
      rgba(0,10,6,.22) 80%,
      #000 100%
    )!important;
  background-image:
    linear-gradient(180deg,
      rgba(0,18,9,.48) 0%,
      rgba(0,18,9,.42) 60%,
      rgba(0,10,6,.22) 80%,
      #000 100%
    )!important;
  opacity:1!important;
  mask-image:none!important;
  -webkit-mask-image:none!important;
}

/* Canvas : les points existent seulement pendant le scroll */
.scrollDotCanvas{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  pointer-events:none!important;
  z-index:0!important;
  opacity:0!important;
  transition:opacity .16s ease!important;
}
body.is-scrolling .scrollDotCanvas{
  opacity:.78!important;
}


/* V39 — rendu plus fluide + meilleur dégradé + cartes un peu plus compactes */

/* Canvas points plus smooth */
.scrollDotCanvas{
  transition:opacity .28s ease!important;
  filter:blur(.05px)!important;
}

/* Dégradé global plus progressif derrière les produits */
main::before,
.catalogue::before,
.catalog::before,
.productsArea::before,
.sections::before,
#catalogue::before,
#catalog::before{
  background:
    linear-gradient(180deg,
      rgba(0,22,10,.42) 0%,
      rgba(0,20,10,.36) 52%,
      rgba(0,12,7,.20) 72%,
      rgba(0,4,3,.70) 88%,
      #000 100%
    )!important;
}

/* Cartes produits légèrement réduites pour mieux voir l'effet de fond */
.productCard,
.card,
.product-card,
.product{
  transform-origin:center top!important;
}

.productsGrid,
.gridProducts,
.productGrid,
.catalogGrid,
#products,
.products{
  gap:22px!important;
}

.productCard,
.product-card,
.card.product,
.catalog-card{
  padding:22px!important;
  border-radius:24px!important;
}

/* Réduction douce des blocs prix */
.priceGrid,
.pricesGrid,
.tiers,
.priceTiers{
  gap:10px!important;
}
.priceBox,
.tier,
.price-tier{
  padding:12px!important;
  min-height:auto!important;
}

/* Desktop : cartes plus fines */
@media (min-width:900px){
  .productsGrid,
  .gridProducts,
  .productGrid,
  .catalogGrid,
  #products,
  .products{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
  .productCard,
  .product-card,
  .card.product,
  .catalog-card{
    font-size:.96em!important;
  }
}

/* Mobile : cartes moins hautes, prix plus lisibles */
@media (max-width:700px){
  .productCard,
  .product-card,
  .card.product,
  .catalog-card{
    padding:18px!important;
    border-radius:22px!important;
  }
  .productCard h3,
  .product-card h3,
  .card.product h3{
    font-size:1.45rem!important;
    line-height:1.1!important;
  }
  .priceGrid,
  .pricesGrid,
  .tiers,
  .priceTiers{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
  }
  .priceBox,
  .tier,
  .price-tier{
    padding:11px!important;
  }
  .priceBox strong,
  .tier strong,
  .price-tier strong{
    font-size:1.35rem!important;
  }
  .productCard .btn,
  .product-card .btn,
  .card.product .btn,
  button.commander,
  .orderBtn{
    min-height:54px!important;
  }
}


/* V40 — produits plus compacts + points plus lumineux + dégradé mieux équilibré */

/* Fond plus clean : 60% points visibles, 20% transition, 20% noir */
main::before,
.catalogue::before,
.catalog::before,
.productsArea::before,
.sections::before,
#catalogue::before,
#catalog::before{
  background:
    linear-gradient(180deg,
      rgba(0,24,11,.38) 0%,
      rgba(0,21,10,.32) 58%,
      rgba(0,12,7,.18) 72%,
      rgba(0,4,3,.72) 88%,
      #000 100%
    )!important;
}

/* Cartes produits encore un peu réduites */
.productCard,
.product-card,
.card.product,
.catalog-card{
  padding:18px!important;
  border-radius:22px!important;
}

.productsGrid,
.gridProducts,
.productGrid,
.catalogGrid,
#products,
.products{
  gap:18px!important;
}

.productCard h3,
.product-card h3,
.card.product h3{
  font-size:clamp(1.2rem,2vw,1.55rem)!important;
  line-height:1.08!important;
  margin-bottom:8px!important;
}

.productCard .meta,
.product-card .meta,
.card.product .meta{
  font-size:.92em!important;
  margin-bottom:14px!important;
}

.priceGrid,
.pricesGrid,
.tiers,
.priceTiers{
  gap:8px!important;
}

.priceBox,
.tier,
.price-tier{
  padding:10px!important;
  border-radius:14px!important;
}

.priceBox strong,
.tier strong,
.price-tier strong{
  font-size:1.25rem!important;
}

.productCard select,
.product-card select,
.card.product select{
  min-height:48px!important;
}

.productCard .btn,
.product-card .btn,
.card.product .btn,
button.commander,
.orderBtn{
  min-height:50px!important;
}

@media (min-width:900px){
  .productCard,
  .product-card,
  .card.product,
  .catalog-card{
    font-size:.92em!important;
  }
}

@media (max-width:700px){
  .productCard,
  .product-card,
  .card.product,
  .catalog-card{
    padding:15px!important;
    border-radius:20px!important;
  }
  .productsGrid,
  .gridProducts,
  .productGrid,
  .catalogGrid,
  #products,
  .products{
    gap:16px!important;
  }
  .priceBox,
  .tier,
  .price-tier{
    padding:9px!important;
  }
  .priceBox strong,
  .tier strong,
  .price-tier strong{
    font-size:1.18rem!important;
  }
}

/* V41 - Remplacement des points par brume + particules premium */
.scrollDotCanvas{
  mix-blend-mode:screen!important;
  filter:blur(1px)!important;
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 20% 30%, rgba(40,255,120,.08), transparent 30%),
    radial-gradient(circle at 80% 45%, rgba(40,255,120,.06), transparent 35%),
    radial-gradient(circle at 50% 10%, rgba(40,255,120,.05), transparent 40%);
}


/* V42 — suppression définitive des points : brume premium uniquement */
.dotLayer,
.dotLayer::before,
.dotLayer::after,
.scrollDotCanvas{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Le fond catalogue devient une brume verte / noire, sans motif à points */
main::before,
.catalogue::before,
.catalog::before,
.productsArea::before,
.sections::before,
#catalogue::before,
#catalog::before{
  background:
    radial-gradient(ellipse at 24% 8%, rgba(35,255,110,.18) 0%, rgba(35,255,110,.08) 22%, transparent 48%),
    radial-gradient(ellipse at 82% 28%, rgba(35,255,110,.13) 0%, rgba(35,255,110,.06) 24%, transparent 52%),
    linear-gradient(180deg,
      rgba(0,28,13,.46) 0%,
      rgba(0,18,10,.34) 52%,
      rgba(0,10,7,.18) 72%,
      rgba(0,3,3,.78) 90%,
      #000 100%
    )!important;
  background-image:
    radial-gradient(ellipse at 24% 8%, rgba(35,255,110,.18) 0%, rgba(35,255,110,.08) 22%, transparent 48%),
    radial-gradient(ellipse at 82% 28%, rgba(35,255,110,.13) 0%, rgba(35,255,110,.06) 24%, transparent 52%),
    linear-gradient(180deg,
      rgba(0,28,13,.46) 0%,
      rgba(0,18,10,.34) 52%,
      rgba(0,10,7,.18) 72%,
      rgba(0,3,3,.78) 90%,
      #000 100%
    )!important;
}

/* Canvas premium : fumée + rares particules lumineuses, pas de grille */
.smokeCanvas{
  position:fixed;
  inset:0;
  width:100vw;
  height:100vh;
  pointer-events:none;
  z-index:0;
  opacity:0;
  mix-blend-mode:screen;
  transition:opacity .35s ease;
}
body.is-scrolling .smokeCanvas{
  opacity:.92;
}


/* V43 Smoke */
.smokeCanvas{
 position:fixed;
 inset:0;
 width:100vw;
 height:100vh;
 pointer-events:none;
 z-index:0;
 mix-blend-mode:screen;
 opacity:.85;
}

.smokeCanvas{
position:fixed;inset:0;pointer-events:none;z-index:0;
mix-blend-mode:screen;opacity:1!important;
}


/* V45 — contraste produits + effet smoke visible */
.productCard,
.product-card,
.card.product,
.catalog-card,
.product{
  background:
    radial-gradient(circle at 18% 0%, rgba(48,255,124,.10), transparent 34%),
    linear-gradient(180deg, rgba(1,34,17,.94), rgba(0,12,8,.98))!important;
  box-shadow:
    0 18px 50px rgba(0,0,0,.55),
    inset 0 1px 0 rgba(130,255,170,.08),
    0 0 0 1px rgba(55,255,115,.24)!important;
  border:1px solid rgba(58,255,120,.24)!important;
  backdrop-filter: blur(8px)!important;
}

.priceBox,
.tier,
.price-tier{
  background:rgba(0,8,6,.55)!important;
  border-color:rgba(88,255,140,.18)!important;
}

.smokeCanvas{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  pointer-events:none!important;
  z-index:0!important;
  opacity:1!important;
  mix-blend-mode:screen!important;
}

body::after{
  opacity:.85!important;
}

/* V46 contraste fort */
.productCard,.product-card,.product,.catalog-card{
background:linear-gradient(180deg,#04140c 0%,#020805 100%)!important;
border:1px solid rgba(90,255,140,.35)!important;
box-shadow:0 25px 70px rgba(0,0,0,.75),0 0 0 1px rgba(90,255,140,.15)!important;
}

/* V47 Real Smoke */
body{
 background:#020202!important;
}
.productCard,.product-card,.product,.catalog-card{
 background:linear-gradient(180deg,#050505,#0a0a0a)!important;
 border:1px solid rgba(60,255,120,.18)!important;
 box-shadow:0 20px 60px rgba(0,0,0,.85)!important;
}
.smokeCanvas{
 position:fixed!important;
 inset:0!important;
 pointer-events:none!important;
 z-index:0!important;
 mix-blend-mode:screen!important;
}


/* V48 — remplacement smoke par effet Aurora premium */
.smokeCanvas,
.scrollDotCanvas,
.dotLayer{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
}

body{
  background:#030604!important;
}

.auroraLayer{
  position:fixed;
  inset:-20vh -20vw;
  z-index:0;
  pointer-events:none;
  overflow:hidden;
  opacity:.78;
  mix-blend-mode:screen;
}

.auroraLayer::before,
.auroraLayer::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(ellipse at 20% 30%, rgba(32,255,105,.18), transparent 36%),
    radial-gradient(ellipse at 76% 20%, rgba(0,190,95,.14), transparent 34%),
    conic-gradient(from 210deg at 50% 50%,
      transparent 0deg,
      rgba(32,255,105,.14) 70deg,
      transparent 125deg,
      rgba(80,255,150,.10) 205deg,
      transparent 280deg,
      transparent 360deg);
  filter:blur(42px);
  transform:translate3d(0,var(--auroraY,0px),0) rotate(var(--auroraR,0deg));
  transition:transform .25s linear;
}

.auroraLayer::after{
  opacity:.45;
  filter:blur(70px);
  background:
    linear-gradient(115deg,
      transparent 0%,
      rgba(25,255,110,.18) 34%,
      transparent 52%,
      rgba(120,255,180,.10) 68%,
      transparent 100%);
  transform:translate3d(0,calc(var(--auroraY,0px) * .55),0) rotate(calc(var(--auroraR,0deg) * -1));
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 50% 20%, rgba(50,255,120,.06), transparent 36%),
    linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.35) 68%, #000 100%);
}

.productCard,.product-card,.product,.catalog-card{
  background:
    linear-gradient(180deg, rgba(3,18,11,.96), rgba(1,7,5,.98))!important;
  border:1px solid rgba(70,255,130,.24)!important;
  box-shadow:
    0 22px 70px rgba(0,0,0,.78),
    0 0 0 1px rgba(70,255,130,.10),
    inset 0 1px 0 rgba(140,255,180,.07)!important;
  backdrop-filter:blur(10px)!important;
}

.productCard:hover,.product-card:hover,.product:hover,.catalog-card:hover{
  box-shadow:
    0 28px 90px rgba(0,0,0,.82),
    0 0 28px rgba(40,255,110,.10),
    inset 0 1px 0 rgba(140,255,180,.10)!important;
}

@media (max-width:700px){
  .auroraLayer{
    opacity:.92;
  }
  .auroraLayer::before{
    filter:blur(34px);
  }
  .auroraLayer::after{
    filter:blur(52px);
  }
}

/* V49 Neon Liquid */
.neonFlow{
position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.95;
}
.productCard,.product-card,.product,.catalog-card{
background:linear-gradient(180deg,#07110c,#020403)!important;
border:1px solid rgba(80,255,140,.28)!important;
box-shadow:0 24px 80px rgba(0,0,0,.85)!important;
}

/* V50 CBD Leaf Parallax */
.neonFlow,.auroraLayer,.smokeCanvas,.scrollDotCanvas,.dotLayer{
 display:none!important;
}

.leafParallax{
 position:fixed;
 inset:0;
 pointer-events:none;
 z-index:0;
 overflow:hidden;
}

.leafLayer{
 position:absolute;
 opacity:.06;
 filter:blur(3px);
 background-repeat:no-repeat;
 background-position:center;
 background-size:contain;
}

.leaf1{
 width:900px;height:900px;
 left:-180px;top:10%;
}
.leaf2{
 width:1100px;height:1100px;
 right:-260px;top:35%;
 opacity:.04;
}
.leaf3{
 width:700px;height:700px;
 left:20%;bottom:-120px;
 opacity:.05;
}

.productCard,.product-card,.product,.catalog-card{
 background:linear-gradient(180deg,#07110d,#030504)!important;
 border:1px solid rgba(80,255,140,.30)!important;
 box-shadow:0 30px 90px rgba(0,0,0,.85)!important;
}


/* V51 - feuilles CBD plus visibles + contraste renforcé */
.leafLayer{
 opacity:.10 !important;
 filter:blur(1px) !important;
}

.leaf1{opacity:.12 !important;}
.leaf2{opacity:.08 !important;}
.leaf3{opacity:.10 !important;}

.productCard,
.product-card,
.product,
.catalog-card{
 background:linear-gradient(180deg,#0b0f0d 0%, #060807 100%) !important;
 border:1px solid rgba(90,255,140,.42) !important;
 box-shadow:
   0 35px 100px rgba(0,0,0,.88),
   0 0 0 1px rgba(90,255,140,.12),
   inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.priceBox,
.tier,
.price-tier{
 background:rgba(5,12,8,.75) !important;
 border:1px solid rgba(90,255,140,.22) !important;
}


/* V52 — feuilles plus naturelles / arrondies */
.leafLayer{
  opacity:.085!important;
  filter:blur(1.6px)!important;
}
.leaf1{opacity:.10!important;}
.leaf2{opacity:.07!important;}
.leaf3{opacity:.08!important;}


/* V53 Luxury Depth */
.leafParallax,.leafLayer,.auroraLayer,.smokeCanvas,.scrollDotCanvas,.dotLayer,.neonFlow{
 display:none!important;
}

body{
 background:#020202!important;
}

/* Vignettage premium */
body::before{
 content:"";
 position:fixed;
 inset:0;
 pointer-events:none;
 z-index:0;
 background:
 radial-gradient(circle at center,
 rgba(0,0,0,0) 45%,
 rgba(0,0,0,.18) 70%,
 rgba(0,0,0,.55) 100%);
}

/* Cartes plus détachées */
.productCard,.product-card,.product,.catalog-card{
 background:linear-gradient(180deg,#0d1110,#060807)!important;
 border:1px solid rgba(90,255,140,.28)!important;
 box-shadow:
 0 30px 100px rgba(0,0,0,.88),
 0 0 0 1px rgba(90,255,140,.08),
 inset 0 1px 0 rgba(255,255,255,.04)!important;
 transform:translateZ(0);
 transition:transform .25s ease, box-shadow .25s ease;
}

.productCard:hover,.product-card:hover,.product:hover,.catalog-card:hover{
 transform:translateY(-4px);
 box-shadow:
 0 40px 120px rgba(0,0,0,.92),
 0 0 20px rgba(90,255,140,.08)!important;
}

.pollenLayer{
 position:fixed;
 inset:0;
 pointer-events:none;
 z-index:0;
}


/* V54 - moins de vert, plus de contraste */
body{
  background:#010101!important;
}

.productCard,.product-card,.product,.catalog-card{
  background:linear-gradient(180deg,#121212,#080808)!important;
  border:1px solid rgba(255,255,255,.06)!important;
  box-shadow:
    0 35px 120px rgba(0,0,0,.92),
    0 0 0 1px rgba(255,255,255,.03)!important;
}

.priceBox,.tier,.price-tier{
  background:#111!important;
  border:1px solid rgba(255,255,255,.05)!important;
}

.pollenLayer{
  opacity:.55!important;
}


/* V55 - cartes noir premium + glow plus prononcé */
.productCard,
.product-card,
.product,
.catalog-card{
  background:linear-gradient(180deg,#0a0a0a 0%, #030303 100%) !important;
  border:1px solid rgba(90,255,140,.18) !important;
  box-shadow:
    0 30px 90px rgba(0,0,0,.95),
    0 0 0 1px rgba(90,255,140,.08),
    0 0 24px rgba(90,255,140,.12) !important;
}

.productCard:hover,
.product-card:hover,
.product:hover,
.catalog-card:hover{
  box-shadow:
    0 40px 120px rgba(0,0,0,.98),
    0 0 40px rgba(90,255,140,.22),
    0 0 0 1px rgba(90,255,140,.15) !important;
}

.priceBox,
.tier,
.price-tier{
  background:#070707 !important;
  border:1px solid rgba(255,255,255,.04) !important;
}


/* ================================
   V57 — UNIQUEMENT CARTES PRODUITS
   Fond/effets/bulles conservés.
   Objectif : cartes vert foncé beaucoup plus sombres que le fond.
   ================================ */

.productCard,
.product-card,
.product,
.catalog-card,
.card.product,
.product-item,
.productItem,
article[class*="product"],
div[class*="product-card"],
div[class*="productCard"]{
  background:
    radial-gradient(circle at 18% 0%, rgba(56,255,118,.055), transparent 32%),
    linear-gradient(180deg, #06130c 0%, #020604 100%) !important;
  border:1px solid rgba(70,255,128,.34) !important;
  box-shadow:
    0 30px 95px rgba(0,0,0,.82),
    0 0 0 1px rgba(70,255,128,.10),
    0 0 28px rgba(70,255,128,.11),
    inset 0 1px 0 rgba(180,255,200,.045) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
}

.productCard:hover,
.product-card:hover,
.product:hover,
.catalog-card:hover,
.card.product:hover,
.product-item:hover,
.productItem:hover,
article[class*="product"]:hover,
div[class*="product-card"]:hover,
div[class*="productCard"]:hover{
  background:
    radial-gradient(circle at 18% 0%, rgba(56,255,118,.075), transparent 34%),
    linear-gradient(180deg, #07160e 0%, #020604 100%) !important;
  border-color:rgba(90,255,145,.50) !important;
  box-shadow:
    0 38px 115px rgba(0,0,0,.86),
    0 0 0 1px rgba(90,255,145,.16),
    0 0 36px rgba(90,255,145,.18),
    inset 0 1px 0 rgba(180,255,200,.06) !important;
}

/* Blocs de prix : plus noirs pour contraster à l'intérieur de la carte */
.priceBox,
.tier,
.price-tier,
.price-card,
.priceItem,
.price-item,
[class*="priceBox"],
[class*="tier"]{
  background:rgba(1,7,4,.78) !important;
  border:1px solid rgba(255,255,255,.065) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035) !important;
}

/* Sélecteurs / champs plus foncés */
.productCard select,
.product-card select,
.product select,
.catalog-card select,
.card.product select{
  background:#020604 !important;
  border-color:rgba(70,255,128,.22) !important;
}

/* Mobile : garde les cartes compactes mais visibles */
@media (max-width:700px){
  .productCard,
  .product-card,
  .product,
  .catalog-card,
  .card.product,
  .product-item,
  .productItem,
  article[class*="product"],
  div[class*="product-card"],
  div[class*="productCard"]{
    background:
      radial-gradient(circle at 18% 0%, rgba(56,255,118,.06), transparent 34%),
      linear-gradient(180deg, #06110b 0%, #020504 100%) !important;
    border-color:rgba(70,255,128,.36) !important;
    box-shadow:
      0 24px 70px rgba(0,0,0,.84),
      0 0 0 1px rgba(70,255,128,.12),
      0 0 24px rgba(70,255,128,.12) !important;
  }
}


/* V58 - cartes nettement plus foncées que le fond */
.productCard,
.product-card,
.product,
.catalog-card,
.card.product,
.product-item,
.productItem,
article[class*="product"],
div[class*="product-card"],
div[class*="productCard"]{
  background:
    linear-gradient(180deg,#04100a 0%, #020704 55%, #010302 100%) !important;
  border:1px solid rgba(90,255,140,.42) !important;
  box-shadow:
    0 35px 120px rgba(0,0,0,.88),
    0 0 0 1px rgba(90,255,140,.12),
    0 0 32px rgba(90,255,140,.18) !important;
}

/* halo vert retiré à l'intérieur de la carte */
.productCard::before,
.product-card::before,
.product::before,
.catalog-card::before{
  opacity:0 !important;
}

/* cases prix plus sombres */
.priceBox,
.tier,
.price-tier,
.price-card,
.priceItem,
.price-item{
  background:#020402 !important;
  border:1px solid rgba(255,255,255,.08) !important;
}


/* V59 FORCE CARD CONTRAST */
[class*="product"],
[class*="Product"],
[class*="card"],
[class*="Card"]{
  background-color:#04110a !important;
}

.productCard,
.product-card,
.product,
.catalog-card,
.product-item,
.productItem,
.card,
.card-product,
article,
.products > div{
  background:
    linear-gradient(180deg,#05120b 0%,#031009 45%,#020704 100%) !important;
  border:1px solid rgba(80,255,120,.45) !important;
  box-shadow:
    0 40px 120px rgba(0,0,0,.90),
    0 0 35px rgba(80,255,120,.18) !important;
}

/* retire les halos verts internes */
.productCard:before,
.product-card:before,
.product:before,
.catalog-card:before,
.card:before{
  display:none !important;
  content:none !important;
}
