/* Manrope (SIL Open Font License 1.1), hébergée localement dans /fonts */
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/manrope-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500 800;font-display:swap;src:url(/fonts/manrope-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
/* Arcway — charte « Arche » : Encre #121826 · Éclair #3355FF · Nuage #F3F4F8 · Manrope */
:root{
  --encre:#121826; --eclair:#3355FF; --eclair-fonce:#2240E6; --eclair-pale:#E8ECFF;
  --nuage:#F3F4F8; --trait:#D6D9E3; --gris:#4A5163; --blanc:#FFFFFF;
  --rayon:18px; --rayon-l:28px; --max:1160px;
  --ombre:0 1px 2px rgba(18,24,38,.05),0 8px 24px rgba(18,24,38,.06);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--blanc);color:var(--encre);font-family:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:17px;line-height:1.6;font-weight:500;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:var(--eclair);text-decoration:none}
a:hover{text-decoration:underline}
h1,h2,h3{line-height:1.12;letter-spacing:-.03em;margin:0 0 .5em;font-weight:800}
h1{font-size:clamp(36px,6vw,62px)}
h2{font-size:clamp(28px,4vw,42px)}
h3{font-size:20px;letter-spacing:-.015em}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 16px}
@media(min-width:720px){.wrap{padding:0 24px}}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sauter{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--encre);color:#fff;padding:8px 14px;border-radius:8px}
.sauter:focus{left:8px}
:focus-visible{outline:3px solid var(--eclair);outline-offset:2px;border-radius:4px}

