/*
Theme Name: CADOM — Numérique solidaire
Theme URI: https://cadom.fr
Description: Thème enfant Astra pour l'association CADOM (numérique solidaire en ESMS, Île-de-France). 100% gratuit et autonome : en-tête transparent/sticky, méga-menu, sections hero & CTA, compteurs, mises en page blog avancées et options de personnalisation recodées nativement — aucune licence Pro requise. Identité de marque « Health » : bleu clinique, eucalyptus, corail, typographies Newsreader & Inter Tight.
Author: CADOM
Author URI: https://cadom.fr
Template: astra
Version: 1.7.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cadom-child
Tags: association, non-profit, health, custom-header, sticky-header, mega-menu, full-width-template, blog, custom-colors, editor-style, accessibility-ready
*/

/* =========================================================================
   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
   ========================================================================= */
body,
.ast-container,
#page{
  font-family:var(--cadom-sans);
  color:var(--cadom-carbon);
  background:var(--cadom-cream);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
body{font-size:17px;line-height:1.65;}

h1,h2,h3,h4,.cadom-serif,
.entry-title,.ast-archive-title,
.widget-title{
  font-family:var(--cadom-serif);
  color:var(--cadom-ink);
  font-weight:500;
  letter-spacing:-.02em;
  line-height:1.12;
}
h1{font-size:clamp(2.4rem,5vw,3.6rem);}
h2{font-size:clamp(1.9rem,3.4vw,2.6rem);}
h3{font-size:clamp(1.3rem,2vw,1.6rem);}
h4{font-size:1.15rem;}
p{margin:0 0 1.1em;}

a{color:var(--cadom-ink-2);text-decoration-color:rgba(27,123,160,.35);text-underline-offset:3px;transition:color .2s var(--cadom-ease);}
a:hover{color:var(--cadom-euca);}

.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,
.wp-block-button__link,
.cadom-content .button,
input[type=submit],
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,input[type=submit]{background:var(--cadom-ink);color:var(--cadom-cream);}
.cadom-btn--primary:hover,input[type=submit]: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;}

/* =========================================================================
   En-tête (recodé — transparent + sticky + méga-menu)
   ========================================================================= */
.cadom-header{
  position:absolute;top:0;left:0;right:0;z-index:120;
  transition:background .3s var(--cadom-ease),box-shadow .3s var(--cadom-ease),transform .35s var(--cadom-ease);
}
.cadom-header__inner{
  max-width:var(--cadom-maxw);margin-inline:auto;padding-inline:var(--cadom-gutter);
  height:var(--cadom-header-h);display:flex;align-items:center;justify-content:space-between;gap:24px;
}
/* État transparent (au-dessus d'un hero foncé) */
.cadom-header--transparent{background:transparent;}
.cadom-header--transparent .cadom-nav>li>a{color:var(--cadom-cream);}
.cadom-header--transparent .cadom-logo__word{color:var(--cadom-cream);}
.cadom-header--transparent .cadom-logo__tag{color:var(--cadom-sage);}
.cadom-header--transparent .cadom-logo__mark path,
.cadom-header--transparent .cadom-logo__mark line{stroke:var(--cadom-cream);}
.cadom-header--transparent .cadom-burger span{background:var(--cadom-cream);}

/* État collé / fond plein */
.cadom-header.is-solid,
.cadom-header--solid{
  position:fixed;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(140%) blur(10px);
  box-shadow:0 1px 0 var(--cadom-rule),0 10px 30px -22px rgba(11,94,127,.5);
}
.cadom-header.is-solid .cadom-nav>li>a,
.cadom-header--solid .cadom-nav>li>a{color:var(--cadom-carbon);}
.cadom-header.is-solid .cadom-logo__word{color:var(--cadom-ink);}
.cadom-header.is-solid .cadom-logo__tag{color:var(--cadom-muted);}
.cadom-header.is-solid .cadom-logo__mark path,
.cadom-header.is-solid .cadom-logo__mark line{stroke:var(--cadom-ink);}
.cadom-header.is-solid .cadom-burger span{background:var(--cadom-ink);}
.cadom-header.is-hidden{transform:translateY(-100%);}

