/* =====================================================================
   trouver-mon-fournisseur.fr — feuille de style unique
   Nommage : francais, prefixes propres au site (aucun emprunt au reste
   de la flotte). Rythme typo : titres 800 / -0.03em, corps 1.62.
   ===================================================================== */

:root{
  /* couleurs */
  --vfppnaq:#081a38;
  --vaocch6:#0f2a55;
  --vfryeoo:#1a3d70;
  --v2zwmel:#1257d8;
  --ver563a:#0d43ab;
  --v22z0f8:#3e82f7;
  --va0tyfy:#e9f0fe;
  --v9hd1wf:#f4f8ff;
  --papier:#ffffff;
  --v4r3pw4:#f6f8fc;
  --v0a9cek:#eef2f9;
  --encre:#0d1626;
  --v86z4k5:#414d63;
  --vf4mll3:#7c869d;
  --v2yz6ab:#e2e8f2;
  --v3us55b:#c9d3e4;
  --vfda5a6:#0b7a55;
  --vdijhvz:#e6f5ef;
  --v8dd3u3:#a86a12;

  /* formes */
  --vd960be:8px;
  --v0h6eqf:14px;
  --v3abunm:24px;
  --v4m6j5v:999px;

  /* elevations */
  --v8rjck8:0 1px 2px rgba(8,26,56,.06);
  --vcr65h3:0 2px 6px rgba(8,26,56,.06),0 12px 28px -16px rgba(8,26,56,.22);
  --v85srf1:0 24px 60px -28px rgba(8,26,56,.36);

  /* typo */
  --vfqxgd8:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Text","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --v8ftm7y:-apple-system,BlinkMacSystemFont,"Segoe UI Variable Display","Segoe UI Semibold","Segoe UI",Roboto,Arial,sans-serif;
  --vaegmj6:12px;
  --v8jyoak:13.5px;
  --veqwj6d:16.5px;
  --v81l9hv:18.5px;
  --vbq7thw:clamp(19px,1.25vw + 12px,23px);
  --v0tkgo2:clamp(26px,1.9vw + 14px,38px);
  --v67iwp8:clamp(31px,2.9vw + 15px,52px);

  /* rythme vertical */
  --v73zael:clamp(52px,6vw,92px);
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--papier);
  color:var(--encre);
  font-family:var(--vfqxgd8);
  font-size:var(--veqwj6d);
  line-height:1.62;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
