
/* === Elisabeth Wolf — Kinésiologie Périnatale® === */
/* Palette "Lagune Douce" + typographie Cormorant Garamond / Jost */

:root{
  --bg:#FBFAF7;
  --sand-light:#EDE4D6;
  --sand:#DDD0BD;
  --teal-soft:#7FB3AC;
  --teal-deep:#3E8C8F;
  --ink:#3A3530;
  --ink-soft:#6B6258;
  --coral:#D98B6F;
  --coral-light:#F3DCCF;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Jost',sans-serif;
  font-weight:300;
  line-height:1.7;
}
h1,h2,h3,.script{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  margin:0;
  color:var(--ink);
}
.script{font-style:italic;color:var(--teal-deep);font-weight:500;letter-spacing:0.5px;}
.eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12.5px;color:var(--teal-deep);font-weight:500;}

/* MARQUE DÉPOSÉE — symbole ® réduit à 60% et placé en exposant */
.tm{font-size:0.6em;vertical-align:super;}

/* FLOURISH — accent script, à la manière du nom manuscrit du template de référence */
.flourish{
  font-family:'Italianno', cursive;
  color:var(--teal-deep);
  font-size:clamp(44px,6vw,76px);
  line-height:0.9;
  display:block;
  font-weight:400;
  margin-bottom:6px;
}
.flourish.on-dark{color:var(--sand-light);}

/* ARCH — image à arche, signature visuelle empruntée au template de référence */
.arch{border-radius:50% 50% 14px 14px !important;}
.arch-soft{border-radius:160px 160px 16px 16px !important;}

/* CARTE TEINTÉE — bloc texte sur fond clair, façon "trust-section" du template de référence */
.card.tinted{background:var(--sand-light);border:none;text-align:center;}
.card.tinted h3{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:500;margin-bottom:14px;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}

/* HEADER */
header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,0.92);backdrop-filter:blur(6px);border-bottom:1px solid var(--sand);}
.headerbar{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;}
.brand{display:flex;align-items:center;gap:12px;}
.brand img{height:42px;}
.brand .name{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:600;line-height:1.1;}
nav{display:flex;gap:19px;align-items:center;}
nav a{font-size:13.5px;color:var(--ink);position:relative;padding:4px 0;white-space:nowrap;}
nav a:hover, nav a.active{color:var(--teal-deep);}
nav a.btn{padding:8px 16px;font-size:11px;white-space:nowrap;}

.nav-toggle{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;justify-content:center;gap:5px;}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle.open span:nth-child(2){opacity:0;}
.nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.btn{display:inline-block;padding:13px 28px;border-radius:30px;font-size:13px;letter-spacing:1px;text-transform:uppercase;border:1px solid var(--teal-deep);}
.btn-fill{background:var(--teal-deep);color:#fff;}
.btn-fill:hover{background:var(--ink);border-color:var(--ink);}
.btn-line{color:var(--teal-deep);}
.btn-line:hover{background:var(--teal-deep);color:#fff;}

/* PAGE HEADER (sous-pages) */
.page-hero{padding:45px 0 39px;text-align:center;}
.page-hero h1{font-size:44px;line-height:1.18;margin:14px 0 20px;}
.page-hero p.lead{color:var(--ink-soft);max-width:640px;margin:0 auto;font-size:16.5px;}
.breadcrumb{font-size:12.5px;color:var(--ink-soft);margin-bottom:10px;}
.breadcrumb a:hover{color:var(--teal-deep);}

/* HERO (accueil) */
.hero{padding:63px 0 24px;}
.hero-grid{display:grid;grid-template-columns:1.05fr 0.95fr;gap:60px;align-items:center;}
.hero h1{font-size:44px;line-height:1.18;margin:14px 0 20px;font-weight:500;}
.hero p.lead{font-size:16.5px;color:var(--ink-soft);max-width:480px;margin-bottom:34px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}
.hero-img-wrap{position:relative;}
.hero-img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:180px 180px 24px 24px;box-shadow:0 30px 60px -20px rgba(62,140,143,0.35);}
.hero-img-wrap::before{content:"";position:absolute;width:160px;height:160px;background:var(--sand-light);border-radius:50%;z-index:-1;top:-30px;right:-30px;}

/* PILLARS */
.pillars{background:var(--sand-light);padding:39px 0;}
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;text-align:center;}
.pillar-icon{width:54px;height:54px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;color:var(--teal-deep);font-size:22px;border:1px solid var(--sand);}
.pillar h3{font-size:20px;margin-bottom:10px;}
.pillar p{font-size:14px;color:var(--ink-soft);margin:0;}

