.cml{
  --cml-ink:#17224C; --cml-soft:#5B668C; --cml-paper:#FFFFFF;
  --cml-seyes:#C6D2EE; --cml-seyes-pale:#E7EDF9; --cml-marge:#E9A8B8;
  --cml-rouge:#C8102E; --cml-rouge-pale:#FBE9EC; --cml-vert:#1B7A56;
  --cml-trait:#D9DEEC; --cml-fond:#F2F4FA; --cml-r:10px;
  font-family:'Archivo',system-ui,sans-serif; font-size:17px; line-height:1.6;
  color:var(--cml-ink); max-width:1080px; margin:0 auto; padding:0;
  -webkit-font-smoothing:antialiased;
}
.cml *,.cml *::before,.cml *::after{box-sizing:border-box}
/* Les thèmes ciblent souvent les éléments directement (body button, .entry-content p…),
   ce qui écrase l'héritage. On redéclare donc la police sur les descendants. */
.cml p,.cml span,.cml div,.cml label,.cml li,.cml a,
.cml input,.cml select,.cml textarea,.cml button{font-family:'Archivo',system-ui,-apple-system,'Segoe UI',sans-serif}
.cml h2,.cml h3,.cml .cml-prix,.cml .cml-note-chiffre,.cml .cml-depot-titre,
.cml .cml-libelle,.cml .cml-note-mot{font-family:'Fraunces',Georgia,'Times New Roman',serif}
.cml h2,.cml h3{color:var(--cml-ink);text-transform:none;letter-spacing:-.01em}
.cml p{margin:0 0 1rem}
.cml p:last-child{margin-bottom:0}
.cml ul{margin:0;padding:0;list-style:none}
.cml button{text-transform:none;letter-spacing:normal;box-shadow:none;text-shadow:none}
.cml a{box-shadow:none}
.cml textarea,.cml input,.cml select{box-shadow:none;text-transform:none;min-height:0;max-width:none}
/* Aplat de fond en option : [camille_correcteur fond="1"].
   Par défaut la carte se détache par son ombre. */