/* Logo */
.logo{display:inline-flex;align-items:center;gap:9px;color:var(--encre);text-decoration:none!important}
.logo svg{width:34px;height:34px;flex-shrink:0}
.logo span{font-size:27px;font-weight:800;letter-spacing:-.045em;line-height:1;padding-bottom:.12em}
.logo--blanc{color:#fff}

/* En-tête */
.entete{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid transparent;transition:border-color .2s}
.entete.defile{border-bottom-color:var(--trait)}
.entete .wrap{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.nav{display:flex;align-items:center;gap:28px}
.nav a{color:var(--encre);font-weight:700;font-size:15.5px}
.nav a:hover{color:var(--eclair);text-decoration:none}
.nav a[aria-current=page]{color:var(--eclair)}
.burger{display:none;background:none;border:0;padding:10px;margin-right:-10px;cursor:pointer;color:var(--encre)}
.burger svg{width:26px;height:26px}
@media(max-width:1000px){
  .burger{display:block}
  .nav{position:fixed;inset:68px 0 auto 0;flex-direction:column;align-items:stretch;gap:0;background:#fff;border-bottom:1px solid var(--trait);padding:8px 16px 20px;box-shadow:var(--ombre);display:none}
  .nav.ouvert{display:flex}
  .nav a{padding:14px 0;border-bottom:1px solid var(--nuage);font-size:17px}
  .nav .btn{margin-top:14px;justify-content:center;border-bottom:0}
}

/* Boutons */
.btn{display:inline-flex;align-items:center;gap:8px;font:inherit;font-weight:700;font-size:16px;line-height:1;padding:15px 22px;border-radius:999px;border:2px solid transparent;cursor:pointer;text-decoration:none!important;transition:background .15s,color .15s,border-color .15s,transform .15s}
.btn:active{transform:translateY(1px)}
.btn--plein{background:var(--eclair);color:#fff!important}
.btn--plein:hover{background:var(--eclair-fonce)}
.btn--contour{border-color:var(--encre);color:var(--encre)!important;background:transparent}
.btn--contour:hover{background:var(--encre);color:#fff!important}
.btn--blanc{background:#fff;color:var(--encre)!important}
.btn--blanc:hover{background:var(--eclair-pale)}
.nav .btn{padding:11px 18px;font-size:15px}
.btn svg{width:18px;height:18px}
.boutons{display:flex;flex-wrap:wrap;gap:12px}

/* Sections */
.section{padding:88px 0}
.section--nuage{background:var(--nuage)}
.section--encre{background:var(--encre);color:#fff}
@media(max-width:720px){.section{padding:60px 0}}
.surtitre{display:inline-block;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--eclair);margin-bottom:14px}
.chapo{font-size:19px;color:var(--gris);max-width:680px}
.section--encre .chapo{color:#C3C8D6}
.tete{margin-bottom:44px}
.tete--centre{text-align:center}
.tete--centre .chapo{margin-left:auto;margin-right:auto}

/* Héros */
.heros{background:var(--nuage);padding:64px 0 72px;overflow:hidden}
.heros .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.heros h1 em{font-style:normal;color:var(--eclair)}
.heros .chapo{font-size:20px;margin-bottom:30px}
.heros__visuel{position:relative;display:flex;justify-content:center}
.heros__carte{position:relative;background:#fff;border-radius:var(--rayon-l);padding:44px 40px 36px;box-shadow:var(--ombre);width:100%;max-width:400px}
.heros__carte img{margin:0 auto;width:min(240px,70%);height:auto}
.heros__arche{position:absolute;inset:-40px -60px auto auto;width:260px;opacity:.09;pointer-events:none}
.pastille{position:absolute;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--trait);border-radius:999px;padding:8px 14px;font-size:13.5px;font-weight:700;box-shadow:var(--ombre);white-space:nowrap}
.pastille i{width:8px;height:8px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 4px rgba(34,197,94,.18)}
.pastille--1{top:28px;left:-28px}
.pastille--2{bottom:64px;right:-24px}
.pastille--2 i{background:var(--eclair);box-shadow:0 0 0 4px rgba(51,85,255,.18)}
.heros__puces{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:28px;padding:0;list-style:none;font-size:15px;font-weight:700;color:var(--gris)}
.heros__puces li{display:flex;align-items:center;gap:8px}
.heros__puces svg{width:18px;height:18px;color:var(--eclair)}
@media(max-width:900px){
  .heros{padding:40px 0 56px}
  .heros .wrap{grid-template-columns:1fr;gap:40px}
  .pastille--1{left:0}.pastille--2{right:0}
}

/* Grilles et cartes */
.grille{display:grid;gap:20px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:960px){.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.g2,.g3,.g4{grid-template-columns:1fr}}
.carte{background:#fff;border:1px solid var(--trait);border-radius:var(--rayon);padding:28px}
.section--nuage .carte{border-color:transparent;box-shadow:var(--ombre)}
.carte h3{margin-top:0}
.carte p:last-child{margin-bottom:0}
.carte p{color:var(--gris);font-size:16px}
.carte__ico{width:48px;height:48px;border-radius:13px;background:var(--eclair-pale);color:var(--eclair);display:flex;align-items:center;justify-content:center;margin-bottom:18px}
.carte__ico svg{width:24px;height:24px}
a.carte{display:block;color:inherit;text-decoration:none!important;transition:border-color .15s,transform .15s}
a.carte:hover{border-color:var(--eclair);transform:translateY(-2px)}
.lien-fleche{font-weight:800;color:var(--eclair);display:inline-flex;align-items:center;gap:6px}
.lien-fleche svg{width:18px;height:18px;flex-shrink:0}

/* Étapes */
.etapes{counter-reset:etape;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;list-style:none;padding:0;margin:0}
.etapes li{position:relative;background:#fff;border-radius:var(--rayon);padding:30px 28px;box-shadow:var(--ombre)}
.etapes li::before{counter-increment:etape;content:"0" counter(etape);display:block;font-size:15px;font-weight:800;color:var(--eclair);letter-spacing:.08em;margin-bottom:16px}
.etapes h3{margin-bottom:8px}
.etapes p{color:var(--gris);font-size:16px;margin:0}
.etapes .lieu{display:inline-block;margin-top:16px;font-size:13px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--encre);background:var(--nuage);border-radius:999px;padding:6px 12px}
@media(max-width:860px){.etapes{grid-template-columns:1fr}}

/* Chiffres clés (fiche technique) */
.chiffres{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.chiffre{border:1px solid var(--trait);border-radius:var(--rayon);padding:20px 22px;background:#fff}
.chiffre b{display:block;font-size:30px;font-weight:800;letter-spacing:-.035em;line-height:1.1}
.chiffre span{display:block;margin-top:6px;font-size:14.5px;font-weight:600;color:var(--gris);line-height:1.4}
@media(max-width:960px){.chiffres{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:400px){.chiffre b{font-size:25px}}

/* Produit */
.produit{display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center}
.produit__photo{background:var(--nuage);border-radius:var(--rayon-l);padding:48px;display:flex;justify-content:center}
.section--nuage .produit__photo{background:#fff}
.produit__photo img{width:min(260px,80%);height:auto}
.produit__gamme{font-size:15.5px;font-weight:700;color:var(--gris);margin-bottom:24px}
.produit .chiffres{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:28px}
@media(max-width:900px){.produit{grid-template-columns:1fr;gap:32px}.produit__photo{padding:36px}}

/* Listes à puce « arche » */
.puces{list-style:none;padding:0;margin:0;display:grid;gap:14px}
.puces--2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 40px}
@media(max-width:720px){.puces--2{grid-template-columns:1fr}}
.puces li{position:relative;padding-left:32px;font-weight:600}
.puces li::before{content:"";position:absolute;left:0;top:.28em;width:18px;height:18px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M24 44A26 26 0 0 1 76 44' fill='none' stroke='%233355FF' stroke-width='12' stroke-linecap='round'/%3E%3Cpath d='M24 62v20M76 62v20' fill='none' stroke='%23121826' stroke-width='12' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat center/contain}
.section--encre .puces li::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath d='M24 44A26 26 0 0 1 76 44' fill='none' stroke='%233355FF' stroke-width='12' stroke-linecap='round'/%3E%3Cpath d='M24 62v20M76 62v20' fill='none' stroke='%23FFFFFF' stroke-width='12' stroke-linecap='round'/%3E%3C/svg%3E")}

/* Tableaux de caractéristiques */
.specs{display:grid;grid-template-columns:1fr 1fr;gap:8px 48px;align-items:start}
@media(max-width:860px){.specs{grid-template-columns:1fr}}
.specs h3{font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--eclair);margin:28px 0 6px}
.specs table{width:100%;border-collapse:collapse;font-size:15.5px}
.specs th,.specs td{text-align:left;vertical-align:top;padding:12px 0;border-bottom:1px solid var(--trait)}
.specs th{width:38%;padding-right:16px;font-weight:700;color:var(--gris)}
.specs td{font-weight:600}
.specs tr:first-child th,.specs tr:first-child td{border-top:1px solid var(--trait)}
.note{font-size:14px;color:var(--gris)}

/* Encombrement */
.encombrement{display:flex;align-items:center;gap:32px;flex-wrap:wrap;margin-top:12px}
.encombrement svg{max-width:100%;height:auto}

/* Bandeau d'appel */
.appel{position:relative;overflow:hidden;background:var(--encre);color:#fff;border-radius:var(--rayon-l);padding:56px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.appel h2{margin-bottom:10px}
.appel p{color:#C3C8D6;margin:0;font-size:18px;max-width:560px}
.appel__arche{position:absolute;right:-40px;bottom:-90px;width:300px;opacity:.12;pointer-events:none}
@media(max-width:860px){.appel{grid-template-columns:1fr;padding:40px 24px}}

/* Bloc ouvert / sans enfermement */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
@media(max-width:860px){.duo{grid-template-columns:1fr;gap:32px}}
.schema{background:#fff;border-radius:var(--rayon-l);padding:28px;box-shadow:var(--ombre)}
.schema svg{width:100%;height:auto}

/* Formulaire */
.formulaire{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.formulaire .plein{grid-column:1/-1}
@media(max-width:640px){.formulaire{grid-template-columns:1fr}}
.champ label{display:block;font-size:14.5px;font-weight:700;margin-bottom:6px}
.champ label small{font-weight:600;color:var(--gris)}
.champ input,.champ select,.champ textarea{width:100%;font:inherit;font-size:16px;font-weight:500;color:var(--encre);background:#fff;border:1.5px solid var(--trait);border-radius:12px;padding:13px 14px;transition:border-color .15s,box-shadow .15s}
.champ textarea{min-height:150px;resize:vertical}
.champ input:focus,.champ select:focus,.champ textarea:focus{outline:none;border-color:var(--eclair);box-shadow:0 0 0 4px rgba(51,85,255,.15)}
.champ--piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.consent{font-size:14px;color:var(--gris)}
.message{display:none;border-radius:12px;padding:14px 16px;font-weight:700;font-size:15.5px}
.message.ok{display:block;background:#E7F8EE;color:#0F6B37}
.message.ko{display:block;background:#FDECEC;color:#A11D1D}
.contact{display:grid;grid-template-columns:1.4fr .6fr;gap:40px;align-items:start}
@media(max-width:900px){.contact{grid-template-columns:1fr}}

/* Texte long (mentions légales) */
.texte{max-width:760px}
.texte h2{font-size:26px;margin-top:40px}
.texte p,.texte li{color:var(--gris)}
.a-completer{background:#FFF4D6;color:#7A5300;border-radius:6px;padding:1px 6px;font-weight:700}

/* Pied de page */
.pied{background:var(--encre);color:#C3C8D6;padding:64px 0 32px;font-size:15px}
.pied a{color:#fff}
.pied__haut{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12)}
.pied__haut p{margin-top:16px;max-width:340px}
.pied h4{color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase;margin:6px 0 14px}
.pied ul{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.pied__bas{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:14px}
@media(max-width:760px){.pied__haut{grid-template-columns:1fr}}

/* Apparition douce */
@media(prefers-reduced-motion:no-preference){
  .apparait{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}
  .apparait.vu{opacity:1;transform:none}
}

/* Fiches d'identité (mentions légales) */
.texte .fiche{list-style:none;padding:18px 22px;margin:0 0 1em;background:var(--nuage);border-radius:14px;display:grid;gap:6px}
.texte .fiche li{color:var(--encre);font-size:15.5px}
.texte .fiche strong{color:var(--gris);font-weight:700}

/* Sous-menu Solutions */
.sous{position:relative}
.sous__titre{display:inline-flex;align-items:center;gap:4px}
.sous__titre svg{width:15px;height:15px;transition:transform .15s}
.sous__panneau{display:none;position:absolute;top:100%;left:-18px;padding-top:12px;min-width:270px;z-index:60}
.sous__panneau::before{content:"";position:absolute;inset:12px 0 0 0;background:#fff;border:1px solid var(--trait);border-radius:16px;box-shadow:var(--ombre);z-index:-1}
.sous__panneau a{display:block;padding:11px 18px;font-size:15px}
.sous__panneau a:first-child{margin-top:8px}.sous__panneau a:last-child{margin-bottom:8px}
.sous:hover .sous__panneau,.sous:focus-within .sous__panneau{display:block}
.sous:hover .sous__titre svg{transform:rotate(180deg)}
.nav a[aria-current=true]{color:var(--eclair)}
@media(max-width:1000px){
  .sous__titre svg{display:none}
  .sous__panneau{display:block;position:static;padding:0 0 0 16px;min-width:0}
  .sous__panneau::before{display:none}
  .sous__panneau a{padding:12px 0;font-size:16px;font-weight:600;margin:0!important;border-bottom:1px solid var(--nuage)}
  .sous__titre{width:100%}
}

/* Fil d'Ariane */
.fil{font-size:14px;font-weight:600;color:var(--gris);margin-bottom:18px}
.fil a{color:var(--gris)}
.fil span{color:var(--encre)}

/* FAQ */
.texte-faq{max-width:860px}
.faq__groupe{font-size:24px;margin:40px 0 14px}
.faq__groupe:first-child{margin-top:0}
.faq{display:grid;gap:10px}
.faq details{background:#fff;border:1px solid var(--trait);border-radius:14px;padding:0 22px;transition:border-color .15s}
.faq details[open]{border-color:var(--eclair)}
.faq summary{list-style:none;cursor:pointer;padding:18px 32px 18px 0;font-weight:800;font-size:17px;position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";position:absolute;right:2px;top:50%;width:10px;height:10px;border-right:2.5px solid var(--eclair);border-bottom:2.5px solid var(--eclair);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.faq details p{color:var(--gris);font-size:16px;margin:0 0 18px}

/* Pages solutions */
.duo--haut{align-items:start}
.specs--simple{display:block}
.specs--simple table{width:100%;border-collapse:collapse;font-size:15px}
.specs--simple th,.specs--simple td{text-align:left;vertical-align:top;padding:11px 0;border-bottom:1px solid var(--trait)}
.specs--simple th{width:38%;padding-right:14px;font-weight:700;color:var(--gris)}
.specs--simple td{font-weight:600}
.specs--simple tr:last-child th,.specs--simple tr:last-child td{border-bottom:0}
.etapes--nuage li{background:var(--nuage);box-shadow:none}
.carte--mini{display:flex!important;align-items:center;gap:16px;padding:20px 22px}
.carte--mini .carte__ico{margin:0;flex-shrink:0}
.carte--mini h3{margin:0;font-size:17px}

/* À propos : logo en grand */
.heros__carte--logo{display:flex;align-items:center;justify-content:center;gap:16px;padding:72px 32px}
.heros__carte--logo svg{width:84px;height:84px}
.heros__carte--logo span{font-size:64px;font-weight:800;letter-spacing:-.045em;line-height:1;padding-bottom:.14em}
@media(max-width:480px){.heros__carte--logo svg{width:56px;height:56px}.heros__carte--logo span{font-size:44px}}

/* Fonctionnalités incluses (5 cartes) */
.inclus{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.inclus .carte{padding:24px 22px}
.inclus h3{font-size:17px}
.inclus p{font-size:15px}
@media(max-width:1100px){.inclus{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.inclus{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.inclus{grid-template-columns:1fr}}

/* Deux options de livraison */
.carte--option{position:relative;padding:32px}
.carte--option h3{font-size:24px}
.carte--option .puces{margin-top:18px}
.option__num{position:absolute;top:28px;right:28px;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--eclair);background:var(--eclair-pale);border-radius:999px;padding:6px 12px}

/* Étapes sur 4 colonnes */
.etapes--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1000px){.etapes--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.etapes--4{grid-template-columns:1fr}}

/* Bandeau reprise */
.appel--reprise .surtitre{color:#8EA2FF}

/* Visuel reprise de réseau */
.heros__carte--reseau{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:32px}
.mini-borne{display:flex;align-items:center;gap:8px;background:var(--nuage);border-radius:12px;padding:12px 14px;font-size:14px;font-weight:700}
.mini-borne i{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.mini-borne--ok i{background:#22C55E}
.mini-borne--ko i{background:#EF4444}
.mini-borne--ko{color:var(--gris)}
.reseau__fleche{grid-column:1/-1;display:flex;justify-content:center;color:var(--eclair)}
.reseau__fleche svg{width:26px;height:26px;transform:rotate(90deg)}
.mini-borne--toutes{grid-column:1/-1;justify-content:center;background:var(--encre);color:#fff;padding:16px}
.mini-borne--toutes i{background:#22C55E;box-shadow:0 0 0 4px rgba(34,197,94,.25)}

/* Gamme de bornes */
h1 em{font-style:normal;color:var(--eclair)}
.pied__haut{grid-template-columns:1.3fr 1fr 1fr 1fr}
@media(max-width:960px){.pied__haut{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.pied__haut{grid-template-columns:1fr}}
.heros__carte--photo{padding:0;overflow:hidden;max-width:480px}
.heros__carte--photo img{width:100%;height:auto;margin:0}
.carte--produit{display:flex;flex-direction:column;padding:0;overflow:hidden}
.carte-produit__visuel{display:flex;align-items:center;justify-content:center;height:300px;background:var(--nuage);padding:28px}
.section--nuage .carte-produit__visuel{background:#fff}
.carte-produit__visuel picture{display:flex;justify-content:center;height:100%}
.carte-produit__visuel img{height:100%;width:auto;object-fit:contain}
.carte-produit__visuel--photo{padding:0}
.carte-produit__visuel--photo picture,.carte-produit__visuel--photo img{width:100%;height:100%;object-fit:cover;object-position:38% 45%}
.carte-produit__texte{padding:26px 28px 30px;display:flex;flex-direction:column;flex:1}
.carte-produit__texte h3{font-size:28px;margin-bottom:6px}
.carte-produit__texte h3 a{color:inherit}
.carte-produit__accroche{font-weight:800;color:var(--encre)!important;margin-bottom:8px}
.carte-produit__texte .boutons{margin-top:auto;padding-top:8px}
.comparatif{overflow-x:auto;background:#fff;border-radius:var(--rayon);box-shadow:var(--ombre)}
.comparatif table{width:100%;min-width:620px;border-collapse:collapse;font-size:15.5px}
.comparatif th,.comparatif td{text-align:left;vertical-align:top;padding:14px 20px;border-bottom:1px solid var(--trait)}
.comparatif thead th{font-size:18px;font-weight:800;background:var(--encre);color:#fff}
.comparatif thead a{color:#fff}
.comparatif tbody th{font-weight:700;color:var(--gris);width:24%}
.comparatif td{font-weight:600}
.comparatif tr:last-child th,.comparatif tr:last-child td{border-bottom:0}

/* Configurateur de devis */
.configurateur{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:40px;align-items:start}
@media(max-width:1000px){.configurateur{grid-template-columns:1fr}}
.cfg-etapes{display:grid;gap:22px}
.cfg-etape{border:1px solid var(--trait);border-radius:var(--rayon);padding:24px 26px 26px;margin:0;min-width:0;transition:opacity .2s}
.cfg-etape legend{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:800;letter-spacing:-.02em;padding:0 8px;margin-left:-8px}
.cfg-etape legend span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--eclair);color:#fff;font-size:15px}
.cfg-etape.inactif{opacity:.5}
.cfg-bornes{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
@media(max-width:640px){.cfg-bornes{grid-template-columns:1fr}}
.cfg-borne{border:1.5px solid var(--trait);border-radius:16px;overflow:hidden;display:flex;flex-direction:column}
.cfg-borne__visuel{height:170px;background:var(--nuage);display:flex;align-items:center;justify-content:center;padding:16px}
.cfg-borne__visuel picture{height:100%;display:flex;justify-content:center}
.cfg-borne__visuel img{height:100%;width:auto}
.cfg-borne__visuel--photo{padding:0}
.cfg-borne__visuel--photo picture,.cfg-borne__visuel--photo img{width:100%;height:100%;object-fit:cover;object-position:38% 45%}
.cfg-borne__texte{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.cfg-borne__texte h3{margin:0;font-size:19px}
.cfg-borne__texte p{margin:0;font-size:14.5px;color:var(--gris)}
.cfg-prix{font-size:22px!important;font-weight:800;color:var(--encre)!important;letter-spacing:-.02em;margin:4px 0 8px!important}
.qte{display:inline-flex;align-items:center;border:1.5px solid var(--trait);border-radius:999px;overflow:hidden;align-self:flex-start;background:#fff}
.qte button{width:42px;height:42px;border:0;background:none;font:inherit;font-size:22px;font-weight:700;color:var(--eclair);cursor:pointer}
.qte button:hover{background:var(--eclair-pale)}
.qte input{width:52px;height:42px;border:0;text-align:center;font:inherit;font-size:18px;font-weight:800;color:var(--encre);-moz-appearance:textfield;appearance:textfield}
.qte input::-webkit-inner-spin-button,.qte input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.cfg-remise{margin:16px 0 0;padding:12px 16px;border-radius:12px;background:var(--nuage);font-size:15px;font-weight:700;color:var(--gris)}
.cfg-remise.ok{background:#E7F8EE;color:#0F6B37}
.opt-bloc{border:1.5px solid var(--trait);border-radius:14px;margin-top:12px;transition:border-color .15s,background .15s}
.opt-bloc.on{border-color:var(--eclair);background:#F7F8FF}
.opt-bloc.indispo{opacity:.55}
.opt{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:start;padding:16px 18px;cursor:pointer}
.opt-bloc.indispo .opt{cursor:not-allowed}
.opt input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--eclair);cursor:inherit}
.opt__corps{display:flex;flex-direction:column;gap:3px}
.opt__titre{font-weight:800;font-size:16.5px}
.opt__desc{font-size:14.5px;color:var(--gris);line-height:1.45}
.opt__dispo{font-size:12.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--eclair)}
.opt__prix{text-align:right;white-space:nowrap}
.opt__prix b{display:block;font-size:16px}
.opt__prix small{display:block;font-size:12.5px;color:var(--gris);font-weight:600}
@media(max-width:480px){.opt{grid-template-columns:auto 1fr}.opt__prix{grid-column:2;text-align:left}}
.opt__qte{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:0 18px 16px 54px;font-size:14.5px;font-weight:700;color:var(--gris)}
.opt__qte .qte button,.opt__qte .qte input{height:36px}
.opt__qte .qte button{width:36px}
.cfg-superviseur{margin:10px 0 0 4px}
.cfg-choix{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px}
.cfg-choix label{position:relative;cursor:pointer}
.cfg-choix input{position:absolute;opacity:0}
.cfg-choix span{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:64px;border:1.5px solid var(--trait);border-radius:12px;font-weight:800;font-size:16px;text-align:center;transition:border-color .15s,background .15s}
.cfg-choix small{font-size:12.5px;font-weight:600;color:var(--gris)}
.cfg-choix input:checked+span{border-color:var(--eclair);background:#F7F8FF;color:var(--eclair)}
.cfg-choix input:focus-visible+span{outline:3px solid var(--eclair);outline-offset:2px}
.cfg-choix input:disabled+span{cursor:not-allowed}
.recap{position:sticky;top:88px;background:var(--encre);color:#fff;border-radius:var(--rayon-l);padding:26px 26px 22px}
@media(max-width:1000px){.recap{position:static}}
.recap h2{font-size:24px;margin-bottom:14px}
.recap h3{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#8EA2FF;margin:22px 0 6px}
.recap__ligne{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:14.5px;font-weight:700}
.recap__ligne small{display:block;font-weight:500;color:#AEB4C4;font-size:12.5px;margin-top:2px}
.recap__ligne b{white-space:nowrap}
.recap__remise b{color:#7EE2A8}
.recap__vide{color:#AEB4C4;font-size:14.5px;margin:6px 0}
.recap__totaux{margin-top:10px;display:grid;gap:4px}
.recap__totaux div{display:flex;justify-content:space-between;font-size:14.5px;color:#C3C8D6}
.recap__totaux b{color:#fff;white-space:nowrap}
.recap__ttc{font-size:18px!important;color:#fff!important;font-weight:800;padding-top:6px}
.recap__engagement{font-size:13px;color:#AEB4C4;margin:6px 0 0}
.recap__boutons{display:grid;gap:10px;margin:20px 0 14px}
.recap__boutons .btn{justify-content:center}
.recap .btn--contour{border-color:#fff;color:#fff!important}
.recap .btn--contour:hover{background:#fff;color:var(--encre)!important}
.recap .btn:disabled{opacity:.45;cursor:not-allowed}
.recap .note{color:#AEB4C4;font-size:12.5px;margin:0}
.recap-barre{display:none}
@media(max-width:1000px){
  .recap-barre{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--encre);color:#fff;box-shadow:0 -6px 20px rgba(18,24,38,.18);transition:transform .25s}
  .recap-barre.cache{transform:translateY(110%)}
  .recap-barre b{display:block;font-size:19px}
  .recap-barre small{display:block;font-size:12.5px;color:#AEB4C4}
  .recap-barre .btn{padding:12px 16px;font-size:15px}
  body:has(.recap-barre){padding-bottom:76px}
}
[hidden]{display:none!important}
@media(max-width:640px){
  .cfg-etape{padding:18px 14px 20px}
  .opt{padding:14px}
  .opt__qte{padding:0 14px 14px}
  .cfg-borne__visuel{height:150px}
}
.configurateur{grid-template-areas:"etapes recap" "envoi recap"}
.cfg-etapes{grid-area:etapes}
.recap{grid-area:recap;align-self:start}
.cfg-envoi{grid-area:envoi}
@media(max-width:1000px){.configurateur{grid-template-areas:"etapes" "recap" "envoi"}}
@media(max-width:420px){.chiffre{padding:16px}.chiffre b{font-size:22px;overflow-wrap:anywhere;hyphens:auto}}
.cfg-bornes{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1180px) and (min-width:1001px){.cfg-bornes{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.cfg-bornes{grid-template-columns:1fr}}
.cfg-borne__visuel img[src$=".svg"]{height:100%;width:auto}
.cfg-alerte{margin:12px 0 0;padding:12px 16px;border-radius:12px;background:#FFF4D6;color:#7A5300;font-size:14.5px;font-weight:700}

/* Ressources à télécharger */
.ress-liste{grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:860px){.ress-liste{grid-template-columns:1fr}}
.ress-groupe{font-size:22px;margin:36px 0 14px}
.ress-groupe:first-child{margin-top:0}
.ress{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;align-items:start;background:#fff;border:1px solid var(--trait);border-radius:var(--rayon);padding:20px 22px;color:var(--encre);text-decoration:none!important;transition:border-color .15s,transform .15s}
.ress:hover{border-color:var(--eclair);transform:translateY(-2px)}
.ress__ico{width:46px;height:46px;border-radius:12px;background:var(--eclair-pale);color:var(--eclair);display:flex;align-items:center;justify-content:center;grid-row:span 2}
.ress__ico svg{width:24px;height:24px}
.ress__texte{display:flex;flex-direction:column;gap:3px;min-width:0}
.ress__texte b{font-size:17px;letter-spacing:-.01em}
.ress__texte span:not(.ress__cat){font-size:14.5px;color:var(--gris);line-height:1.45}
.ress__cat{font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--eclair)}
.ress__texte small{font-size:12.5px;font-weight:700;color:var(--gris);margin-top:2px}
.ress__btn{grid-column:2;display:inline-flex;align-items:center;gap:6px;font-weight:800;font-size:15px;color:var(--eclair)}
.ress__btn svg{width:17px;height:17px}

/* Articles de conseil */
.texte-article{max-width:820px}
.article h2{font-size:26px;margin:40px 0 12px}
.article h2:first-child{margin-top:0}
.article p,.article li{color:var(--gris);font-size:17px}
.article li{margin-bottom:8px}
.article strong{color:var(--encre)}
.article .comparatif{margin:18px 0 10px}
.article .comparatif table{min-width:560px}
.article .comparatif thead th{font-size:14.5px}
