/* ============================================================
   MicroDispensing — couche de design v2
   ============================================================ */
:root{
  --navy:#0A1F33;
  --steel:#15527F;
  --steel-2:#2F7CB8;
  --slate:#3F4E5C;
  --mist:#F3F7FA;
  --line:#DCE4EA;
  --orange:#FF6A13;
  --orange-dk:#D9540A;
  --ink:#10202E;
  --sh-s:0 1px 2px rgba(10,31,51,.05), 0 2px 10px rgba(10,31,51,.05);
  --sh-m:0 14px 36px -16px rgba(10,31,51,.30);
  --sh-l:0 28px 60px -28px rgba(10,31,51,.40);
}
html{scroll-padding-top:96px;}
body{color:var(--ink); -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;}
::selection{background:var(--orange); color:#fff;}

h1.font-display{letter-spacing:-.032em; line-height:1.04;}
h2.font-display{letter-spacing:-.022em;}
h3.font-display{letter-spacing:-.012em;}

/* ---------- barre de progression ---------- */
#cds-progress{position:fixed; top:0; left:0; height:3px; width:0; z-index:100;
  background:linear-gradient(90deg,var(--orange),#FFA661); transition:width .12s linear;}

/* ---------- topbar + header ---------- */
body > div:first-of-type[class*="bg-[var(--navy)]"]{background:var(--navy); border-bottom:1px solid rgba(255,255,255,.07);}
header{transition:box-shadow .25s ease, background .25s ease;}
header.is-stuck{box-shadow:0 6px 24px -12px rgba(10,31,51,.35);}
header nav a.nav-link{letter-spacing:-.01em; color:var(--slate);}
header nav a.nav-link:hover{color:var(--navy);}
header nav a.nav-link::after{height:2px; bottom:-7px; border-radius:2px;}
header .bg-\[var\(--orange\)\]{box-shadow:0 8px 18px -8px rgba(255,106,19,.65);}

/* ---------- boutons ---------- */
a[class*="bg-[var(--orange)]"], button[class*="bg-[var(--orange)]"]{
  border-radius:8px !important;
  background:linear-gradient(180deg,#FF7A2B 0%, var(--orange) 55%, #F25F08 100%);
  box-shadow:0 10px 22px -12px rgba(242,99,12,.85);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
a[class*="bg-[var(--orange)]"]:hover, button[class*="bg-[var(--orange)]"]:hover{
  transform:translateY(-1px); filter:saturate(1.05);
  box-shadow:0 16px 30px -14px rgba(242,99,12,.9);
}
a[class*="border-[var(--line)]"][class*="rounded-[4px]"]{border-radius:8px !important;}

/* ---------- hero ---------- */
#hero{background:
   radial-gradient(1100px 520px at 12% -10%, rgba(47,124,184,.30), transparent 62%),
   radial-gradient(760px 420px at 88% 8%, rgba(255,106,19,.14), transparent 60%),
   linear-gradient(180deg,#0B2135 0%, #0A1F33 60%, #0C2233 100%),
   var(--navy);
}
#hero h1{color:#fff; text-shadow:0 2px 30px rgba(0,0,0,.25);}
#hero h1::before{content:""; display:block; width:68px; height:4px; border-radius:3px;
  background:linear-gradient(90deg,var(--orange),#FFB37A); margin-bottom:22px;}
#hero p.text-slate-300{color:rgba(226,236,243,.82); font-size:17px;}
#hero a[class*="border-white"]{border-radius:8px !important; backdrop-filter:blur(4px);}
#hero video, #hero img{display:block;}
#hero .relative.rounded-lg{border-radius:16px !important; box-shadow:var(--sh-l); border-color:rgba(255,255,255,.14) !important;}
#hero .lg\:grid-cols-12 > .lg\:col-span-5{position:relative;}
#hero .lg\:grid-cols-12 > .lg\:col-span-5::before{content:""; position:absolute; inset:26px -18px -18px 26px;
  border:1px solid rgba(255,106,19,.30); border-radius:18px; z-index:0; pointer-events:none;}

/* bandeau d'atouts sous le hero */
#hero + div, #hero .border-t{border-color:rgba(255,255,255,.10) !important;}

/* ---------- titres de section ---------- */
.drop-mark{letter-spacing:.14em;}
section > div > .max-w-2xl > h2.font-display,
section > div > .max-w-3xl > h2.font-display{position:relative;}

/* ---------- cartes de gamme ---------- */
#gammes article{
  border-radius:16px !important; overflow:hidden; background:#fff;
  border:1px solid var(--line) !important; box-shadow:var(--sh-s);
  transition:transform .28s cubic-bezier(.2,.7,.3,1), box-shadow .28s ease, border-color .28s ease;
}
#gammes article:hover{transform:translateY(-6px); box-shadow:var(--sh-m); border-color:#C3D2DD !important;}
#gammes article img{transition:transform .5s cubic-bezier(.2,.7,.3,1);}
#gammes article:hover img{transform:scale(1.045);}
#gammes article h3{font-size:19px; font-weight:600; letter-spacing:-.015em; color:var(--navy);}
#gammes article .font-mono{background:var(--mist); border:1px solid var(--line); border-radius:8px;
  padding:9px 11px; display:block; line-height:1.55;}
#gammes article a span, #gammes article span[class*="text-[var(--steel)]"]{letter-spacing:-.01em;}
#gammes article svg{transition:transform .25s ease;}
#gammes article:hover svg{transform:translateX(4px);}

/* ---------- cartes génériques (gammes produits / consommables) ---------- */
a.card-hover, .card-hover{border-radius:16px !important;}
.card-hover{box-shadow:var(--sh-s);}
.card-hover:hover{box-shadow:var(--sh-m) !important; border-color:#C3D2DD !important; transform:translateY(-6px);}
.card-hover img{transition:transform .5s cubic-bezier(.2,.7,.3,1);}

/* ---------- services ---------- */
#services .rounded-lg, #services .rounded-md{border-radius:14px !important;}
#services .border{transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;}
#services .border:hover{border-color:#C3D2DD; box-shadow:var(--sh-s); transform:translateY(-3px);}
#services .font-mono{color:var(--orange-dk); font-weight:600;}

/* ---------- formulaire devis ---------- */
#devis input[type="text"], #devis input[type="email"], #devis input[type="tel"],
#devis select, #devis textarea{
  border-radius:10px !important; border:1px solid var(--line) !important;
  background:#fff; transition:border-color .2s ease, box-shadow .2s ease;
}
#devis input:focus, #devis select:focus, #devis textarea:focus{
  outline:none !important; border-color:var(--steel-2) !important;
  box-shadow:0 0 0 3px rgba(47,124,184,.16) !important;
}
#devis label{letter-spacing:-.005em;}
#devis .rounded-lg{border-radius:16px !important;}
#devis form{box-shadow:var(--sh-s);}

/* ---------- tableaux ---------- */
table{border-collapse:separate; border-spacing:0;}
table thead tr{background:var(--navy) !important;}
table thead th{letter-spacing:.01em; font-size:13px;}
table tbody tr{transition:background .18s ease;}
table tbody tr:hover{background:#EAF2F8 !important;}
.overflow-x-auto.rounded-md{border-radius:12px !important; box-shadow:var(--sh-s);}

/* ---------- fiches produit ---------- */
.pd-thumb{border-radius:10px !important; transition:border-color .2s ease, transform .2s ease;}
.pd-thumb:hover{transform:translateY(-2px);}
.pd-thumb.is-active, .pd-thumb.border-\[var\(--steel-2\)\]{border-color:var(--orange) !important; box-shadow:0 0 0 2px rgba(255,106,19,.18);}
img[id$="pdMain"]{border-radius:12px;}
main .rounded-lg.border.border-\[var\(--line\)\]{border-radius:16px;}

/* bandeau fiche */
section.relative.bg-\[var\(--navy\)\] > img, .banner img{filter:saturate(1.05);}

/* ---------- pied de page ---------- */
footer{background:linear-gradient(180deg,#0B2236 0%, var(--navy) 100%) !important;}
footer h4, footer p.font-display, footer .font-semibold.text-white{letter-spacing:-.01em;}
footer a{transition:color .2s ease, opacity .2s ease;}
footer a:hover{color:#fff;}
footer ul li a:hover, footer nav a:hover{color:var(--orange) !important;}

@media (prefers-reduced-motion: reduce){
  #gammes article:hover, .card-hover:hover{transform:none;}
}
@media print{
  #cds-progress{display:none;}
  #gammes article, .card-hover{box-shadow:none !important;}
}
@media (max-width:1024px){
  #hero .lg\:grid-cols-12 > .lg\:col-span-5::before{display:none;}
}
@media (max-width:640px){
  #hero h1::before{width:52px; height:3px; margin-bottom:16px;}
}

/* ---------- fiches produit : onglets, galerie, sections ---------- */
.pd-tab{
  border-radius:10px !important; box-shadow:none !important;
  background:var(--mist) !important; border:1px solid var(--line);
  color:var(--slate) !important; transition:all .2s ease;
}
.pd-tab:hover{background:#fff !important; color:var(--navy) !important; border-color:#C3D2DD; box-shadow:var(--sh-s) !important;}
h2.border-l-4, h3.border-l-4{border-left-color:var(--orange) !important; border-left-width:4px !important; padding-left:14px !important;}

/* panneau image principale */
main .rounded-lg.border.border-\[var\(--line\)\].bg-white,
.site-page .rounded-lg.border.border-\[var\(--line\)\].bg-white{box-shadow:var(--sh-s);}

/* grille d'informations détaillées */
.rounded-md.border.border-\[var\(--line\)\].overflow-hidden{border-radius:12px !important; box-shadow:var(--sh-s);}

/* points clés */
.rounded-md.bg-\[var\(--steel\)\]{
  border-radius:12px !important;
  background:linear-gradient(135deg, var(--steel) 0%, #10436A 100%) !important;
  box-shadow:0 10px 24px -16px rgba(21,82,127,.8);
}
.rounded-md.border.border-\[var\(--orange\)\]\/50{border-radius:12px !important; background:#FFF9F5;}

/* fil d'Ariane */
.bg-\[var\(--mist\)\].border-b.border-\[var\(--line\)\]{background:#F7FAFC !important;}

/* bannière de page */
section.relative.bg-\[var\(--navy\)\] h1{letter-spacing:-.03em;}

/* ---------- harmonisation des accents ---------- */
.drop-mark{color:var(--orange-dk) !important;}
#gammes article{position:relative;}
#gammes article::after{content:""; position:absolute; left:0; right:0; top:0; height:3px; z-index:6;
  background:linear-gradient(90deg,var(--orange),#FFB37A);
  transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.2,.7,.3,1);}
#gammes article:hover::after{transform:scaleX(1);}
a.card-hover{position:relative;}
a.card-hover::after{content:""; position:absolute; left:0; right:0; top:0; height:3px; z-index:6;
  background:linear-gradient(90deg,var(--orange),#FFB37A);
  transform:scaleX(0); transform-origin:left; transition:transform .4s cubic-bezier(.2,.7,.3,1);}
a.card-hover:hover::after{transform:scaleX(1);}

/* boutons secondaires foncés */
a[class*="bg-[var(--navy)]"], a[class*="bg-[var(--steel)]"]{
  border-radius:8px !important; box-shadow:0 10px 22px -14px rgba(10,31,51,.8);
  transition:transform .18s ease, box-shadow .18s ease;
}
a[class*="bg-[var(--navy)]"]:hover, a[class*="bg-[var(--steel)]"]:hover{transform:translateY(-1px);}
a[class*="border-[var(--steel)]"][class*="rounded"]{border-radius:8px !important;}

/* titres de section un peu plus affirmés */
section h2.font-display.text-3xl, section h1.font-display.text-3xl{letter-spacing:-.025em;}

/* pied de page : accents de colonnes */
footer h4{position:relative; padding-bottom:10px; letter-spacing:.01em;}
footer h4::after{content:""; position:absolute; left:0; bottom:0; width:26px; height:2px;
  background:var(--orange); border-radius:2px;}
footer ul li a{color:rgba(226,236,243,.78);}

/* couche de design v3 */

/* ============================================================
   MicroDispensing — couche de design v3
   Présentation des fiches, galeries photo/vidéo, animations
   ============================================================ */

:root{
  --cds-ring:0 0 0 3px rgba(255,106,19,.20);
  --cds-grad-o:linear-gradient(180deg,#FF7E31 0%,#FF6A13 52%,#EE5A05 100%);
}

/* ---------- utilitaires ---------- */
.cds-wrap{max-width:72rem;margin:0 auto;padding:0 24px;}
@media (min-width:1024px){.cds-wrap{padding:0 40px;}}

/* ---------- apparition au défilement ---------- */
html.cds-anim [data-rv]{opacity:0;transform:translateY(22px);
  transition:opacity .7s cubic-bezier(.2,.7,.3,1), transform .7s cubic-bezier(.2,.7,.3,1);}
html.cds-anim [data-rv].rv-in{opacity:1;transform:none;}
html.cds-anim [data-rv][data-rvd="1"]{transition-delay:.07s}
html.cds-anim [data-rv][data-rvd="2"]{transition-delay:.14s}
html.cds-anim [data-rv][data-rvd="3"]{transition-delay:.21s}
html.cds-anim [data-rv][data-rvd="4"]{transition-delay:.28s}
html.cds-anim [data-rv][data-rvd="5"]{transition-delay:.35s}
@media (prefers-reduced-motion: reduce){
  html.cds-anim [data-rv]{opacity:1!important;transform:none!important;transition:none!important}
}

/* ============================================================
   GALERIE PRODUIT
   ============================================================ */
.cds-gal{position:relative;
  background:radial-gradient(78% 78% at 50% 32%, #FFFFFF 0%, #EFF5FA 100%)!important;
  border-color:var(--line)!important;border-radius:18px!important;
  box-shadow:0 2px 4px rgba(10,31,51,.04), 0 18px 40px -26px rgba(10,31,51,.28);
}
.cds-gal img[id$="pdMain"]{
  height:clamp(300px,36vw,500px)!important;width:100%;
  cursor:zoom-in;transition:transform .55s cubic-bezier(.2,.7,.3,1);
  padding:10px;box-sizing:border-box;border-radius:0!important;
}
.cds-gal:hover img[id$="pdMain"]{transform:scale(1.035);}
.cds-gal video[id$="pdVideo"]{height:clamp(300px,36vw,500px)!important;border-radius:14px!important;}
.cds-gal iframe[id$="pd3d"]{height:clamp(300px,36vw,500px)!important;}

/* pastille « agrandir » */
.cds-zoom{position:absolute;top:12px;right:12px;z-index:4;
  display:inline-flex;align-items:center;gap:7px;cursor:pointer;
  background:rgba(10,31,51,.80);color:#fff;border:0;border-radius:999px;
  padding:8px 14px;font-family:'Inter',sans-serif;font-size:12.5px;font-weight:600;
  backdrop-filter:blur(6px);opacity:0;transform:translateY(-5px);
  transition:opacity .25s ease, transform .25s ease, background .2s ease;}
.cds-gal:hover .cds-zoom,.cds-zoom:focus-visible{opacity:1;transform:none;}
.cds-zoom:hover{background:var(--orange);}
@media (hover:none){.cds-zoom{opacity:1;transform:none;}}

/* pied de galerie : légende + compteur */
.cds-galfoot{display:flex;align-items:center;gap:12px;padding:10px 14px;
  border-top:1px solid var(--line);background:#fff;}
.cds-count{flex:0 0 auto;background:var(--mist);border:1px solid var(--line);
  color:var(--slate);border-radius:999px;padding:4px 11px;
  font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.05em;}

/* badge vidéo */
.cds-vbadge{position:absolute;top:12px;left:12px;z-index:4;
  display:inline-flex;align-items:center;gap:6px;
  background:var(--orange);color:#fff;border-radius:999px;padding:6px 12px;
  font-family:'Inter',sans-serif;font-size:11.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  box-shadow:0 8px 18px -10px rgba(242,99,12,.9);}

/* légende */
.cds-cap{flex:1;min-width:0;margin:0;color:var(--slate);font-size:13px;line-height:1.45;}

/* vignettes */
.pd-thumb{position:relative;border-radius:11px!important;background:#fff;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;}
.pd-thumb img{padding:2px;box-sizing:border-box;}
.pd-thumb:hover{transform:translateY(-3px);box-shadow:0 10px 20px -14px rgba(10,31,51,.5);}
.pd-thumb.border-\[var\(--steel-2\)\]{border-color:var(--orange)!important;box-shadow:var(--cds-ring);}
#pdRail,[id$="pdRail"]{scrollbar-width:none;padding:2px;}
#pdRail::-webkit-scrollbar,[id$="pdRail"]::-webkit-scrollbar{display:none;}

/* ============================================================
   VISIONNEUSE PLEIN ÉCRAN
   ============================================================ */
.cds-lb{position:fixed;inset:0;z-index:300;display:none;
  background:rgba(5,16,27,.95);backdrop-filter:blur(8px);}
.cds-lb.is-open{display:block;}
.cds-lb-stage{position:absolute;inset:64px 72px 84px;display:flex;align-items:center;justify-content:center;}
.cds-lb-stage img,.cds-lb-stage video{max-width:100%;max-height:100%;object-fit:contain;
  border-radius:10px;box-shadow:0 50px 100px -40px rgba(0,0,0,.9);
  animation:cdsLbIn .4s cubic-bezier(.2,.7,.3,1);}
@keyframes cdsLbIn{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.cds-lb-btn{position:absolute;z-index:4;width:46px;height:46px;border:0;cursor:pointer;
  border-radius:50%;background:rgba(255,255,255,.12);color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s ease, transform .2s ease;}
.cds-lb-btn:hover{background:var(--orange);transform:scale(1.07);}
.cds-lb-prev{left:16px;top:50%;margin-top:-23px;}
.cds-lb-next{right:16px;top:50%;margin-top:-23px;}
.cds-lb-close{top:16px;right:16px;}
.cds-lb-info{position:absolute;left:0;right:0;bottom:26px;text-align:center;
  color:rgba(255,255,255,.88);font-size:13.5px;padding:0 24px;}
.cds-lb-info b{display:block;font-family:'IBM Plex Mono',monospace;font-size:11.5px;
  letter-spacing:.1em;color:rgba(255,255,255,.55);margin-bottom:5px;font-weight:600;}
.cds-lb-rail{position:absolute;left:0;right:0;bottom:0;height:0;overflow:hidden;}
@media (max-width:640px){
  .cds-lb-stage{inset:58px 10px 92px;}
  .cds-lb-prev{left:8px}.cds-lb-next{right:8px}
  .cds-lb-btn{width:40px;height:40px}
}
body.cds-lb-open{overflow:hidden;}

/* ============================================================
   SOUS-NAVIGATION DE FICHE (collante + section active)
   ============================================================ */
.cds-subnav{position:sticky;top:112px;z-index:40;display:flex;gap:8px;
  margin:56px 0 0;padding:12px 2px;overflow-x:auto;scrollbar-width:none;
  background:#fff;border-bottom:1px solid var(--line);
  box-shadow:0 10px 18px -18px rgba(10,31,51,.6);}
.cds-subnav::-webkit-scrollbar{display:none;}
.cds-chip{flex:0 0 auto;cursor:pointer;border:1px solid var(--line);border-radius:999px;
  background:var(--mist);color:var(--slate);padding:9px 16px;
  font-family:'Inter',sans-serif;font-size:13.5px;font-weight:600;white-space:nowrap;
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease;}
.cds-chip:hover{background:#fff;color:var(--navy);border-color:#C3D2DD;
  box-shadow:0 6px 14px -10px rgba(10,31,51,.5);}
.cds-chip.is-cur{background:var(--navy);border-color:var(--navy);color:#fff;}
@media (max-width:640px){.cds-subnav{top:112px;margin-top:40px}}

/* ============================================================
   PANNEAU D'INFORMATIONS (titre + caractéristiques clés)
   ============================================================ */
.cds-info{background:linear-gradient(180deg,#FFFFFF 0%,#FAFCFE 100%);
  border:1px solid var(--line);border-radius:18px;padding:26px 26px 28px;
  box-shadow:0 2px 4px rgba(10,31,51,.04), 0 18px 40px -30px rgba(10,31,51,.25);}
.cds-info h1{color:var(--navy)!important;}
.cds-info dl{margin-top:18px!important;}
.cds-info dl > div{transition:background .18s ease;border-radius:8px;}
.cds-info dl > div:hover{background:#F2F8FC;}
.cds-info dd{font-variant-numeric:tabular-nums;}
@media (max-width:1023px){.cds-info{padding:22px 20px 24px;}}

/* badges de réassurance sous le titre */
.cds-badges{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.cds-badge{display:inline-flex;align-items:center;gap:6px;
  font-family:'Inter',sans-serif;font-size:12px;font-weight:600;color:var(--steel);
  background:#EDF4FA;border:1px solid #D7E6F1;border-radius:999px;padding:7px 12px;}
.cds-badge svg{flex:0 0 auto;color:var(--orange-dk);}
.cds-badge.is-brand{background:#FFF3EB;border-color:#FFD6BA;color:var(--orange-dk);}

/* ============================================================
   BANDEAU DE RÉASSURANCE
   ============================================================ */
.cds-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:16px;overflow:hidden;
  margin-top:30px;box-shadow:0 2px 4px rgba(10,31,51,.03);}
.cds-trust > div{background:#fff;padding:17px 18px;display:flex;gap:12px;align-items:flex-start;
  transition:background .2s ease;}
.cds-trust > div:hover{background:#FAFCFE;}
.cds-trust .ti{flex:0 0 auto;width:34px;height:34px;border-radius:9px;
  background:linear-gradient(135deg,#EDF4FA,#DCEAF4);color:var(--steel);
  display:flex;align-items:center;justify-content:center;}
.cds-trust b{display:block;font-family:'Space Grotesk',sans-serif;font-weight:600;
  font-size:13.5px;color:var(--navy);letter-spacing:-.01em;}
.cds-trust span{display:block;font-size:12.5px;color:var(--slate);margin-top:3px;line-height:1.45;}
@media (max-width:980px){.cds-trust{grid-template-columns:1fr 1fr}}
@media (max-width:540px){.cds-trust{grid-template-columns:1fr}}

/* ============================================================
   BLOC D'APPEL À L'ACTION FINAL
   ============================================================ */
.cds-ctaw{padding:0 0 76px;}
.cds-cta{position:relative;overflow:hidden;border-radius:22px;color:#fff;
  padding:44px 40px;
  background:linear-gradient(135deg,#0A1F33 0%,#113F62 58%,#17588A 100%);
  box-shadow:0 30px 70px -34px rgba(10,31,51,.75);}
.cds-cta::before{content:"";position:absolute;inset:0;z-index:0;opacity:.5;
  background:radial-gradient(600px 300px at 88% 110%, rgba(255,106,19,.42), transparent 60%);}
.cds-cta::after{content:"";position:absolute;inset:0;z-index:0;opacity:.07;
  background-image:radial-gradient(circle at 1px 1px, #fff 1px, transparent 1px);background-size:26px 26px;}
.cds-cta > *{position:relative;z-index:1;}
.cds-cta p.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:#FFB184;margin:0 0 12px;}
.cds-cta h2{font-family:'Space Grotesk',sans-serif;font-weight:700;letter-spacing:-.025em;
  font-size:clamp(22px,2.6vw,30px);line-height:1.12;margin:0;color:#fff;}
.cds-cta .lead{margin:14px 0 0;max-width:46rem;font-size:15.5px;line-height:1.65;
  color:rgba(226,238,246,.86);}
.cds-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px;}
.cds-b{display:inline-flex;align-items:center;gap:9px;border-radius:10px;
  padding:13px 22px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:600;
  text-decoration:none;transition:transform .18s ease, box-shadow .18s ease, background .2s ease;}
.cds-b:hover{transform:translateY(-2px);}
.cds-b-o{background:var(--cds-grad-o);color:#fff;box-shadow:0 14px 28px -14px rgba(242,99,12,.9);}
.cds-b-o:hover{box-shadow:0 20px 36px -16px rgba(242,99,12,.95);}
.cds-b-w{background:#fff;color:var(--navy);box-shadow:0 14px 28px -18px rgba(0,0,0,.6);}
.cds-b-g{border:1px solid rgba(255,255,255,.34);color:#fff;}
.cds-b-g:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.6);}
.cds-cta .fine{margin:22px 0 0;font-size:13px;color:rgba(226,238,246,.62);}
@media (max-width:640px){
  .cds-cta{padding:32px 22px;border-radius:18px;}
  .cds-acts .cds-b{width:100%;justify-content:center;}
}

/* ============================================================
   BARRE PRODUIT COLLANTE
   ============================================================ */
.cds-bar{position:fixed;left:0;right:0;bottom:0;z-index:90;
  transform:translateY(130%);transition:transform .38s cubic-bezier(.2,.7,.3,1);
  background:rgba(255,255,255,.97);backdrop-filter:blur(12px);
  border-top:1px solid var(--line);box-shadow:0 -12px 34px -20px rgba(10,31,51,.5);}
.cds-bar.is-on{transform:none;}
.cds-bar-in{max-width:72rem;margin:0 auto;padding:11px 24px;
  display:flex;align-items:center;gap:16px;}
.cds-bar-t{min-width:0;flex:1;}
.cds-bar-t b{display:block;font-family:'Space Grotesk',sans-serif;font-weight:600;font-size:15px;
  color:var(--navy);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cds-bar-t span{display:block;font-size:12.5px;color:var(--slate);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cds-bar .cds-b{padding:11px 18px;font-size:14px;}
.cds-bar .cds-b-s{border:1px solid var(--line);color:var(--steel);background:#fff;}
.cds-bar .cds-b-s:hover{background:var(--mist);border-color:#C3D2DD;}
@media (max-width:720px){
  .cds-bar-in{padding:9px 14px;gap:10px;}
  .cds-bar-t span{display:none;}
  .cds-bar .cds-b-s{display:none;}
  .cds-bar .cds-b{padding:11px 14px;}
}

/* ============================================================
   RETOUR EN HAUT
   ============================================================ */
.cds-top{position:fixed;right:18px;bottom:88px;z-index:80;width:44px;height:44px;
  border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.95);
  color:var(--navy);cursor:pointer;display:flex;align-items:center;justify-content:center;
  box-shadow:0 12px 26px -16px rgba(10,31,51,.6);backdrop-filter:blur(8px);
  opacity:0;pointer-events:none;transform:translateY(8px);
  transition:opacity .25s ease, transform .25s ease, background .2s ease, color .2s ease;}
.cds-top.is-on{opacity:1;pointer-events:auto;transform:none;}
.cds-top:hover{background:var(--navy);color:#fff;border-color:var(--navy);}
@media (max-width:720px){.cds-top{bottom:78px;right:12px;width:40px;height:40px;}}

/* ============================================================
   TABLEAUX ET GRILLES DE CARACTÉRISTIQUES
   ============================================================ */
.overflow-x-auto.rounded-lg,.overflow-x-auto.rounded-md{border-radius:14px!important;
  box-shadow:0 2px 4px rgba(10,31,51,.03);}
table tbody td{vertical-align:top;}
table tbody tr:hover{background:#EFF6FB!important;}
table tbody td:first-child{color:var(--slate)!important;}
table tbody td.font-semibold,table tbody td:nth-child(2){letter-spacing:-.005em;}

/* grille « informations détaillées » */
.cds-specs{border-radius:14px!important;box-shadow:0 2px 4px rgba(10,31,51,.03);}
.cds-specs > div > div{transition:background .18s ease;}
.cds-specs > div > div:hover{background:#EFF6FB;}
.cds-specs span:first-child{color:var(--slate)!important;}

/* cartes « caractéristiques et avantages » */
.cds-feat{border-radius:14px!important;transition:transform .25s cubic-bezier(.2,.7,.3,1),
  box-shadow .25s ease, border-color .25s ease;}
.cds-feat:hover{transform:translateY(-4px);border-color:#C3D2DD!important;
  box-shadow:0 18px 38px -24px rgba(10,31,51,.42);}
.cds-feat:hover > span:first-child{background:var(--orange)!important;color:#fff!important;}
.cds-feat > span:first-child{transition:background .25s ease,color .25s ease;}

/* pastilles d'options / procédés */
span.rounded-full{transition:background .2s ease,border-color .2s ease,color .2s ease;}
span.rounded-full:hover{border-color:#C3D2DD;}

/* titres de section de fiche */
h2.border-l-4,h3.border-l-4{border-image:linear-gradient(180deg,var(--orange),#FFB37A) 1!important;}

/* ============================================================
   PAGES DE GAMME : cartes produit
   ============================================================ */
a.card-hover .aspect-\[16\/10\]{background:radial-gradient(70% 70% at 50% 35%,#fff,#F1F6FA);}
a.card-hover:hover img{transform:scale(1.05);}

/* ============================================================
   ACCUEIL : héros
   ============================================================ */
#hero,[id$="--hero"]{position:relative;}
#hero video,[id$="--hero"] video{transition:transform .8s cubic-bezier(.2,.7,.3,1);}
#hero .relative.rounded-lg:hover video{transform:scale(1.02);}
#hero a[class*="bg-[var(--orange)]"]{padding-top:15px;padding-bottom:15px;}
/* ===== v4 · tableaux lisibles, fond blanc ===== */
.cds-t{border-collapse:separate;border-spacing:0;background:#fff;color:var(--navy);}
.cds-t thead tr{background:#fff!important;}
.cds-t thead th{background:#fff!important;color:var(--navy)!important;font-family:'Inter',sans-serif;font-weight:700;
  font-size:12.5px;letter-spacing:.07em;text-transform:uppercase;text-align:left;padding:15px 20px;
  border-bottom:2px solid var(--steel);}
.cds-t tbody tr,table.cds-t tbody tr[class][class][class],table.cds-t tbody tr[class][class]{background:#fff!important;}
table.cds-t tbody tr[class]:hover,.cds-t tbody tr:hover{background:#F7FAFC!important;}
table.cds-t tbody tr.cds-sec:hover{background:#fff!important;}
.cds-t tbody td{padding:13px 20px;border-bottom:1px solid #E4ECF2!important;font-family:'Inter',sans-serif!important;
  font-size:14.5px;line-height:1.55;vertical-align:top;font-variant-numeric:tabular-nums;}
.cds-t tbody tr:last-child td{border-bottom:0!important;}
.cds-t tbody td:first-child{color:#4D5D6C!important;font-weight:500;}
.cds-t tbody td.font-semibold,.cds-t tbody td.font-mono{color:var(--navy);font-weight:650;}
.cds-t tbody td .text-\[12px\]{color:#6B7B8A;font-weight:400;}
/* tableaux à 4 colonnes : libellé / valeur / libellé / valeur */
.cds-t4 tbody td:nth-child(odd){color:#4D5D6C!important;font-weight:500;}
.cds-t4 tbody td:nth-child(even){color:var(--navy)!important;font-weight:650;}
.cds-t4 tbody td:nth-child(3){border-left:1px solid #E4ECF2;}
/* titres de section dans un tableau : texte foncé sur fond blanc */
.cds-t tbody tr.cds-sec,.cds-t tbody tr.cds-sec:hover{background:#fff!important;}
.cds-t tbody tr.cds-sec td{background:#fff!important;color:var(--navy)!important;font-family:'Inter',sans-serif!important;
  font-weight:800;font-size:12.5px;letter-spacing:.09em;text-transform:uppercase;padding:26px 20px 11px;
  border-bottom:2px solid var(--steel)!important;box-shadow:inset 4px 0 0 var(--orange);padding-left:24px;}
.cds-t tbody tr.cds-sec:first-child td{padding-top:20px;}
/* petits tableaux (consommables) */
.cds-t.text-\[14px\] tbody td{padding:11px 20px;font-size:14px;}
/* grille « informations détaillées » */
.cds-grid{background:#fff;}
.cds-grid > div{background:#fff!important;border-top:1px solid #E4ECF2;}
.cds-grid > div:first-child{border-top:0;}
.cds-grid > div:hover{background:#F7FAFC!important;}
.cds-grid > div > div{padding:14px 22px!important;}
.cds-grid > div > div > span:first-child{color:#4D5D6C!important;font-weight:500;}
.cds-grid > div > div > span:last-child{color:var(--navy)!important;font-weight:650;}
@media (min-width:640px){.cds-grid > div > div + div{border-left:1px solid #E4ECF2;}}
/* tableau comparatif : notre machine mise en avant */
.cds-cmp thead th{vertical-align:bottom;padding:20px 20px 14px;}
.cds-cmp thead th small{display:block;font-size:10.5px;font-weight:700;letter-spacing:.08em;color:#6B7B8A;margin-bottom:7px;}
.cds-cmp thead th b{display:block;font-size:14px;letter-spacing:.01em;text-transform:none;font-weight:700;}
.cds-cmp thead th.us{background:var(--steel)!important;color:#fff!important;border-bottom:3px solid var(--orange);
  border-radius:12px 12px 0 0;position:relative;padding-top:34px;}
.cds-cmp thead th.us small{color:#fff;}
.cds-cmp thead th.us .tag{position:absolute;top:-1px;left:50%;transform:translateX(-50%);background:var(--orange);color:#fff;
  font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;padding:5px 12px;border-radius:0 0 8px 8px;white-space:nowrap;}
.cds-cmp thead th.us b{font-size:15px;}
.cds-cmp tbody td.us{box-shadow:inset 3px 0 0 var(--orange),inset -3px 0 0 var(--orange);color:var(--navy)!important;
  font-weight:700;background:#fff!important;padding-left:24px;}
.cds-cmp tbody td.us::before{content:"✓";color:#16845B;font-weight:800;margin-right:8px;}
.cds-cmp tbody tr:last-child td.us{box-shadow:inset 3px 0 0 var(--orange),inset -3px 0 0 var(--orange),inset 0 -3px 0 var(--orange);border-radius:0 0 12px 12px;}
.cds-cmp tbody td:not(.us):not(:first-child){color:#4D5D6C!important;font-weight:500!important;}
.cds-cmp-note{display:flex;align-items:center;gap:10px;font-size:14px;color:#1A2530;margin:0 0 14px;}
.cds-cmp-note i{display:inline-block;width:16px;height:16px;border:3px solid var(--orange);border-radius:4px;flex:none;}
@media (max-width:640px){
  .cds-t thead th{padding:12px 14px;}
  .cds-t tbody td{padding:11px 14px;font-size:14px;}
  .cds-t tbody tr.cds-sec td{padding:22px 14px 9px 18px;}
  .cds-grid > div > div{padding:12px 16px!important;}
}
/* ===== FAQ ===== */
.cds-faq{border:1px solid var(--line);border-radius:14px;background:#fff;overflow:hidden;}
.cds-faq-i{border-top:1px solid var(--line);}
.cds-faq-i:first-child{border-top:0;}
.cds-faq-i summary{list-style:none;cursor:pointer;padding:18px 56px 18px 22px;position:relative;font-family:'Space Grotesk','Inter',sans-serif;
  font-weight:600;font-size:16.5px;color:var(--navy);line-height:1.4;}
.cds-faq-i summary::-webkit-details-marker{display:none;}
.cds-faq-i summary::after{content:"+";position:absolute;right:22px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;
  background:var(--mist);color:var(--steel);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;transition:transform .2s ease,background .2s ease;}
.cds-faq-i[open] summary::after{content:"–";background:var(--orange);color:#fff;}
.cds-faq-i summary:hover{background:#F7FAFC;}
.cds-faq-i summary:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;}
.cds-faq-i p{padding:0 56px 20px 22px;margin:0;color:#1A2530;font-size:15px;line-height:1.7;}
/* vignettes de galerie : l'image entière, sans bord coupé */
.pd-thumb img{object-fit:contain!important;background:#fff;}
.pd-thumb{background:#fff;}
/* ===== v5 · icône « agrandir » sous chaque image ===== */
.cds-zhost{position:relative;}
.cds-zb{position:absolute;z-index:6;width:38px;height:38px;padding:0;border:0;border-radius:999px;
  display:inline-flex;align-items:center;justify-content:center;cursor:pointer;
  background:rgba(10,31,51,.82);color:#fff;box-shadow:0 2px 10px rgba(10,31,51,.28);
  backdrop-filter:blur(4px);transition:background .2s ease, transform .2s ease;}
.cds-zb:hover,.cds-zb:focus-visible{background:var(--orange);transform:scale(1.08);outline:none;}
.cds-zb:focus-visible{box-shadow:0 0 0 3px rgba(255,106,19,.45);}
body.cds-edit .cds-zb{display:none!important;}
/* galerie des fiches : même icône, en bas à droite de l'image, toujours visible */
.cds-zoom{top:auto!important;right:12px!important;bottom:62px;width:38px;height:38px;padding:0!important;
  justify-content:center;opacity:1!important;transform:none!important;
  box-shadow:0 2px 10px rgba(10,31,51,.28);}
.cds-zoom span{display:none!important;}
.cds-zoom svg{width:18px;height:18px;}
.cds-zoom:hover{transform:scale(1.08)!important;}
.cds-lb-info b:empty{display:none;}
@media print{.cds-zb,.cds-zoom{display:none!important;}}

/* ===== texte justifié ===== */
html{-webkit-hyphens:auto;hyphens:auto;}
main p, section p, article p, .cds-faq-i p, .cds-trust span, .cds-feat p, footer p, details p, li{
  text-align:justify;text-justify:inter-word;text-align-last:left;
  -webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word;}
.text-center p, .text-center li, [class*="text-center"] p, [class*="text-center"] li,
.cds-cta p, .cds-bar p, td p, td li, th p, .cds-lb p, header li, nav li, .cds-subnav li{
  text-align:inherit;hyphens:manual;}
.cds-cta .lead{text-align:left;}
/* ===== v6 · interface : en-tête compact, logo cliquable, bannière fiche allégée ===== */
:root{--hh:112px;}
html.cds-sc{--hh:76px;}
@media (max-width:639px){:root,html.cds-sc{--hh:80px;}}
html{scroll-padding-top:calc(var(--hh) + 16px);}
header.sticky{transition:box-shadow .25s ease,background-color .25s ease,margin-bottom .25s ease;}
header.sticky .h-28{transition:height .25s ease;}
header.sticky img[alt="MicroDispensing"]{transition:height .25s ease;}
html.cds-sc header.sticky{box-shadow:0 8px 26px -14px rgba(14,35,56,.45);margin-bottom:36px;}
html.cds-sc header.sticky .h-28{height:76px;}
html.cds-sc header.sticky img.h-20{height:3.4rem;}
@media (max-width:639px){
  html.cds-sc header.sticky{margin-bottom:0;}
  header.sticky .h-28, html.cds-sc header.sticky .h-28{height:80px;}
  header.sticky img.h-20, html.cds-sc header.sticky img.h-20{height:3.5rem;}
}
/* logo aligné sur la grille du contenu (écrans larges) */
@media (min-width:1024px){
  header.sticky > div[class*="max-w-[1800px]"]{max-width:80rem;padding-left:2.5rem;padding-right:2.5rem;}
}
/* logo = lien vers l'accueil */
a:has(> img[alt="MicroDispensing"]){cursor:pointer;transition:opacity .2s ease,transform .2s ease;}
a:has(> img[alt="MicroDispensing"]):hover{opacity:.86;}
a:has(> img[alt="MicroDispensing"]):active{transform:scale(.98);}
footer .cds-flogo{display:inline-flex;}
/* barre sous l'en-tête collante : suit la hauteur de l'en-tête */
.cds-subnav{top:var(--hh)!important;transition:top .25s ease;}
/* bannière « Fiche produit » plus basse : le produit apparaît plus vite */
div.relative.overflow-hidden[class*="sm:h-[230px]"]{height:96px;}
@media (min-width:640px){div.relative.overflow-hidden[class*="sm:h-[230px]"]{height:128px;}}
div.relative.overflow-hidden[class*="sm:h-[230px]"] p.font-display{font-size:1.75rem;}
@media (min-width:640px){div.relative.overflow-hidden[class*="sm:h-[230px]"] p.font-display{font-size:2.1rem;}}
/* boutons orange : léger relief au survol */
a[class*="bg-[var(--orange)]"],.cds-b{transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease;}
a[class*="bg-[var(--orange)]"]:hover,.cds-b:hover{transform:translateY(-1px);}
a[class*="bg-[var(--orange)]"]:active,.cds-b:active{transform:none;}
/* tableaux : lignes plus lisibles, en-tête collant dans le conteneur */
table.cds-t tbody tr{transition:background-color .15s ease;}
@media (prefers-reduced-motion:reduce){
  header.sticky,header.sticky .h-28,header.sticky img,.cds-subnav,a[class*="bg-[var(--orange)]"],.cds-b{transition:none!important;}
}
@media print{header.sticky{position:static;box-shadow:none;}}
/* ===== v7 · bandeau cookies ===== */
#cds-cookie{position:fixed;left:20px;bottom:20px;z-index:10000;width:min(440px,calc(100vw - 40px));background:#fff;color:#0E2338;border:1px solid #D7E0E8;border-radius:14px;box-shadow:0 18px 50px -12px rgba(14,35,56,.42);font-family:Inter,system-ui,Arial,sans-serif;font-size:14px;line-height:1.5;padding:20px 20px 18px;opacity:0;transform:translateY(14px);pointer-events:none;transition:opacity .3s ease,transform .3s ease;text-align:left;}
#cds-cookie.is-on{opacity:1;transform:none;pointer-events:auto;}
#cds-cookie *{text-align:left;hyphens:manual;}
#cds-cookie .ck-t{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;color:#0E2338;margin:0 0 8px;}
#cds-cookie .ck-t svg{flex:none;color:#FF6A13;}
#cds-cookie p{margin:0 0 14px;color:#34495C;font-size:13.5px;}
#cds-cookie a.ck-more{color:#1B4B73;font-weight:600;text-decoration:underline;text-underline-offset:2px;}
#cds-cookie a.ck-more:hover{color:#FF6A13;}
#cds-cookie .ck-row{display:flex;gap:8px;flex-wrap:wrap;}
#cds-cookie button{font:inherit;font-weight:600;font-size:13.5px;border-radius:8px;padding:10px 14px;cursor:pointer;border:1.5px solid #0E2338;background:#fff;color:#0E2338;flex:1 1 0;min-width:96px;transition:background-color .15s,color .15s,border-color .15s;}
#cds-cookie button:hover{background:#0E2338;color:#fff;}
#cds-cookie button.ck-accept{background:#0E2338;color:#fff;}
#cds-cookie button.ck-accept:hover{background:#1B4B73;border-color:#1B4B73;}
#cds-cookie button.ck-link{flex:1 1 100%;border:0;background:none;color:#1B4B73;text-decoration:underline;text-underline-offset:2px;padding:6px 0 0;font-weight:600;}
#cds-cookie button.ck-link:hover{background:none;color:#FF6A13;}
#cds-cookie button:focus-visible,#cds-cookie a:focus-visible,#cds-cookie input:focus-visible+.ck-sw{outline:3px solid #FF6A13;outline-offset:2px;}
#cds-cookie .ck-pref{display:none;margin:0 0 14px;border-top:1px solid #E3EAF0;}
#cds-cookie.is-pref .ck-pref{display:block;}
#cds-cookie.is-pref .ck-main-row{display:none;}
#cds-cookie .ck-opt{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #E3EAF0;cursor:pointer;}
#cds-cookie .ck-opt b{display:block;font-size:14px;color:#0E2338;}
#cds-cookie .ck-opt small{display:block;color:#5B6E7E;font-size:12.5px;margin-top:2px;}
#cds-cookie .ck-opt input{position:absolute;opacity:0;width:1px;height:1px;}
#cds-cookie .ck-sw{flex:none;position:relative;width:42px;height:24px;border-radius:99px;background:#B7C4CF;transition:background-color .2s;margin-top:2px;}
#cds-cookie .ck-sw::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s;}
#cds-cookie input:checked+.ck-sw{background:#1F8A55;}
#cds-cookie input:checked+.ck-sw::after{transform:translateX(18px);}
#cds-cookie input:disabled+.ck-sw{opacity:.65;cursor:not-allowed;}
#cds-cookie .ck-save{display:none;}
#cds-cookie.is-pref .ck-save{display:flex;}
.cds-cookie-li a{cursor:pointer;}
@media (max-width:639px){
  #cds-cookie{left:10px;right:10px;bottom:10px;width:auto;padding:16px 16px 14px;max-height:calc(100vh - 20px);overflow:auto;}
  #cds-cookie p{font-size:13px;}
}
@media (prefers-reduced-motion:reduce){#cds-cookie,#cds-cookie *{transition:none!important;}}
body.cds-edit #cds-cookie{display:none!important;}
@media print{#cds-cookie{display:none!important;}}
/* ===== v9 · sélecteur de langue FR | EN ===== */
.cds-lang{display:inline-flex;align-items:center;gap:2px;padding:3px;flex:none;border:1px solid var(--line,#DDE4E9);border-radius:999px;background:#fff;font-family:Inter,system-ui,sans-serif;font-weight:600;font-size:12.5px;line-height:1;letter-spacing:.05em;}
.cds-lang a,.cds-lang span{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:30px;padding:0 10px;border-radius:999px;color:var(--slate,#4A5A68);text-decoration:none;transition:background-color .15s ease,color .15s ease;}
.cds-lang a:hover{background:var(--mist,#F4F7F9);color:var(--navy,#0E2338);}
.cds-lang .is-on{background:var(--navy,#0E2338);color:#fff;cursor:default;}
.cds-lang a:focus-visible{outline:3px solid var(--orange,#FF6A13);outline-offset:2px;}
/* placé à droite, juste avant le menu mobile */
header .h-28 > .cds-lang{margin-left:auto;}
@media (min-width:1024px){
  header .h-28 > div.shrink-0[class*="lg:flex"]{margin-left:auto;}
  header .h-28 > .cds-lang{margin-left:-8px;}
}
@media (min-width:1280px){ header .h-28 > div.shrink-0[class*="lg:flex"]{margin-left:0;} }
@media (max-width:380px){ .cds-lang a,.cds-lang span{min-width:32px;padding:0 8px;height:28px;} }
html.cds-sc .cds-lang a,html.cds-sc .cds-lang span{height:28px;}
@media print{.cds-lang{display:none;}}
@media (max-width:400px){
  header .h-28{gap:12px;}
  header.sticky img.h-20, html.cds-sc header.sticky img.h-20{height:3rem;}
}
/* v10 · cartes entièrement cliquables (photo + texte) */
.cds-cardlink{position:relative;cursor:pointer;}
.cds-cardlink a.cds-mainlink::after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;}
.cds-cardlink a.cds-mainlink:focus-visible::after{outline:3px solid rgba(255,106,19,.55);outline-offset:2px;}
.cds-cardlink:hover h3{color:var(--steel);}
body.cds-edit .cds-cardlink a.cds-mainlink::after{display:none;}