/* === e4-home.css === */
/* =============================================================================
   E4 · HOME — jalon 3a : hero + section catalogue (référence maquette-home-v2)
   Scope : body#index uniquement. Markup existant conservé (growled-hero,
   glc-cats-v3c) — habillage pur.
   ============================================================================= */

/* ---------- 1) HERO SLIDER (growled-hero) ---------- */
#index .growled-hero__nav{
  width:46px!important;height:46px!important;border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;color:#2B004F!important;
  border:1px solid rgba(43,0,79,.12)!important;
  box-shadow:0 6px 18px rgba(26,0,51,.25)!important;
  transition:.18s ease!important;
}
#index .growled-hero__nav:hover{
  background:#fff!important;transform:scale(1.06);
  box-shadow:0 8px 24px rgba(123,191,63,.35)!important;color:#5e9a2a!important;
}
#index .growled-hero__dots{gap:7px!important}
#index .growled-hero__dot{
  width:8px!important;height:8px!important;border-radius:99px!important;
  background:rgba(255,255,255,.45)!important;border:0!important;
  transition:.22s ease!important;
}
#index .growled-hero__dot.is-active{
  width:26px!important;background:linear-gradient(90deg,#8ed04e,#5e9a2a)!important;
  box-shadow:0 0 10px rgba(123,191,63,.5)!important;
}
#index .growled-hero__progress{background:rgba(255,255,255,.15)!important;height:3px!important}
#index .growled-hero__progress-bar{
  background:linear-gradient(90deg,#7BBF3F,#5e9a2a)!important;
}

/* ---------- 2) SECTION CATALOGUE (glc-cats-v3c) : bande violette maquette ---------- */
#index .glc-cats-v3c{
  position:relative;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  padding-left:calc(50vw - 50%);padding-right:calc(50vw - 50%);
  padding-top:64px;padding-bottom:64px;
  background:
    radial-gradient(900px 420px at 15% 0%,rgba(123,191,63,.10),transparent 60%),
    radial-gradient(1000px 500px at 90% 100%,rgba(126,30,87,.28),transparent 65%),
    linear-gradient(165deg,#220040,#2B004F 45%,#3a0d55);
}
/* zigzag séparateur (montagnes maquette) */
#index .glc-cats-v3c::before{
  content:"";position:absolute;top:-1px;left:0;right:0;height:34px;
  background:#2B004F;
  clip-path:polygon(0 0,4% 70%,9% 20%,15% 85%,22% 35%,28% 90%,35% 35%,42% 75%,49% 25%,56% 85%,63% 40%,70% 90%,76% 30%,83% 80%,90% 25%,95% 70%,100% 0);
  filter:drop-shadow(0 -2px 0 rgba(123,191,63,.8));
}
/* titre : Russo italic skew blanc + hairline verte (maquette TOUTES NOS CATÉGORIES) */
#index .glc-cats-v3c h2.section-title{
  color:#fff!important;
  font-family:'Russo One',sans-serif!important;font-weight:400!important;
  font-style:italic;transform:skew(-5deg);
  font-size:clamp(30px,3.4vw,46px)!important;letter-spacing:.5px;
  text-align:center;
}
#index .glc-cats-v3c h2.section-title::after{
  content:""!important;display:block!important;width:64px!important;height:4px!important;margin:14px auto 0!important;
  background:linear-gradient(90deg,#8ed04e,#5e9a2a)!important;border-radius:99px!important;position:static!important;
}
#index .glc-cats-v3c h2.section-title b, #index .glc-cats-v3c h2.section-title strong{color:#9bdc5c!important}
/* l'éditeur iqit wrappe le texte dans des spans à couleur inline */
#index .glc-cats-v3c h2.section-title span, #index .glc-cats-v3c h2.section-title *{
  color:#fff!important;font-family:'Russo One',sans-serif!important;font-weight:400!important;
}
/* sous-titre / texte d'intro dans la bande : lilas clair */
#index .glc-cats-v3c > main > p{color:#cdc3dd!important;text-align:center}

/* ---------- 3) TUILES CATÉGORIES ---------- */
#index .glc-cats-v3c .tile{
  background:#fff!important;border:1px solid rgba(43,0,79,.10)!important;border-radius:14px!important;
  box-shadow:0 2px 6px rgba(26,0,51,.18)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
  cursor:pointer;
}
#index .glc-cats-v3c .tile:hover{
  transform:translateY(-3px);border-color:rgba(123,191,63,.5)!important;
  box-shadow:0 10px 24px rgba(26,0,51,.30)!important;
}
#index .glc-cats-v3c .tile .tile-title{
  font-family:'Poppins',sans-serif!important;font-weight:700!important;color:#2B004F!important;
}
/* tuile active : encre E4 (était magenta) */
#index .glc-cats-v3c .tile.is-active, #index .glc-cats-v3c .tile[aria-selected="true"],
#index .glc-cats-v3c .tile.active{
  background:linear-gradient(150deg,#2B004F,#47156e)!important;
  border-color:rgba(123,191,63,.55)!important;
  box-shadow:0 10px 26px rgba(26,0,51,.45),0 0 0 2px rgba(123,191,63,.25)!important;
}
#index .glc-cats-v3c .tile.is-active .tile-title, #index .glc-cats-v3c .tile[aria-selected="true"] .tile-title,
#index .glc-cats-v3c .tile.active .tile-title{color:#fff!important}

/* ---------- 4) PANNEAU EXPLORATEUR ---------- */
/* pas de bordure haute : réservée au panel-accent (liseré gradient déplacé là, cf plus bas) */
#index .glc-cats-v3c .panels{
  background:#fff!important;border:1px solid rgba(43,0,79,.10)!important;border-radius:18px!important;
  box-shadow:0 24px 60px rgba(26,0,51,.35)!important;overflow:hidden;
  border-top:0!important;
}
/* labels de groupes */
#index .glc-cats-v3c .chip-label{
  color:#2B004F!important;font-family:'Poppins',sans-serif!important;font-weight:700!important;
  letter-spacing:1px;
}
/* chips : lilas E4, hover vert (étaient roses) */
#index .glc-cats-v3c .chip{
  background:#f5f2f9!important;border:1px solid rgba(43,0,79,.12)!important;color:#4f4760!important;
  border-radius:99px!important;font-family:'Poppins',sans-serif!important;font-weight:500!important;
  transition:.15s ease!important;
}
#index .glc-cats-v3c .chip:hover{
  background:rgba(123,191,63,.12)!important;border-color:rgba(123,191,63,.5)!important;color:#2B004F!important;
}
/* CTA « Voir toutes les lampes… » : vert E4 (navigation) */
#index .glc-cats-v3c .cta-btn{
  background:linear-gradient(100deg,#8ed04e,#5e9a2a)!important;color:#13002a!important;
  border:0!important;border-radius:11px!important;
  font-family:'Poppins',sans-serif!important;font-weight:700!important;
  box-shadow:0 6px 16px rgba(123,191,63,.3)!important;transition:.18s ease!important;
}
#index .glc-cats-v3c .cta-btn:hover{
  filter:brightness(1.06);transform:translateY(-1px);
  box-shadow:0 8px 22px rgba(123,191,63,.45)!important;
}
/* barre d'accent interne du panel : gradient E4 au lieu du magenta plein */
#index .glc-cats-v3c .panel-accent{
  background:linear-gradient(100deg,#7BBF3F,#5e9a2a 45%,#7E1E57)!important;height:3px!important;
}
/* mobile : chips toujours contenues, CTA compact */
@media(max-width:767px){
  #index .glc-cats-v3c .chips{display:flex!important;flex-wrap:wrap!important;max-width:100%!important;overflow:visible!important}
  #index .glc-cats-v3c .chip{max-width:100%;white-space:normal!important}
  #index .glc-cats-v3c .cta-btn{font-size:13px!important;padding:10px 14px!important}
}

/* =============================================================================
   JALON 3b — sections basses home
   ============================================================================= */

/* ---------- 5) ONGLETS PRODUITS (nav-tabs iqit) ---------- */
#index .nav-tabs{border-bottom:1px solid rgba(43,0,79,.10)!important;gap:8px;display:flex;flex-wrap:nowrap}
#index .nav-tabs > li{flex:1 1 0;float:none!important;width:auto!important}
@media(max-width:767px){#index .nav-tabs{flex-wrap:wrap}#index .nav-tabs > li{flex:1 1 100%}}
#index .nav-tabs > li > a{
  display:block;text-align:center;
  background:#f5f2f9!important;color:#6d6480!important;border:1px solid rgba(43,0,79,.10)!important;
  border-radius:11px!important;font-family:'Poppins',sans-serif!important;font-weight:700!important;
  transition:.15s ease!important;
}
#index .nav-tabs > li > a:hover{color:#2B004F!important;border-color:rgba(123,191,63,.45)!important;background:#fff!important}
#index .nav-tabs > li.active > a{
  background:linear-gradient(150deg,#2B004F,#47156e)!important;color:#fff!important;
  border-color:transparent!important;
  box-shadow:0 6px 16px rgba(43,0,79,.25),inset 0 -3px 0 #7BBF3F!important;
}

/* ---------- 6) CARTES PRODUITS HOME (tabs + top ventes) ---------- */
#index .product-container{border-radius:14px}
#index .product-container .price.product-price{
  font-family:'Russo One',sans-serif!important;font-weight:400!important;color:#2B004F!important;
}
#index .product-container .old-price{color:#9a92a8!important;font-family:'Poppins',sans-serif!important}
/* ATC : OR exclusif achat (était vert) */
#index .ajax_add_to_cart_button{
  background:linear-gradient(100deg,#ffc53d,#f2a114)!important;color:#2B004F!important;
  border:0!important;border-radius:9px!important;
  font-family:'Poppins',sans-serif!important;font-weight:700!important;
  box-shadow:0 4px 12px rgba(242,161,20,.28)!important;transition:.18s ease!important;
}
#index .ajax_add_to_cart_button:hover{
  background:linear-gradient(100deg,#ffcd52,#f5a623)!important;transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(242,161,20,.45)!important;
}
#index .ajax_add_to_cart_button span{color:#2B004F!important}
/* badge réduction : magenta E4 */
#index .product-container .price-percent-reduction, #index .product-container .sale-box{
  background:#7E1E57!important;color:#fff!important;border-radius:9px!important;
}

/* ---------- 7) TITRES DE SECTION (title_block iqit / blog) ---------- */
#index .title_block{
  font-family:'Poppins',sans-serif!important;font-weight:800!important;letter-spacing:.3px;
}
#index .title_block::after{
  content:"";display:block;width:56px;height:4px;margin:12px auto 0;
  background:linear-gradient(90deg,#8ed04e,#5e9a2a);border-radius:99px;
}

/* ---------- 8) CARROUSEL MARQUES ---------- */
#index [class*=manufacture] .item a{border-radius:12px}
#index [class*=manufacture] .item a:hover img{filter:none}
#index .iqit-fullwidth [class*=carousel-control], #index [class*=jcarousel] [class*=arrow]{opacity:.85}

/* ---------- 9) BLOG (ybc) : cartes E4 ---------- */
#index .ybc_block_latest, #index .ybc_block_popular{padding-top:26px}
#index .ybc_block_latest .title_block, #index .ybc_block_popular .title_block,
#index h2.title_blog,#index h3.title_blog,#index h4.title_blog{
  color:#2B004F!important;font-family:'Poppins',sans-serif!important;font-weight:800!important;
}
#index .ybc_block_latest article, #index .ybc_block_popular article,
#index [class*=ybc_item], #index .ybc_blog_post{
  background:#fff;border:1px solid rgba(43,0,79,.10)!important;border-radius:14px!important;
  overflow:hidden;transition:transform .18s ease,box-shadow .18s ease!important;
}
#index [class*=ybc_item]:hover, #index .ybc_blog_post:hover{
  transform:translateY(-3px);box-shadow:0 12px 28px rgba(43,0,79,.12)!important;
}
#index .ybc_block_latest a, #index .ybc_block_popular a{color:#2B004F}
#index .ybc_block_latest a:hover, #index .ybc_block_popular a:hover{color:#5e9a2a!important}
#index .ybc_block_latest .post-date, #index .ybc_block_popular .post-date,
#index [class*=ybc] [class*=date]{color:#5e9a2a!important;font-weight:600}

/* ---------- 10) PARALLAX RÉASSURANCE bas de page ---------- */
#index .parallax_block{
  border-top:3px solid transparent;
  background-image:linear-gradient(100deg,#7BBF3F,#5e9a2a 45%,#7E1E57)!important;
  background-size:100% 3px!important;background-repeat:no-repeat!important;background-position:top!important;
}

/* bandeau défilant « livraison express » bas d'image des cartes home : bruit visuel, masqué */
#index .product-image-container .availability.available-diff{display:none!important}
/* blog : cartes E4 réelles (ybc_blog_content_block_item) */
#index .ybc_blog_content_block_item{padding:10px}
#index .ybc_blog_content_block_item > *{border-radius:14px}
#index .ybc_blog_content_block_item .ybc-blog-latest-post-content{padding:0 6px}
#index .ybc_blog_content_block_item img{border-radius:14px;transition:transform .25s ease}
#index .ybc_blog_content_block_item:hover img{transform:scale(1.02)}
#index .ybc_blog_content_block_item .blog_description{color:#4f4760}
/* « Lire la suite » : lien vert affirmé */
#index [class*=ybc] a[class*=read], #index [class*=ybc] a[href*=blog]:not(:has(img)){font-weight:600}

/* ---------- 11) BANDEAU RÉASSURANCE BAS (parallax) : icônes clipart → SVG E4 ---------- */
/* P3 (14/07) : galet duo-tone (brandbook pilier 05) — icônes du jalon 3b
   conservées (déjà dans la grammaire du set), galet organique teinté ajouté */
#index .parallax_block .img-box-3-icon{
  width:52px!important;height:52px!important;margin:0 auto!important;
  border-radius:38% 62% 55% 45%/48% 42% 58% 52%!important;
  background:var(--gw-success-bg)!important;
  display:flex!important;align-items:center!important;justify-content:center!important}
#index .parallax_block [class*=col]:nth-child(4n+2) .img-box-3-icon{background:var(--gw-n100)!important}
#index .parallax_block [class*=col]:nth-child(4n+3) .img-box-3-icon{background:var(--gw-magenta-50)!important}
#index .parallax_block [class*=col]:nth-child(4n) .img-box-3-icon{background:var(--gw-warn-bg)!important}
#index .parallax_block .img-box-3-icon img{display:none!important}
#index .parallax_block .img-box-3-icon::before{
  content:"";display:block;width:26px;height:26px;
  background:var(--gw-ink-700);
  -webkit-mask:var(--e4-fic) center/contain no-repeat;mask:var(--e4-fic) center/contain no-repeat;
}
#index .parallax_block [class*=col]:hover .img-box-3-icon::before{background:var(--gw-green-700);transition:background var(--gw-dur-2) var(--gw-ease-out)}
/* mapping par fichier d'origine (robuste à l'ordre BO) */
#index .parallax_block .img-box-3-icon:has(img[src*="repeat"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M17 2v4H7a4 4 0 0 0-4 4v1'/><path d='m17 2 4 4-4 4'/><path d='M7 22v-4h10a4 4 0 0 0 4-4v-1'/><path d='m7 22-4-4 4-4'/></svg>");
}
#index .parallax_block .img-box-3-icon:has(img[src*="gift"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'><rect x='3' y='8' width='18' height='4'/><path d='M5 12v8h14v-8M12 8v12'/><path d='M12 8c-2 0-4.5-.6-4.5-2.7C7.5 3.6 9 3 10 3c1.8 0 2 2.6 2 5Zm0 0c2 0 4.5-.6 4.5-2.7C16.5 3.6 15 3 14 3c-1.8 0-2 2.6-2 5Z'/></svg>");
}
#index .parallax_block .img-box-3-icon:has(img[src*="stopwatch"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'><circle cx='12' cy='14' r='8'/><path d='M12 14V9M10 2h4'/></svg>");
}
#index .parallax_block .img-box-3-icon:has(img[src*="locked"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'><rect x='4' y='10' width='16' height='11' rx='2'/><path d='M8 10V7a4 4 0 0 1 8 0v3'/></svg>");
}
#index .parallax_block .img-box-3-icon:has(img[src*="calendar"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='16' rx='2'/><path d='M3 10h18M8 3v4M16 3v4'/></svg>");
}
#index .parallax_block .img-box-3-icon:has(img[src*="price-tag"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'><path d='M12 2 2 12l10 10L22 12V2Z' transform='rotate(45 12 12)'/><circle cx='15' cy='9' r='1.6'/></svg>");
}
#index .parallax_block .img-box-3-icon:has(img[src*="umbrella"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'><path d='M12 3 4 6v6c0 5 8 9 8 9s8-4 8-9V6Z'/><path d='m9 12 2 2 4-4' stroke-linecap='round'/></svg>");
}
#index .parallax_block .img-box-3-icon:has(img[src*="photos"])::before{
  --e4-fic:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='m12 3 2.7 5.6 6.3.8-4.6 4.3 1.2 6.1L12 16.9 6.4 19.8l1.2-6.1L3 9.4l6.3-.8z'/></svg>");
}
#index .parallax_block .img-box-3 p, #index .parallax_block [class*=col] p{
  color:#2B004F!important;font-family:'Poppins',sans-serif!important;font-weight:600!important;
}

/* tous les CTA de navigation de la home : vert E4 (un « VOIR TOUT » blog restait cyan) */
#index .cta-btn{
  background:linear-gradient(100deg,#8ed04e,#5e9a2a)!important;color:#13002a!important;
  border:0!important;border-radius:11px!important;
  font-family:'Poppins',sans-serif!important;font-weight:700!important;
  box-shadow:0 6px 16px rgba(123,191,63,.3)!important;
}
#index .cta-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
#index .cta-btn *{color:#13002a!important}

/* ═══ QW#3 — preuve sociale compacte sous le hero ═══ */
.gw-proof{display:flex;align-items:center;justify-content:center;gap:8px 16px;flex-wrap:wrap;max-width:1100px;margin:12px auto 0;padding:0 16px;font-family:'Poppins',sans-serif;font-size:13px;color:#4f4760}
.gw-proof-stars{color:#f5b301;letter-spacing:2px;font-size:14px}
.gw-proof-score b{color:#2B004F}
.gw-proof-score a{color:#3f6f1c;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.gw-proof-q{font-style:italic;color:#6d6480;max-width:52ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .4s}
.gw-proof-q.fade{opacity:0}
@media(max-width:820px){.gw-proof-q{display:none}}

/* ═══ QW#4 — liseré dispo sur les cartes (cohérence panier/catégorie) ═══ */
.ccard,.featured{position:relative;overflow:hidden}
.ccard::after,.featured::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:transparent;pointer-events:none}
.ccard.av-now::after,.featured.av-now::after{background:var(--gw-green-500)}
.ccard.av-later::after,.featured.av-later::after{background:var(--gw-gold-500)}

/* ═══ QW#5 — newsletter ═══ */
.gw-nl{background:linear-gradient(150deg,#3a0a63,#1a0033);color:#fff}
.gw-nl .gw-nl-in{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:26px;align-items:center;padding:clamp(28px,4vw,44px) 0}
@media(max-width:820px){.gw-nl .gw-nl-in{grid-template-columns:1fr;gap:16px}}
.gw-nl .eyebrow{color:#8ed04e}
.gw-nl h2{color:#fff;margin:6px 0 14px;font-family:var(--gw-font-disp,'Russo One',sans-serif)!important;font-weight:400;font-size:clamp(26px,3.2vw,40px);line-height:1.06;letter-spacing:-.01em;text-transform:uppercase!important;position:relative;display:inline-block;transform:skewX(var(--gw-skew,-5deg));transform-origin:left;padding-bottom:.32em}
.gw-nl h2::after{content:"";position:absolute;left:0;bottom:0;width:96px;height:5px;border-radius:3px;background:var(--gw-grad-key,linear-gradient(100deg,#7BBF3F,#7E1E57))}
.gw-nl h2 .accent{background:#3f7a1f;color:#fff;-webkit-text-fill-color:#fff;display:inline-block;padding:.02em .26em;border-radius:8px;transform:skewX(-5deg);box-shadow:0 2px 8px rgba(74,143,37,.22)}
.gw-nl p{color:rgba(255,255,255,.75);margin:0;font-size:14px;line-height:1.6}
.gw-nl-form{display:flex;gap:9px;flex-wrap:wrap}
.gw-nl-form input{flex:1;min-width:210px;height:50px;padding:0 16px;border-radius:12px;border:1.5px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;font-family:'Inter','Poppins',sans-serif;font-size:14.5px;outline:none}
.gw-nl-form input::placeholder{color:rgba(255,255,255,.45)}
.gw-nl-form input:focus{border-color:#8ed04e;box-shadow:0 0 0 3px rgba(123,191,63,.25)}
.gw-nl-form button{height:50px;padding:0 26px;border:0;border-radius:12px;background:linear-gradient(100deg,#ffc53d,#f2a114);color:#2B004F;font-family:'Poppins',sans-serif;font-weight:800;font-size:14.5px;cursor:pointer;box-shadow:0 8px 18px rgba(242,161,20,.3);transition:.18s}
.gw-nl-form button:hover{transform:translateY(-2px)}
.gw-nl-msg{margin:10px 0 0 !important;font-weight:700;font-size:13.5px !important}
.gw-nl-msg.ok{color:#8ed04e !important}
.gw-nl-msg.ko{color:#ff9f9f !important}
.gw-nl-legal{font-size:11.5px !important;color:rgba(255,255,255,.45) !important;margin-top:9px !important}

/* ═══ QW#9 — menu sticky (home) + retour en haut ═══ */
/* menu collant via classe JS (le parent est trop petit pour position:sticky) */
/* header Signature 02/08 : le menu home ne colle plus (remplacé par .gw-sbar, cf. e4-header.css §14) */
.gw-home section[id]{scroll-margin-top:72px}
#gwTop{position:fixed;right:18px;bottom:84px;z-index:970;width:46px;height:46px;border-radius:50%;border:0;background:linear-gradient(100deg,#8ed04e,#5e9a2a);color:#13002a;font-size:20px;font-weight:800;cursor:pointer;box-shadow:0 8px 20px rgba(43,0,79,.25);opacity:0;pointer-events:none;transform:translateY(8px);transition:.25s}
#gwTop.on{opacity:1;pointer-events:auto;transform:none}

/* ═══ QW#10 — lazy-render des sections sous le fold ═══ */
.gw-home section.band,.gw-home .gw-exp{content-visibility:auto;contain-intrinsic-size:auto 900px}

/* ═══ vagues violettes (motif fiche produit .sep--brand) sur #categories + #gw-avis ═══
   home-e4.css définit déjà .band.band--brand::before/::after (vague low-poly, var(--dvh))
   et #categories{margin-top:var(--dvh)} pour la vague du haut — mais content-visibility:auto
   ci-dessus (contain:paint implicite) rognait les pseudo-éléments qui débordent de la boîte :
   la vague était présente en CSS mais invisible à l'écran. On sort ces 2 sections du lazy-render
   et on réserve aussi l'espace en bas (vague basse) qui n'était pas prévu. */
#categories,#gw-avis,#gw-brands,#gw-etapes,#gw-nl,#gw-academy{content-visibility:visible;margin-top:var(--dvh);margin-bottom:var(--dvh)}
/* 23/08 — #gw-academy ajouté à la liste ci-dessus. Elle porte .band--brand comme
   les cinq autres, donc les mêmes vagues en ::before / ::after, mais elle était
   restée dans le lazy-render : le `contain:paint` implicite de
   content-visibility:auto rognait ses deux pseudo-éléments, exactement le défaut
   décrit juste au-dessus. Résultat à l'écran : la seule bande de l'accueil dont
   les jonctions étaient des coupes droites, en haut comme en bas.
   Le prix est le même que pour les cinq autres : la section n'est plus rendue
   paresseusement (1 426 px mesurés), et les deux marges de var(--dvh) qu'on
   réserve pour loger les vagues rallongent la page de 2 x 43 px à 1440, 2 x 32
   à 390. */

/* "Le meilleur de l'éclairage horticole" : fond blanc au lieu du gris/lilas par défaut de .band--alt */
.gw-block .band--alt{background:#fff !important}

/* écart avis→catégories : on resserre --dvh (36–54px) à 32–48px pour rester sous ~50px
   quelle que soit la largeur d'écran (sert aussi de hauteur à la vague ci-dessus) */
:root{--dvh:clamp(32px,3vw,48px) !important}


/* ═══ Marques : tuiles blanches épurées — zéro bordure/contour, logos en couleur ═══ */
.band--brand .mlogo{background:#fff !important;border:0 !important;box-shadow:none !important;border-radius:12px;padding:10px 20px;height:60px !important}
.band--brand .mlogo img{filter:none !important;opacity:1 !important;max-height:34px !important}
.band--brand .mlogo:hover{box-shadow:none !important;border:0 !important;transform:translateY(-3px)}

/* ═══ HERO layout B — slider 60% + 2 focus à droite + 2 bannières larges ═══ */
.gw-hero-grid{display:grid;grid-template-columns:1.55fr 1fr;gap:14px;align-items:stretch}
.gw-hero-grid .gw-hero-stage{min-width:0}
/* H2 (08/2026) : la colonne absorbe les bandeaux larges — 4 cartes compactes */
.gw-side{display:grid;grid-template-rows:repeat(4,1fr);gap:12px;min-width:0}
.gw-side .gwfb{min-height:0;padding:14px 18px;justify-content:center;gap:3px}
.gw-side .gwfb .fa{margin-top:6px;padding:6px 12px;font-size:11px}
.gwfb .lis{position:absolute;top:0;left:0;right:0;height:3px;background:var(--gw-grad-key);opacity:.55;z-index:3;transition:opacity .25s}
.gwfb:hover .lis{opacity:1}


/* bannière focus générique (CSS pur, 0 image) */
.gwfb{position:relative;border-radius:16px;overflow:hidden;color:#fff;padding:20px 22px;display:flex;flex-direction:column;justify-content:flex-end;gap:5px;min-height:120px;text-decoration:none;transition:transform .18s ease}
.gwfb:hover{transform:translateY(-3px);color:#fff}
.gwfb .fk{position:relative;font-family:'Poppins',sans-serif;font-weight:700;font-size:10px;letter-spacing:.13em;text-transform:uppercase;opacity:.92}
.gwfb .ft{position:relative;font-family:'Russo One','Poppins',sans-serif;font-style:italic;font-size:20px;line-height:1.1;text-transform:uppercase}
.gwfb .fd{position:relative;font-size:12.5px;opacity:.85;max-width:38ch}
.gwfb .fa{position:relative;margin-top:8px;display:inline-flex;align-self:flex-start;align-items:center;gap:7px;font-family:'Poppins',sans-serif;font-weight:800;font-size:12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:9px;padding:8px 14px;backdrop-filter:blur(4px)}
.gwfb .fa::after{content:"→"}
/* pack : encre + halo vert + motif configurateur */
.gwfb--pack{background:linear-gradient(140deg,#2c0850,#160029)}
.gwfb--pack::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 85% 15%,rgba(123,191,63,.4),transparent 60%)}
.gwfb--pack::after{content:"";position:absolute;right:-20px;top:-20px;width:130px;height:130px;border:2px dashed rgba(142,208,78,.5);border-radius:22px;transform:rotate(12deg)}
/* promos : magenta + or */
.gwfb--promo{background:linear-gradient(140deg,#7E1E57,#3d0f2e)}
.gwfb--promo::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 80% 20%,rgba(255,197,61,.38),transparent 60%)}
/* H2 : l'or est réservé à la transaction — le pourcentage passe en blanc plein */
.gwfb--promo .pctbig{position:absolute;right:16px;top:10px;font-family:'Russo One',sans-serif;font-style:italic;font-size:26px;color:#fff;opacity:.92;transform:rotate(4deg) skewX(-5deg)}
/* Advanced Nutrients : blanc/vert marque */
.gwfb--an{background:linear-gradient(140deg,#f6fbf2,#e4f3d8);color:#1d3a0d}
.gwfb--an:hover{color:#1d3a0d}
.gwfb--an::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 80% at 85% 20%,rgba(123,191,63,.3),transparent 60%)}
.gwfb--an .fk{color:#5e9a2a}
.gwfb--an .fd{color:#41603a;opacity:1}
.gwfb--an .fa{background:#1d3a0d;color:#fff;border-color:transparent}
.gwfb--an .anbottles{position:absolute;right:18px;bottom:14px;display:flex;gap:6px;align-items:flex-end}
.gwfb--an .anbottles i{display:block;width:15px;border-radius:5px 5px 3px 3px;background:linear-gradient(180deg,#2b2b2b 28%,#7BBF3F 28%)}
/* CO2 : teal + bulles */
.gwfb--co2{background:linear-gradient(140deg,#04343c,#031b20)}
.gwfb--co2::before{content:"";position:absolute;inset:0;background:radial-gradient(70% 90% at 80% 15%,rgba(64,205,190,.32),transparent 60%)}
.gwfb--co2 .fk{color:#5fe0cf}
.gwfb--co2 .bubbles i{position:absolute;border:1.5px solid rgba(95,224,207,.45);border-radius:50%}
.gwfb--co2 .fa{background:rgba(95,224,207,.15);border-color:rgba(95,224,207,.4)}


/* responsive */
@media(max-width:1020px){
  .gw-hero-grid{grid-template-columns:1fr}
  .gw-side{grid-template-rows:none;grid-template-columns:1fr 1fr;grid-auto-rows:1fr}
  .gw-side .gwfb{min-height:130px}
}
@media(max-width:700px){
  .gw-focuswide{grid-template-columns:1fr}
  .gwfb--wide{flex-direction:column;align-items:flex-start}
  .gwfb--wide .fa{margin-top:8px}
  .gw-side{grid-template-columns:1fr 1fr}
  .gw-side .ft{font-size:15px}
}

/* contre le thème : #center_column a force #777 → couleurs bannières explicites */
#center_column .gwfb,#center_column .gwfb .ft,#center_column .gwfb .fk,#center_column .gwfb .fd,#center_column .gwfb .fa{color:#fff !important}
#center_column .gwfb--an,#center_column .gwfb--an .ft{color:#1d3a0d !important}
#center_column .gwfb--an .fk{color:#5e9a2a !important}
#center_column .gwfb--an .fd{color:#41603a !important}
#center_column .gwfb--an .fa{color:#fff !important}
#center_column .gwfb--co2 .fk{color:#5fe0cf !important}

/* espace entre le menu et le haut du slider (menu et hero se touchaient) ;
   marge sur le container englobant du slider, indépendante du menu sticky
   (.gw-stick passe en position:fixed au scroll, donc n'affecte pas ce flow normal) */
.gw-hero{margin-top:22px}

/* hero aligné sur le wrap 1280 (comme les bands .bw)
   ── 24/08/2026 : le FOND passe pleine largeur, le CONTENU ne bouge pas ──
   `.hero-wrap` porte le dégradé et le filet du bas (home-e4.css). Bornée à
   `max-width:var(--gw-wrap)` avec des marges automatiques, la bande s'arrêtait
   à 72 px des bords à 1440, 160 à 1920 — alors que la bande de réassurance
   juste en dessous, elle, va d'un bord à l'autre. Deux bandes empilées, une
   courte et une longue.
   Rien à changer dans le balisage : `.gw-hero` et toute la chaîne au-dessus
   (`.gw-home`, `.center_column`, `.row`) font déjà la largeur de la fenêtre —
   seule `.hero-wrap` se bridait elle-même. On convertit donc sa marge de
   centrage en REMBOURRAGE : la boîte peinte s'étend jusqu'aux bords, le
   contenu garde exactement sa position.
   `calc((100% - var(--gw-wrap))/2)` reproduit au pixel ce que calculaient les
   marges automatiques : 72 px à 1440, 160 à 1920, 19,5 à 390 — vérifié.
   ── 24/08/2026, second temps : le contenu s'aligne aussi ──
   Le rembourrage ne vaut plus le seul centrage, mais le centrage PLUS la
   gouttière des bandes. Sans elle, le contenu du hero se calait sur la BOÎTE
   de `.bw` et non sur son contenu : `.bw` ajoute 24 px de rembourrage, donc le
   hero débordait de 24 px de chaque côté au-dessus de 1312 px, et de 8 px en
   dessous (l'ancienne règle n'en rendait que 16 sur les 24).
   `--gw-gutter` est le même jeton des deux côtés — 24 px, 16 px sous 767 px où
   e4-mobile.css ramène aussi `.bw` à 16. Les deux ne peuvent plus diverger.
   L'ancienne exception à 1312 px disparaît : elle rattrapait une partie de
   l'écart au lieu de le supprimer.
   Conséquence assumée : le contenu du hero perd 24 px de chaque côté au-dessus
   de 1312 px. C'est le prix de l'alignement, demandé explicitement. */
.gw-hero .hero-wrap{max-width:none;margin-left:0;margin-right:0;
  padding-left:calc((100% - var(--gw-wrap,min(90%,1600px)))/2 + var(--gw-gutter,24px));
  padding-right:calc((100% - var(--gw-wrap,min(90%,1600px)))/2 + var(--gw-gutter,24px))}
.gw-hero .slider,.gw-hero .gw-hero-stage .slider{border-radius:18px;overflow:hidden}
/* explorateur catégories : contenu aligné */
.gw-cat .bw{max-width:var(--gw-wrap,min(90%,1600px));margin-left:auto;margin-right:auto}

/* ═══ P3 (14/07) — révélation des bands au scroll (grammaire ADN : une
   section = une vague ; classe posée par home-e4.js, jamais sans JS) ═══ */
#index .gw-reveal{opacity:0;transform:translateY(16px);
  transition:opacity var(--gw-dur-4) var(--gw-ease-out),transform var(--gw-dur-4) var(--gw-ease-out)}
#index .gw-reveal.is-in{opacity:1;transform:none}

/* ═══ Bandes home full-bleed (21/08) ═══════════════════════════════════════
   Les sections de #gw-home s'arrêtaient à 15 px des bords : c'est le padding
   de `.container` porté par #columns (+ le couple .content-inner -10 /
   #center_column +10 qui le reconduit). Désactiver `.container` globalement
   coûterait la gouttière de TOUTES les autres pages (catégorie, fiche, CMS,
   tunnel) — on neutralise donc uniquement la chaîne de la home.
   Le contenu ne bouge pas : `.bw` / `.reassure-in` restent centrés sur
   --gw-wrap = min(90%,1600px) (cf. e4-tokens.css « conteneur unique fluide »).
   Pas de 50vw ici volontairement : vw compte la barre de défilement et
   provoque un débordement horizontal sur desktop.
   ────────────────────────────────────────────────────────────────────────── */
#index #columns.container{padding-left:0;padding-right:0}
#index #columns > .row.content-inner{margin-left:0;margin-right:0}
#index #columns #center_column{padding-left:0;padding-right:0}
/* le wrapper des hooks maxInfos garde sa gouttière (hors #gw-home) */
#index #columns > .fw-pseudo-wrapper{padding-left:15px;padding-right:15px}

/* ═══ GrowLED Academy — bloc home (21/08) ══════════════════════════════════
   Remplace « Se lancer en 6 étapes ». Toutes les classes sont préfixées
   `gwa-` : le thème utilise déjà .rail, .chip, .num et .lbl ailleurs, et une
   collision ici casserait la fiche produit et la catégorie.
   Icônes = jeu du module gwps_academy (voir _academy.tpl).
   ────────────────────────────────────────────────────────────────────────── */
#index .gwa{position:relative}
#index .gwa-tex{
  position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(201,184,222,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(201,184,222,.055) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(1100px 520px at 50% 38%,#000 25%,transparent 78%);
  mask-image:radial-gradient(1100px 520px at 50% 38%,#000 25%,transparent 78%);
}
#index .gwa .bw{position:relative;z-index:2}
#index .gwa .head{margin-bottom:30px}

/* — barre de programme — */
#index .gwa-syl{
  display:grid;grid-template-columns:repeat(4,auto);justify-content:center;
  width:-moz-fit-content;width:fit-content;margin:0 auto 14px;
  border:1px solid rgba(201,184,222,.20);border-radius:16px;
  background:rgba(22,0,41,.34);overflow:hidden;
}
#index .gwa-syl-i{padding:15px 30px;text-align:center;border-right:1px solid rgba(201,184,222,.14)}
#index .gwa-syl-i:last-child{border-right:0}
#index .gwa-syl-i b{
  display:block;font-family:'Russo One',sans-serif;font-weight:400;font-size:26px;line-height:1;
  color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.01em;
}
#index .gwa-syl-i small{display:block;margin-top:7px;font-size:11px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gw-on-ink-70)}
#index .gwa-syl-i--gold b{color:var(--gw-gold-300)}

/* — signature de l'auteur — */
#index .gwa-by{display:flex;align-items:center;justify-content:center;gap:13px;margin:0 auto 44px;width:-moz-fit-content;width:fit-content}
#index .gwa-mono{
  width:42px;height:42px;border-radius:13px;flex:none;display:grid;place-items:center;
  background:var(--gw-grad-ink);border:1px solid rgba(201,184,222,.22);
  font-family:'Russo One',sans-serif;font-size:14px;color:#fff;transform:skewX(var(--gw-skew,-5deg));
}
#index .gwa-mono span{transform:skewX(5deg)}
#index .gwa-who{font-size:14px;line-height:1.4;text-align:left;color:var(--gw-on-ink-70)}
#index .gwa-who b{color:#fff;font-weight:600}

/* — le rail — */
#index .gwa-rail{position:relative;padding-top:46px}
#index .gwa-track{
  position:absolute;left:calc(5% + 4px);right:calc(5% + 4px);top:77px;height:4px;border-radius:3px;
  background:rgba(201,184,222,.16);overflow:hidden;
}
/* Piste PLEINE par défaut : sans JS, le rail reste lisible. Le JS pose
   `gwa-anim` pour armer l'animation, puis `is-in` pour la jouer — même
   idiome que `gw-reveal` plus haut, donc zéro flash et zéro dépendance. */
#index .gwa-track::after{
  content:"";position:absolute;inset:0;border-radius:3px;
  background:linear-gradient(90deg,var(--gw-green-400),var(--gw-green-700) 42%,rgba(126,30,87,.9));
  transform-origin:left center;
  transition:transform 1.15s cubic-bezier(.22,.7,.24,1) .1s;
}
#index .gwa-rail.gwa-anim .gwa-track::after{transform:scaleX(0)}
#index .gwa-rail.gwa-anim.is-in .gwa-track::after{transform:scaleX(1)}

#index .gwa-ms{
  position:absolute;top:0;display:inline-flex;align-items:center;gap:7px;
  font-size:10.5px;font-weight:600;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;
  padding:5px 11px;border-radius:999px;
  background:rgba(242,161,20,.13);border:1px solid rgba(255,197,61,.42);color:var(--gw-gold-300);
}
#index .gwa-ms svg{width:13px;height:13px}
#index .gwa-ms--half{left:45%;transform:translateX(-50%)}
#index .gwa-ms--end{right:0}

#index .gwa-nodes{display:grid;position:relative;z-index:2}
#index .gwa-node{
  position:relative;display:block;text-align:center;padding:0 5px;text-decoration:none;color:inherit;
  transition:opacity .5s ease,transform .5s cubic-bezier(.22,.7,.24,1);
}
#index .gwa-rail.gwa-anim .gwa-node{opacity:0;transform:translateY(12px)}
#index .gwa-rail.gwa-anim.is-in .gwa-node{opacity:1;transform:none}
#index .gwa-chip{
  position:relative;width:64px;height:64px;margin:0 auto;border-radius:19px;display:grid;place-items:center;
  background:linear-gradient(160deg,#2f0a53,#1d0038);border:1.5px solid rgba(201,184,222,.22);
  transform:skewX(var(--gw-skew,-5deg));
  transition:transform .2s cubic-bezier(.4,0,.2,1),border-color .2s,box-shadow .2s;
}
#index .gwa-chip>svg{width:28px;height:28px;transform:skewX(5deg);color:var(--gw-on-ink-70);transition:color .2s}
#index .gwa-num{
  position:absolute;top:-8px;right:-8px;min-width:23px;height:23px;padding:0 5px;border-radius:8px;
  display:grid;place-items:center;font-family:'Russo One',sans-serif;font-size:11.5px;line-height:1;
  background:#160029;border:1.5px solid rgba(201,184,222,.28);color:var(--gw-on-ink-70);
}
#index .gwa-num span{transform:skewX(5deg);display:block}
#index .gwa-lock{
  position:absolute;bottom:-7px;left:50%;width:20px;height:20px;border-radius:7px;
  transform:translateX(-50%) skewX(5deg);display:grid;place-items:center;
  background:#160029;border:1.5px solid rgba(201,184,222,.22);
}
#index .gwa-lock svg{width:11px;height:11px;color:var(--gw-n400);transform:none}
#index .gwa-lbl{display:block;margin-top:15px;font-size:12px;line-height:1.36;color:var(--gw-on-ink-70);min-height:2.72em}
#index .gwa-min{display:block;margin-top:5px;font-size:10.5px;font-weight:600;letter-spacing:.06em;color:var(--gw-n400);font-variant-numeric:tabular-nums}

#index .gwa-node--free .gwa-chip{background:var(--gw-grad-green);border-color:transparent;animation:gwaHalo 3.4s ease-in-out infinite}
#index .gwa-node--free .gwa-chip>svg{color:#13002a}
#index .gwa-node--free .gwa-num{background:#fff;border-color:transparent;color:#13002a}
#index .gwa-node--free .gwa-lbl{color:#fff;font-weight:600}
#index .gwa-node--free .gwa-min{color:var(--gw-green-300)}
@keyframes gwaHalo{
  0%,100%{box-shadow:0 10px 26px rgba(123,191,63,.40),0 0 0 0 rgba(142,208,78,.30)}
  50%    {box-shadow:0 10px 26px rgba(123,191,63,.40),0 0 0 13px rgba(142,208,78,0)}
}
#index .gwa-node--gold .gwa-chip{border-color:rgba(255,197,61,.52)}
#index .gwa-node--gold .gwa-chip>svg{color:var(--gw-gold-300)}
#index .gwa-node--gold .gwa-num{border-color:rgba(255,197,61,.5);color:var(--gw-gold-300)}
#index .gwa-node:hover .gwa-chip{transform:skewX(var(--gw-skew,-5deg)) translateY(-5px);border-color:var(--gw-green-400)}
#index .gwa-node:hover .gwa-chip>svg{color:#fff}
#index .gwa-node--free:hover .gwa-chip>svg{color:#13002a}
#index .gwa-node:hover .gwa-lbl{color:#fff}

/* — fiche au survol — */
#index .gwa-peek{
  position:absolute;left:50%;bottom:calc(100% + 15px);width:212px;
  transform:translate(-50%,7px);opacity:0;pointer-events:none;
  background:#160029;border:1px solid rgba(201,184,222,.24);border-radius:13px;
  padding:13px 15px;text-align:left;box-shadow:0 18px 38px rgba(0,0,0,.5);
  transition:opacity .18s ease,transform .18s cubic-bezier(.4,0,.2,1);z-index:8;
}
#index .gwa-peek::after{content:"";position:absolute;top:100%;left:50%;transform:translateX(-50%);border:7px solid transparent;border-top-color:#160029}
#index .gwa-peek b{display:block;font-size:13px;color:#fff;font-weight:600;margin-bottom:5px}
#index .gwa-peek-p{display:block;font-size:12px;line-height:1.5;color:var(--gw-on-ink-70)}
#index .gwa-peek em{display:inline-block;margin-top:8px;font-style:normal;font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gw-green-300)}
#index .gwa-node:hover .gwa-peek,#index .gwa-node:focus-visible .gwa-peek{opacity:1;transform:translate(-50%,0)}
#index .gwa-nodes>.gwa-node:nth-child(-n+2) .gwa-peek{left:0;transform:translate(0,7px)}
#index .gwa-nodes>.gwa-node:nth-child(-n+2):hover .gwa-peek{transform:translate(0,0)}
#index .gwa-nodes>.gwa-node:nth-child(-n+2) .gwa-peek::after{left:38px}
#index .gwa-nodes>.gwa-node:nth-last-child(-n+2) .gwa-peek{left:auto;right:0;transform:translate(0,7px)}
#index .gwa-nodes>.gwa-node:nth-last-child(-n+2):hover .gwa-peek{transform:translate(0,0)}
#index .gwa-nodes>.gwa-node:nth-last-child(-n+2) .gwa-peek::after{left:auto;right:38px}

/* — acquis de fin de formation — */
#index .gwa-out{margin-top:54px;border-top:1px solid rgba(201,184,222,.16);padding-top:34px}
#index .gwa-out-t{text-align:center;font-family:'Russo One',sans-serif;font-weight:400;font-size:17px;color:#fff;letter-spacing:.01em;margin-bottom:24px}
#index .gwa-out-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
#index .gwa-out-i{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-radius:14px;background:rgba(22,0,41,.30);border:1px solid rgba(201,184,222,.15);font-size:14px;line-height:1.55;color:var(--gw-on-ink-70)}
#index .gwa-out-i b{color:#fff;font-weight:600}
#index .gwa-out-ic{width:34px;height:34px;flex:none;border-radius:11px;display:grid;place-items:center;background:rgba(123,191,63,.13);border:1px solid rgba(123,191,63,.30);transform:skewX(var(--gw-skew,-5deg))}
#index .gwa-out-ic svg{width:17px;height:17px;color:var(--gw-green-300);transform:skewX(5deg)}

#index .gwa .cta-row{margin-top:40px}
#index .gwa-btn-ghost{background:transparent;border:1px solid rgba(255,255,255,.32);color:#fff}
#index .gwa-btn-ghost:hover{border-color:rgba(155,217,104,.75);color:var(--gw-green-300)}
#index .gwa-fine{width:100%;text-align:center;margin-top:14px;font-size:13px;color:var(--gw-on-ink-70)}
#index .gwa-fine b{color:#fff;font-weight:600}

/* — le matériel, rayon par rayon (les 6 liens de l'ancien bloc) — */
#index .gwa-ray{margin-top:42px;padding-top:30px;border-top:1px solid rgba(201,184,222,.16)}
#index .gwa-ray-h{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:18px;flex-wrap:wrap}
#index .gwa-ray-h h3{font-family:'Russo One',sans-serif;font-weight:400;font-size:15px;color:#fff;letter-spacing:.02em;margin:0}
#index .gwa-ray-h span{font-size:13px;color:var(--gw-on-ink-70)}
#index .gwa-ray-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
#index .gwa-ray-i{
  display:flex;flex-direction:column;gap:9px;padding:14px 15px;border-radius:13px;text-decoration:none;
  background:rgba(22,0,41,.30);border:1px solid rgba(201,184,222,.15);
  transition:border-color .18s,transform .18s cubic-bezier(.4,0,.2,1),background .18s;
}
#index .gwa-ray-i:hover{border-color:rgba(123,191,63,.55);transform:translateY(-3px);background:rgba(22,0,41,.5)}
#index .gwa-ray-top{display:flex;align-items:center;gap:9px}
#index .gwa-ray-ic{width:28px;height:28px;flex:none;border-radius:9px;display:grid;place-items:center;background:rgba(201,184,222,.09);border:1px solid rgba(201,184,222,.18);transform:skewX(var(--gw-skew,-5deg))}
#index .gwa-ray-ic svg{width:15px;height:15px;color:var(--gw-on-ink-70);transform:skewX(5deg)}
#index .gwa-ray-i:hover .gwa-ray-ic{border-color:rgba(123,191,63,.45)}
#index .gwa-ray-i:hover .gwa-ray-ic svg{color:var(--gw-green-300)}
#index .gwa-ray-step{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gw-n400)}
#index .gwa-ray-name{font-size:13.5px;font-weight:600;color:#fff;line-height:1.3}
#index .gwa-ray-go{display:inline-flex;align-items:center;gap:6px;margin-top:auto;font-size:12px;color:var(--gw-green-300)}
#index .gwa-ray-go svg{width:13px;height:13px}

@media (max-width:1000px){#index .gwa-ray-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:860px){#index .gwa-out-grid{grid-template-columns:1fr}}
@media (max-width:720px){
  #index .gwa-syl{grid-template-columns:repeat(2,1fr);width:auto}
  #index .gwa-syl-i{padding:14px 10px}
  #index .gwa-syl-i:nth-child(2n){border-right:0}
  #index .gwa-syl-i:nth-child(-n+2){border-bottom:1px solid rgba(201,184,222,.14)}
}
@media (max-width:620px){#index .gwa-ray-grid{grid-template-columns:repeat(2,1fr)}}

/* — sous 940 px le rail passe en colonne — */
@media (max-width:940px){
  #index .gwa-ms{display:none}
  #index .gwa-peek{display:none}
  #index .gwa-rail{padding-top:6px}
  #index .gwa-track{left:28px;right:auto;top:14px;bottom:14px;width:4px;height:auto}
  #index .gwa-track::after{transform-origin:top center;transform:scaleY(0)}
  #index .gwa-rail.is-in .gwa-track::after{transform:scaleY(1)}
  #index .gwa-nodes{grid-template-columns:1fr !important;gap:24px}
  #index .gwa-node{
    display:grid;grid-template-columns:70px minmax(0,1fr);grid-template-rows:auto auto;
    align-items:center;column-gap:16px;row-gap:2px;text-align:left;padding:0;
  }
  /* placement explicite : sinon la durée retombe sous la pastille, sur le rail */
  #index .gwa-chip{grid-column:1;grid-row:1 / 3;width:60px;height:60px;margin:0}
  #index .gwa-lbl{grid-column:2;grid-row:1;margin-top:0;font-size:14.5px;min-height:0}
  #index .gwa-min{grid-column:2;grid-row:2;margin-top:0}
}

@media (prefers-reduced-motion:reduce){
  #index .gwa-rail.gwa-anim .gwa-node{opacity:1;transform:none}
  #index .gwa-rail.gwa-anim .gwa-track::after{transform:none}
  #index .gwa-node--free .gwa-chip{animation:none}
}

/* Chantier SEO 17/09/2026 : les images chargées en lazy réservent leur place (CLS 0,19 au défilement) */
#index .posts .post-media img{aspect-ratio:16/9;width:100%;object-fit:cover}
#index .type-grid .tt-img img{aspect-ratio:1/1;width:100%;object-fit:contain}
.band--brand .mlogo img{height:34px;width:auto}
#index .guide-feat .gf-media img{aspect-ratio:16/9;width:100%;object-fit:cover}

/* === home-e4.css === */
/* Home GrowLED E4 — CSS extrait de la maquette validée 29/06/2026 */
/* ============ GROWLED HOME — design system unifié, bandes full-bleed ============ */
*{box-sizing:border-box;margin:0;padding:0}
:root{
 --ink:#2B004F;--purple:#2B004F;--p2:#3a0a63;--p9:#1a0033;
 --green:#7BBF3F;--green-700:#5e9a2a;--green-text:#13002a;--magenta:#7E1E57;
 --body:#4f4760;--muted:#6b6280;--faint:#a99fbb;
 --bg:#ffffff;--alt:#f5f2f9;--border:#ece5f2;--soft:#f1ecf6;
 --r:12px;--r-lg:16px;--r-xl:22px;--pill:999px;
 --sh-sm:0 1px 2px rgba(43,0,79,.04);--sh:0 4px 12px rgba(43,0,79,.05);--sh-lg:0 12px 28px rgba(43,0,79,.08);
 --ease:cubic-bezier(.4,0,.2,1);--space:clamp(40px,5vw,72px);--wrap:1280px;
 --f-head:'Poppins',sans-serif;--f-disp:'Russo One',sans-serif;--f-body:'Inter',system-ui,sans-serif;
 --b3-grad-key:#7BBF3F !important;--b3-grad-green:linear-gradient(100deg,#8ed04e,#5e9a2a);--b3-grad-ink:linear-gradient(150deg,#3a0a63,#1a0033);
 --b3-skew:-7deg;--b3-skew-accent:-5deg;--b3-ease:cubic-bezier(.22,1,.36,1);--b3-ink:#2B004F;
 --b3-glow-green:0 0 0 1px rgba(123,191,63,.10);--b3-glow-green-lg:0 0 0 1px rgba(123,191,63,.12);--b3-hairline:rgba(43,0,79,.08);
 --b3-shadow-soft:0 1px 2px rgba(43,0,79,.04),0 6px 16px rgba(43,0,79,.05);--b3-shadow-lift:0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09);
 --b3-glass:rgba(255,255,255,.62);--b3-glass-strong:rgba(255,255,255,.78);--b3-lilac:#f5f2f9;
 --b3-r-visual:22px;--b3-r-card:13px;--b3-focus:0 0 0 3px rgba(123,191,63,.45);
 --green-block:#3f7a1f;--green-block-aa:#3f7a1f;--green-text-aa:#3f6f1c;
 --dvh:clamp(36px,3.6vw,54px);
}
html{scroll-behavior:smooth;overflow-x:clip}
body{font-family:var(--f-body);color:var(--body);background:var(--gw-n0);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
h1,h2,h3,h4{color:var(--gw-ink-700);line-height:1.14;letter-spacing:-.01em}

/* ---- BANDES full-bleed ---- */
.band{width:100%}
.band--alt{background:linear-gradient(180deg,#f7f4fb,#f2edf8) !important}
.bw{max-width:var(--wrap);margin:0 auto;padding:var(--space) 24px}
.bw--tight{padding-top:clamp(40px,5vw,64px);padding-bottom:clamp(40px,5vw,64px)}

/* ---- en-tête de section (partagé) ---- */
.head{text-align:center;max-width:660px;margin:0 auto 44px}
.head--left{text-align:left;margin-left:0}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gw-magenta-500);margin-bottom:14px;transform:skewX(var(--gw-skew))}
.eyebrow::before{content:"";display:inline-block;width:30px;height:8px;border-radius:2px;opacity:1;vertical-align:middle;margin-right:9px;background:var(--gw-grad-key);transform:skewX(var(--gw-skew));box-shadow:0 0 5px rgba(123,191,63,.25)}

.head p{margin-top:12px;color:var(--gw-n600);font-size:16.5px}
.link-all{display:inline-flex;align-items:center;gap:7px;font-family:var(--gw-font-ui);font-weight:600;font-size:14.5px;color:var(--gw-ink-700)}
.link-all svg{width:16px;height:16px;transition:.2s var(--ease)}.link-all:hover svg{transform:translateX(4px)}.link-all:hover{color:var(--gw-magenta-500)}

/* ---- boutons partagés ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--gw-font-ui);font-weight:600;font-size:15px;padding:13px 24px;border-radius:var(--gw-r);transition:.4s var(--gw-ease-out) !important;cursor:pointer;border:1.5px solid transparent;white-space:nowrap}
.btn svg{width:18px;height:18px}
.btn-primary{background:var(--gw-grad-green) !important;color:var(--green-text) !important;border:1px solid transparent;box-shadow:0 8px 14px rgba(123,191,63,.18),0 0 0 1px rgba(123,191,63,.12) !important}
.btn-primary:hover{transform:translateY(-3px);background:#8ed04e;box-shadow:0 14px 22px rgba(123,191,63,.26),0 0 0 1px rgba(123,191,63,.26) !important}
.btn-ghost{background:var(--gw-glass-strong) !important;border-color:var(--gw-hairline) !important;color:var(--gw-ink-700) !important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:rgba(123,191,63,.45) !important;background:rgba(255,255,255,.9) !important;color:#3f6f1c !important;transform:translateY(-3px);box-shadow:var(--gw-glow-green) !important}

/* ---- étoiles partagées ---- */
.stars{--r:100%;display:inline-block;position:relative;font-size:15px;line-height:1;letter-spacing:2px;font-family:Arial}
.stars::before{content:"★★★★★";color:#e3dcec}.stars::after{content:"★★★★★";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden}

/* ---- carte produit partagée ---- */
.pcard-media img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:.4s var(--ease)}
.pcard:hover .pcard-media img{transform:scale(1.05)}
.badge{position:absolute;top:12px;left:12px;background:var(--gw-magenta-500) !important;color:#fff;font-family:var(--gw-font-disp);font-weight:400;font-size:12px;padding:4px 11px;border-radius:var(--gw-r-sm);z-index:2;box-shadow:0 6px 12px rgba(126,30,87,.22) !important;transform:skewX(var(--gw-skew))} /* P3 : badge normé brandbook (Russo · flat · r-sm) */
.pcard-b{padding:16px 17px 18px;display:flex;flex-direction:column;flex:1}
.pcard-brand{font-size:11.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gw-magenta-500)}
.pcard-name{font-family:var(--gw-font-ui);font-weight:600;font-size:15px;color:var(--gw-ink-700);margin:5px 0 4px;line-height:1.28}
.pcard-name a:hover{color:#3f6f1c}
.pcard-spec{font-size:12.5px;color:var(--gw-n600);margin-bottom:11px}
.pcard-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px}.pcard-rating .rc{font-size:12px;color:var(--gw-n600)}
.pcard-price{display:flex;align-items:baseline;gap:9px;margin-top:auto;margin-bottom:13px}
.pcard-price .p{font-family:var(--gw-font-ui);font-weight:700;font-size:20px;color:var(--gw-ink-700)}
.pcard-price .o{font-size:13.5px;color:var(--gw-n400);text-decoration:line-through}
.pcard-price .conf{font-family:var(--gw-font-ui);font-weight:600;font-size:15px;color:#3f6f1c}
.pcard-cta{justify-content:center;width:100%;padding:11px;font-size:14px}

/* ======================= HERO ======================= */
.hero-in{position:relative;max-width:var(--wrap);margin:0 auto;padding:clamp(44px,6vw,84px) 24px;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center}

.hero-cta{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0 24px}
.hero-stat .l{font-size:12.5px;color:#bca8d6;margin-top:5px}
.hero-tag.t1{top:8%;left:-2%}.hero-tag.t2{bottom:14%;right:-1%}

/* ---- goldstrip ---- */
.gold{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.gold-item{display:flex;align-items:center;gap:11px;font-size:13.5px;font-weight:500;color:var(--gw-ink-700)}
.gold-item svg{width:22px;height:22px;color:var(--gw-magenta-500);flex-shrink:0}.gold-item b{font-weight:700}

/* responsive header/hero */

/* ===================== SECTION CATÉGORIES (méga-sélecteur) ===================== */
.cat-tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-bottom:18px}
.ctab{display:flex;flex-direction:column;align-items:center;gap:11px;padding:20px 12px;background:#fff;border:1.5px solid var(--border);border-radius:var(--gw-r-lg);cursor:pointer;transition:.2s var(--ease);font-family:var(--gw-font-ui)}
.ctab:hover{border-color:var(--gw-green-500);transform:translateY(-3px);box-shadow:var(--sh-sm)}
.ctab-ic{width:44px;height:44px;border-radius:13px;background:var(--gw-n75);display:flex;align-items:center;justify-content:center;color:var(--gw-ink-600)}
.ctab-ic svg{width:25px;height:25px}
.ctab-l{font-weight:600;font-size:13px;color:var(--gw-ink-700);text-align:center;line-height:1.25}
.ctab.active{background:linear-gradient(160deg,var(--gw-ink-700),var(--gw-ink-900));border-color:transparent}
.ctab.active .ctab-l{color:#fff}.ctab.active .ctab-ic{background:rgba(123,191,63,.2);color:var(--gw-green-500)}
.cpanel{display:none;background:#fff;border:1px solid var(--border);border-radius:var(--gw-r-lg);padding:28px}
.cpanel.active{display:block;animation:gwe-fade .35s var(--ease)}
@keyframes gwe-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cpanel-row{display:grid;grid-template-columns:1fr 250px;gap:28px}
.cpanel-cols{display:flex;flex-wrap:wrap;gap:22px 26px}
.cpanel-col{flex:1;min-width:130px}.cpanel-col.col-brands{flex:2;min-width:230px}
.cpanel-col h4{font-family:var(--gw-font-ui);font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--gw-magenta-500);margin-bottom:12px;font-weight:700}
.pillrow{display:flex;flex-wrap:wrap;gap:7px}
.fpill{display:inline-flex;align-items:center;padding:6px 13px;background:var(--gw-n75);border:1px solid var(--border);border-radius:var(--gw-r-pill);font-size:12.5px;color:var(--gw-ink-700);font-weight:500;transition:.16s var(--ease)}
.fpill:hover{border-color:var(--gw-green-500);color:#3f6f1c;background:#fff;transform:translateY(-1px)}
.brandgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bmini{height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:9px;padding:7px;transition:.18s var(--ease)}
/* Même traitement que .gw-cat .bmini plus bas. Cette règle-ci ne rend rien
   aujourd'hui — les quatorze .bmini de l'accueil sont tous dans .gw-cat, et il
   n'y en a aucun sur les pages catégorie (vérifié sur deux d'entre elles). On
   l'aligne pour que le défaut ne revienne pas si le composant ressort ailleurs. */
.bmini img{max-height:25px;max-width:100%;object-fit:contain;transition:.18s}
.bmini:hover{box-shadow:var(--sh-sm);transform:translateY(-2px);border-color:rgba(123,191,63,.45)}
.bmini .bfb{display:none}.bmini.noimg{padding:0 10px}.bmini.noimg img{display:none}.bmini.noimg .bfb{display:block;font-size:11px;font-weight:600;color:var(--gw-ink-700);text-align:center;line-height:1.1}
.allbrands{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-family:var(--gw-font-ui);font-weight:600;font-size:13px;color:#3f6f1c}.allbrands svg{width:15px;height:15px}
.cpanel-vignette{background:linear-gradient(160deg,var(--gw-ink-700),var(--gw-ink-900));border-radius:var(--gw-r);padding:22px;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;transition:.24s var(--ease)}
.cpanel-vignette:hover{transform:translateY(-3px);box-shadow:var(--sh)}
.cv-t{display:block;font-family:var(--gw-font-ui);font-weight:700;font-size:19px;color:#fff;margin-bottom:8px}
.cv-cta{display:inline-flex;align-items:center;gap:7px;font-family:var(--gw-font-ui);font-weight:600;font-size:13.5px;color:var(--gw-green-500)}.cv-cta svg{width:15px;height:15px}
.cpanel-tops{margin-top:24px;border-top:1px solid var(--border);padding-top:20px}
.tops-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.tops-head h4{font-family:var(--gw-font-ui);font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:var(--gw-magenta-500);font-weight:700}
.tops-all{display:inline-flex;align-items:center;gap:6px;font-family:var(--gw-font-ui);font-weight:600;font-size:13px;color:#3f6f1c}.tops-all svg{width:14px;height:14px}
.tops-rail{display:flex;gap:13px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.miniprod{flex:0 0 132px;background:#fff;border:1px solid var(--border);border-radius:var(--gw-r);overflow:hidden;transition:.2s var(--ease);display:flex;flex-direction:column}
.miniprod:hover{box-shadow:var(--sh-sm);transform:translateY(-3px)}
.mp-img{height:96px;display:flex;align-items:center;justify-content:center;background:#fff;padding:10px}.mp-img img{max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.mp-n{display:block;padding:9px 11px 12px;font-size:12px;color:var(--gw-ink-700);font-weight:500;line-height:1.3;border-top:1px solid var(--gw-n150);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ===================== SECTION TOP (onglets produits) ===================== */
.ptabs{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-bottom:34px}
.ptab{padding:10px 22px;border:1.5px solid var(--border);background:#fff;border-radius:var(--gw-r-pill);font-family:var(--gw-font-ui);font-weight:600;font-size:14px;color:var(--gw-n600);cursor:pointer;transition:.18s var(--ease)}
.ptab:hover{color:var(--gw-ink-700);border-color:var(--gw-n400)}
.ptab.active{background:linear-gradient(160deg,var(--gw-ink-700),var(--gw-ink-900));color:#fff;border-color:transparent}
.ppanel{display:none}.ppanel.active{display:block;animation:gwe-fade .35s var(--ease)}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(244px,1fr);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:thin}
.rail .pcard{scroll-snap-align:start}

/* ===================== SECTION MARQUES (carrousel) ===================== */
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:18px;width:max-content;animation:gwe-scroll 55s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes gwe-scroll{to{transform:translateX(-50%)}}
.mlogo{flex:0 0 auto;width:150px;height:84px;display:flex;align-items:center;justify-content:center;background:var(--gw-glass-strong) !important;border:1px solid var(--gw-hairline) !important;border-radius:var(--gw-r);padding:18px;transition:.24s var(--gw-ease-out) !important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.mlogo img{max-height:46px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.62;transition:.24s}
.mlogo:hover{box-shadow:var(--gw-glow-green) !important;transform:translateY(-3px);border-color:rgba(123,191,63,.32) !important}.mlogo:hover img{filter:none;opacity:1}

/* ===================== SECTION LEADER (éditorial) ===================== */
.editorial{max-width:760px;margin:0 auto;text-align:center}
.editorial .prose{text-align:left;font-size:16.5px;line-height:1.78;color:var(--body)}
.editorial .prose a{color:#3f6f1c;font-weight:600;border-bottom:1px solid rgba(123,191,63,.4)}
.editorial .prose a:hover{color:var(--gw-magenta-500);border-color:var(--gw-magenta-500)}

/* ===================== SECTION MARQUES V4 (sélecteur couleur) ===================== */
.v4{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:start}
.v4-nav{position:sticky;top:120px;display:flex;flex-direction:column;gap:9px}
.v4-tab{display:flex;align-items:center;gap:12px;padding:13px 15px;background:var(--gw-glass-strong) !important;border:1px solid var(--gw-hairline) !important;border-radius:var(--gw-r-lg);cursor:pointer;transition:.2s var(--gw-ease-out) !important;text-align:left;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.v4-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand);opacity:.5;transition:.2s}
.v4-logo{min-width:48px;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:4px;background:#fff;border-radius:7px;padding:4px 8px;box-shadow:0 1px 3px rgba(43,0,79,.10)}
.v4-logo img{max-height:24px;max-width:48px;object-fit:contain}
.v4-meta{display:flex;flex-direction:column;line-height:1.2}
.v4-name{font-family:var(--gw-font-ui);font-weight:700;font-size:14.5px;color:var(--gw-ink-700)}
.v4-count{font-size:10.5px;color:var(--gw-n600);margin-top:3px;font-weight:500}
.v4-tab:hover{border-color:var(--brand);transform:translateX(2px)}.v4-tab:hover .v4-bar{opacity:1;width:5px}
.v4-tab.active .v4-bar{opacity:0}
.v4-tab.active .v4-logo{box-shadow:0 4px 12px rgba(0,0,0,.22)}
.v4-panel{display:none}.v4-panel.active{display:block;animation:gwe-rise .45s var(--ease)}
@keyframes gwe-rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.v4-hero{position:relative;border-radius:var(--gw-r-xl);overflow:hidden;color:var(--gw-ink-700) !important;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding:44px 46px;align-items:center;min-height:320px;background:radial-gradient(820px 460px at 86% 4%, color-mix(in srgb,var(--brand) 26%,transparent), transparent 58%),radial-gradient(560px 400px at 4% 106%, rgba(123,191,63,.16), transparent 56%),linear-gradient(150deg,#ffffff,var(--gw-n75) 86%) !important;border:1px solid rgba(255,255,255,.85);box-shadow:var(--gw-shadow-lift),0 0 0 1px color-mix(in srgb,var(--brand) 16%,transparent) !important}
.v4-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(43,0,79,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(43,0,79,.04) 1px,transparent 1px) !important;background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 72% 38%,#000,transparent 74%);mask-image:radial-gradient(circle at 72% 38%,#000,transparent 74%)}
.v4-watermark{position:absolute;right:-2%;bottom:-14%;font-family:var(--gw-font-disp);font-size:clamp(90px,14vw,200px);line-height:.8;color:var(--brand) !important;opacity:.07 !important;white-space:nowrap;z-index:1}
.v4-hero-l,.v4-hero-r{position:relative;z-index:2}
.v4-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gw-magenta-500) !important;background:rgba(255,255,255,.7) !important;border:1px solid var(--gw-hairline) !important;padding:6px 14px;border-radius:var(--gw-r-pill);margin-bottom:18px}
.dotb{width:7px;height:7px;border-radius:50%;background:#fff}
.v4-brandname{display:block;font-family:var(--gw-font-disp);font-size:clamp(32px,4.5vw,52px);color:var(--gw-ink-700) !important;line-height:.98;margin-bottom:14px}
.v4-metarow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.v4-mchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--gw-ink-700) !important;background:rgba(255,255,255,.72) !important;border:1px solid var(--gw-hairline) !important;padding:5px 12px;border-radius:var(--gw-r-pill)}
.v4-mchip svg{width:13px;height:13px;opacity:.9}.v4-mchip.star svg{color:#ffd84d;opacity:1}
.v4-accr{font-family:var(--gw-font-ui);font-weight:600;font-size:clamp(15px,1.8vw,18px);color:var(--gw-ink-700) !important;margin-bottom:11px;max-width:24ch}
.v4-desc{color:#5f5670 !important;font-size:13.5px;line-height:1.6;max-width:46ch;margin-bottom:16px}
.v4-premium{display:inline-flex;align-items:center;gap:11px;background:rgba(123,191,63,.14) !important;border:1px solid rgba(123,191,63,.42) !important;border-radius:11px;padding:11px 16px;margin-bottom:22px;color:#3f6f1c !important;font-size:13px}
.v4-premium svg{width:20px;height:20px;color:var(--gw-green-500);flex-shrink:0;background:rgba(123,191,63,.22);border-radius:50%;padding:3px}.v4-premium b{font-weight:700;color:#3f6f1c}
.bcta{display:inline-flex;align-items:center;gap:9px;font-family:var(--gw-font-ui);font-weight:600;font-size:14.5px;background:#fff;color:var(--bd);padding:13px 24px;border-radius:var(--gw-r);box-shadow:0 12px 28px rgba(0,0,0,.3);transition:.22s var(--ease);background:var(--gw-grad-green) !important;color:#13002a !important;box-shadow:0 8px 14px rgba(123,191,63,.18),0 0 0 1px rgba(123,191,63,.14) !important}
.bcta svg{width:18px;height:18px}.bcta:hover{transform:translateY(-2px)}
.v4-hero-r{display:flex;align-items:center;justify-content:center;min-height:240px}
.halo{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 70%,transparent),transparent 70%);filter:blur(8px)}
.hero-prod{position:relative;max-height:270px;width:auto;object-fit:contain;filter:drop-shadow(0 28px 44px rgba(0,0,0,.55))}
.v4-body{background:color-mix(in srgb,var(--brand) 5%,#fff);border:1px solid color-mix(in srgb,var(--brand) 14%,var(--border));border-radius:var(--gw-r-xl);padding:30px 32px;margin-top:18px}
.blk-head{display:flex;align-items:center;gap:16px;margin:6px 0 18px}
.blk-head h3,.blk-head h4{font-family:var(--gw-font-ui);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--bd);font-weight:700;white-space:nowrap}
.blk-line{flex:1;height:1px;background:color-mix(in srgb,var(--brand) 22%,var(--border))}
.blk-head:nth-of-type(n+2){margin-top:30px}
.gammes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
/* Audit 2026-09-04 UX-DSK-007 : --brand est la couleur du fabricant sélectionné.
   Employée en color: elle rendait « Voir la gamme » illisible (1,11:1 pour
   Lumatek #E6B81E). --brand reste réservée aux fonds et filets ; le texte prend
   un mélange encre qui tient ≥ 6:1 quelle que soit la marque. L'ancien prix du
   bloc passe de --gw-n400 (2,3:1) à --gw-n600 (5,3:1). */
.gamme{position:relative;background:#fff;border:1px solid var(--gw-n150);border-radius:var(--gw-r-lg);overflow:hidden;display:flex;flex-direction:column;transition:.26s var(--ease)}
.gamme-num{position:absolute;top:12px;left:14px;z-index:3;font-family:var(--gw-font-disp);font-size:20px;color:color-mix(in srgb,var(--brand) 45%,#1B1130);opacity:.9}
.gamme:hover{transform:translateY(-6px);box-shadow:0 22px 50px color-mix(in srgb,var(--brand) 24%,transparent);border-color:transparent}
.gamme-img{height:155px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,color-mix(in srgb,var(--brand) 8%,#fff),#fff);padding:20px 18px 14px}
.gamme-img img{max-height:100%;max-width:100%;object-fit:contain;transition:.4s var(--ease)}.gamme:hover .gamme-img img{transform:scale(1.07)}
.gamme-b{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.gamme-t{font-family:var(--gw-font-ui);font-weight:700;font-size:16px;color:var(--bd);margin-bottom:6px}
.gamme-d{font-size:12.5px;color:var(--gw-n600);line-height:1.55;margin-bottom:12px;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.gamme-cta{display:inline-flex;align-items:center;gap:6px;font-family:var(--gw-font-ui);font-weight:600;font-size:12.5px;color:color-mix(in srgb,var(--brand) 45%,#1B1130)}.gamme-cta svg{width:14px;height:14px}
.prods-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.vprod{background:#fff;border:1px solid var(--gw-n150);border-radius:var(--gw-r);overflow:hidden;display:flex;flex-direction:column;transition:.24s var(--ease)}
.vprod:hover{transform:translateY(-4px);box-shadow:0 18px 40px color-mix(in srgb,var(--brand) 18%,transparent);border-color:transparent}
.vprod-img{height:130px;display:flex;align-items:center;justify-content:center;background:var(--gw-n75);padding:14px}
.vprod-img img{max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply;transition:.4s var(--ease)}
.vprod:hover .vprod-img img{transform:scale(1.05)}
.vprod-b{padding:13px 15px 15px;display:flex;flex-direction:column;gap:7px;flex:1}
.vprod-n{font-family:var(--gw-font-ui);font-weight:600;font-size:13.5px;color:var(--gw-ink-700);line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.vprod-p{font-family:var(--gw-font-ui);font-weight:700;font-size:16px;color:var(--gw-ink-700);margin-top:auto}
.vprod-p .o{font-size:12.5px;color:var(--gw-n600);text-decoration:line-through;margin-left:5px;font-weight:500}
/* ═══ Prix barré tronqué sur les vignettes étroites — 24/08/2026 ═══
   Relevé : « 379,00 € » rendu « 379,0 », « 486,90 € » rendu « 486,9 ».
   Le gabarit écrit `279,00&nbsp;€<span class="o">379,00&nbsp;€</span>` : deux
   espaces insécables, AUCUNE espace ordinaire, pas même entre les deux prix.
   La ligne est donc un seul mot indivisible — le navigateur n'a nulle part où
   couper, `white-space:normal` n'y peut rien, et l'`overflow:hidden` de la
   carte tranche la fin.

   Le seuil est celui de la CARTE, pas de la fenêtre, et c'est tout l'objet de
   la requête de conteneur : la largeur de cette vignette n'est pas monotone
   avec la largeur d'écran. Mesuré : 128 px à 390, 170 à 600, 281 à 768,
   253 à 1024, puis elle RETOMBE à 136 à 1100 et 158 à 1200 avant de remonter
   à 212 à 1440. Une règle pinnée à une plage de fenêtre aurait laissé passer
   la rechute de 1100–1250 — c'est exactement ce qui m'est arrivé au premier
   essai, corrigé ici.
   Sous 180 px de carte il reste moins de 150 px de contenu pour 135 à 138 px
   de prix courant + marge + prix barré : le prix barré passe sur sa propre
   ligne, disposition habituelle d'une promotion. Au-dessus, les deux tiennent
   côte à côte et rien ne change. */
.vprod{container-type:inline-size}
@container (max-width:180px){
  .vprod-p .o{display:block;margin-left:0;margin-top:2px;line-height:1.2}
}

/* ===================== SECTION AVIS ===================== */
.avis-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.score-inline{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--border);border-radius:var(--gw-r-pill);padding:10px 18px;box-shadow:var(--sh-sm);background:var(--gw-glass-strong) !important;border:1px solid var(--gw-hairline) !important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--gw-shadow-soft) !important}
.score-num{font-family:var(--gw-font-disp);font-size:30px;color:var(--gw-ink-700);line-height:1}.score-num small{font-size:14px;color:var(--gw-n600)}
.score-meta{display:flex;flex-direction:column;gap:3px;line-height:1.2}.score-meta .nb{font-size:12px;color:var(--gw-n600)}.score-meta .nb b{color:var(--gw-ink-700)}
.ka{display:inline-flex;align-items:center;gap:4px;color:#3f6f1c;font-weight:600}.ka svg{width:13px;height:13px}
.reviews-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:thin}
.rev{flex:0 0 330px;scroll-snap-align:start;background:#fff;border:1px solid var(--gw-n150);border-radius:var(--gw-r-lg);padding:18px 20px 16px;box-shadow:var(--sh-sm);display:flex;flex-direction:column;transition:.22s var(--ease);background:#fff !important;border:1px solid var(--gw-hairline) !important;box-shadow:var(--gw-shadow-soft) !important;transition:transform .22s var(--gw-ease-out),box-shadow .22s var(--gw-ease-out),border-color .22s var(--gw-ease-out) !important}
.rev:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}.rev .stars{margin-bottom:10px}
.rev blockquote{font-size:13.8px;line-height:1.55;color:var(--body);flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rev figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;padding-top:11px;border-top:1px solid var(--gw-n150)}
.rev-ctx{font-family:var(--gw-font-ui);font-weight:600;font-size:12.5px;color:var(--gw-ink-700)}
.rev-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#3f6f1c}.rev-badge svg{width:13px;height:13px}
.delivery-in{margin-top:22px;background:#fff;border:1px solid var(--border);border-radius:var(--gw-r-pill);padding:12px 24px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center;background:var(--gw-glass-strong) !important;border:1px solid var(--gw-hairline) !important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.carrier{font-family:var(--gw-font-ui);font-weight:800;font-size:14px;color:var(--gw-ink-700);display:inline-flex;align-items:center;gap:6px}.carrier svg{width:16px;height:16px;color:var(--gw-magenta-500)}
.dpt{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--body)}.dpt svg{width:17px;height:17px;color:#3f6f1c}.dpt b{color:var(--gw-ink-700)}
.sep{width:1px;height:18px;background:var(--border)}

/* ===================== SECTION PAR TYPE ===================== */
.type-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:14px}
.tt{position:relative;display:flex;flex-direction:column;align-items:center;border-radius:var(--gw-r-lg);overflow:hidden;background:radial-gradient(120px 80px at 50% 8%,rgba(126,30,87,.28),transparent 70%),linear-gradient(165deg,var(--gw-ink-700),var(--gw-ink-900));transition:.26s var(--ease);border:1px solid transparent;background:radial-gradient(120px 90px at 50% 6%, rgba(123,191,63,.18), transparent 70%),linear-gradient(165deg,#ffffff,var(--gw-n75)) !important;border:1px solid var(--gw-hairline) !important;box-shadow:var(--gw-shadow-soft) !important;transition:transform .26s var(--gw-ease-out),box-shadow .26s var(--gw-ease-out),border-color .26s var(--gw-ease-out) !important}
.tt-img{width:100%;aspect-ratio:1/1;display:flex;align-items:flex-end;justify-content:center;padding:14px 10px 6px}
.tt-img img{max-height:100%;max-width:100%;object-fit:contain;transition:.4s var(--ease);mix-blend-mode:multiply}
.tt-l{display:block;width:100%;text-align:center;font-family:var(--gw-font-ui);font-weight:600;font-size:12px;color:#fff;padding:10px 6px 14px;line-height:1.2;color:var(--gw-ink-700) !important}
.tt:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:rgba(123,191,63,.6)}.tt:hover .tt-img img{transform:scale(1.08)}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1080px){.cat-tabs{grid-template-columns:repeat(4,1fr)}.cpanel-row{grid-template-columns:1fr}.cpanel-cols{grid-template-columns:1fr 1fr}.prods-grid{grid-template-columns:repeat(2,1fr)}.type-grid{grid-template-columns:repeat(5,1fr)}.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:880px){.v4{grid-template-columns:1fr}.v4-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:6px}.v4-tab{flex:0 0 auto}.v4-hero{grid-template-columns:1fr;text-align:center;padding:30px 22px}.v4-hero-r{order:-1}.v4-eyebrow,.v4-metarow,.bbadges{justify-content:center}.gammes-grid{grid-template-columns:1fr}.avis-head{align-items:flex-start}}
@media(max-width:760px){.cat-tabs{grid-template-columns:repeat(2,1fr)}.type-grid{grid-template-columns:repeat(3,1fr)}.brandgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:480px){.type-grid{grid-template-columns:repeat(2,1fr)}.prods-grid{grid-template-columns:1fr 1fr}}

/* ===== Focus clavier unifié (accessibilité — audit polish) ===== */
.btn:focus-visible,.link-all:focus-visible,.nav-link:focus-visible,.pcard-cta:focus-visible,.gw-block .featured-cta:focus-visible,.gw-block .qv-cta:focus-visible,.gw-block .ccard-cart:focus-visible,.gw-exp .proof-cta:focus-visible,.bcta:focus-visible,.gcard:focus-visible,.guide-feat:focus-visible,.gw-cat .cphero:focus-visible,.tt:focus-visible,.step:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(123,191,63,.45),0 0 0 1px rgba(43,0,79,.55)}
/* ===================== SECTION 6 ÉTAPES ===================== */
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;position:relative}
.steps::before{content:"";position:absolute;top:46px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,var(--border) 0 8px,transparent 8px 16px);z-index:0}
.step{position:relative;z-index:1;background:#fff;border:1px solid var(--gw-n150);border-radius:var(--gw-r-lg);padding:24px 18px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;transition:.26s var(--ease);background:#fff !important;border:1px solid var(--gw-hairline) !important;box-shadow:var(--gw-shadow-soft) !important;transition:transform .26s var(--gw-ease-out),box-shadow .26s var(--gw-ease-out),border-color .26s var(--gw-ease-out) !important}
.step:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:transparent}
.step-top{position:relative;margin-bottom:16px}
.step-num{position:absolute;top:-10px;right:-14px;width:26px;height:26px;border-radius:50%;background:var(--gw-magenta-500);color:#fff;font-family:var(--gw-font-ui);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(126,30,87,.35);z-index:2;box-shadow:0 4px 10px rgba(126,30,87,.26),0 0 6px rgba(126,30,87,.14) !important}
.step-ic{width:58px;height:58px;border-radius:16px;background:linear-gradient(160deg,var(--gw-ink-700),var(--gw-ink-900));color:var(--gw-green-500);display:flex;align-items:center;justify-content:center;transition:.26s var(--ease)}
.step-ic svg{width:30px;height:30px}.step:hover .step-ic{transform:scale(1.05)}
.step-t{font-family:var(--gw-font-ui);font-weight:600;font-size:15px;color:var(--gw-ink-700);line-height:1.25;margin-bottom:6px}
.step-d{font-size:12.5px;color:var(--gw-n600);line-height:1.5;margin-bottom:13px;flex:1}
.step-cta{display:inline-flex;align-items:center;gap:5px;font-family:var(--gw-font-ui);font-weight:600;font-size:12.5px;color:#3f6f1c}.step-cta svg{width:13px;height:13px;transition:.2s}.step:hover .step-cta svg{transform:translateX(3px)}
.cta-row{text-align:center;margin-top:36px}

/* ===================== SECTION HISTOIRE ===================== */
.hist{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start}
.founder{position:sticky;top:140px;background:radial-gradient(600px 300px at 80% 0,rgba(126,30,87,.3),transparent 60%),linear-gradient(160deg,var(--gw-ink-700),var(--gw-ink-900));color:#fff;border-radius:var(--gw-r-xl);padding:34px 30px;overflow:hidden;color:var(--gw-ink-700) !important;background:radial-gradient(600px 320px at 82% 0, rgba(126,30,87,.12), transparent 60%),radial-gradient(420px 300px at 6% 104%, rgba(123,191,63,.14), transparent 58%),linear-gradient(160deg,#ffffff,var(--gw-n75)) !important;border:1px solid rgba(255,255,255,.85);box-shadow:var(--gw-shadow-lift),var(--gw-glow-green) !important}
.founder .eyebrow{color:#e9a9cf;margin-bottom:18px}
.since{font-family:var(--gw-font-disp);font-size:54px;color:#fff;line-height:1}.since span{color:var(--gw-green-500)}
.founder .sub{color:#d7c7ec;font-size:14px;line-height:1.6;margin:12px 0 22px}
.fstats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.fstat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:var(--gw-r);padding:13px 14px}
.fstat .n{font-family:var(--gw-font-ui);font-weight:700;font-size:17px;color:#fff;display:flex;align-items:center;gap:5px}.fstat .l{font-size:11.5px;color:#bca8d6;margin-top:3px}.fstat .n .st{color:#f5b301}.fstat .n .st svg{width:14px;height:14px}
.sign{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.sign-av{width:46px;height:46px;border-radius:50%;background:linear-gradient(160deg,var(--gw-green-500),var(--gw-green-700));display:flex;align-items:center;justify-content:center;font-family:var(--gw-font-disp);font-size:18px;color:var(--green-text);flex-shrink:0}
.sign-n{font-family:var(--gw-font-ui);font-weight:600;font-size:14.5px;color:#fff}.sign-r{font-size:12px;color:#bca8d6}
.story h2{font-family:var(--gw-font-ui);font-weight:700;font-size:clamp(24px,3vw,32px);margin-bottom:20px}
.story .lead{font-family:var(--gw-font-ui);font-weight:500;font-size:19px;line-height:1.6;color:var(--gw-ink-700);margin-bottom:22px}.story .lead strong{color:var(--gw-magenta-500);font-weight:700}
.story h3{font-family:var(--gw-font-ui);font-weight:600;font-size:19px;color:var(--gw-ink-700);margin:24px 0 10px;padding-left:16px;border-left:3px solid var(--gw-green-500)}
.story p{font-size:16px;line-height:1.75;color:var(--body);margin-bottom:14px}
.story a{color:#3f6f1c;font-weight:500;border-bottom:1px solid rgba(123,191,63,.4)}.story a:hover{color:var(--gw-magenta-500)}.story strong{color:var(--gw-ink-700)}
.fold{position:relative;overflow:hidden;transition:max-height .55s var(--ease)}
.fold.clamped{max-height:200px}
.fold.clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,var(--gw-n75));pointer-events:none}
.readmore{margin-top:14px}
.readmore button{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid var(--border);color:var(--gw-ink-700);font-family:var(--gw-font-ui);font-weight:600;font-size:14px;padding:10px 22px;border-radius:var(--gw-r-pill);cursor:pointer;transition:.2s var(--gw-ease-out) !important}
.readmore button:hover{border-color:var(--gw-green-500);color:#3f6f1c}.readmore button svg{width:15px;height:15px;transition:.2s}.readmore button.open svg{transform:rotate(90deg)}

@media(max-width:980px){.steps{grid-template-columns:repeat(3,1fr)}.steps::before{display:none}}
@media(max-width:880px){.hist{grid-template-columns:1fr;gap:28px}.founder{position:static}}
@media(max-width:760px){.steps{grid-template-columns:1fr 1fr}}
.gw-cat .band{width:100%}
.gw-cat .bw{max-width:var(--wrap);margin:0 auto;padding:var(--space) 24px}
.gw-cat .head{text-align:center;max-width:680px;margin:0 auto 20px}
.gw-cat .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gw-magenta-500);margin-bottom:10px}
.gw-cat .head h2{font-family:var(--gw-font-ui);font-weight:700;font-size:clamp(25px,3vw,36px)}
.gw-cat .head p{margin-top:9px;color:var(--gw-n600);font-size:15.5px}
.gw-cat .cat2{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:start}
.gw-cat .cat2-rail{display:flex;flex-direction:column;gap:3px;background:#fff !important;border:1px solid var(--gw-hairline) !important;border-radius:var(--gw-r-lg);padding:7px;box-shadow:var(--gw-shadow-soft) !important}
.gw-cat .rail-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 10px;background:#fff;border:1.5px solid transparent;border-radius:10px;cursor:pointer;transition:.18s var(--ease);font-family:var(--gw-font-ui);overflow:hidden}
.gw-cat .rail-item:hover{background:var(--gw-n75)}
.gw-cat .rail-item:focus-visible{outline:none;border-color:var(--gw-green-500);box-shadow:0 0 0 3px rgba(123,191,63,.18)}
.gw-cat .rail-ic{width:30px;height:30px;flex-shrink:0;border-radius:8px;background:var(--gw-n75);display:flex;align-items:center;justify-content:center;color:var(--gw-ink-600);transition:.18s var(--ease)}
.gw-cat .rail-ic svg{width:17px;height:17px}
.gw-cat .rail-l{font-weight:600;font-size:13px;color:var(--gw-ink-700);line-height:1.18}
.gw-cat .rail-edge{position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:64%;border-radius:0 3px 3px 0;background:linear-gradient(180deg,var(--gw-green-500),var(--gw-green-700));box-shadow:0 0 8px rgba(123,191,63,.55);transition:.2s var(--ease)}
.gw-cat .rail-item.active{background:var(--gw-grad-ink) !important;border-color:transparent;box-shadow:0 10px 24px rgba(43,0,79,.26),0 0 0 1px rgba(123,191,63,.14) !important}
.gw-cat .rail-item.active .rail-l{color:#fff}
.gw-cat .rail-item.active .rail-ic{background:rgba(123,191,63,.2);color:var(--gw-green-500)}
.gw-cat .rail-item.active .rail-edge{transform:translateY(-50%) scaleY(1)}
.gw-cat .cat2-stage{min-width:0}
.gw-cat .cpanel{display:none;background:#fff !important;border:1px solid var(--gw-hairline) !important;border-radius:var(--gw-r-lg);padding:16px 18px;box-shadow:var(--gw-shadow-soft) !important}
.gw-cat .cpanel.active{display:block;animation:gwc-fade .3s var(--ease)}
@keyframes gwc-fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.gw-cat .cphero{position:relative;display:flex;align-items:center;gap:16px;overflow:hidden;
  background:
    radial-gradient(420px 180px at 88% -20%,rgba(126,30,87,.55),transparent 70%),
    radial-gradient(360px 200px at 4% 130%,rgba(123,191,63,.20),transparent 72%),
    linear-gradient(120deg,var(--gw-ink-700),var(--gw-ink-900));
  border-radius:var(--gw-r);padding:18px 22px;min-height:88px;
  box-shadow:var(--sh-sm);transition:.24s var(--ease)}
.gw-cat .cphero:hover{transform:translateY(-2px);box-shadow:var(--sh)}
.gw-cat .cphero-ic{flex:0 0 auto;width:52px;height:52px;border-radius:14px;
  background:rgba(123,191,63,.16);border:1px solid rgba(123,191,63,.32);
  display:flex;align-items:center;justify-content:center;color:var(--gw-green-500);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.gw-cat .cphero-ic svg{width:27px;height:27px}
.gw-cat .cphero-body{display:flex;flex-direction:column;gap:5px;min-width:0;position:relative;z-index:1}
.gw-cat .cphero-t{font-family:var(--gw-font-disp);font-size:clamp(19px,2.4vw,25px);color:#fff;line-height:1.05;letter-spacing:.01em}
.gw-cat .cphero-cta{display:inline-flex;align-items:center;gap:7px;font-family:var(--gw-font-ui);font-weight:600;
  font-size:13px;color:var(--gw-green-500);line-height:1.3}
.gw-cat .cphero-cta svg{width:15px;height:15px;flex-shrink:0;transition:transform .22s var(--ease)}
.gw-cat .cphero:hover .cphero-cta svg{transform:translateX(4px)}
.gw-cat .cphero::before{content:"";position:absolute;left:0;top:14%;height:72%;width:4px;
  border-radius:0 4px 4px 0;background:linear-gradient(180deg,var(--gw-green-500),var(--gw-green-700));
  box-shadow:0 0 12px rgba(123,191,63,.6)}
.gw-cat .cphero-glow{position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.07),transparent 65%);pointer-events:none}
.gw-cat .cpanel-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;align-content:start;margin-top:14px}
.gw-cat .cpanel-col{min-width:0}
.gw-cat .cpanel-col.col-brands{grid-column:1 / -1}
.gw-cat .cpanel-col h4{font-family:var(--gw-font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--gw-magenta-500);margin-bottom:7px;font-weight:700}
.gw-cat .pillrow{display:flex;flex-wrap:wrap;gap:5px}
.gw-cat .fpill{display:inline-flex;align-items:center;padding:5px 11px;background:var(--gw-n75);border:1px solid var(--border);border-radius:var(--gw-r-pill);font-size:12px;color:var(--gw-ink-700) !important;font-weight:500;transition:.18s var(--gw-ease-out) !important;line-height:1.2}
.gw-cat .fpill:hover{border-color:var(--gw-green-500);color:#3f6f1c !important;background:#fff;transform:translateY(-1px)}
.gw-cat .brandgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:6px}
.gw-cat .bmini{height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--border);border-radius:9px;padding:5px;transition:.18s var(--ease)}
/* 23/08 — plus de grayscale(1) ni d'opacity:.72 au repos.
   Mesuré sur les treize logos : désaturés à 72 % sur une pastille blanche, six
   d'entre eux (AC Infinity, Fluence, Gavita, Horticulture Lighting Group,
   SANlight et un logo déjà pâle à la source) ne se distinguaient plus du fond.
   Le filtre ne créait pas le problème, il le révélait : un logo clair reste
   clair une fois désaturé, et les 28 % d'opacité en moins achevaient le peu de
   contraste qui restait. En couleur pleine, les treize se lisent.
   C'est la décision déjà prise pour la frise « Nos marques partenaires » plus
   bas dans ce fichier (« tuiles blanches épurées, logos en couleur ») : les
   deux affichages de marques de l'accueil s'alignent enfin.
   Le survol ne peut plus jouer sur la couleur puisqu'elle est déjà là ; il
   passe le filet au vert, comme les autres cartes du thème. */
.gw-cat .bmini img{max-height:23px;max-width:100%;object-fit:contain;transition:.18s}
.gw-cat .bmini:hover{box-shadow:var(--sh-sm);transform:translateY(-2px);border-color:rgba(123,191,63,.45)}
.gw-cat .bmini:hover img{filter:none;opacity:1}
.gw-cat .bmini .bfb{display:none}
.gw-cat .bmini.noimg{padding:0 8px}
.gw-cat .bmini.noimg img{display:none}
.gw-cat .bmini.noimg .bfb{display:block;font-size:10.5px;font-weight:600;color:var(--gw-ink-700);text-align:center;line-height:1.1}
.gw-cat .brandgrid .fpill{justify-content:center;text-align:center}
.gw-cat .allbrands{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-family:var(--gw-font-ui);font-weight:600;font-size:12.5px;color:#3f6f1c !important}
.gw-cat .allbrands svg{width:14px;height:14px}
.gw-cat .cpanel-tops{margin-top:16px;border-top:1px solid var(--border);padding-top:13px}
.gw-cat .tops-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px}
.gw-cat .tops-head h4{font-family:var(--gw-font-ui);font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--gw-magenta-500);font-weight:700}
.gw-cat .tops-all{display:inline-flex;align-items:center;gap:6px;font-family:var(--gw-font-ui);font-weight:600;font-size:12px;color:#3f6f1c}
.gw-cat .tops-all svg{width:13px;height:13px}
.gw-cat .tops-rail{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}
.gw-cat .tops-rail:empty{display:none}
.gw-cat .miniprod{flex:1 1 140px;min-width:128px;max-width:172px;background:#fff !important;border:1px solid var(--gw-n200) !important;border-radius:var(--gw-r);overflow:hidden;transition:.22s var(--gw-ease-out) !important;display:flex;flex-direction:column}
.gw-cat .miniprod:hover{box-shadow:var(--gw-glow-green);transform:translateY(-2px);border-color:rgba(123,191,63,.5) !important}
.gw-cat .mp-img{height:92px;display:flex;align-items:center;justify-content:center;background:var(--gw-n50);border-radius:9px;margin:8px 8px 0;padding:8px}
.gw-cat .mp-img img{max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
/* clamp 2 lignes via marge+hauteur : -webkit-line-clamp coupe à mi-ligne sur Chromium récent */
.gw-cat .mp-n{display:block;margin:8px 10px 10px;padding:0;border-top:0;font-size:11.5px;color:var(--gw-ink-700);font-weight:500;line-height:16px;max-height:32px;overflow:hidden}
/* V1 « atelier blanc » : repère vert des libellés + carte verte terminale du rail top ventes */
.gw-cat .cpanel-col h3,.gw-cat .tops-head h3,.gw-cat .cpanel-col h4,.gw-cat .tops-head h4{display:flex;align-items:center;gap:8px}
.gw-cat .cpanel-col h3::after,.gw-cat .tops-head h3::after,.gw-cat .cpanel-col h4::after,.gw-cat .tops-head h4::after{content:"";flex:0 0 16px;height:2px;border-radius:2px;background:var(--gw-green-500);opacity:.65}
.gw-cat .tops-rail .tops-all{flex:1 1 150px;min-width:150px;display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;background:var(--gw-grad-green);color:#fff !important;font-weight:700;font-size:13px;font-family:var(--gw-font-ui);border-radius:var(--gw-r);padding:14px;line-height:1.35;transition:.2s var(--gw-ease-out)}
.gw-cat .tops-rail .tops-all:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(123,191,63,.35)}
.gw-cat .tops-rail .tops-all svg{width:15px;height:15px;flex:0 0 auto}
@media(max-width:1080px){.gw-cat .cat2{grid-template-columns:206px 1fr;gap:18px}}
@media(max-width:900px){.gw-cat .cat2{grid-template-columns:1fr;gap:16px}
.gw-cat .cat2-rail{flex-direction:row;overflow-x:auto;gap:7px;padding:7px;scrollbar-width:thin}
.gw-cat .rail-item{flex:0 0 auto;width:auto;flex-direction:column;gap:7px;text-align:center;min-width:92px;max-width:124px;padding:11px 8px}
.gw-cat .rail-ic{width:30px;height:30px}
.gw-cat .rail-l{font-size:11px;white-space:normal;line-height:1.2}
.gw-cat .rail-edge{left:50%;top:auto;bottom:0;width:60%;height:3px;transform:translateX(-50%) scaleX(0);border-radius:3px 3px 0 0}
.gw-cat .rail-item.active .rail-edge{transform:translateX(-50%) scaleX(1)}}
@media(max-width:560px){.gw-cat .cphero{padding:15px 16px;gap:13px;min-height:0}
.gw-cat .cphero-ic{width:44px;height:44px;border-radius:12px}
.gw-cat .cphero-ic svg{width:23px;height:23px}
.gw-cat .cpanel-cols{grid-template-columns:1fr}
.gw-cat .brandgrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}}
.gw-cat .mp-img img{transition:transform .35s var(--ease)}
.gw-cat .miniprod:hover .mp-img img{transform:scale(1.06)}.gw-block button{font-family:inherit}
.gw-block .band{width:100%}
.gw-block .band--alt{background:var(--gw-n75)}
.gw-block .bw{max-width:var(--wrap);margin:0 auto;padding:var(--space) 24px}
.gw-block .stars{--r:100%;display:inline-block;position:relative;font-size:14px;line-height:1;letter-spacing:2px;font-family:Arial}
.gw-block .stars::before{content:"\2605\2605\2605\2605\2605";color:#e3dcec}
.gw-block .stars::after{content:"\2605\2605\2605\2605\2605";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden}
.gw-block .stars.sm{font-size:11px;letter-spacing:1px}
.gw-block .head{text-align:center;max-width:680px;margin:0 auto 28px;position:relative}
.gw-block .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gw-magenta-500);margin-bottom:13px}
.gw-block .head h2{font-family:var(--gw-font-disp);font-weight:400;font-size:clamp(27px,3.6vw,42px);letter-spacing:-.01em;color:var(--gw-ink-700)}
.gw-block .head p{margin-top:12px;color:var(--gw-n600);font-size:16px}
.gw-block .cartmini{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--gw-ink-700);box-shadow:var(--sh-sm);cursor:pointer;transition:.18s var(--ease)}
.gw-block .cartmini:hover{border-color:var(--gw-green-500);color:#3f6f1c;transform:translateY(-2px)}
.gw-block .cartmini svg{width:21px;height:21px}
.gw-block .cartmini .cbadge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--gw-r-pill);background:var(--gw-magenta-500);color:#fff;font-size:11px;font-weight:700;font-family:var(--gw-font-ui);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(126,30,87,.4);transform:scale(0);transition:transform .25s var(--ease)}
.gw-block .cartmini.has-items .cbadge{transform:scale(1)}
.gw-block .cartmini.bump{animation:gwb-cartbump .4s var(--ease)}
@keyframes gwb-cartbump{0%,100%{transform:none}30%{transform:scale(1.16)}}
/* 23/08 — sous 560 px, le mini-panier sortait de son coin pour se poser au
   milieu, centré au-dessus du sur-titre « Notre sélection » : un rond de 44 px
   sans libellé, rattaché à rien. Il ne rendait aucun service non plus, pour
   deux raisons vérifiées sur la page : l'en-tête mobile est dans un
   `DIV.sticked` en position:fixed, donc son icône panier reste visible à tout
   moment quel que soit le défilement (relevé à 390, 480 et 560 px) ; et la
   pastille de comptage de ce rond-ci ne s'affiche jamais — elle est en
   `transform:scale(0)` tant que la classe `has-items` n'est pas posée, or
   personne ne la pose (le script vise `getElementById('cartMini')`, un id
   absent du gabarit).
   Un doublon muet d'un bouton déjà permanent : on le retire à cette largeur.
   L'élément reste dans le DOM, le script continue de sortir sur ses gardes.
   58 px de hauteur récupérés. Au-dessus de 560 px il retrouve son coin en
   haut à droite du bloc, inchangé. */
@media(max-width:560px){.gw-block .cartmini{display:none}}
.gw-block .seg-wrap{display:flex;justify-content:center;margin-bottom:38px}
.gw-block .seg{position:relative;display:inline-flex;border-radius:var(--gw-r-pill);padding:5px;gap:2px;background:var(--gw-glass-strong) !important;border:1px solid var(--gw-hairline) !important;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--gw-shadow-soft) !important}
.gw-block .seg-cursor{position:absolute;top:5px;bottom:5px;border-radius:var(--gw-r-pill);transition:transform .34s var(--ease),width .34s var(--ease);z-index:0;background:var(--gw-grad-ink) !important;box-shadow:0 10px 22px rgba(43,0,79,.32),0 0 0 1px rgba(123,191,63,.18) !important}
.gw-block .seg-cursor::after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:3px;border-radius:3px;
 background:linear-gradient(90deg,#6a00ff,#3a37ff,#2f8bff,#ffffff,#ff5d3a,#e01f2d,#7a0d10);
 background-size:200% 100%;animation:gwb-spectreflow 5.5s linear infinite;opacity:.98;
 box-shadow:0 0 8px rgba(120,60,255,.35)}
@keyframes gwb-spectreflow{0%{background-position:0% 50%}100%{background-position:200% 50%}}
@media(prefers-reduced-motion:reduce){.gw-block .seg-cursor::after{animation:none}}
.gw-block .seg-btn{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;font-family:var(--gw-font-ui);font-weight:600;font-size:14px;color:var(--gw-n600);padding:11px 24px;border-radius:var(--gw-r-pill);white-space:nowrap;transition:color .26s var(--ease);display:inline-flex;align-items:center;gap:8px}
.gw-block .seg-btn .ct{font-size:11px;font-weight:700;background:rgba(43,0,79,.08);color:var(--gw-n600);padding:1px 8px;border-radius:var(--gw-r-pill);transition:.26s var(--ease)}
.gw-block .seg-btn:hover{color:var(--gw-ink-700)}
.gw-block .seg-btn[aria-selected="true"]{color:#fff}
.gw-block .seg-btn[aria-selected="true"] .ct{background:rgba(123,191,63,.22);color:#cdeaa6}
.gw-block .seg-btn:focus-visible{outline:2px solid var(--gw-green-500);outline-offset:3px}
.gw-block .ppanel{display:none}
.gw-block .ppanel.active{display:block;animation:gwb-fade .35s var(--ease)}
@keyframes gwb-fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.gw-block .prow{display:grid;grid-template-columns:minmax(0,0.78fr) minmax(0,1fr);gap:20px;align-items:stretch}
.gw-block .prow > .featured{height:100%}
.gw-block .cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:16px;align-items:stretch}
.gw-block .ccard{position:relative;border-radius:var(--gw-r-lg);overflow:hidden;display:flex;flex-direction:column;min-width:0;background:var(--gw-glass-strong) !important;border:1px solid rgba(255,255,255,.8) !important;box-shadow:var(--gw-shadow-soft) !important;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);transition:transform .26s var(--gw-ease-out),box-shadow .26s var(--gw-ease-out),border-color .26s var(--gw-ease-out) !important}
.gw-block .ccard:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:transparent}
.gw-block .ccard-media{position:relative;display:block;background:var(--gw-n75);padding:12px;aspect-ratio:1/.74;overflow:hidden}
.gw-block .ccard-media img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain;mix-blend-mode:multiply;transition:transform .4s var(--ease),opacity .45s var(--ease)}
.gw-block .ccard:hover .ccard-media img.img-base{transform:scale(1.05)}
.gw-block .ccard-media .img-hover{opacity:0}
.gw-block .ccard-media.has-hover:hover .img-base{opacity:0}
.gw-block .ccard-media.has-hover:hover .img-hover{opacity:1;transform:scale(1.05)}
.gw-block .qv-btn{position:absolute;top:9px;right:9px;width:32px;height:32px;border:1px solid var(--border);background:rgba(255,255,255,.96);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gw-ink-700);box-shadow:var(--sh-sm);cursor:pointer;opacity:0;transform:translateY(-4px);transition:.18s var(--ease);z-index:3}
.gw-block .qv-btn svg{width:15px;height:15px}
.gw-block .ccard:hover .qv-btn{opacity:1;transform:none}
.gw-block .qv-btn:hover{background:var(--gw-green-500);color:var(--green-text);border-color:transparent;transform:scale(1.08)}
.gw-block .qv-btn:focus-visible{outline:2px solid var(--gw-green-500);outline-offset:2px;opacity:1}
.gw-block .ccard-b{padding:10px 11px 11px;display:flex;flex-direction:column;flex:1}
.gw-block .ccard-brand{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--gw-magenta-500);line-height:1.2}
.gw-block .ccard-name{font-family:var(--gw-font-ui);font-weight:600;font-size:12px;color:var(--gw-ink-700);margin:3px 0 5px;line-height:1.22;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:29px}
.gw-block .ccard-name a{transition:color .15s}
.gw-block .ccard-name a:hover{color:#3f6f1c}
.gw-block .ccard-rating{display:flex;align-items:center;gap:5px;margin-bottom:6px;min-height:14px}
.gw-block .ccard-rating .rc{font-size:10px;color:var(--gw-n600);font-weight:500}
.gw-block .ccard-rating .rc b{color:var(--gw-ink-700);font-weight:700}
.gw-block .ccard-noavis{font-size:10.5px;color:var(--gw-n400);font-style:italic}
.gw-block .chips-mini{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px}
.gw-block .chips-mini .chip{font-size:9.5px;font-weight:600;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.22);padding:1px 7px;border-radius:var(--gw-r-pill);white-space:nowrap;line-height:1.5}
.gw-block .ccard-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.gw-block .stockpill{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:var(--gw-r-pill);line-height:1.5}
.gw-block .stockpill .dot{font-size:8px;line-height:1}
.gw-block .stockpill.in{color:#3f6f1c;background:rgba(123,191,63,.12)}
.gw-block .stockpill.in .dot{color:var(--gw-green-500)}
.gw-block .stockpill.soon{color:#a9690d;background:rgba(245,179,1,.14)}
.gw-block .stockpill.soon .dot{color:#e8a008}
.gw-block .combos{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:600;color:var(--gw-ink-700);background:rgba(43,0,79,.06);padding:2px 7px;border-radius:var(--gw-r-pill);line-height:1.5}
.gw-block .combos svg{width:11px;height:11px;opacity:.8}
.gw-block .countdown{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:var(--gw-magenta-500);background:rgba(126,30,87,.08);border:1px solid rgba(126,30,87,.18);padding:3px 8px;border-radius:var(--gw-r-pill);margin-bottom:7px;line-height:1.4}
.gw-block .countdown .cd-clock{font-family:var(--gw-font-ui);font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.gw-block .countdown-feat{font-size:12px;padding:5px 12px;margin:0 0 14px}
.gw-block .ccard-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.gw-block .ccard-price{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.gw-block .ccard-price .o{font-size:10.5px;color:var(--gw-n400);text-decoration:line-through;margin-bottom:1px}
.gw-block .ccard-price .p{font-family:var(--gw-font-ui);font-weight:700;font-size:16px;color:var(--gw-ink-700)}
.gw-block .ccard-price .p.promo{color:var(--gw-magenta-500)}
.gw-block .ccard-spec{font-size:10px;color:var(--gw-n600);margin-top:2px;font-weight:500}
.gw-block .ccard-cart{flex-shrink:0;width:34px;height:34px;border:1.5px solid var(--gw-green-500);background:rgba(123,191,63,.12);color:#3f6f1c;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s var(--ease)}
.gw-block .ccard-cart svg{width:16px;height:16px}
.gw-block .ccard:hover .ccard-cart{background:var(--gw-green-500);color:var(--green-text);box-shadow:0 7px 16px rgba(123,191,63,.32);transform:translateY(-1px)}
.gw-block .ccard-cart.added{background:var(--gw-green-500);color:var(--green-text);border-color:var(--gw-green-500)}
.gw-block .reas-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.gw-block .reas{font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:var(--gw-r-pill);line-height:1.5}
.gw-block .reas-g{color:#3f6f1c;background:rgba(123,191,63,.1)}
.gw-block .reas-3x{color:var(--gw-ink-700);background:rgba(43,0,79,.06)}
.gw-block .badge{position:absolute;top:9px;left:9px;font-family:var(--gw-font-ui);font-weight:700;font-size:10.5px;padding:3px 8px;border-radius:var(--gw-r-pill);z-index:2;color:#fff;transform:skewX(var(--gw-skew));box-shadow:0 6px 12px rgba(126,30,87,.2) !important}
.gw-block .badge.promo{background:var(--gw-magenta-500);box-shadow:0 4px 12px rgba(126,30,87,.3)}
.gw-block .badge.neuf{background:var(--gw-green-500);color:var(--green-text);box-shadow:0 6px 12px rgba(123,191,63,.2),0 0 7px rgba(123,191,63,.14) !important}
.gw-block .quick{position:absolute;top:11px;right:11px;display:flex;flex-direction:column;gap:7px;z-index:3;opacity:0;transform:translateX(8px);transition:opacity .22s var(--ease),transform .22s var(--ease)}
.gw-block .featured:hover .quick{opacity:1;transform:none}
.gw-block .qbtn{width:34px;height:34px;border:1px solid var(--border);background:rgba(255,255,255,.96);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--gw-ink-700);box-shadow:var(--sh-sm);cursor:pointer;transition:.16s var(--ease)}
.gw-block .qbtn:hover{background:var(--gw-green-500);color:var(--green-text);border-color:transparent;transform:scale(1.07)}
.gw-block .qbtn:focus-visible{outline:2px solid var(--gw-green-500);outline-offset:2px;opacity:1}
.gw-block .qbtn svg{width:16px;height:16px}
.gw-block .featured{position:relative;border-radius:var(--gw-r-xl);overflow:hidden;display:flex;flex-direction:column;background:rgba(255,255,255,.82) !important;border:1px solid rgba(255,255,255,.8) !important;box-shadow:var(--gw-shadow-soft) !important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .28s var(--gw-ease-out),box-shadow .28s var(--gw-ease-out),border-color .28s var(--gw-ease-out) !important}
.gw-block .featured:hover{transform:translateY(-6px);box-shadow:var(--sh-lg);border-color:transparent}
.gw-block .featured-media{position:relative;display:block;flex:1;min-height:240px;background:linear-gradient(160deg,var(--gw-n75),#fff);padding:30px;overflow:hidden}
.gw-block .featured-media .halo{position:absolute;left:50%;top:46%;width:78%;height:78%;transform:translate(-50%,-50%);border-radius:50%;
 background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(123,191,63,.18) 38%,rgba(123,191,63,0) 70%);
 z-index:0;pointer-events:none;animation:gwb-breathe 6s var(--ease) infinite}
@keyframes gwb-breathe{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(.96)}50%{opacity:.95;transform:translate(-50%,-50%) scale(1.04)}}
@media(prefers-reduced-motion:reduce){.gw-block .featured-media .halo{animation:none}}
.gw-block .featured-media img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;transition:transform .5s var(--ease),opacity .5s var(--ease)}
.gw-block .featured:hover .featured-media img.img-base{transform:scale(1.05)}
.gw-block .featured-media .img-hover{position:absolute;inset:30px;width:calc(100% - 60px);height:calc(100% - 60px);opacity:0}
.gw-block .featured-media.has-hover:hover .img-base{opacity:0}
.gw-block .featured-media.has-hover:hover .img-hover{opacity:1;transform:scale(1.05)}
.gw-block .featured-b{padding:22px 26px 26px;display:flex;flex-direction:column;flex:0 0 auto}
.gw-block .featured-top{display:flex;align-items:center;gap:10px;margin-bottom:9px;flex-wrap:wrap}
.gw-block .featured-brand{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gw-magenta-500)}
.gw-block .featured-chip{display:inline-flex;align-items:center;gap:5px;font-family:var(--gw-font-ui);font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#3f6f1c;background:rgba(123,191,63,.13);border:1px solid rgba(123,191,63,.3);padding:3px 10px;border-radius:var(--gw-r-pill)}
.gw-block .featured-name{font-family:var(--gw-font-ui);font-weight:700;font-size:clamp(18px,2vw,23px);color:var(--gw-ink-700);line-height:1.22;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gw-block .featured-name a:hover{color:#3f6f1c}
.gw-block .featured-rating{display:flex;align-items:center;gap:8px;margin-bottom:11px;min-height:16px}
.gw-block .featured-rating .rc{font-size:12.5px;color:var(--gw-n600)}
.gw-block .featured-rating .rc b{color:var(--gw-ink-700);font-weight:700}
.gw-block .featured-pitch{font-size:14px;color:var(--body);line-height:1.6;margin-bottom:14px;max-width:46ch}
.gw-block .chips-feat{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.gw-block .chips-feat .chip{font-size:11px;font-weight:600;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.26);padding:3px 11px;border-radius:var(--gw-r-pill);white-space:nowrap}
.gw-block .featured-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.gw-block .featured-meta .stockpill, .gw-block .featured-meta .combos{font-size:11px;padding:3px 10px}
.gw-block .featured-meta .stockpill .dot{font-size:9px}
.gw-block .featured-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:auto}
.gw-block .featured-price{display:flex;align-items:baseline;gap:10px}
.gw-block .featured-price .p{font-family:var(--gw-font-ui);font-weight:700;font-size:26px;color:var(--gw-ink-700)}
.gw-block .featured-price .p.promo{color:var(--gw-magenta-500)}
.gw-block .featured-price .o{font-size:15px;color:var(--gw-n400);text-decoration:line-through}
.gw-block .featured-cta{display:inline-flex;align-items:center;gap:9px;font-family:var(--gw-font-ui);font-weight:600;font-size:14.5px;padding:13px 22px;border-radius:var(--gw-r);border:0;background:var(--gw-green-500);color:var(--green-text);box-shadow:0 10px 26px rgba(123,191,63,.32);cursor:pointer;transition:.22s var(--ease)}
.gw-block .featured-cta svg{width:18px;height:18px}
.gw-block .featured-cta:hover{background:#8ed04e;transform:translateY(-2px)}
.gw-block .featured-cta.added{background:var(--gw-green-700);color:#fff}
.gw-block .featured .reas-row{margin-top:14px}
.gw-block .featured .reas{font-size:11px;padding:3px 10px}
.gw-block .panel-foot{display:flex;justify-content:center;margin-top:32px}
.gw-block .link-all{display:inline-flex;align-items:center;gap:9px;font-family:var(--gw-font-ui);font-weight:600;font-size:14.5px;color:var(--gw-ink-700);border:1.5px solid var(--border);border-radius:var(--gw-r-pill);padding:11px 24px;background:#fff;transition:.2s var(--ease)}
.gw-block .link-all svg{width:16px;height:16px;transition:transform .2s var(--ease)}
.gw-block .link-all:hover{border-color:var(--gw-green-500);color:#3f6f1c;box-shadow:var(--sh-sm)}
.gw-block .link-all:hover svg{transform:translateX(4px)}
.gw-block .trust{margin-top:44px;border-top:1px solid var(--border);padding-top:28px}
.gw-block .trust-in{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 30px}
.gw-block .trust-item{display:flex;align-items:center;gap:11px;font-size:13.5px;color:var(--body)}
.gw-block .trust-ic{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--gw-magenta-500);flex-shrink:0}
.gw-block .trust-ic svg{width:20px;height:20px}
.gw-block .trust-item b{font-family:var(--gw-font-ui);font-weight:600;color:var(--gw-ink-700);display:block;font-size:13.5px}
.gw-block .trust-item .ts{font-size:11.5px;color:var(--gw-n600)}
.gw-block .trust-item .star{color:#f5b301}
.gw-block .trust-sep{width:1px;height:30px;background:var(--border);align-self:center}
.gw-block .toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);z-index:1100;display:inline-flex;align-items:center;gap:10px;
 background:var(--gw-ink-900);color:#fff;font-family:var(--gw-font-ui);font-weight:600;font-size:14px;padding:13px 20px;border-radius:var(--gw-r-pill);
 box-shadow:0 18px 44px rgba(43,0,79,.4);transition:transform .4s var(--ease),opacity .4s var(--ease);opacity:0;pointer-events:none;max-width:calc(100vw - 32px)}
.gw-block .toast.show{transform:translate(-50%,0);opacity:1}
.gw-block .toast .tcheck{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:var(--gw-green-500);color:var(--green-text);flex-shrink:0}
.gw-block .toast .tcheck svg{width:13px;height:13px}
.gw-block .qv-overlay{position:fixed;inset:0;z-index:1200;background:rgba(26,0,51,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .26s var(--ease),visibility .26s var(--ease)}
.gw-block .qv-overlay.open{opacity:1;visibility:visible}
.gw-block .qv-dialog{background:#fff;border-radius:var(--gw-r-xl);max-width:840px;width:100%;max-height:92vh;overflow:auto;box-shadow:var(--sh-lg);display:grid;grid-template-columns:1fr 1fr;position:relative;transform:translateY(16px) scale(.98);transition:transform .3s var(--ease)}
.gw-block .qv-overlay.open .qv-dialog{transform:none}
.gw-block .qv-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid var(--border);background:#fff;color:var(--gw-ink-700);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:4;transition:.16s var(--ease)}
.gw-block .qv-close:hover{background:var(--gw-magenta-500);color:#fff;border-color:transparent;transform:rotate(90deg)}
.gw-block .qv-close svg{width:18px;height:18px}
.gw-block .qv-media{position:relative;background:linear-gradient(160deg,var(--gw-n75),#fff);display:flex;align-items:center;justify-content:center;padding:34px;min-height:300px;border-radius:var(--gw-r-xl) 0 0 var(--gw-r-xl)}
.gw-block .qv-media .halo{position:absolute;left:50%;top:50%;width:80%;height:80%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(123,191,63,.16) 40%,rgba(123,191,63,0) 72%);pointer-events:none}
.gw-block .qv-media img{position:relative;z-index:1;max-width:100%;max-height:340px;object-fit:contain;mix-blend-mode:multiply}
.gw-block .qv-media .badge{top:16px;left:16px}
.gw-block .qv-body{padding:30px 30px 28px;display:flex;flex-direction:column}
.gw-block .qv-brand{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gw-magenta-500)}
.gw-block .qv-name{font-family:var(--gw-font-ui);font-weight:700;font-size:20px;color:var(--gw-ink-700);line-height:1.25;margin:6px 0 10px}
.gw-block .qv-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px;min-height:16px}
.gw-block .qv-rating .rc{font-size:12.5px;color:var(--gw-n600)}
.gw-block .qv-rating .rc b{color:var(--gw-ink-700);font-weight:700}
.gw-block .qv-rating .ccard-noavis{font-size:12.5px}
.gw-block .qv-price{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.gw-block .qv-price .p{font-family:var(--gw-font-ui);font-weight:700;font-size:26px;color:var(--gw-ink-700)}
.gw-block .qv-price .p.promo{color:var(--gw-magenta-500)}
.gw-block .qv-price .o{font-size:15px;color:var(--gw-n400);text-decoration:line-through}
.gw-block .qv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.gw-block .qv-chips .chip{font-size:11px;font-weight:600;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.26);padding:3px 11px;border-radius:var(--gw-r-pill)}
.gw-block .qv-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.gw-block .qv-meta:empty{display:none}
.gw-block .qv-chips:empty{display:none}
.gw-block .qv-cd{margin-bottom:14px}
.gw-block .qv-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--gw-font-ui);font-weight:600;font-size:15px;padding:14px 22px;border-radius:var(--gw-r);border:0;background:var(--gw-green-500);color:var(--green-text);box-shadow:0 10px 26px rgba(123,191,63,.32);cursor:pointer;transition:.22s var(--ease);width:100%;margin-top:auto}
.gw-block .qv-cta svg{width:18px;height:18px}
.gw-block .qv-cta:hover{background:#8ed04e;transform:translateY(-2px)}
.gw-block .qv-cta.added{background:var(--gw-green-700);color:#fff}
.gw-block .qv-link{display:inline-flex;align-items:center;gap:7px;justify-content:center;margin-top:12px;font-family:var(--gw-font-ui);font-weight:600;font-size:13.5px;color:var(--gw-ink-700);transition:color .16s}
.gw-block .qv-link:hover{color:#3f6f1c}
.gw-block .qv-link svg{width:15px;height:15px;transition:transform .18s var(--ease)}
.gw-block .qv-link:hover svg{transform:translateX(4px)}
@media(max-width:640px){.gw-block .qv-dialog{grid-template-columns:1fr;max-height:90vh}
.gw-block .qv-media{border-radius:var(--gw-r-xl) var(--gw-r-xl) 0 0;min-height:220px;padding:24px}
.gw-block .qv-media img{max-height:220px}}
@media(max-width:1024px){.gw-block .prow{grid-template-columns:1fr;align-items:stretch}
.gw-block .prow > .featured{height:auto}
.gw-block .featured-media{min-height:240px}
.gw-block .cgrid{grid-template-rows:none}}
@media(max-width:1080px){.gw-block .trust-sep{display:none}}
@media(max-width:880px){.gw-block .seg{width:100%;overflow-x:auto;justify-content:flex-start;border-radius:var(--gw-r-lg)}
.gw-block .seg-cursor{border-radius:var(--gw-r)}
.gw-block .seg-btn{flex:1 0 auto}}
@media(max-width:640px){.gw-block .cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}
.gw-block .quick, .gw-block .qv-btn{opacity:1;transform:none}
.gw-block .seg-btn{padding:10px 16px;font-size:13px}
.gw-block .seg-btn .ct{display:none}
.gw-block .trust-in{gap:14px 22px}}
@media(max-width:400px){.gw-block .cgrid{grid-template-columns:1fr}}
.gw-block .ccard-media{background:#fff !important}
.gw-block .featured-media{background:#fff !important;background-image:none !important}
.gw-block .qv-media{background:#fff !important;background-image:none !important}
.gw-block .ccard-media img, .gw-block .featured-media img, .gw-block .qv-media img{mix-blend-mode:normal !important}.gw-exp h2, .gw-exp h3, .gw-exp h4{color:var(--gw-ink-700);line-height:1.14;letter-spacing:-.01em}
.gw-exp .band{width:100%}
.gw-exp .band--alt{background:var(--gw-n75)}
.gw-exp .bw{max-width:var(--wrap);margin:0 auto;padding:var(--space) 24px}
.gw-exp .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gw-magenta-500);margin-bottom:14px}
.gw-exp .stars{--r:100%;display:inline-block;position:relative;font-size:15px;line-height:1;letter-spacing:2px;font-family:Arial}
.gw-exp .stars::before{content:"\2605\2605\2605\2605\2605";color:#e3dcec}
.gw-exp .stars::after{content:"\2605\2605\2605\2605\2605";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden}
.gw-exp .lead2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,4vw,60px);align-items:start}
.gw-exp .lead2-main{min-width:0}
.gw-exp .lead2-main h2{font-family:var(--gw-font-ui);font-weight:700;font-size:clamp(26px,3.4vw,40px);margin-bottom:14px}
.gw-exp .lead2-main h2 .accent{color:var(--gw-green-500)}
.gw-exp .lead2-kicker{font-size:16.5px;color:var(--gw-n600);margin:0 0 28px;max-width:54ch}
.gw-exp .prose-lead{font-family:var(--f-body);font-size:clamp(17px,1.35vw,18px);line-height:1.7;color:var(--gw-ink-700);font-weight:500;max-width:64ch;margin-bottom:18px}
.gw-exp .prose-lead b{color:var(--gw-ink-700);font-weight:700}
.gw-exp .prose{font-size:16.5px;line-height:1.82;color:var(--body);max-width:66ch}
.gw-exp .prose p{margin-bottom:1em}
.gw-exp .prose p:last-child{margin-bottom:0}
.gw-exp .prose a{color:#3f6f1c;font-weight:600;border-bottom:1px solid rgba(123,191,63,.42);transition:.16s var(--ease)}
.gw-exp .prose a:hover{color:var(--gw-magenta-500);border-color:var(--gw-magenta-500)}
.gw-exp .prose b{color:var(--gw-ink-700);font-weight:600}
.gw-exp .prose-fold{position:relative;overflow:hidden;transition:max-height .55s var(--ease)}
.gw-exp .prose-fold:not(.is-open){max-height:104px}
.gw-exp .prose-fold:not(.is-open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:80px;background:linear-gradient(180deg,rgba(245,242,249,0),var(--gw-n75) 90%);pointer-events:none}
.gw-exp .prose-fold.is-open{max-height:2400px}
.gw-exp .fold-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--gw-font-ui);font-weight:600;font-size:14.5px;color:var(--gw-ink-700);background:transparent;border:1.5px solid rgba(43,0,79,.18);border-radius:var(--gw-r-pill);padding:9px 18px;cursor:pointer;transition:.2s var(--ease)}
.gw-exp .fold-toggle:hover{border-color:var(--gw-magenta-500);color:var(--gw-magenta-500);background:#fff}
.gw-exp .fold-toggle:focus-visible{outline:2px solid var(--gw-magenta-500);outline-offset:2px}
.gw-exp .fold-toggle svg{width:15px;height:15px;transition:transform .3s var(--ease)}
.gw-exp .fold-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.gw-exp .fold-toggle .lbl-more{display:inline}
.gw-exp .fold-toggle .lbl-less{display:none}
.gw-exp .fold-toggle[aria-expanded="true"] .lbl-more{display:none}
.gw-exp .fold-toggle[aria-expanded="true"] .lbl-less{display:inline}
.gw-exp .pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px;padding-top:38px;border-top:1px solid var(--border)}
.gw-exp .pillar{display:flex;flex-direction:column;gap:14px;border-radius:var(--gw-r-lg);padding:20px 18px;background:var(--gw-glass-strong) !important;border:1px solid rgba(255,255,255,.8) !important;box-shadow:var(--gw-shadow-soft) !important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .24s var(--gw-ease-out),box-shadow .24s var(--gw-ease-out),border-color .24s var(--gw-ease-out) !important}
.gw-exp .pillar:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:rgba(123,191,63,.55)}
.gw-exp .pillar-ic{width:46px;height:46px;border-radius:13px;background:linear-gradient(150deg,#fbfff5,#eef7e3);border:1px solid rgba(123,191,63,.30);display:flex;align-items:center;justify-content:center;color:#3f6f1c;box-shadow:var(--sh-sm)}
.gw-exp .pillar-ic svg{width:23px;height:23px}
.gw-exp .pillar-t{font-family:var(--gw-font-ui);font-weight:700;font-size:15px;color:var(--gw-ink-700);line-height:1.25}
.gw-exp .pillar-d{font-size:13px;color:var(--gw-n600);line-height:1.5;margin-top:6px}
.gw-exp .proof{position:sticky;top:28px}
.gw-exp .proof-card{position:relative;overflow:hidden;border-radius:var(--gw-r-xl);padding:30px 30px 28px;color:var(--gw-ink-700) !important;background:radial-gradient(520px 320px at 88% -12%, rgba(126,30,87,.12), transparent 60%),radial-gradient(420px 320px at 4% 108%, rgba(123,191,63,.16), transparent 58%),linear-gradient(158deg,#ffffff,var(--gw-n75)) !important;border:1px solid rgba(255,255,255,.85);box-shadow:var(--gw-shadow-lift),var(--gw-glow-green) !important}
.gw-exp .proof-card::before{content:"";position:absolute;inset:0;background-size:50px 50px;-webkit-mask-image:radial-gradient(circle at 76% 14%,#000,transparent 76%);mask-image:radial-gradient(circle at 76% 14%,#000,transparent 76%);pointer-events:none;background-image:linear-gradient(rgba(43,0,79,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(43,0,79,.045) 1px,transparent 1px) !important}
.gw-exp .proof-card>*{position:relative;z-index:1}
.gw-exp .proof-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:6px 14px;border-radius:var(--gw-r-pill);margin-bottom:20px;color:var(--gw-magenta-500) !important;background:rgba(255,255,255,.66) !important;border:1px solid var(--gw-hairline) !important}
.gw-exp .proof-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--gw-green-500);box-shadow:0 0 10px var(--gw-green-500)}
.gw-exp .proof-list{display:flex;flex-direction:column}
.gw-exp .proof-item{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.gw-exp .proof-item:last-of-type{border-bottom:0}
.gw-exp .proof-ic{width:42px;height:42px;flex-shrink:0;border-radius:12px;background:rgba(123,191,63,.14) !important;border:1px solid rgba(123,191,63,.3) !important;display:flex;align-items:center;justify-content:center;color:#3f6f1c !important}
.gw-exp .proof-ic svg{width:21px;height:21px}
.gw-exp .proof-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.gw-exp .proof-n{font-family:var(--gw-font-disp);font-size:22px;color:var(--gw-ink-700) !important;line-height:1}
.gw-exp .proof-l{font-size:12.5px;color:#7c7390 !important;margin-top:5px}
.gw-exp .proof-stars-row{display:flex;align-items:center;gap:9px;margin-top:6px;flex-wrap:wrap}
.gw-exp .proof-stars-row .stars{font-size:14px}
.gw-exp .proof-stars-row .rc{font-size:12px;color:#7c7390 !important}
.gw-exp .proof-verified{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#3f6f1c !important;background:rgba(123,191,63,.18);border:1px solid rgba(123,191,63,.42);border-radius:var(--gw-r-pill);padding:3px 9px 3px 7px;white-space:nowrap}
.gw-exp .proof-verified svg{width:12px;height:12px;color:var(--gw-green-500);flex-shrink:0}
.gw-exp .proof-premium{display:flex;align-items:center;gap:12px;margin-top:20px;background:rgba(123,191,63,.15);border:1px solid rgba(123,191,63,.40);border-radius:13px;padding:13px 16px}
.gw-exp .proof-premium svg{width:22px;height:22px;color:var(--gw-green-500);flex-shrink:0;background:rgba(123,191,63,.20);border-radius:50%;padding:3px}
.gw-exp .proof-premium .pp-t{font-family:var(--gw-font-ui);font-weight:700;font-size:13.5px;color:var(--gw-ink-700) !important;line-height:1.2}
.gw-exp .proof-premium .pp-d{font-size:12px;color:#7c7390 !important;margin-top:2px}
.gw-exp .proof-cta{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:18px;width:100%;font-family:var(--gw-font-ui);font-weight:700;font-size:14.5px;color:var(--green-text);background:linear-gradient(135deg,#8fd24f,var(--gw-green-500));border:0;border-radius:var(--gw-r-pill);padding:14px 22px;cursor:pointer;box-shadow:0 7px 14px rgba(123,191,63,.2),0 0 0 1px rgba(123,191,63,.16) !important;transition:.32s var(--gw-ease-out) !important}
.gw-exp .proof-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(123,191,63,.46);filter:brightness(1.04)}
.gw-exp .proof-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
.gw-exp .proof-cta svg{width:17px;height:17px;transition:transform .2s var(--ease)}
.gw-exp .proof-cta:hover svg{transform:translateX(3px)}
@media(max-width:920px){.gw-exp .lead2{grid-template-columns:1fr;gap:36px}
.gw-exp .proof{position:static}
.gw-exp .lead2-kicker{max-width:none}
.gw-exp .prose-lead{max-width:none}}
@media(max-width:620px){.gw-exp .pillars{grid-template-columns:1fr;gap:16px}
.gw-exp .prose-fold:not(.is-open){max-height:160px}
.gw-exp .pillar{flex-direction:row;align-items:flex-start;gap:14px}
.gw-exp .pillar-ic{flex-shrink:0}}
@media(max-width:420px){.gw-exp .proof-card{padding:26px 20px 24px}
.gw-exp .proof-n{font-size:20px}}/* =====================================================================
   GROWLED — HERO « GRAND SLIDER + 4 PANNEAUX + RÉASSURANCE » · D.A. E4
   Markup intégré à la home globale, SCOPÉ sous .gw-hero.
   Tokens propres au hero (absents de _home.css) déclarés en scope local
   .gw-hero{} ; keyframes renommés gwh-* pour éviter toute collision.
   ===================================================================== */

/* ---------- TOKENS LOCAUX (scope .gw-hero) ---------- */
.gw-hero{
  --green-bloc:#3f7a1f;--green-link:#3f6f1c;--magenta-2:#a8316f;
  --lilac:#f5f2f9;--lilac-2:#f2edf8;
  --hair:rgba(43,0,79,.08);--soft:#f1ecf6;--faint:#a99fbb;
  --p2:#3a0a63;--p9:#1a0033;
  --pill:999px;--r-xl:24px;
  --ease:cubic-bezier(.22,1,.36,1);
  --f-disp:'Russo One',sans-serif;--f-head:'Poppins',sans-serif;--f-body:'Inter',system-ui,sans-serif;
}

/* ============================ HERO WRAP ============================ */
/* 24/08 — plus de filet bas ici. Les deux bandes se touchent désormais (voir
   `.reassure` plus bas) : le filet gris se retrouvait collé au-dessus du filet
   de 3 px en dégradé de la réassurance, deux traits pour une seule jonction.
   C'est le dégradé qui marque la couture, il est fait pour ça. */
.gw-hero .hero-wrap{background:linear-gradient(170deg,#ffffff 0%,var(--lilac) 100%);border-bottom:0;padding-bottom:clamp(20px,2.6vw,30px)}
.gw-hero .gw-hero-stage{max-width:none;margin:0;padding:0}

/* ---------- GRAND SLIDER ---------- */
.gw-hero .slider{position:relative}
.gw-hero .slides{position:relative}
.gw-hero .slide{display:none}
.gw-hero .slide.is-active{display:block;animation:gwh-slidein .55s var(--ease)}
@keyframes gwh-slidein{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.gw-hero .affiche{
  position:relative;display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(24px,4vw,64px);align-items:center;
  background:
    radial-gradient(58% 120% at -2% -12%, var(--tint-a,rgba(123,191,63,.24)), transparent 60%),
    radial-gradient(54% 120% at 102% 112%, var(--tint-b,rgba(126,30,87,.16)), transparent 60%),
    linear-gradient(165deg,#ffffff 0%, var(--lilac) 100%);
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:clamp(28px,4vw,58px) max(24px,calc((100% - var(--wrap))/2 + 24px));
  overflow:visible;
  min-height:clamp(360px,38vw,440px);
}
/* filet grille discret */
.gw-hero .affiche::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;
  background-image:
    linear-gradient(rgba(43,0,79,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(43,0,79,.04) 1px,transparent 1px);
  background-size:58px 58px;
  -webkit-mask-image:radial-gradient(circle at 74% 30%,#000,transparent 76%);
  mask-image:radial-gradient(circle at 74% 30%,#000,transparent 76%);}
.gw-hero .aff-rating{display:inline-flex;align-items:center;gap:9px;margin-bottom:16px}
.gw-hero .aff-rating .rc{font-size:13px;color:var(--gw-n600)}
.gw-hero .aff-rating .rc b{color:var(--gw-ink-700)}

/* compte à rebours */
.gw-hero .countdown{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.gw-hero .cd-label{display:inline-flex;align-items:center;gap:7px;font-family:var(--gw-font-ui);font-weight:700;font-size:12.5px;
  text-transform:uppercase;letter-spacing:.06em;color:var(--gw-magenta-500)}
.gw-hero .cd-label svg{width:16px;height:16px}
.gw-hero .cd-clock{display:flex;gap:7px}

/* CTAs — boutons scopés hero (la home a ses propres .btn, on garde l'allure source ici) */
.gw-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:var(--gw-font-ui);font-weight:600;
  font-size:15px;padding:13px 26px;min-height:48px;border-radius:var(--gw-r);transition:.22s var(--ease);
  border:1.5px solid transparent;white-space:nowrap}
.gw-hero .btn svg{width:18px;height:18px}
.gw-hero .btn-primary{background:var(--gw-green-500);color:var(--green-text);box-shadow:0 8px 16px rgba(123,191,63,.28)}
.gw-hero .btn-primary:hover{transform:translateY(-2px);background:#8ed04e;box-shadow:0 12px 22px rgba(123,191,63,.34)}
.gw-hero .btn-ghost{background:#fff;border-color:var(--hair);color:var(--gw-ink-700)}
.gw-hero .btn-ghost:hover{border-color:#3f6f1c;color:var(--green-link);transform:translateY(-2px);box-shadow:var(--sh)}

/* ---------- contrôles slider ---------- */
.gw-hero .slider-ctrl{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}
.gw-hero .s-arrows{display:flex;gap:10px}
.gw-hero .s-arrow{width:48px;height:48px;border-radius:50%;background:#fff;border:1.5px solid var(--hair);color:var(--gw-ink-700);
  display:flex;align-items:center;justify-content:center;transition:.2s var(--ease);box-shadow:var(--sh-sm)}
.gw-hero .s-arrow:hover{border-color:#3f6f1c;color:var(--green-link);transform:translateY(-2px);box-shadow:var(--sh)}
.gw-hero .s-arrow svg{width:20px;height:20px}
/* ═══ Vignettes du slider — correctif 24/08/2026 ═══
   Le même défaut que celui traité sous 767 px dans e4-home-mobile.css §PASSE 8
   existait AU-DESSUS, et n'avait pas été vu : les trois vignettes totalisent
   602 px de contenu pour les 560 px de `.s-progress`, et la bande est centrée,
   donc elle déborde des DEUX côtés. Tant que `.slider` est large, ce débord ne
   se voit pas ; dès qu'il se resserre, son `overflow:hidden` tranche.
   Mesuré : « Rhino Series 260 PRO… » amputé de 178 px à 1024, de 51 px à 768,
   de 150 px à 1100 et de 95 px à 1200. Intact à 1440, d'où l'angle mort.

   Deux causes, deux corrections.
   1. `min-width:0` — sans lui, un élément flexible refuse de descendre sous la
      taille minimale de son contenu. `.s-progress` restait donc à 560 px dans
      une colonne de 532 px à 1024, et débordait de `.slider`. Avec, il suit
      la place disponible.
   2. plafond porté de 560 à 640 px — 560 était SOUS les 602 px des vignettes :
      la bande ne pouvait pas tenir, même sur un grand écran. À 640, elle tient
      dès qu'il y a la place, et rien ne défile inutilement.
   Le rail ne sert plus que de filet quand la place manque vraiment, avec
   `safe center` : centré tant que ça rentre, calé à gauche sinon — sans quoi
   le débord de gauche d'une bande centrée est inatteignable au défilement.
   La déclaration `center` qui précède reste pour les navigateurs qui ignorent
   `safe` : ils gardent le comportement actuel. */
.gw-hero .s-progress{flex:1 1 auto;display:flex;flex-direction:column;gap:10px;max-width:640px;margin:0 auto;min-width:0}
/* Ordre de sacrifice de la ligne de commandes. `.s-spacer` est une cale vide
   (aria-hidden, 106 px en style en ligne) qui n'existe que pour recentrer le
   bloc face aux flèches : c'est donc elle qui doit céder en premier quand la
   place manque, pas les vignettes. Sans ces deux lignes, `.s-progress` en
   `flex-basis:0` ne réclamait rien, la ligne ne débordait jamais, la cale
   gardait ses 106 px — et les vignettes se contentaient des restes. */
.gw-hero .s-arrows{flex:0 0 auto}
.gw-hero .s-spacer{flex:1000 1000 auto;min-width:0}
/* H2 : autoplay coupé — la barre de compte à rebours n'a plus d'objet */
.gw-hero .s-bar{display:none}
.gw-hero .s-bar--off{position:relative;height:4px;background:var(--gw-n150);border-radius:3px;overflow:hidden}
.gw-hero .s-bar-fill{position:absolute;inset:0 100% 0 0;background:linear-gradient(90deg,var(--green-bloc),var(--gw-green-500));border-radius:3px}
.gw-hero .s-bar-fill.run{animation:gwh-fill var(--auto,6000ms) linear forwards}
@keyframes gwh-fill{from{right:100%}to{right:0%}}
/* miniatures cliquables des 3 actus */
/* UX-DSK-029 (audit du 04/09) : 612 px visibles pour 639 de contenu — la
   troisieme vignette etait rognee de 27 px : trop peu pour un apercu
   volontaire, trop pour passer inapercu. L'ecart se resorbe sur l'espacement. */
.gw-hero .s-thumbs{display:flex;gap:2px;justify-content:center;justify-content:safe center;flex-wrap:nowrap;
  overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;padding-bottom:2px}
.gw-hero .s-thumbs::-webkit-scrollbar{height:0}
/* Voile de bord, posé UNIQUEMENT quand il reste vraiment quelque chose au-delà.
   L'attribut vient de home-e4.js (« MASQUE DE BORD DES RAILS HORIZONTAUX ») :
   la CSS ne sait pas si un conteneur déborde, et un dégradé permanent
   estomperait le bord de la troisième vignette aux largeurs où elle tient
   entière. Sans attribut — cas des grands écrans — aucun masque n'est composé,
   donc aucun coût de rendu.
   26 px, la même valeur que le rail de réassurance, pour que les deux bandes
   de la page se fondent de la même manière. */
.gw-hero .s-thumbs[data-rail~="end"]{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
          mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
}
.gw-hero .s-thumbs[data-rail~="start"]{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 100%);
}
.gw-hero .s-thumbs[data-rail~="start"][data-rail~="end"]{
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%);
          mask-image:linear-gradient(90deg,transparent 0,#000 26px,#000 calc(100% - 26px),transparent 100%);
}
.gw-hero .s-thumbs > .s-thumb{flex:0 0 auto;scroll-snap-align:start}
/* UX-DSK-029 : 15 px manquaient encore apres la reduction de l'espacement du
   rail ; ils sont pris sur le rembourrage interne des trois vignettes. */
.gw-hero .s-thumb{display:flex;align-items:center;gap:7px;padding:7px 8px 7px 6px;background:#fff;border:1.5px solid var(--hair);
  border-radius:13px;transition:.18s var(--ease);min-height:44px;text-align:left;box-shadow:var(--sh-sm)}
.gw-hero .s-thumb:hover{border-color:#3f6f1c;transform:translateY(-2px);box-shadow:var(--sh)}
.gw-hero .s-thumb-img{width:38px;height:38px;border-radius:9px;background:radial-gradient(120% 100% at 50% 18%,#fff,var(--lilac));
  border:1px solid var(--hair);display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:4px}
.gw-hero .s-thumb-img img{max-width:100%;max-height:100%;object-fit:contain;mix-blend-mode:multiply}
.gw-hero .s-thumb-meta{display:flex;flex-direction:column;line-height:1.15}
.gw-hero .s-thumb-k{font-family:var(--gw-font-ui);font-weight:700;font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--gw-magenta-500)}
.gw-hero .s-thumb-n{font-family:var(--gw-font-ui);font-weight:600;font-size:12px;color:var(--gw-ink-700);white-space:nowrap}
.gw-hero .s-thumb.active{border-color:var(--green-bloc);box-shadow:0 0 0 3px rgba(123,191,63,.16),var(--sh)}
.gw-hero .s-thumb.active .s-thumb-k{color:#3f6f1c}


/* ============================ BANDE RÉASSURANCE ============================
   Refonte 23/08/2026 — variante « bandeau signature » retenue sur la planche
   themes/warehouse-e4/previews/reassurance/index.html.
   Ce qui n'allait pas, mesuré sur la page :
   · les pastilles de 38 px derrière les icônes étaient en var(--lilac), soit
     #f5f2f9 : exactement le fond de la bande. Invisibles. Elles passent en
     blanc avec filet et ombre — elles existent enfin sur un fond teinté ;
   · les icônes étaient en magenta #7E1E57, couleur « éditorial » du brandbook,
     employée ici pour de la livraison et du paiement. Vert AA (#3f6f1c) ;
   · quatre items de 170/164/261/332 px en space-between : les séparateurs
     tombaient au hasard. La grille les cale sur la longueur réelle des
     libellés (.85/.85/1.1/1.2) — aucun ne part sur trois lignes — et les
     séparateurs prennent le biais -5° de la marque au lieu d'un trait droit ;
   · la bande ne portait AUCUN marqueur de la D.A. : filet haut de 3 px au
     dégradé clé (vert -> magenta) ;
   · la note et les avis entrent dans la bande, à droite : une seule rangée de
     réassurance au lieu de deux avant la rupture violette.
   Le ciel du séparateur en dents de scie qui suit reprend le gris de bas de
   bande — voir « CIEL DU SÉPARATEUR » plus bas dans ce fichier.
   ========================================================================== */
/* `margin-top:clamp(20px,2.6vw,30px)` retiré le 24/08 : il ouvrait une bande de
   fond de page entre le bas du hero et le haut de la réassurance — 30 px à
   1440, 24 à 900, 20 à 390. Tant que le hero s'arrêtait à 72 px des bords, ce
   blanc se lisait comme la respiration entre deux blocs flottants ; depuis que
   les deux bandes vont d'un bord à l'autre, il coupe une continuité qui devrait
   être franche. Le dégradé du hero finit sur --lilac (#f5f2f9), celui de la
   réassurance commence sur --gw-n50 (#f8f5fd) : trois unités d'écart, la
   jonction est invisible et seul le filet en dégradé la marque.
   L'espace n'est pas supprimé pour autant, il est DÉPLACÉ : la même valeur
   passe en rembourrage bas du hero (voir `.hero-wrap` plus haut). Sans ça les
   vignettes du slider venaient buter à 1 px du filet. Le blanc devient donc du
   dégradé, et le bloc respire toujours autant. */
.gw-hero .reassure{position:relative;background:linear-gradient(180deg,var(--gw-n50),var(--gw-n150));border-top:0;border-bottom:0;margin-top:0}
.gw-hero .reassure::before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--gw-grad-key)}
/* Gouttière alignée sur le jeton, 24/08. Elle valait 20 px en dur : le contenu
   de la bande commençait donc 4 px avant celui des autres bandes et du hero —
   mesuré à 1920, 1440, 1200, 900 et 768. Sur téléphone l'écart n'existait pas,
   e4-mobile.css ramenant déjà `.reassure-in` à 16 px avec les `.bw`.
   La largeur est déclarée ici, et plus rattrapée ailleurs : cette règle disait
   `var(--wrap)` (1280 px fixe) et c'est `e4-tokens.css` qui imposait la bonne
   valeur par un `!important`. La déclaration locale était donc fausse et
   inerte — le pire des deux. Elle dit maintenant `--gw-wrap`, la même source
   que `.bw` et que le hero, et le `!important` du fichier de jetons a pu être
   retiré pour `.reassure-in` (il reste pour `.band .bw` et `.gw-cat .bw`, qui
   ont encore des déclarations concurrentes). */
.gw-hero .reassure-in{max-width:var(--gw-wrap,min(90%,1600px));margin:0 auto;padding:14px var(--gw-gutter,24px);display:grid;grid-template-columns:1fr auto;align-items:center}
.gw-hero .reassure-items{display:grid;grid-template-columns:.85fr .85fr 1.1fr 1.2fr;align-items:center}
.gw-hero .ritem{position:relative;display:flex;align-items:center;gap:11px;padding:0 14px;font-size:13px;color:var(--gw-ink-700);font-weight:600;line-height:1.24}
.gw-hero .ritem:first-child{padding-left:0}
.gw-hero .ritem b{font-weight:600}
.gw-hero .ritem + .ritem::before{content:"";position:absolute;left:0;top:50%;width:1px;height:32px;transform:translateY(-50%) skewX(-5deg);background:rgba(43,0,79,.13)}
.gw-hero .ritem .st{color:var(--green-link);font-weight:700}
.gw-hero .ritem .ic{width:34px;height:34px;flex:0 0 34px;border-radius:10px;background:#fff;border:1px solid var(--gw-hairline);box-shadow:0 1px 2px rgba(43,0,79,.05);display:flex;align-items:center;justify-content:center;color:var(--green-text-aa)}
/* fill:none obligatoire ici : deux feuilles de modules (blog_all.css et
   sidebar.css) déclarent un `svg{fill:currentcolor}` global qui écrase
   l'attribut de présentation fill="none" du gabarit — une déclaration CSS
   l'emporte toujours sur un attribut de présentation. Sans cette ligne les
   quatre pictos sont pleins au lieu d'être filaires (c'était déjà le cas
   avant cette refonte : l'étoile et le bouclier étaient des aplats). */
.gw-hero .ritem .ic svg{width:19px;height:19px;fill:none}
/* les <div class="rsep"> ont quitté le gabarit ; la règle reste en filet de
   sécurité au cas où un cache Smarty servirait encore l'ancien balisage. */
.gw-hero .rsep{display:none}
/* La note en pastille, dans la bande. Écrase .gw-proof de e4-home.css, qui la
   posait centrée sur fond blanc sous la bande (chargé avant ce fichier). */
.gw-hero .reassure .gw-proof{display:flex;align-items:center;flex-wrap:nowrap;gap:8px;max-width:none;margin:0 0 0 14px;padding:7px 13px;background:#fff;border:1px solid var(--gw-hairline);border-radius:var(--gw-r-pill);box-shadow:0 1px 2px rgba(43,0,79,.05);white-space:nowrap;font-size:12px;color:var(--gw-n700);font-weight:500}
.gw-hero .reassure .gw-proof-stars{font-size:12px;letter-spacing:1.5px}
.gw-hero .reassure .gw-proof-score a{text-decoration:none}
/* La citation qui tourne, deuxième ligne de la bande.
   `white-space:nowrap` + ellipsis viennent de .gw-proof-q (e4-home.css) et sont
   gardés VOLONTAIREMENT : les trois citations n'ont pas la même longueur, et
   sans eux le changement toutes les 6 s ferait passer la ligne de une à deux
   et décalerait tout ce qui suit. Hauteur figée par min-height pour la même
   raison — la zone ne bouge pas d'un pixel entre deux citations. */
.gw-hero .reassure .gw-proof-q{grid-column:1/-1;justify-self:center;max-width:min(72ch,100%);margin:6px 0 0;font-size:12.5px;line-height:1.45;min-height:18px;color:var(--gw-n600);text-align:center}
/* Sous 1180 px la pastille ne tient plus à droite des quatre garanties : elle
   passe dessous, centrée. Sous 900 px les garanties passent en 2x2.
   La citation sort au même seuil : elle n'a de sens que dans le régime « une
   seule rangée ». Dès que la pastille descend, la garder ferait une troisième
   ligne de texte gris pour 24 px de hauteur. */
@media(max-width:1180px){
  .gw-hero .reassure-in{grid-template-columns:1fr;justify-items:center;gap:9px}
  .gw-hero .reassure-items{width:100%}
  .gw-hero .reassure .gw-proof{margin-left:0}
  .gw-hero .reassure .gw-proof-q{display:none}
}
@media(max-width:900px){
  .gw-hero .reassure-items{grid-template-columns:1fr 1fr;gap:9px 0}
  .gw-hero .ritem:nth-child(odd){padding-left:0}
  .gw-hero .ritem:nth-child(odd)::before{display:none}
}

/* ============================ ÉTOILES (scope hero) ============================ */
.gw-hero .stars{display:inline-block;position:relative;font-size:14px;line-height:1;letter-spacing:2px;
  font-family:Arial,sans-serif;--r:100%}
.gw-hero .stars::before{content:"★★★★★";color:#e3dcec}
.gw-hero .stars::after{content:"★★★★★";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden;white-space:nowrap}

/* ============================ RESPONSIVE ============================ */
@media(max-width:880px){
  .gw-hero .affiche{grid-template-columns:1fr;text-align:center;gap:22px;min-height:0}
  .gw-hero .aff-rating,.gw-hero .countdown{justify-content:center}
}
@media(max-width:720px){
  /* Les règles de réassurance qui vivaient ici (space-between, flex-basis 50%,
     .rsep masqué) sont devenues sans objet : la bande est en grille depuis la
     refonte du 23/08, et le rail mobile est piloté par e4-home-mobile.css. */
  /* miniatures du slider : on masque le sous-titre seulement */
  .gw-hero .s-thumb-n{display:none}}
@media(max-width:560px){
  .gw-hero .affiche{padding:22px 18px}
  .gw-hero .slider-ctrl{flex-direction:column;gap:14px}
  .gw-hero .s-progress{width:100%;max-width:none;order:-1}
  .gw-hero .s-spacer{display:none}
}

/* mouvement réduit : pas d'autoplay ni d'animations d'entrée */
@media(prefers-reduced-motion:reduce){
  .gw-hero .slide.is-active{animation:none}
  .gw-hero .s-bar-fill.run{animation:none;right:0}
  .gw-hero .btn,.gw-hero .s-arrow,.gw-hero .s-thumb{transition:none}
}
/* ============ BLOC GUIDES & CONSEILS (magazine) — scopé .gw-guide ============ */
.gw-guide{--gg-mesh:radial-gradient(120% 130% at 12% 0%,rgba(123,191,63,.16),transparent 55%),radial-gradient(120% 130% at 100% 100%,rgba(126,30,87,.12),transparent 55%),var(--gw-n75)}

/* en-tête : intro à gauche, lien à droite */
.gw-guide-head{max-width:none;display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:34px}
.gw-guide-intro{max-width:620px}
.gw-guide-intro p{margin-top:12px;color:var(--gw-n600);font-size:16px}
.gw-guide-head .link-all{flex:none;padding-bottom:6px}
/* mot-clé vert (signature E4) */
.band .head h2 .accent,.hist .story h2 .accent{background:#3f7a1f;color:#fff;-webkit-text-fill-color:#fff;display:inline-block;padding:.02em .26em;border-radius:8px;transform:skewX(-5deg);box-shadow:0 2px 8px rgba(74,143,37,.22)}
.gw-guide .head h2 .accent{background:#3f7a1f;color:#fff;-webkit-text-fill-color:#fff;display:inline-block;padding:.02em .26em;border-radius:8px;transform:skewX(-5deg);box-shadow:0 2px 8px rgba(74,143,37,.22)}

/* grille : vedette + liste de 3 */
.guide-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}

/* ---- article vedette ---- */
.guide-feat{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gw-n150);border-radius:var(--gw-r-xl);overflow:hidden;transition:.28s var(--ease)}
.guide-feat:hover{transform:translateY(-5px);box-shadow:var(--sh-lg);border-color:transparent}
.gf-media{position:relative;aspect-ratio:16/9;background:var(--gg-mesh);display:flex;align-items:center;justify-content:center;padding:22px 22px 26px;overflow:hidden}
.gf-media img{max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply;transition:.5s var(--ease)}
.guide-feat:hover .gf-media img{transform:scale(1.05)}
.gf-tagrow{position:absolute;top:15px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:2}
.gf-tag{background:var(--gw-magenta-500);color:#fff;font-family:var(--gw-font-ui);font-weight:700;font-size:11.5px;letter-spacing:.04em;padding:5px 12px;border-radius:var(--gw-r-pill);box-shadow:0 4px 12px rgba(126,30,87,.28)}
.gf-time{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.92);color:var(--gw-ink-700);font-weight:700;font-size:12.5px;padding:5px 11px;border-radius:var(--gw-r-pill);box-shadow:var(--sh-sm)}
.gf-time svg{width:14px;height:14px}
.gf-body{padding:22px 26px 26px;display:flex;flex-direction:column;flex:1}
.gf-kicker{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3f6f1c}
.gf-title{font-family:var(--gw-font-ui);font-weight:700;font-size:clamp(19px,2vw,23px);color:var(--gw-ink-700);line-height:1.2;margin:8px 0 9px}
.gf-excerpt{color:var(--gw-n600);font-size:15px;line-height:1.55}
.gf-toc{display:flex;flex-direction:column;gap:7px;margin:16px 0 4px;padding:14px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.gf-toc-i{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:var(--body)}
.gf-dot{width:7px;height:7px;border-radius:50%;background:var(--gw-green-500);flex:none;box-shadow:0 0 0 3px rgba(123,191,63,.14)}
.gf-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:var(--gw-font-ui);font-weight:700;font-size:15px;color:var(--gw-ink-700)}
.gf-cta svg{width:18px;height:18px;transition:.22s var(--ease)}
.guide-feat:hover .gf-cta{color:#3f6f1c}.guide-feat:hover .gf-cta svg{transform:translateX(4px)}

/* ---- liste de cartes ---- */
.guide-list{display:grid;grid-template-rows:repeat(3,1fr);gap:16px}
/* Doublon de home-e4-s4.css, qui est chargé après et l'emporte. Le correctif
   des cartes de guides y est commenté en entier ; on le répète ici pour que
   les deux déclarations concurrentes restent d'accord, comme l'a appris le
   retrait de home-e4-s2 et -s3. */
@media(min-width:901px){
  .guide-list{grid-template-rows:none;grid-auto-rows:minmax(auto,132px);align-content:center}
}
.gcard{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid var(--gw-n150);border-radius:var(--gw-r-lg);padding:15px 17px;transition:.24s var(--ease)}
.gcard:hover{border-color:rgba(123,191,63,.5);transform:translateX(4px);box-shadow:var(--sh)}
.gc-ic{width:66px;height:66px;border-radius:15px;flex:none;display:grid;place-items:center;background:var(--gw-n75);color:var(--gw-ink-700);transition:.24s var(--ease)}
.gc-ic svg{width:36px;height:36px}
.gc-ic[data-t="par"]{background:rgba(123,191,63,.12);color:#3f6f1c}
.gc-ic[data-t="surf"]{background:rgba(43,0,79,.07);color:var(--gw-ink-700)}
.gc-ic[data-t="cycle"]{background:rgba(126,30,87,.10);color:var(--gw-magenta-500)}
.gcard:hover .gc-ic{transform:scale(1.06)}
.gc-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.gc-tag{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gw-magenta-500)}
.gc-title{font-family:var(--gw-font-ui);font-weight:600;font-size:15.5px;color:var(--gw-ink-700);line-height:1.28}
.gc-time{font-size:12.5px;color:var(--gw-n600);font-weight:500}
.gc-arr{width:20px;height:20px;color:var(--gw-n600);flex:none;transition:.22s var(--ease)}
.gcard:hover .gc-arr{color:#3f6f1c;transform:translateX(3px)}

/* ---- responsive ---- */
@media(max-width:900px){
 .guide-grid{grid-template-columns:1fr;gap:18px}
 .gw-guide-head{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:26px}
 .gw-guide-head .link-all{padding-bottom:0}
 .gf-media{aspect-ratio:16/8}
 .guide-list{grid-template-rows:none}
}
@media(max-width:520px){
 .gc-ic{width:56px;height:56px}.gc-ic svg{width:30px;height:30px}
 .gf-toc{display:none}}
/* ============ SECTION BLOG / LE MAG (3 derniers articles) — scopé .gw-blog ============ */
.gw-blog .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gw-blog .post{display:flex;flex-direction:column;background:#fff;border:1px solid var(--gw-n150);border-radius:var(--gw-r-lg);overflow:hidden;text-decoration:none;transition:transform .24s var(--ease),box-shadow .24s var(--ease),border-color .24s var(--ease)}
.gw-blog .post:hover{transform:translateY(-4px);box-shadow:var(--sh-lg);border-color:transparent}
.gw-blog .post-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:var(--gw-n75)}
.gw-blog .post-media img{width:100%;height:100%;object-fit:cover;transition:.5s var(--ease)}
.gw-blog .post:hover .post-media img{transform:scale(1.05)}
.gw-blog .post-cat{position:absolute;top:12px;left:12px;z-index:1;background:var(--gw-magenta-500);color:#fff;font-family:var(--gw-font-ui);font-weight:700;font-size:11px;letter-spacing:.04em;padding:5px 11px;border-radius:var(--gw-r-pill);box-shadow:0 4px 12px rgba(126,30,87,.3)}
.gw-blog .post-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.gw-blog .post-meta{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--gw-n600)}
.gw-blog .post-title{font-family:var(--gw-font-ui);font-weight:700;font-size:17px;color:var(--gw-ink-700);line-height:1.26;margin:7px 0 8px}
.gw-blog .post-ex{font-size:14px;color:var(--gw-n600);line-height:1.5;flex:1}
.gw-blog .post-read{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-family:var(--gw-font-ui);font-weight:700;font-size:13.5px;color:var(--gw-ink-700)}
.gw-blog .post-read svg{width:16px;height:16px;transition:transform .22s var(--ease)}
.gw-blog .post:hover .post-read{color:#3f6f1c}
.gw-blog .post:hover .post-read svg{transform:translateX(4px)}
.gw-blog .blog-all{display:flex;justify-content:center;margin-top:30px}
@media(max-width:900px){.gw-blog .posts{grid-template-columns:1fr 1fr;gap:18px}}
@media(max-width:600px){.gw-blog .posts{grid-template-columns:1fr}}
/* =====================================================================
   GROWLED HOME — SURCOUCHE D.A. « B3 V2 · VARIANTE 3 — DYNAMIQUE »
   ---------------------------------------------------------------------
   BASE : _da_b3v2.css. Même identité (hero clair bento, gros titres
   Russo One inclinés skew, eyebrows signés, aurora visible, cartes glass,
   dégradés vert→violet, ticker, badges en biais).

   AJUSTEMENTS DE CETTE VARIANTE :
   • GLOW RÉDUIT (règle commune) : lueurs vertes nettement diminuées
     (rayons de flou et opacités des ombres vertes −50 à −70 %), glows
     superflus retirés. On garde un glow LÉGER & premium, jamais envahissant.
   • RADIUS MOYEN (entre V1 et V2) : arrondis un peu resserrés.
   • CINÉTIQUE POUSSÉE (la plus jeune/énergique des 3) :
       – skew plus présent sur titres/eyebrows/accents (−7°) ;
       – séparateurs / accents DIAGONAUX plus visibles entre sections ;
       – ticker plus présent (plus rapide, accents + marqués) ;
       – aurora légèrement plus perceptible (mais toujours CLAIR) ;
       – mots-clés en dégradé bien NETS.

   ⛔ Habillage uniquement (color/background/gradient/shadow/border/
   radius/filter/backdrop-filter/transition + transform:skew). On ne
   touche PAS display/grid/flex/position/largeurs/paddings. Fond CLAIR
   partout — jamais de grande zone sombre.
   ===================================================================== */


/* =====================================================================
   1) ATMOSPHÈRE GLOBALE — aurora-mesh VISIBLE (clair) + grain perceptible
   CINÉTIQUE : aurora légèrement plus perceptible que la base, toujours clair.
   ===================================================================== */
body{position:relative;background-color:#ffffff}
body::before{
  content:"";position:fixed;inset:0;z-index:-2;pointer-events:none;
  background:
    radial-gradient(56vw 50vw at -8% -10%, rgba(123,191,63,.26), transparent 60%),
    radial-gradient(58vw 54vw at 108% 0%, rgba(126,30,87,.20), transparent 62%),
    radial-gradient(52vw 50vw at 50% 118%, rgba(58,10,99,.15), transparent 62%),
    radial-gradient(40vw 38vw at 88% 64%, rgba(123,191,63,.14), transparent 64%);
  filter:saturate(1.08);
}
body::after{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.06;mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
.topbar,.header,.nav,.band,section,footer{position:relative;z-index:0}
/* sections claires : aurora locale douce derrière chaque .band (sauf hero) */
.band:not(.hero)::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(40vw 32vw at 6% -6%, rgba(123,191,63,.12), transparent 60%),
    radial-gradient(42vw 34vw at 104% 110%, rgba(126,30,87,.10), transparent 62%);
}

/* CINÉTIQUE : séparateur DIAGONAL visible en haut de chaque .band
   (filet dégradé vert→magenta incliné, énergique, clair, sans interaction) */
.band:not(.hero)::before{
  content:"";position:absolute;left:-4%;right:-4%;top:0;height:3px;z-index:0;pointer-events:none;
  background:linear-gradient(100deg,transparent 0,rgba(123,191,63,.55) 18%,rgba(126,30,87,.45) 70%,transparent 100%);
  transform:skewY(-1.1deg);transform-origin:left;
  opacity:.7;
}

/* =====================================================================
   2) TICKER CINÉTIQUE — PLUS PRÉSENT (plus rapide, accents marqués)
   Glow vert RÉDUIT mais ticker mis en avant par la vitesse + le biais.
   ===================================================================== */
.topbar:hover .topbar-track{animation-play-state:paused}
@keyframes b3tick{to{transform:translateX(-50%)}}

/* =====================================================================
   3) HERO — clair bento + cinétique forte. Aurora un peu + perceptible,
   glows verts RÉDUITS, titre énorme + skew −7°.
   ===================================================================== */

@keyframes b3pulse{0%{box-shadow:0 0 0 0 rgba(123,191,63,.35),0 0 7px rgba(123,191,63,.5)}70%{box-shadow:0 0 0 8px rgba(123,191,63,0),0 0 7px rgba(123,191,63,.5)}100%{box-shadow:0 0 0 0 rgba(123,191,63,0),0 0 7px rgba(123,191,63,.5)}}

/* stats hero : tick dégradé incliné, glow vert RÉDUIT */
.hero-stat::before{
  content:"";position:absolute;left:0;top:6%;bottom:18%;width:4px;border-radius:3px;
  background:var(--gw-grad-key);transform:skewX(var(--gw-skew));
  box-shadow:0 0 5px rgba(123,191,63,.22);
}
.hero-stat .l{color:#7c7390 !important}


/* =====================================================================
   4) EYEBROWS SIGNÉS — uppercase + tick dégradé skewé. CINÉTIQUE :
   eyebrows légèrement inclinés + tick incliné −7°, glow réduit.
   ===================================================================== */
.gw-cat .eyebrow,
.gw-block .eyebrow,
.gw-exp .eyebrow,
.founder .eyebrow{letter-spacing:.16em;font-weight:600;transform:skewX(var(--gw-skew))}
.eyebrow > *,
.gw-cat .eyebrow > *,
.gw-block .eyebrow > *,
.gw-exp .eyebrow > *,
.founder .eyebrow > *{display:inline-block;transform:skewX(calc(-1 * var(--gw-skew)))}
.gw-cat .eyebrow::before,
.gw-block .eyebrow::before,
.gw-exp .eyebrow::before,
.founder .eyebrow::before{
  content:"";display:inline-block;
  width:30px;height:8px;border-radius:2px;opacity:1;vertical-align:middle;margin-right:9px;
  background:var(--gw-grad-key);
  transform:skewX(var(--gw-skew));
  /* glow réduit (12px .5 → 5px .25) */
  box-shadow:0 0 5px rgba(123,191,63,.25);
}

/* =====================================================================
   5) TITRES DE SECTION — GROS Russo One, skewX(−7°) cinétique, mot-clé
   dégradé NET, trait dégradé incliné sous le titre. Glow réduit.
   ===================================================================== */
.head h2,
.gw-cat .head h2,
.gw-block .head h2,
.gw-exp .lead2-main h2,
.avis-head .head h2,
.story h2,
.v4 .head h2{
  font-family:var(--gw-font-disp,'Russo One',sans-serif) !important;
  font-weight:400 !important;
  font-size:clamp(28px,3.9vw,48px) !important;
  line-height:1.06 !important;letter-spacing:-.01em !important;
  text-transform:uppercase;
  color:var(--gw-ink-700);
  position:relative;display:inline-block;
  transform:skewX(var(--gw-skew));transform-origin:left;
  padding-bottom:.32em;
}
/* trait dégradé incliné sous le titre — glow réduit (14px .42 → 6px .2) */
.head h2::after,
.gw-cat .head h2::after,
.gw-block .head h2::after,
.gw-exp .lead2-main h2::after,
.avis-head .head h2::after,
.story h2::after{
  content:"";position:absolute;left:0;bottom:0;
  width:96px;height:5px;border-radius:3px;
  background:var(--gw-grad-key);
  box-shadow:0 0 6px rgba(123,191,63,.2);
}
.head:not(.head--left) h2{transform:skewX(var(--gw-skew));padding-bottom:.42em}
.head:not(.head--left) h2::after{left:50%;transform:translateX(-50%)}

/* CTA verts scopés : glow réduit, radius moyen */
.gw-block .featured-cta,
.gw-block .qv-cta{
  background:var(--gw-grad-green) !important;color:var(--green-text);
  border-radius:var(--b3-r-card);
  box-shadow:0 8px 14px rgba(123,191,63,.18) !important;
  transition:.32s var(--gw-ease-out) !important;
}
.gw-block .featured-cta:hover,
.gw-block .qv-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 20px rgba(123,191,63,.26),0 0 0 1px rgba(123,191,63,.24) !important;
}
.gw-exp .proof-cta:hover{box-shadow:0 11px 18px rgba(123,191,63,.28),0 0 0 1px rgba(123,191,63,.24) !important}

/* link-all : pilule glass + glow vert réduit au survol */
.link-all,
.gw-block .link-all{
  border:1px solid var(--gw-hairline) !important;
  background:var(--gw-glass-strong) !important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:.36s var(--gw-ease-out) !important;
}
.link-all:hover,
.gw-block .link-all:hover{
  border-color:rgba(123,191,63,.45) !important;
  color:#3f6f1c !important;
  box-shadow:var(--gw-glow-green) !important;
  transform:translateY(-2px);
}

/* =====================================================================
   7) CARTES & BADGES — glass clair, radius moyen, GLOW vert RÉDUIT.
   Badges en biais −7° (cinétique).
   ===================================================================== */

/* badge partagé : biais −7° + dégradé magenta + glow RÉDUIT */

.badge > *{display:inline-block;transform:skewX(calc(-1 * var(--gw-skew)))}

/* ----- gw-cat ----- */
.gw-cat .miniprod:hover{
  border-color:rgba(123,191,63,.45) !important;
  box-shadow:var(--gw-glow-green) !important;
}
.gw-cat .fpill:hover{border-color:rgba(123,191,63,.45) !important;box-shadow:0 0 0 2px rgba(123,191,63,.14) !important}

/* ----- gw-block ----- */
.gw-block .ccard:hover{
  border-color:rgba(123,191,63,.32) !important;
  box-shadow:var(--gw-glow-green),var(--gw-shadow-lift) !important;
}
.gw-block .featured:hover{
  border-color:rgba(123,191,63,.34) !important;
  box-shadow:var(--gw-glow-green-lg),var(--gw-shadow-lift) !important;
}

.gw-block .qv-dialog{box-shadow:var(--gw-shadow-lift),0 0 0 1px rgba(123,191,63,.1) !important}

/* ----- gw-exp ----- */
.gw-exp .pillar:hover{
  border-color:rgba(123,191,63,.4) !important;
  box-shadow:var(--gw-glow-green) !important;
}

/* =====================================================================
   9) V4 (savoir-faire) — héros de marque CLAIR + glow RÉDUIT
   ===================================================================== */
.v4-tab:hover{box-shadow:var(--gw-shadow-soft) !important;border-color:rgba(123,191,63,.32) !important}
.v4-tab.active{
  background:linear-gradient(150deg,color-mix(in srgb,var(--brand) 22%,#fff),color-mix(in srgb,var(--brand) 8%,#fff)) !important;
  border-color:color-mix(in srgb,var(--brand) 45%,transparent) !important;
  box-shadow:0 10px 26px color-mix(in srgb,var(--brand) 22%,transparent) !important;
}
.v4-tab.active .v4-name{color:var(--gw-ink-700) !important}
.v4-tab.active .v4-count{color:#7c7390 !important}

.v4-premium span{color:#4f4760}
/* CTA de marque : vert, glow RÉDUIT — base fusionnée dans .bcta (haut du fichier) */
.bcta:hover{transform:translateY(-2px);box-shadow:0 12px 20px rgba(123,191,63,.26),0 0 0 1px rgba(123,191,63,.24) !important}
/* gammes / produits de marque : glass clair + glow réduit */
.gamme,.vprod{
  background:var(--gw-glass-strong) !important;
  border:1px solid var(--gw-hairline) !important;
  box-shadow:var(--gw-shadow-soft) !important;
}
.gamme:hover,.vprod:hover{box-shadow:var(--gw-glow-green),var(--gw-shadow-lift) !important;border-color:rgba(123,191,63,.32) !important}

/* =====================================================================
   10) 6 ÉTAPES — cartes glass + glow RÉDUIT
   ===================================================================== */
/* .step + .step-num : bases fusionnées en haut du fichier */
.step:hover{border-color:rgba(123,191,63,.32) !important;box-shadow:var(--gw-glow-green),var(--gw-shadow-lift) !important}

/* =====================================================================
   11) AVIS — cartes glass clair + glow doux RÉDUIT
   ===================================================================== */
/* .score-inline / .rev / .delivery-in : bases fusionnées en haut du fichier */
.rev:hover{border-color:rgba(123,191,63,.3) !important;box-shadow:var(--gw-glow-green),var(--gw-shadow-lift) !important}

/* =====================================================================
   12) PAR TYPE — tuiles claires + glow vert RÉDUIT au survol
   ===================================================================== */
/* .tt / .tt-l / .tt-img img : bases fusionnées en haut du fichier */
.tt:hover{box-shadow:var(--gw-glow-green),var(--gw-shadow-lift) !important;border-color:rgba(123,191,63,.4) !important}

/* =====================================================================
   13) HISTOIRE — carte fondateur claire + glow RÉDUIT
   ===================================================================== */
/* .founder : base fusionnée en haut du fichier */
.founder .eyebrow{color:var(--gw-magenta-500) !important}
.founder .since,.founder .since span{color:var(--gw-ink-700) !important}
.founder .sub{color:#5f5670 !important}
.founder .fstat .n{color:var(--gw-ink-700) !important}
.founder .fstat .l{color:#7c7390 !important}
.founder .sign-n{color:var(--gw-ink-700) !important}
.founder .sign-r{color:#7c7390 !important}
.readmore button:hover{border-color:rgba(123,191,63,.45) !important;color:#3f6f1c !important;box-shadow:var(--gw-glow-green) !important}

/* =====================================================================
   ANTI-DÉBORDEMENT — clip horizontal global. skew −7° reste contenu
   (transform-origin:left + clip). Séparateurs diagonaux débordants clippés.
   ===================================================================== */
html{overflow-x:clip}
body{overflow-x:clip}
.hero,.band,section,.bw,.wrap,.hero-in{overflow-x:clip}

/* respect du mouvement réduit */
@media(prefers-reduced-motion:reduce){
  .topbar-track,.hero-eyebrow::before{animation:none !important}
  .btn,.pcard,.rev,.step,.gw-block .ccard,.gw-block .featured,.gw-exp .pillar,.gamme,.vprod,.tt{transition:none !important}
}

/* ===== SOCLE PERF + ATTÉNUATION ===== */
*{backdrop-filter:none !important;-webkit-backdrop-filter:none !important}
body::before{filter:none !important}
body::after{opacity:.025 !important;mix-blend-mode:normal !important}
.head h2::after,.gw-cat .head h2::after,.gw-block .head h2::after,.gw-exp .lead2-main h2::after,.avis-head .head h2::after,.story h2::after{box-shadow:none !important;height:4px !important;width:64px !important}
.gw-cat .eyebrow::before,.gw-block .eyebrow::before,.gw-exp .eyebrow::before,.founder .eyebrow::before,.hero-stat::before{box-shadow:none !important}
.hero h1 .accent,.gw-exp .lead2-main h2 .accent{
 background:#3f7a1f !important;-webkit-background-clip:border-box !important;background-clip:border-box !important;
 color:#ffffff !important;-webkit-text-fill-color:#ffffff !important;
 display:inline-block;padding:.02em .26em;border-radius:8px;transform:skewX(-5deg);
 box-shadow:0 2px 8px rgba(74,143,37,.22) !important;}

/* ---- en-têtes clairs sur bande de marque ---- */
.band--brand .eyebrow{color:#e9a9cf}
.band--brand .head h2,
.band--brand .avis-head .head h2{color:#fff}
.band--brand .head p{color:#c9b8de}
/* connecteur pointillé des 6 étapes en clair */
.band--brand .steps::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 8px,transparent 8px 16px)}
/* souligné vert de titre légèrement renforcé */
.head h2::after,.gw-cat .head h2::after,.gw-block .head h2::after,.story h2::after{height:5px;width:74px}



/* ===== Slider hero en bannières image marketing (/media/hero-mkt) ===== */
.gw-hero .hbanner{position:relative;min-height:clamp(390px,40vw,470px);display:flex;align-items:center;overflow:hidden;border-radius:var(--gw-r-lg);
  padding:40px max(24px,calc((100% - var(--wrap))/2 + 24px));
  background-image:linear-gradient(90deg, rgba(11,0,26,.94) 0%, rgba(11,0,26,.76) 30%, rgba(11,0,26,.34) 56%, rgba(11,0,26,0) 80%), var(--img);
  background-size:cover;background-position:center right}
.gw-hero .hb-copy{max-width:560px;display:flex;flex-direction:column;color:#fff;position:relative;z-index:1}
.gw-hero .hb-badge{align-self:flex-start;display:inline-flex;align-items:center;font-family:var(--gw-font-disp);font-size:12px;letter-spacing:.05em;text-transform:uppercase;padding:7px 14px;border-radius:999px;color:#fff;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.gw-hero .hb-badge.promo{background:linear-gradient(100deg,#7E1E57,#a8316f)}
.gw-hero .hb-badge.neuf{background:linear-gradient(100deg,#5e9a2a,#7BBF3F);color:#10240a}
.gw-hero .hb-badge.best{background:linear-gradient(100deg,#3a0a63,#2B004F);border:1px solid rgba(255,255,255,.25)}
.gw-hero .hb-eyebrow{font-family:var(--gw-font-ui);font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#9bdc5c;margin:16px 0 8px}
/* themeeditor_s_1.css force h1..h6 en Poppins !important : sans contre-!important
   le hero est la seule grande surface du site privée du Russo canon. */
.gw-hero .hb-title{font-family:var(--gw-font-disp)!important;font-weight:400;font-size:clamp(34px,4.4vw,56px);line-height:1.02;text-transform:uppercase!important;font-style:italic;transform:skewX(-5deg);transform-origin:left;letter-spacing:0;color:#fff}
.gw-hero .hb-title .accent{background:#3f7a1f;color:#fff;display:inline-block;padding:.02em .26em;border-radius:10px;transform:skewX(-5deg);box-shadow:0 4px 14px rgba(74,143,37,.4)}
.gw-hero .hb-sub{font-size:16px;color:rgba(255,255,255,.86);margin-top:16px}
.gw-hero .hb-priceline{display:flex;align-items:baseline;gap:12px;margin-top:18px}
.gw-hero .hb-price{font-family:var(--gw-font-disp);font-size:clamp(30px,3vw,40px);color:#fff;line-height:1;font-style:italic;transform:skewX(-5deg);display:inline-block;font-variant-numeric:tabular-nums}
.gw-hero .hb-price sup{font-size:.45em;vertical-align:.55em;letter-spacing:0}
.gw-hero .hb-old{font-size:18px;color:rgba(255,255,255,.55);text-decoration:line-through}
.gw-hero .hb-save{background:#7E1E57;color:#fff;font-weight:700;font-size:13px;padding:5px 11px;border-radius:999px}
.gw-hero .hb-cta{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.gw-hero .hbanner .btn-ghost{border-color:rgba(255,255,255,.5)!important;color:#fff!important;background:transparent!important}
.gw-hero .hbanner .btn-ghost:hover{background:rgba(255,255,255,.12)!important}
@media(max-width:760px){
 .gw-hero .hbanner{min-height:440px;align-items:flex-end;background-image:linear-gradient(180deg, rgba(11,0,26,.5), rgba(11,0,26,.93)), var(--img)}
 .gw-hero .hb-copy{max-width:100%}}

/* mouvement réduit */
@media(prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
}/* cibles tactiles minimales (audit polish) */
.icon-act,.nav-link,.search-btn,.drawer-close{min-height:44px}
@media(max-width:640px){.gw-block .qv-btn{width:38px;height:38px}.gw-block .ccard-cart{width:40px;height:40px}}
/* ===== Shape dividers géométriques low-poly (portent le violet de la section) ===== */
.band.band--brand{position:relative;z-index:3;overflow:visible}
.band.band--brand>.bw{position:relative;z-index:2}
.band.band--brand::before{content:"";position:absolute;left:0;right:0;top:calc(-1 * var(--dvh) + 1px);height:var(--dvh);z-index:1;pointer-events:none;transform:none;opacity:1;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%2060%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20points%3D%270.0%2C60%20102.9%2C60%200.0%2C6%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27102.9%2C60%20102.9%2C27%200.0%2C6%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27102.9%2C60%20205.7%2C60%20102.9%2C27%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27205.7%2C60%20205.7%2C13%20102.9%2C27%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27205.7%2C60%20308.6%2C60%20205.7%2C13%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27308.6%2C60%20308.6%2C33%20205.7%2C13%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27308.6%2C60%20411.4%2C60%20308.6%2C33%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27411.4%2C60%20411.4%2C9%20308.6%2C33%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27411.4%2C60%20514.3%2C60%20411.4%2C9%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27514.3%2C60%20514.3%2C24%20411.4%2C9%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27514.3%2C60%20617.1%2C60%20514.3%2C24%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27617.1%2C60%20617.1%2C4%20514.3%2C24%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27617.1%2C60%20720.0%2C60%20617.1%2C4%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27720.0%2C60%20720.0%2C30%20617.1%2C4%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27720.0%2C60%20822.9%2C60%20720.0%2C30%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27822.9%2C60%20822.9%2C16%20720.0%2C30%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27822.9%2C60%20925.7%2C60%20822.9%2C16%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%27925.7%2C60%20925.7%2C28%20822.9%2C16%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%27925.7%2C60%201028.6%2C60%20925.7%2C28%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271028.6%2C60%201028.6%2C8%20925.7%2C28%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271028.6%2C60%201131.4%2C60%201028.6%2C8%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271131.4%2C60%201131.4%2C22%201028.6%2C8%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%271131.4%2C60%201234.3%2C60%201131.4%2C22%27%20fill%3D%27%234a1574%27/%3E%3Cpolygon%20points%3D%271234.3%2C60%201234.3%2C12%201131.4%2C22%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271234.3%2C60%201337.1%2C60%201234.3%2C12%27%20fill%3D%27%233a0a63%27/%3E%3Cpolygon%20points%3D%271337.1%2C60%201337.1%2C31%201234.3%2C12%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271337.1%2C60%201440.0%2C60%201337.1%2C31%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271440.0%2C60%201440.0%2C7%201337.1%2C31%27%20fill%3D%27%234a1574%27/%3E%3Cpolyline%20points%3D%270.0%2C6%20102.9%2C27%20205.7%2C13%20308.6%2C33%20411.4%2C9%20514.3%2C24%20617.1%2C4%20720.0%2C30%20822.9%2C16%20925.7%2C28%201028.6%2C8%201131.4%2C22%201234.3%2C12%201337.1%2C31%201440.0%2C7%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%276%27%20opacity%3D%27.18%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolyline%20points%3D%270.0%2C6%20102.9%2C27%20205.7%2C13%20308.6%2C33%20411.4%2C9%20514.3%2C24%20617.1%2C4%20720.0%2C30%20822.9%2C16%20925.7%2C28%201028.6%2C8%201131.4%2C22%201234.3%2C12%201337.1%2C31%201440.0%2C7%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%272.4%27%20opacity%3D%27.95%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat}
.band.band--brand::after{content:"";position:absolute;top:auto;left:0;right:0;bottom:calc(-1 * var(--dvh) + 1px);height:var(--dvh);z-index:1;pointer-events:none;transform:none;opacity:1;background:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20viewBox%3D%270%200%201440%2060%27%20preserveAspectRatio%3D%27none%27%3E%3Cpolygon%20points%3D%270.0%2C0%20102.9%2C0%200.0%2C54%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27102.9%2C0%20102.9%2C33%200.0%2C54%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27102.9%2C0%20205.7%2C0%20102.9%2C33%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27205.7%2C0%20205.7%2C47%20102.9%2C33%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27205.7%2C0%20308.6%2C0%20205.7%2C47%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27308.6%2C0%20308.6%2C27%20205.7%2C47%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27308.6%2C0%20411.4%2C0%20308.6%2C27%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27411.4%2C0%20411.4%2C51%20308.6%2C27%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27411.4%2C0%20514.3%2C0%20411.4%2C51%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27514.3%2C0%20514.3%2C36%20411.4%2C51%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27514.3%2C0%20617.1%2C0%20514.3%2C36%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27617.1%2C0%20617.1%2C56%20514.3%2C36%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27617.1%2C0%20720.0%2C0%20617.1%2C56%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27720.0%2C0%20720.0%2C30%20617.1%2C56%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27720.0%2C0%20822.9%2C0%20720.0%2C30%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%27822.9%2C0%20822.9%2C44%20720.0%2C30%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27822.9%2C0%20925.7%2C0%20822.9%2C44%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%27925.7%2C0%20925.7%2C32%20822.9%2C44%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%27925.7%2C0%201028.6%2C0%20925.7%2C32%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271028.6%2C0%201028.6%2C52%20925.7%2C32%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271028.6%2C0%201131.4%2C0%201028.6%2C52%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271131.4%2C0%201131.4%2C38%201028.6%2C52%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%271131.4%2C0%201234.3%2C0%201131.4%2C38%27%20fill%3D%27%23230642%27/%3E%3Cpolygon%20points%3D%271234.3%2C0%201234.3%2C48%201131.4%2C38%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271234.3%2C0%201337.1%2C0%201234.3%2C48%27%20fill%3D%27%231a0033%27/%3E%3Cpolygon%20points%3D%271337.1%2C0%201337.1%2C29%201234.3%2C48%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271337.1%2C0%201440.0%2C0%201337.1%2C29%27%20fill%3D%27%232b004f%27/%3E%3Cpolygon%20points%3D%271440.0%2C0%201440.0%2C53%201337.1%2C29%27%20fill%3D%27%23230642%27/%3E%3Cpolyline%20points%3D%270.0%2C54%20102.9%2C33%20205.7%2C47%20308.6%2C27%20411.4%2C51%20514.3%2C36%20617.1%2C56%20720.0%2C30%20822.9%2C44%20925.7%2C32%201028.6%2C52%201131.4%2C38%201234.3%2C48%201337.1%2C29%201440.0%2C53%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%276%27%20opacity%3D%27.18%27%20stroke-linejoin%3D%27round%27/%3E%3Cpolyline%20points%3D%270.0%2C54%20102.9%2C33%20205.7%2C47%20308.6%2C27%20411.4%2C51%20514.3%2C36%20617.1%2C56%20720.0%2C30%20822.9%2C44%20925.7%2C32%201028.6%2C52%201131.4%2C38%201234.3%2C48%201337.1%2C29%201440.0%2C53%27%20fill%3D%27none%27%20stroke%3D%27%237BBF3F%27%20stroke-width%3D%272.4%27%20opacity%3D%27.95%27%20stroke-linejoin%3D%27round%27/%3E%3C/svg%3E");background-size:100% 100%;background-repeat:no-repeat}
/* section Catégories : désormais en fond VIOLET (band--brand) → dividers débordants standards.
   On neutralise l'aurore du wrapper + on laisse passer le débordement + petit espace en haut
   pour ne pas recouvrir la bande réassurance du hero. */
.gw-cat{background:none;overflow:visible}
#categories{margin-top:var(--dvh)}
/* contenu sur cartes blanches → texte sombre (le fond violet ne doit éclaircir que l'en-tête) */
#categories .cat2{color:var(--body)}

/* S2 : panneau fond blanc (fidélité maquette) */
.gw-cat .cpanel{background:#fff!important}
/* ═══ COUTURE DES SÉPARATEURS — 23/08/2026 ═══
   Les deux règles ci-dessus posent les dents de scie à
   `top:calc(-1 * var(--dvh) + 1px)` et `bottom:calc(-1 * var(--dvh) + 1px)`.
   Ce « + 1px » colle bien le séparateur contre la bande violette, mais il
   laisse UNE RANGÉE de fond de page de l'autre côté : entre le bloc précédent
   et le haut du séparateur, entre le bas du séparateur et le bloc suivant.

   Tant que le pseudo reste TRANSPARENT, cette rangée ne PEUT pas se voir : ce
   qui la borde au-dessus (le ciel ou le sol du séparateur, transparent) et en
   dessous (le bloc voisin) sont le même fond de page. Ce n'est pas une
   observation, c'est une propriété. Le défaut n'apparaît qu'au moment où l'on
   PEINT le pseudo — ce qu'on fait maintenant sur le ciel du séparateur haut de
   la bande catalogue, et là le trait blanc se lit franchement.

   Les deux bords sont donc câblés sur deux variables, transparentes par
   défaut. Poser une couleur sur une jonction suffit désormais à la fermer :
   background-color habille le pseudo, et l'ombre portée de 3 px prolonge la
   même couleur au-delà de la couture. Le SVG n'est pas touché — ni sa taille,
   ni sa position, ni son échantillonnage. Une correction par la géométrie de
   la boîte, essayée d'abord, réechantillonnait toute la diagonale : 35 000
   pixels de différence sur la page pour un résultat identique à l'œil.

   Par défaut, background-color transparent = état actuel et ombre transparente
   = rien de peint : les quatre autres bandes de l'accueil et le séparateur bas
   de la bande catalogue rendent exactement comme avant, au pixel près. */
.band.band--brand{--sep-ciel:transparent;--sep-sol:transparent}
.band.band--brand::before{background-color:var(--sep-ciel);box-shadow:0 -3px 0 0 var(--sep-ciel)}
.band.band--brand::after{background-color:var(--sep-sol);box-shadow:0 3px 0 0 var(--sep-sol)}

/* ═══ CIEL DU SÉPARATEUR — 23/08/2026 ═══
   Le séparateur en dents de scie est un SVG dont seules les montagnes sont
   remplies : le ciel, au-dessus de la ligne verte, est transparent et laissait
   donc voir le blanc de la page. Entre le bas de la bande réassurance et le
   violet du catalogue, ça faisait une lame blanche de 43 px en biais.
   On donne à la bande du séparateur le gris de BAS de la bande réassurance
   (--gw-n150, la couleur d'arrivée de son dégradé) : la bande se prolonge
   jusqu'aux montagnes, et la rupture ne se joue plus qu'une fois.
   Portée volontairement étroite : uniquement le CIEL du séparateur haut de la
   bande violette du catalogue, sur l'accueil. Les autres .band--brand de la
   page gardent leur ciel transparent.
   Le SOL de cette même bande — sa jonction basse avec .gw-block — reste lui
   aussi transparent, et c'est délibéré : le fond y est déjà continu de part et
   d'autre, et le peindre en blanc écraserait le voile vert très clair que
   .gw-block projette vers le haut (relevé #F4FAEF contre #FFFFFF au bord
   gauche). Rien à fermer là où rien n'est peint.
   La couture de 1 px relevée en haut avant correctif — bande jusqu'à y=909,31,
   séparateur à partir de y=910,30 à 1440 px, une rangée #FFFFFF entre les deux
   — est fermée par le mécanisme ci-dessus. */
#index .gw-cat > .band.band--brand{--sep-ciel:var(--gw-n150)}

/* Même défaut, autre jonction — trouvé en balayant les dix coutures de la page
   pendant la correction ci-dessus, pas signalé jusque-là. Le bloc blog qui
   précède la bande newsletter est un `.band--alt`, donc un dégradé gris qui
   finit sur #f2edf8 ; le ciel du séparateur, transparent, remettait du blanc
   par-dessus. On voyait gris, puis une lame blanche de 43 px, puis le violet.
   Le ciel reprend la couleur d'arrivée du bloc du dessus, comme en haut de
   page. #f2edf8 est écrit en clair parce que `.band--alt` l'écrit en clair
   aussi (il n'existe pas de token pour cette valeur). */
#index #gw-nl{--sep-ciel:#f2edf8}

/* bloc SEO sous la bande catégories : dégager le zigzag */
.gw-cat .seo-block--categories{padding-top:56px}

/* PlayShorts — carrousel vidéo shoppable (intégré 18/07/2026, avant Avis clients) */
#gw-playshorts .gw-playshorts-embed{margin-top:24px;min-height:220px}
/* section repliee par home-e4.js quand le widget tiers n'a rien rendu (403 API, coupure) */
#gw-playshorts.gw-ps-empty{display:none!important}

/* --- Audit 2026-07 : voir e4-categorie.css, meme cause (themeeditor_s_1.css).
   Sur l'accueil (body#index) le selecteur themeeditor culmine a 4 ID
   (`#index #columns .content-inner #center_column > div > div:not(...) a`) :
   on passe par l'ancetre #gw-home pour atteindre 4 ID sans !important. --- */
#index #columns .content-inner #center_column #gw-home .gw-block .ccard-name a,
#columns .content-inner #center_column .gw-block .ccard-name a,
.gw-block .ccard-name a {
  color: #2B004F;
}

/* --- Audit 2026-07 : l'onglet actif est en color:#fff, mais son fond sombre
   est porte par #segCursor, un element frere positionne uniquement en
   JavaScript. Avant execution du script — ou s'il echoue — le texte est
   blanc sur blanc (contraste 1:1, invisible). On pose un fond de repli sur
   le bouton lui-meme ; la pastille JS reste par-dessus, en decoration. --- */
.gw-block .seg-btn[aria-selected="true"] {
  background-color: #2B004F;
  border-radius: 999px;
}

/* ═══ Section sélection — rail compact (maquette V1 agence, 2026-07) ═══
   L'en-tete reprend le bloc .head canonique de la home (eyebrow, titre 48px
   Russo capitales centre, trait vert de 64px) : le rail ne justifie pas un
   patron d'en-tete a lui seul. Seul le rail est specifique. */
.prail-wrap{position:relative;margin:0 -2px}
.prail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 10px;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,#000 94%,transparent);mask-image:linear-gradient(90deg,#000 94%,transparent)}
.prail-wrap.no-overflow .prail{justify-content:center;-webkit-mask-image:none;mask-image:none}
.prail::-webkit-scrollbar{display:none;width:0;height:0}
/* Signature (08/2026) : liseré clé + prix italique −5°, en cohérence avec la grille */
.prc{position:relative;scroll-snap-align:start;flex:none;width:196px;background:var(--gw-n0);border:1px solid var(--gw-hairline);border-radius:var(--gw-r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--gw-shadow-soft);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s,border-color .25s}
.prc::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;z-index:4;background:var(--gw-grad-key);opacity:.55;transition:opacity .25s}
.prc:hover::before{opacity:1}
.prc:hover{transform:translateY(-4px);box-shadow:var(--gw-shadow-lift);border-color:rgba(123,191,63,.45)}
/* Badge editorial (« N°1 des ventes », « Nouveaute ») a l'encre et non a l'or :
   le brandbook reserve l'or a la transaction, un seul CTA par vue. */
.prc-chip{position:absolute;top:10px;left:10px;z-index:3;background:var(--gw-grad-ink);color:var(--gw-n0);font-family:var(--gw-font-ui);font-size:9px;font-weight:800;border-radius:var(--gw-r-pill);padding:3px 9px;box-shadow:0 2px 6px rgba(43,0,79,.18);white-space:nowrap}
.prc-chip.promo{left:auto;right:10px;background:var(--gw-magenta-500);color:var(--gw-n0)}
.prc-im{position:relative;display:block;height:128px;background:radial-gradient(58% 62% at 50% 44%,var(--gw-n100) 0%,var(--gw-n50) 68%);border-bottom:1px solid var(--gw-n100);overflow:hidden;text-decoration:none}
.prc-im::before{content:"";position:absolute;width:88px;height:88px;border-radius:50%;background:radial-gradient(circle,rgba(123,191,63,.20),transparent 68%);top:50%;left:50%;transform:translate(-50%,-52%);transition:.3s}
.prc:hover .prc-im::before{background:radial-gradient(circle,rgba(123,191,63,.34),transparent 68%)}
.prc-im img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .35s cubic-bezier(.22,1,.36,1),opacity .4s}
.prc-im .img-hover{opacity:0}
.prc-im.has-hover:hover .img-base{opacity:0}
.prc-im.has-hover:hover .img-hover{opacity:1}
.prc:hover .prc-im img{transform:scale(1.08) translateY(-2px)}
.prc-bd{padding:10px 12px 12px;display:flex;flex-direction:column;gap:4px;flex:1}
.prc-br{font-size:9px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--gw-magenta-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* themeeditor_s_1.css force #777 sur tout lien de la home via un selecteur a 4 ID :
   sans !important les noms de produits du rail sortent en gris moyen, seuls titres
   de cartes de la page a ne pas etre a l'encre (audit d'harmonie 01/08). */
.prc-nm{font-family:var(--gw-font-ui);font-size:11.5px;font-weight:600;color:var(--gw-ink-700)!important;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:29px;text-decoration:none;transition:color .15s}
.prc-nm:hover{color:var(--gw-green-700)!important;text-decoration:underline}
.prc-stock{margin-top:1px;display:inline-flex;align-items:center;gap:5px;font-family:var(--gw-font-ui);font-size:8.5px;font-weight:700;color:var(--gw-green-700);background:var(--gw-success-bg);border-radius:var(--gw-r-pill);padding:2px 8px;width:max-content;white-space:nowrap}
.prc-stock i{width:5px;height:5px;border-radius:50%;background:var(--gw-green-500);font-style:normal;box-shadow:0 0 0 2px rgba(123,191,63,.25)}
.prc-stock.soon{color:var(--gw-n600);background:var(--gw-n150)}
.prc-stock.soon i{background:var(--gw-n400);box-shadow:none}
.prc-ft{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:6px;padding-top:6px}
.prc-pr{font-family:var(--gw-font-disp);font-weight:400;font-size:15px;color:var(--gw-ink-700);line-height:1.05;letter-spacing:-.01em;font-style:italic;transform:skewX(-5deg);display:inline-block}
.prc-pr s{display:block;font-family:var(--gw-font-ui);font-size:9.5px;color:var(--gw-n400);font-weight:500;margin-bottom:1px}
.prc-pr .from{display:block;font-family:var(--gw-font-ui);font-style:normal;font-size:9px;color:var(--gw-n600);font-weight:500;margin-bottom:1px}
.prc-pr .pm{color:var(--gw-magenta-500)}
.prc-cart{width:32px;height:32px;flex:none;border-radius:50%;border:0;background:linear-gradient(100deg,var(--gw-green-400),var(--gw-green-700));color:var(--gw-n0);display:grid;place-items:center;cursor:pointer;box-shadow:0 2px 6px rgba(94,154,42,.35);transition:.15s;text-decoration:none}
.prc.av-later .prc-cart{background:var(--gw-n150);color:var(--gw-ink-700);box-shadow:none}
.prc.av-later .prc-cart:hover{background:var(--gw-n200);box-shadow:none}
.prc-cart:hover{transform:scale(1.1);box-shadow:0 0 0 4px rgba(123,191,63,.22),0 3px 8px rgba(94,154,42,.4)}
.prc-cart svg{width:15px;height:15px}
.prc-cart.added{background:var(--gw-ink-700);transform:scale(1.12)}
.prail-nav{position:absolute;top:80px;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid var(--gw-hairline);background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--gw-ink-700);display:grid;place-items:center;cursor:pointer;box-shadow:0 6px 16px rgba(43,0,79,.16);z-index:3;transition:.2s;padding:0}
.prail-nav:hover{background:var(--gw-ink-700);color:var(--gw-n0);border-color:var(--gw-ink-700);transform:translateY(-50%) scale(1.06)}
.prail-nav[disabled]{opacity:0;pointer-events:none}
.prail-nav.prev{left:-8px}
.prail-nav.next{right:-8px}
.prail-nav svg{width:16px;height:16px}
@media (hover:none),(max-width:700px){.prail-nav{display:none}}
.prail-prog{height:3px;border-radius:3px;background:var(--gw-n200);margin:10px auto 0;max-width:200px;overflow:hidden}
.prail-prog i{display:block;height:100%;width:100%;border-radius:3px;background:linear-gradient(90deg,var(--gw-green-500) 0%,var(--gw-green-700) 45%,var(--gw-magenta-500) 100%);transition:width .15s,transform .15s}
.prail-wrap.no-overflow .prail-nav,.prail-wrap.no-overflow .prail-prog{display:none}

/* ═══ Avis clients — barre preuve compacte (maquette V2, 2026-07) ═══
   L'en-tete (eyebrow + titre + trait) est le bloc .head canonique : la bande
   garde donc la meme respiration de 72px et la meme entree en matiere que ses
   voisines. Seule la barre de preuve elle-meme est specifique. */
#gw-avis .avisbar{display:flex;align-items:stretch;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--gw-r-lg);padding:12px 0;overflow:hidden}
#gw-avis .avisbar-hero{flex:none;display:flex;flex-direction:column;justify-content:center;gap:3px;padding:0 18px;border-right:1px solid rgba(255,255,255,.12);min-width:190px}
#gw-avis .avisbar-hero .n{font-family:var(--gw-font-disp);font-size:30px;color:var(--gw-n0);line-height:1}
#gw-avis .avisbar-hero .n small{font-size:13px;color:var(--gw-on-ink-70)}
#gw-avis .avisbar-hero .stars{margin:0;font-size:14px}
#gw-avis .avisbar-hero .nb{font-family:var(--gw-font-ui);font-size:10px;color:var(--gw-on-ink-70)}
#gw-avis .avisbar-hero .nb b{color:var(--gw-n0)}
#gw-avis .avisbar-hero .ka{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--gw-green-500);white-space:nowrap}
#gw-avis .avisbar-hero .ka svg{width:12px;height:12px}
#gw-avis .avisbar-hero .dlv{margin-top:6px;font-family:var(--gw-font-ui);font-size:9px;font-weight:600;color:var(--gw-on-ink-70);white-space:nowrap}
#gw-avis .avisbar-hero .dlv b{color:var(--gw-n0)}
#gw-avis .avisbar-rail{display:flex;gap:10px;overflow-x:auto;flex:1;min-width:0;padding:0 14px;scrollbar-width:none;-ms-overflow-style:none;-webkit-mask-image:linear-gradient(90deg,#000 93%,transparent);mask-image:linear-gradient(90deg,#000 93%,transparent)}
#gw-avis .avisbar-rail::-webkit-scrollbar{display:none;width:0;height:0}
#gw-avis .arv{flex:none;width:250px;background:var(--gw-n0);border-radius:var(--gw-r-lg);padding:10px 12px;display:flex;flex-direction:column;gap:5px}
#gw-avis .arv .stars{margin:0;font-size:12px;letter-spacing:1px}
/* padding vertical du blockquote a 0 : overflow:hidden coupe a la boite de PADDING,
   donc le padding herite du theme (9px) laissait deborder une 3e ligne rognee
   sous les 2 lignes du clamp. */
#gw-avis .arv blockquote{margin:0;font-family:var(--gw-font-ui);font-size:11px;color:var(--gw-n700);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;border-left:3px solid var(--gw-n200);padding:0 0 0 10px}
#gw-avis .arv figcaption{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid var(--gw-n150);padding-top:6px}
#gw-avis .arv-ctx{font-family:var(--gw-font-ui);font-size:11px;font-weight:700;color:var(--gw-ink-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#gw-avis .arv-badge{display:inline-flex;align-items:center;gap:4px;font-family:var(--gw-font-ui);font-size:9.5px;font-weight:700;color:var(--gw-green-700);white-space:nowrap}
#gw-avis .arv-badge svg{width:12px;height:12px}
@media (max-width:760px){
  #gw-avis .avisbar{flex-direction:column;gap:10px;padding:12px}
  #gw-avis .avisbar-hero{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:0 4px 10px}
}

/* Hero — chip countdown fin d'offre (visible seulement sur promo réelle datée) */
.gw-hero .hb-count{
  display:inline-flex;align-items:center;gap:6px;margin-left:10px;
  background:rgba(126,30,87,.22);border:1px solid rgba(126,30,87,.55);
  border-radius:99px;padding:4px 12px;color:#f7c7e4;font-size:12px;font-weight:600;
  font-family:'Poppins',sans-serif;vertical-align:middle;
}
.gw-hero .hb-count svg{width:13px;height:13px;color:#f7c7e4}
.gw-hero .hb-count b{font-weight:700;color:#fff}


/* ============================================================================
   UX-DSK-018 (audit du 04/09) — texte porteur d'information sous 12 px.
   « En stock · 24/48h » était rendu à 8,5 px et 3,11:1 : c'est un critère
   d'achat, pas une mention légale. Plancher de 12 px au-dessus de 1024 px ;
   la taille compacte reste sur les petites largeurs, où la carte est étroite.
   ========================================================================== */
@media(min-width:1025px){
  /* 12 px au lieu de 8,5, et une encre verte au lieu de --gw-green-700 :
     à 3,11:1 la mention n'était pas lisible non plus. */
  .prc-stock{font-size:12px;color:#2c5a12}
}


/* ============================================================================
   UX-DSK-012 (audit du 04/09) — rails coupés sans aucun repère.
   .avisbar-rail : 1 001 px visibles pour 1 578 de contenu, trois avis sur six
   hors champ, aucune flèche et la barre de défilement neutralisée par
   scrollbar-width:none. Le voile de bord signale qu'il y a une suite, mais rien
   ne dit qu'on peut y aller, et rien ne le permet à la souris sans molette
   horizontale.
   On rétablit une barre fine — la voie la plus simple et la seule qui serve
   aussi bien la souris que le clavier — et on rend le rail focalisable, ce qui
   autorise le défilement aux flèches du clavier.
   ========================================================================== */
#gw-avis .avisbar-rail{
  scrollbar-width:thin;
  scrollbar-color:rgba(43,0,79,.35) transparent;
  -ms-overflow-style:auto;
  padding-bottom:6px;
}
#gw-avis .avisbar-rail::-webkit-scrollbar{height:8px}
#gw-avis .avisbar-rail::-webkit-scrollbar-track{background:transparent}
#gw-avis .avisbar-rail::-webkit-scrollbar-thumb{
  background:rgba(43,0,79,.32);border-radius:99px;
}
#gw-avis .avisbar-rail:hover::-webkit-scrollbar-thumb{background:rgba(43,0,79,.5)}
#gw-avis .avisbar-rail:focus-visible{outline:3px solid rgba(123,191,63,.85);outline-offset:3px}

/* SEO-005 — rubriques du blog en pied de bloc (bande sombre .gw-blog--invert). */
#index .gw-blog .blog-cats{
  display:flex;flex-wrap:wrap;justify-content:center;gap:8px;
  margin:22px auto 0;max-width:900px;
}
#index .gw-blog .blog-cat{
  display:inline-flex;align-items:center;padding:6px 12px;border-radius:999px;
  font-family:var(--gw-font-ui);font-size:12.5px;font-weight:600;line-height:1.2;
  /* !important : le themeeditor pose #666 sur les liens de contenu, illisible
     sur la bande violette (mesuré rgb(102,102,102) avant correction). */
  color:#efe8f7!important;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);
  text-decoration:none;
}
#index .gw-blog .blog-cat:hover,#index .gw-blog .blog-cat:focus-visible{
  background:rgba(255,255,255,.16);color:#fff!important;border-color:rgba(255,255,255,.32);
}
@media(max-width:640px){#index .gw-blog .blog-cats{gap:6px;margin-top:16px}
  #index .gw-blog .blog-cat{font-size:11.5px;padding:5px 10px}}

/* === home-e4-s2.css === */
/* home-e4-s2.css — réordonné : règles puis @media (max-width décroissant), dédupliqué */
.cpanel{display:none;background:#fff;border:1px solid #ece5f2;border-radius:16px;padding:28px}
.cpanel.active{display:block;animation:fade .35s cubic-bezier(.4,0,.2,1)}
.cpanel-row{display:grid;grid-template-columns:1fr 250px;gap:28px}
.cpanel-cols{display:flex;flex-wrap:wrap;gap:22px 26px}
.cpanel-col{flex:1;min-width:130px}
.cpanel-col.col-brands{flex:2;min-width:230px}
.cpanel-col h4{font-family:'Poppins',sans-serif;font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:#7E1E57;margin-bottom:12px;font-weight:700}
.pillrow{display:flex;flex-wrap:wrap;gap:7px}
.fpill{display:inline-flex;align-items:center;padding:6px 13px;background:#f5f2f9;border:1px solid #ece5f2;border-radius:999px;font-size:12.5px;color:#2B004F;font-weight:500;transition:.16s cubic-bezier(.4,0,.2,1)}
.fpill:hover{border-color:#7BBF3F;color:#3f6f1c;background:#fff;transform:translateY(-1px)}
.brandgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bmini{height:44px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ece5f2;border-radius:9px;padding:7px;transition:.18s cubic-bezier(.4,0,.2,1)}
.bmini img{max-height:25px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.72;transition:.18s}
.bmini:hover{box-shadow:0 1px 3px rgba(43,0,79,.05);transform:translateY(-2px)}
.bmini:hover img{filter:none;opacity:1}
.bmini .bfb{display:none}
.bmini.noimg{padding:0 10px}
.bmini.noimg img{display:none}
.bmini.noimg .bfb{display:block;font-size:11px;font-weight:600;color:#2B004F;text-align:center;line-height:1.1}
.cpanel-vignette{background:linear-gradient(160deg,#2B004F,#1a0033);border-radius:12px;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;transition:.24s cubic-bezier(.4,0,.2,1)}
.cpanel-vignette:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(43,0,79,.08)}
.cpanel-tops{margin-top:24px;border-top:1px solid #ece5f2;padding-top:20px}
.tops-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.tops-head h4{font-family:'Poppins',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.09em;color:#7E1E57;font-weight:700}
.tops-all{display:inline-flex;align-items:center;gap:6px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13px;color:#3f6f1c}
.tops-all svg{width:14px;height:14px}
.tops-rail{display:flex;gap:13px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
.miniprod{flex:0 0 132px;background:#fff;border:1px solid #ece5f2;border-radius:12px;overflow:hidden;transition:.2s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.miniprod:hover{box-shadow:0 1px 3px rgba(43,0,79,.05);transform:translateY(-3px)}
.mp-img{height:96px;display:flex;align-items:center;justify-content:center;background:#fff;padding:10px}
.mp-img img{max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.mp-n{display:block;padding:9px 11px 12px;font-size:12px;color:#2B004F;font-weight:500;line-height:1.3;border-top:1px solid #f1ecf6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(244px,1fr);gap:22px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 16px;scrollbar-width:thin}
.rail .pcard{scroll-snap-align:start}
.gw-cat .band{width:100%}
.gw-cat .bw{max-width:1280px;margin:0 auto;padding:clamp(40px,5vw,72px) 24px}
.gw-cat .head{text-align:center;max-width:680px;margin:0 auto 20px}
.gw-cat .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#7E1E57;margin-bottom:10px}
.gw-cat .eyebrow::before{content:"";width:22px;height:2px;background:#7E1E57;border-radius:2px;opacity:.7}
.gw-cat .head h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(25px,3vw,36px)}
.gw-cat .head p{margin-top:9px;color:#6b6280;font-size:15.5px}
.gw-cat .cat2{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:start}
.gw-cat .cat2-rail{display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid #ece5f2;border-radius:16px;padding:7px}
.gw-cat .rail-item{position:relative;display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 10px;background:#fff;border:1.5px solid transparent;border-radius:10px;cursor:pointer;transition:.18s cubic-bezier(.4,0,.2,1);font-family:'Poppins',sans-serif;overflow:hidden}
.gw-cat .rail-item:hover{background:#f5f2f9}
.gw-cat .rail-item:focus-visible{outline:none;border-color:#7BBF3F;box-shadow:0 0 0 3px rgba(123,191,63,.18)}
.gw-cat .rail-ic{width:30px;height:30px;flex-shrink:0;border-radius:8px;background:#f5f2f9;display:flex;align-items:center;justify-content:center;color:#3a0a63;transition:.18s cubic-bezier(.4,0,.2,1)}
.gw-cat .rail-ic svg{width:17px;height:17px}
.gw-cat .rail-l{font-weight:600;font-size:13px;color:#2B004F;line-height:1.18}
.gw-cat .rail-edge{position:absolute;left:0;top:50%;transform:translateY(-50%) scaleY(0);width:3px;height:64%;border-radius:0 3px 3px 0;background:linear-gradient(180deg,#7BBF3F,#5e9a2a);box-shadow:0 0 8px rgba(123,191,63,.55);transition:.2s cubic-bezier(.4,0,.2,1)}
.gw-cat .rail-item.active{background:linear-gradient(160deg,#2B004F,#1a0033);border-color:transparent;box-shadow:0 1px 3px rgba(43,0,79,.05)}
.gw-cat .rail-item.active .rail-l{color:#fff}
.gw-cat .rail-item.active .rail-ic{background:rgba(123,191,63,.2);color:#7BBF3F}
.gw-cat .rail-item.active .rail-edge{transform:translateY(-50%) scaleY(1)}
.gw-cat .cat2-stage{min-width:0}
.gw-cat .cpanel{display:none;background:#fff;border:1px solid #ece5f2;border-radius:16px;padding:16px 18px}
.gw-cat .cpanel.active{display:block;animation:gwc-fade .3s cubic-bezier(.4,0,.2,1)}
.gw-cat .cphero{position:relative;display:flex;align-items:center;gap:16px;overflow:hidden;
  background:
    radial-gradient(420px 180px at 88% -20%,rgba(126,30,87,.55),transparent 70%),
    radial-gradient(360px 200px at 4% 130%,rgba(123,191,63,.20),transparent 72%),
    linear-gradient(120deg,#2B004F,#1a0033);
  border-radius:12px;padding:18px 22px;min-height:88px;
  box-shadow:0 1px 3px rgba(43,0,79,.05);transition:.24s cubic-bezier(.4,0,.2,1)}
.gw-cat .cphero:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(43,0,79,.08)}
.gw-cat .cphero-ic{flex:0 0 auto;width:52px;height:52px;border-radius:14px;
  background:rgba(123,191,63,.16);border:1px solid rgba(123,191,63,.32);
  display:flex;align-items:center;justify-content:center;color:#7BBF3F;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}
.gw-cat .cphero-ic svg{width:27px;height:27px}
.gw-cat .cphero-body{display:flex;flex-direction:column;gap:5px;min-width:0;position:relative;z-index:1}
.gw-cat .cphero-t{font-family:'Russo One',sans-serif;font-size:clamp(19px,2.4vw,25px);color:#fff;line-height:1.05;letter-spacing:.01em}
.gw-cat .cphero-cta{display:inline-flex;align-items:center;gap:7px;font-family:'Poppins',sans-serif;font-weight:600;
  font-size:13px;color:#7BBF3F;line-height:1.3}
.gw-cat .cphero-cta svg{width:15px;height:15px;flex-shrink:0;transition:transform .22s cubic-bezier(.4,0,.2,1)}
.gw-cat .cphero:hover .cphero-cta svg{transform:translateX(4px)}
.gw-cat .cphero::before{content:"";position:absolute;left:0;top:14%;height:72%;width:4px;
  border-radius:0 4px 4px 0;background:linear-gradient(180deg,#7BBF3F,#5e9a2a);
  box-shadow:0 0 12px rgba(123,191,63,.6)}
.gw-cat .cphero-glow{position:absolute;right:-40px;top:50%;transform:translateY(-50%);
  width:160px;height:160px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,.07),transparent 65%);pointer-events:none}
.gw-cat .cpanel-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;align-content:start;margin-top:14px}
.gw-cat .cpanel-col{min-width:0}
.gw-cat .cpanel-col.col-brands{grid-column:1 / -1}
.gw-cat .cpanel-col h4{font-family:'Poppins',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7E1E57;margin-bottom:7px;font-weight:700}
.gw-cat .pillrow{display:flex;flex-wrap:wrap;gap:5px}
.gw-cat .fpill{display:inline-flex;align-items:center;padding:5px 11px;background:#f5f2f9;border:1px solid #ece5f2;border-radius:999px;font-size:12px;color:#2B004F !important;font-weight:500;transition:.16s cubic-bezier(.4,0,.2,1);line-height:1.2}
.gw-cat .fpill:hover{border-color:#7BBF3F;color:#3f6f1c !important;background:#fff;transform:translateY(-1px)}
.gw-cat .brandgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(94px,1fr));gap:6px}
.gw-cat .bmini{height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #ece5f2;border-radius:9px;padding:5px;transition:.18s cubic-bezier(.4,0,.2,1)}
.gw-cat .bmini img{max-height:23px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.72;transition:.18s}
.gw-cat .bmini:hover{box-shadow:0 1px 3px rgba(43,0,79,.05);transform:translateY(-2px)}
.gw-cat .bmini:hover img{filter:none;opacity:1}
.gw-cat .bmini .bfb{display:none}
.gw-cat .bmini.noimg{padding:0 8px}
.gw-cat .bmini.noimg img{display:none}
.gw-cat .bmini.noimg .bfb{display:block;font-size:10.5px;font-weight:600;color:#2B004F;text-align:center;line-height:1.1}
.gw-cat .brandgrid .fpill{justify-content:center;text-align:center}
.gw-cat .allbrands{display:inline-flex;align-items:center;gap:6px;margin-top:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12.5px;color:#3f6f1c !important}
.gw-cat .allbrands svg{width:14px;height:14px}
.gw-cat .cpanel-tops{margin-top:16px;border-top:1px solid #ece5f2;padding-top:13px}
.gw-cat .tops-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin-bottom:10px}
.gw-cat .tops-head h4{font-family:'Poppins',sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#7E1E57;font-weight:700}
.gw-cat .tops-all{display:inline-flex;align-items:center;gap:6px;font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;color:#3f6f1c}
.gw-cat .tops-all svg{width:13px;height:13px}
.gw-cat .tops-rail{display:flex;gap:10px;overflow-x:auto;padding-bottom:5px;scrollbar-width:thin}
.gw-cat .tops-rail:empty{display:none}
/* V1 « atelier blanc » (15/07) : valeurs alignées sur home-e4.css — panneau/rail opaques, vignettes 140-172px sur socle n50 */
.gw-cat .miniprod{flex:1 1 140px;min-width:128px;max-width:172px;background:#fff;border:1px solid var(--gw-n200);border-radius:12px;overflow:hidden;transition:.18s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}
.gw-cat .miniprod:hover{box-shadow:0 1px 3px rgba(43,0,79,.05);transform:translateY(-2px);border-color:rgba(123,191,63,.5)}
.gw-cat .mp-img{height:92px;display:flex;align-items:center;justify-content:center;background:var(--gw-n50);border-radius:9px;margin:8px 8px 0;padding:8px}
.gw-cat .mp-img img{max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply}
.gw-cat .mp-n{display:block;margin:8px 10px 10px;padding:0;border-top:0;font-size:11.5px;color:#2B004F;font-weight:500;line-height:16px;max-height:32px;overflow:hidden}
.gw-cat .mp-img img{transition:transform .35s cubic-bezier(.4,0,.2,1)}
.gw-cat .miniprod:hover .mp-img img{transform:scale(1.06)}
.gw-cat .cpanel{
  background:#fff !important;
  border:1px solid var(--gw-hairline) !important;
  box-shadow:var(--gw-shadow-soft) !important;
}
.gw-cat .cat2-rail{
  background:#fff !important;
  border:1px solid var(--gw-hairline) !important;
  box-shadow:var(--gw-shadow-soft) !important;
}
.gw-cat .rail-item.active{
  background:var(--gw-grad-ink) !important;
  box-shadow:0 10px 24px rgba(43,0,79,.26),0 0 0 1px rgba(123,191,63,.14) !important;
}
.gw-cat .miniprod{
  background:#fff !important;
  border:1px solid var(--gw-n200) !important;
  transition:.22s var(--gw-ease-out) !important;
}
.gw-cat .miniprod:hover{
  border-color:rgba(123,191,63,.45) !important;
  box-shadow:var(--gw-glow-green) !important;
}
.gw-cat .fpill{transition:.18s var(--gw-ease-out) !important}
.gw-cat .fpill:hover{border-color:rgba(123,191,63,.45) !important;box-shadow:0 0 0 2px rgba(123,191,63,.14) !important}
.band--brand .head h2,
.band--brand .avis-head .head h2{color:#fff}
.band--brand .head p{color:#c9b8de}
#categories .cat2{color:#4f4760}

@media(max-width:1080px){.cpanel-row{grid-template-columns:1fr}.cpanel-cols{grid-template-columns:1fr 1fr}.gw-cat .cat2{grid-template-columns:206px 1fr;gap:18px}}
@media(max-width:900px){.gw-cat .cat2{grid-template-columns:1fr;gap:16px}.gw-cat .cat2-rail{flex-direction:row;overflow-x:auto;gap:7px;padding:7px;scrollbar-width:thin}.gw-cat .rail-item{flex:0 0 auto;width:auto;flex-direction:column;gap:7px;text-align:center;min-width:92px;max-width:124px;padding:11px 8px}.gw-cat .rail-ic{width:30px;height:30px}.gw-cat .rail-l{font-size:11px;white-space:normal;line-height:1.2}.gw-cat .rail-edge{left:50%;top:auto;bottom:0;width:60%;height:3px;transform:translateX(-50%) scaleX(0);border-radius:3px 3px 0 0}.gw-cat .rail-item.active .rail-edge{transform:translateX(-50%) scaleX(1)}}
@media(max-width:880px){.avis-head{align-items:flex-start}}
@media(max-width:760px){.brandgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.gw-cat .cphero{padding:15px 16px;gap:13px;min-height:0}.gw-cat .cphero-ic{width:44px;height:44px;border-radius:12px}.gw-cat .cphero-ic svg{width:23px;height:23px}.gw-cat .cpanel-cols{grid-template-columns:1fr}.gw-cat .brandgrid{grid-template-columns:repeat(auto-fill,minmax(78px,1fr))}}

/* === home-e4-b3.css === */
/* B3 · vars */
/* =====================================================================
   GROWLED HOME — SURCOUCHE D.A. « B3 V2 · VARIANTE 3 — DYNAMIQUE »
   ---------------------------------------------------------------------
   BASE : _da_b3v2.css. Même identité (hero clair bento, gros titres
   Russo One inclinés skew, eyebrows signés, aurora visible, cartes glass,
   dégradés vert→violet, ticker, badges en biais).

   AJUSTEMENTS DE CETTE VARIANTE :
   • GLOW RÉDUIT (règle commune) : lueurs vertes nettement diminuées
     (rayons de flou et opacités des ombres vertes −50 à −70 %), glows
     superflus retirés. On garde un glow LÉGER & premium, jamais envahissant.
   • RADIUS MOYEN (entre V1 et V2) : arrondis un peu resserrés.
   • CINÉTIQUE POUSSÉE (la plus jeune/énergique des 3) :
       – skew plus présent sur titres/eyebrows/accents (−7°) ;
       – séparateurs / accents DIAGONAUX plus visibles entre sections ;
       – ticker plus présent (plus rapide, accents + marqués) ;
       – aurora légèrement plus perceptible (mais toujours CLAIR) ;
       – mots-clés en dégradé bien NETS.

   ⛔ Habillage uniquement (color/background/gradient/shadow/border/
   radius/filter/backdrop-filter/transition + transform:skew). On ne
   touche PAS display/grid/flex/position/largeurs/paddings. Fond CLAIR
   partout — jamais de grande zone sombre.
   ===================================================================== */

/* ---- tokens additionnels (n'écrasent pas les tokens de base) ---- */
/* P7 : bloc d'alias b3 supprimé — tout pointe sur --gw-* (e4-tokens) */



/* B3 · eyebrows */
/* =====================================================================
   4) EYEBROWS SIGNÉS — uppercase + tick dégradé skewé. CINÉTIQUE :
   eyebrows légèrement inclinés + tick incliné −7°, glow réduit.
   ===================================================================== */
.eyebrow,
.gw-cat .eyebrow,
.gw-block .eyebrow,
.gw-exp .eyebrow,
.founder .eyebrow{letter-spacing:.16em;font-weight:600;transform:skewX(var(--gw-skew))}
.eyebrow > *,
.gw-cat .eyebrow > *,
.gw-block .eyebrow > *,
.gw-exp .eyebrow > *,
.founder .eyebrow > *{display:inline-block;transform:skewX(calc(-1 * var(--gw-skew)))}
.eyebrow::before,
.gw-cat .eyebrow::before,
.gw-block .eyebrow::before,
.gw-exp .eyebrow::before,
.founder .eyebrow::before{
  content:"";display:inline-block;
  width:30px;height:8px;border-radius:2px;opacity:1;vertical-align:middle;margin-right:9px;
  background:var(--gw-grad-key);
  transform:skewX(var(--gw-skew));
  /* glow réduit (12px .5 → 5px .25) */
  box-shadow:0 0 5px rgba(123,191,63,.25);
}


/* B3 · titres */
/* =====================================================================
   5) TITRES DE SECTION — GROS Russo One, skewX(−7°) cinétique, mot-clé
   dégradé NET, trait dégradé incliné sous le titre. Glow réduit.
   ===================================================================== */
.head h2,
.gw-cat .head h2,
.gw-block .head h2,
.gw-exp .lead2-main h2,
.avis-head .head h2,
.story h2{
  font-family:var(--gw-font-disp,'Russo One',sans-serif) !important;
  font-weight:400 !important;
  font-size:clamp(28px,3.9vw,48px) !important;
  line-height:1.06 !important;letter-spacing:-.01em !important;
  text-transform:uppercase;
  color:var(--gw-ink-700);
  position:relative;display:inline-block;
  transform:skewX(var(--gw-skew));transform-origin:left;
  padding-bottom:.32em;
}
/* trait dégradé incliné sous le titre — glow réduit (14px .42 → 6px .2) */
.head h2::after,
.gw-cat .head h2::after,
.gw-block .head h2::after,
.gw-exp .lead2-main h2::after,
.avis-head .head h2::after,
.story h2::after{
  content:"";position:absolute;left:0;bottom:0;
  width:96px;height:5px;border-radius:3px;
  background:var(--gw-grad-key);
  box-shadow:0 0 6px rgba(123,191,63,.2);
}
.head:not(.head--left) h2{transform:skewX(var(--gw-skew));padding-bottom:.42em}
.head:not(.head--left) h2::after{left:50%;transform:translateX(-50%)}
/* mot accent gw-exp en dégradé NET */
.gw-exp .lead2-main h2 .accent{
  background:var(--gw-grad-key);-webkit-background-clip:text;background-clip:text;
  color:transparent;-webkit-text-fill-color:transparent;
}


/* B3 · boutons */
/* =====================================================================
   6) BOUTONS — vert, GLOW RÉDUIT, ghost glass clair. Radius moyen.
   ===================================================================== */
.btn{transition:.4s var(--gw-ease-out) !important}
.btn-primary{
  background:var(--gw-grad-green) !important;
  color:var(--green-text) !important;
  border:1px solid transparent;
  /* glow réduit (30px .36 → 14px .18 ; ring .18 → .12) */
  box-shadow:0 8px 14px rgba(123,191,63,.18),0 0 0 1px rgba(123,191,63,.12) !important;
}
.btn-primary:hover{
  transform:translateY(-3px);
  /* glow hover réduit (40px .44 → 20px .26 ; ring .4 → .26) */
  box-shadow:0 14px 22px rgba(123,191,63,.26),0 0 0 1px rgba(123,191,63,.26) !important;
}
.btn-ghost{
  background:var(--gw-glass-strong) !important;
  border-color:var(--gw-hairline) !important;
  color:var(--gw-ink-700) !important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
}
.btn-ghost:hover{
  border-color:rgba(123,191,63,.45) !important;
  color:#3f6f1c !important;
  transform:translateY(-3px);
  box-shadow:var(--gw-glow-green) !important;
  background:rgba(255,255,255,.9) !important;
}

/* CTA verts scopés : glow réduit, radius moyen */
.gw-block .featured-cta,
.gw-block .qv-cta{
  background:var(--gw-grad-green) !important;color:var(--green-text);
  border-radius:var(--b3-r-card);
  box-shadow:0 8px 14px rgba(123,191,63,.18) !important;
  transition:.32s var(--gw-ease-out) !important;
}
.gw-block .featured-cta:hover,
.gw-block .qv-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 20px rgba(123,191,63,.26),0 0 0 1px rgba(123,191,63,.24) !important;
}
.gw-exp .proof-cta{
  box-shadow:0 7px 14px rgba(123,191,63,.2),0 0 0 1px rgba(123,191,63,.16) !important;
  transition:.32s var(--gw-ease-out) !important;
}
.gw-exp .proof-cta:hover{box-shadow:0 11px 18px rgba(123,191,63,.28),0 0 0 1px rgba(123,191,63,.24) !important}

/* link-all : pilule glass + glow vert réduit au survol */
.link-all,
.gw-block .link-all{
  border:1px solid var(--gw-hairline) !important;
  background:var(--gw-glass-strong) !important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:.36s var(--gw-ease-out) !important;
}
.link-all:hover,
.gw-block .link-all:hover{
  border-color:rgba(123,191,63,.45) !important;
  color:#3f6f1c !important;
  box-shadow:var(--gw-glow-green) !important;
  transform:translateY(-2px);
}


/* B3 · anti-debordement */
/* =====================================================================
   ANTI-DÉBORDEMENT — clip horizontal global. skew −7° reste contenu
   (transform-origin:left + clip). Séparateurs diagonaux débordants clippés.
   ===================================================================== */
html{overflow-x:clip}
body.gw-home{overflow-x:clip}
.band,section,.bw,.wrap{overflow-x:clip}

/* respect du mouvement réduit */
@media(prefers-reduced-motion:reduce){
  .btn,.pcard,.rev,.step,.gw-block .ccard,.gw-block .featured,.gw-exp .pillar,.gamme,.vprod,.tt{transition:none !important}
}

/* B3 · titres sur bandes sombres (ordre de cascade : après le bloc titres) */
.band--brand .head h2,
.band--brand .avis-head .head h2{color:#fff}
.band--brand .eyebrow{color:#e9a9cf}
/* renfort : uppercase battu par une règle thème plus spécifique */
#index .gw-cat .head h2, #index .gw-block .head h2, #index .head h2{text-transform:uppercase!important}
/* icônes stroke : une règle du thème force path{fill} → outline fin comme la maquette */
.gw-cat .rail-ic svg, .gw-cat .rail-ic svg *,
.gw-cat .cphero-ic svg, .gw-cat .cphero-ic svg *{fill:none!important}

/* === home-e4-s3.css === */
/* home-e4-s3.css — réordonné : règles puis @media (max-width décroissant), dédupliqué */
.stars::before{content:"★★★★★";color:#e3dcec}
.stars::after{content:"★★★★★";color:#f5b301;position:absolute;left:0;top:0;width:12px;overflow:hidden}
.badge{position:absolute;top:12px;left:12px;background:var(--gw-magenta-500);color:#fff;font-family:var(--gw-font-disp);font-weight:400;font-size:12px;padding:4px 11px;border-radius:var(--gw-r-sm);z-index:2;box-shadow:0 4px 12px rgba(126,30,87,.3);transform:skewX(var(--gw-skew))} /* P3 : badge normé brandbook */
.ppanel{display:none}
.ppanel.active{display:block;animation:fade .35s cubic-bezier(.4,0,.2,1)}
.halo{position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--brand) 70%,transparent),transparent 70%);filter:blur(8px)}
.gw-block button{font-family:inherit}
.gw-block .band{width:100%}
.gw-block .band--alt{background:#f5f2f9}
.gw-block .bw{max-width:1280px;margin:0 auto;padding:clamp(40px,5vw,72px) 24px}
.gw-block .stars{--r:100%;display:inline-block;position:relative;font-size:14px;line-height:1;letter-spacing:2px;font-family:Arial}
.gw-block .stars::before{content:"\2605\2605\2605\2605\2605";color:#e3dcec}
.gw-block .stars::after{content:"\2605\2605\2605\2605\2605";color:#f5b301;position:absolute;left:0;top:0;width:12px;overflow:hidden}
.gw-block .stars.sm{font-size:11px;letter-spacing:1px}
.gw-block .head{text-align:center;max-width:680px;margin:0 auto 28px;position:relative}
.gw-block .eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:#7E1E57;margin-bottom:13px}
.gw-block .eyebrow::before{content:"";width:22px;height:2px;background:#7E1E57;border-radius:2px;opacity:.7}
.gw-block .head h2{font-family:'Russo One',sans-serif;font-weight:400;font-size:clamp(27px,3.6vw,42px);letter-spacing:-.01em;color:#2B004F}
.gw-block .head p{margin-top:12px;color:#6b6280;font-size:16px}
.gw-block .cartmini{position:absolute;top:0;right:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid #ece5f2;background:#fff;color:#2B004F;box-shadow:0 1px 3px rgba(43,0,79,.05);cursor:pointer;transition:.18s cubic-bezier(.4,0,.2,1)}
.gw-block .cartmini:hover{border-color:#7BBF3F;color:#3f6f1c;transform:translateY(-2px)}
.gw-block .cartmini svg{width:21px;height:21px}
.gw-block .cartmini .cbadge{position:absolute;top:-5px;right:-5px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#7E1E57;color:#fff;font-size:11px;font-weight:700;font-family:'Poppins',sans-serif;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px rgba(126,30,87,.4);transform:scale(0);transition:transform .25s cubic-bezier(.4,0,.2,1)}
.gw-block .cartmini.has-items .cbadge{transform:scale(1)}
.gw-block .cartmini.bump{animation:gwb-cartbump .4s cubic-bezier(.4,0,.2,1)}
.gw-block .seg-wrap{display:flex;justify-content:center;margin-bottom:38px}
.gw-block .seg{position:relative;display:inline-flex;border-radius:999px;padding:5px;gap:2px}
.gw-block .seg-cursor{position:absolute;top:5px;bottom:5px;border-radius:999px;transition:transform .34s cubic-bezier(.4,0,.2,1),width .34s cubic-bezier(.4,0,.2,1);z-index:0}
.gw-block .seg-cursor::after{content:"";position:absolute;left:16px;right:16px;bottom:5px;height:3px;border-radius:3px;
 background:linear-gradient(90deg,#6a00ff,#3a37ff,#2f8bff,#ffffff,#ff5d3a,#e01f2d,#7a0d10);
 background-size:200% 100%;animation:gwb-spectreflow 5.5s linear infinite;opacity:.98;
 box-shadow:0 0 8px rgba(120,60,255,.35)}
.gw-block .seg-btn{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;color:#6b6280;padding:11px 24px;border-radius:999px;white-space:nowrap;transition:color .26s cubic-bezier(.4,0,.2,1);display:inline-flex;align-items:center;gap:8px}
.gw-block .seg-btn .ct{font-size:11px;font-weight:700;background:rgba(43,0,79,.08);color:#6b6280;padding:1px 8px;border-radius:999px;transition:.26s cubic-bezier(.4,0,.2,1)}
.gw-block .seg-btn:hover{color:#2B004F}
.gw-block .seg-btn[aria-selected="true"]{color:#fff}
.gw-block .seg-btn[aria-selected="true"] .ct{background:rgba(123,191,63,.22);color:#cdeaa6}
.gw-block .seg-btn:focus-visible{outline:2px solid #7BBF3F;outline-offset:3px}
.gw-block .ppanel{display:none}
.gw-block .ppanel.active{display:block;animation:gwb-fade .35s cubic-bezier(.4,0,.2,1)}
.gw-block .prow{display:grid;grid-template-columns:minmax(0,0.78fr) minmax(0,1fr);gap:20px;align-items:stretch}
.gw-block .prow > .featured{height:100%}
.gw-block .cgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,1fr);gap:16px;align-items:stretch}
.gw-block .ccard{position:relative;border-radius:16px;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.gw-block .ccard:hover{transform:translateY(-4px)}
.gw-block .ccard-media{position:relative;display:block;padding:12px;aspect-ratio:1/.74;overflow:hidden}
.gw-block .ccard-media img{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain;transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .45s cubic-bezier(.4,0,.2,1)}
.gw-block .ccard:hover .ccard-media img.img-base{transform:scale(1.05)}
.gw-block .ccard-media .img-hover{opacity:0}
.gw-block .ccard-media.has-hover:hover .img-base{opacity:0}
.gw-block .ccard-media.has-hover:hover .img-hover{opacity:1;transform:scale(1.05)}
.gw-block .qv-btn{position:absolute;top:9px;right:9px;width:32px;height:32px;border:1px solid #ece5f2;background:rgba(255,255,255,.96);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2B004F;box-shadow:0 1px 3px rgba(43,0,79,.05);cursor:pointer;opacity:0;transform:translateY(-4px);transition:.18s cubic-bezier(.4,0,.2,1);z-index:3}
.gw-block .qv-btn svg{width:15px;height:15px}
.gw-block .ccard:hover .qv-btn{opacity:1;transform:none}
.gw-block .qv-btn:hover{background:#7BBF3F;color:#13002a;border-color:transparent;transform:scale(1.08)}
.gw-block .qv-btn:focus-visible{outline:2px solid #7BBF3F;outline-offset:2px;opacity:1}
.gw-block .ccard-b{padding:10px 11px 11px;display:flex;flex-direction:column;flex:1}
.gw-block .ccard-brand{font-size:10px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:#7E1E57;line-height:1.2}
.gw-block .ccard-name{font-family:'Poppins',sans-serif;font-weight:600;font-size:12px;color:#2B004F;margin:3px 0 5px;line-height:1.22;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:29px}
.gw-block .ccard-name a{transition:color .15s}
.gw-block .ccard-name a:hover{color:#3f6f1c}
.gw-block .ccard-rating{display:flex;align-items:center;gap:5px;margin-bottom:6px;min-height:14px}
.gw-block .ccard-rating .rc{font-size:10px;color:#6b6280;font-weight:500}
.gw-block .ccard-rating .rc b{color:#2B004F;font-weight:700}
.gw-block .ccard-noavis{font-size:10.5px;color:#a99fbb;font-style:italic}
.gw-block .chips-mini{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:7px}
.gw-block .chips-mini .chip{font-size:9.5px;font-weight:600;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.22);padding:1px 7px;border-radius:999px;white-space:nowrap;line-height:1.5}
.gw-block .ccard-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:7px}
.gw-block .stockpill{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:999px;line-height:1.5}
.gw-block .stockpill .dot{font-size:8px;line-height:1}
.gw-block .stockpill.in{color:#3f6f1c;background:rgba(123,191,63,.12)}
.gw-block .stockpill.in .dot{color:#7BBF3F}
.gw-block .stockpill.soon{color:#a9690d;background:rgba(245,179,1,.14)}
.gw-block .stockpill.soon .dot{color:#e8a008}
.gw-block .combos{display:inline-flex;align-items:center;gap:4px;font-size:9.5px;font-weight:600;color:#2B004F;background:rgba(43,0,79,.06);padding:2px 7px;border-radius:999px;line-height:1.5}
.gw-block .combos svg{width:11px;height:11px;opacity:.8}
.gw-block .countdown{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;color:#7E1E57;background:rgba(126,30,87,.08);border:1px solid rgba(126,30,87,.18);padding:3px 8px;border-radius:999px;margin-bottom:7px;line-height:1.4}
.gw-block .countdown .cd-clock{font-family:'Poppins',sans-serif;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.02em}
.gw-block .countdown-feat{font-size:12px;padding:5px 12px;margin:0 0 14px}
.gw-block .ccard-foot{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:8px}
.gw-block .ccard-price{display:flex;flex-direction:column;line-height:1.1;min-width:0}
.gw-block .ccard-price .o{font-size:10.5px;color:#a99fbb;text-decoration:line-through;margin-bottom:1px}
.gw-block .ccard-price .p{font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;color:#2B004F}
.gw-block .ccard-price .p.promo{color:#7E1E57}
.gw-block .ccard-spec{font-size:10px;color:#6b6280;margin-top:2px;font-weight:500}
.gw-block .ccard-cart{flex-shrink:0;width:34px;height:34px;border-width:1.5px;border-style:solid;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.2s cubic-bezier(.4,0,.2,1)}
.gw-block .ccard-cart svg{width:16px;height:16px}
.gw-block .ccard-cart.added{background:#7BBF3F;color:#13002a;border-color:#7BBF3F}
.gw-block .reas-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.gw-block .reas{font-size:9.5px;font-weight:600;padding:2px 7px;border-radius:999px;line-height:1.5}
.gw-block .reas-g{color:#3f6f1c;background:rgba(123,191,63,.1)}
.gw-block .reas-3x{color:#2B004F;background:rgba(43,0,79,.06)}
.gw-block .badge{position:absolute;top:9px;left:9px;font-family:var(--gw-font-disp);font-weight:400;font-size:10.5px;padding:3px 9px;border-radius:var(--gw-r-sm);z-index:2;color:#fff} /* P3 : normé */
.gw-block .badge.promo{background:#7E1E57;box-shadow:0 4px 12px rgba(126,30,87,.3)}
.gw-block .badge.neuf{background:#7BBF3F;color:#13002a}
.gw-block .quick{position:absolute;top:11px;right:11px;display:flex;flex-direction:column;gap:7px;z-index:3;opacity:0;transform:translateX(8px);transition:opacity .22s cubic-bezier(.4,0,.2,1),transform .22s cubic-bezier(.4,0,.2,1)}
.gw-block .featured:hover .quick{opacity:1;transform:none}
.gw-block .qbtn{width:34px;height:34px;border:1px solid #ece5f2;background:rgba(255,255,255,.96);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#2B004F;box-shadow:0 1px 3px rgba(43,0,79,.05);cursor:pointer;transition:.16s cubic-bezier(.4,0,.2,1)}
.gw-block .qbtn:hover{background:#7BBF3F;color:#13002a;border-color:transparent;transform:scale(1.07)}
.gw-block .qbtn:focus-visible{outline:2px solid #7BBF3F;outline-offset:2px;opacity:1}
.gw-block .qbtn svg{width:16px;height:16px}
.gw-block .featured{position:relative;border-radius:22px;overflow:hidden;display:flex;flex-direction:column}
.gw-block .featured:hover{transform:translateY(-6px)}
.gw-block .featured-media{position:relative;display:block;flex:1;min-height:240px;padding:30px;overflow:hidden}
.gw-block .featured-media .halo{position:absolute;left:50%;top:46%;width:78%;height:78%;transform:translate(-50%,-50%);border-radius:50%;
 background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(123,191,63,.18) 38%,rgba(123,191,63,0) 70%);
 z-index:0;pointer-events:none;animation:gwb-breathe 6s cubic-bezier(.4,0,.2,1) infinite}
.gw-block .featured-media img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;transition:transform .5s cubic-bezier(.4,0,.2,1),opacity .5s cubic-bezier(.4,0,.2,1)}
.gw-block .featured:hover .featured-media img.img-base{transform:scale(1.05)}
.gw-block .featured-media .img-hover{position:absolute;inset:30px;width:calc(100% - 60px);height:calc(100% - 60px);opacity:0}
.gw-block .featured-media.has-hover:hover .img-base{opacity:0}
.gw-block .featured-media.has-hover:hover .img-hover{opacity:1;transform:scale(1.05)}
.gw-block .featured-b{padding:22px 26px 26px;display:flex;flex-direction:column;flex:0 0 auto}
.gw-block .featured-top{display:flex;align-items:center;gap:10px;margin-bottom:9px;flex-wrap:wrap}
.gw-block .featured-brand{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7E1E57}
.gw-block .featured-chip{display:inline-flex;align-items:center;gap:5px;font-family:'Poppins',sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#3f6f1c;background:rgba(123,191,63,.13);border:1px solid rgba(123,191,63,.3);padding:3px 10px;border-radius:999px}
.gw-block .featured-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(18px,2vw,23px);color:#2B004F;line-height:1.22;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.gw-block .featured-name a:hover{color:#3f6f1c}
.gw-block .featured-rating{display:flex;align-items:center;gap:8px;margin-bottom:11px;min-height:16px}
.gw-block .featured-rating .rc{font-size:12.5px;color:#6b6280}
.gw-block .featured-rating .rc b{color:#2B004F;font-weight:700}
.gw-block .featured-pitch{font-size:14px;color:#4f4760;line-height:1.6;margin-bottom:14px;max-width:46ch}
.gw-block .chips-feat{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:13px}
.gw-block .chips-feat .chip{font-size:11px;font-weight:600;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.26);padding:3px 11px;border-radius:999px;white-space:nowrap}
.gw-block .featured-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.gw-block .featured-meta .stockpill, .gw-block .featured-meta .combos{font-size:11px;padding:3px 10px}
.gw-block .featured-meta .stockpill .dot{font-size:9px}
.gw-block .featured-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:auto}
.gw-block .featured-price{display:flex;align-items:baseline;gap:10px}
.gw-block .featured-price .p{font-family:'Poppins',sans-serif;font-weight:700;font-size:26px;color:#2B004F}
.gw-block .featured-price .p.promo{color:#7E1E57}
.gw-block .featured-price .o{font-size:15px;color:#a99fbb;text-decoration:line-through}
.gw-block .featured-cta{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px;padding:13px 22px;border-radius:12px;border:0;background:#7BBF3F;color:#13002a;box-shadow:0 10px 26px rgba(123,191,63,.32);cursor:pointer;transition:.22s cubic-bezier(.4,0,.2,1)}
.gw-block .featured-cta svg{width:18px;height:18px}
.gw-block .featured-cta:hover{background:#8ed04e;transform:translateY(-2px)}
.gw-block .featured-cta.added{background:#5e9a2a;color:#fff}
.gw-block .featured .reas-row{margin-top:14px}
.gw-block .featured .reas{font-size:11px;padding:3px 10px}
.gw-block .panel-foot{display:flex;justify-content:center;margin-top:32px}
.gw-block .link-all{display:inline-flex;align-items:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:14.5px;color:#2B004F;border-radius:999px;padding:11px 24px}
.gw-block .link-all svg{width:16px;height:16px;transition:transform .2s cubic-bezier(.4,0,.2,1)}
.gw-block .link-all:hover svg{transform:translateX(4px)}
.gw-block .trust{margin-top:44px;border-top:1px solid #ece5f2;padding-top:28px}
.gw-block .trust-in{display:flex;justify-content:center;flex-wrap:wrap;gap:14px 30px}
.gw-block .trust-item{display:flex;align-items:center;gap:11px;font-size:13.5px;color:#4f4760}
.gw-block .trust-ic{width:38px;height:38px;border-radius:11px;background:#fff;border:1px solid #ece5f2;display:flex;align-items:center;justify-content:center;color:#7E1E57;flex-shrink:0}
.gw-block .trust-ic svg{width:20px;height:20px}
.gw-block .trust-item b{font-family:'Poppins',sans-serif;font-weight:600;color:#2B004F;display:block;font-size:13.5px}
.gw-block .trust-item .ts{font-size:11.5px;color:#6b6280}
.gw-block .trust-item .star{color:#f5b301}
.gw-block .trust-sep{width:1px;height:30px;background:#ece5f2;align-self:center}
.gw-block .toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%,140%);z-index:1100;display:inline-flex;align-items:center;gap:10px;
 background:#1a0033;color:#fff;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;padding:13px 20px;border-radius:999px;
 box-shadow:0 18px 44px rgba(43,0,79,.4);transition:transform .4s cubic-bezier(.4,0,.2,1),opacity .4s cubic-bezier(.4,0,.2,1);opacity:0;pointer-events:none;max-width:calc(100vw - 32px)}
.gw-block .toast.show{transform:translate(-50%,0);opacity:1}
.gw-block .toast .tcheck{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:#7BBF3F;color:#13002a;flex-shrink:0}
.gw-block .toast .tcheck svg{width:13px;height:13px}
.gw-block .qv-overlay{position:fixed;inset:0;z-index:1200;background:rgba(26,0,51,.55);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;visibility:hidden;transition:opacity .26s cubic-bezier(.4,0,.2,1),visibility .26s cubic-bezier(.4,0,.2,1)}
.gw-block .qv-overlay.open{opacity:1;visibility:visible}
.gw-block .qv-dialog{background:#fff;border-radius:22px;max-width:840px;width:100%;max-height:92vh;overflow:auto;display:grid;grid-template-columns:1fr 1fr;position:relative;transform:translateY(16px) scale(.98);transition:transform .3s cubic-bezier(.4,0,.2,1)}
.gw-block .qv-overlay.open .qv-dialog{transform:none}
.gw-block .qv-close{position:absolute;top:12px;right:12px;width:38px;height:38px;border-radius:50%;border:1px solid #ece5f2;background:#fff;color:#2B004F;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:4;transition:.16s cubic-bezier(.4,0,.2,1)}
.gw-block .qv-close:hover{background:#7E1E57;color:#fff;border-color:transparent;transform:rotate(90deg)}
.gw-block .qv-close svg{width:18px;height:18px}
.gw-block .qv-media{position:relative;display:flex;align-items:center;justify-content:center;padding:34px;min-height:300px;border-radius:22px 0 0 22px}
.gw-block .qv-media .halo{position:absolute;left:50%;top:50%;width:80%;height:80%;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(123,191,63,.16) 40%,rgba(123,191,63,0) 72%);pointer-events:none}
.gw-block .qv-media img{position:relative;z-index:1;max-width:100%;max-height:340px;object-fit:contain}
.gw-block .qv-media .badge{top:16px;left:16px}
.gw-block .qv-body{padding:30px 30px 28px;display:flex;flex-direction:column}
.gw-block .qv-brand{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7E1E57}
.gw-block .qv-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:20px;color:#2B004F;line-height:1.25;margin:6px 0 10px}
.gw-block .qv-rating{display:flex;align-items:center;gap:8px;margin-bottom:12px;min-height:16px}
.gw-block .qv-rating .rc{font-size:12.5px;color:#6b6280}
.gw-block .qv-rating .rc b{color:#2B004F;font-weight:700}
.gw-block .qv-rating .ccard-noavis{font-size:12.5px}
.gw-block .qv-price{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}
.gw-block .qv-price .p{font-family:'Poppins',sans-serif;font-weight:700;font-size:26px;color:#2B004F}
.gw-block .qv-price .p.promo{color:#7E1E57}
.gw-block .qv-price .o{font-size:15px;color:#a99fbb;text-decoration:line-through}
.gw-block .qv-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.gw-block .qv-chips .chip{font-size:11px;font-weight:600;color:#3f6f1c;background:rgba(123,191,63,.12);border:1px solid rgba(123,191,63,.26);padding:3px 11px;border-radius:999px}
.gw-block .qv-meta{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:12px}
.gw-block .qv-meta:empty{display:none}
.gw-block .qv-chips:empty{display:none}
.gw-block .qv-cd{margin-bottom:14px}
.gw-block .qv-cta{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:15px;padding:14px 22px;border-radius:12px;border:0;background:#7BBF3F;color:#13002a;box-shadow:0 10px 26px rgba(123,191,63,.32);cursor:pointer;transition:.22s cubic-bezier(.4,0,.2,1);width:100%;margin-top:auto}
.gw-block .qv-cta svg{width:18px;height:18px}
.gw-block .qv-cta:hover{background:#8ed04e;transform:translateY(-2px)}
.gw-block .qv-cta.added{background:#5e9a2a;color:#fff}
.gw-block .qv-link{display:inline-flex;align-items:center;gap:7px;justify-content:center;margin-top:12px;font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;color:#2B004F;transition:color .16s}
.gw-block .qv-link:hover{color:#3f6f1c}
.gw-block .qv-link svg{width:15px;height:15px;transition:transform .18s cubic-bezier(.4,0,.2,1)}
.gw-block .qv-link:hover svg{transform:translateX(4px)}
.gw-block .ccard-media{background:#fff !important}
.gw-block .featured-media{background:#fff !important;background-image:none !important}
.gw-block .qv-media{background:#fff !important;background-image:none !important}
.gw-block .ccard-media img, .gw-block .featured-media img, .gw-block .qv-media img{mix-blend-mode:normal !important}
.gw-exp .stars{--r:100%;display:inline-block;position:relative;font-size:15px;line-height:1;letter-spacing:2px;font-family:Arial}
.gw-exp .stars::before{content:"\2605\2605\2605\2605\2605";color:#e3dcec}
.gw-exp .stars::after{content:"\2605\2605\2605\2605\2605";color:#f5b301;position:absolute;left:0;top:0;width:12px;overflow:hidden}
.gw-exp .proof-stars-row .stars{font-size:14px}
.gw-exp .proof-stars-row .rc{font-size:12px;color:#c9b8de}
.gw-hero .aff-rating .rc{font-size:13px;color:#6b6280}
.gw-hero .aff-rating .rc b{color:#2B004F}
.gw-hero .countdown{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}
.gw-hero .panel-star .stars{font-size:11px}
.gw-hero .reassure{background:#f5f2f9;border-top:1px solid var(--hair);border-bottom:0;margin-top:clamp(20px,2.6vw,30px)}
.gw-hero .reassure-in{max-width:1280px;margin:0 auto;padding:15px 20px;display:flex;align-items:center;
  justify-content:space-between;gap:14px;flex-wrap:wrap}
.gw-hero .stars{display:inline-block;position:relative;font-size:14px;line-height:1;letter-spacing:2px;
  font-family:Arial,sans-serif;--r:100%}
.gw-hero .stars::before{content:"★★★★★";color:#e3dcec}
.gw-hero .stars::after{content:"★★★★★";color:#f5b301;position:absolute;left:0;top:0;width:12px;overflow:hidden;white-space:nowrap}
.gw-block .featured-cta:hover,
.gw-block .qv-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 20px rgba(123,191,63,.26),0 0 0 1px rgba(123,191,63,.24) !important;
}
.badge > *{display:inline-block;transform:skewX(calc(-1 * var(--gw-skew)))}
.gw-block .ccard{
  background:var(--gw-glass-strong) !important;
  border:1px solid rgba(255,255,255,.8) !important;
  box-shadow:var(--gw-shadow-soft) !important;
  -webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);
  transition:transform .26s var(--gw-ease-out),box-shadow .26s var(--gw-ease-out),border-color .26s var(--gw-ease-out) !important;
}
.gw-block .ccard:hover{
  border-color:rgba(123,191,63,.32) !important;
  box-shadow:var(--gw-glow-green),var(--gw-shadow-lift) !important;
}
.gw-block .featured{
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(255,255,255,.8) !important;
  box-shadow:var(--gw-shadow-soft) !important;
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);
  transition:transform .28s var(--gw-ease-out),box-shadow .28s var(--gw-ease-out),border-color .28s var(--gw-ease-out) !important;
}
.gw-block .featured:hover{
  border-color:rgba(123,191,63,.34) !important;
  box-shadow:var(--gw-glow-green-lg),var(--gw-shadow-lift) !important;
}
.gw-block .seg{
  background:var(--gw-glass-strong) !important;
  border:1px solid var(--gw-hairline) !important;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:var(--gw-shadow-soft) !important;
}
.gw-block .seg-cursor{
  background:var(--gw-grad-ink) !important;
  box-shadow:0 10px 22px rgba(43,0,79,.32),0 0 0 1px rgba(123,191,63,.18) !important;
}
.gw-block .badge{transform:skewX(var(--gw-skew));box-shadow:0 6px 12px rgba(126,30,87,.2) !important}
.gw-block .badge.neuf{box-shadow:0 6px 12px rgba(123,191,63,.2),0 0 7px rgba(123,191,63,.14) !important}
.gw-block .qv-dialog{box-shadow:var(--gw-shadow-lift),0 0 0 1px rgba(123,191,63,.1) !important}
.gw-block .ccard-cart{
  border-color:transparent;
  background:linear-gradient(100deg,#ffc53d,#f2a114);
  color:#2B004F;
  box-shadow:0 3px 8px rgba(242,161,20,.28),0 0 0 1px rgba(242,161,20,.20);
}
.gw-block .ccard-cart:hover,
.gw-block .ccard:hover .ccard-cart{
  background:linear-gradient(100deg,#ffcd52,#f5a623);
  color:#2B004F;
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(242,161,20,.35),0 0 0 1px rgba(242,161,20,.28);
}
.btn:focus-visible,.link-all:focus-visible,.nav-link:focus-visible,.pcard-cta:focus-visible,.gw-block .featured-cta:focus-visible,.gw-block .qv-cta:focus-visible,.gw-block .ccard-cart:focus-visible,.gw-exp .proof-cta:focus-visible,.bcta:focus-visible,.mtile:focus-visible,.gcard:focus-visible,.guide-feat:focus-visible,.gw-cat .cphero:focus-visible,.tt:focus-visible,.step:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(123,191,63,.45),0 0 0 1px rgba(43,0,79,.55)}
.gw-block .cgrid{grid-template-rows:none}
.gw-block .featured-price .from,.gw-block .ccard-price .from{font-size:12px;color:#6b6280;font-weight:600;align-self:center;margin-right:2px}
.gw-block a.featured-cta,.gw-block a.featured-cta:hover,.gw-block a.featured-cta:focus{color:#13002a!important;text-decoration:none}

@media(prefers-reduced-motion:reduce){.gw-block .seg-cursor::after{animation:none}.gw-block .featured-media .halo{animation:none}.gw-hero .slide.is-active{animation:none}.gw-hero .s-bar-fill.run{animation:none;right:0}.gw-hero .btn,.gw-hero .panel,.gw-hero .panel::after,.gw-hero .s-arrow,.gw-hero .s-thumb,.gw-hero .panel-img,.gw-hero .panel-pack,.gw-hero .panel-stage::before,.gw-hero .panel-cta,.gw-hero .panel-cta svg{transition:none}.btn,.pcard,.rev,.step,.gw-block .ccard,.gw-block .featured,.gw-exp .pillar,.gamme,.vprod,.tt{transition:none !important}}
@media(max-width:1080px){.gw-block .trust-sep{display:none}}
@media(max-width:1024px){.gw-block .prow{grid-template-columns:1fr;align-items:stretch}.gw-block .prow > .featured{height:auto}.gw-block .featured-media{min-height:240px}.gw-block .cgrid{grid-template-rows:none}}
@media(max-width:920px){.gw-exp .lead2{grid-template-columns:1fr;gap:36px}.gw-exp .proof{position:static}.gw-exp .lead2-kicker{max-width:none}.gw-exp .prose-lead{max-width:none}}
@media(max-width:880px){.gw-block .seg{width:100%;overflow-x:auto;justify-content:flex-start;border-radius:16px}.gw-block .seg-cursor{border-radius:12px}.gw-block .seg-btn{flex:1 0 auto}.gw-block .seg-cursor{border-radius:var(--gw-r)}.gw-hero .affiche{grid-template-columns:1fr;text-align:center;gap:22px;min-height:0}.gw-hero .aff-title,.gw-hero .aff-sub{transform:skewX(-5deg);transform-origin:center}.gw-hero .aff-eyebrow,.gw-hero .aff-badge,.gw-hero .aff-priceline,.gw-hero .aff-rating,.gw-hero .countdown,.gw-hero .aff-cta-row{justify-content:center}.gw-hero .aff-lead{margin-left:auto;margin-right:auto}.gw-hero .aff-visual{order:-1}.gw-hero .aff-no{display:none}.gw-hero .panels-grid{grid-template-columns:1fr 1fr}}
@media(max-width:820px){.gw-hero .l2{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.gw-hero .hbanner{min-height:440px;align-items:flex-end;background-image:linear-gradient(180deg, rgba(11,0,26,.5), rgba(11,0,26,.93)), var(--img)}.gw-hero .hb-copy{max-width:100%}}
@media(max-width:720px){.gw-hero .reassure-in{justify-content:flex-start;gap:10px 18px}.gw-hero .rsep{display:none}.gw-hero .ritem{flex-basis:calc(50% - 9px)}.gw-hero .s-thumb-n{display:none}}
@media(max-width:640px){.gw-block .qv-dialog{grid-template-columns:1fr;max-height:90vh}.gw-block .qv-media{border-radius:22px 22px 0 0;min-height:220px;padding:24px}.gw-block .qv-media img{max-height:220px}.gw-block .cgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.gw-block .quick, .gw-block .qv-btn{opacity:1;transform:none}.gw-block .seg-btn{padding:10px 16px;font-size:13px}.gw-block .seg-btn .ct{display:none}.gw-block .trust-in{gap:14px 22px}.gw-block .qv-btn{width:38px;height:38px}.gw-block .ccard-cart{width:40px;height:40px}}
@media(max-width:620px){.gw-exp .pillars{grid-template-columns:1fr;gap:16px}.gw-exp .prose-fold:not(.is-open){max-height:160px}.gw-exp .pillar{flex-direction:row;align-items:flex-start;gap:14px}.gw-exp .pillar-ic{flex-shrink:0}}
@media(max-width:560px){.gw-block .cartmini{position:static;margin:0 auto 14px;display:flex}.gw-hero .affiche{padding:22px 18px}.gw-hero .aff-cta-row{flex-direction:column}.gw-hero .aff-cta-row .btn{width:100%}.gw-hero .slider-ctrl{flex-direction:column;gap:14px}.gw-hero .s-progress{width:100%;max-width:none;order:-1}.gw-hero .s-spacer{display:none}.gw-hero .cd-cell{min-width:0;flex:1}.gw-hero .panel{padding:11px 12px;gap:10px;align-items:center}.gw-hero .panel-stage{width:50px;height:50px}.gw-hero .panel-img{max-height:46px}.gw-hero .panel-pack{width:46px;height:46px}.gw-hero .panel-pack svg{width:23px;height:23px}.gw-hero .panel-info{gap:2px}.gw-hero .panel-priceline,.gw-hero .panel-star{padding-right:24px}.gw-hero .panel-t{font-size:13px;padding-right:2px;
    white-space:normal;overflow:hidden;text-overflow:ellipsis;
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.12}.gw-hero .panel-price{font-size:16px}.gw-hero .panel-pre,.gw-hero .panel-old{font-size:10px}.gw-hero .panel-cta{right:8px;bottom:8px;width:22px;height:22px}.gw-hero .panel-cta svg{width:13px;height:13px}}
@media(max-width:520px){.gw-hero .l2{grid-template-columns:1fr}}
@media(max-width:420px){.gw-exp .proof-card{padding:26px 20px 24px}.gw-exp .proof-n{font-size:20px}}
@media(max-width:400px){.gw-block .cgrid{grid-template-columns:1fr}.gw-hero .aff-stage{padding:14px}.gw-hero .cd-cell{padding:7px 2px 5px}.gw-hero .cd-num{font-size:21px}.gw-hero .panel{gap:9px}.gw-hero .panel-stage{width:46px;height:46px}.gw-hero .panel-img{max-height:42px}.gw-hero .panel-t{font-size:12.5px}.gw-hero .panel-price{font-size:15px}}

/* === home-e4-s4.css === */
/* home-e4-s4.css — réordonné : règles puis @media (max-width décroissant), dédupliqué */
.head--left{text-align:left;margin-left:0}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;font-size:15px;padding:13px 24px;border-radius:12px;transition:.4s cubic-bezier(.22,1,.36,1) !important;cursor:pointer;border:1.5px solid transparent;white-space:nowrap}
.btn svg{width:18px;height:18px}
.stars{--r:100%;display:inline-block;position:relative;font-size:15px;line-height:1;letter-spacing:2px;font-family:Arial}
.stars::before{content:"★★★★★";color:#e3dcec}
.stars::after{content:"★★★★★";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden}
.marquee{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee:hover .marquee-track{animation-play-state:paused}
.mlogo{flex:0 0 auto;width:150px;height:84px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.78) !important;border:1px solid rgba(43,0,79,.08) !important;border-radius:12px;padding:18px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:.24s cubic-bezier(.22,1,.36,1) !important}
.mlogo img{max-height:46px;max-width:100%;object-fit:contain;filter:grayscale(1);opacity:.62;transition:.24s}
.mlogo:hover{box-shadow:0 0 0 1px rgba(123,191,63,.10) !important;transform:translateY(-3px);border-color:rgba(123,191,63,.32) !important}
.mlogo:hover img{filter:none;opacity:1}
.editorial .prose{text-align:left;font-size:16.5px;line-height:1.78;color:#4f4760}
.editorial .prose a{color:#3f6f1c;font-weight:600;border-bottom:1px solid rgba(123,191,63,.4)}
.editorial .prose a:hover{color:#7E1E57;border-color:#7E1E57}
.v4{display:grid;grid-template-columns:260px 1fr;gap:26px;align-items:start}
.vprod:hover{transform:translateY(-4px);box-shadow:0 18px 40px color-mix(in srgb,var(--brand) 18%,transparent);border-color:transparent}
.vprod:hover .vprod-img img{transform:scale(1.05)}
.avis-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px}
.score-inline{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.78) !important;border:1px solid rgba(43,0,79,.08) !important;border-radius:999px;padding:10px 18px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 1px 2px rgba(43,0,79,.04),0 6px 16px rgba(43,0,79,.05) !important}
.score-num{font-family:'Russo One',sans-serif;font-size:30px;color:#2B004F;line-height:1}
.score-num small{font-size:14px;color:#6b6280}
.score-meta{display:flex;flex-direction:column;gap:3px;line-height:1.2}
.score-meta .nb{font-size:12px;color:#6b6280}
.score-meta .nb b{color:#2B004F}
.reviews-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:thin}
.rev{flex:0 0 330px;scroll-snap-align:start;background:#fff !important;border:1px solid rgba(43,0,79,.10) !important;border-radius:16px;padding:18px 20px 16px;box-shadow:0 1px 2px rgba(43,0,79,.04),0 6px 16px rgba(43,0,79,.05) !important;display:flex;flex-direction:column;transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s cubic-bezier(.22,1,.36,1),border-color .22s cubic-bezier(.22,1,.36,1) !important}
.rev:hover{transform:translateY(-3px);box-shadow:0 0 0 1px rgba(123,191,63,.10),0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09) !important;border-color:rgba(123,191,63,.3) !important}
.rev .stars{margin-bottom:10px}
.rev blockquote{font-size:13.8px;line-height:1.55;color:#4f4760;flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.rev figcaption{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px;padding-top:11px;border-top:1px solid #f1ecf6}
.delivery-in{margin-top:22px;background:rgba(255,255,255,.78) !important;border:1px solid rgba(43,0,79,.08) !important;border-radius:999px;padding:12px 24px;display:flex;align-items:center;gap:22px;flex-wrap:wrap;justify-content:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.carrier{font-family:'Poppins',sans-serif;font-weight:800;font-size:14px;color:#2B004F;display:inline-flex;align-items:center;gap:6px}
.carrier svg{width:16px;height:16px;color:#7E1E57}
.dpt{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:#4f4760}
.dpt svg{width:17px;height:17px;color:#3f6f1c}
.dpt b{color:#2B004F}
.sep{width:1px;height:18px;background:#ece5f2}
.type-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:14px}
.tt{position:relative;display:flex;flex-direction:column;align-items:center;border-radius:16px;overflow:hidden;background:radial-gradient(120px 90px at 50% 6%,rgba(123,191,63,.18),transparent 70%),linear-gradient(165deg,#ffffff,#f5f2f9) !important;border:1px solid rgba(43,0,79,.08) !important;box-shadow:0 1px 2px rgba(43,0,79,.04),0 6px 16px rgba(43,0,79,.05) !important;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s cubic-bezier(.22,1,.36,1),border-color .26s cubic-bezier(.22,1,.36,1) !important}
.tt:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(123,191,63,.10),0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09) !important;border-color:rgba(123,191,63,.4) !important}
.tt:hover .tt-img img{transform:scale(1.08)}
.btn:focus-visible,.link-all:focus-visible,.nav-link:focus-visible,.pcard-cta:focus-visible,.gw-block .featured-cta:focus-visible,.gw-block .qv-cta:focus-visible,.gw-block .ccard-cart:focus-visible,.gw-exp .proof-cta:focus-visible,.bcta:focus-visible,.mtile:focus-visible,.gcard:focus-visible,.guide-feat:focus-visible,.gw-cat .cphero:focus-visible,.tt:focus-visible,.step:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(123,191,63,.45),0 0 0 1px rgba(43,0,79,.55)}
.hbanner .btn:focus-visible,.band--brand .btn:focus-visible,.band--ink .btn:focus-visible,.footer a:focus-visible,.gw-hero .panel:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(255,255,255,.7)}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:18px;position:relative}
.steps::before{content:"";position:absolute;top:46px;left:8%;right:8%;height:2px;background:repeating-linear-gradient(90deg,#ece5f2 0 8px,transparent 8px 16px);z-index:0}
.step{position:relative;z-index:1;background:#fff !important;border:1px solid rgba(43,0,79,.10) !important;border-radius:16px;padding:24px 18px 20px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:0 1px 2px rgba(43,0,79,.04),0 6px 16px rgba(43,0,79,.05) !important;transition:transform .26s cubic-bezier(.22,1,.36,1),box-shadow .26s cubic-bezier(.22,1,.36,1),border-color .26s cubic-bezier(.22,1,.36,1) !important}
.step:hover{transform:translateY(-6px);box-shadow:0 0 0 1px rgba(123,191,63,.10),0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09) !important;border-color:rgba(123,191,63,.32) !important}
.step:hover .step-ic{transform:scale(1.05)}
.step:hover .step-cta svg{transform:translateX(3px)}
.cta-row{text-align:center;margin-top:36px}
.hist{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start}
.founder{position:sticky;top:140px;background:radial-gradient(600px 320px at 82% 0,rgba(126,30,87,.12),transparent 60%),radial-gradient(420px 300px at 6% 104%,rgba(123,191,63,.14),transparent 58%),linear-gradient(160deg,#ffffff,#f5f2f9) !important;color:#2B004F !important;border-radius:22px;padding:34px 30px;overflow:hidden;border:1px solid rgba(255,255,255,.85);box-shadow:0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09),0 0 0 1px rgba(123,191,63,.10) !important}
.founder .eyebrow{color:#7E1E57 !important;margin-bottom:18px}
.since{font-family:'Russo One',sans-serif;font-size:54px;color:#fff;line-height:1}
.since span{color:#7BBF3F}
.founder .sub{color:#5f5670 !important;font-size:14px;line-height:1.6;margin:12px 0 22px}
.fstats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.fstat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:13px 14px}
.fstat .n{font-family:'Poppins',sans-serif;font-weight:700;font-size:17px;color:#fff;display:flex;align-items:center;gap:5px}
.fstat .l{font-size:11.5px;color:#bca8d6;margin-top:3px}
.fstat .n .st{color:#f5b301}
.fstat .n .st svg{width:14px;height:14px}
.sign{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid rgba(255,255,255,.14)}
.story h2{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(24px,3vw,32px);margin-bottom:20px}
.story .lead{font-family:'Poppins',sans-serif;font-weight:500;font-size:19px;line-height:1.6;color:#2B004F;margin-bottom:22px}
.story .lead strong{color:#7E1E57;font-weight:700}
.story h3{font-family:'Poppins',sans-serif;font-weight:600;font-size:19px;color:#2B004F;margin:24px 0 10px;padding-left:16px;border-left:3px solid #7BBF3F}
.story p{font-size:16px;line-height:1.75;color:#4f4760;margin-bottom:14px}
.story a{color:#3f6f1c;font-weight:500;border-bottom:1px solid rgba(123,191,63,.4)}
.story a:hover{color:#7E1E57}
.story strong{color:#2B004F}
.fold{position:relative;overflow:hidden;transition:max-height .55s cubic-bezier(.4,0,.2,1)}
.fold.clamped{max-height:200px}
.fold.clamped::after{content:"";position:absolute;left:0;right:0;bottom:0;height:90px;background:linear-gradient(transparent,#f5f2f9);pointer-events:none}
.readmore{margin-top:14px}
.readmore button{display:inline-flex;align-items:center;gap:7px;background:#fff;border:1.5px solid #ece5f2;color:#2B004F;font-family:'Poppins',sans-serif;font-weight:600;font-size:14px;padding:10px 22px;border-radius:999px;cursor:pointer;transition:.2s cubic-bezier(.22,1,.36,1) !important}
.readmore button:hover{border-color:rgba(123,191,63,.45) !important;color:#3f6f1c !important;box-shadow:0 0 0 1px rgba(123,191,63,.10) !important}
.readmore button svg{width:15px;height:15px;transition:.2s}
.readmore button.open svg{transform:rotate(90deg)}
.gw-block .stars{--r:100%;display:inline-block;position:relative;font-size:14px;line-height:1;letter-spacing:2px;font-family:Arial}
.gw-block .stars::before{content:"\2605\2605\2605\2605\2605";color:#e3dcec}
.gw-block .stars::after{content:"\2605\2605\2605\2605\2605";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden}
.gw-block .stars.sm{font-size:11px;letter-spacing:1px}
.gw-exp .stars{--r:100%;display:inline-block;position:relative;font-size:15px;line-height:1;letter-spacing:2px;font-family:Arial}
.gw-exp .stars::before{content:"\2605\2605\2605\2605\2605";color:#e3dcec}
.gw-exp .stars::after{content:"\2605\2605\2605\2605\2605";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden}
.gw-exp .lead2{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,4vw,60px);align-items:start}
.gw-exp .prose{font-size:16.5px;line-height:1.82;color:#4f4760;max-width:66ch}
.gw-exp .prose p{margin-bottom:1em}
.gw-exp .prose p:last-child{margin-bottom:0}
.gw-exp .prose a{color:#3f6f1c;font-weight:600;border-bottom:1px solid rgba(123,191,63,.42);transition:.16s cubic-bezier(.4,0,.2,1)}
.gw-exp .prose a:hover{color:#7E1E57;border-color:#7E1E57}
.gw-exp .prose b{color:#2B004F;font-weight:600}
.gw-hero .btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Poppins',sans-serif;font-weight:600;
  font-size:15px;padding:13px 26px;min-height:48px;border-radius:12px;transition:.22s cubic-bezier(.4,0,.2,1);
  border:1.5px solid transparent;white-space:nowrap}
.gw-hero .btn svg{width:18px;height:18px}
.gw-hero .panel-star .stars{font-size:11px}
.gw-hero .stars{display:inline-block;position:relative;font-size:14px;line-height:1;letter-spacing:2px;
  font-family:Arial,sans-serif;--r:100%}
.gw-hero .stars::before{content:"★★★★★";color:#e3dcec}
.gw-hero .stars::after{content:"★★★★★";color:#f5b301;position:absolute;left:0;top:0;width:var(--r);overflow:hidden;white-space:nowrap}
.gw-guide{--gg-mesh:radial-gradient(120% 130% at 12% 0%,rgba(123,191,63,.16),transparent 55%),radial-gradient(120% 130% at 100% 100%,rgba(126,30,87,.12),transparent 55%),#f5f2f9}
.gw-guide .head h2 .accent{background:#3f7a1f;color:#fff;-webkit-text-fill-color:#fff;display:inline-block;padding:.02em .26em;border-radius:8px;transform:skewX(-5deg);box-shadow:0 2px 8px rgba(74,143,37,.22)}
.guide-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;align-items:stretch}
.guide-feat{display:flex;flex-direction:column;background:#fff;border:1px solid #f1ecf6;border-radius:22px;overflow:hidden;transition:.28s cubic-bezier(.4,0,.2,1)}
.guide-feat:hover{transform:translateY(-5px);box-shadow:0 12px 28px rgba(43,0,79,.08);border-color:transparent}
.gf-media{position:relative;aspect-ratio:16/9;background:var(--gg-mesh);display:flex;align-items:center;justify-content:center;padding:22px 22px 26px;overflow:hidden}
.gf-media img{max-height:100%;width:auto;object-fit:contain;mix-blend-mode:multiply;transition:.5s cubic-bezier(.4,0,.2,1)}
.guide-feat:hover .gf-media img{transform:scale(1.05)}
.gf-tagrow{position:absolute;top:15px;left:16px;right:16px;display:flex;justify-content:space-between;align-items:center;z-index:2}
.gf-tag{background:#7E1E57;color:#fff;font-family:'Poppins',sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.04em;padding:5px 12px;border-radius:999px;box-shadow:0 4px 12px rgba(126,30,87,.28)}
.gf-time{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.92);color:#2B004F;font-weight:700;font-size:12.5px;padding:5px 11px;border-radius:999px;box-shadow:0 1px 2px rgba(43,0,79,.04)}
.gf-time svg{width:14px;height:14px}
.gf-body{padding:22px 26px 26px;display:flex;flex-direction:column;flex:1}
.gf-kicker{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#3f6f1c}
.gf-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:clamp(19px,2vw,23px);color:#2B004F;line-height:1.2;margin:8px 0 9px}
.gf-excerpt{color:#6b6280;font-size:15px;line-height:1.55}
.gf-toc{display:flex;flex-direction:column;gap:7px;margin:16px 0 4px;padding:14px 0;border-top:1px solid #ece5f2;border-bottom:1px solid #ece5f2}
.gf-toc-i{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:500;color:#4f4760}
.gf-dot{width:7px;height:7px;border-radius:50%;background:#7BBF3F;flex:none;box-shadow:0 0 0 3px rgba(123,191,63,.14)}
.gf-cta{display:inline-flex;align-items:center;gap:8px;margin-top:16px;font-family:'Poppins',sans-serif;font-weight:700;font-size:15px;color:#2B004F}
.gf-cta svg{width:18px;height:18px;transition:.22s cubic-bezier(.4,0,.2,1)}
.guide-feat:hover .gf-cta{color:#3f6f1c}
.guide-feat:hover .gf-cta svg{transform:translateX(4px)}
.guide-list{display:grid;grid-template-rows:repeat(3,1fr);gap:16px}
/* ═══ Cartes de guides : trois boîtes aux trois quarts vides — 24/08/2026 ═══
   `grid-template-rows:repeat(3,1fr)` ci-dessus, dans une rangée que
   `.guide-grid{align-items:stretch}` étire à la hauteur de la carte vedette,
   donnait des cartes de 220 px pour 96 px de contenu (icône 66 + 15 de
   rembourrage haut et bas). 122 px de vide par carte, trois fois : la colonne
   de droite ressemblait à trois cadres vides posés à côté d'un vrai bloc.
   La carte vedette, elle, est légitimement haute : média en 16/9 sur une
   colonne de 644 px (361 px) plus un corps de 328 px de texte réel. Les deux
   colonnes ne peuvent donc pas s'équilibrer par le contenu.

   Trois dispositions ont été rendues et comparées à l'écran :
     — cartes compactes calées en haut : cartes justes, mais 350 px de blanc
       sous elles, la colonne s'arrêtait à mi-hauteur ;
     — cartes compactes réparties (`space-between`) : 190 px entre chaque, les
       trois ne se lisaient plus comme une liste ;
     — retenue : hauteur plafonnée et groupe centré.
   Le plafond vaut 132 px, soit exactement deux fois les 66 px de l'icône,
   l'élément le plus haut de la carte : elle respire sans se vider. Le groupe
   fait alors 428 px, centré face aux 691 px de la vedette.

   Portée `min-width:901px` : sous 900 px, `home-e4-s4.css` passe déjà la
   grille sur une seule colonne et remet `grid-template-rows:none` — le défaut
   n'existait pas là, et le rail de téléphone ne doit surtout pas être touché. */
@media(min-width:901px){
  .guide-list{grid-template-rows:none;grid-auto-rows:minmax(auto,132px);align-content:center}
}
.gcard{display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #f1ecf6;border-radius:16px;padding:15px 17px;transition:.24s cubic-bezier(.4,0,.2,1)}
.gcard:hover{border-color:rgba(123,191,63,.5);transform:translateX(4px);box-shadow:0 4px 12px rgba(43,0,79,.05)}
.gc-ic{width:66px;height:66px;border-radius:15px;flex:none;display:grid;place-items:center;background:#f5f2f9;color:#2B004F;transition:.24s cubic-bezier(.4,0,.2,1)}
.gc-ic svg{width:36px;height:36px}
.gc-ic[data-t="par"]{background:rgba(123,191,63,.12);color:#3f6f1c}
.gc-ic[data-t="surf"]{background:rgba(43,0,79,.07);color:#2B004F}
.gc-ic[data-t="cycle"]{background:rgba(126,30,87,.10);color:#7E1E57}
.gcard:hover .gc-ic{transform:scale(1.06)}
.gc-b{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.gc-tag{font-size:10.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#7E1E57}
.gc-title{font-family:'Poppins',sans-serif;font-weight:600;font-size:15.5px;color:#2B004F;line-height:1.28}
.gc-time{font-size:12.5px;color:#6b6280;font-weight:500}
.gc-arr{width:20px;height:20px;color:#6b6280;flex:none;transition:.22s cubic-bezier(.4,0,.2,1)}
.gcard:hover .gc-arr{color:#3f6f1c;transform:translateX(3px)}
.gw-blog .posts{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.gw-blog .post{display:flex;flex-direction:column;background:#fff;border:1px solid #f1ecf6;border-radius:16px;overflow:hidden;text-decoration:none;transition:transform .24s cubic-bezier(.4,0,.2,1),box-shadow .24s cubic-bezier(.4,0,.2,1),border-color .24s cubic-bezier(.4,0,.2,1)}
.gw-blog .post:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(43,0,79,.08);border-color:transparent}
.gw-blog .post-media{position:relative;aspect-ratio:16/10;overflow:hidden;background:#f5f2f9}
.gw-blog .post-media img{width:100%;height:100%;object-fit:cover;transition:.5s cubic-bezier(.4,0,.2,1)}
.gw-blog .post:hover .post-media img{transform:scale(1.05)}
.gw-blog .post-cat{position:absolute;top:12px;left:12px;z-index:1;background:#7E1E57;color:#fff;font-family:'Poppins',sans-serif;font-weight:700;font-size:11px;letter-spacing:.04em;padding:5px 11px;border-radius:999px;box-shadow:0 4px 12px rgba(126,30,87,.3)}
.gw-blog .post-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1}
.gw-blog .post-meta{font-size:11.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:#6b6280}
.gw-blog .post-title{font-family:'Poppins',sans-serif;font-weight:700;font-size:17px;color:#2B004F;line-height:1.26;margin:7px 0 8px}
.gw-blog .post-ex{font-size:14px;color:#6b6280;line-height:1.5;flex:1}
.gw-blog .post-read{display:inline-flex;align-items:center;gap:7px;margin-top:14px;font-family:'Poppins',sans-serif;font-weight:700;font-size:13.5px;color:#2B004F}
.gw-blog .post-read svg{width:16px;height:16px;transition:transform .22s cubic-bezier(.4,0,.2,1)}
.gw-blog .post:hover .post-read{color:#3f6f1c}
.gw-blog .post:hover .post-read svg{transform:translateX(4px)}
.gw-blog .blog-all{display:flex;justify-content:center;margin-top:30px}
.eyebrow,
.gw-cat .eyebrow,
.gw-block .eyebrow,
.gw-exp .eyebrow,
.founder .eyebrow{letter-spacing:.16em;font-weight:600;transform:skewX(-7deg)}
.eyebrow > *,
.gw-cat .eyebrow > *,
.gw-block .eyebrow > *,
.gw-exp .eyebrow > *,
.founder .eyebrow > *{display:inline-block;transform:skewX(calc(-1 * -7deg))}
.eyebrow::before,
.gw-cat .eyebrow::before,
.gw-block .eyebrow::before,
.gw-exp .eyebrow::before,
.founder .eyebrow::before{
  content:"";display:inline-block;
  width:30px;height:8px;border-radius:2px;opacity:1;vertical-align:middle;margin-right:9px;
  background:#7BBF3F !important;
  transform:skewX(-7deg);
  
  box-shadow:0 0 5px rgba(123,191,63,.25);
}
.head h2,
.gw-cat .head h2,
.gw-block .head h2,
.gw-exp .lead2-main h2,
.avis-head .head h2,
.story h2,
.v4 .head h2{
  font-family:'Russo One',sans-serif !important;
  font-weight:400 !important;
  font-size:clamp(28px,3.9vw,48px) !important;
  line-height:1.06 !important;letter-spacing:-.01em !important;
  text-transform:uppercase;
  color:#2B004F;
  position:relative;display:inline-block;
  transform:skewX(-7deg);transform-origin:left;
  padding-bottom:.32em;
}
.head h2::after,
.gw-cat .head h2::after,
.gw-block .head h2::after,
.gw-exp .lead2-main h2::after,
.avis-head .head h2::after,
.story h2::after{
  content:"";position:absolute;left:0;bottom:0;
  width:96px;height:5px;border-radius:3px;
  background:#7BBF3F !important;
  box-shadow:0 0 6px rgba(123,191,63,.2);
}
.head:not(.head--left) h2{transform:skewX(-7deg);padding-bottom:.42em}
.head:not(.head--left) h2::after{left:50%;transform:translateX(-50%)}
.gamme,.vprod{
  background:rgba(255,255,255,.78) !important;
  border:1px solid rgba(43,0,79,.08) !important;
  box-shadow:0 1px 2px rgba(43,0,79,.04),0 6px 16px rgba(43,0,79,.05) !important;
}
.gamme:hover,.vprod:hover{box-shadow:0 0 0 1px rgba(123,191,63,.10),0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09) !important;border-color:rgba(123,191,63,.32) !important}
.founder .since,.founder .since span{color:#2B004F !important}
.founder .fstat .n{color:#2B004F !important}
.founder .fstat .l{color:#7c7390 !important}
.founder .sign-n{color:#2B004F !important}
.founder .sign-r{color:#7c7390 !important}
.head h2::after,.gw-cat .head h2::after,.gw-block .head h2::after,.gw-exp .lead2-main h2::after,.avis-head .head h2::after,.story h2::after{box-shadow:none !important;height:4px !important;width:64px !important}
.gw-cat .eyebrow::before,.gw-block .eyebrow::before,.gw-exp .eyebrow::before,.founder .eyebrow::before,.hero-stat::before{box-shadow:none !important}
.band--brand .head h2,
.band--brand .avis-head .head h2{color:#fff}
.band--brand .steps::before{background:repeating-linear-gradient(90deg,rgba(255,255,255,.18) 0 8px,transparent 8px 16px)}
.gw-exp .lead2-kicker{font-size:16.5px;color:#6b6280;margin:0 0 28px;max-width:54ch}
.gw-exp .proof{position:sticky;top:28px}
.gw-exp .proof-card{position:relative;overflow:hidden;border-radius:22px;color:#2B004F !important;padding:30px 30px 28px;background:radial-gradient(520px 320px at 88% -12%,rgba(126,30,87,.12),transparent 60%),radial-gradient(420px 320px at 4% 108%,rgba(123,191,63,.16),transparent 58%),linear-gradient(158deg,#ffffff,#f5f2f9) !important;border:1px solid rgba(255,255,255,.85);box-shadow:0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09),0 0 0 1px rgba(123,191,63,.10) !important}
.gw-exp .proof-card::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(43,0,79,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(43,0,79,.045) 1px,transparent 1px) !important;background-size:50px 50px;-webkit-mask-image:radial-gradient(circle at 76% 14%,#000,transparent 76%);mask-image:radial-gradient(circle at 76% 14%,#000,transparent 76%);pointer-events:none}
.gw-exp .proof-card>*{position:relative;z-index:1}
.gw-exp .proof-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#7E1E57 !important;background:rgba(255,255,255,.66) !important;border:1px solid rgba(43,0,79,.08) !important;padding:6px 14px;border-radius:999px;margin-bottom:20px}
.gw-exp .proof-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:#7BBF3F;box-shadow:0 0 10px #7BBF3F}
.gw-exp .proof-list{display:flex;flex-direction:column}
.gw-exp .proof-item{display:flex;align-items:center;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.gw-exp .proof-item:last-of-type{border-bottom:0}
.gw-exp .proof-ic{width:42px;height:42px;flex-shrink:0;border-radius:12px;background:rgba(123,191,63,.14) !important;border:1px solid rgba(123,191,63,.3) !important;display:flex;align-items:center;justify-content:center;color:#3f6f1c !important}
.gw-exp .proof-ic svg{width:21px;height:21px}
.gw-exp .proof-txt{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.gw-exp .proof-n{font-family:'Russo One',sans-serif;font-size:22px;color:#2B004F !important;line-height:1}
.gw-exp .proof-l{font-size:12.5px;color:#c9b8de;margin-top:5px}
.gw-exp .proof-stars-row{display:flex;align-items:center;gap:9px;margin-top:6px;flex-wrap:wrap}
.gw-exp .proof-stars-row .stars{font-size:14px}
.gw-exp .proof-stars-row .rc{font-size:12px;color:#c9b8de}
.gw-exp .proof-verified{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#3f6f1c !important;background:rgba(123,191,63,.18);border:1px solid rgba(123,191,63,.42);border-radius:999px;padding:3px 9px 3px 7px;white-space:nowrap}
.gw-exp .proof-verified svg{width:12px;height:12px;color:#7BBF3F;flex-shrink:0}
.gw-exp .proof-premium{display:flex;align-items:center;gap:12px;margin-top:20px;background:rgba(123,191,63,.15);border:1px solid rgba(123,191,63,.40);border-radius:13px;padding:13px 16px}
.gw-exp .proof-premium svg{width:22px;height:22px;color:#7BBF3F;flex-shrink:0;background:rgba(123,191,63,.20);border-radius:50%;padding:3px}
.gw-exp .proof-premium .pp-t{font-family:'Poppins',sans-serif;font-weight:700;font-size:13.5px;color:#2B004F !important;line-height:1.2}
.gw-exp .proof-premium .pp-d{font-size:12px;color:#c9b8de;margin-top:2px}
.gw-exp .proof-cta{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:18px;width:100%;font-family:'Poppins',sans-serif;font-weight:700;font-size:14.5px;color:#13002a;background:linear-gradient(135deg,#8fd24f,#7BBF3F);border:0;border-radius:999px;padding:14px 22px;cursor:pointer;box-shadow:0 7px 14px rgba(123,191,63,.2),0 0 0 1px rgba(123,191,63,.16) !important;transition:.32s cubic-bezier(.22,1,.36,1) !important}
.gw-exp .proof-cta:hover{transform:translateY(-2px);box-shadow:0 11px 18px rgba(123,191,63,.28),0 0 0 1px rgba(123,191,63,.24) !important;filter:brightness(1.04)}
.gw-exp .proof-cta:focus-visible{outline:2px solid #fff;outline-offset:3px}
.gw-exp .proof-cta svg{width:17px;height:17px;transition:transform .2s cubic-bezier(.4,0,.2,1)}
.gw-exp .proof-cta:hover svg{transform:translateX(3px)}
.gw-exp .proof-l,.gw-exp .proof-stars-row .rc,.gw-exp .proof-premium .pp-d{color:#7c7390 !important}
#index .prose a{color:#3f6f1c!important}
#index .prose a:hover{color:#7E1E57!important}
#index .gw-guide .link-all,#index .link-all{color:#2B004F!important}
#index a.proof-cta,#index a.proof-cta:hover{color:#13002a!important;text-decoration:none}
.v4-nav{position:sticky;top:120px;display:flex;flex-direction:column;gap:9px}
.v4-tab{display:flex;align-items:center;gap:12px;padding:13px 15px;background:rgba(255,255,255,.78) !important;border:1px solid rgba(43,0,79,.08) !important;border-radius:16px;cursor:pointer;text-align:left;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:.2s cubic-bezier(.22,1,.36,1) !important}
.v4-bar{position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--brand);opacity:.5;transition:.2s}
.v4-logo{min-width:48px;height:34px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-left:4px;background:#fff;border-radius:7px;padding:4px 8px;box-shadow:0 1px 3px rgba(43,0,79,.10)}
.v4-logo img{max-height:24px;max-width:48px;object-fit:contain}
.v4-meta{display:flex;flex-direction:column;line-height:1.2}
.v4-name{font-family:'Poppins',sans-serif;font-weight:700;font-size:14.5px;color:#2B004F}
.v4-count{font-size:10.5px;color:#6b6280;margin-top:3px;font-weight:500}
.v4-tab:hover{transform:translateX(2px);box-shadow:0 1px 2px rgba(43,0,79,.04),0 6px 16px rgba(43,0,79,.05) !important;border-color:rgba(123,191,63,.32) !important}
.v4-tab:hover .v4-bar{opacity:1;width:5px}
.v4-tab.active{background:linear-gradient(150deg,color-mix(in srgb,var(--brand) 22%,#fff),color-mix(in srgb,var(--brand) 8%,#fff)) !important;border-color:color-mix(in srgb,var(--brand) 45%,transparent) !important;box-shadow:0 10px 26px color-mix(in srgb,var(--brand) 22%,transparent) !important}
.v4-tab.active .v4-bar{opacity:0}
.v4-tab.active .v4-name{color:#2B004F !important}
.v4-tab.active .v4-count{color:#7c7390 !important}
.v4-tab.active .v4-logo{box-shadow:0 4px 12px rgba(0,0,0,.22)}
.v4-panel{display:none}
.v4-panel.active{display:block;animation:rise .45s cubic-bezier(.4,0,.2,1)}
.v4-hero{position:relative;border-radius:22px;overflow:hidden;color:#2B004F !important;display:grid;grid-template-columns:1.15fr .85fr;gap:20px;padding:44px 46px;align-items:center;min-height:320px;background:radial-gradient(820px 460px at 86% 4%,color-mix(in srgb,var(--brand) 26%,transparent),transparent 58%),radial-gradient(560px 400px at 4% 106%,rgba(123,191,63,.16),transparent 56%),linear-gradient(150deg,#ffffff,#f5f2f9 86%) !important;border:1px solid rgba(255,255,255,.85);box-shadow:0 2px 6px rgba(43,0,79,.06),0 16px 36px rgba(43,0,79,.09),0 0 0 1px color-mix(in srgb,var(--brand) 16%,transparent) !important}
.v4-hero::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(43,0,79,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(43,0,79,.04) 1px,transparent 1px) !important;background-size:56px 56px;-webkit-mask-image:radial-gradient(circle at 72% 38%,#000,transparent 74%);mask-image:radial-gradient(circle at 72% 38%,#000,transparent 74%)}
.v4-watermark{position:absolute;right:-2%;bottom:-14%;font-family:'Russo One',sans-serif;font-size:clamp(90px,14vw,200px);line-height:.8;color:var(--brand) !important;opacity:.07 !important;white-space:nowrap;z-index:1}
.v4-hero-l,.v4-hero-r{position:relative;z-index:2}
.v4-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#7E1E57 !important;background:rgba(255,255,255,.7) !important;border:1px solid rgba(43,0,79,.08) !important;padding:6px 14px;border-radius:999px;margin-bottom:18px}
.v4-brandname{display:block;font-family:'Russo One',sans-serif;font-size:clamp(32px,4.5vw,52px);color:#2B004F !important;line-height:.98;margin-bottom:14px}
.v4-metarow{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.v4-mchip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#2B004F !important;background:rgba(255,255,255,.72) !important;border:1px solid rgba(43,0,79,.08) !important;padding:5px 12px;border-radius:999px}
.v4-mchip svg{width:13px;height:13px;opacity:.85}
.v4-mchip.star svg{color:#ffd84d;opacity:1}
.v4-accr{font-family:'Poppins',sans-serif;font-weight:600;font-size:clamp(15px,1.8vw,18px);color:#2B004F !important;margin-bottom:11px;max-width:24ch}
.v4-desc{color:#5f5670 !important;font-size:13.5px;line-height:1.6;max-width:46ch;margin-bottom:16px}
.v4-premium{display:inline-flex;align-items:center;gap:11px;background:rgba(123,191,63,.14) !important;border:1px solid rgba(123,191,63,.42) !important;border-radius:11px;padding:11px 16px;margin-bottom:22px;color:#3f6f1c !important;font-size:13px}
.v4-premium svg{width:20px;height:20px;color:#7BBF3F;flex-shrink:0;background:rgba(123,191,63,.22);border-radius:50%;padding:3px}
.v4-premium b{font-weight:700}
.v4-hero-r{display:flex;align-items:center;justify-content:center;min-height:240px}
.v4-body{background:color-mix(in srgb,var(--brand) 5%,#fff);border:1px solid color-mix(in srgb,var(--brand) 14%,#ece5f2);border-radius:22px;padding:30px 32px;margin-top:18px}
.vprod{background:#fff;border:1px solid #f1ecf6;border-radius:var(--gw-r);overflow:hidden;display:flex;flex-direction:column;transition:.24s cubic-bezier(.4,0,.2,1)}
.vprod-img{height:130px;display:flex;align-items:center;justify-content:center;background:#f5f2f9;padding:14px}
.vprod-img img{max-height:100%;max-width:100%;object-fit:contain;mix-blend-mode:multiply;transition:.4s cubic-bezier(.4,0,.2,1)}
.vprod-b{padding:13px 15px 15px;display:flex;flex-direction:column;gap:7px;flex:1}
.vprod-n{font-family:'Poppins',sans-serif;font-weight:600;font-size:13.5px;color:#2B004F;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:36px}
.vprod-p{font-family:'Poppins',sans-serif;font-weight:700;font-size:16px;color:#2B004F;margin-top:auto}
.vprod-p .o{font-size:12.5px;color:#6d6480;text-decoration:line-through;margin-left:5px;font-weight:500}
.v4-mchip svg{opacity:.9}
.v4-premium b{color:#3f6f1c}
.v4-premium span{color:#4f4760}
#index .columns-container{overflow:visible;overflow-x:clip;background-image:none!important;background-color:#fff}
#index .v4-mchip{display:inline-flex;color:#2B004F;background:rgba(255,255,255,.72);border:1px solid rgba(43,0,79,.08)}
#index .v4-mchip.star{float:none;width:auto!important;height:auto!important;overflow:visible;text-indent:0;font-size:12px!important;padding:5px 12px!important;position:static;top:auto;cursor:default;margin:0}
#index .v4-mchip.star svg{width:13px;height:13px}
#index .v4-mchip.star::before,#index .v4-mchip.star::after{content:none!important}
.gw-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

@media(max-width:1100px){.seo-block--categories .categories-acceuil{grid-template-columns:repeat(2,1fr)}}
@media(max-width:1080px){.type-grid{grid-template-columns:repeat(5,1fr)}}
@media(max-width:980px){.steps{grid-template-columns:repeat(3,1fr)}.steps::before{display:none}}
@media(max-width:920px){.gw-exp .lead2{grid-template-columns:1fr;gap:36px}.gw-exp .proof{position:static}.gw-exp .lead2-kicker{max-width:none}}
@media(max-width:900px){.gw-blog .posts{grid-template-columns:1fr 1fr;gap:18px}.guide-grid{grid-template-columns:1fr;gap:18px}.gf-media{aspect-ratio:16/8}.guide-list{grid-template-rows:none}}
@media(max-width:880px){.v4{grid-template-columns:1fr}.avis-head{align-items:flex-start}.hist{grid-template-columns:1fr;gap:28px}.founder{position:static}.v4-nav{position:static;flex-direction:row;overflow-x:auto;padding-bottom:6px}.v4-tab{flex:0 0 auto}.v4-hero{grid-template-columns:1fr;text-align:center;padding:30px 22px}.v4-hero-r{order:-1}.v4-eyebrow,.v4-metarow,.bbadges{justify-content:center}}
@media(max-width:760px){.type-grid{grid-template-columns:repeat(3,1fr)}.steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.gw-blog .posts{grid-template-columns:1fr}}
@media(max-width:560px){.gw-hero .aff-cta-row .btn{width:100%}.seo-block--categories .categories-acceuil{grid-template-columns:1fr}}
@media(max-width:520px){.gc-ic{width:56px;height:56px}.gc-ic svg{width:30px;height:30px}.gf-toc{display:none}}
@media(max-width:480px){.type-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:420px){.gw-exp .proof-card{padding:26px 20px 24px}.gw-exp .proof-n{font-size:20px}}

/* Récupération : règle principale du marquee (boundary '.marquee' ratait '-track')
   + @keyframes skippées par l'extraction (scroll/fade/rise) */
.marquee-track{display:flex;gap:18px;width:max-content;animation:scroll 55s linear infinite}
@keyframes scroll{to{transform:translateX(-50%)}}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* ============================================================================
   AUDIT 08/2026 — RÉORGANISATION DE L'ACCUEIL
   Réordonnancement + 3 fusions + correctifs. Aucun texte indexable retiré.
   Voir modules/gwps_growled_home/views/templates/hook/home.tpl pour l'ordre.
   ========================================================================= */

/* --- 1. H1 dans le prolongement du slider ------------------------------- */
#index .gw-h1-band{background:var(--gw-ink-900,#1a0033)}
#index .gw-h1{
  display:flex;align-items:center;gap:14px;
  max-width:var(--gw-wrap,min(90%,1600px));margin:0 auto;
  padding:15px var(--gw-gutter,24px) 17px;
  font:600 17px/1.4 'Poppins',sans-serif;letter-spacing:.01em;
  color:#f3eef8;
}
#index .gw-h1::before{
  content:'';display:block;flex:0 0 3px;align-self:stretch;
  border-radius:3px;background:#8ed04e;
}
@media(max-width:767px){
  #index .gw-h1{gap:11px;padding-top:13px;padding-bottom:15px;font-size:14px;line-height:1.45}
}

/* --- 2. blocs fusionnés ---------------------------------------------------
   .gw-embed : un partiel rendu à l'intérieur d'une bande hôte, sans sa propre
   <section> ni son propre fond. .bw-inner reprend la largeur utile sans
   réappliquer les marges de bande. */
.gw-embed .bw-inner{width:100%}
.gw-merge{margin-top:38px;padding-top:30px;border-top:1px solid rgba(0,0,0,.10)}
.gw-merge-label{
  font:700 12px/1 'Poppins',sans-serif;letter-spacing:.11em;text-transform:uppercase;
  color:#6d6169;margin-bottom:8px;
}
.gw-merge-label span{font-weight:400;text-transform:none;letter-spacing:0;color:#948a9f}
.gw-merge-note{
  font:500 14px/1.55 'Poppins',sans-serif;color:#5c5168;
  background:#f4f0f8;border-left:3px solid #7bbf3f;padding:11px 14px;
  border-radius:0 6px 6px 0;margin:0 0 22px;
}
.gw-merge-note a{color:#2b004f;font-weight:700}

/* bande hôte SOMBRE : le séparateur et les libellés doivent suivre */
.band--brand .gw-merge{border-top-color:rgba(255,255,255,.16)}
.band--brand .gw-merge-label{color:#9be06a}
.band--brand .gw-merge-label span{color:#b7a8c6}
.band--brand .gw-merge-note{background:rgba(255,255,255,.07);color:#d6cae2;border-left-color:#9be06a}
.band--brand .gw-merge-note a{color:#9be06a}

/* --- 3. les guides rendus dans l'Academy (bande sombre) ------------------- */
.gw-merge--guides .gw-guide h2,
.gw-merge--guides .gw-guide .head p{color:#efe8f4}
.gw-merge--guides .gw-guide .eyebrow{color:#9be06a}
/* … mais les fiches restent des cartes blanches : on rétablit l'encre du thème
   à l'intérieur, sans quoi elles héritent de la couleur claire de la bande. */
.gw-merge--guides .guide-feat,
.gw-merge--guides .gcard{color:#2b004f}
.gw-merge--guides .guide-feat *,
.gw-merge--guides .gcard *{color:revert}
.gw-merge--guides .gf-tag{color:#fff}

/* --- 4. le mur de marques en clôture des fabricants ----------------------- */
/* Le marquee garde SON gabarit : 150x84, images a 46px, defilement de 55 s,
   pause au survol, et le passage du gris a la couleur avec un leger
   soulevement. En le fusionnant, je l'avais rapetisse a 52 px de haut et
   30 px d'image « pour compacter » — ce qui ecrasait justement le dispositif
   qui fait l'effet. Seul le titre est compacte, pas les logos. */
.gw-merge--brands .marquee{margin-top:14px}


/* --- 5. « Notre histoire » dans « Leader Européen » ----------------------- */
.gw-merge--hist .hist{margin:0}

/* --- 6. « Le mag » en bande sombre ---------------------------------------
   C'est cette inversion qui referme l'alternance clair/sombre de la page :
   avec 4 fonds sombres pour 5 clairs, aucun ordre ne pouvait y arriver seul. */
#index .gw-blog--invert{background:linear-gradient(180deg,#2b004f,#3d1063)!important}
#index .gw-blog--invert .head h2{color:#fff}
#index .gw-blog--invert .eyebrow,
#index .gw-blog--invert .eyebrow span{color:#e9a9cf}
#index .gw-blog--invert .head p{color:#c9b8d8}
#index .gw-blog--invert a.post{background:#fff;border-radius:14px;overflow:hidden}
#index .gw-blog--invert a.post .post-title{color:#2b004f}
#index .gw-blog--invert a.post .post-meta{color:#8b7f99}
#index .gw-blog--invert a.post .post-ex{color:#5c5168}
#index .gw-blog--invert .blog-all a{background:#f4a81c;color:#2b004f;border:0}

/* --- 7. sortie de la section Avis ----------------------------------------
   Elle ne contenait strictement aucun lien : 502 px qui affirment 1 743 avis
   et ne mènent nulle part, alors que la page qui les contient existe. */
.avis-out{display:flex;justify-content:center;margin-top:26px}
.avis-out-cta{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 22px;border-radius:10px;background:#f4a81c;color:#2b004f;
  font:700 13.5px/1 'Poppins',sans-serif;letter-spacing:.02em;text-decoration:none;
}
.avis-out-cta svg{width:17px;height:17px}
.avis-out-cta:hover{background:#ffbe45;color:#2b004f}

/* --- 8. puces « recherches populaires » : place réservée sous la barre ----
   (la règle qui les sort du champ est dans e4-header.css) */
@media(min-width:1301px){#header .gw-search-wrap,#search_block_top{padding-bottom:2px}}

/* --- 4bis. le mur de marques intégré ne doit pas refaire « une section » ----
   Son en-tête complet (eyebrow + H2 XXL + sous-titre) redonnait l'impression
   de deux blocs empilés. Le H2 reste dans le DOM, en sous-titre. */
.gw-merge--brands .head{margin:0 0 18px;text-align:left}
.gw-merge--brands .head .eyebrow{display:none}
/* home-e4-b3.css:66-74 impose clamp(28px,3.9vw,48px) en !important sur
   `.head h2` : sans !important ici, le titre du mur de marques restait en
   48 px et se lisait comme un second titre de section, posé APRÈS les fiches
   qu'il annonce. C'est ce qui faisait paraître la fusion bâclée. */
.gw-merge--brands .head h2{
  font-size:clamp(16px,1.3vw,19px)!important;
  font-family:var(--gw-font,'Poppins',sans-serif)!important;
  font-weight:700!important;
  line-height:1.25!important;
  letter-spacing:.01em!important;
  margin:0 0 3px!important;
  /* UX-DSK-009 (audit du 04/09) : #c9b7e0 vient du temps ou ce mur etait une
     bande sombre. Fusionne sur fond clair, il donnait 1,85:1 — un titre de
     section illisible. */
  color:var(--gw-ink-700)!important;
  text-transform:uppercase;
}
.gw-merge--brands .head h2::after{display:none}
.gw-merge--brands .head p{font-size:13.5px;margin:0;color:var(--gw-n600)!important} /* UX-DSK-009 : 2,18:1 avant */
.gw-merge--brands .gw-merge-label{display:none}

/* --- 9. vignettes « Meilleures ventes » du bloc catégories -----------------
   48 emplacements (4 vignettes × 12 rayons) à la meilleure place de la page
   n'affichaient ni prix ni appel à l'achat. */
#index .miniprod .mp-price{
  display:block;margin-top:5px;
  font:800 13.5px/1.2 'Poppins',sans-serif;color:#2b004f;
  font-variant-numeric:tabular-nums;
}
#index .miniprod .mp-price s{
  font-weight:500;font-size:11.5px;color:#8b8399;margin-left:5px;text-decoration:line-through;
}
#index .miniprod .mp-cta{
  display:block;margin-top:7px;padding:6px 8px;border-radius:7px;
  background:#f4a81c;color:#2b004f;
  font:700 11px/1 'Poppins',sans-serif;text-align:center;letter-spacing:.02em;
  transition:background var(--gw-dur-1,.18s) ease;
}
#index .miniprod:hover .mp-cta{background:#ffbe45}

/* ─── Mur des marques · deux rangs croisés ──────────────────────────────
   Les logos sont des JPG 200x39 a fond blanc opaque : aucune transparence.
   Sur fond clair ce blanc se confondait, ce qui donnait l'illusion qu'il
   n'y avait pas de cadre ; sur un fond sombre il devenait un rectangle.
   `mix-blend-mode: multiply` le fait reellement disparaitre — c'est ce qui
   permet de supprimer les cartes au lieu de les cacher.
   Reserve mesuree : 7 logos sur 30 portent un fond sombre DANS l'image
   (MIGRO 77, TerraLED 90, Biobizz 93 de luminance moyenne). Le multiply ne
   peut rien pour eux ; il faudrait les regenerer en PNG transparent. */
.gw-merge--brands{
  margin-top:34px;
  padding:26px 0 22px;
  border-top:1px solid #ece7f3;
  border-bottom:1px solid #ece7f3;
}
.gw-merge--brands .head{margin:0 0 16px}
.gw-merge--brands .marquee{
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.gw-merge--brands .mq-r2{margin-top:6px}
.gw-merge--brands .mq-r2 .marquee-track{animation-direction:reverse;animation-duration:74s}
.gw-merge--brands .marquee-track{gap:24px}
/* Plus de carte : le logo se pose directement. */
.gw-merge--brands .mlogo{
  width:170px!important;height:64px!important;
  background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;
}
.gw-merge--brands .mlogo:hover{
  box-shadow:none!important;border-color:transparent!important;transform:none!important;
}
.gw-merge--brands .mlogo img{
  max-height:38px!important;
  mix-blend-mode:multiply;
  filter:grayscale(1) contrast(.72) brightness(1.12);
  opacity:.58;
  transition:opacity .3s ease,filter .3s ease,transform .3s ease;
}
.gw-merge--brands .mlogo:hover img{filter:none;opacity:1;transform:scale(1.07)}

/* Trois logos sur vingt-quatre ne sont pas detourables : leur fond sombre fait
   partie du logo (Terra Aquatica, TerraLED, Biobizz). Detourer puis inverser la
   luminance a ete essaye et rejete — « TerraLED » y perdait son LED rouge et
   Terra Aquatica changeait de couleur. Ils gardent donc leur JPG, avec une
   pastille arrondie : un cadre assume se lit mieux qu'un rectangle accidentel. */
.gw-merge--brands .mlogo--plein img{
  mix-blend-mode:normal;
  border-radius:8px;
  padding:0;
  max-height:34px!important;
  box-shadow:0 1px 3px rgba(26,0,51,.10);
}
@media(max-width:940px){
  .gw-merge--brands{margin-top:24px;padding:20px 0 18px}
  .gw-merge--brands .mlogo{width:136px!important;height:58px!important}
  .gw-merge--brands .mlogo img{max-height:32px!important}
}
@media(prefers-reduced-motion:reduce){
  .gw-merge--brands .marquee-track{animation:none}
}

/* === e4-home-mobile.css === */
/* =============================================================================
   E4 · ACCUEIL MOBILE — configuration « Équilibré+ »
   -----------------------------------------------------------------------------
   Pourquoi un fichier de plus plutôt qu'une rallonge d'e4-mobile.css :
   e4-mobile.css est lié en header.tpl:312, AVANT home-e4.css (326),
   home-e4-b3.css (329) et home-e4-s4.css (331). À spécificité égale il PERD.
   Le contourner demandait un !important par règle. Ce fichier-ci est lié
   APRÈS toute la pile de l'accueil et UNIQUEMENT sous {if $page_name=='index'} :
   il prime naturellement et ne peut pas fuir vers la fiche produit ou la
   catégorie — la fuite exacte qui avait déjà touché `.head` lors du chantier
   précédent.

   Principe de tout le fichier : AUCUN contenu ne bouge.
   Pas un mot, pas un titre, pas un lien, pas une URL, pas un bloc retiré.
   Les piles verticales deviennent des rails horizontaux : le DOM est
   identique, tous les liens restent rendus et atteignables au doigt.

   Point de rupture unique 767px. Au-dessus, ce fichier est vide —
   le desktop est mesuré sain (12 721px, CLS 0,001) et n'est pas touché.
   ========================================================================== */

@media (max-width:767px){

  /* ── Le motif « rail » ────────────────────────────────────────────────
     Une pile de N cartes de H pixels coûte N×H. La même pile en rail coûte
     H. Le nombre de liens ne change pas ; seul l'axe change. `proximity`
     plutôt que `mandatory` : l'aimantation stricte empêche d'entrevoir la
     carte suivante, donc de savoir qu'il y en a une.
     ------------------------------------------------------------------- */
  #index .gw-side,
  #index .cpanel-col .pillrow,
  #index .cpanel-col.col-brands .brandgrid,
  #index .gammes-grid,
  #index .prods-grid,
  #index .type-grid,
  #index .gwa-out-grid,
  #index .gwa-ray-grid,
  #index .guide-list,
  #index .lead2 .pillars,
  #index .proof-list,
  #index .posts,
  #index .hist .fstats{
    display:flex;
    /* `.proof-list` était déjà en flex COLONNE : sans réinitialiser l'axe,
       `display:flex` ne changeait rien et la pile restait une pile. */
    flex-direction:row;
    align-items:stretch;
    flex-wrap:nowrap;
    overflow-x:auto;
    overflow-y:hidden;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    /* Sans cette ligne, l'aimantation vise le bord de la première carte et
       AVALE le padding : mesuré scrollLeft=16 au repos sur les cinq rails,
       carte collée au bord de l'écran et visuel qui mord sur la gouttière.
       `scroll-padding` dit au moteur d'aimantation où commence le contenu. */
    scroll-padding-left:16px;
    scroll-padding-right:16px;
    /* le rail affleure les deux bords de l'écran : on récupère les 16px de
       gouttière posés par e4-mobile.css, sinon la dernière carte semble
       coupée par erreur au lieu de « continuer ». */
    margin-left:-16px;
    margin-right:-16px;
    padding-left:16px;
    padding-right:16px;
    padding-bottom:8px;
  }
  #index .gw-side::-webkit-scrollbar,
  #index .cpanel-col .pillrow::-webkit-scrollbar,
  #index .cpanel-col.col-brands .brandgrid::-webkit-scrollbar,
  #index .gammes-grid::-webkit-scrollbar,
  #index .prods-grid::-webkit-scrollbar,
  #index .type-grid::-webkit-scrollbar,
  #index .gwa-out-grid::-webkit-scrollbar,
  #index .gwa-ray-grid::-webkit-scrollbar,
  #index .guide-list::-webkit-scrollbar,
  #index .lead2 .pillars::-webkit-scrollbar,
  #index .proof-list::-webkit-scrollbar,
  #index .posts::-webkit-scrollbar,
  #index .hist .fstats::-webkit-scrollbar{height:0;width:0}

  #index .gw-side > *,
  #index .cpanel-col .pillrow > *,
  #index .cpanel-col.col-brands .brandgrid > *,
  #index .gammes-grid > *,
  #index .prods-grid > *,
  #index .type-grid > *,
  #index .gwa-out-grid > *,
  #index .gwa-ray-grid > *,
  #index .guide-list > *,
  #index .lead2 .pillars > *,
  #index .proof-list > *,
  #index .posts > *,
  #index .hist .fstats > *{scroll-snap-align:start;flex:0 0 auto}

  /* Largeur de carte par rail. Toutes sous 100% : une fraction de la carte
     suivante reste visible, ce qui est le seul indice fiable qu'un rail
     défile — plus fiable qu'une flèche décorative. */
  #index .gw-side > .gwfb          {width:76%;max-width:290px}
  #index .cpanel-col .pillrow > *  {width:auto;max-width:none}
  #index .brandgrid > *            {width:96px}
  #index .gammes-grid > .gamme     {width:64%;max-width:250px}
  #index .prods-grid > .vprod      {width:44%;max-width:170px}
  #index .type-grid > .tt          {width:41%;max-width:158px}
  #index .gwa-out-grid > *         {width:78%;max-width:300px}
  #index .gwa-ray-grid > *         {width:58%;max-width:225px}
  #index .guide-list > .gcard      {width:80%;max-width:308px}
  #index .lead2 .pillars > .pillar {width:82%;max-width:315px}
  #index .proof-list > .proof-item {width:82%;max-width:315px}
  #index .posts > .post            {width:78%;max-width:300px}
  #index .hist .fstats > .fstat    {width:41%;max-width:158px}


  /* ── Le piège des ancêtres flex/grid ──────────────────────────────────
     Un enfant `flex-wrap:nowrap` ne rétrécit pas : il pousse. Or tout item
     de flex ou de grid vaut `min-width:auto` par défaut, donc l'ancêtre
     grossit avec lui au lieu de le contraindre. Mesuré : `.gammes-grid` et
     `.prods-grid` sortaient de 153px hors de l'écran (L33 → R543), en
     emmenant `.blk-head` avec eux. On rend explicitement rétractables tous
     les conteneurs qui portent un rail.
     ------------------------------------------------------------------- */
  #index .v4,
  #index .v4-content,
  #index .v4-panel,
  #index .v4-body,
  #index .v4-hero,
  #index .cat2,
  #index .cat2-stage,
  #index .cpanel,
  #index .cpanel-cols,
  #index .cpanel-tops,
  #index .lead2,
  #index .lead2-main,
  #index .proof,
  #index .proof-card,
  #index .hist,
  #index .hist .story,
  #index .hist .founder,
  #index .guide-grid,
  #index .gwa-out,
  #index .gwa-ray,
  #index .gw-hero-grid{min-width:0}

  /* ── Ajustements internes rendus nécessaires par le passage en rail ──── */

  /* Une carte produit d'un rail ne peut pas garder une image carrée de
     130px de haut pour 44% de largeur : elle deviendrait plus haute que
     large. On la ramène à la proportion de sa nouvelle boîte. */
  #index .prods-grid .vprod-img,
  #index .gammes-grid .gamme-img,
  #index .type-grid .tt-img,
  #index .posts .post-media{overflow:hidden;display:block}
  #index .prods-grid .vprod-img{height:104px}
  #index .gammes-grid .gamme-img{height:118px}
  #index .type-grid .tt-img{height:112px}
  #index .posts .post-media{height:150px}
  /* Sans `width:100%`, l'image gardait sa largeur naturelle et sortait de la
     carte par la gauche — relevé sur la première vignette d'article, dont le
     visuel mordait sur la gouttière. `contain` sur les visuels produit : un
     panneau LED recadré n'est plus reconnaissable. `cover` sur les articles,
     dont le visuel est une photo d'ambiance. */
  #index .prods-grid .vprod-img img,
  #index .gammes-grid .gamme-img img,
  #index .type-grid .tt-img img{width:100%;height:100%;object-fit:contain}
  #index .posts .post-media img{width:100%;height:150px;object-fit:cover}
  #index .guide-list .gcard{align-items:flex-start}

  /* Le visuel produit du panneau fabricant occupait 270px pour illustrer un
     bloc qu'on vient de resserrer. */
  #index .v4-hero-r{max-height:170px}
  #index .v4-hero-r .hero-prod{max-height:170px;width:auto}
  #index .v4-hero-r .halo{max-height:200px}
  #index .v4-hero{padding-top:12px;padding-bottom:12px}
  #index .v4-hero-l{gap:8px}
  #index .v4-desc{margin-bottom:4px}

  /* ── En-têtes de section ──────────────────────────────────────────────
     Relevé : 186px pour Catégories, 197px pour Marques et pour Choisir par
     type, 278px pour la sélection produits. C'est le prix d'entrée AVANT le
     premier élément utile, payé treize fois. On resserre l'espacement et
     l'interligne du titre ; ni le texte ni la hiérarchie ne changent.
     ------------------------------------------------------------------- */
  #index .head,
  #index .head--left{margin-bottom:14px}
  #index .head h2,
  #index .gw-guide .head--left h2{line-height:1.12;margin-bottom:6px}
  #index .head .eyebrow{margin-bottom:4px}
  #index .head p,
  #index .head .sub{margin-bottom:0}
  #index .gw-guide-intro{margin-top:8px}

  /* ── Colonnes de filtres du bloc Catégories ───────────────────────────
     Quatre colonnes empilées : 172 + 274 + 172 + 466 = 1 084px de pastilles.
     En rail, chaque colonne tient sur une ligne. Les 62 liens restent tous
     dans le rendu, aucun n'est masqué.
     ------------------------------------------------------------------- */
  #index .cpanel-cols{gap:12px}
  #index .cpanel-col{min-width:0}
  #index .cpanel-col h4{margin-bottom:6px}

  /* ── Rythme des sections encore lourdes ───────────────────────────────
     Academy, Leader et Histoire gardent leur volume de texte : c'est du
     contenu, il reste. On ne touche qu'aux espacements.
     ------------------------------------------------------------------- */
  #index .gwa-out{margin-top:20px;padding-top:16px}
  #index .gwa-ray{margin-top:18px;padding-top:14px}
  #index .gwa-syl{margin-bottom:14px}
  #index .cta-row{margin-top:14px}
  #index .lead2-main{gap:12px}
  #index .lead2 .pillars{margin-top:12px}
  #index .proof-card{padding:18px 16px}
  #index .hist{gap:16px}
  #index .hist .founder{gap:12px}
  #index .hist .story h2{margin-bottom:8px}
  #index .gw-nl-in{gap:12px}
  #index .gw-nl-txt{margin-bottom:0}
}

/* =============================================================================
   PASSE 2 — les blocs restés en pile après le passage en rails
   Relevé après la passe 1, à 390x844. Aucun texte ne change ici non plus :
   seules des tailles et des espacements bougent.
   ========================================================================== */
@media (max-width:767px){

  /* ── Les dix en-têtes de section pèsent 1 719 px ──────────────────────
     Mesuré un par un : 177, 266, 184, 119, 119, 184, 263, 253, 154 px.
     Le titre est à 28px pour un écran de 390 : « Le meilleur de l'éclairage
     horticole » y tient sur trois lignes de 30px. À 24px il en tient deux,
     et Russo One reste largement dominant à cette taille. Le texte, lui,
     est identique au caractère près.
     ------------------------------------------------------------------- */
  #index .head h2,
  #index .head--left h2{font-size:24px !important;line-height:1.1}
  #index .head p,
  #index .head--left p{line-height:1.45}
  #index .gw-guide-intro p{line-height:1.45}

  /* ── Academy ──────────────────────────────────────────────────────────
     Syllabus : quatre chiffres-clés empilés deux par deux sur 165px. En
     rail ils tiennent sur une ligne. Boutons d'appel : deux blocs pleine
     largeur l'un sous l'autre pour 145px ; côte à côte ils en font 64.
     ------------------------------------------------------------------- */
  /* Quatre chiffres-clés sur deux rangs de deux : 165px. Sur un seul rang de
     quatre, 90px. Tenté en rail d'abord — mais un bloc de quatre chiffres
     courts n'a rien à faire dans un rail : il tient à l'écran, et un rail
     qui n'a rien à révéler ne fait qu'ajouter un geste. */
  #index .gwa-syl{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
  #index .gwa-syl-i{padding:9px 4px}
  #index .gwa-syl-i b{font-size:17px}
  /* Tenté côte à côte : les libellés repassaient à la ligne et le bloc
     montait de 145 à 189px. On garde la pile, on resserre l'écart. */
  #index .cta-row{gap:8px}
  #index .gwa-by{margin-bottom:16px}

  /* ── Fabricants : l'en-tête de marque faisait 821 px ──────────────────
     535px de texte empilés SOUS 240px de visuel produit. Le visuel passe à
     côté du texte plutôt qu'au-dessus : on récupère sa hauteur entière sans
     rien retirer. La ligne de pastilles (marque, note, nombre de produits)
     tenait sur deux rangs, elle défile désormais sur un seul.
     ------------------------------------------------------------------- */
  /* Tenté en deux colonnes texte|visuel : mesuré 936px contre 821 — la
     colonne de texte, réduite à ~250px de large, repassait à la ligne plus
     souvent qu'elle ne gagnait sur le visuel. On garde l'empilement et on
     réduit seulement le visuel. */
  #index .v4-hero-r{max-height:118px}
  #index .v4-hero-r .hero-prod{max-height:118px}
  #index .v4-hero-r .halo{max-height:140px}
  #index .v4-metarow{
    display:flex;flex-wrap:nowrap;overflow-x:auto;gap:6px;
    scroll-snap-type:x proximity;padding-bottom:4px;
  }
  #index .v4-metarow::-webkit-scrollbar{height:0}
  #index .v4-metarow > *{flex:0 0 auto}
  #index .v4-desc{line-height:1.45}

  /* ── Catégories : les douze onglets à 91 px de haut ───────────────────
     L'icône est empilée au-dessus d'un libellé qui repasse à la ligne.
     Côte à côte, la pastille descend à 60px sans qu'aucun libellé ne soit
     tronqué — ils défilaient déjà horizontalement.
     ------------------------------------------------------------------- */
  #index .cat2-rail .rail-item{
    display:flex;flex-direction:row;align-items:center;gap:8px;
    min-height:56px;padding:8px 12px;text-align:left;
  }
  #index .cat2-rail .rail-ic{flex:0 0 auto;margin:0}
  #index .cat2-rail .rail-l{white-space:nowrap}

  /* ── Guides : la carte vedette ────────────────────────────────────────
     178px de visuel pour une carte de 444px. On garde la photo, on lui
     laisse la proportion d'une vignette et non celle d'une bannière.
     ------------------------------------------------------------------- */
  #index .guide-feat .gf-media{height:128px;aspect-ratio:auto}
  #index .guide-feat .gf-media img{width:100%;height:100%;object-fit:cover}
  #index .guide-feat .gf-excerpt{line-height:1.45}

  /* ── Premier écran ────────────────────────────────────────────────────
     Le visuel de couverture plafonnait déjà à 460px ; à 400 le rail de
     catégories affleure la ligne de flottaison sur un écran de 844.
     ------------------------------------------------------------------- */
  #index .gw-hero-stage{max-height:400px}
}

/* =============================================================================
   PASSE 4 — la barre de réassurance sous le hero
   138px pour quatre garanties. La seconde rangée en coûtait 65 à elle seule :
   « Une équipe de passionnés depuis 2009 » passait sur trois lignes dans une
   cellule de 142px utiles.
   Quatre variantes mesurées au navigateur :
     actuel            138px   [38,38,43,65]
     icônes réduites   132px   [38,38,43,65]   — l'icône n'était pas le sujet
     rail d'une ligne   59px   [38,38,38,38]   — mais deux garanties sur quatre
                                                 passent derrière un balayage
     grille 4 colonnes 150px   [86,86,108,129] — PLUS haut : à 80px de large,
                                                 les libellés font trois lignes
     retenu ci-dessous 116px   [38,38,38,51]   — tout reste visible
   On garde le 2x2 et on récupère les 22px sur l'interligne, l'écart des
   cellules et le calage vertical. Aucun libellé n'est tronqué, rien ne défile.
   ========================================================================== */
@media (max-width:767px){
  #index .reassure-in{padding-top:10px !important;padding-bottom:10px !important;gap:6px 10px}
  #index .ritem{gap:7px;align-items:center}
  #index .ritem .ic svg{width:17px;height:17px}
  #index .ritem b{line-height:1.25;display:block}
}

/* =============================================================================
   PASSE 5 — retours de recette du 22/08 (relecture sur téléphone)
   Trois de ces cinq points réparent des régressions que j'ai moi-même
   introduites aux passes 1 et 2.
   ========================================================================== */
@media (max-width:767px){

  /* ── 1. Le visuel du hero était COUPÉ ─────────────────────────────────
     Régression de ma part : j'avais plafonné `.gw-hero-stage` à 460px puis à
     400px avec `overflow:hidden`, en écrivant que « rogner est le comportement
     voulu ». Mesuré : le contenu fait 620px — 220px étaient tranchés, dont le
     second bouton du slider. Ce n'était pas un rognage de visuel, c'était une
     amputation d'interface. On rend sa hauteur au bloc.
     ------------------------------------------------------------------- */
  #index .gw-hero-stage{max-height:none;overflow:visible}

  /* ── 2. Les libellés de catégorie étaient TRONQUÉS ────────────────────
     Régression de ma part : en passant les onglets de « icône au-dessus du
     libellé » à « côte à côte », j'ai gardé la largeur fixe de 124px héritée
     du thème. Avec `white-space:nowrap`, « Éclairage LED » (92px) plus son
     icône ne tenait plus dans les 100px utiles : `overflow:hidden` coupait.
     La largeur suit maintenant le contenu — c'est un rail, il défile.
     ------------------------------------------------------------------- */
  #index .cat2-rail .rail-item{width:auto;max-width:none;min-width:0;overflow:visible}
  #index .cat2-rail .rail-l{overflow:visible;text-overflow:clip}

  /* ── 3. Le liseré blanc autour du bloc « La confiance de 1 743… » ─────
     `.avisbar` porte `border:1px solid #ECECEC`, pensé pour un fond clair.
     Posé sur la bande violette, ce gris très clair lit blanc. On garde le
     contour — il détache la carte — mais en blanc translucide, qui se pose
     sur le fond au lieu de s'y découper.
     ------------------------------------------------------------------- */
  /* La source déclare `border:1px solid rgba(255,255,255,.12)` mais le
     calculé rend `rgb(236,236,236)` — un gris clair OPAQUE, qui sur la bande
     violette lit franchement blanc. Je n'ai pas identifié la règle qui
     l'emporte ; comme le contour n'apporte rien ici (la carte se détache déjà
     par son fond translucide), on le retire plutôt que de le rattraper.
     Le trait de séparation interne entre la note et les avis, lui, reste. */
  #index #gw-avis .avisbar{border:0 !important}

  /* ── 4. La réassurance du hero sur UNE ligne ──────────────────────────
     Demandé explicitement. Les quatre libellés cumulent ~119 caractères :
     à taille lisible ils réclament plus de 800px, l'écran en fait 358. Une
     vraie ligne unique n'est donc possible qu'en rail — deux garanties sur
     quatre passent derrière un balayage. C'est le choix retenu ; le dégradé
     de bord signale qu'il y a une suite, ce qui manquait à mon premier essai.
     138px -> ~60px.
     ------------------------------------------------------------------- */
  /* 23/08 — le rail est déplacé de .reassure-in vers .reassure-items.
     Motif : .reassure-in porte maintenant DEUX enfants (les quatre garanties
     et la note client, entrée dans la bande). Laisser le défilement sur le
     conteneur extérieur aurait mis la note dans le rail. Le comportement
     demandé le 22/08 — une seule ligne, deux garanties derrière un balayage,
     dégradé de bord qui signale la suite — est repris tel quel. */
  #index .reassure-in{display:block;padding-top:10px !important;padding-bottom:10px !important}
  #index .reassure-items{
    display:flex;flex-direction:row;flex-wrap:nowrap;overflow-x:auto;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;scroll-padding-left:16px;scroll-padding-right:16px;
    gap:18px;align-items:center;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
            mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
  }
  #index .reassure-items::-webkit-scrollbar{height:0}
  #index .reassure-items > .ritem{flex:0 0 auto;scroll-snap-align:start;align-items:center;gap:7px;padding:0}
  #index .reassure-items > .ritem::before{display:none}
  #index .reassure-items > .ritem b{white-space:nowrap;line-height:1.2}
  #index .reassure-items > .rsep{display:none}

  /* ── La note client, désormais DANS la bande ───────────────────────────
     Elle y gagne d'être visible : posée sous la bande, elle tombait dans les
     32 px que le séparateur en dents de scie remonte par-dessus
     (.band--brand::before, z-index 1) et disparaissait derrière les montagnes.
     Dans la bande, pas de pastille — le fond est déjà teinté, un cadre blanc
     ferait doublon avec le rail juste au-dessus.
     ------------------------------------------------------------------- */
  #index .reassure .gw-proof{
    margin:9px 0 0;padding:0 14px;background:none;border:0;border-radius:0;
    box-shadow:none;justify-content:center;flex-wrap:wrap;white-space:normal;
    font-size:12px;
  }

  /* ── Rendre au séparateur en dents de scie la place qu'il occupe ──────
     e4-mobile.css pose `.band--brand{margin-top:0 !important}` sur mobile.
     Or ce séparateur est un ::before de 32 px positionné à -32 px : sans
     marge pour le loger, il déborde de 32 px SUR le bloc précédent. C'est ce
     qui masquait déjà la ligne d'avis avant cette refonte — et, depuis que le
     ciel du séparateur est peint en gris plutôt que transparent, ça la
     recouvrirait franchement. On rend les 32 px, uniquement à la bande
     violette du catalogue de l'accueil. Coût : +32 px de hauteur de page.
     ------------------------------------------------------------------- */
  #index .gw-cat > .band.band--brand{margin-top:var(--dvh) !important}
}

/* =============================================================================
   PASSE 6 — cibles tactiles de l'accueil
   Onze cibles sous 44px hors pied de page. Six sont des titres de produit à
   31px : c'est le lien qu'on vise en premier sur une carte, et c'était le plus
   petit. Les autres tournaient entre 25 et 43px — à un ou trois pixels du
   seuil pour la plupart, ce qui coûte peu à corriger et évite le tap manqué.
   ========================================================================== */
@media (max-width:767px){
  /* 6 titres de carte produit, 170x31 */
  #index .prc-nm{display:flex;align-items:center;min-height:44px}
  /* 3 onglets de la sélection produits, 41px */
  #index .seg-btn{min-height:44px}
  /* « Voir le programme complet » 43px, « Lire la suite » 43px */
  #index .gwa-btn-ghost,
  #index .fold-toggle{min-height:44px}
  /* « Tous les guides » 143x25 */
  #index .link-all{display:inline-flex;align-items:center;min-height:44px}
}
/* =============================================================================
   PASSE 7 — la frise Academy remise à l'horizontale
   -----------------------------------------------------------------------------
   Mon premier essai avait cassé le rendu : je posais un rail par-dessus sans
   défaire ce qui l'en empêchait. La cause est un bloc complet dans
   e4-home.css (@media max-width:940px, l.645) qui DÉMONTE la frise pour en
   faire une pile verticale : piste retournée à la verticale, `.gwa-nodes` en
   une seule colonne `!important`, et chaque nœud repassé en grille deux
   colonnes avec placement explicite de la pastille, du libellé et de la durée.
   Tant qu'on ne défait pas ces cinq règles, tout rail se superpose au reste.

   « Dix étapes, dans l'ordre, jusqu'au bout » : la séquence se lit aussi bien
   de gauche à droite, et c'est la seule section de la page où l'axe horizontal
   DIT quelque chose — c'est une frise, pas une liste. Les dix restent rendues,
   dans l'ordre, aucune n'est masquée ni repliée.

   La piste continue (`.gwa-track`) est en `position:absolute` dans `.gwa-rail`,
   qui n'est pas le conteneur défilant : elle resterait figée pendant que les
   pastilles défilent. On la remplace par un connecteur porté par chaque nœud,
   qui défile donc avec lui.

   SEUL BLOC DU FICHIER À 940px ET NON À 767. C'est délibéré : la pile
   verticale qu'on défait vient d'un `@media (max-width:940px)` d'e4-home.css,
   et s'arrêter à 767 laissait les tablettes avec une pile de 822px entre deux
   frises — 390 en frise, 820 en pile, 1440 en frise. On couvre la même plage
   que la règle qu'on annule, ni plus ni moins.
   ========================================================================== */
@media (max-width:940px){

  /* 10px et pas 4 : la pastille numérotée est calée à `top:-6px` sur la
     puce, elle se faisait rogner de 2px par le bord du rail. */
  #index .gwa-rail{padding-top:10px}
  #index .gwa-track{display:none}

  #index .gwa-nodes{
    display:grid;
    grid-template-columns:none !important;   /* bat le `1fr !important` du 940px */
    grid-auto-flow:column;
    grid-auto-columns:104px;
    gap:0 !important;
    align-items:start;
    overflow-x:auto;overflow-y:visible;
    overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    scroll-padding-left:16px;scroll-padding-right:16px;
    margin-left:-16px;margin-right:-16px;
    padding:0 16px 10px;
  }
  #index .gwa-nodes::-webkit-scrollbar{height:0}

  #index .gwa-node{
    display:block !important;
    grid-template-columns:none !important;
    grid-template-rows:none !important;
    position:relative;text-align:center;padding:0 4px;
    scroll-snap-align:start;
  }
  #index .gwa-chip{
    grid-column:auto !important;grid-row:auto !important;
    width:52px !important;height:52px !important;margin:0 auto;
    position:relative;z-index:2;
  }
  #index .gwa-chip > svg{width:24px;height:24px}
  #index .gwa-lbl{
    grid-column:auto !important;grid-row:auto !important;
    display:block;margin-top:9px;font-size:12px;line-height:1.25;
    min-height:0;text-align:center;
  }
  #index .gwa-min{
    grid-column:auto !important;grid-row:auto !important;
    display:block;margin-top:3px;text-align:center;
  }

  /* le fil entre deux pastilles : porté par le nœud, il défile avec lui */
  #index .gwa-node::after{
    content:"";position:absolute;z-index:1;
    top:26px;left:calc(50% + 28px);width:calc(100% - 56px);height:3px;
    background:rgba(201,184,222,.22);border-radius:2px;
  }
  #index .gwa-node:last-child::after{display:none}

  /* l'animation d'entrée décale les nœuds vers le bas : sans objet sur une
     frise, et elle laissait des trous pendant le défilement latéral. */
  #index .gwa-rail.gwa-anim .gwa-node{opacity:1;transform:none}
}

/* =============================================================================
   PASSE 8 — la navigation du slider hero sur téléphone
   -----------------------------------------------------------------------------
   Relevé de `.slider-ctrl` :
       390px   116px = flèches 48 + vignettes 54, EMPILÉES
       820px    54px = flèches et vignettes sur la MÊME ligne
   Le coût est donc propre au téléphone : une rangée entière rien que pour
   deux flèches, sous un visuel déjà à 486px.

   Vérifié au navigateur avant de les retirer, parce que supprimer une
   commande sans issue de secours condamnerait le changement de slide :
     — le balayage tactile FONCTIONNE déjà (slide-1 → slide-2 mesuré) ;
     — il n'y a pas de rotation automatique (toujours slide-1 après 7 s) ;
     — les trois vignettes changent de slide au tap et suivent l'état actif.

   La solution de remplacement n'est donc pas à construire, elle est déjà là :
   on balaie, et les trois vignettes libellées — Soldes, Nouveauté,
   Best-seller — servent de pagination ET disent ce qu'il y a sur chaque
   slide, ce qu'une rangée de points ne saurait pas faire. Elles restent à
   54px, au-dessus du seuil tactile de 44.
   Les flèches restent en place dès 768px : elles n'y coûtent rien, et une
   tablette peut être pilotée au trackpad.
   ========================================================================== */
@media (max-width:767px){
  #index .gw-hero .s-arrows{display:none}
  /* la colonne ne garde plus qu'un enfant : on supprime l'écart devenu inutile */
  #index .gw-hero .slider-ctrl{gap:0}

  /* Défaut relevé en passant : les trois vignettes totalisent 386px pour 358
     disponibles, et la bande est CENTRÉE — la première commençait à -28 et la
     troisième finissait à 386. Les deux étaient rognées par les bords de
     l'écran, donc partiellement intapables. On la passe en rail, comme les
     autres bandes de la page : aucun libellé tronqué, les trois atteignables. */
  #index .gw-hero .s-thumbs{
    justify-content:flex-start;flex-wrap:nowrap;
    overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;
    padding-bottom:2px;
  }
  #index .gw-hero .s-thumbs::-webkit-scrollbar{height:0}
  #index .gw-hero .s-thumb{flex:0 0 auto;scroll-snap-align:start}
}

/* === e4-home-rail-a.css === */
/* =============================================================================
   HOME · rail des catégories, variante A « Tuiles » (09/2026) — mobile seul
   -----------------------------------------------------------------------------
   Sous 900 px le rail devient une rangée de tuiles 84×84 en verre sur le
   violet de la section (plus de carte blanche), avec fondus aux bords, points
   de progression, texte « Glisse… » qui devient compteur, pastille verte
   « Tout le catalogue » en bout, amorce automatique (JS). Au-dessus de 900 px
   rien ne change : le rail vertical du desktop garde son style.
   Chargé après e4-home-mobile.css ; #index + .gw-cat donne la spécificité
   qu'il faut contre les !important de home-e4.css (fond blanc, actif encre).
   ========================================================================== */
.gw-cat .rail-all,.gw-cat .cat2-dots,.gw-cat .cat2-hint{display:none}

@media (max-width:900px){
#index .gw-cat .cat2-railwrap{position:relative;margin:0 -16px;min-width:0;max-width:calc(100% + 32px)}
#index .gw-cat .cat2-rail{min-width:0;width:100%}
#index .gw-cat .cat2-railwrap::before,
#index .gw-cat .cat2-railwrap::after{content:"";position:absolute;top:0;bottom:0;width:64px;pointer-events:none;z-index:2;transition:opacity .25s}
#index .gw-cat .cat2-railwrap::after{right:0;background:linear-gradient(90deg,rgba(38,4,63,0),#26043f 75%)}
#index .gw-cat .cat2-railwrap::before{left:0;background:linear-gradient(-90deg,rgba(38,4,63,0),#26043f 75%);opacity:0}
#index .gw-cat .cat2-railwrap.is-scrolled::before{opacity:1}
#index .gw-cat .cat2-railwrap.is-end::after{opacity:0}

#index .gw-cat .cat2-rail{display:flex;flex-direction:row;gap:8px;overflow-x:auto;
  background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;
  padding:2px 52px 4px 16px!important;scrollbar-width:none;-ms-overflow-style:none;
  scroll-snap-type:x proximity;scroll-padding-left:16px;scroll-behavior:smooth}
#index .gw-cat .cat2-rail::-webkit-scrollbar{display:none}

#index .gw-cat .cat2-rail .rail-item{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;
  width:84px!important;min-width:84px!important;max-width:84px!important;height:84px;min-height:84px;padding:8px 6px!important;
  text-align:center;border-radius:12px;scroll-snap-align:start;
  background:rgba(255,255,255,.07)!important;border:1.5px solid rgba(255,255,255,.16)!important;box-shadow:none!important;transition:.18s}
#index .gw-cat .cat2-rail .rail-item .rail-ic{width:34px;height:34px;flex:0 0 auto;margin:0;border-radius:10px;background:rgba(255,255,255,.10);color:#c9b6e0}
#index .gw-cat .cat2-rail .rail-item .rail-ic svg{width:20px;height:20px}
#index .gw-cat .cat2-rail .rail-item .rail-l{white-space:normal;overflow:visible;font-size:11px;font-weight:600;line-height:1.15;color:#e9ddf3;max-width:100%}
#index .gw-cat .cat2-rail .rail-item .rail-edge{display:none}
#index .gw-cat .cat2-rail .rail-item.active{background:#fff!important;border-color:#fff!important;box-shadow:0 5px 16px rgba(0,0,0,.28)!important}
#index .gw-cat .cat2-rail .rail-item.active .rail-l{color:#2B004F}
#index .gw-cat .cat2-rail .rail-item.active .rail-ic{background:rgba(123,191,63,.20);color:#3f7a1f}

/* pastille de fin */
#index .gw-cat .cat2-rail .rail-all{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;
  width:84px;height:84px;padding:8px 6px;text-align:center;border-radius:12px;text-decoration:none;scroll-snap-align:start;
  background:linear-gradient(100deg,#7BBF3F,#4d8f23);border:1.5px solid transparent;color:#fff}
#index .gw-cat .cat2-rail .rail-all .rail-ic{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.22);color:#fff;display:flex;align-items:center;justify-content:center}
#index .gw-cat .cat2-rail .rail-all .rail-ic svg{width:20px;height:20px}
#index .gw-cat .cat2-rail .rail-all .rail-l{font-size:11px;font-weight:800;line-height:1.15;color:#fff;white-space:normal}

/* points + texte */
#index .gw-cat .cat2-dots{display:flex;justify-content:center;gap:5px;margin-top:12px}
#index .gw-cat .cat2-dots i{position:relative;width:5px;height:5px;border-radius:999px;background:rgba(255,255,255,.28);transition:.2s;cursor:pointer}
#index .gw-cat .cat2-dots i::after{content:"";position:absolute;inset:-6px}
#index .gw-cat .cat2-dots i.on{width:18px;background:#7BBF3F}
#index .gw-cat .cat2-hint{display:flex;align-items:center;justify-content:center;gap:7px;margin:9px 0 0;min-height:16px;
  font-size:10.5px;font-weight:600;color:rgba(255,255,255,.62)}
#index .gw-cat .cat2-hint .h{display:inline-block;animation:gwRailSw 2.1s ease-in-out infinite}
#index .gw-cat .cat2-hint.is-cnt{color:#fff}
#index .gw-cat .cat2-hint.is-cnt b{font-family:ui-monospace,Menlo,Consolas,monospace;color:#7BBF3F;font-weight:700}
@keyframes gwRailSw{0%,100%{transform:translateX(0);opacity:.6}50%{transform:translateX(7px);opacity:1}}
@media (prefers-reduced-motion:reduce){#index .gw-cat .cat2-hint .h{animation:none}}
}

/* === e4-home-cat-v2.css === */
/* HOME · bloc « Toutes nos catégories » v2 « maquette fidèle » (16/09/2026).
   Chargé en dernier de la pile accueil. Préfixe #index .gw-cat.gwc pour primer
   sur home-e4.css / e4-home-rail-a.css / e4-home-mobile.css sans les modifier. */
#index .gw-cat.gwc .gwc-grid{display:grid;grid-template-columns:272px 1fr;gap:14px;align-items:start}
#index .gw-cat.gwc .gwc-railwrap{position:sticky;top:12px}
#index .gw-cat.gwc .gwc-rail{display:flex;flex-direction:column;gap:2px;background:#fff;border-radius:12px;padding:8px;overflow:visible;width:auto}
#index .gw-cat.gwc .gwc-rl{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:8px;width:100%;margin:0;padding:8px 10px 8px 8px;border:0;border-left:3px solid transparent;border-radius:8px;background:none;font:600 12px/1.3 'Poppins',Arial,sans-serif;color:#2b004f;text-align:left;cursor:pointer;box-shadow:none;min-height:0;flex:none}
#index .gw-cat.gwc .gwc-ic{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:#eef6e2;color:#3e6b1a;flex:none}
#index .gw-cat.gwc .gwc-ic svg{width:18px;height:18px;fill:none!important;stroke:currentColor}
#index .gw-cat.gwc .gwc-l{font-size:11.5px;font-weight:600;color:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;letter-spacing:0;text-transform:none}
#index .gw-cat.gwc .gwc-n{font-style:normal;font-size:11px;color:#8f789f;font-weight:500;font-variant-numeric:tabular-nums}
#index .gw-cat.gwc .gwc-rl:hover{background:#f6f3f9;border-left-color:#8ed04e}
#index .gw-cat.gwc .gwc-rl.active{background:#1a0033;color:#fff;border-left-color:#8ed04e}
#index .gw-cat.gwc .gwc-rl.active .gwc-ic{background:#3a2454;color:#c9e9a2}
#index .gw-cat.gwc .gwc-rl.active .gwc-n{color:#c9e9a2}
#index .gw-cat.gwc .gwc-promo .gwc-n{color:#3e6b1a;font-weight:700}
#index .gw-cat.gwc .gwc-promo.active .gwc-n{color:#c9e9a2}
#index .gw-cat.gwc .gwc-foot{display:block;margin-top:6px;border-top:1px solid #eee9f2;padding:10px 10px 4px;font-size:12px;color:#3e6b1a!important;font-weight:600;text-decoration:none;background:none;border-radius:0;width:auto;flex:none}
#index .gw-cat.gwc .rail-edge{display:none}
#index .gw-cat.gwc .gwc-stage{display:block;min-width:0}
#index .gw-cat.gwc .gwc-cp{display:none;background:#fff;border-radius:12px;overflow:hidden;padding:0}
#index .gw-cat.gwc .gwc-cp.active{display:block}
#index .gw-cat.gwc .gwc-cp[hidden]{display:none}
#index .gw-cat.gwc .gwc-ph{position:relative;min-height:128px;background:linear-gradient(90deg,#1a0033,#3a1660);background-size:cover;background-position:60% 38%;isolation:isolate;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:0}
#index .gw-cat.gwc .gwc-ph.has-img::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#1a0033 0%,rgba(26,0,51,.92) 38%,rgba(26,0,51,.35) 75%,rgba(26,0,51,.15) 100%),linear-gradient(0deg,rgba(26,0,51,.7),transparent 60%)}
#index .gw-cat.gwc .gwc-k{display:block;font-size:10.5px;letter-spacing:.14em;color:#8ed04e;font-weight:600}
#index .gw-cat.gwc .gwc-t{display:block;color:#fff;font:600 24px/1.05 'Poppins',Arial,sans-serif;letter-spacing:-.03em;margin:4px 0 0;padding:0;border:0;text-transform:none}
#index .gw-cat.gwc .gwc-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
#index .gw-cat.gwc .gwc-cta,#index .gw-cat.gwc .gwc-cta2{font-size:12px;padding:10px 14px;border-radius:6px;white-space:nowrap;text-decoration:none!important;font-weight:700;line-height:1.3}
#index .gw-cat.gwc .gwc-cta{background:#8ed04e;color:#1a0033!important}
#index .gw-cat.gwc .gwc-cta:hover{background:#a6de71}
#index .gw-cat.gwc .gwc-cta2{background:rgba(255,255,255,.12);border:1px solid #ffffff33;color:#fff!important;font-weight:600}
#index .gw-cat.gwc .gwc-body{padding:16px 20px 18px}
#index .gw-cat.gwc .gwc-hl{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#6a5f72;font-weight:600;margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline}
#index .gw-cat.gwc .gwc-more{font-size:11.5px;letter-spacing:0;text-transform:none;color:#3e6b1a!important;font-weight:600;text-decoration:none}
#index .gw-cat.gwc .gwc-grp{margin:0 0 12px}
#index .gw-cat.gwc details.gwc-fold summary{cursor:pointer;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#3e6b1a;font-weight:600;list-style:none;display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border:1px dashed #b9a8c8;border-radius:999px}
#index .gw-cat.gwc details.gwc-fold summary::-webkit-details-marker{display:none}
#index .gw-cat.gwc details.gwc-fold summary::before{content:'+';font-size:14px;line-height:1}
#index .gw-cat.gwc details.gwc-fold[open] summary::before{content:'−'}
#index .gw-cat.gwc details.gwc-fold summary i{font-style:normal;color:#8f789f}
#index .gw-cat.gwc details.gwc-fold .gwc-pills{margin-top:10px}
#index .gw-cat.gwc .gwc-pills{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#index .gw-cat.gwc .gwc-pill{font-size:12.5px;padding:7px 12px;border-radius:999px;background:#f3f0f6;color:#2b004f!important;font-weight:500;display:inline-flex;gap:6px;align-items:baseline;text-decoration:none!important;line-height:1.3;border:0}
#index .gw-cat.gwc .gwc-pill:hover{background:#e6f4d5}
#index .gw-cat.gwc .gwc-pill i{font-style:normal;font-size:10.5px;color:#8f789f;font-variant-numeric:tabular-nums}
#index .gw-cat.gwc .gwc-pill.gwc-br{background:#fff;border:1px solid #e3ddea;font-weight:600;font-size:12px}
#index .gw-cat.gwc .gwc-lg{height:36px;display:grid;place-items:center;padding:4px 10px;border:1px solid #e3ddea;border-radius:999px;background:#fff}
#index .gw-cat.gwc .gwc-lg img{max-height:26px;max-width:84px;width:auto;height:auto;object-fit:contain;filter:none}
#index .gw-cat.gwc details.gwc-inl{display:inline-block}
#index .gw-cat.gwc details.gwc-inl[open]{display:contents}
#index .gw-cat.gwc details.gwc-inl summary{list-style:none;cursor:pointer;font-size:12px;font-weight:600;color:#3e6b1a;padding:7px 12px;border:1px dashed #b9a8c8;border-radius:999px}
#index .gw-cat.gwc details.gwc-inl summary::-webkit-details-marker{display:none}
#index .gw-cat.gwc details.gwc-inl[open] summary{display:none}
#index .gw-cat.gwc .gwc-rest{display:contents}
#index .gw-cat.gwc .gwc-tops-h{margin-top:6px;padding-top:12px;border-top:1px solid #eee9f2}
#index .gw-cat.gwc .gwc-tops{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
#index .gw-cat.gwc .gwc-prod{display:flex!important;height:100%;position:relative;border:1px solid #e9e4ef;border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:3px;background:#fff;text-decoration:none!important;color:#221530!important;transition:transform .15s ease,box-shadow .15s ease}
#index .gw-cat.gwc .gwc-prod:hover{transform:translateY(-2px);box-shadow:0 8px 22px rgba(26,0,51,.12)}
#index .gw-cat.gwc .gwc-prod img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;border-radius:6px;background:#faf8fc}
#index .gw-cat.gwc .gwc-badge{position:absolute;top:8px;left:8px;z-index:1;font-size:9.5px;font-weight:700;letter-spacing:.08em;background:#1a0033;color:#c9e9a2;padding:4px 7px;border-radius:4px}
#index .gw-cat.gwc .gwc-nm{font-size:12.5px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:4px;color:#221530}
#index .gw-cat.gwc .gwc-pr{font-size:17px;font-weight:700;color:#1a0033;font-variant-numeric:tabular-nums;line-height:1.1}
#index .gw-cat.gwc .gwc-pr s{font-size:12px;color:#8f789f;font-weight:400;margin-left:4px}
#index .gw-cat.gwc .gwc-alma{font-size:10.5px;color:#6a5f72}
#index .gw-cat.gwc .gwc-st{font-size:10.5px;color:#3e6b1a;font-weight:600;margin-top:2px}
#index .gw-cat.gwc .gwc-st.is-later{color:#9b6a08}
#index .gw-cat.gwc .gwc-bt{margin-top:8px;font-size:11.5px;font-weight:700;background:#f0b323;color:#1a0033;text-align:center;padding:8px;border-radius:5px}
#index .gw-cat.gwc .gwc-pfoot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid #eee9f2;font-size:12.5px}
#index .gw-cat.gwc .gwc-pfoot a{color:#3e6b1a!important;font-weight:600;text-decoration:none!important}
#index .gw-cat.gwc .gwc-guide{display:flex;align-items:center;gap:8px;color:#2b004f!important;font-weight:500}
#index .gw-cat.gwc .gwc-guide i{font-style:normal;font-size:10px;font-weight:700;letter-spacing:.08em;background:#eef6e2;color:#3e6b1a;padding:3px 7px;border-radius:4px}
#index .gw-cat.gwc .gwc-cp:focus-visible,#index .gw-cat.gwc .gwc-rl:focus-visible,#index .gw-cat.gwc a:focus-visible{outline:3px solid #8ed04e;outline-offset:2px}
@media(max-width:1100px){#index .gw-cat.gwc .gwc-tops{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){
#index .gw-cat.gwc .gwc-grid{grid-template-columns:minmax(0,1fr);gap:10px}
#index .gw-cat.gwc .gwc-railwrap,#index .gw-cat.gwc .gwc-stage,#index .gw-cat.gwc .gwc-cp,#index .gw-cat.gwc .gwc-body{min-width:0;max-width:100%;width:auto}
#index .gw-cat.gwc .gwc-railwrap{max-width:calc(100% + 32px);overflow:hidden;background:transparent!important}
#index .gw-cat.gwc .gwc-rail{background:transparent!important;width:100%}
#index .gw-cat.gwc .gwc-rl{background:#22083d!important;color:#fff!important}
#index .gw-cat.gwc .gwc-rl.active{background:#8ed04e!important;color:#1a0033!important}
#index .gw-cat.gwc .gwc-railwrap{position:static;margin:0 -16px}
#index .gw-cat.gwc .gwc-rail{flex-direction:row;overflow-x:auto;overflow-y:hidden;border-radius:0;padding:0 16px 10px;background:transparent;gap:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:none}
#index .gw-cat.gwc .gwc-rail::-webkit-scrollbar{display:none}
#index .gw-cat.gwc .cat2-rail .rail-item.gwc-rl{display:inline-flex;flex:0 0 auto;flex-direction:row;align-items:center;justify-content:center;gap:8px;width:max-content!important;min-width:max-content!important;max-width:none!important;height:auto;min-height:44px;padding:8px 14px 8px 10px!important;overflow:hidden;text-align:left;background:#22083d;color:#fff;border:1px solid #ffffff1f;border-radius:999px;font-size:12px}
#index .gw-cat.gwc .gwc-ic{background:#3a2454;color:#c9e9a2;width:22px;height:22px}
#index .gw-cat.gwc .gwc-ic svg{width:14px;height:14px}
#index .gw-cat.gwc .cat2-rail .rail-item .gwc-l{white-space:nowrap;overflow:visible;text-overflow:clip;max-width:none;line-height:1.3}
#index .gw-cat.gwc .gwc-n{display:none}
#index .gw-cat.gwc .gwc-rl.active{background:#8ed04e;color:#1a0033;border-color:#8ed04e}
#index .gw-cat.gwc .gwc-rl.active .gwc-ic{background:#1a0033;color:#c9e9a2}
#index .gw-cat.gwc .gwc-foot{display:none}
#index .gw-cat.gwc .gwc-ph{min-height:150px;flex-direction:column;align-items:flex-start;padding:16px}
#index .gw-cat.gwc .gwc-acts{justify-content:flex-start}
#index .gw-cat.gwc .gwc-body{padding:14px 16px 16px}
#index .gw-cat.gwc .gwc-tops{grid-template-columns:1fr 1fr}
#index .gw-cat.gwc .gwc-prod{padding:8px}
#index .gw-cat.gwc .gwc-prod img{aspect-ratio:auto;height:96px;width:auto;max-width:100%;margin:0 auto}
#index .gw-cat.gwc .gwc-nm{font-size:12px}
#index .gw-cat.gwc .gwc-bt{padding:7px;font-size:11px}
#index .gw-cat.gwc .gwc-pfoot{flex-direction:column;align-items:flex-start}
}
/* Chantier SEO 17/09/2026 : .gwc-k est devenu un h3 et .gwc-t un p — neutraliser les styles par défaut des balises */
#index .gw-cat.gwc h3.gwc-k{margin:0;font-family:inherit;line-height:1.4;text-transform:uppercase}
#index .gw-cat.gwc p.gwc-t{margin:4px 0 0}

/* === e4-reassurance.css === */
/* Ruban signature — six garanties, note fixe, aucune rotation automatique.
   Chargé uniquement sur l'accueil, après les anciennes variantes mobiles. */
.gw-reassurance{
  background:var(--gw-ink-700,#2b004f);color:#fff;
  border-top:2px solid var(--gw-green-500,#7bbf3f);
  font-family:var(--gw-font-ui);margin:0;
}
/* themeeditor_s_1.css impose un gris avec trois ID : la couleur du ruban
   doit primer sur cette règle globale, sans modifier les autres composants. */
.gw-reassurance{border-top-color:var(--gw-green-500,#7bbf3f)!important}
.gw-reassurance-inner{
  max-width:var(--gw-wrap,min(90%,1600px));margin:0 auto;
  padding:12px var(--gw-gutter,24px);min-height:80px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;
  grid-template-areas:"rail proof";gap:20px;align-items:center;
}
.gw-reassurance-rail{grid-area:rail;min-width:0}
.gw-reassurance-list{
  display:grid;grid-template-columns:.8fr .7fr .9fr 1.1fr 1.3fr 1.25fr;
  align-items:center;list-style:none;margin:0;padding:0;
}
.gw-reassurance-item{
  display:flex;align-items:center;gap:9px;min-width:0;min-height:38px;
  margin:0;padding:0 14px;border-right:1px solid #593274;
}
.gw-reassurance-item:first-child{padding-left:0}
.gw-reassurance-item{border-right-color:#593274!important}
.gw-reassurance-icon{display:flex;flex:none;color:var(--gw-green-300,#9bd968)}
.gw-reassurance-icon svg{width:20px;height:20px;fill:none;stroke-width:1.6}
.gw-reassurance-copy{display:block;min-width:0;line-height:1.5}
.gw-reassurance-copy b{display:block;color:#fff;font-size:11px;font-weight:700}
.gw-reassurance-copy>span{display:block;color:#dbcee6;font-size:11px}
.gw-reassurance .gw-reassurance-proof{
  grid-area:proof;display:flex;flex-direction:column;justify-content:center;
  min-height:44px;text-decoration:none;color:#fff;white-space:nowrap;
}
.gw-reassurance-score{display:flex;align-items:center;gap:10px;line-height:1.6}
.gw-reassurance-score b{font-size:13px;font-weight:700;color:#fff}
.gw-reassurance-stars{color:var(--gw-gold-400,#ffc53d);font-size:13px;letter-spacing:1px}
.gw-reassurance-count{font-size:10px;line-height:1.6;color:#dbcee6}
.gw-reassurance-proof:hover .gw-reassurance-count{text-decoration:underline;text-underline-offset:3px}
.gw-reassurance-controls{grid-area:controls;display:flex;gap:0}
.gw-reassurance-controls[hidden]{display:none}
.gw-reassurance .gw-reassurance-arrow{
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;min-width:44px;padding:0;margin:0;
  background:transparent;border:0;border-radius:8px;box-shadow:none;color:#fff;cursor:pointer;
}
.gw-reassurance-arrow svg{width:18px;height:18px;fill:none;stroke-linecap:round;stroke-linejoin:round}
.gw-reassurance .gw-reassurance-arrow:hover{background:rgba(255,255,255,.1)}
.gw-reassurance .gw-reassurance-arrow[aria-disabled="true"]{opacity:.3;cursor:default;background:none}
#index .gw-reassurance :focus-visible{outline:2px solid #ffc53d!important;outline-offset:2px;border-radius:4px}

/* Raccord droit demandé : retire uniquement le séparateur HAUT des catégories
   et sa réserve de hauteur mobile, pas les autres séparateurs de la home. */
#index .gw-cat>.band.band--brand{margin-top:0!important;border-top:1px solid rgba(155,217,104,.45);border-top-color:rgba(155,217,104,.45)!important}
#index .gw-cat>.band.band--brand::before{display:none}

@media(min-width:1280px) and (max-width:1439px){
  .gw-reassurance-inner{gap:14px}
  .gw-reassurance-item{padding:0 10px;gap:7px}
  .gw-reassurance-icon svg{width:18px;height:18px}
}
@media(max-width:1279px){
  .gw-reassurance-inner{grid-template-areas:"rail controls proof";grid-template-columns:minmax(0,1fr) auto auto;gap:12px}
  .gw-reassurance-rail{
    overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;
    scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#76528f transparent;
  }
  .gw-reassurance-rail::-webkit-scrollbar{height:3px}
  .gw-reassurance-rail::-webkit-scrollbar-thumb{background:#76528f;border-radius:4px}
  .gw-reassurance[data-can-next="true"] .gw-reassurance-rail{
    -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);
    mask-image:linear-gradient(90deg,#000 calc(100% - 18px),transparent);
  }
  .gw-reassurance[data-can-prev="true"] .gw-reassurance-rail{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12px);
    mask-image:linear-gradient(90deg,transparent,#000 12px);
  }
  .gw-reassurance[data-can-prev="true"][data-can-next="true"] .gw-reassurance-rail{
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 18px),transparent);
    mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 18px),transparent);
  }
  .gw-reassurance-list{display:flex;align-items:stretch;width:max-content;padding:2px 0}
  .gw-reassurance-item{flex:0 0 auto;min-width:174px;padding:0 14px;min-height:42px;scroll-snap-align:start}
  .gw-reassurance-copy{white-space:nowrap}
  .gw-reassurance-item:first-child{padding-left:0}
  .gw-reassurance-item:last-child{border-right:0}
  .gw-reassurance-copy b,.gw-reassurance-copy>span{font-size:12px}
  .gw-reassurance-icon svg{width:20px;height:20px}
}
@media(max-width:767px){
  .gw-reassurance-inner{
    max-width:none;padding:6px 16px 2px;min-height:0;
    grid-template-areas:"rail rail" "proof controls";
    grid-template-columns:minmax(0,1fr) auto;gap:0 8px;
  }
  .gw-reassurance-rail{min-height:46px}
  .gw-reassurance-item{min-width:156px;gap:8px;padding:0 12px}
  .gw-reassurance-icon svg{width:19px;height:19px}
  .gw-reassurance-copy b,.gw-reassurance-copy>span{font-size:11px}
  .gw-reassurance .gw-reassurance-proof{flex-direction:column;align-items:flex-start;justify-content:center;gap:0}
  .gw-reassurance-score{gap:6px}
  .gw-reassurance-score b{font-size:12px}
  .gw-reassurance-stars{font-size:11px;letter-spacing:0}
  .gw-reassurance-count{font-size:10px}
}
