/* Audit 4 portes — feuille de style des écrans (aucune ressource externe : polices auto-hébergées). */

/* ---------- Polices ---------- */
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(/polices/manrope-latin-ext-400.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:400;font-display:swap;src:url(/polices/manrope-latin-400.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(/polices/manrope-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Manrope";font-style:normal;font-weight:700;font-display:swap;src:url(/polices/manrope-latin-700.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Manrope";font-style:normal;font-weight:800;font-display:swap;src:url(/polices/manrope-latin-800.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Outfit";font-style:normal;font-weight:700;font-display:swap;src:url(/polices/outfit-latin-ext-700.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Outfit";font-style:normal;font-weight:700;font-display:swap;src:url(/polices/outfit-latin-700.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Outfit";font-style:normal;font-weight:800;font-display:swap;src:url(/polices/outfit-latin-ext-800.woff2) format("woff2");unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Outfit";font-style:normal;font-weight:800;font-display:swap;src:url(/polices/outfit-latin-800.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+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ---------- Jetons ---------- */
:root{
  --fond:#FFF8F0;
  --blanc:#FFFFFF;
  --encre:#2B2540;
  --encre-2:#6B6480;
  --peche:#FFD9C4;
  --peche-vif:#FF8F66;
  --lavande:#E4DCFF;
  --lavande-vif:#8E6BFF;
  --menthe:#CFF5E6;
  --menthe-vif:#22B98E;
  --soleil:#FFE9A3;
  --soleil-vif:#FFC233;
  --bleu:#D6E8FF;
  --bleu-vif:#4C8DFF;
  --ambre:#FFE3BF;
  --ambre-vif:#FFA630;
  --turquoise:#CDF3F3;
  --turquoise-vif:#22B8C4;
  --vert:#2ECC7A;
  --rayon:28px;
  --ombre:0 14px 40px rgba(65,40,90,.10), 0 2px 6px rgba(65,40,90,.05);
  --ombre-forte:0 20px 50px rgba(65,40,90,.16), 0 4px 10px rgba(65,40,90,.06);
  --corps:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --titres:"Outfit","Manrope",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}   /* 23/09/2026 : les infobulles cachées (.aide>i) et le décor SVG de l'accueil débordaient de 28 px : barre de défilement horizontale */
body{
  margin:0;
  font-family:var(--corps);
  font-weight:400;
  color:var(--encre);
  background:var(--fond);
  background-image:
    radial-gradient(circle at 8% 12%, rgba(255,217,196,.55) 0, transparent 30%),
    radial-gradient(circle at 92% 6%, rgba(228,220,255,.6) 0, transparent 28%),
    radial-gradient(circle at 50% 100%, rgba(207,245,230,.5) 0, transparent 35%);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit}
.cadre{max-width:1200px;margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--titres);font-weight:800;letter-spacing:-.01em;line-height:1.15;margin:0}
p{margin:0}
b,strong{font-weight:700}
.mut{color:var(--encre-2)}
.pot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}

/* ---------- Boutons pilule ---------- */
.pilule,.btn{
  display:inline-flex;align-items:center;gap:10px;
  border-radius:999px;padding:16px 30px;
  font-family:var(--corps);font-weight:800;font-size:17px;text-decoration:none;border:0;cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease;
  line-height:1.2;
}
.pilule:hover,.btn:hover{transform:translateY(-2px)}
.pilule-principale,.btn{
  background:linear-gradient(135deg,var(--peche-vif),#FF6B8A);
  color:#fff;box-shadow:0 12px 26px rgba(255,120,110,.35);
}
.pilule-principale:hover,.btn:hover{box-shadow:0 18px 32px rgba(255,120,110,.45)}
.pilule-secondaire,.btn-secondaire{
  background:var(--blanc);color:var(--encre);
  box-shadow:var(--ombre);
}
.pilule-secondaire:hover,.btn-secondaire:hover{box-shadow:var(--ombre-forte)}
.pilule-violette{
  background:linear-gradient(135deg,var(--lavande-vif),#B08CFF);
  color:#fff;box-shadow:0 12px 26px rgba(142,107,255,.35);
}

/* ---------- En-tête ---------- */
header{padding:22px 0}
.entete{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.marque{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--titres);font-weight:800;letter-spacing:.08em;font-size:14px}
.marque .logo{
  width:44px;height:44px;border-radius:16px;display:grid;place-items:center;
  background:linear-gradient(135deg,var(--lavande-vif),var(--turquoise-vif));
  box-shadow:0 8px 18px rgba(142,107,255,.3);
}
.marque span.sep{color:var(--encre-2);font-weight:700;margin:0 4px}
.marque .texte-court{display:none}
.lien-depot{
  text-decoration:none;font-weight:800;font-size:15px;
  padding:12px 22px;border-radius:999px;background:var(--blanc);box-shadow:var(--ombre);
  display:inline-flex;gap:8px;align-items:center;white-space:nowrap;
  transition:transform .15s ease;
}
.lien-depot:hover{transform:translateY(-1px)}
.nav{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14.5px}
.nav .adresse{color:var(--encre-2);font-weight:700}
.inline{display:inline}
.lien{background:none;border:0;padding:0;font:inherit;font-weight:700;color:var(--lavande-vif);cursor:pointer;text-decoration:underline;text-underline-offset:3px}

/* ---------- Héros ---------- */
.heros{padding:44px 0 10px;text-align:center}
.badge-rond{
  display:inline-flex;align-items:center;gap:8px;
  padding:8px 18px;border-radius:999px;background:var(--soleil);
  font-weight:800;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#7A5A00;
  box-shadow:0 6px 16px rgba(255,194,51,.25);
}
.heros h1{font-size:clamp(30px,4.6vw,54px);max-width:960px;margin:20px auto 18px}
.heros h1 .surligne{
  background:linear-gradient(transparent 55%, var(--soleil) 55%);
  border-radius:8px;padding:0 6px;
}
.chapo{font-size:clamp(17px,1.5vw,20px);color:var(--encre-2);max-width:820px;margin:0 auto;font-weight:400}
.heros-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:28px}

/* ---------- Parcours illustré : la frise des 4 portes ---------- */
.parcours{padding:36px 0 20px}
.scene{
  background:var(--blanc);border-radius:40px;box-shadow:var(--ombre);
  padding:64px 28px 40px;overflow:hidden;position:relative;
}
.scene .decor{position:absolute;inset:0;width:100%;height:100%;opacity:.9;pointer-events:none}
.scene .fiche-depart{position:absolute;left:8px;top:82px;width:58px;height:auto;filter:drop-shadow(0 8px 10px rgba(65,40,90,.16))}
.scene .drapeau-arrivee{position:absolute;right:14px;top:8px;width:74px;height:auto;filter:drop-shadow(0 6px 8px rgba(65,40,90,.14))}
.frise-portes{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:18px;z-index:1}
.perimetre-etranger{position:relative;z-index:1;max-width:880px;margin:26px auto 0;padding:14px 18px;border-radius:14px;background:var(--blanc);border:2px dashed var(--lavande);color:var(--encre-2);font-size:15px;line-height:1.55;text-align:left}
.frise-portes::before{
  content:"";position:absolute;left:10%;right:10%;top:70px;height:8px;border-radius:8px;
  background:linear-gradient(90deg,#4C8DFF 0%,#8E6BFF 28%,#FFA630 52%,#22B8C4 76%,#2ECC7A 100%);
  opacity:.9;z-index:0;
}
.porte-d{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 6px}
.anneau{
  position:relative;width:140px;height:140px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:8px solid var(--c);
  box-shadow:0 18px 36px -14px color-mix(in srgb,var(--c) 70%,transparent),0 0 0 12px color-mix(in srgb,var(--c) 14%,#fff);
  transition:transform .2s ease;
}
.porte-d:hover .anneau{transform:translateY(-6px) scale(1.03)}
.anneau::after{content:"";position:absolute;inset:6px;border-radius:50%;background:radial-gradient(circle at 30% 25%,color-mix(in srgb,var(--c) 22%,#fff),color-mix(in srgb,var(--c) 6%,#fff) 70%)}
.anneau svg{position:relative;z-index:1;width:58px;height:58px;color:var(--c)}
.anneau .num{
  position:absolute;z-index:2;top:-14px;right:-8px;width:42px;height:42px;border-radius:50%;
  background:var(--c);color:#fff;font-family:var(--titres);font-weight:800;font-size:18px;display:grid;place-items:center;
  box-shadow:0 8px 16px -6px color-mix(in srgb,var(--c) 80%,#000);border:3px solid #fff;
}
.porte-d.sortie .anneau{border-style:dashed;border-width:6px;background:var(--menthe)}
.porte-d.sortie .anneau::after{background:radial-gradient(circle at 30% 25%,#fff,var(--menthe) 75%)}
.porte-d.sortie .anneau .num{font-size:20px}
.porte-d h3{margin-top:30px;font-size:18px}
.etiquette-porte{
  display:inline-flex;align-items:center;margin-top:8px;padding:5px 12px;border-radius:999px;
  font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;
  background:color-mix(in srgb,var(--c) 16%,#fff);color:color-mix(in srgb,var(--c) 78%,#000);
}
.porte-d p{margin-top:12px;color:var(--encre-2);font-size:14.5px;max-width:220px;line-height:1.45}

/* ---------- Zone de dépôt ---------- */
.depot{padding:40px 0}
.depot-carte{
  background:var(--blanc);border-radius:40px;box-shadow:var(--ombre-forte);
  padding:36px;display:grid;grid-template-columns:1.2fr .8fr;gap:32px;align-items:center;
  position:relative;overflow:hidden;
}
.depot-carte::before{
  content:"";position:absolute;right:-90px;top:-90px;width:280px;height:280px;border-radius:50%;
  background:var(--lavande);opacity:.7;
}
.depot-carte::after{
  content:"";position:absolute;left:-60px;bottom:-80px;width:200px;height:200px;border-radius:50%;
  background:var(--menthe);opacity:.8;
}
.depot-carte > *{position:relative;z-index:1}
.zone-fichier{
  border:4px dashed var(--lavande-vif);border-radius:36px;
  background:linear-gradient(180deg,#FBF8FF,#F3EEFF);
  padding:38px 28px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px;
  transition:transform .15s ease;cursor:pointer;
}
.zone-fichier:hover{transform:scale(1.01)}
.zone-fichier .icone{filter:drop-shadow(0 10px 18px rgba(142,107,255,.25))}
.zone-fichier .titre{font-family:var(--titres);font-size:22px;font-weight:800}
.zone-fichier .detail{font-size:15px;color:var(--encre-2);max-width:420px}
.zone-fichier .detail b{color:var(--encre)}
.champ-fichier{display:inline-block;margin-top:6px;max-width:100%}
.champ-fichier input[type=file]{
  font-family:inherit;font-weight:700;font-size:14px;color:var(--encre-2);
  max-width:100%;
}
.champ-fichier input[type=file]::file-selector-button{
  font-family:inherit;font-weight:800;border:0;border-radius:999px;padding:10px 18px;margin-right:12px;
  background:var(--lavande);color:var(--lavande-vif);cursor:pointer;
}
.depot-envoi{display:flex;justify-content:center;margin-top:22px}
.depot-texte h2{font-size:30px;margin-bottom:12px}
.depot-texte p{color:var(--encre-2);font-size:16px;margin-bottom:22px}
.depot-texte .etapes{list-style:none;padding:0;margin:0 0 26px;display:flex;flex-direction:column;gap:12px}
.depot-texte .etapes li{display:flex;gap:12px;align-items:center;font-size:15px}
.depot-texte .etapes .puce{
  width:34px;height:34px;border-radius:50%;flex:none;display:grid;place-items:center;
  background:var(--soleil);color:#7A5A00;font-family:var(--titres);font-weight:800;
}
.formats{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.chip-format{
  display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;font-size:13px;font-weight:800;
  background:var(--menthe);color:#0E7A5B;
}

/* ---------- Promesses ---------- */
.promesses{padding:24px 0 40px}
.titre-section{text-align:center;margin-bottom:28px}
.titre-section h2{font-size:clamp(26px,3vw,36px)}
.titre-section p{color:var(--encre-2);font-size:17px;margin-top:8px}
.grille-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.promesse{
  background:var(--blanc);border-radius:32px;padding:30px 28px;box-shadow:var(--ombre);
  display:flex;flex-direction:column;gap:14px;transition:transform .15s ease;
}
.promesse:hover{transform:translateY(-4px)}
.icone-ronde{width:68px;height:68px;border-radius:50%;display:grid;place-items:center}
.icone-ronde.petite{width:52px;height:52px}
.icone-ronde.peche{background:var(--peche)}
.icone-ronde.lavande{background:var(--lavande)}
.icone-ronde.soleil{background:var(--soleil)}
.icone-ronde.menthe{background:var(--menthe)}
.icone-ronde.bleu{background:var(--bleu)}
.icone-ronde.turquoise{background:var(--turquoise)}
.promesse h3{font-size:21px}
.promesse p{color:var(--encre-2);font-size:15px}

/* ---------- Colonnes reconnues ---------- */
.colonnes{padding:20px 0 40px}
.colonnes-carte{background:var(--blanc);border-radius:40px;box-shadow:var(--ombre);padding:36px}
.colonnes-carte h2{font-size:30px;margin-bottom:8px;display:flex;align-items:center;gap:14px}
.colonnes-carte .sous{color:var(--encre-2);margin-bottom:22px;font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px;list-style:none;padding:0;margin-top:0}
.chip{
  display:inline-flex;align-items:center;gap:10px;
  padding:10px 10px 10px 18px;border-radius:999px;font-weight:800;font-size:15px;
  background:var(--fond);border:2px solid #F0E6DA;
}
.chip .etiquette{
  font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  padding:5px 11px;border-radius:999px;
}
.chip.indispensable{background:var(--peche);border-color:var(--peche)}
.chip.indispensable .etiquette{background:var(--peche-vif);color:#fff}
.chip.un-des-deux{background:var(--soleil);border-color:var(--soleil)}
.chip.un-des-deux .etiquette{background:var(--soleil-vif);color:#5C4300}
.chip.simple{padding-right:18px}
.note-colonnes{
  display:flex;gap:14px;align-items:flex-start;
  background:var(--lavande);border-radius:24px;padding:18px 20px;font-size:15px;
}
.note-colonnes .pastille{width:40px;height:40px;border-radius:50%;background:var(--lavande-vif);flex:none;display:grid;place-items:center}
.note-colonnes p{color:var(--encre)}
.note-colonnes b{font-weight:800}

/* ---------- Aperçu du rapport ---------- */
.apercu{padding:20px 0 40px}
.rapport{display:grid;grid-template-columns:.9fr 1.1fr;gap:30px;align-items:center}
.rapport-texte h2{font-size:clamp(26px,3vw,36px);margin-bottom:12px}
.rapport-texte p{color:var(--encre-2);font-size:17px}
.mockup{
  background:var(--blanc);border-radius:36px;box-shadow:var(--ombre-forte);padding:26px;
  transform:rotate(-1.2deg);
}
.mockup-barre{display:flex;gap:8px;margin-bottom:18px}
.mockup-barre i{width:12px;height:12px;border-radius:50%;display:block}
.mockup-barre .m1{background:#FF8F66}
.mockup-barre .m2{background:#FFC233}
.mockup-barre .m3{background:#22B98E}
.mockup-tete{display:flex;align-items:center;gap:18px;margin-bottom:18px}
.score-cercle{flex:none}
.mockup-tete h3{font-size:24px;line-height:1.2}
.mockup-tete p{color:var(--encre-2);font-size:14px;margin-top:4px}
.jauge{height:16px;border-radius:999px;background:#F1ECFF;overflow:hidden;margin-bottom:20px;display:flex}
.jauge i{display:block;height:100%}
.jauge .j1{width:37.5%;background:#2ECC7A}
.jauge .j2{width:16.7%;background:#22B98E;opacity:.55}
.jauge .j3{width:41.6%;background:#FFC233}
.jauge .j4{width:4.2%;background:#FF8F66}
.tuiles{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.tuile{border-radius:22px;padding:16px 14px;display:flex;flex-direction:column;gap:6px}
.tuile .gros{font-family:var(--titres);font-size:34px;font-weight:800;line-height:1}
.tuile p{font-size:13px;line-height:1.35;font-weight:800}
.tuile.t1{background:var(--menthe);color:#0E7A5B}
.tuile.t2{background:var(--soleil);color:#7A5A00}
.tuile.t3{background:var(--peche);color:#A8421F}
.tuile .mini-icone{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.7)}

/* ---------- Appel à Base Sociétés ---------- */
.cta{padding:20px 0 50px}
.cta-carte{
  border-radius:44px;padding:52px 40px;text-align:center;position:relative;overflow:hidden;
  background:linear-gradient(135deg,#7B5CFF 0%,#9F7BFF 45%,#43C6CF 100%);
  color:#fff;box-shadow:0 26px 60px rgba(123,92,255,.35);
}
.cta-carte .bulle{position:absolute;border-radius:50%;background:rgba(255,255,255,.14)}
.cta-carte .b1{width:260px;height:260px;left:-80px;top:-100px}
.cta-carte .b2{width:180px;height:180px;right:-40px;bottom:-70px}
.cta-carte .b3{width:90px;height:90px;right:18%;top:-30px;background:rgba(255,233,163,.5)}
.cta-carte > *{position:relative}
.cta-carte h2{font-size:clamp(26px,3.2vw,38px);max-width:820px;margin:0 auto 14px}
.cta-carte p{max-width:780px;margin:0 auto 30px;font-size:18px;color:rgba(255,255,255,.92)}
.cta-carte .pilule{background:#fff;color:#5A3FD6;box-shadow:0 14px 30px rgba(0,0,0,.18)}

/* ---------- Pied de page ---------- */
footer{padding:20px 0 40px;text-align:center;color:var(--encre-2);font-size:14px}
footer .ver{opacity:.5;font-size:11px;margin-left:6px}
footer .ligne{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
footer b{color:var(--encre);font-weight:800}
footer a{color:var(--lavande-vif);font-weight:700}

/* ---------- Alerte (dépôt refusé, adresse incorrecte…) ---------- */
.alerte{
  background:var(--peche);color:#A8421F;border-radius:24px;padding:16px 22px;margin:18px 0;
  font-weight:700;box-shadow:0 8px 20px rgba(255,143,102,.18);
}
.alerte a{color:inherit}

/* ---------- Écrans intérieurs (résumé, confirmation, progression, paiement, espace client, erreurs) ---------- */
.ecran{max-width:880px;margin:0 auto;padding:28px 24px 50px}
.ecran h1{font-size:clamp(26px,3.6vw,40px);margin:0 0 18px}
.ecran h2{font-size:22px;margin:0 0 10px}
.ecran p{margin:0 0 12px;font-size:16px}
.ecran p:last-child{margin-bottom:0}
.ecran a:not(.btn):not(.btn-secondaire){color:var(--lavande-vif);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.ecran .actions{margin-top:22px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.carte{
  background:var(--blanc);border-radius:32px;box-shadow:var(--ombre);padding:26px 30px;margin:18px 0;
}
.carte .mut{font-size:14.5px}
.note{
  background:var(--soleil);color:#5C4300;border-radius:24px;padding:16px 22px;margin:18px 0;
  box-shadow:0 8px 20px rgba(255,194,51,.16);
}
.note a{color:inherit}
.note b{font-weight:800}
.courriel{
  background:var(--blanc);border-radius:32px;box-shadow:var(--ombre-forte);padding:30px;margin:22px 0;
  position:relative;overflow:hidden;
}
.courriel::before{content:"";position:absolute;right:-70px;top:-70px;width:200px;height:200px;border-radius:50%;background:var(--lavande);opacity:.6}
.courriel > *{position:relative}
.courriel label{display:block;font-family:var(--titres);font-weight:800;font-size:19px;margin-bottom:12px}
.courriel input[type=email]{
  width:100%;font:inherit;font-size:17px;font-weight:700;padding:14px 22px;
  border:3px solid var(--lavande);border-radius:999px;background:#FBF8FF;color:var(--encre);margin-bottom:14px;
}
.courriel input[type=email]:focus{outline:none;border-color:var(--lavande-vif);box-shadow:0 0 0 5px rgba(142,107,255,.16)}
.courriel .mut{margin-top:14px;font-size:14.5px}
.barre{height:18px;border-radius:999px;background:#F1ECFF;overflow:hidden;margin:16px 0}
.barre div{height:100%;border-radius:999px;background:linear-gradient(90deg,#4C8DFF,#8E6BFF,#22B8C4,#2ECC7A);transition:width .2s ease}
.tourne{display:inline-block;width:14px;height:14px;border-radius:50%;border:2.5px solid #E7DFF7;border-top-color:#8E6BFF;animation:tourne .9s linear infinite;vertical-align:-2px;margin-right:8px}
@keyframes tourne{to{transform:rotate(360deg)}}
.decouvertes{list-style:none;padding:0;margin:14px 0 0}
.decouvertes .dec{position:relative;padding:8px 12px 8px 34px;margin:6px 0;border-radius:10px;background:#FBF9FF;font-size:14px;line-height:1.45;color:var(--encre);animation:apparait .35s ease}
.decouvertes .dec::before{content:"";position:absolute;left:12px;top:13px;width:12px;height:12px;border-radius:50%;background:#8E6BFF}
.decouvertes .dec-forme::before{background:#2B2540}.decouvertes .dec-sirene::before{background:#4C8DFF}.decouvertes .dec-vies::before{background:#8E6BFF}.decouvertes .dec-bodacc::before{background:#FFA630}.decouvertes .dec-insee::before{background:#22B8C4}.decouvertes .dec-portes::before{background:#2ECC7A}
.decouvertes .dec.maj{animation:pulse .5s ease}
.etape{font-family:var(--titres);font-size:17px;margin:20px 0 4px}.etape .mut{font-family:inherit;font-size:13.5px;font-weight:400}
.decouvertes .dec-titre{background:none;padding:10px 0 0;font-size:13.5px;color:#6B6480}.decouvertes .dec-titre::before{display:none}
.decouvertes .dec-attente{background:#FFF7E6}.decouvertes .dec-attente::before{background:#FFA630}.decouvertes .dec-portes{font-weight:600}
@keyframes apparait{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes pulse{0%{background:#EFE9FF}100%{background:#FBF9FF}}
.tableau{background:var(--blanc);border-radius:28px;box-shadow:var(--ombre);padding:10px 12px;margin:14px 0 22px;overflow-x:auto}
table{width:100%;border-collapse:collapse}
th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--encre-2);padding:12px 14px;font-weight:800;white-space:nowrap}
td{padding:12px 14px;border-top:2px solid #F7F1E8;font-size:14.5px;vertical-align:top}
td.n,th.n{text-align:right}
.tag{
  display:inline-flex;align-items:center;font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;
  border-radius:999px;padding:5px 11px;white-space:nowrap;
}
.t-r{background:var(--peche);color:#A8421F}
.t-g{background:var(--menthe);color:#0E7A5B}
.t-n{background:var(--lavande);color:#5A3FD6}
.t-j{background:var(--soleil);color:#5C4300}

/* ---------- Responsive ---------- */
@media (max-width:1024px){
  .scene{padding:56px 18px 32px}
  .scene .fiche-depart,.scene .drapeau-arrivee{display:none}
  .frise-portes{gap:10px}
  .frise-portes::before{top:60px}
  .anneau{width:120px;height:120px;border-width:7px}
  .anneau svg{width:48px;height:48px}
  .porte-d h3{font-size:16px}
  .porte-d p{font-size:13.5px}
}
@media (max-width:980px){
  .depot-carte{grid-template-columns:1fr}
  .grille-3{grid-template-columns:1fr 1fr}
  .rapport{grid-template-columns:1fr}
  .mockup{transform:none}
}
@media (max-width:760px){
  .frise-portes{grid-template-columns:1fr;gap:30px;justify-items:center}
  .frise-portes::before{left:calc(50% - 4px);right:auto;top:40px;bottom:40px;width:8px;height:auto;background:linear-gradient(180deg,#4C8DFF,#8E6BFF,#FFA630,#22B8C4,#2ECC7A)}
  .porte-d{width:100%;max-width:360px;background:rgba(255,255,255,.82);border-radius:26px;padding:22px 16px 24px;border:2px solid #F0E6DA}
  .anneau{width:124px;height:124px}
  .porte-d p{max-width:none}
}
@media (max-width:640px){
  .cadre{padding:0 16px}
  .ecran{padding:18px 16px 40px}
  header{padding:14px 0}
  .marque{font-size:12px;letter-spacing:.05em}
  .marque .texte-long{display:none}
  .marque .texte-court{display:inline}
  .heros{padding:24px 0 6px}
  .grille-3{grid-template-columns:1fr}
  .tuiles{grid-template-columns:1fr}
  .scene{border-radius:28px;padding:34px 14px 30px}
  .depot-carte,.colonnes-carte{padding:22px 18px;border-radius:28px}
  .zone-fichier{padding:26px 16px;border-radius:26px}
  .cta-carte{padding:36px 22px;border-radius:32px}
  .pilule,.btn{padding:14px 22px;font-size:16px;width:100%;justify-content:center}
  .lien-depot{padding:10px 16px;font-size:14px}
  .carte,.courriel{padding:20px 18px;border-radius:24px}
  .mockup{padding:18px}
  .mockup-tete{flex-direction:column;align-items:flex-start}
}

/* ---------- 0.4.0 : dépôt assisté, connexion, suppression ---------- */
.nav .lien-texte{text-decoration:none;font-weight:800;font-size:14px;color:var(--encre-2);margin-right:14px}
.nav .lien-texte:hover{color:var(--encre)}
.zone-fichier.survol{background:var(--lavande);border-color:var(--lavande-vif);transform:scale(1.01)}
.zone-fichier.refus{border-color:#E24B4B;background:#FFF0F0}
.fichier-choisi{display:block;min-height:1.4em;margin-top:8px;font-size:14px;font-weight:800;color:var(--menthe-vif)}
.zone-fichier.refus .fichier-choisi{color:#B42318}
.renvoi{margin-top:10px}.renvoi .lien{background:none;border:0;padding:0;color:var(--lavande-vif);font-weight:800;cursor:pointer;text-decoration:underline;font-family:inherit;font-size:14px}
.suppression{margin-top:40px}.suppression summary{cursor:pointer;color:var(--encre-2);font-weight:800;font-size:14px}
.suppression .carte{margin-top:12px;border:1px solid #FFD0D0}
.case{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:12px 0}
.btn-danger{background:linear-gradient(135deg,#E24B4B,#B42318)!important;box-shadow:0 12px 26px rgba(226,75,75,.3)!important}

/* 0.5.0 — paiement et factures */
.montants{margin-top:16px;border-top:2px solid #F7F1E8;padding-top:8px}
.montants > div{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:7px 0;font-size:15px}
.montants > div + div{border-top:1px dashed #EDE4D8}
.montants .total{font-family:var(--titres);font-size:19px;font-weight:800;border-top:2px solid var(--encre);margin-top:4px;padding-top:12px}
.facturation h2{font-family:var(--titres);font-size:20px;margin:0 0 4px}
.facturation .champs{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:14px 0 18px}
.facturation .champ label{display:block;font-size:14px;margin:6px 0 4px;font-weight:800}
.facturation .champ.large{grid-column:1/-1}
.facturation input[type=text]{
  width:100%;font:inherit;font-size:15px;font-weight:600;padding:11px 16px;box-sizing:border-box;
  border:2px solid var(--lavande);border-radius:14px;background:#FBF8FF;color:var(--encre);
}
.facturation input[type=text]:focus{outline:none;border-color:var(--lavande-vif);box-shadow:0 0 0 4px rgba(142,107,255,.16)}
@media (max-width:560px){.facturation .champs{grid-template-columns:1fr}}

/* 0.6.0 — administration */
.admin{max-width:1180px;margin:0 auto;padding:22px 16px 60px}
.admin h1{font-family:var(--titres);font-size:30px;margin:14px 0 10px}
.admin h2{font-family:var(--titres);font-size:18px;margin:0 0 10px}
.onglets{display:flex;gap:6px;flex-wrap:wrap;background:var(--blanc);border-radius:999px;padding:6px;box-shadow:var(--ombre)}
.onglets a{padding:8px 16px;border-radius:999px;font-weight:800;font-size:14px;text-decoration:none;color:var(--encre)}
.onglets a.actif{background:var(--encre);color:#fff}
.admin .tuiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:16px 0}
.admin a.tuile{color:inherit;text-decoration:none}.admin a.tuile:hover{outline:2px solid var(--lavande-vif)}
.admin .tuile{background:var(--blanc);box-shadow:var(--ombre);text-align:center}
.admin .tuile>b{font-family:var(--titres);font-size:30px;line-height:1}
.admin .tuile{position:relative}
.tuile>.aide{position:absolute;top:10px;right:12px;margin:0}
.tuile>.aide>i{bottom:auto;top:calc(100% + 8px);left:auto;right:-6px;transform:none}
.tuile>.aide>i::after{top:auto;bottom:100%;left:auto;right:10px;transform:none;border-top-color:transparent;border-bottom-color:#2B2540}
.admin .tuile span{font-size:12.5px;color:var(--encre-2);font-weight:700}
.admin .tuile.ok{background:var(--menthe);color:#0E7A5B}
.admin .tuile.alerte-tuile{background:var(--peche);color:#A8421F}
.admin .grille-2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.admin .carte{margin:0 0 18px}
.admin td,.admin th{padding:9px 10px;font-size:13.5px}
.admin .filtres a{display:inline-block;margin:0 6px 6px 0;padding:5px 12px;border-radius:999px;background:var(--blanc);font-weight:700;font-size:13px;text-decoration:none;color:var(--encre);box-shadow:var(--ombre)}
.admin .filtres a.actif{background:var(--lavande);color:#5A3FD6}
.admin .filtres-form{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}
.admin .filtres-form select,.admin .filtres-form input,.admin .saisie input{font:inherit;font-size:14px;padding:9px 12px;border:2px solid var(--lavande);border-radius:12px;background:#FBF8FF;color:var(--encre)}
.admin .filtres-form input{flex:1;min-width:220px}
.admin .saisie input{width:100%;box-sizing:border-box}
.admin .pagination{display:flex;gap:14px;align-items:center}
@media (max-width:900px){.admin .tuiles{grid-template-columns:repeat(2,1fr)}.admin .grille-2{grid-template-columns:1fr}}

/* 0.8.0 — pages légales, liens du pied */
.legal .carte h2{font-family:var(--titres);font-size:18px;margin:0 0 8px}
.legal .carte table{font-size:14px}
.legal-liens{margin-top:8px;font-size:13px}
.legal-liens a{color:var(--encre-2);font-weight:700}
.courriel .case,.facturation .case{display:flex;gap:10px;align-items:flex-start;font-size:14px;margin:0 0 14px;font-weight:600}
.courriel .case input,.facturation .case input{margin-top:3px;flex:none}

.cta-carte .cta-question{font-size:16.5px;line-height:1.55;max-width:760px;margin:10px auto 0}
.cta-carte .atouts{list-style:none;padding:0;margin:14px auto 22px;max-width:760px;display:grid;gap:8px;text-align:left}
.cta-carte .atouts li{position:relative;padding-left:24px;font-size:15px;line-height:1.5;color:var(--encre)}
.cta-carte .atouts li::before{content:'';position:absolute;left:0;top:8px;width:11px;height:11px;border-radius:50%;background:#2ECC7A}

.tarifs{padding:10px 0 6px}
.grille-tarifs{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:22px}
.tarif{background:#fff;border-radius:22px;padding:22px 20px;box-shadow:0 10px 30px -18px rgba(65,40,90,.35);text-align:center}
.tarif .lignes{font-weight:800;color:var(--encre-2);font-size:14px}
.tarif .prix{font-family:Outfit,Manrope,sans-serif;font-weight:800;font-size:30px;margin:6px 0 8px;color:var(--encre)}
.tarif .prix .ht{font-size:14px;font-weight:700;color:var(--encre-2)}
.tarif p{font-size:13.5px;color:var(--encre-2);margin:0}
.tarif.offert{background:linear-gradient(160deg,#E6FBF3,#F4FFFA);box-shadow:0 10px 30px -18px rgba(30,150,110,.45)}
.tarif.offert .prix{color:#0E7A5B}
.tarif.logiciel{background:linear-gradient(160deg,#F1ECFF,#FBF8FF);box-shadow:0 10px 30px -18px rgba(90,63,214,.45)}
.tarif.logiciel .prix{color:#5A3FD6;font-size:24px}
.tarif.logiciel .actions{margin:12px 0 0}
.btn.petit{padding:8px 16px;font-size:13.5px}
.tarifs-note{text-align:center;margin-top:16px;font-size:13.5px}
.exemple-lien{text-align:center;margin:14px 0 4px;font-weight:700}.carte .exemple-lien{text-align:left}

/* bulles d'aide : pastille « ? », au survol et au focus, sans JavaScript */
.aide{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:5px;cursor:help;outline:none}
.aide>b{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#E6E0F5;color:#5A3FD6;font-size:10.5px;font-weight:800;line-height:1;font-family:var(--corps,inherit)}
.aide:focus>b{box-shadow:0 0 0 3px rgba(90,63,214,.35)}
.aide>i{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%);width:260px;max-width:78vw;background:#2B2540;color:#fff;font-style:normal;font-weight:500;font-size:12.5px;line-height:1.45;text-align:left;padding:9px 11px;border-radius:10px;opacity:0;visibility:hidden;transition:opacity .12s ease;z-index:60;box-shadow:0 14px 34px -14px rgba(0,0,0,.55);pointer-events:none}
.aide>i::after{content:'';position:absolute;top:100%;left:50%;transform:translateX(-50%);border:6px solid transparent;border-top-color:#2B2540}
.aide.gauche>i{left:auto;right:-6px;transform:none}
.aide.gauche>i::after{left:auto;right:12px;transform:none}
.aide:hover>i,.aide:focus>i,.aide:focus-within>i{opacity:1;visibility:visible}
@media (max-width:640px){.aide>i{width:220px}}

/* questions frequentes (source unique avec le bloc FAQPage de schema.org) */
.faq{padding:10px 0 6px}
.faq-liste{display:grid;gap:10px;margin-top:18px;max-width:880px;margin-left:auto;margin-right:auto}
.faq-q{background:#fff;border-radius:18px;padding:14px 18px;box-shadow:0 10px 30px -22px rgba(65,40,90,.4)}
.faq-q summary{cursor:pointer;font-weight:800;color:var(--encre);list-style:none;position:relative;padding-right:26px}
.faq-q summary::-webkit-details-marker{display:none}
.faq-q summary::after{content:'+';position:absolute;right:0;top:-2px;font-size:20px;color:#8E6BFF;font-weight:800}
.faq-q[open] summary::after{content:'–'}
.faq-q p{margin:10px 0 2px;line-height:1.6;color:var(--encre-2);font-size:15px}

/* ── avis des clients (0.25.5) ── */
.etoiles{display:inline-flex;gap:2px;font-size:18px;line-height:1;vertical-align:middle}
.etoiles.grandes{font-size:28px}
.e-pleine{color:#FFB020}
.e-vide{color:#E3DDEF}
.avis-resume{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 18px}
.avis-resume p{margin:0}
.avis-grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:0 0 18px}
.avis-carte{background:#fff;border-radius:22px;padding:18px 20px;box-shadow:0 10px 26px rgba(65,40,90,.08)}
.avis-qui{margin:8px 0 6px;font-size:14px}
.avis-texte{margin:0;white-space:normal}
.avis-reponse{margin-top:12px;padding:10px 14px;border-left:3px solid #8E6BFF;background:#F6F2FF;border-radius:10px;font-size:14px}
.avis-reponse p{margin:6px 0 0}
.avis-form textarea,.avis-form input[type=text],.admin textarea,.admin input[type=text]{width:100%;box-sizing:border-box;border:1px solid #E3DDEF;border-radius:12px;padding:10px 12px;font:inherit;margin:4px 0 12px}
.note-etoiles{border:0;padding:0;margin:0 0 10px}
.etoiles-saisie{display:inline-flex;flex-direction:row-reverse;gap:4px}
.etoiles-saisie input{position:absolute;opacity:0;width:1px;height:1px}
.etoiles-saisie label{font-size:32px;color:#E3DDEF;cursor:pointer;line-height:1}
.etoiles-saisie input:checked ~ label,.etoiles-saisie label:hover,.etoiles-saisie label:hover ~ label{color:#FFB020}
.etoiles-saisie input:focus-visible + label{outline:2px solid #8E6BFF;outline-offset:2px;border-radius:4px}

/* ---------- 0.25.8 : formulaire « Nous contacter » ---------- */
.contact-form .champs{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin:0 0 18px}
.contact-form .champ label{display:block;font-size:14px;margin:6px 0 4px;font-weight:800}
.contact-form .champ.large{grid-column:1/-1}
.contact-form input[type=text],.contact-form input[type=email],.contact-form select,.contact-form textarea{
  width:100%;box-sizing:border-box;font:inherit;font-size:15px;padding:11px 13px;border:2px solid var(--lavande);border-radius:12px;background:#FBF8FF;color:var(--encre)}
.contact-form textarea{resize:vertical;min-height:150px}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:none;border-color:var(--lavande-vif);box-shadow:0 0 0 4px rgba(142,107,255,.16)}
.contact-form .mut{margin-top:14px;font-size:13.5px}
@media (max-width:560px){.contact-form .champs{grid-template-columns:1fr}.nav .lien-texte{margin-right:4px}}

/* ---------- 0.27.0 : « Mes diagnostics » en cartes ; bulles d'aide discrètes, en coin des tuiles ---------- */
.carte.diag{margin:0 0 14px}
.diag-tete{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.diag-tete .mut{font-size:14px}
.diag-actions{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 6px}
.btn.btn-petit{padding:9px 18px;font-size:14px;width:auto}
.btn.btn2{background:#fff;color:var(--encre);box-shadow:inset 0 0 0 2px var(--lavande)}
.garde{margin:8px 0 0;font-size:13.5px;line-height:1.5;color:var(--encre-2)}
.garde svg{vertical-align:-3px;margin-right:4px}
.garde .effacer{margin-left:4px}
.aide>b{width:13px;height:13px;font-size:9px;background:transparent;box-shadow:inset 0 0 0 1px rgba(90,63,214,.35);color:rgba(90,63,214,.65)}
.aide:hover>b,.aide:focus>b{background:#E6E0F5;color:#5A3FD6}
.carte{position:relative}
.carte>h2>.aide,.carte>h1>.aide{position:absolute;top:14px;right:16px;margin:0}
.carte>h2>.aide>i,.carte>h1>.aide>i{bottom:auto;top:calc(100% + 8px);left:auto;right:-6px;transform:none}
.carte>h2>.aide>i::after,.carte>h1>.aide>i::after{top:auto;bottom:100%;left:auto;right:10px;transform:none;border-top-color:transparent;border-bottom-color:#2B2540}