/* Quand il n'y a pas de hero foncé, l'en-tête démarre en mode plein */
.cadom-has-solid-header{padding-top:var(--cadom-header-h);}

/* Logo */
.cadom-logo{display:inline-flex;align-items:center;gap:14px;text-decoration:none;}
.cadom-logo__mark{width:42px;height:42px;flex:0 0 auto;}
.cadom-logo__mark path,.cadom-logo__mark line{stroke:var(--cadom-ink);transition:stroke .3s var(--cadom-ease);}
.cadom-logo__word{font-family:var(--cadom-serif);font-size:1.85rem;font-weight:500;letter-spacing:-.03em;color:var(--cadom-ink);line-height:1;}
.cadom-logo__tag{display:block;font-size:.56rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--cadom-muted);margin-top:3px;}

/* Navigation */
.cadom-nav-wrap{display:flex;align-items:center;gap:28px;}
.cadom-nav{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:4px;}
.cadom-nav>li{position:relative;}
.cadom-nav>li>a{
  display:inline-flex;align-items:center;gap:6px;
  font-weight:500;font-size:.98rem;color:var(--cadom-carbon);
  text-decoration:none;padding:10px 14px;border-radius:var(--cadom-r-sm);
  transition:color .2s var(--cadom-ease),background .2s var(--cadom-ease);
}
.cadom-nav>li>a:hover,.cadom-nav>li.current-menu-item>a{color:var(--cadom-euca);}
.cadom-nav>li>a::after{
  content:"";position:absolute;left:14px;right:14px;bottom:4px;height:2px;
  background:var(--cadom-euca);transform:scaleX(0);transform-origin:left;
  transition:transform .25s var(--cadom-ease);border-radius:2px;
}
.cadom-nav>li:hover>a::after,.cadom-nav>li.current-menu-item>a::after{transform:scaleX(1);}
.cadom-nav .menu-item-has-children>a::before{
  content:"";width:6px;height:6px;margin-left:4px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);opacity:.6;
}

/* Sous-menus / méga-menu */
.cadom-nav .sub-menu{
  position:absolute;top:calc(100% + 10px);left:0;min-width:240px;
  background:var(--cadom-paper);border:1px solid var(--cadom-rule);border-radius:var(--cadom-r-md);
  box-shadow:var(--cadom-shadow);padding:10px;margin:0;list-style:none;
  opacity:0;visibility:hidden;transform:translateY(10px);
  transition:opacity .22s var(--cadom-ease),transform .22s var(--cadom-ease),visibility .22s;
  z-index:50;
}
.cadom-nav li:hover>.sub-menu,
.cadom-nav li:focus-within>.sub-menu{opacity:1;visibility:visible;transform:translateY(0);}
.cadom-nav .sub-menu a{
  display:block;padding:10px 14px;border-radius:var(--cadom-r-sm);
  color:var(--cadom-carbon);text-decoration:none;font-size:.95rem;
}
.cadom-nav .sub-menu a:hover{background:var(--cadom-sage-2);color:var(--cadom-ink);}
/* Méga-menu (ajouter la classe cadom-mega à l'élément de menu) */
.cadom-nav .cadom-mega>.sub-menu{
  left:50%;transform:translate(-50%,10px);width:min(720px,90vw);
  display:grid;grid-template-columns:repeat(2,1fr);gap:6px;padding:18px;
}
.cadom-nav .cadom-mega:hover>.sub-menu{transform:translate(-50%,0);}
.cadom-nav .cadom-mega>.sub-menu a{padding:14px;}
.cadom-nav .cadom-mega>.sub-menu a strong{display:block;color:var(--cadom-ink);font-family:var(--cadom-serif);font-size:1.05rem;}

/* Bouton don dans l'en-tête */
.cadom-header__cta{flex:0 0 auto;}