#camille-app.cml-fond{background:var(--cml-fond);border-radius:18px;padding:22px}
@media(max-width:640px){#camille-app.cml-fond{padding:12px;border-radius:12px}}
.cml h3{font-family:'Fraunces',Georgia,serif;font-weight:600;font-size:1.18rem;line-height:1.25;margin:0;letter-spacing:-.01em}
.cml p{margin:0 0 1rem}
.cml-chapeau{font-size:1.12rem;color:var(--cml-soft);max-width:52ch}
.cml-chapeau strong{color:var(--cml-ink);font-weight:600}
.cml-compteur{font-size:.84rem;color:var(--cml-soft)}
.cml-compteur b{color:var(--cml-ink);font-weight:600}

/* boutons */
.cml-btn,.cml-btn-clair{font-family:inherit;font-size:1rem;cursor:pointer;border:0;border-radius:var(--cml-r);font-weight:600;line-height:1.2}
.cml-btn{background:var(--cml-ink);color:#fff;padding:14px 26px;transition:transform .12s ease,background .15s ease}
.cml-btn:hover{background:#0E1738;transform:translateY(-1px);color:#fff}
.cml-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}
.cml-btn-rouge{background:var(--cml-rouge)}.cml-btn-rouge:hover{background:#A60D26}
.cml-btn-clair{background:transparent;color:var(--cml-ink);border:1.5px solid var(--cml-trait);padding:12px 20px}
.cml-btn-clair:hover{border-color:var(--cml-ink)}
.cml-lien{background:none;border:0;padding:0;color:var(--cml-soft);text-decoration:underline;cursor:pointer;font:inherit;font-size:inherit}
.cml :focus-visible{outline:3px solid var(--cml-rouge);outline-offset:3px;border-radius:4px}

/* en-tête de copie et bande consigne */
.cml-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cml-tete-sep{flex:1}
.cml-consigne-boite{border:1.5px solid var(--cml-trait);border-radius:var(--cml-r);background:#fff;
  overflow:hidden;transition:border-color .15s}
.cml-consigne-boite:hover{border-color:#B9C2DC}
.cml-consigne-boite:focus-within{border-color:var(--cml-ink)}
.cml-consigne-boite.cml-eteint{background:#F5F7FC;border-color:var(--cml-trait)}

.cml-consigne-barre{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:9px 11px;
  border-top:1px solid #EDF0F7;background:#FCFDFF}
.cml-ou{font-size:.84rem;color:var(--cml-soft);margin-right:2px}
.cml-barre-fin{flex:1;min-width:8px}

.cml-puce{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--cml-trait);background:#fff;
  border-radius:8px;padding:7px 12px;font:inherit;font-size:.84rem;font-weight:500;color:var(--cml-ink);
  cursor:pointer;transition:border-color .15s,color .15s,background .15s;line-height:1}
.cml-puce:hover{border-color:var(--cml-ink);background:#fff}
.cml-puce svg{width:14px;height:14px;flex:none;opacity:.55}
.cml-puce:hover svg{opacity:.85}
.cml-puce[disabled]{opacity:.5;cursor:default}

.cml-recours-lien{background:none;border:0;padding:0;font:inherit;font-size:.81rem;color:#96A0BC;
  text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.cml-recours-lien:hover{color:var(--cml-soft)}
.cml-recours-lien.cml-actif{color:var(--cml-rouge);font-weight:600}

.cml-bande{padding:14px 18px;border-bottom:1px solid var(--cml-trait);background:#FCFDFF}
.cml #cml-consigne{width:100%;font-family:inherit;font-size:.95rem;line-height:1.5;color:var(--cml-ink);
  background:transparent;border:0;border-radius:0;padding:13px 15px;resize:vertical;box-shadow:none;display:block}
.cml #cml-consigne:focus{outline:0}
.cml #cml-consigne::placeholder{color:#9AA5C4}
.cml #cml-consigne:disabled{color:#9AA5C4}
.cml-bande .cml-erreur{margin-top:9px}

.cml-modale-large{max-width:580px}
.cml-modale-large h3{margin-bottom:8px}
.cml-modale-large > p{margin-bottom:20px}
.cml-sujets{display:grid;gap:10px}
.cml-sujet{background:#fff;border:1.5px solid var(--cml-trait);border-radius:8px;
  display:flex;flex-direction:column;overflow:hidden;transition:border-color .15s}
.cml-sujet:hover{border-color:#B9C2DC}
.cml-sujet.cml-actif{border-color:var(--cml-rouge);border-width:2px;background:#FFFBFC}
.cml-sujet-choix{flex:1;text-align:left;background:none;border:0;padding:15px 16px 10px;font:inherit;
  font-size:.95rem;line-height:1.4;color:var(--cml-ink);cursor:pointer}
.cml-sujet.cml-actif .cml-sujet-choix::before{content:"✓ ";color:var(--cml-rouge);font-weight:700}
.cml-sujet-pdf{display:block;padding:8px 16px 13px;font-size:.8rem;color:var(--cml-soft);text-decoration:underline}
.cml-sujet-pdf:hover{color:var(--cml-rouge)}
.cml-vide{grid-column:1/-1;padding:16px;text-align:center;color:var(--cml-soft);font-size:.88rem;
  border:1px dashed var(--cml-trait);border-radius:8px}
.cml-avertis{font-size:.85rem;color:var(--cml-soft);background:#fff;border-left:3px solid var(--cml-marge);
  border-radius:0 8px 8px 0;padding:10px 14px;margin:12px 0 0}

/* la copie */
#camille-app .cml-copie{margin-top:0;background:var(--cml-paper);border:1px solid rgba(23,34,76,.08);
  border-radius:18px;overflow:hidden;
  box-shadow:
    0 1px 2px rgba(23,34,76,.05),
    0 6px 14px -4px rgba(23,34,76,.07),
    0 22px 42px -16px rgba(23,34,76,.14),
    0 52px 90px -38px rgba(23,34,76,.22)}
#camille-app .cml-copie-tete{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;
  padding:15px 20px;border-bottom:1px solid var(--cml-trait);background:#FBFCFE}
.cml-champ{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--cml-soft);margin:0}
.cml select,.cml input[type=text],.cml input[type=email]{
  font-family:inherit;font-size:.95rem;color:var(--cml-ink);background:#fff;
  border:1.5px solid var(--cml-trait);border-radius:8px;padding:8px 11px;margin:0;max-width:100%;box-shadow:none}
.cml select:hover,.cml input:hover{border-color:#B9C2DC}
.cml #cml-sujet{flex:1;min-width:220px}

/* Le pas des lignes doit égaler l'interligne du texte, et le décalage placer
   chaque filet juste sous sa ligne : padding haut 20 + interligne 32. */
#camille-app .cml-feuille{position:relative;background:#fff;
  background-image:repeating-linear-gradient(to bottom,transparent 0 31px,var(--cml-seyes) 31px 32px);
  background-position:0 21px;background-repeat:repeat}
#camille-app .cml-feuille::before{content:"";position:absolute;top:0;bottom:0;left:60px;width:1.5px;
  background:var(--cml-marge)}
#camille-app #cml-texte{display:block;width:100%;min-height:288px;resize:vertical;border:0;
  background:transparent;padding:20px 22px 20px 78px;font-family:'Archivo',sans-serif;font-size:17px;
  line-height:32px;color:var(--cml-ink);box-shadow:none;border-radius:0}
.cml #cml-texte:focus{outline:0;box-shadow:none}
.cml #cml-texte::placeholder{color:#9AA5C4}
#camille-app .cml-copie-pied{display:flex;flex-wrap:wrap;gap:14px;align-items:center;
  justify-content:space-between;padding:15px 20px;border-top:1px solid var(--cml-trait);background:#FBFCFE}
.cml-mots{font-size:.88rem;color:var(--cml-soft)}
.cml-mots.cml-court{color:var(--cml-rouge)}
.cml-mots i{font-style:normal;color:var(--cml-vert)}

/* résultat */
#cml-resultat{margin-top:22px;display:none}
.cml-bulletin{background:var(--cml-paper);border:1px solid rgba(23,34,76,.07);border-radius:16px;overflow:hidden;
  box-shadow:
    0 1px 2px rgba(23,34,76,.04),
    0 4px 10px -3px rgba(23,34,76,.05),
    0 16px 32px -12px rgba(23,34,76,.10),
    0 40px 72px -32px rgba(23,34,76,.16);}
.cml-note{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding:26px 26px;background:var(--cml-rouge-pale);border-bottom:1px solid #F2D3D9}
.cml-note-chiffre{font-family:'Fraunces',serif;font-size:4.4rem;font-weight:700;color:var(--cml-rouge);line-height:.85;
  border:3px solid var(--cml-rouge);border-radius:50%;width:150px;height:150px;display:grid;place-content:center;transform:rotate(-7deg);flex:none}
.cml-note-chiffre small{display:block;font-size:1.05rem;font-weight:400;text-align:center;margin-top:6px}
.cml-note-mot{font-family:'Fraunces',serif;font-size:1.5rem;line-height:1.2;max-width:32ch}
.cml-note-mot em{display:block;font-family:'Archivo';font-style:normal;font-size:.92rem;color:var(--cml-soft);margin-top:10px;line-height:1.5}
.cml-note-mot em strong{color:var(--cml-ink);font-weight:700}

.cml-bloc{padding:24px 26px;border-bottom:1px solid var(--cml-trait)}
.cml-bloc:last-child{border-bottom:0}
.cml-bloc h3{margin-bottom:18px}

.cml-critere{display:grid;grid-template-columns:1fr 74px;gap:10px 16px;align-items:center;padding:9px 0;border-bottom:1px dotted var(--cml-trait)}
.cml-critere:last-child{border-bottom:0}
.cml-critere-nom{font-size:.95rem}
.cml-critere-nom span{display:block;font-size:.84rem;color:var(--cml-soft)}
.cml-jauge{grid-column:1/-1;height:5px;background:var(--cml-seyes-pale);border-radius:3px;overflow:hidden}
.cml-jauge div{height:100%;background:var(--cml-ink);border-radius:3px;transition:width .7s cubic-bezier(.2,.8,.2,1)}
.cml-critere-pts{text-align:right;font-variant-numeric:tabular-nums;font-weight:600;font-size:.95rem}

.cml-err{padding:16px 18px;border-left:3px solid var(--cml-rouge);background:#FDF8F9;border-radius:0 8px 8px 0;margin-bottom:12px}
.cml-err-type{font-size:.72rem;font-weight:600;color:var(--cml-rouge);margin-bottom:5px}
.cml-err-ligne{font-size:1.02rem;margin-bottom:6px}
.cml-err-ligne s{color:var(--cml-rouge);text-decoration-thickness:1.5px}
.cml-err-ligne b{color:var(--cml-vert)}
.cml-err-pourquoi{font-size:.9rem;color:var(--cml-soft);margin:0}
.cml-conseil{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--cml-trait)}
.cml-conseil:last-child{border:0}
.cml-conseil em{font-style:normal;color:var(--cml-vert);font-weight:700;flex:none}

.cml-verrou{position:relative;padding:24px 26px}
.cml-verrou-flou{filter:blur(5px);opacity:.5;user-select:none;pointer-events:none}
.cml-verrou-carte{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;padding:20px;
  background:linear-gradient(to bottom,rgba(255,255,255,.55),rgba(255,255,255,.96) 55%)}
.cml-verrou-carte p{max-width:34ch;color:var(--cml-soft);font-size:.95rem;margin:0}

/* tarifs */
.cml-tarifs{display:grid;gap:20px;margin-top:40px}
@media(min-width:840px){.cml-tarifs{grid-template-columns:repeat(3,1fr);align-items:end}}
.cml-offre{background:var(--cml-paper);border:1px solid var(--cml-trait);border-radius:14px;padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.cml-phare{border:2px solid var(--cml-ink);padding:34px 26px;box-shadow:0 28px 50px -34px rgba(23,34,76,.55);position:relative}
.cml-ruban{position:absolute;top:-13px;left:26px;background:var(--cml-ink);color:#fff;font-size:.75rem;font-weight:600;padding:4px 12px;border-radius:20px}
.cml-prix{font-family:'Fraunces',serif;font-size:2.4rem;font-weight:700;line-height:1}
.cml-offre ul{list-style:none;margin:0;padding:0;font-size:.94rem;display:grid;gap:9px;flex:1}
.cml-offre li{padding-left:24px;position:relative;color:var(--cml-soft);margin:0}
.cml-offre li::before{content:"✓";position:absolute;left:0;color:var(--cml-vert);font-weight:700}
.cml-offre li.cml-non{color:#A6AEC6}
.cml-offre li.cml-non::before{content:"—";color:#C3C9DA}
.cml-unit{font-size:.84rem;color:var(--cml-soft);margin:-6px 0 0}
.cml-mention{font-size:.84rem;color:var(--cml-soft);text-align:center;margin-top:20px}

/* onglets et import */
#camille-app .cml-onglets{display:flex;gap:0;border-bottom:1px solid var(--cml-trait);background:#F7F9FD}
#camille-app .cml-onglet{flex:1;background:none;border:0;border-bottom:2.5px solid transparent;
  padding:15px 16px;font:inherit;font-size:.94rem;font-weight:600;color:var(--cml-soft);cursor:pointer;
  border-radius:0}
.cml-onglet:hover{color:var(--cml-ink)}
#camille-app .cml-onglet.cml-actif{color:var(--cml-ink);border-bottom-color:var(--cml-rouge);background:#fff}

.cml-depot{padding:32px 24px;text-align:center;background:
  repeating-linear-gradient(to bottom,transparent 0 31px,var(--cml-seyes-pale) 31px 32px)}
.cml-depot.cml-survol{background:var(--cml-rouge-pale)}
.cml-depot-titre{font-family:'Fraunces',serif;font-size:1.3rem;margin:0 0 6px}
.cml-depot-sous{font-size:.92rem;color:var(--cml-soft);margin:0 0 20px}
.cml-depot-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.cml-appareil{display:none}
@media(hover:none) and (pointer:coarse){.cml-appareil{display:inline-block}}
.cml-liste{list-style:none;margin:22px auto 0;padding:0;max-width:420px;text-align:left;display:grid;gap:8px}
.cml-liste li{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--cml-paper);
  border:1px solid var(--cml-trait);border-radius:8px;padding:9px 12px;font-size:.9rem}
.cml-liste button{background:none;border:0;color:var(--cml-soft);cursor:pointer;font-size:1.1rem;line-height:1;padding:2px 4px}
.cml-liste button:hover{color:var(--cml-rouge)}
.cml-depot .cml-btn{margin-top:20px}
.cml-depot .cml-erreur{margin-top:14px}
.cml-verif{font-size:.86rem;color:var(--cml-vert);background:#F2F9F5;border-top:1px solid var(--cml-trait);
  margin:0;padding:11px 18px;text-align:center}

/* lots */
#camille-app .cml-lots{display:grid;gap:14px;margin:22px 0 18px;text-align:left}
@media(min-width:520px){#camille-app .cml-lots{grid-template-columns:1fr 1fr;align-items:stretch}}
#camille-app .cml-lot{position:relative;display:flex;flex-direction:column;background:#fff;text-align:left;
  border:1.5px solid var(--cml-trait);border-radius:14px;padding:20px 18px;transition:border-color .15s}
#camille-app .cml-lot:hover{border-color:#B9C2DC}
#camille-app .cml-lot-phare{border:2px solid var(--cml-ink);background:#FCFDFF;padding-top:26px;
  box-shadow:0 2px 4px rgba(23,34,76,.04),0 20px 40px -24px rgba(23,34,76,.55)}
#camille-app .cml-lot-phare:hover{border-color:var(--cml-ink)}
#camille-app .cml-ruban{position:absolute;top:-13px;left:14px;right:14px;justify-content:center;
  white-space:nowrap;display:inline-flex;
  align-items:center;gap:6px;background:var(--cml-ink);color:#fff;font-size:.73rem;font-weight:600;
  letter-spacing:.01em;padding:6px 12px;border-radius:999px;
  box-shadow:0 0 0 4px #fff,0 6px 14px -6px rgba(23,34,76,.8)}
#camille-app .cml-ruban::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--cml-marge)}

/* le volume est le héros, le prix vient le confirmer */
#camille-app .cml-lot-volume{color:var(--cml-soft);font-size:.86rem;font-weight:500;
  letter-spacing:.02em;margin-bottom:14px}
#camille-app .cml-lot-volume b{display:block;font-family:'Fraunces',Georgia,serif;font-size:3.1rem;
  font-weight:700;line-height:.9;color:var(--cml-ink);letter-spacing:-.025em;margin-bottom:3px}

#camille-app .cml-lot-prix{margin:0}
#camille-app .cml-lot-prix span{display:inline-block;font-family:'Fraunces',Georgia,serif;
  font-size:1.35rem;font-weight:600;line-height:1;color:var(--cml-ink);
  background:var(--cml-seyes-pale);border-radius:9px;padding:9px 14px}
#camille-app .cml-lot-phare .cml-lot-prix span{background:var(--cml-ink);color:#fff}

#camille-app .cml-lot-nb{font-size:.82rem;color:var(--cml-soft);margin-top:10px;
  padding-bottom:16px;border-bottom:1px solid var(--cml-trait)}

#camille-app .cml-lot-liste{list-style:none;margin:15px 0 18px;padding:0;display:grid;gap:9px;flex:1}
#camille-app .cml-lot-liste li{position:relative;padding-left:24px;font-size:.86rem;line-height:1.35;
  color:var(--cml-soft);margin:0;text-align:left}
#camille-app .cml-lot-liste li::before{content:"";position:absolute;left:1px;top:.3em;width:12px;height:7px;
  border-left:2px solid var(--cml-vert);border-bottom:2px solid var(--cml-vert);transform:rotate(-45deg)}
#camille-app .cml-lot-plus{color:var(--cml-ink);font-weight:600}
#camille-app .cml-lot .cml-btn,#camille-app .cml-lot .cml-btn-clair{width:100%;padding:12px}

/* Une ligne sobre plutôt qu'un bandeau : le reste de l'interface est retenu,
   un panneau coloré à pastilles jurerait. */
#camille-app .cml-rassure{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;
  align-items:baseline;margin:2px 0 0;padding:15px 0 0;border-top:1px solid var(--cml-trait);
  font-size:.82rem;color:var(--cml-soft)}
