
   /*
Theme Name: Divi Enfant
Description: Thème enfant de Divi
Author: [votre prénom]
Template: Divi
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;600;700;800&display=swap');

:root{
  --fx-encre:#1C1C1C;
  --fx-papier:#F4F2ED;
  --fx-vert:#0E5C4F;
  --fx-vert-sombre:#0A453B;
  --fx-vert-pale:#DDE9E5;
  --fx-seuil:#A8352A;
  --fx-seuil-pale:#F3E2E0;
  --fx-gris:#6B7176;
  --fx-trait:#D8D5CE;
  --fx-blanc:#FFFFFF;
}

/* ---------- Conteneur de page ---------- */
.fx-page{
  font-family:'Archivo',system-ui,-apple-system,sans-serif;
  color:var(--fx-encre);
  max-width:720px;
  margin:0 auto;
  padding:0 24px 64px;
  font-size:17px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
.fx-page.fx-large{max-width:860px;}
.fx-page *,.fx-page *::before,.fx-page *::after{box-sizing:border-box;}

/* ---------- Titres ---------- */
.fx-page h1{
  font-family:'Archivo',sans-serif;
  font-size:clamp(30px,4.6vw,42px);
  font-weight:800;line-height:1.08;letter-spacing:-.024em;
  color:var(--fx-encre);margin:0 0 20px;
}
.fx-page h2{
  font-size:clamp(22px,3vw,27px);
  font-weight:700;line-height:1.22;letter-spacing:-.014em;
  color:var(--fx-encre);margin:52px 0 16px;
}
.fx-page h3{
  font-size:19px;font-weight:600;line-height:1.3;
  color:var(--fx-encre);margin:36px 0 12px;
}
.fx-page p{margin:0 0 20px;}
.fx-page a{color:var(--fx-vert);text-decoration:underline;text-underline-offset:2px;}
.fx-page a:hover{color:var(--fx-vert-sombre);}
.fx-page strong{font-weight:600;}

/* ---------- Surtitre ---------- */
.fx-eyebrow{
  font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  color:var(--fx-vert);margin:0 0 14px;
}

/* ---------- Chapô ---------- */
.fx-chapo{
  font-size:20px;line-height:1.55;font-weight:500;
  margin:0 0 36px;color:var(--fx-encre);
}

/* ---------- Encadré neutre ---------- */
.fx-encadre{
  background:var(--fx-vert-pale);
  border-left:3px solid var(--fx-vert);
  padding:24px 28px;margin:32px 0;border-radius:0 3px 3px 0;
}
.fx-encadre p:last-child{margin-bottom:0;}

/* ---------- Encadré seuil (rouge, usage unique par page) ---------- */
.fx-alerte{
  background:var(--fx-seuil-pale);
  border-left:3px solid var(--fx-seuil);
  padding:24px 28px;margin:32px 0;border-radius:0 3px 3px 0;
}
.fx-alerte p:last-child{margin-bottom:0;}
.fx-alerte strong{color:var(--fx-seuil);}

/* ---------- Listes ---------- */
.fx-page ul,.fx-page ol{margin:0 0 24px;padding-left:22px;}
.fx-page li{margin-bottom:10px;}

.fx-liste-nue{list-style:none;padding:0;margin:0 0 28px;}
.fx-liste-nue li{
  border-top:1px solid var(--fx-trait);
  padding:14px 0;margin:0;display:flex;gap:16px;align-items:baseline;
}
.fx-liste-nue li:last-child{border-bottom:1px solid var(--fx-trait);}
.fx-liste-nue b{
  flex:0 0 96px;color:var(--fx-vert);font-weight:600;
  font-variant-numeric:tabular-nums;font-size:15px;
}

/* ---------- Tableau ---------- */
.fx-page table{
  width:100%;border-collapse:collapse;margin:28px 0;font-size:15px;
}
.fx-page th{
  text-align:left;font-weight:600;font-size:11px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--fx-vert);
  padding:10px 12px 10px 0;border-bottom:2px solid var(--fx-vert);
}
.fx-page td{
  padding:14px 12px 14px 0;border-bottom:1px solid var(--fx-trait);
  vertical-align:top;line-height:1.5;
}

/* ---------- Bouton ---------- */
.fx-cta{
  display:inline-block;background:var(--fx-vert);color:var(--fx-blanc)!important;
  font-family:'Archivo',sans-serif;font-size:16px;font-weight:600;
  padding:16px 34px;border-radius:3px;text-decoration:none!important;
  transition:background .18s ease;margin:8px 0 4px;
}
.fx-cta:hover{background:var(--fx-vert-sombre);color:var(--fx-blanc)!important;}
.fx-cta:focus-visible{outline:3px solid var(--fx-encre);outline-offset:3px;}
.fx-cta-bloc{text-align:center;margin:44px 0;}

/* ---------- Bloc offre ---------- */
.fx-offre{
  background:var(--fx-blanc);border:1px solid var(--fx-trait);
  border-radius:3px;padding:32px;margin:32px 0;
}
.fx-offre-prix{
  font-size:44px;font-weight:800;letter-spacing:-.03em;
  font-variant-numeric:tabular-nums;line-height:1;margin:0 0 6px;
}
.fx-offre-prix s{color:var(--fx-gris);font-weight:600;font-size:.5em;margin-right:10px;}
.fx-offre-mention{font-size:14px;color:var(--fx-gris);margin:0 0 22px;}

/* ---------- FAQ ---------- */
.fx-faq{margin:32px 0;}
.fx-faq details{
  border-top:1px solid var(--fx-trait);padding:0;
}
.fx-faq details:last-of-type{border-bottom:1px solid var(--fx-trait);}
.fx-faq summary{
  cursor:pointer;padding:18px 0;font-weight:600;font-size:17px;
  list-style:none;position:relative;padding-right:32px;
}
.fx-faq summary::-webkit-details-marker{display:none;}
.fx-faq summary::after{
  content:'+';position:absolute;right:4px;top:16px;
  font-size:22px;font-weight:400;color:var(--fx-vert);
}
.fx-faq details[open] summary::after{content:'–';}
.fx-faq details p{padding:0 0 18px;margin:0;color:var(--fx-encre);}

/* ---------- Divers ---------- */
.fx-note{font-size:14px;line-height:1.55;color:var(--fx-gris);}
.fx-filet{border:none;border-top:1px solid var(--fx-trait);margin:48px 0;}
.fx-suite{
  border-top:1px solid var(--fx-trait);margin-top:56px;padding-top:24px;
}
.fx-suite p{font-size:15px;margin-bottom:8px;}

@media (prefers-reduced-motion:reduce){
  .fx-page *{transition:none!important;animation:none!important;}
}
@media (max-width:600px){
  .fx-page{padding:0 20px 48px;font-size:16px;}
  .fx-chapo{font-size:18px;}
  .fx-offre{padding:24px 20px;}
  .fx-liste-nue b{flex-basis:76px;}
}