/* Burger mobile */
.cadom-burger{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;background:none;border:0;cursor:pointer;border-radius:var(--cadom-r-sm);}
.cadom-burger span{display:block;width:24px;height:2px;background:var(--cadom-ink);border-radius:2px;transition:transform .3s var(--cadom-ease),opacity .2s;}
.cadom-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.cadom-burger.is-open span:nth-child(2){opacity:0;}
.cadom-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* =========================================================================
   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-page-hero{background:var(--cadom-cream-2);border-bottom:1px solid var(--cadom-rule);}
.cadom-page-hero__inner{max-width:var(--cadom-maxw);margin-inline:auto;padding-inline:var(--cadom-gutter);padding-top:clamp(34px,5vw,60px);padding-bottom:clamp(30px,5vw,56px);}
.cadom-page-hero__title{margin:0 0 10px;}
.cadom-breadcrumb{font-size:.84rem;color:var(--cadom-muted);}
.cadom-breadcrumb a{color:var(--cadom-muted);}
.cadom-breadcrumb a:hover{color:var(--cadom-euca);}
.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;}}

/* =========================================================================
   Footer (recodé)
   ========================================================================= */
.cadom-footer{background:var(--cadom-ink);color:#cfe3ea;}
.cadom-footer a{color:#cfe3ea;text-decoration:none;}
.cadom-footer a:hover{color:#fff;}
.cadom-footer__top{max-width:var(--cadom-maxw);margin-inline:auto;padding:clamp(48px,7vw,80px) var(--cadom-gutter) 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;}
.cadom-footer__brand .cadom-logo__word{color:var(--cadom-cream);}
.cadom-footer__brand p{color:#a9cdd8;font-size:.95rem;margin-top:16px;max-width:32ch;}
.cadom-footer h4{color:var(--cadom-cream);font-family:var(--cadom-sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-weight:600;}
.cadom-footer ul{list-style:none;margin:0;padding:0;}
.cadom-footer ul li{margin-bottom:11px;font-size:.95rem;}
.cadom-footer__social{display:flex;gap:12px;margin-top:8px;}
.cadom-footer__social a{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;}
.cadom-footer__social a:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4);}
.cadom-footer__social svg{width:18px;height:18px;}
.cadom-footer__bottom{border-top:1px solid rgba(255,255,255,.12);}
.cadom-footer__bottom-inner{max-width:var(--cadom-maxw);margin-inline:auto;padding:22px var(--cadom-gutter);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:.85rem;color:#9ec2cf;flex-wrap:wrap;}
.cadom-footer__newsletter{display:flex;gap:8px;margin-top:8px;}
.cadom-footer__newsletter input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.18);color:#fff;}
.cadom-footer__newsletter input::placeholder{color:#9ec2cf;}

/* =========================================================================
   Scroll-to-top
   ========================================================================= */
.cadom-totop{position:fixed;right:22px;bottom:22px;width:48px;height:48px;border-radius:50%;background:var(--cadom-ink);color:#fff;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s var(--cadom-ease),transform .3s var(--cadom-ease),background .2s;z-index:130;box-shadow:var(--cadom-shadow);}
.cadom-totop.is-visible{opacity:1;visibility:visible;transform:translateY(0);}
.cadom-totop:hover{background:var(--cadom-euca);}
.cadom-totop svg{width:20px;height:20px;}

/* =========================================================================
   Animations d'apparition au scroll
   ========================================================================= */
.cadom-reveal{opacity:0;transform:translateY(26px);transition:opacity .7s var(--cadom-ease),transform .7s var(--cadom-ease);}
.cadom-reveal.is-in{opacity:1;transform:none;}
.cadom-reveal[data-delay="1"]{transition-delay:.08s;}
.cadom-reveal[data-delay="2"]{transition-delay:.16s;}
.cadom-reveal[data-delay="3"]{transition-delay:.24s;}
@media (prefers-reduced-motion:reduce){
  .cadom-reveal{opacity:1;transform:none;transition:none;}
  .cadom-hero__scroll i{animation:none;}
}

/* =========================================================================
   Accessibilité
   ========================================================================= */
.cadom-skip-link{position:absolute;left:-9999px;top:0;background:var(--cadom-ink);color:#fff;padding:12px 20px;z-index:200;border-radius:0 0 var(--cadom-r-sm) 0;}
.cadom-skip-link:focus{left:0;}
:focus-visible{outline:3px solid var(--cadom-euca);outline-offset:2px;border-radius:2px;}

/* =========================================================================
   Menu mobile (overlay)
   ========================================================================= */
.cadom-mobile-panel{position:fixed;inset:0 0 0 auto;width:min(380px,86vw);background:var(--cadom-paper);z-index:140;transform:translateX(100%);transition:transform .35s var(--cadom-ease);box-shadow:var(--cadom-shadow-lg);display:flex;flex-direction:column;padding:26px 24px;overflow-y:auto;}
.cadom-mobile-panel.is-open{transform:translateX(0);}
.cadom-mobile-overlay{position:fixed;inset:0;background:rgba(14,42,54,.5);opacity:0;visibility:hidden;transition:opacity .3s;z-index:135;}
.cadom-mobile-overlay.is-open{opacity:1;visibility:visible;}
.cadom-mobile-panel__head{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;}
.cadom-mobile-close{background:none;border:0;font-size:1.6rem;line-height:1;color:var(--cadom-ink);cursor:pointer;width:40px;height:40px;border-radius:var(--cadom-r-sm);}
.cadom-mobile-nav{list-style:none;margin:0;padding:0;}
.cadom-mobile-nav li{border-bottom:1px solid var(--cadom-rule);}
.cadom-mobile-nav a{display:block;padding:15px 4px;color:var(--cadom-carbon);text-decoration:none;font-size:1.08rem;font-weight:500;}
.cadom-mobile-nav a:hover{color:var(--cadom-euca);}
.cadom-mobile-nav .sub-menu{list-style:none;margin:0;padding:0 0 8px 14px;}
.cadom-mobile-nav .sub-menu a{font-size:.98rem;padding:9px 4px;color:var(--cadom-ink-2);}
.cadom-mobile-panel .cadom-btn{margin-top:24px;justify-content:center;}

/* =========================================================================
   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){
  :root{--cadom-header-h:72px;}
  .cadom-nav-wrap .cadom-nav,.cadom-header__cta{display:none;}
  .cadom-burger{display:flex;}
  .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);}

/* Astra : neutraliser quelques marges par défaut sous notre en-tête custom */
.ast-primary-header-bar,.site-header{display:none !important;}
.ast-plain-container.ast-no-sidebar #primary,.ast-page-builder-template #primary{padding:0;}
#content{background:var(--cadom-cream);}
.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;}

/* =========================================================================
   Pied de page — colonnes en zones de widgets (blocs éditables)
   ========================================================================= */
.cadom-foot-widget{margin-bottom:18px;}
.cadom-foot-widget:last-child{margin-bottom:0;}
.cadom-footer .wp-block-heading{color:var(--cadom-cream);font-family:var(--cadom-sans);font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;margin:0 0 18px;font-weight:600;}
.cadom-footer .wp-block-list,
.cadom-footer .wp-block-navigation ul,
.cadom-footer .wp-block-navigation{list-style:none;margin:0;padding:0;}
.cadom-footer .wp-block-navigation .wp-block-navigation__container{gap:11px 0;flex-direction:column;}
.cadom-footer .wp-block-navigation li,
.cadom-footer .wp-block-list li{margin-bottom:11px;font-size:.95rem;}
.cadom-footer .wp-block-navigation a{color:#cfe3ea;text-decoration:none;}
.cadom-footer .wp-block-navigation a:hover{color:#fff;}
.cadom-footer p{font-size:.95rem;}

/* =========================================================================
   Logo personnalisé (Personnaliser > Identité du site > Logo)
   ========================================================================= */
.cadom-logo__img{display:block;width:auto;height:46px;max-width:210px;object-fit:contain;}
.cadom-footer .cadom-logo__img{height:50px;max-width:230px;}
.cadom-mobile-panel .cadom-logo__img{height:40px;}

/* Le logo téléversé s'affiche tel quel (aucun filtre) : c'est l'image choisie
   dans Personnaliser > Identité du site qui fait foi, en en-tête comme en pied. */

/* Boutons « outline » sur fonds foncés : forcer le texte clair (prioritaire). */
.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;}