/* SECTIONS — rythme vertical uniformisé sur la page « La Méthode KPN® » (référence) */
section{padding:63px 0;}
section.tight{padding:42px 0;}
.section-alt{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;}
.section-alt.reverse .col-img{order:2;}
.col-img img{width:100%;border-radius:180px 180px 20px 20px;display:block;box-shadow:0 25px 50px -25px rgba(58,53,48,0.25);}
.photo-placeholder{width:100%;aspect-ratio:3/2;border-radius:180px 180px 20px 20px;background:var(--sand-light);border:2px dashed var(--sand);display:flex;align-items:center;justify-content:center;text-align:center;padding:20px;box-sizing:border-box;color:var(--ink-soft);font-size:13.5px;line-height:1.6;}
.col-img-stretch{align-self:stretch;}
.photo-placeholder-fill{aspect-ratio:auto;height:100%;}
.col-img-mt-lg{margin-top:56px;}
.elisabeth-intro{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;align-items:center;}
.elisabeth-intro-photo{text-align:center;}
.elisabeth-intro-photo img{width:195px;height:195px;border-radius:50%;object-fit:cover;margin:0 auto;box-shadow:0 15px 30px -15px rgba(58,53,48,0.3);display:block;}
.elisabeth-intro-text{grid-column:2/4;}
.col-text h2{font-size:34px;margin:14px 0 20px;}
.col-text p{color:var(--ink-soft);font-size:15.5px;margin-bottom:16px;}
.quote-mark{font-size:15.5px;color:var(--ink-soft);font-style:italic;border-left:3px solid var(--teal-soft);padding-left:18px;margin:22px 0;}

.strip{background:var(--bg);text-align:center;max-width:780px;margin:0 auto;}
.strip .eyebrow{display:block;margin-bottom:14px;}
.strip h2{font-size:34px;margin-bottom:22px;}
.strip p{color:var(--ink-soft);font-size:15.5px;margin-bottom:30px;}
.tags{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:34px;}
.tag{border:1px solid var(--sand);background:var(--sand-light);padding:9px 18px;border-radius:30px;font-size:13px;color:var(--ink-soft);}

/* FORMATION HIGHLIGHT */
.formation{background:var(--teal-deep);color:#fff;border-radius:36px;padding:70px 60px;margin:0 32px;}
.formation-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1.1fr 0.9fr;gap:60px;align-items:center;}
.formation .eyebrow{color:var(--sand-light);}
.formation h2{color:#fff;font-size:34px;margin:14px 0 20px;}
.formation p{color:rgba(255,255,255,0.85);font-size:15.5px;margin-bottom:24px;}
.formation .btn-fill{background:#fff;color:var(--teal-deep);border-color:#fff;}
.formation .btn-fill:hover{background:var(--sand-light);}
.formation-card{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.25);border-radius:20px;padding:32px;}
.formation-card .item{display:flex;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,0.18);}
.formation-card .item:last-child{border-bottom:none;}
.formation-card .num{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--sand-light);}
.formation-card .label b{display:block;font-size:14px;margin-bottom:2px;}
.formation-card .label span{font-size:13px;color:rgba(255,255,255,0.7);}
.formation-card.on-light{background:var(--sand-light);border:1px solid var(--sand);}
.formation-card.on-light .item{border-bottom:1px solid var(--sand);}
.formation-card.on-light .num{color:var(--teal-deep);}
.formation-card.on-light .label b{color:var(--ink);}
.formation-card.on-light .label span{color:var(--ink-soft);}
.formation-tight{padding:56px 30px;}

/* AUDIENCE LIST */
.audience{background:var(--sand-light);}
.audience-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start;}