img{height:auto}
a{color:var(--v2zwmel);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3,h4{margin:0;font-family:var(--v8ftm7y);font-weight:800;letter-spacing:-.03em;line-height:1.08;color:var(--encre)}
h1{font-size:var(--v67iwp8)}
h2{font-size:var(--v0tkgo2)}
h3{font-size:var(--vbq7thw);letter-spacing:-.02em;line-height:1.25}
h4{font-size:17px;letter-spacing:-.015em;line-height:1.3}
p{margin:0 0 1.05em}
ul,ol{margin:0 0 1.05em;padding-left:1.15em}
li{margin-bottom:.45em}
:focus-visible{outline:3px solid var(--v22z0f8);outline-offset:2px;border-radius:4px}

.cdfpfn7{width:100%;max-width:1180px;margin-inline:auto;padding-inline:22px}
.c2r65th{max-width:860px}
.c9zy251{color:var(--v2zwmel)}
.c4bxpau{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* --vd3izgr boutons --vd3izgr */
.cdu02rt{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  height:46px;padding:0 22px;border:1.5px solid transparent;border-radius:var(--vd960be);
  font-family:var(--vfqxgd8);font-size:15px;font-weight:650;letter-spacing:-.01em;
  cursor:pointer;text-decoration:none;line-height:1;white-space:nowrap;
  transition:background .15s ease,border-color .15s ease,transform .12s ease;
}
.cdu02rt:hover{text-decoration:none;transform:translateY(-1px)}
.bouton--ve46boe{background:var(--v2zwmel);color:#fff;box-shadow:var(--v8rjck8)}
.bouton--ve46boe:hover{background:var(--ver563a)}
.bouton--v4uxcun{background:#fff;color:var(--vfppnaq);border-color:var(--v3us55b)}
.bouton--v4uxcun:hover{border-color:var(--v2zwmel);color:var(--v2zwmel)}
.bouton--vb68gdh{background:transparent;color:#fff;border-color:rgba(255,255,255,.45)}
.bouton--vb68gdh:hover{background:rgba(255,255,255,.12)}
.bouton--v85scr3{width:100%}
.bouton--vgfq7cz{height:54px;padding:0 30px;font-size:16px}
.cdu02rt svg{width:17px;height:17px;flex:none}

.c9s09q8{display:inline-flex;align-items:center;gap:7px;font-weight:650;font-size:15px}
.c9s09q8 svg{width:15px;height:15px;transition:transform .15s ease}
.c9s09q8:hover svg{transform:translateX(3px)}

/* --vd3izgr entetes de bloc --vd3izgr */
.c82nqt7{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 12px;
  font-size:var(--vaegmj6);font-weight:700;letter-spacing:.13em;text-transform:uppercase;
  color:var(--v2zwmel);
}
.c82nqt7::before{content:"";width:22px;height:2px;background:var(--v2zwmel);border-radius:2px}
.cdy9dfj{max-width:66ch;color:var(--v86z4k5);font-size:var(--v81l9hv);margin-top:14px}
.cdi3vcq{margin-bottom:38px}
.tete-bloc--vfp8f83{text-align:center;margin-inline:auto;max-width:760px}
.tete-bloc--vfp8f83 .c82nqt7::before{display:none}
.tete-bloc--vfp8f83 .cdy9dfj{margin-inline:auto}
.cgd122z{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;flex-wrap:wrap;margin-bottom:34px}

.c7lo5kl{padding-block:var(--v73zael)}
.bloc--vbzejfl{background:var(--v4r3pw4)}
.bloc--v6vqowb{background:var(--v9hd1wf)}

/* =====================================================================
   BARRE UTILITAIRE
   ===================================================================== */
.ccucmfl{background:var(--vfppnaq);color:#c3d1e8;font-size:var(--v8jyoak)}
.c0coym8{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:38px;flex-wrap:wrap}
.c4bi6cr{display:inline-flex;align-items:center;gap:9px;font-weight:600;color:#e4ecf9}
.c4bi6cr svg{width:14px;height:14px;color:var(--v22z0f8);flex:none}
.c5ksk4e{display:flex;align-items:center;gap:20px}
.c5ksk4e a{color:#c3d1e8;font-weight:500}
.c5ksk4e a:hover{color:#fff;text-decoration:none}

/* =====================================================================
   ENTETE
   ===================================================================== */
.ce9kzwu{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--v2yz6ab)}
.c55rizo{display:flex;align-items:center;gap:14px;min-height:72px}
.c66b959{display:inline-flex;align-items:center;gap:11px;color:var(--encre);font-weight:800;letter-spacing:-.035em;font-size:15.5px;line-height:1.05;font-family:var(--v8ftm7y)}
.c66b959:hover{text-decoration:none}
.c2scjrn{
  width:36px;height:36px;flex:none;border-radius:10px;
  background:linear-gradient(150deg,var(--v22z0f8),var(--ver563a));
  display:grid;place-items:center;color:#fff;box-shadow:0 4px 12px -4px rgba(18,87,216,.6);
}
.c2scjrn svg{width:20px;height:20px}
.c9hx9i9{display:flex;flex-direction:column}
.c9hx9i9 b{font-weight:800;text-transform:uppercase;letter-spacing:.01em;font-size:14px}
.c9hx9i9 i{font-style:normal;font-weight:500;font-size:11.5px;letter-spacing:.02em;color:var(--vf4mll3)}

.cdoevpn{display:flex;align-items:center;gap:2px;margin-left:26px}
.cdoevpn>a,.c1w4xdx>button{
  display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 13px;
  background:none;border:0;font-family:var(--vfqxgd8);font-size:15px;font-weight:600;
  color:var(--v86z4k5);border-radius:var(--vd960be);cursor:pointer;letter-spacing:-.01em;
}
.cdoevpn>a:hover,.c1w4xdx>button:hover{background:var(--v0a9cek);color:var(--encre);text-decoration:none}
.c1w4xdx{position:relative}
.c1w4xdx>button svg{width:12px;height:12px;transition:transform .18s ease}
.c1w4xdx:hover>button svg{transform:rotate(180deg)}
.cchfm2c{
  position:absolute;top:calc(100% + 8px);left:-10px;z-index:70;
  min-width:520px;padding:14px;background:#fff;border:1px solid var(--v2yz6ab);
  border-radius:var(--v0h6eqf);box-shadow:var(--v85srf1);
  display:grid;grid-template-columns:1fr 1fr;gap:4px;
  opacity:0;visibility:hidden;transform:translateY(-6px);transition:all .16s ease;
}
.c1w4xdx:hover .cchfm2c,.c1w4xdx:focus-within .cchfm2c{opacity:1;visibility:visible;transform:none}
.c49aktt{display:flex;gap:11px;padding:10px 11px;border-radius:var(--vd960be);color:var(--encre)}
.c49aktt:hover{background:var(--v9hd1wf);text-decoration:none}
.c2uiwtv{width:32px;height:32px;flex:none;border-radius:9px;background:var(--va0tyfy);color:var(--v2zwmel);display:grid;place-items:center}
.c2uiwtv svg{width:16px;height:16px}
.c49aktt b{display:block;font-size:14.5px;font-weight:700;letter-spacing:-.015em}
.c49aktt span{display:block;font-size:12.5px;color:var(--vf4mll3);line-height:1.4}
.c76995x{grid-column:1/-1;margin-top:8px;padding:12px 11px 4px;border-top:1px solid var(--v2yz6ab);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.c76995x span{font-size:13px;color:var(--vf4mll3)}

.c0xxbgl{flex:1}
.c5gmdwm{display:inline-flex}
.burger{
  display:none;width:44px;height:44px;margin-left:auto;border:1px solid var(--v3us55b);
  background:#fff;border-radius:var(--vd960be);cursor:pointer;padding:0;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;
}
.burger span{display:block;width:18px;height:2px;background:var(--encre);border-radius:2px;transition:transform .18s ease,opacity .18s ease}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.menu-mobile{display:none;border-top:1px solid var(--v2yz6ab);background:#fff;padding:14px 22px 22px;max-height:calc(100vh - 110px);overflow-y:auto}
.menu-mobile[data-ouvert]{display:block}
.menu-mobile a{display:block;padding:12px 2px;font-size:16px;font-weight:600;color:var(--encre);border-bottom:1px solid var(--v0a9cek)}
.menu-mobile a:hover{text-decoration:none;color:var(--v2zwmel)}
.c4nq4cj{display:block;margin:18px 0 4px;font-size:var(--vaegmj6);font-weight:700;letter-spacing:.13em;text-transform:uppercase;color:var(--vf4mll3)}
.c4nq4cj:first-child{margin-top:4px}
.menu-mobile .cdu02rt{margin-top:20px;border-bottom:0}

/* =====================================================================
   ACCROCHE (home)
   ===================================================================== */
.c750w1v{position:relative;padding-block:clamp(44px,5vw,80px) clamp(52px,6vw,92px);overflow:hidden;background:
  radial-gradient(1100px 500px at 88% -8%,var(--va0tyfy),transparent 62%),
  linear-gradient(180deg,#fff 0%,var(--v4r3pw4) 100%)}
.cdzdkq3{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:56px;align-items:center}
.c750w1v h1{max-width:15ch;text-wrap:balance}
.c750w1v h1 .c9zy251{white-space:nowrap}
.cerk1r6{font-size:var(--v81l9hv);color:var(--v86z4k5);max-width:52ch;margin:20px 0 28px}

.c4pnerh{
  display:inline-flex;align-items:center;gap:9px;margin-bottom:22px;padding:6px 14px 6px 8px;
  background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v4m6j5v);
  font-size:13px;font-weight:600;color:var(--v86z4k5);box-shadow:var(--v8rjck8);
}
.c4pnerh i{width:7px;height:7px;border-radius:50%;background:var(--vfda5a6);box-shadow:0 0 0 3px var(--vdijhvz);flex:none}

/* barre de recherche */
.c6loa4y{
  display:flex;align-items:center;gap:8px;padding:8px;background:#fff;
  border:1px solid var(--v3us55b);border-radius:var(--v0h6eqf);box-shadow:var(--vcr65h3);
}
.ccmt9ve{flex:1 1 auto;display:flex;align-items:center;gap:10px;padding-left:12px;min-width:0}
.ccmt9ve svg{width:18px;height:18px;color:var(--vf4mll3);flex:none}
.c6loa4y input{flex:1;min-width:0;height:44px;border:0;outline:none;background:transparent;font:inherit;font-size:16px;color:var(--encre)}
.c6loa4y input::placeholder{color:var(--vf4mll3)}
.c6loa4y select{
  flex:0 0 auto;height:44px;max-width:190px;border:0;border-left:1px solid var(--v2yz6ab);
  background:transparent;font:inherit;font-size:14.5px;color:var(--v86z4k5);padding:0 10px;outline:none;cursor:pointer;
}
.c6loa4y .cdu02rt{flex:none}
.cd7bft3{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;font-size:13.5px;color:var(--vf4mll3)}
.cd7bft3 b{font-weight:600;color:var(--v86z4k5)}
.cd7bft3 a,.cd7bft3 button{
  display:inline-block;padding:5px 12px;background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v4m6j5v);
  font-family:var(--vfqxgd8);font-size:13px;font-weight:600;color:var(--v86z4k5);cursor:pointer;line-height:1.45;
}
.cd7bft3 a:hover,.cd7bft3 button:hover{border-color:var(--v2zwmel);color:var(--v2zwmel);text-decoration:none}

/* composition en losanges */
.c9ivpup{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:20px;transform:rotate(45deg) scale(.86);margin-inline:auto;max-width:430px}
.c2xbiwh{aspect-ratio:1;border-radius:24px;overflow:hidden;background:var(--v0a9cek);box-shadow:var(--vcr65h3)}
.c2xbiwh img{width:100%;height:100%;object-fit:cover;transform:rotate(-45deg) scale(1.45)}
.losange--vgfq7cz{transform:translateY(-26px)}
.losange--v21z1ip{transform:translateY(26px)}
.losange--v2zwmel{background:linear-gradient(150deg,var(--v22z0f8),var(--ver563a));display:grid;place-items:center}
.cadta9c{transform:rotate(-45deg);text-align:center;color:#fff;padding:14px}
.cadta9c b{display:block;font-family:var(--v8ftm7y);font-size:26px;font-weight:800;letter-spacing:-.03em;line-height:1.1}
.cadta9c span{display:block;font-size:12.5px;color:rgba(255,255,255,.82);margin-top:5px;line-height:1.35}

/* =====================================================================
   BANDEAU REPERES (6 items)
   ===================================================================== */
.c3qoire{border-block:1px solid var(--v2yz6ab);background:#fff;padding-block:22px}
.cc4mily{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.casuwzs{display:flex;flex-direction:column;align-items:center;text-align:center;gap:9px;padding:8px 6px}
.casuwzs svg{width:22px;height:22px;color:var(--v2zwmel);flex:none}
.casuwzs span{font-size:13px;font-weight:600;color:var(--v86z4k5);line-height:1.35;letter-spacing:-.005em}

/* =====================================================================
   UNIVERS (8 cartes a picto)
   ===================================================================== */
.cf686ix{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.cfb070h{
  display:block;padding:24px 22px 22px;background:#fff;border:1px solid var(--v2yz6ab);
  border-radius:var(--v0h6eqf);color:var(--encre);transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.cfb070h:hover{border-color:var(--v22z0f8);transform:translateY(-3px);box-shadow:var(--vcr65h3);text-decoration:none}
.c8ctjiw{width:44px;height:44px;border-radius:12px;background:var(--va0tyfy);color:var(--v2zwmel);display:grid;place-items:center;margin-bottom:16px}
.c8ctjiw svg{width:22px;height:22px}
.cfb070h b{display:block;font-family:var(--v8ftm7y);font-size:16.5px;font-weight:750;letter-spacing:-.02em}
.cfb070h span{display:block;margin-top:6px;font-size:13.5px;color:var(--vf4mll3);line-height:1.45}

/* =====================================================================
   RAIL (carrousel de cartes categorie)
   ===================================================================== */
.cah9j9n{position:relative}
.rail{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4px 20px;margin:0 -4px;scrollbar-width:thin}
.rail::-webkit-scrollbar{height:6px}
.rail::-webkit-scrollbar-thumb{background:var(--v3us55b);border-radius:3px}
.rail-carte{
  flex:0 0 300px;scroll-snap-align:start;display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);overflow:hidden;color:var(--encre);
  transition:border-color .15s ease,box-shadow .15s ease;
}
.rail-carte:hover{border-color:var(--v22z0f8);box-shadow:var(--vcr65h3);text-decoration:none}
.c7sut5q{aspect-ratio:16/10;background:var(--v0a9cek);overflow:hidden}
.c7sut5q img{width:100%;height:100%;object-fit:cover}
.ccv1je7{padding:18px 18px 20px;display:flex;flex-direction:column;flex:1}
.ccbc2o2{
  display:inline-flex;align-self:flex-start;align-items:center;gap:6px;margin-bottom:11px;
  padding:4px 10px;background:var(--vdijhvz);color:var(--vfda5a6);border-radius:var(--v4m6j5v);
  font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}
.etiquette--v2zwmel{background:var(--va0tyfy);color:var(--v2zwmel)}
.rail-carte b{font-family:var(--v8ftm7y);font-size:17px;font-weight:750;letter-spacing:-.02em;line-height:1.25}
.rail-carte p{margin:8px 0 14px;font-size:14px;color:var(--v86z4k5);line-height:1.5}
.cftwv52{margin-top:auto;padding-top:12px;border-top:1px solid var(--v0a9cek);font-size:13.5px;font-weight:650;color:var(--v2zwmel);display:flex;align-items:center;gap:6px}
.cftwv52 svg{width:14px;height:14px}
.c7owhxt{display:flex;gap:8px}
.c74zt6s{width:42px;height:42px;border:1px solid var(--v3us55b);background:#fff;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--v86z4k5)}
.c74zt6s:hover{border-color:var(--v2zwmel);color:var(--v2zwmel)}
.c74zt6s svg{width:16px;height:16px}

/* =====================================================================
   DEMARCHE (4 etapes)
   ===================================================================== */
.ccesksr{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;position:relative}
.etape{position:relative;padding:28px 22px;background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf)}
.c8zj8en{
  width:40px;height:40px;border-radius:11px;background:var(--vfppnaq);color:#fff;
  display:grid;place-items:center;font-family:var(--v8ftm7y);font-size:17px;font-weight:800;margin-bottom:16px;
}
.etape:nth-child(1) .c8zj8en{background:var(--v2zwmel)}
.etape h3{margin-bottom:8px}
.etape p{margin:0;font-size:14.5px;color:var(--v86z4k5);line-height:1.55}
.c33a3sw{position:absolute;top:50%;right:-19px;z-index:2;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--v2yz6ab);display:grid;place-items:center;color:var(--v22z0f8)}
.c33a3sw svg{width:12px;height:12px}
.etape:last-child .c33a3sw{display:none}

/* =====================================================================
   APPEL (bandeau bleu)
   ===================================================================== */
.cfy75w0{background:linear-gradient(135deg,var(--vfppnaq) 0%,var(--vaocch6) 55%,var(--ver563a) 130%);color:#fff;position:relative;overflow:hidden}
.cfy75w0::after{content:"";position:absolute;right:-90px;top:-90px;width:340px;height:340px;border-radius:50%;background:rgba(62,130,247,.16)}
.caqjrb3{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;padding-block:clamp(38px,4.4vw,58px)}
.cfy75w0 h2{color:#fff;max-width:20ch}
.cfy75w0 p{margin:12px 0 0;color:#bed0ea;max-width:56ch;font-size:16px}
.c6j273w{display:flex;gap:12px;flex-wrap:wrap}

/* =====================================================================
   JALONS (reperes chiffres non commerciaux)
   ===================================================================== */
.c9kyd8t{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cc039p7{padding:26px 22px;background:#fff;border:1px solid var(--v2yz6ab);border-left:3px solid var(--v2zwmel);border-radius:0 var(--v0h6eqf) var(--v0h6eqf) 0}
.cc039p7 b{display:block;font-family:var(--v8ftm7y);font-size:20px;font-weight:800;letter-spacing:-.025em;line-height:1.2;color:var(--encre)}
.cc039p7 span{display:block;margin-top:7px;font-size:14px;color:var(--v86z4k5);line-height:1.5}

/* =====================================================================
   JOURNAL (4 cartes)
   ===================================================================== */
.c6q37yg{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.article{display:flex;flex-direction:column;background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);overflow:hidden;color:var(--encre)}
.article:hover{border-color:var(--v22z0f8);box-shadow:var(--vcr65h3);text-decoration:none}
.c67fy0i{aspect-ratio:16/9;background:var(--v0a9cek);overflow:hidden}
.c67fy0i img{width:100%;height:100%;object-fit:cover}
.c5ria3a{padding:16px 17px 19px}
.c87u9rk{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--vf4mll3);margin-bottom:9px}
.c87u9rk b{color:var(--v2zwmel);font-weight:700;text-transform:uppercase;letter-spacing:.05em;font-size:11.5px}
.article h3{font-size:16.5px;line-height:1.32}

/* =====================================================================
   PIED DE PAGE
   ===================================================================== */
.c39xwur{background:var(--vfppnaq);color:#a9bdda;padding-block:clamp(44px,5vw,70px) 0;font-size:14.5px}
.cebfihj{display:grid;grid-template-columns:1.7fr 1fr 1fr 1fr 1.35fr;gap:34px}
.c39xwur .c66b959{color:#fff}
.c39xwur .c9hx9i9 i{color:#8ba4c8}
.c3h29yu{margin:16px 0 18px;color:#a9bdda;line-height:1.6;max-width:34ch}
.cdguhec{display:flex;gap:9px}
.cdguhec a{width:36px;height:36px;border-radius:9px;background:rgba(255,255,255,.07);display:grid;place-items:center;color:#c9d8ee}
.cdguhec a:hover{background:var(--v2zwmel);color:#fff}
.cdguhec svg{width:16px;height:16px}
.cb79g34{margin:0 0 14px;font-family:var(--v8ftm7y);font-size:13px;font-weight:750;letter-spacing:.1em;text-transform:uppercase;color:#fff}
.c39xwur ul{list-style:none;margin:0;padding:0}
.c39xwur li{margin-bottom:9px}
.c39xwur a{color:#a9bdda}
.c39xwur a:hover{color:#fff;text-decoration:none}
.cb431kl p{font-size:13.5px;line-height:1.55;margin-bottom:13px}
.c077ani{display:flex;gap:8px}
.cb431kl input{
  flex:1;min-width:0;height:44px;padding:0 13px;border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.06);border-radius:var(--vd960be);color:#fff;font:inherit;font-size:14px;outline:none;
}
.cb431kl input::placeholder{color:#7f97ba}
.cb431kl input:focus{border-color:var(--v22z0f8)}
.cb431kl button{
  flex:none;height:44px;padding:0 16px;border:0;border-radius:var(--vd960be);background:var(--v2zwmel);
  color:#fff;font:inherit;font-size:14px;font-weight:650;cursor:pointer;
}
.cb431kl button:hover{background:var(--v22z0f8)}
.cb431kl small{display:block;margin-top:10px;font-size:12px;color:#7f97ba;line-height:1.45}
.cdovj6m{
  margin-top:44px;padding-block:20px;border-top:1px solid rgba(255,255,255,.1);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:#8ba4c8;
}
.cdovj6m nav{display:flex;gap:18px;flex-wrap:wrap}

/* =====================================================================
   PAGE CATEGORIE
   ===================================================================== */
.cgge6h8{padding-block:14px;font-size:13px;color:var(--vf4mll3);background:var(--v4r3pw4);border-bottom:1px solid var(--v2yz6ab)}
.cgge6h8 ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0;padding:0}
.cgge6h8 li{margin:0;display:inline-flex;align-items:center;gap:8px}
.cgge6h8 li+li::before{content:"›";color:var(--v3us55b)}
.cgge6h8 a{color:var(--v86z4k5);font-weight:500}

.ccu0ibk{padding-block:clamp(38px,4.4vw,66px);background:linear-gradient(180deg,#fff,var(--v9hd1wf))}
.cemns8e{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:52px;align-items:center}
.ccu0ibk h1{max-width:16ch}
.cdwc4l0{font-size:var(--v81l9hv);color:var(--v86z4k5);max-width:54ch;margin:18px 0 24px}
.cczbrcs{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:11px}
.cczbrcs li{display:flex;gap:11px;align-items:flex-start;margin:0;font-size:15.5px;color:var(--encre)}
.cczbrcs svg{width:20px;height:20px;flex:none;margin-top:2px;color:var(--vfda5a6)}
.c5elkyu{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.c6kof9v{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:20px;border-top:1px solid var(--v2yz6ab);font-size:13.5px;color:var(--v86z4k5);flex-wrap:wrap}
.ceb4yuz{display:inline-flex;align-items:center;gap:7px}
.ceb4yuz svg{width:16px;height:16px;color:var(--v2zwmel);flex:none}

.c87g8rx{position:relative}
.c87g8rx>img{width:100%;border-radius:var(--v3abunm);box-shadow:var(--v85srf1);aspect-ratio:16/11;object-fit:cover}
.c3mymtn{
  position:absolute;left:-22px;bottom:-26px;width:260px;padding:18px 20px;background:#fff;
  border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);box-shadow:var(--v85srf1);
}
.c3mymtn b{display:block;font-family:var(--v8ftm7y);font-size:13px;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--vf4mll3);margin-bottom:12px}
.c3mymtn dl{margin:0;display:grid;gap:10px}
.c3mymtn div{display:flex;justify-content:space-between;gap:12px;font-size:13.5px;line-height:1.4}
.c3mymtn dt{color:var(--vf4mll3);flex:none}
.c3mymtn dd{margin:0;text-align:right;font-weight:650;color:var(--encre)}

/* atouts */
.c7fgx1d{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.c7hmfcl{padding:26px 22px;background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf)}
.cfn51b7{width:44px;height:44px;border-radius:12px;background:var(--va0tyfy);color:var(--v2zwmel);display:grid;place-items:center;margin-bottom:15px}
.cfn51b7 svg{width:22px;height:22px}
.c7hmfcl h3{font-size:17px;margin-bottom:8px}
.c7hmfcl p{margin:0;font-size:14.5px;color:var(--v86z4k5);line-height:1.55}

/* gammes (6 cartes sous-categories) */
.c9nby5h{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.gamme{display:flex;flex-direction:column;background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);overflow:hidden;color:var(--encre)}
.gamme:hover{border-color:var(--v22z0f8);box-shadow:var(--vcr65h3);text-decoration:none}
.c05bwvn{aspect-ratio:4/3;background:var(--v0a9cek);overflow:hidden}
.c05bwvn img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.gamme:hover .c05bwvn img{transform:scale(1.04)}
.c856i0i{padding:18px 19px 20px;display:flex;flex-direction:column;flex:1}
.gamme h3{font-size:17.5px;margin-bottom:8px}
.gamme p{margin:0 0 14px;font-size:14.5px;color:var(--v86z4k5);line-height:1.5}
.c2wp3b1{margin-top:auto;font-size:13.5px;font-weight:650;color:var(--v2zwmel);display:inline-flex;align-items:center;gap:7px}
.c2wp3b1 svg{width:14px;height:14px}

/* =====================================================================
   BLOC SOURCING + FORMULAIRE (coeur de conversion)
   ===================================================================== */
.sourcing{scroll-margin-top:90px;padding-block:var(--v73zael);background:
  radial-gradient(760px 380px at 12% 0%,rgba(62,130,247,.18),transparent 60%),
  linear-gradient(140deg,var(--vfppnaq) 0%,var(--vaocch6) 100%)}
.c7aso7r{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:0;background:#fff;border-radius:var(--v3abunm);overflow:hidden;box-shadow:var(--v85srf1)}
.cczkokb{padding:clamp(30px,3.4vw,48px);background:linear-gradient(165deg,var(--v4r3pw4),var(--va0tyfy));display:flex;flex-direction:column;justify-content:center}
.cczkokb h2{max-width:16ch}
.cczkokb>p{margin:16px 0 24px;color:var(--v86z4k5);font-size:16px;max-width:44ch}
.c6mchtk{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.c6mchtk li{display:flex;gap:12px;align-items:flex-start;margin:0;font-size:14.5px;color:var(--encre);line-height:1.5}
.c6mchtk svg{width:19px;height:19px;flex:none;margin-top:2px;color:var(--v2zwmel)}
.c6mchtk b{font-weight:700}
.cey0p9x{padding:clamp(28px,3.2vw,44px)}
.cdbqzii{margin-bottom:22px}
.cdbqzii b{display:block;font-family:var(--v8ftm7y);font-size:20px;font-weight:800;letter-spacing:-.025em}
.cdbqzii span{display:block;margin-top:6px;font-size:14px;color:var(--vf4mll3)}

.c1bwga8{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.c56rmyc{display:flex;flex-direction:column;gap:6px}
.champ--ve46boe{grid-column:1/-1}
.c56rmyc label{font-size:13.5px;font-weight:650;color:var(--v86z4k5);letter-spacing:-.005em}
.c159q5q{color:#c02626}
.c56rmyc input,.c56rmyc select,.c56rmyc textarea{
  width:100%;padding:0 13px;height:46px;border:1px solid var(--v3us55b);border-radius:var(--vd960be);
  background:#fff;font:inherit;font-size:15px;color:var(--encre);outline:none;transition:border-color .14s ease,box-shadow .14s ease;
}
.c56rmyc textarea{height:auto;padding:12px 13px;resize:vertical;line-height:1.55}
.c56rmyc input:focus,.c56rmyc select:focus,.c56rmyc textarea:focus{border-color:var(--v2zwmel);box-shadow:0 0 0 3px var(--va0tyfy)}
.c56rmyc input::placeholder,.c56rmyc textarea::placeholder{color:var(--vf4mll3)}
.c56rmyc small{font-size:12px;color:var(--vf4mll3)}
.c49l0r6{margin-top:6px}
.c7oqvoc{margin:12px 0 0;font-size:12.5px;color:var(--vf4mll3);line-height:1.5}
.cetrlwu{margin-top:10px;font-size:14px;font-weight:600;color:var(--v2zwmel);min-height:20px}

/* laboratoires / reassurance factuelle */
.cg83edp{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:26px}
.ccg3bjh{padding:22px;background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);text-align:center}
.ccg3bjh b{display:block;font-family:var(--v8ftm7y);font-size:19px;font-weight:800;letter-spacing:-.02em;color:var(--vfppnaq)}
.ccg3bjh span{display:block;margin-top:6px;font-size:13.5px;color:var(--vf4mll3);line-height:1.45}
.c20l2b9{text-align:center;max-width:70ch;margin-inline:auto;font-size:14.5px;color:var(--v86z4k5)}

/* corps editorial */
.c2h85p2{max-width:76ch}
.c2h85p2 h2{margin-top:52px;margin-bottom:16px;scroll-margin-top:90px}
.c2h85p2 h2:first-child{margin-top:0}
.c2h85p2 h3{margin-top:32px;margin-bottom:11px;scroll-margin-top:90px}
.c2h85p2 p,.c2h85p2 li{font-size:16.5px;color:var(--v86z4k5)}
.c2h85p2 strong{color:var(--encre);font-weight:700}
.c2h85p2 ul{padding-left:1.2em}
.c2h85p2 li::marker{color:var(--v2zwmel)}
.c8fe8dl{
  margin:28px 0;padding:22px 24px;background:var(--v9hd1wf);border:1px solid var(--va0tyfy);
  border-left:3px solid var(--v2zwmel);border-radius:0 var(--v0h6eqf) var(--v0h6eqf) 0;
}
.c8fe8dl b{display:block;font-family:var(--v8ftm7y);font-size:16px;font-weight:750;letter-spacing:-.015em;margin-bottom:8px;color:var(--encre)}
.c8fe8dl p:last-child,.c8fe8dl ul:last-child{margin-bottom:0}
.cbx2m5g{
  margin:32px 0;padding:24px;background:var(--v4r3pw4);border:1px dashed var(--v3us55b);border-radius:var(--v0h6eqf);
  display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.cbx2m5g b{font-family:var(--v8ftm7y);font-size:17px;font-weight:750;letter-spacing:-.02em}
.cbx2m5g p{margin:5px 0 0;font-size:14.5px;color:var(--v86z4k5);max-width:48ch}

.c8u1tzf{overflow-x:auto;margin:24px 0;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf)}
table{border-collapse:collapse;width:100%;min-width:520px;font-size:14.5px}
th,td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--v2yz6ab);vertical-align:top}
th{background:var(--v4r3pw4);font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--encre);white-space:nowrap}
tr:last-child td{border-bottom:0}

/* faq */
.c29tmp4{display:grid;gap:12px;max-width:900px}
.ceft3xt{background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);overflow:hidden}
.ceft3xt summary{
  padding:18px 22px;cursor:pointer;font-family:var(--v8ftm7y);font-size:16.5px;font-weight:700;
  letter-spacing:-.02em;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center;
}
.ceft3xt summary::-webkit-details-marker{display:none}
.ceft3xt summary::after{content:"+";font-size:22px;font-weight:400;color:var(--v2zwmel);flex:none;line-height:1}
.ceft3xt[open] summary::after{content:"–"}
.cckfmi5{padding:0 22px 20px;font-size:15.5px;color:var(--v86z4k5)}
.cckfmi5 p:last-child{margin-bottom:0}

/* barre sticky mobile */
.barre-mobile{
  display:none;position:fixed;left:0;right:0;bottom:0;z-index:80;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:rgba(255,255,255,.97);border-top:1px solid var(--v2yz6ab);box-shadow:0 -6px 22px -14px rgba(8,26,56,.5);
  gap:10px;align-items:center;transition:transform .22s ease;
}
.barre-mobile .cdu02rt{flex:1}
.cdwzry0{flex:none;font-size:12.5px;font-weight:650;color:var(--v86z4k5);line-height:1.25;max-width:38%}

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1080px){
  .cdzdkq3{grid-template-columns:1fr;gap:44px}
  .c750w1v h1{max-width:20ch}
  .c9ivpup{max-width:360px}
  .cemns8e{grid-template-columns:1fr;gap:56px}
  .cf686ix{grid-template-columns:repeat(3,1fr)}
  .c6q37yg{grid-template-columns:repeat(2,1fr)}
  .c7fgx1d{grid-template-columns:repeat(2,1fr)}
  .ccesksr{grid-template-columns:repeat(2,1fr);gap:20px}
  .c33a3sw{display:none}
  .c9kyd8t{grid-template-columns:repeat(2,1fr)}
  .c7aso7r{grid-template-columns:1fr}
  .cc4mily{grid-template-columns:repeat(3,1fr)}
  .cebfihj{grid-template-columns:1.4fr 1fr 1fr;row-gap:38px}
  .cebfihj .cb431kl{grid-column:1/-1}
}
@media (max-width:940px){
  .cdoevpn,.c5gmdwm{display:none}
  .burger{display:flex}
  .c0xxbgl{display:none}
  .c9nby5h{grid-template-columns:repeat(2,1fr)}
  .cchfm2c{display:none}
}
@media (max-width:768px){
  :root{--veqwj6d:16px;--v81l9hv:17px}
  /* les liens utilitaires vivent deja dans le burger et la barre sticky : on rend l'espace au contenu */
  .c0coym8{justify-content:center;min-height:32px;padding-block:5px}
  .c5ksk4e{display:none}
  .c4bi6cr{font-size:12.5px}
  .c6loa4y{flex-wrap:wrap;padding:10px}
  .ccmt9ve{flex:1 1 100%;padding-left:6px;border-bottom:1px solid var(--v2yz6ab);padding-bottom:6px}
  .c6loa4y select{flex:1 1 auto;max-width:none;border-left:0;padding-left:6px}
  .c6loa4y .cdu02rt{flex:0 0 auto}
  .cf686ix{grid-template-columns:repeat(2,1fr)}
  .cg83edp{grid-template-columns:1fr}
  .c3mymtn{position:static;width:auto;margin-top:16px;box-shadow:var(--vcr65h3)}
  .c87g8rx>img{aspect-ratio:16/10}
  .rail-carte{flex:0 0 82vw}
  .caqjrb3{flex-direction:column;align-items:flex-start}
  .c6j273w{width:100%}
  .c6j273w .cdu02rt{flex:1}
  .barre-mobile{display:flex}
  body{padding-bottom:74px}
  .cdovj6m{flex-direction:column;gap:12px}
  /* sur mobile le CTA remonte juste sous l'accroche, avant les puces */
  .cemns8e>div:first-child{display:flex;flex-direction:column}
  .cemns8e .c5elkyu{order:1;margin-bottom:24px}
  .cemns8e .cczbrcs{order:2;margin-bottom:0}
  .cemns8e .c6kof9v{order:3}
  .cdwc4l0{margin-bottom:20px}
}
@media (max-width:560px){
  .cc4mily{grid-template-columns:repeat(2,1fr)}
  .c6q37yg,.c7fgx1d,.ccesksr,.c9kyd8t,.c9nby5h{grid-template-columns:1fr}
  .c1bwga8{grid-template-columns:1fr}
  .cebfihj{grid-template-columns:1fr 1fr}
  .cebfihj .cd5q0bp{grid-column:1/-1}
  .c9ivpup{max-width:280px;gap:14px}
  .cadta9c b{font-size:20px}
  .cadta9c span{font-size:11px}
  .cbx2m5g{flex-direction:column;align-items:flex-start}
  .cbx2m5g .cdu02rt{width:100%}
  .c5elkyu .cdu02rt{width:100%}
  .cdwzry0{display:none}
}
@media (max-width:400px){
  .cf686ix{grid-template-columns:1fr}
  .cd7bft3{font-size:12.5px}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .cdu02rt:hover,.cfb070h:hover{transform:none}
}

/* ═══════════════════════════════════════════════════════════════════
   BLOCS DE CONTENU GÉNÉRÉS  (voir kw-research/builder/render.c6hlxba)
   Vocabulaire volontairement court : liste, tableau, encart, reg,
   synopsis, sommaire. Un rédacteur qui choisit entre six formes en
   alterne plusieurs, ce qui casse le rythme uniforme qui trahit la
   génération en série.
   ═══════════════════════════════════════════════════════════════════ */

.c5vv8yn{margin:18px 0 22px;padding-left:22px;max-width:70ch;color:var(--v86z4k5)}
.c5vv8yn li{margin-bottom:9px;line-height:1.62}
.c5vv8yn li::marker{color:var(--v2zwmel)}
.liste--v2krwwp{padding-left:26px}
.liste--v2krwwp li::marker{font-weight:600}

/* Le tableau défile dans SON conteneur. Sans ce cadre, une colonne de trop
   fait défiler la page entière en horizontal sur mobile. */
.c5qjk3a{margin:26px 0;overflow-x:auto;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);background:#fff}
.cg09k01{width:100%;min-width:520px;border-collapse:collapse;font-size:var(--v8jyoak)}
.cg09k01 th,.cg09k01 td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--v2yz6ab)}
.cg09k01 thead th{background:var(--v0a9cek);color:var(--encre);font-weight:600;white-space:nowrap}
.cg09k01 tbody tr:last-child td{border-bottom:0}
.cg09k01 tbody tr:nth-child(even){background:var(--v4r3pw4)}

/* Références réglementaires : la référence du texte porte le poids visuel,
   parce que c'est elle qu'un acheteur recopie dans son cahier des charges. */
.cfycnml{list-style:none;margin:24px 0;padding:0;display:grid;gap:12px}
.cfycnml li{padding:16px 18px;background:#fff;border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf);display:grid;gap:5px}
.c708k2g{font-size:var(--vaegmj6);letter-spacing:.06em;text-transform:uppercase;color:var(--ver563a);font-weight:600}
.cfycnml li b{font-size:var(--veqwj6d);color:var(--encre)}
.cfycnml li span:last-child{color:var(--v86z4k5);font-size:var(--v8jyoak);line-height:1.6}

/* Synopsis : ce que la page couvre, en un coup d'œil, avant le corps. */
.c1iy6or{margin:26px 0 0;padding:4px 0 0;border-top:2px solid var(--encre);display:grid;gap:0}
.cds0rxs{display:grid;gap:2px;padding:14px 0;border-bottom:1px solid var(--v2yz6ab)}
.c1iy6or dt{font-size:var(--vaegmj6);letter-spacing:.07em;text-transform:uppercase;color:var(--vf4mll3);font-weight:600}
.c1iy6or dd{margin:0;color:var(--v86z4k5);font-size:var(--v8jyoak);line-height:1.6}
@media(min-width:760px){
  .cds0rxs{grid-template-columns:210px minmax(0,1fr);gap:24px;align-items:baseline}
}

.caxzo0x{margin:30px 0 6px;padding:18px 20px;background:var(--v4r3pw4);border:1px solid var(--v2yz6ab);border-radius:var(--v0h6eqf)}
.caxzo0x ol{margin:10px 0 0;padding-left:20px;display:grid;gap:7px}
.caxzo0x a{color:var(--v86z4k5);text-decoration:none;border-bottom:1px solid var(--v3us55b)}
.caxzo0x a:hover{color:var(--ver563a);border-bottom-color:var(--v2zwmel)}
@media(min-width:680px){
  .caxzo0x ol{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:26px}
}

/* ═══════════════════════════════════════════════════════════════════
   CORRECTIFS DE RENDU  (2026-08-09)
   ═══════════════════════════════════════════════════════════════════ */

/* 1. Icônes décalées en haut à gauche de leur pastille.
   `.cfb070h span` et `.c49aktt span` visent le texte de description,
   mais le conteneur d'icône est LUI AUSSI un <span> : leur `display:block`
   (spécificité 0,1,1) écrasait le `display:grid` de `.c8ctjiw` et
   `.c2uiwtv` (0,1,0), donc `place-items:center` ne s'appliquait plus et le
   SVG retombait dans le coin. On exclut explicitement les pastilles. */
.cfb070h span.c8ctjiw,
.c49aktt span.c2uiwtv{
  display:grid;place-items:center;margin-top:0;
}

/* 2. La colonne de lecture est calée sur 76ch, ce qui est juste pour de la
   prose mais laisse la moitié de l'écran vide dès qu'une section aligne des
   listes ou un tableau. Les paragraphes gardent leur mesure ; les listes,
   tableaux et encarts prennent toute la largeur du conteneur, et les listes
   d'items indépendants passent sur deux colonnes au-delà de 1000px. */
.c2h85p2{max-width:none}
.c2h85p2>p,.c2h85p2>h3{max-width:76ch}
.c2h85p2 h2{max-width:26ch}

.c2h85p2>ul,.c2h85p2>ol{max-width:none;margin-block:18px 24px}
.c2h85p2>ul>li,.c2h85p2>ol>li{margin-bottom:11px;line-height:1.62}

@media(min-width:1000px){
  /* Deux colonnes seulement sur les listes à puces : sur une liste numérotée,
     l'ordre de lecture compte et une coupure en colonnes le brouille. */
  .c2h85p2>ul{columns:2;column-gap:52px}
  .c2h85p2>ul>li{break-inside:avoid;-webkit-column-break-inside:avoid}
}

.c2h85p2 table{width:100%;max-width:none}