#camille-app .cml-rassure li{margin:0;padding:0;line-height:1.7;text-align:center}
#camille-app .cml-rassure li + li::before{content:"·";margin:0 11px;color:#C3CADC}

#camille-app .cml-retour-choix{background:none;border:0;padding:0 0 16px;font:inherit;font-size:.86rem;
  color:var(--cml-soft);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
#camille-app .cml-retour-choix:hover{color:var(--cml-ink)}
#cml-stripe{min-height:340px}

/* modales *//* modales */
.cml-voile{position:fixed;inset:0;background:rgba(23,34,76,.55);backdrop-filter:blur(3px);display:none;place-content:center;z-index:99999;padding:20px}
.cml-voile.cml-on{display:grid}
.cml-modale{background:var(--cml-paper);border-radius:18px;padding:38px 34px;max-width:460px;width:100%;
  box-shadow:0 8px 24px -8px rgba(23,34,76,.24),0 48px 88px -32px rgba(23,34,76,.45)}
.cml-modale h3{font-size:1.55rem;margin-bottom:12px}
.cml-modale p{font-size:.97rem;color:var(--cml-soft)}
.cml-modale input{width:100%;font-size:1.05rem;padding:13px 15px;margin:16px 0 8px}
.cml-modale .cml-btn{width:100%;padding:15px;margin-top:8px}
.cml-petit{font-size:.8rem;color:var(--cml-soft);margin:14px 0 0;text-align:center}
.cml-erreur{color:var(--cml-rouge);font-size:.86rem;margin:0}
.cml-erreur:empty{display:none}
.cml-fermer{background:none;border:0;color:var(--cml-soft);font-size:.88rem;display:block;margin:14px auto 0;text-decoration:underline;cursor:pointer;font-family:inherit}