/* SAND CARD — même traitement « bandeau en carte » que .formation, en sable */
.sand-card{background:var(--sand-light);border-radius:36px;padding:70px 60px;margin:0 32px;}
.sand-card .audience-grid{max-width:1180px;margin:0 auto;}
.sand-card .wrap{padding:0 20px;}
.sand-card .strip{padding-bottom:44px;}
.audience h2{font-size:34px;margin-bottom:18px;}
.audience ul{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.audience li{display:flex;gap:12px;font-size:15.5px;color:var(--ink-soft);align-items:flex-start;}
.audience li::before{content:"✓";color:var(--teal-deep);font-weight:600;}
.objectifs-grid{background:none;grid-template-columns:auto 1fr;gap:36px;}
.objectifs-title{white-space:nowrap;}

/* SEANCES box */
.seances-box{border:1px solid var(--sand);border-radius:24px;display:grid;grid-template-columns:0.9fr 1.1fr;overflow:hidden;}
.seances-box img{width:100%;height:100%;object-fit:cover;min-height:340px;}
.seances-content{padding:48px;}
.seances-content h2{font-size:34px;margin:10px 0 16px;}
.seances-content p{color:var(--ink-soft);font-size:15.5px;margin-bottom:22px;}
.practical{margin-top:22px;font-size:14px;color:var(--ink-soft);display:grid;gap:6px;}

/* QUOTE */
.bigquote{text-align:center;padding:44px 0;}
.bigquote p{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:32px;color:var(--teal-deep);max-width:760px;margin:0 auto;line-height:1.5;}
.bigquote .deco{width:50px;height:1px;background:var(--teal-soft);margin:26px auto 0;}

/* CONTACT CTA banner */
.contact-cta{background:var(--sand-light);border-radius:36px;margin:0 32px 100px;padding:64px 60px;display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;align-items:center;}
.contact-cta h2{font-size:34px;margin:12px 0 16px;}
.contact-cta p{color:var(--ink-soft);font-size:15.5px;margin-bottom:8px;}
.contact-info{display:grid;gap:10px;font-size:14px;}
.contact-info b{color:var(--ink);}

/* LISTES / CARTES diverses */
.card-grid{display:grid;gap:28px;}
.card-grid.cols-2{grid-template-columns:1fr 1fr;}
.card-grid.cols-3{grid-template-columns:1fr 1fr 1fr;}
.card-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.card{background:#fff;border:1px solid var(--sand);border-radius:20px;padding:30px;}
.card h3{font-size:20px;margin-bottom:10px;}
.card p{color:var(--ink-soft);font-size:14px;margin:0;}
.card .tarif-line{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;}
.card .tarif-line:first-of-type{margin-top:4px;}
.card .tarif-line span{font-size:14.5px;color:var(--ink);}
.card .tarif-line b{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--teal-deep);font-weight:500;}
.card .tarif-note{font-size:13px;color:var(--ink-soft);margin:2px 0 0;}

/* EQUIPE */
.team-card{text-align:center;}
.team-photo{width:160px;height:190px;border-radius:50% 50% 14px 14px;object-fit:cover;margin:0 auto 18px;border:4px solid var(--sand-light);}
.team-card h3{font-size:20px;margin-bottom:4px;}
.team-card .role{font-size:12.5px;color:var(--teal-deep);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px;display:block;line-height:1.6;}
.team-card p{font-size:14px;color:var(--ink-soft);}
.provisoire-note{background:var(--sand-light);border:1px dashed var(--sand);border-radius:14px;padding:16px 22px;font-size:13px;color:var(--ink-soft);max-width:780px;margin:0 auto 50px;text-align:center;}

/* MODULES FORMATION (accordéon simple) */
.modules{display:grid;gap:16px;}
.module{border:1px solid var(--sand);border-radius:16px;background:#fff;overflow:hidden;}
.module summary{cursor:pointer;padding:20px 26px;font-family:'Cormorant Garamond',serif;font-size:19px;display:flex;justify-content:space-between;align-items:center;list-style:none;text-align:left;}
.module summary::-webkit-details-marker{display:none;}
.module summary .title{flex:1;text-align:left;}
.module summary .meta{font-family:'Jost',sans-serif;font-size:12.5px;color:var(--ink-soft);font-weight:400;text-transform:none;letter-spacing:0;margin-left:14px;}
.module summary::after{content:"+";font-size:22px;color:var(--teal-deep);margin-left:14px;}
.module[open] summary::after{content:"–";}
.module .body{padding:0 26px 24px;color:var(--ink-soft);font-size:14.5px;}
.module .body .dates{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}
.module .body .date-tag{background:var(--sand-light);border-radius:20px;padding:6px 14px;font-size:12.5px;}
.module .body .date-tag.complet{opacity:0.55;text-decoration:line-through;}

.volets{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0;}
.volet{background:var(--sand-light);border-radius:18px;padding:26px;text-align:center;}
.volet .n{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--teal-deep);}

/* SEANCES PAGE — tarifs */
.tarifs{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tarif-card{border:1px solid var(--sand);border-radius:20px;padding:30px;text-align:center;background:#fff;}
.tarif-card .prix{font-family:'Cormorant Garamond',serif;font-size:38px;color:var(--teal-deep);margin:10px 0;}
.tarif-card .label{font-size:13.5px;color:var(--ink-soft);}

/* CONTACT FORM */
.contact-grid{display:grid;grid-template-columns:1fr 0.8fr;gap:60px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.form-row.full{grid-template-columns:1fr;}
input,select,textarea{
  width:100%;padding:13px 16px;border:1px solid var(--sand);border-radius:10px;
  background:#fff;font-family:'Jost',sans-serif;font-size:14px;color:var(--ink);
}
textarea{min-height:130px;resize:vertical;}
.form-note{font-size:12.5px;color:var(--ink-soft);margin-top:14px;}
.map-placeholder{
  background:var(--sand-light);border:1px dashed var(--sand);border-radius:20px;
  padding:60px 30px;text-align:center;color:var(--ink-soft);font-size:14px;
}

/* LEGAL / TEXT PAGES */
.legal{max-width:760px;margin:0 auto;padding:50px 0 100px;}
.legal h2{font-size:24px;margin:38px 0 14px;}
.legal h2:first-of-type{margin-top:0;}
.legal p, .legal li{color:var(--ink-soft);font-size:15px;}
.legal ul{padding-left:20px;}
.legal .updated-note{background:var(--sand-light);border-radius:14px;padding:16px 22px;font-size:13px;color:var(--ink-soft);margin-bottom:40px;}
.legal hr{border:none;border-top:1px solid var(--sand);margin:40px 0;}

/* FOOTER */
footer{background:#2F2C28;color:#D9D4CC;padding:60px 0 28px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
footer h4{font-family:'Jost',sans-serif;color:#fff;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:18px;font-weight:500;}
.footer-grid > div:first-child h4{margin-bottom:8px;}
footer p{font-size:13.5px;color:#AFA89D;margin:0 0 6px;}
footer .coords{font-size:13.5px;color:#AFA89D;line-height:1.6;margin-top:0;}
footer ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
footer a{font-size:13.5px;color:#C9C3B9;}
footer a:hover{color:#fff;}
.footer-bottom{border-top:1px solid #45413B;padding-top:24px;display:flex;justify-content:space-between;font-size:12.5px;color:#8C857A;flex-wrap:wrap;gap:10px;}

.badge-note{position:fixed;bottom:18px;right:18px;background:var(--ink);color:#fff;font-family:'Jost',sans-serif;font-size:12px;padding:10px 16px;border-radius:30px;opacity:0.85;z-index:100;}

@media (max-width:900px){
  .headerbar{position:relative;padding:16px 20px;}
  .nav-toggle{display:flex;}
  nav{
    display:none;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:var(--bg);border-bottom:1px solid var(--sand);
    padding:6px 20px 18px;box-shadow:0 16px 28px -18px rgba(58,53,48,0.35);
    max-height:80vh;overflow-y:auto;
  }
  nav.open{display:flex;}
  nav a{padding:13px 0;width:100%;border-bottom:1px solid var(--sand-light);white-space:normal;}
  nav a.btn{margin-top:14px;text-align:center;border-bottom:none;padding:13px 16px;font-size:13px;}

  .wrap{padding:0 20px;}
  .hero-grid,.section-alt,.audience-grid,.formation-inner,.contact-cta,.contact-grid,.seances-box,.elisabeth-intro,.objectifs-grid{grid-template-columns:1fr;gap:32px;}
  .objectifs-title{white-space:normal;}
  .section-alt.reverse .col-img{order:0;}
  .elisabeth-intro-text{grid-column:auto;}
  .elisabeth-intro-photo img{width:150px;height:150px;}
  .col-img-stretch{margin-top:0 !important;}
  .col-img-mt-lg{margin-top:28px;}
  .photo-placeholder-fill{aspect-ratio:3/2;height:auto;}
  .pillars-grid,.card-grid.cols-2,.card-grid.cols-3,.card-grid.cols-4,.volets,.tarifs{grid-template-columns:1fr;gap:20px;}
  .volets{gap:16px;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .formation,.contact-cta{margin:0 16px;padding:44px 28px;}
  .form-row{grid-template-columns:1fr;}
  .seances-box img{min-height:220px;}
}

@media (max-width:600px){
  .wrap{padding:0 18px;}
  .hero,.page-hero{padding-left:0;padding-right:0;}
  .hero h1,.page-hero h1{font-size:32px;}
  .hero p.lead,.page-hero p.lead{font-size:15px;}
  .col-text h2,.strip h2,.contact-cta h2,.formation h2,.audience h2,.seances-content h2{font-size:27px;}
  .bigquote{padding:32px 0;}
  .bigquote p{font-size:24px;}
  .hero-img-wrap::before{display:none;}
  section{padding:44px 0;}
  section.tight{padding:30px 0;}
  .formation{padding:36px 22px;border-radius:24px;}
  .formation-inner{gap:32px;}
  .sand-card{padding:36px 22px;border-radius:24px;}
  .contact-cta{padding:36px 22px;border-radius:24px;}
  .footer-grid{grid-template-columns:1fr;gap:28px;}
  .footer-bottom{flex-direction:column;align-items:flex-start;}
  .brand .name{font-size:18px;}
  .brand img{height:34px;}
  .badge-note{left:12px;right:12px;bottom:12px;text-align:center;font-size:11px;padding:8px 12px;}
  .module summary{padding:16px 18px;font-size:16.5px;}
  .module .body{padding:0 18px 20px;}
}

/* ACCENT COULEUR — corail, appliqué à tout le site via body.accent-coral */
body.accent-coral .eyebrow{color:var(--coral);}
body.accent-coral .pillar-icon{color:var(--coral);}
body.accent-coral .hero-img-wrap::before{background:var(--coral-light);}
body.accent-coral .quote-mark{border-left-color:var(--coral);}
body.accent-coral nav a.btn.btn-fill{background:var(--coral);border-color:var(--coral);}
body.accent-coral nav a.btn.btn-fill:hover{background:var(--ink);border-color:var(--ink);}
/* — exceptions ponctuelles décidées page par page — */
body.accent-coral .eyebrow.revert-teal{color:var(--teal-deep);}
body.accent-coral .quote-mark.revert-teal{border-left-color:var(--teal-soft);}
body.accent-coral .coral-text{color:var(--coral);}
body.accent-coral .tag{color:var(--coral);}

/* ==========================================================================
   ÉDITION PAR BLOCS — adaptation du design aux blocs natifs WordPress
   Ajouté en v2.0. Ne pas supprimer : c'est ce qui fait que les blocs
   de l'éditeur reprennent exactement l'apparence du site.
   ========================================================================== */

/* --- Marque déposée : <sup> est le format « exposant » de l'éditeur --- */
sup{font-size:0.6em;vertical-align:super;line-height:0;}

/* --- Remises à zéro générales des blocs --- */
.wp-block-image{margin:0;}
.wp-block-image img{display:block;height:auto;}
.wp-block-columns{margin-bottom:0;}
.wp-block-group.wrap > :first-child{margin-block-start:0;}

/* --- Sur-titre, chapô et variantes de texte --- */
p.eyebrow{margin:0 0 6px;}
p.lead{margin-left:auto;margin-right:auto;}
.hero-role{color:var(--teal-deep);font-weight:400;font-size:17px;margin:0 0 14px;}
.kpn-intro{color:var(--ink-soft);font-size:15.5px;margin:0 0 22px;}
.kpn-soft-text{color:var(--ink-soft);font-size:15.5px;}
.kpn-publics{font-weight:600;font-size:16.5px;color:var(--ink);}
.kpn-center-note{text-align:center;color:var(--ink-soft);font-size:14px;margin-top:24px;}
.kpn-fineprint{font-size:13px;}
.kpn-todo-note{background:var(--sand-light);border:1px dashed var(--sand);border-radius:14px;padding:18px 22px;font-size:13.5px;color:var(--ink-soft);}

/* --- Conteneurs utilitaires --- */
.kpn-narrow-box{max-width:820px;margin-left:auto;margin-right:auto;}
.kpn-centered-head{text-align:center;max-width:700px;margin:0 auto 30px;}
.kpn-no-top{padding-top:0;}
.bigquote-tight{padding-top:0;}
.kpn-audience h2{font-size:34px;margin:0 0 18px;}
.kpn-plain-list{color:var(--ink-soft);font-size:15.5px;padding-left:20px;display:grid;gap:8px;}
.kpn-list-inline{display:inline-block;text-align:left;}

/* --- Styles de blocs : groupes --- */
.wp-block-group.is-style-kpn-sand-card{background:var(--sand-light);border-radius:36px;padding:70px 60px;margin:0 32px;}
.wp-block-group.is-style-kpn-teal-band{background:var(--teal-deep);color:#fff;border-radius:36px;padding:70px 60px;margin:0 32px;}
.wp-block-group.is-style-kpn-teal-band h2,
.wp-block-group.is-style-kpn-teal-band h3{color:#fff;}
.wp-block-group.is-style-kpn-white-card{background:#fff;border:1px solid var(--sand);border-radius:20px;padding:30px;}
.wp-block-group.is-style-kpn-narrow{max-width:780px;margin-left:auto;margin-right:auto;}
.wp-block-group.is-style-kpn-wrap{max-width:1180px;margin-left:auto;margin-right:auto;padding-left:32px;padding-right:32px;}

/* --- Styles de blocs : paragraphes --- */
p.is-style-kpn-eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:12.5px;color:var(--teal-deep);font-weight:500;margin:0 0 6px;}
p.is-style-kpn-lead{color:var(--ink-soft);font-size:16.5px;}
p.is-style-kpn-soft{color:var(--ink-soft);font-size:15.5px;}
p.is-style-kpn-quote{font-size:15.5px;color:var(--ink-soft);font-style:italic;border-left:3px solid var(--teal-soft);padding-left:18px;margin:22px 0;}
p.is-style-kpn-bigquote{font-family:'Cormorant Garamond',serif;font-style:italic;font-weight:500;font-size:32px;color:var(--teal-deep);max-width:760px;margin:0 auto;line-height:1.5;text-align:center;}
body.accent-coral p.is-style-kpn-eyebrow{color:var(--coral);}
body.accent-coral p.is-style-kpn-quote{border-left-color:var(--coral);}

/* --- Styles de blocs : listes --- */
.wp-block-list.is-style-kpn-check{list-style:none;margin:0;padding:0;display:grid;gap:14px;}
.wp-block-list.is-style-kpn-check li{display:flex;gap:12px;font-size:15.5px;color:var(--ink-soft);align-items:flex-start;}
.wp-block-list.is-style-kpn-check li::before{content:"\2713";color:var(--teal-deep);font-weight:600;}

.wp-block-list.is-style-kpn-tags{list-style:none;padding:0;margin:0 0 34px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.wp-block-list.is-style-kpn-tags li{border:1px solid var(--sand);background:var(--sand-light);padding:9px 18px;border-radius:30px;font-size:13px;color:var(--ink-soft);}
body.accent-coral .wp-block-list.is-style-kpn-tags li{color:var(--coral);}

.wp-block-list.is-style-kpn-dates{list-style:none;padding:0;margin:8px 0 0;display:flex;gap:10px;flex-wrap:wrap;}
.wp-block-list.is-style-kpn-dates li{background:var(--sand-light);border-radius:20px;padding:6px 14px;font-size:12.5px;}
.wp-block-list.is-style-kpn-dates li s{opacity:0.55;}
.kpn-dates-label{font-weight:600;color:var(--ink);margin:14px 0 0;font-size:13.5px;}
.kpn-date-link{margin:14px 0 0;}
.kpn-date-link a{background:var(--sand-light);border-radius:20px;padding:6px 14px;font-size:12.5px;display:inline-block;}

/* --- Styles de blocs : boutons --- */
.wp-block-button.is-style-kpn-fill .wp-block-button__link,
.wp-block-button.is-style-kpn-line .wp-block-button__link{
  display:inline-block;padding:13px 28px;border-radius:30px;font-size:13px;
  letter-spacing:1px;text-transform:uppercase;border:1px solid var(--teal-deep);
  line-height:1.5;font-weight:400;text-align:center;
}
.wp-block-button.is-style-kpn-fill .wp-block-button__link{background:var(--teal-deep);color:#fff;}
.wp-block-button.is-style-kpn-fill .wp-block-button__link:hover{background:var(--ink);border-color:var(--ink);color:#fff;}
.wp-block-button.is-style-kpn-line .wp-block-button__link{background:transparent;color:var(--teal-deep);}
.wp-block-button.is-style-kpn-line .wp-block-button__link:hover{background:var(--teal-deep);color:#fff;}
.formation .wp-block-button.is-style-kpn-fill .wp-block-button__link{background:#fff;color:var(--teal-deep);border-color:#fff;}
.formation .wp-block-button.is-style-kpn-fill .wp-block-button__link:hover{background:var(--sand-light);color:var(--teal-deep);}

/* --- Styles de blocs : images --- */
.wp-block-image.is-style-kpn-arch img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;border-radius:180px 180px 24px 24px;box-shadow:0 30px 60px -20px rgba(62,140,143,0.35);}
.wp-block-image.is-style-kpn-soft img{width:100%;border-radius:180px 180px 20px 20px;box-shadow:0 25px 50px -25px rgba(58,53,48,0.25);}
.wp-block-image.is-style-kpn-team-arch img{width:100%;border-radius:50% 50% 14px 14px;box-shadow:0 25px 50px -25px rgba(58,53,48,0.25);}
.col-img .wp-block-image img{width:100%;border-radius:180px 180px 20px 20px;box-shadow:0 25px 50px -25px rgba(58,53,48,0.25);}
.wp-block-image.hero-photo img{width:85%;margin-left:auto;margin-right:auto;}
.wp-block-image.kpn-img-80 img{width:80%;margin-left:auto;margin-right:auto;}
.wp-block-image.is-style-kpn-team img{width:160px;height:190px;border-radius:50% 50% 14px 14px;object-fit:cover;margin:0 auto 18px;border:4px solid var(--sand-light);box-shadow:none;}

/* --- Bandeau vert : le texte reste lisible --- */
.formation .wp-block-group,
.formation .wp-block-column{color:inherit;}
.formation .practical p{color:rgba(255,255,255,0.85);font-size:14px;margin:0;}
.formation .practical a{text-decoration:underline;color:#fff;}
.practical{margin-top:22px;}

/* --- Carte « 4 repères » de la page d'accueil --- */
.formation-card .item{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--sand);margin:0;}
.formation-card .item:last-child{border-bottom:none;}
.formation-card .num{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--teal-deep);margin:0;line-height:1.2;}
.formation-card .label{margin:0;}
.formation-card .label-title{font-size:14px;font-weight:600;color:var(--ink);margin:0 0 2px;}
.formation-card .label-desc{font-size:13px;color:var(--ink-soft);margin:0;}

/* --- Cartes tarifs --- */
.card .tarif-line{display:flex;justify-content:space-between;align-items:baseline;margin-top:14px;gap:14px;}
.card .tarif-label{font-size:14.5px;color:var(--ink);margin:0;}
.card .tarif-price{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--teal-deep);font-weight:500;margin:0;}
.card .tarif-note{font-size:13px;color:var(--ink-soft);margin:2px 0 0;}
.card h3{margin:0 0 10px;}

/* --- Les trois volets de la formation --- */
.volet .n{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--teal-deep);margin:0;line-height:1.1;}
.volet h3{font-size:20px;margin:10px 0 6px;}
.volet-desc{font-size:14px;color:var(--ink-soft);margin:0;}

/* --- Cartes équipe --- */
.team-card .role{font-size:12.5px;color:var(--teal-deep);text-transform:uppercase;letter-spacing:1px;margin:0 0 14px;display:block;line-height:1.6;}
.team-card h3{margin:0 0 4px;}
.team-card p{margin:0;}

/* --- Modules de formation (accordéon) --- */
.wp-block-group.modules{display:grid;gap:16px;}
.wp-block-group.modules > *{margin-block-start:0;margin-block-end:0;}
.wp-block-details.is-style-kpn-module{border:1px solid var(--sand);border-radius:16px;background:#fff;overflow:hidden;padding:0;margin:0;}
.wp-block-details.is-style-kpn-module summary{cursor:pointer;padding:20px 26px;font-family:'Cormorant Garamond',serif;font-size:19px;display:flex;justify-content:space-between;align-items:center;list-style:none;text-align:left;color:var(--ink);}
.wp-block-details.is-style-kpn-module summary::-webkit-details-marker{display:none;}
.wp-block-details.is-style-kpn-module summary::after{content:"+";font-size:22px;color:var(--teal-deep);margin-left:14px;}
.wp-block-details.is-style-kpn-module[open] summary::after{content:"\2013";}
.wp-block-details.is-style-kpn-module .body{padding:0 26px 24px;color:var(--ink-soft);font-size:14.5px;}
.wp-block-details.is-style-kpn-module .body p{margin:0 0 10px;}

/* --- Coordonnées de la page contact --- */
.contact-info p{margin:0 0 10px;font-size:14px;}
.contact-info strong{color:var(--ink);}

/* --- Pages légales --- */
.legal .wp-block-heading{font-size:24px;margin:38px 0 14px;}
.legal .wrap > .wp-block-heading:first-of-type{margin-top:0;}
.legal p, .legal li{color:var(--ink-soft);font-size:15px;}
.legal .updated-note{background:var(--sand-light);border-radius:14px;padding:16px 22px;font-size:13px;color:var(--ink-soft);margin:0 0 40px;}
.legal .wp-block-separator{border:none;border-top:1px solid var(--sand);margin:40px 0;opacity:1;}

/* --- Colonnes : on empile au même point de rupture que le reste du site --- */
@media (max-width:900px){
  .wp-block-columns:not(.is-not-stacked-on-mobile){flex-wrap:wrap !important;}
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column{flex-basis:100% !important;}
  .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column.col-img{order:0;}
  .wp-block-group.is-style-kpn-sand-card,
  .wp-block-group.is-style-kpn-teal-band{margin:0 16px;padding:44px 28px;}
}

@media (max-width:600px){
  .kpn-audience h2{font-size:27px;}
  .wp-block-group.is-style-kpn-sand-card,
  .wp-block-group.is-style-kpn-teal-band{padding:36px 22px;border-radius:24px;}
  p.is-style-kpn-bigquote{font-size:24px;}
  .wp-block-details.is-style-kpn-module summary{padding:16px 18px;font-size:16.5px;}
  .wp-block-details.is-style-kpn-module .body{padding:0 18px 20px;}
  .wp-block-image.hero-photo img,
  .wp-block-image.kpn-img-80 img{width:100%;}
}

/* --- Pied de page modifiable (zones de blocs) --- */
footer .wp-block-heading{font-family:'Jost',sans-serif;color:#fff;font-size:13px;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 18px;font-weight:500;}
footer .wp-block-list{list-style:none;padding:0;margin:0;display:grid;gap:10px;}
footer .wp-block-list li{font-size:13.5px;}
footer .wp-block-group{margin:0;}
footer .wp-block-image{margin:0 0 12px;}
footer .wp-block-image img{max-width:170px;}
footer .wp-block-buttons{margin-top:14px;}
footer p:last-child{margin-bottom:0;}
