/* =========================================================================
   CADOM — Design system (jetons de marque)
   ========================================================================= */

:root{
  /* Couleurs — Palette HEALTH.
     Chaque jeton est branché sur la variable de « preset » générée par theme.json.
     Modifier une couleur dans Éditeur > Styles globaux (ou Personnalisateur > CADOM
     > Couleurs) se répercute automatiquement ici, donc sur TOUS les effets.
     La valeur après la virgule est la valeur de repli (si theme.json absent). */
  --cadom-ink:var(--wp--preset--color--ink,#0B5E7F);         /* bleu clinique profond — couleur principale */
  --cadom-ink-2:var(--wp--preset--color--ink-2,#1B7BA0);     /* bleu ciel médical — liens, titres */
  --cadom-coral:var(--wp--preset--color--coral,#FF8A65);     /* corail — accent humain ponctuel */
  --cadom-coral-2:var(--wp--preset--color--coral-2,#FF6F47); /* corail saturé */
  --cadom-euca:var(--wp--preset--color--euca,#2BA88A);       /* eucalyptus — CTA, éléments clés */
  --cadom-euca-2:var(--wp--preset--color--euca-2,#1F8D72);   /* eucalyptus foncé (hover) */
  --cadom-sage:var(--wp--preset--color--sage,#BFE3D9);       /* menthe pâle */
  --cadom-sage-2:var(--wp--preset--color--sage-2,#DCF1EB);   /* mousse claire */
  --cadom-cream:var(--wp--preset--color--cream,#F6FBFB);     /* azur très pâle — fond principal */
  --cadom-cream-2:var(--wp--preset--color--cream-2,#EAF4F5); /* azur pâle */
  --cadom-paper:var(--wp--preset--color--paper,#FFFFFF);
  --cadom-carbon:var(--wp--preset--color--carbon,#0E2A36);   /* texte sombre froid */
  --cadom-rule:var(--wp--preset--color--rule,#DCE8EC);       /* filets, bordures */
  --cadom-muted:var(--wp--preset--color--muted,#6B8895);     /* texte secondaire */

  /* Typographie — branchée sur theme.json (Styles globaux > Typographie). */
  --cadom-serif:var(--wp--preset--font-family--serif,'Newsreader','Source Serif Pro',Georgia,'Times New Roman',serif);
  --cadom-sans:var(--wp--preset--font-family--sans,'Inter Tight','Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif);
  --cadom-mono:var(--wp--preset--font-family--mono,'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace);

  /* Rayons & ombres */
  --cadom-r-sm:6px;
  --cadom-r-md:12px;
  --cadom-r-lg:18px;
  --cadom-r-pill:999px;
  --cadom-shadow-sm:0 2px 8px rgba(11,94,127,.06);
  --cadom-shadow:0 14px 40px -18px rgba(11,94,127,.28);
  --cadom-shadow-lg:0 30px 70px -28px rgba(11,94,127,.40);

  /* Mise en page */
  --cadom-maxw:1180px;
  --cadom-gutter:clamp(20px,5vw,72px);
  --cadom-header-h:84px;
  --cadom-ease:cubic-bezier(.22,.61,.36,1);
}

/* =========================================================================
   Base
   ========================================================================= */

p{margin:0 0 1.1em;}

.cadom-eyebrow{
  display:inline-block;font-family:var(--cadom-sans);font-weight:600;
  font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--cadom-coral-2);margin:0 0 18px;
}
.cadom-lead{font-size:clamp(1.05rem,1.6vw,1.28rem);line-height:1.6;color:var(--cadom-ink-2);}
em,.cadom-em{font-style:italic;}
.cadom-accent{color:var(--cadom-euca);}
.cadom-accent-coral{color:var(--cadom-coral-2);}

/* Conteneur */
.cadom-container{max-width:var(--cadom-maxw);margin-inline:auto;padding-inline:var(--cadom-gutter);}
.cadom-section{padding-block:clamp(56px,8vw,112px);}
.cadom-section--tight{padding-block:clamp(40px,5vw,64px);}
.cadom-section--sage{background:var(--cadom-sage-2);}
.cadom-section--cream2{background:var(--cadom-cream-2);}
.cadom-section--ink{background:var(--cadom-ink);color:var(--cadom-cream);}
.cadom-section--ink h1,.cadom-section--ink h2,.cadom-section--ink h3{color:var(--cadom-cream);}

/* =========================================================================
   Boutons
   ========================================================================= */

.cadom-btn,
button.cadom-btn{
  display:inline-flex;align-items:center;gap:.5em;
  font-family:var(--cadom-sans);font-weight:600;font-size:.98rem;
  padding:.78em 1.6em;border-radius:var(--cadom-r-pill);
  border:2px solid transparent;cursor:pointer;text-decoration:none;
  transition:transform .18s var(--cadom-ease),box-shadow .25s var(--cadom-ease),background .2s var(--cadom-ease),color .2s var(--cadom-ease);
  line-height:1.1;
}
.cadom-btn--primary{background:var(--cadom-ink);color:var(--cadom-cream);}
.cadom-btn--primary:hover{background:#0a5070;color:#fff;transform:translateY(-2px);box-shadow:var(--cadom-shadow);}
.cadom-btn--cta{background:var(--cadom-euca);color:#fff;}
.cadom-btn--cta:hover{background:var(--cadom-euca-2);color:#fff;transform:translateY(-2px);box-shadow:0 16px 36px -14px rgba(43,168,138,.55);}
.cadom-btn--ghost{background:transparent;color:var(--cadom-ink);border-color:var(--cadom-ink);}
.cadom-btn--ghost:hover{background:var(--cadom-ink);color:var(--cadom-cream);transform:translateY(-2px);}
.cadom-btn--light{background:var(--cadom-cream);color:var(--cadom-ink);}
.cadom-btn--light:hover{background:#fff;transform:translateY(-2px);box-shadow:var(--cadom-shadow);}
.cadom-btn--ghost-light{background:transparent;color:var(--cadom-cream);border-color:rgba(246,251,251,.55);}
.cadom-btn--ghost-light:hover{background:rgba(246,251,251,.12);border-color:var(--cadom-cream);}
.cadom-btn svg{width:1.05em;height:1.05em;}

/* =========================================================================
   Hero
   ========================================================================= */

.cadom-hero{position:relative;overflow:hidden;background:var(--cadom-ink);color:var(--cadom-cream);}
.cadom-hero__inner{
  max-width:var(--cadom-maxw);margin-inline:auto;padding-inline:var(--cadom-gutter);
  padding-top:calc(var(--cadom-header-h) + clamp(40px,7vw,80px));
  padding-bottom:clamp(56px,9vw,120px);
  display:grid;grid-template-columns:1.05fr .95fr;gap:48px;align-items:center;
}
.cadom-hero .cadom-eyebrow{color:var(--cadom-coral);}
.cadom-hero__title{font-family:var(--cadom-serif);font-weight:400;color:var(--cadom-cream);font-size:clamp(2.6rem,6vw,4.6rem);line-height:.98;letter-spacing:-.035em;margin:0 0 24px;}
.cadom-hero__title em{font-style:italic;font-weight:300;color:var(--cadom-sage);}
.cadom-hero__text{font-size:clamp(1.05rem,1.7vw,1.3rem);line-height:1.6;color:#cfe7ee;max-width:34ch;margin:0 0 32px;}
.cadom-hero__actions{display:flex;flex-wrap:wrap;gap:14px;}
.cadom-hero__visual{display:flex;justify-content:center;align-items:center;}

/* Anneau décoratif du hero */
.cadom-rings{position:relative;width:min(420px,80vw);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 50% 40%,#0d6a90,#084c68);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05),var(--cadom-shadow-lg);}
.cadom-rings::before,.cadom-rings::after{content:"";position:absolute;border-radius:50%;border:1px dashed rgba(255,255,255,.18);}
.cadom-rings::before{inset:30px;}
.cadom-rings::after{inset:64px;border-color:rgba(255,255,255,.12);}
.cadom-rings__mark{width:46%;height:46%;position:relative;z-index:2;}
.cadom-rings__caption{position:absolute;bottom:34px;left:0;right:0;text-align:center;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--cadom-sage-2);}
.cadom-hero__scroll{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);color:rgba(255,255,255,.6);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;display:flex;flex-direction:column;align-items:center;gap:6px;}
.cadom-hero__scroll i{width:1px;height:26px;background:rgba(255,255,255,.4);animation:cadom-scroll 1.8s var(--cadom-ease) infinite;}
@keyframes cadom-scroll{0%{transform:scaleY(.2);transform-origin:top;opacity:.3}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.2);transform-origin:bottom;opacity:.3}}

/* Vague de séparation */
.cadom-wave{display:block;width:100%;height:auto;color:var(--cadom-ink);margin-bottom:-6px;}

/* =========================================================================
   Piliers / cartes
   ========================================================================= */

.cadom-grid{display:grid;gap:28px;}
.cadom-grid--3{grid-template-columns:repeat(3,1fr);}
.cadom-grid--2{grid-template-columns:repeat(2,1fr);}
.cadom-grid--4{grid-template-columns:repeat(4,1fr);}

.cadom-pillar{border-top:2px solid var(--cadom-ink);padding-top:20px;}
.cadom-pillar__num{font-family:var(--cadom-serif);font-size:.95rem;font-weight:500;color:var(--cadom-coral-2);margin-bottom:12px;}
.cadom-pillar__title{font-family:var(--cadom-serif);font-size:1.5rem;color:var(--cadom-ink);margin:0 0 10px;}
.cadom-pillar__text{font-size:.98rem;line-height:1.6;color:var(--cadom-ink-2);margin:0;}

.cadom-card{
  background:var(--cadom-paper);border:1px solid var(--cadom-rule);border-radius:var(--cadom-r-lg);
  padding:30px;box-shadow:var(--cadom-shadow-sm);
  transition:transform .25s var(--cadom-ease),box-shadow .25s var(--cadom-ease),border-color .25s var(--cadom-ease);
}
.cadom-card:hover{transform:translateY(-4px);box-shadow:var(--cadom-shadow);border-color:var(--cadom-sage);}
.cadom-card__icon{width:54px;height:54px;border-radius:var(--cadom-r-md);background:var(--cadom-sage-2);display:flex;align-items:center;justify-content:center;color:var(--cadom-euca);margin-bottom:18px;}
.cadom-card__icon svg{width:28px;height:28px;}
.cadom-card h3{margin:.1em 0 .4em;}
.cadom-card p{font-size:.97rem;color:var(--cadom-ink-2);margin:0;}
.cadom-card__list{list-style:none;margin:14px 0 0;padding:0;}
.cadom-card__list li{position:relative;padding-left:24px;margin-bottom:8px;font-size:.95rem;color:var(--cadom-carbon);}
.cadom-card__list li::before{content:"";position:absolute;left:0;top:8px;width:9px;height:9px;border-radius:50%;background:var(--cadom-euca);box-shadow:0 0 0 4px rgba(43,168,138,.14);}

/* =========================================================================
   Compteurs / chiffres clés
   ========================================================================= */

.cadom-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.cadom-stat{text-align:center;padding:8px;}
.cadom-stat__num{font-family:var(--cadom-serif);font-size:clamp(2.4rem,5vw,3.4rem);font-weight:500;color:var(--cadom-cream);line-height:1;letter-spacing:-.03em;}
.cadom-section--ink .cadom-stat__num{color:#fff;}
.cadom-stat__num .cadom-stat__suffix{color:var(--cadom-coral);}
.cadom-stat__label{font-size:.85rem;letter-spacing:.04em;color:var(--cadom-sage-2);margin-top:8px;}

/* =========================================================================
   CTA bandeau
   ========================================================================= */

.cadom-cta{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--cadom-ink),var(--cadom-ink-2));color:var(--cadom-cream);border-radius:var(--cadom-r-lg);padding:clamp(36px,6vw,68px);text-align:center;box-shadow:var(--cadom-shadow);}
.cadom-cta::before{content:"";position:absolute;width:320px;height:320px;border-radius:50%;border:1px dashed rgba(255,255,255,.16);top:-120px;right:-80px;}
.cadom-cta h2{color:var(--cadom-cream);margin:0 0 14px;position:relative;}
.cadom-cta p{color:#d4ebf1;max-width:56ch;margin:0 auto 28px;position:relative;}
.cadom-cta__actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;}

/* =========================================================================
   Section "split" texte + média
   ========================================================================= */

.cadom-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,6vw,72px);align-items:center;}
.cadom-split--reverse .cadom-split__media{order:-1;}
.cadom-split__media{border-radius:var(--cadom-r-lg);overflow:hidden;background:var(--cadom-sage-2);min-height:320px;display:flex;align-items:center;justify-content:center;box-shadow:var(--cadom-shadow);}
.cadom-split__media img{width:100%;height:100%;object-fit:cover;display:block;}
.cadom-checklist{list-style:none;margin:20px 0 0;padding:0;}
.cadom-checklist li{position:relative;padding-left:34px;margin-bottom:14px;font-size:1rem;color:var(--cadom-carbon);}
.cadom-checklist li::before{content:"";position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--cadom-euca);}
.cadom-checklist li::after{content:"";position:absolute;left:7px;top:7px;width:8px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg);}

/* =========================================================================
   Timeline (valeurs / démarche)
   ========================================================================= */

.cadom-timeline{position:relative;margin-left:8px;padding-left:32px;border-left:2px solid var(--cadom-rule);}
.cadom-timeline__item{position:relative;padding-bottom:34px;}
.cadom-timeline__item::before{content:"";position:absolute;left:-41px;top:2px;width:18px;height:18px;border-radius:50%;background:var(--cadom-paper);border:3px solid var(--cadom-euca);}
.cadom-timeline__item h3{margin:0 0 6px;}
.cadom-timeline__item p{margin:0;color:var(--cadom-ink-2);}

/* =========================================================================
   Blog / Actualités (mise en page avancée recodée)
   ========================================================================= */

.cadom-blog{max-width:var(--cadom-maxw);margin-inline:auto;padding-inline:var(--cadom-gutter);}
.cadom-posts{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.cadom-post-card{display:flex;flex-direction:column;background:var(--cadom-paper);border:1px solid var(--cadom-rule);border-radius:var(--cadom-r-lg);overflow:hidden;box-shadow:var(--cadom-shadow-sm);transition:transform .25s var(--cadom-ease),box-shadow .25s var(--cadom-ease);}
.cadom-post-card:hover{transform:translateY(-5px);box-shadow:var(--cadom-shadow);}
.cadom-post-card__thumb{aspect-ratio:16/10;overflow:hidden;background:linear-gradient(135deg,var(--cadom-sage),var(--cadom-cream-2));position:relative;}
.cadom-post-card__thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--cadom-ease);}
.cadom-post-card:hover .cadom-post-card__thumb img{transform:scale(1.05);}
.cadom-post-card__thumb--placeholder{display:flex;align-items:center;justify-content:center;}
.cadom-post-card__thumb--placeholder svg{width:64px;height:64px;opacity:.4;color:var(--cadom-ink);}
.cadom-post-card__body{padding:24px 24px 26px;display:flex;flex-direction:column;flex:1;}
.cadom-post-card__cat{align-self:flex-start;font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--cadom-euca);background:var(--cadom-sage-2);padding:5px 12px;border-radius:var(--cadom-r-pill);margin-bottom:14px;}
.cadom-post-card__title{font-family:var(--cadom-serif);font-size:1.32rem;line-height:1.2;margin:0 0 10px;}
.cadom-post-card__title a{color:var(--cadom-ink);text-decoration:none;}
.cadom-post-card__title a:hover{color:var(--cadom-euca);}
.cadom-post-card__excerpt{font-size:.95rem;color:var(--cadom-ink-2);margin:0 0 18px;}
.cadom-post-card__meta{margin-top:auto;display:flex;align-items:center;gap:10px;font-size:.82rem;color:var(--cadom-muted);}
.cadom-post-card__more{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:var(--cadom-euca);text-decoration:none;}
.cadom-post-card__more svg{width:16px;height:16px;transition:transform .2s var(--cadom-ease);}
.cadom-post-card__more:hover svg{transform:translateX(4px);}

/* Article en vedette */
.cadom-post-card--featured{grid-column:1 / -1;flex-direction:row;}
.cadom-post-card--featured .cadom-post-card__thumb{flex:1 1 52%;aspect-ratio:auto;}
.cadom-post-card--featured .cadom-post-card__body{flex:1 1 48%;justify-content:center;padding:clamp(28px,4vw,52px);}
.cadom-post-card--featured .cadom-post-card__title{font-size:clamp(1.6rem,2.6vw,2.2rem);}

/* Article seul */
.cadom-single{max-width:760px;margin-inline:auto;padding-inline:var(--cadom-gutter);}
.cadom-single__header{text-align:center;padding-top:clamp(40px,7vw,90px);padding-bottom:30px;}
.cadom-single__title{font-size:clamp(2rem,4vw,3rem);margin:.2em 0;}
.cadom-single__meta{color:var(--cadom-muted);font-size:.9rem;}
.cadom-single .entry-content{font-size:1.08rem;line-height:1.75;}
.cadom-single .entry-content h2{margin-top:1.6em;}
.cadom-single .entry-content blockquote{border-left:4px solid var(--cadom-euca);background:var(--cadom-sage-2);margin:1.6em 0;padding:18px 26px;border-radius:0 var(--cadom-r-md) var(--cadom-r-md) 0;font-family:var(--cadom-serif);font-size:1.2rem;color:var(--cadom-ink);}
.cadom-single .entry-content img{border-radius:var(--cadom-r-md);}

/* Pagination */
.cadom-pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;}
.cadom-pagination a,.cadom-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;border-radius:var(--cadom-r-sm);border:1px solid var(--cadom-rule);background:var(--cadom-paper);color:var(--cadom-ink);text-decoration:none;font-weight:600;}
.cadom-pagination .current{background:var(--cadom-ink);color:var(--cadom-cream);border-color:var(--cadom-ink);}
.cadom-pagination a:hover{background:var(--cadom-sage-2);}

/* =========================================================================
   Page generic / contenu éditeur
   ========================================================================= */

.cadom-content{max-width:820px;margin-inline:auto;padding:clamp(40px,6vw,72px) var(--cadom-gutter);}
.cadom-content h2{margin-top:1.5em;}
.cadom-content ul{padding-left:1.1em;}
.cadom-content li{margin-bottom:.5em;}

/* =========================================================================
   Formulaires / Contact
   ========================================================================= */

.cadom-form{display:grid;gap:18px;}
.cadom-form label{font-weight:600;font-size:.92rem;color:var(--cadom-ink);display:block;margin-bottom:6px;}
.cadom-form input,.cadom-form textarea,.cadom-form select,
input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select{
  width:100%;font-family:var(--cadom-sans);font-size:1rem;color:var(--cadom-carbon);
  padding:13px 16px;border:1px solid var(--cadom-rule);border-radius:var(--cadom-r-md);
  background:var(--cadom-paper);transition:border-color .2s var(--cadom-ease),box-shadow .2s var(--cadom-ease);
}
.cadom-form input:focus,.cadom-form textarea:focus,
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--cadom-euca);box-shadow:0 0 0 4px rgba(43,168,138,.14);}
.cadom-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.cadom-contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:clamp(32px,5vw,60px);}
.cadom-contact-info{list-style:none;margin:0;padding:0;}
.cadom-contact-info li{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start;}
.cadom-contact-info .cadom-card__icon{width:46px;height:46px;flex:0 0 auto;margin:0;}
.cadom-contact-info strong{display:block;color:var(--cadom-ink);font-size:.95rem;}
.cadom-contact-info span{color:var(--cadom-ink-2);font-size:.95rem;}
.cadom-notice{padding:14px 18px;border-radius:var(--cadom-r-md);margin-bottom:18px;font-weight:500;}
.cadom-notice--ok{background:var(--cadom-sage-2);color:var(--cadom-euca-2);border:1px solid var(--cadom-sage);}
.cadom-notice--err{background:#fdece7;color:#c0432a;border:1px solid #f6c5b6;}

/* Tarifs adhésion */
.cadom-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.cadom-tier{background:var(--cadom-paper);border:1px solid var(--cadom-rule);border-radius:var(--cadom-r-lg);padding:32px 28px;display:flex;flex-direction:column;box-shadow:var(--cadom-shadow-sm);}
.cadom-tier--featured{border-color:var(--cadom-euca);box-shadow:0 20px 50px -22px rgba(43,168,138,.5);position:relative;}
.cadom-tier--featured::before{content:"Recommandé";position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--cadom-euca);color:#fff;font-size:.7rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:5px 14px;border-radius:var(--cadom-r-pill);}
.cadom-tier__name{font-family:var(--cadom-serif);font-size:1.4rem;color:var(--cadom-ink);margin:0 0 6px;}
.cadom-tier__price{font-family:var(--cadom-serif);font-size:2.6rem;color:var(--cadom-ink);line-height:1;margin:10px 0;}
.cadom-tier__price small{font-family:var(--cadom-sans);font-size:.9rem;color:var(--cadom-muted);font-weight:500;}
.cadom-tier ul{list-style:none;margin:18px 0 26px;padding:0;}
.cadom-tier li{position:relative;padding-left:26px;margin-bottom:10px;font-size:.95rem;color:var(--cadom-carbon);}
.cadom-tier li::before{content:"";position:absolute;left:0;top:7px;width:14px;height:14px;border-radius:50%;background:var(--cadom-sage-2);}
.cadom-tier li::after{content:"";position:absolute;left:4px;top:10px;width:6px;height:3px;border-left:2px solid var(--cadom-euca);border-bottom:2px solid var(--cadom-euca);transform:rotate(-45deg);}
.cadom-tier .cadom-btn{margin-top:auto;justify-content:center;}
@media (max-width:880px){.cadom-tiers{grid-template-columns:1fr;}}

/* =========================================================================
   Accessibilité
   ========================================================================= */

:focus-visible{outline:3px solid var(--cadom-euca);outline-offset:2px;border-radius:2px;}

/* =========================================================================
   Responsive
   ========================================================================= */

@media (max-width:1024px){
  .cadom-grid--4{grid-template-columns:repeat(2,1fr);}
  .cadom-stats{grid-template-columns:repeat(2,1fr);gap:32px;}
  .cadom-posts{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:880px){
  .cadom-hero__inner{grid-template-columns:1fr;gap:36px;text-align:left;}
  .cadom-hero__visual{order:-1;}
  .cadom-rings{width:min(300px,70vw);}
  .cadom-split,.cadom-contact-grid{grid-template-columns:1fr;}
  .cadom-split--reverse .cadom-split__media{order:0;}
  .cadom-grid--3,.cadom-grid--2{grid-template-columns:1fr;}
  .cadom-post-card--featured{flex-direction:column;}
  .cadom-footer__top{grid-template-columns:1fr 1fr;}
}
@media (max-width:560px){
  body{font-size:16px;}
  .cadom-posts{grid-template-columns:1fr;}
  .cadom-stats{grid-template-columns:1fr 1fr;}
  .cadom-footer__top{grid-template-columns:1fr;}
  .cadom-form-row{grid-template-columns:1fr;}
}

/* =========================================================================
   Styles de blocs Gutenberg natifs
   ========================================================================= */

.wp-block-button.is-style-cta .wp-block-button__link{background:var(--cadom-euca);color:#fff;border-radius:var(--cadom-r-pill);}
.wp-block-button.is-style-cta .wp-block-button__link:hover{background:var(--cadom-euca-2);}
.wp-block-quote.is-style-cadom{border-left:4px solid var(--cadom-euca);background:var(--cadom-sage-2);padding:18px 26px;border-radius:0 var(--cadom-r-md) var(--cadom-r-md) 0;font-family:var(--cadom-serif);color:var(--cadom-ink);}
.wp-block-group.is-style-cadom-card{background:var(--cadom-paper);border:1px solid var(--cadom-rule);border-radius:var(--cadom-r-lg);padding:30px;box-shadow:var(--cadom-shadow-sm);}
.wp-block-group.is-style-cadom-card:hover{box-shadow:var(--cadom-shadow);}

/* Largeur des blocs alignés */
.cadom-content .alignwide{width:min(1080px,92vw);margin-inline:auto;}
.cadom-content .alignfull{width:100vw;margin-left:calc(50% - 50vw);}

.ast-plain-container.ast-no-sidebar #primary,.ast-page-builder-template #primary{padding:0;}
.ast-separate-container .ast-article-post{background:transparent;box-shadow:none;}

/* =========================================================================
   Compositions (patterns) en blocs natifs — ajustements
   Permettent au contenu construit dans l'éditeur de blocs de garder
   exactement le rendu du thème.
   ========================================================================= */

/* Contenu pleine largeur (gabarit « Pleine largeur ») : pas de cadre Astra. */
.cadom-site,
.cadom-main{max-width:none;width:100%;}
.cadom-main>.cadom-section:first-child,
.cadom-main>.cadom-hero:first-child{margin-top:0;}

/* Groupes de blocs : neutraliser les marges automatiques entre sections. */
.cadom-main>.wp-block-group{margin-block:0;}

/* Héros de page intérieure (une seule colonne). */
.cadom-hero__inner--single{grid-template-columns:1fr;}
.cadom-hero--page .cadom-hero__inner{padding-bottom:clamp(40px,6vw,72px);}
.cadom-hero__content>*:last-child{margin-bottom:0;}

/* Boutons natifs (core/button) dans les sections foncées : variante claire. */
.cadom-hero .wp-block-button__link,
.cadom-cta .wp-block-button__link{background:var(--cadom-cream);color:var(--cadom-ink);border-color:transparent;}
.cadom-hero .wp-block-button__link:hover,
.cadom-cta .wp-block-button__link:hover{background:#fff;color:var(--cadom-ink);transform:translateY(-2px);box-shadow:var(--cadom-shadow);}
.cadom-hero .wp-block-button.is-style-outline .wp-block-button__link,
.cadom-cta .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;color:var(--cadom-cream);border-color:rgba(246,251,251,.55);}
.cadom-hero .wp-block-button.is-style-outline .wp-block-button__link:hover,
.cadom-cta .wp-block-button.is-style-outline .wp-block-button__link:hover{background:rgba(246,251,251,.12);border-color:var(--cadom-cream);color:#fff;}

/* Compteurs : le nombre est désormais un titre (h2/h3) éditable. */
.cadom-stat .cadom-stat__num{margin:0;}
.cadom-stat .cadom-stat__label{margin-top:8px;margin-bottom:0;}

/* Cartes / piliers en blocs : titres et paragraphes au bon format. */
.cadom-card>.wp-block-heading{margin:.1em 0 .4em;}
.cadom-card>p:last-child{margin-bottom:0;}
.cadom-card__icon{margin-bottom:18px;}

/* Tarifs (tiers) en blocs. */
.cadom-tier>.cadom-tier__name{margin:0 0 6px;}
.cadom-tier .wp-block-buttons{margin-top:auto;}
.cadom-tier .wp-block-button{width:100%;}
.cadom-tier .wp-block-button__link{width:100%;justify-content:center;}

/* Coordonnées (contact) en blocs. */
.cadom-contact-form .wp-block-group,
.cadom-contact-side .wp-block-group{margin:0;}

/* Listes natives gardant le style « checklist ». */
ul.cadom-checklist{list-style:none;}

/* Timeline en blocs. */
.cadom-timeline__item>.wp-block-heading{margin:0 0 6px;}
.cadom-timeline__item>p:last-child{margin-bottom:0;}

/* Héros pleine largeur des gabarits blog (index/single) : ces gabarits sortent
   leur markup directement dans #primary, hors de .entry-content, donc la règle
   alignfull d'Astra ne s'y applique pas. Même calcul que celui d'Astra. */
#primary > .cadom-hero,
#primary > .cadom-hero-wave{width:100vw;margin-left:calc(50% - 50vw);}

/* Boutons « outline » sur fonds foncés.
   Sans cette règle, le <a> du bouton hérite de la couleur de lien globale
   d'Astra (Personnaliser > Global > Couleurs) et devient illisible sur le
   héros et le bandeau CTA. Le !important reproduit à l'identique la règle
   de la v1, qui gagnait la cascade en production.
   Devient inutile une fois les pages migrées : les compositions v2 portent
   la couleur du texte en attribut de bloc ("textColor"), réglable à la souris. */
.cadom-hero .wp-block-button.is-style-outline > .wp-block-button__link,
.cadom-cta .wp-block-button.is-style-outline > .wp-block-button__link{color:var(--cadom-cream)!important;border-color:rgba(246,251,251,.55)!important;background:transparent!important;}
.cadom-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.cadom-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover{background:rgba(246,251,251,.12)!important;border-color:var(--cadom-cream)!important;}

/* =========================================================================
   Corrections du contenu construit avec la v1 (mesurées sur le site).
   Ces règles disparaissent avec ce fichier une fois les pages migrées vers
   les compositions v2, qui n'en ont pas besoin.
   ========================================================================= */

/* 1. Alignement des colonnes.
   Gutenberg applique une marge d'empilement vertical (margin-block-start)
   à tous les blocs sauf le premier, y compris quand le conteneur est une
   grille CSS : la 2e et la 3e case démarraient 24px plus bas et étaient
   comprimées d'autant. Mesuré : cartes à 507/483/483px au lieu de 3x507. */
.cadom-grid > *,
.cadom-stats > *,
.cadom-tiers > *,
.cadom-posts > *{margin-block-start:0;margin-block-end:0;}

/* 2. Vague de séparation.
   Le conteneur .cadom-wavewrap est bien pleine largeur (1440px), mais la
   vague qu'il contient restait à 1344px décalée de 41px. Même calcul que
   celui utilisé par Astra pour les blocs alignfull. */
.cadom-wavewrap .cadom-hero-wave,
.entry-content > .cadom-hero-wave{width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);}

/* 3. Marges internes du conteneur de vague.
   Astra applique à tout groupe enfant direct du contenu :
     .entry-content > .wp-block-group{padding:var(--wp--custom--ast-default-block-*-padding)}
   soit 48px sur les quatre côtés (mesuré). Pour un dessin de 70px de haut,
   cela produisait une bande claire de 48px entre le héros et la vague, et
   surtout une vague large de 1344px seulement, rentrée de 48px de chaque
   côté alors que son conteneur fait bien 1440px (mesuré le 2026-09-06 sur
   /l-association/). On remet les quatre côtés à zéro. Le !important est
   nécessaire : la même règle sans lui ne l'emporte pas (testé). */
.entry-content .cadom-wavewrap,
#primary > .cadom-wavewrap{padding:0!important;}

/* 4. Cartes d'articles du blog.
   Filet de sécurité : si une mise en page « encadrée » d'Astra s'applique
   malgré tout aux <article>, elle leur impose une largeur (mesurée à 108px
   au lieu de 325px). On rend la largeur à la grille. */
.cadom-posts > article{width:100%;max-width:none;min-width:0;}