.cml-encours{display:flex;align-items:center;gap:16px;color:var(--cml-soft);font-size:.95rem}
.cml-anneau{position:relative;width:48px;height:48px;flex:none}
.cml-anneau svg{width:48px;height:48px;transform:rotate(-90deg)}
.cml-anneau circle{fill:none;stroke-width:3.5}
.cml-anneau-fond{stroke:var(--cml-seyes-pale)}
.cml-anneau-trait{stroke:var(--cml-rouge);stroke-linecap:round;
  stroke-dasharray:125.66;stroke-dashoffset:125.66;transition:stroke-dashoffset .25s linear}
.cml-anneau i{position:absolute;inset:0;display:grid;place-content:center;font-style:normal;
  font-family:'Fraunces',Georgia,serif;font-size:.78rem;font-weight:600;color:var(--cml-ink);
  font-variant-numeric:tabular-nums}
.cml-plume{width:18px;height:18px;border:2px solid var(--cml-seyes);border-top-color:var(--cml-rouge);border-radius:50%;animation:cml-t .8s linear infinite}
@keyframes cml-t{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cml *{animation:none!important;transition:none!important}}
@media(max-width:640px){
  .cml #cml-texte{padding-left:24px}
  .cml-feuille::before{display:none}
  .cml-note{gap:18px;padding:24px 20px}
  .cml-bloc,.cml-verrou{padding:22px 20px}
  .cml-copie-pied .cml-btn{width:100%}
}
