/*
Theme Name: Astra Child — Intime
Theme URI: https://www.therapeutejeanmarc.com
Description: Thème enfant Astra — palette « Clair & apaisant » (intime / psy). Réversible : réactiver Astra pour revenir à l'ancien design.
Author: Web Engine
Template: astra
Version: 1.0
*/

/* ===================== PALETTE « Bleu nuit & blush » (thérapeute / apaisant) ===================== */
:root{
  --jm-bg:#F4F6F6;        /* fond lin/crème */
  --jm-surface:#FFFFFF;   /* cartes / surfaces */
  --jm-surface-2:#E9EEEE; /* surfaces alt */
  --jm-text:#22303A;      /* brun chaud (texte) */
  --jm-muted:#57676F;     /* texte secondaire */
  --jm-accent:#1D4E5A;    /* bleu pétrole / nuit */
  --jm-accent-d:#143A44;  /* bleu nuit foncé (hover) */
  --jm-accent-2:#CE8E86;  /* blush terracotta */
  --jm-gold:#C0912F;      /* doré étoiles avis */
  --jm-border:rgba(34,48,58,.14);
  /* on remappe aussi les variables globales Astra */
  --ast-global-color-0:#1D4E5A; --ast-global-color-1:#143A44;
  --ast-global-color-2:#22303A; --ast-global-color-3:#57676F;
  --ast-global-color-4:#F4F6F6; --ast-global-color-5:#FFFFFF;
  --ast-global-color-6:#22303A; --ast-global-color-7:#D5DEDE; --ast-global-color-8:#E9EEEE;
  --e-global-color-primary:#1D4E5A; --e-global-color-secondary:#CE8E86;
  --e-global-color-text:#22303A; --e-global-color-accent:#1D4E5A;
}

/* ===================== FOND + TEXTE ===================== */
html,body,body:not(.single-post){ background-color:var(--jm-bg) !important; color:var(--jm-text) !important; }
#page,#content,.site-content,.ast-container,.site-primary-header-wrap,.ast-separate-container{ background-color:transparent !important; }
p,li,td,label,figcaption,blockquote,.entry-content,.ast-blog-meta-container,.ast-blog-meta-container *{ color:var(--jm-text) !important; }
.ast-comment-meta,.entry-meta,.post-meta,.wp-block-post-date{ color:var(--jm-muted) !important; }

/* Titres */
h1,h2,h3,h4,h5,h6,.entry-title,.elementor-heading-title{ color:var(--jm-text) !important; }
h1,.entry-title,.elementor-widget-heading .elementor-heading-title{ color:var(--jm-text) !important; }
/* titre animé (animated headline) : nom en sombre, mot rotatif en terracotta */
.elementor-headline,.elementor-headline-plain-text,.elementor-headline-dynamic-wrapper,.elementor-headline .elementor-headline-plain-text{ color:var(--jm-text) !important; }
.elementor-headline-dynamic-text,.elementor-headline-dynamic-wrapper .elementor-headline-dynamic-text{ color:var(--jm-accent) !important; }

/* ===================== HARMONISATION TITRES PAGES ELEMENTOR (ton de la home : serif, pas de capitales) ===================== */
.elementor-widget-heading .elementor-heading-title{
  font-family:'Cormorant Garamond',Georgia,serif !important; text-transform:none !important;
  font-weight:600 !important; letter-spacing:.2px !important; line-height:1.16 !important; color:var(--jm-text) !important;
}
h1.elementor-heading-title{ font-size:clamp(2.4rem,5vw,3.8rem) !important; line-height:1.1 !important; }
h2.elementor-heading-title{ font-size:clamp(1.8rem,3.4vw,2.6rem) !important; }
/* titre animé (animated headline) aussi en serif mixte */
.elementor-headline,.elementor-headline-plain-text,.elementor-headline-dynamic-text{ font-family:'Cormorant Garamond',Georgia,serif !important; text-transform:none !important; }
/* fallback : éléments à animation d'entrée Elementor qui restent invisibles (JS différé) -> toujours visibles */
.elementor-invisible{ opacity:1 !important; animation:none !important; transform:none !important; }
/* anim d'entrée custom (jm-fadeInUp/Left…) figées en position décalée par le JS différé -> on force l'état final stable (corrige le chevauchement titre/texte, ex. Sonothèque) */
.elementor-widget.jm-anim,.elementor-element.jm-anim,.elementor-element.animated{ animation:none !important; transform:none !important; opacity:1 !important; }
/* qui-suis-je : texte d'intro pleine largeur -> largeur de lecture confortable (classe jm-qsj = slug, indépendant de l'ID qui diffère staging/prod) */
body.jm-qsj .elementor-widget-text-editor > .elementor-widget-container{ max-width:860px !important; margin-left:auto !important; margin-right:auto !important; }
body.jm-qsj h1.elementor-heading-title{ text-align:center !important; }

/* ===================== PAGES PILIERS : bandes miroir (.jm-zone) comme la home ===================== */
/* le contenu Astra est en colonne étroite : on laisse les bandes déborder pleine largeur */
body.jm-pillar{ overflow-x:hidden; }
body.jm-pillar #content .ast-container,body.jm-pillar #primary,body.jm-pillar .entry-content{ overflow:visible !important; }
.jm-pillar-body .jm-zone{ width:100vw; margin-left:calc(50% - 50vw); padding:84px max(20px,calc(50vw - 540px)); }
/* passe « design propre » : largeur de lecture confortable pour les paragraphes de corps (les composants grilles ne sont pas touchés) */
.jm-pillar-body .jm-zone > p:not(.jm-lead):not(.jm-cta){ max-width:720px; margin-left:auto !important; margin-right:auto !important; }
/* un seul filet par titre de bande : on garde le filet séparateur au-dessus (signature miroir), on retire le soulignement redondant */
.jm-pillar-body .jm-zone > h2:after{ display:none !important; }
.jm-zone-hero{ padding-top:38px !important; background:radial-gradient(34rem 30rem at 92% 8%, rgba(29,78,90,.09), transparent 70%),radial-gradient(30rem 28rem at 4% 96%, rgba(206,142,134,.12), transparent 72%); }
.jm-zone-light{ background:var(--jm-surface); }
.jm-zone-soft{ background:rgba(29,78,90,.05); }
.jm-zone-dark{ background:linear-gradient(158deg,var(--jm-dark-2),var(--jm-dark)); }
/* texte DIRECT des zones sombres -> clair (les cartes internes gardent leur fond clair) */
.jm-pillar-body .jm-zone-dark > h2{ color:#FFFFFF !important; }
.jm-pillar-body .jm-zone-dark > p{ color:#E9EFEF !important; }
.jm-pillar-body .jm-zone-dark > p strong{ color:#FFFFFF !important; }
.jm-zone-dark > p a{ color:#EDB8AE !important; }
.jm-zone-dark > h2:after{ background:linear-gradient(90deg,#C99A86,#E6B4AC) !important; }
/* séparateur : petit filet d'accent au-dessus de chaque H2 de zone */
.jm-pillar-body .jm-zone > h2:before{ content:""; display:block; width:52px; height:3px; border-radius:3px; margin:0 auto 1em; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }
.jm-zone-dark > h2:before{ background:linear-gradient(90deg,#C99A86,#E6B4AC); }
/* les bandes se touchent (effet miroir) */
.jm-pillar-body .jm-zone,.jm-pillar-body .jm-band,.jm-pillar-body .jm-cta-band{ margin-top:0 !important; margin-bottom:0 !important; }

/* ===================== BLOC CTA GLOBAL « Faisons connaissance » (avant le footer) ===================== */
.jm-cta-global{ width:100%; padding:90px 22px; text-align:center; position:relative;
  background:linear-gradient(rgba(14,42,50,.74),rgba(14,42,50,.84)),url('/wp-content/uploads/2019/03/spring-tree-flowers-meadow-60006-1024x651.jpeg') center/cover no-repeat; }
.jm-cta-global-inner{ max-width:640px; margin:0 auto; }
.jm-cta-global .jm-kicker{ text-transform:uppercase; letter-spacing:.22em; font-size:.78rem; font-weight:700; color:#E3A99F !important; margin:0 0 .8em; }
.jm-cta-global h2{ font-family:'Cormorant Garamond',Georgia,serif !important; color:#fff !important; font-weight:600; font-size:clamp(2rem,3.8vw,2.9rem); line-height:1.14; margin:0 0 .45em; }
.jm-cta-global p{ color:#EADCD8 !important; line-height:1.7; margin:0 0 1.4em; font-size:1.06rem; }
.jm-cta-global-btn{ display:inline-block; background:var(--jm-accent) !important; color:#fff !important; text-decoration:none !important; padding:.9em 2em; border-radius:32px; font-weight:600; box-shadow:0 12px 28px rgba(0,0,0,.28); transition:all .2s ease; }
.jm-cta-global-btn:hover{ transform:translateY(-2px); background:var(--jm-accent-d) !important; }
/* éviter le double CTA : masquer le CTA contextuel de fin des pages piliers (le bloc global le remplace) */
.jm-pillar-body > .jm-cta-band{ display:none !important; }

/* ===================== FIX FOOTER : chevauchement adresse / Horaires ===================== */
/* La colonne (adresse + Horaires + horaires) est en flex-column ; un décalage parasite fait chevaucher
   le bloc « Horaires » sur la pastille adresse. On force un empilement propre. */
.site-footer .elementor-element-8ab1c20,footer .elementor-element-8ab1c20{ gap:22px !important; justify-content:flex-start !important; }
.site-footer .elementor-element-8ab1c20 > .elementor-element,footer .elementor-element-8ab1c20 > .elementor-element{ position:static !important; top:auto !important; transform:none !important; margin:0 !important; align-self:center; }

/* Contact : bloc « Me trouver » collé depuis l'ancien footer sombre (spans en blanc en ligne) -> lisible sur fond clair */
.elementor-widget-text-editor .footer-block,.elementor-widget-text-editor .footer-block *{ color:#46545C !important; }
.elementor-widget-text-editor .footer-block strong,.elementor-widget-text-editor .footer-block strong *{ color:var(--jm-accent) !important; }

/* --- Footer : lisibilité + harmonisation --- */
.site-footer,footer.site-footer,.site-footer .elementor-section,.ast-small-footer{ background:var(--jm-surface-2) !important; }
/* pastille adresse : plus grande, plus aérée, pleinement lisible */
.site-footer .elementor-button,footer .elementor-button{ font-size:1rem !important; line-height:1.5 !important; padding:16px 30px !important; font-weight:500 !important; letter-spacing:.2px; text-transform:none !important; box-shadow:0 8px 22px rgba(20,32,40,.15) !important; }
.site-footer .elementor-button,.site-footer .elementor-button *,footer .elementor-button,footer .elementor-button *{ color:#ffffff !important; opacity:1 !important; }
/* titres footer (Horaires, Plan du site) en serif ardoise */
.site-footer .elementor-heading-title,footer .elementor-heading-title{ color:var(--jm-text) !important; }
/* textes & listes du footer : ardoise lisible (pas de gris pâle) */
.site-footer .elementor-widget-text-editor,.site-footer .elementor-widget-text-editor *,
.site-footer .elementor-icon-list-text,.site-footer .elementor-icon-list-item,footer .elementor-icon-list-text{ color:#46545C !important; font-size:.95rem; }
.site-footer .elementor-icon-list-icon svg,.site-footer .elementor-icon-list-icon i{ color:var(--jm-accent) !important; fill:var(--jm-accent) !important; }
/* liens du plan du site : ardoise -> accent au survol */
.site-footer .elementor-widget-nav-menu a,.site-footer .menu-item a,.site-footer nav a{ color:var(--jm-text) !important; font-weight:500; }
.site-footer .elementor-widget-nav-menu a:hover,.site-footer .menu-item a:hover{ color:var(--jm-accent) !important; }

/* ===================== HERO IMAGE réutilisable (.jm-phero) : image + voile pétrole + texte clair ===================== */
body.jm-hasphero .entry-header,body.jm-hasphero .ast-single-post-order{ display:none !important; }
.jm-phero{ width:100vw; margin-left:calc(50% - 50vw); position:relative; text-align:center; color:#fff;
  padding:152px 22px 112px; background-size:cover; background-position:center; overflow:hidden; }
/* voile travaillé : dégradé vertical + vignette douce (rendu photographique) */
.jm-phero:before{ content:""; position:absolute; inset:0; background:
  linear-gradient(to bottom, rgba(12,38,46,.56) 0%, rgba(12,38,46,.70) 52%, rgba(12,38,46,.86) 100%),
  radial-gradient(125% 92% at 50% 42%, transparent 52%, rgba(8,26,32,.5) 100%); }
.jm-phero > *{ position:relative; z-index:1; max-width:820px; margin-left:auto !important; margin-right:auto !important; text-align:center !important; }
.jm-phero h1,.jm-phero .jm-kicker,.jm-phero .jm-lead-hero{ text-align:center !important; }
/* kicker : filet d'accent au-dessus + typo soignée */
.jm-phero .jm-kicker{ text-transform:uppercase; letter-spacing:.28em; font-size:.76rem; font-weight:700; color:#F2D3CD !important; margin:0 0 1.1em; text-shadow:0 2px 14px rgba(0,0,0,.5); }
.jm-phero .jm-kicker:before{ content:""; display:block; width:46px; height:2px; margin:0 auto 1.1em; background:linear-gradient(90deg,transparent,#E6B4AC,transparent); }
.jm-phero h1{ font-family:'Cormorant Garamond',Georgia,serif !important; color:#fff !important; font-weight:600; font-size:clamp(2.3rem,5vw,3.8rem); line-height:1.1; margin:0; letter-spacing:.3px; text-shadow:0 3px 26px rgba(0,0,0,.42); }
.jm-phero h1:after{ content:""; display:block; width:74px; height:2px; margin:.6em auto .55em; background:linear-gradient(90deg,transparent,var(--jm-accent-2),transparent); }
.jm-phero .jm-lead-hero{ color:#EAF2F2 !important; font-size:1.16rem; line-height:1.75; margin:0 auto 1.9em; max-width:650px; text-shadow:0 2px 16px rgba(0,0,0,.45); }
.jm-phero .jm-btn-light{ display:inline-block; background:#fff; color:var(--jm-accent) !important; text-decoration:none !important; padding:.9em 2.1em; border-radius:32px; font-weight:600; letter-spacing:.2px; box-shadow:0 14px 32px rgba(0,0,0,.3); transition:all .2s ease; }
.jm-phero .jm-btn-light:hover{ transform:translateY(-2px); background:#EDF3F3; box-shadow:0 18px 40px rgba(0,0,0,.36); }
@media(max-width:860px){ .jm-phero{ padding:120px 20px 80px; } }
/* pages avec hero image : on retire le CTA en double de la 1re zone (le hero a déjà le bouton) */
body.jm-hasphero .jm-zone-hero > .jm-cta{ display:none !important; }
body.jm-hasphero .jm-zone-hero{ padding-top:44px !important; }
/* images de hero par page */
.jm-phero-hypno{ background-image:url('/wp-content/uploads/2026/04/couple-1.webp'); background-position:center 34% !important; }
.jm-phero-pourquoi{ background-image:url('/wp-content/uploads/2026/04/nat1.jpg'); }
.jm-phero-couple{ background-image:url('/wp-content/uploads/2026/04/photo-therapie-de-couple-.webp'); }
.jm-phero-sexo{ background-image:url('/wp-content/uploads/2026/04/Saimer-et-fusionner-_3-Couple_-Amour_-Deux_-Amoureux_-Sensuel_-Romantique_.webp'); background-position:center 35% !important; }
/* Sonothèque (garde Elementor + lecteurs) : bandes — hero clair à halos + section lecteurs en bande claire */
body.page-id-4160 .elementor-element-66bfe7e{ background:radial-gradient(34rem 30rem at 90% 8%, rgba(29,78,90,.10), transparent 70%),radial-gradient(30rem 28rem at 6% 96%, rgba(206,142,134,.12), transparent 72%) !important; padding-top:20px !important; padding-bottom:40px !important; min-height:0 !important; }
/* hero sonothèque : spacer géant (123px) qui laissait un grand vide en haut -> réduit */
body.page-id-4160 .elementor-element-1cbd1ca{ --spacer-size:26px !important; }
body.page-id-4160 .elementor-element-1cbd1ca .elementor-spacer-inner{ height:26px !important; }
body.page-id-4160 .elementor-element-68574ac4{ background:var(--jm-surface) !important; }
body.page-id-4160 .elementor-heading-title{ text-align:center; }
/* table des motifs (page sexo) */
.jm-pillar-body .jm-motifs-table{ max-width:920px; margin:1.4em auto 0; overflow-x:auto; }
.jm-pillar-body .jm-motifs-table table{ width:100%; border-collapse:collapse; font-size:.96rem; }
.jm-pillar-body .jm-motifs-table th{ font-family:'Cormorant Garamond',Georgia,serif !important; color:var(--jm-accent) !important; text-align:left; padding:10px 14px; border-bottom:2px solid var(--jm-accent-2); font-size:1.2rem; font-weight:600; }
.jm-pillar-body .jm-motifs-table td{ padding:9px 14px; border-bottom:1px solid var(--jm-border); color:#46545C; }
.jm-pillar-body .jm-motifs-table tr:hover td{ background:rgba(29,78,90,.035); }


/* ===================== PAGE « QUI SUIS-JE » reconstruite (classique, ton de la home) ===================== */
body.jm-qsj #content.site-content{ padding-top:0 !important; background:none !important; }
body.jm-qsj .entry-header,body.jm-qsj .jm-breadcrumb,body.jm-qsj .ast-single-post-order{ display:none !important; }
body.jm-qsj .ast-container,body.jm-qsj #primary,body.jm-qsj .site-content > .ast-container{ max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
.jm-qsj{ color:var(--jm-text); font-size:16px; overflow-x:hidden; }
.jm-qsj h1,.jm-qsj h2,.jm-qsj h3{ font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:600; color:var(--jm-text); line-height:1.14; letter-spacing:.2px; }
.jm-qsj .jm-kicker{ text-transform:uppercase; letter-spacing:.22em; font-size:.74rem; font-weight:600; color:var(--jm-accent); margin:0 0 .8em; }
.jm-qsj .jm-kicker.center{ text-align:center; }
.jm-qsj .jm-kicker.light{ color:#E3A99F; }
.jm-qsj .jm-btn{ display:inline-block; text-decoration:none !important; padding:.85em 1.9em; border-radius:32px; font-weight:600; font-size:.98rem; transition:all .2s ease; }
.jm-qsj .jm-btn-primary{ background:var(--jm-accent) !important; color:#fff !important; box-shadow:0 10px 24px rgba(29,78,90,.28); }
.jm-qsj .jm-btn-primary:hover{ background:var(--jm-accent-d) !important; transform:translateY(-2px); }
.jm-qsj .jm-btn-light{ background:#fff !important; color:var(--jm-accent) !important; }
.jm-qsj .jm-btn-light:hover{ background:#EDF3F3 !important; }
/* HERO 2 colonnes (texte + portrait dans l'arche, comme la home) */
.jm-qsj-hero{ max-width:1180px; margin:0 auto; padding:132px 22px 30px;
  display:grid; grid-template-columns:1.05fr .95fr; gap:46px; align-items:start; text-align:left;
  background:radial-gradient(34rem 30rem at 94% 22%, rgba(29,78,90,.10), transparent 70%),radial-gradient(28rem 26rem at 2% 94%, rgba(206,142,134,.13), transparent 72%); }
@media(max-width:860px){ .jm-qsj-hero{ grid-template-columns:1fr; text-align:center; padding-top:112px; gap:26px; } }
.jm-qsj-hero h1{ font-size:clamp(2.1rem,4.2vw,3.05rem); margin:0 0 .4em; }
.jm-qsj-lead{ font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:1.5rem; color:var(--jm-accent) !important; margin:0 0 .8em; }
.jm-qsj-sub{ color:#46545C; line-height:1.8; font-size:1.04rem; margin:0 0 1.6em; }
.jm-qsj-hero-figure{ position:relative; align-self:end; min-height:520px; border-radius:280px 280px 26px 26px; overflow:hidden;
  background:linear-gradient(165deg,#EFD7D2 0%,#E4BDB6 62%,#D9ABA3 100%); box-shadow:0 34px 64px rgba(20,32,40,.18); }
@media(max-width:860px){ .jm-qsj-hero-figure{ min-height:420px; max-width:350px; margin:20px auto 0; } }
.jm-qsj-hero-portrait{ position:absolute; inset:0; background:url('/wp-content/uploads/2026/04/erasebg-transformed-685x1030.png') center bottom/contain no-repeat; }
/* révélation douce au scroll (l'effet de la home) */
@media (prefers-reduced-motion: no-preference){ @supports (animation-timeline: view()){
  .jm-qsj .jm-qsj-sec,.jm-qsj .jm-pcard,.jm-qsj .jm-qsj-approche,.jm-qsj .jm-form-item,.jm-qsj-hero-figure{
    animation:jmReveal linear both; animation-timeline:view(); animation-range:entry 3% entry 42%; }
}}
/* SECTIONS */
.jm-qsj-sec{ max-width:1000px; margin:0 auto; padding:80px 22px 10px; text-align:center; }
.jm-qsj-sec h2{ font-size:clamp(1.9rem,3.6vw,2.7rem); margin:0 0 .2em; }
.jm-qsj-sec h2:after{ content:""; display:block; width:56px; height:2px; margin:.4em auto 1.2em; border-radius:2px; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }
.jm-qsj .jm-lead-p{ max-width:760px; margin:0 auto 2.4em; color:#46545C; line-height:1.8; }
/* CARTES parcours */
.jm-parcours{ display:grid; grid-template-columns:1fr 1fr; gap:26px; text-align:left; }
@media(max-width:820px){ .jm-parcours{ grid-template-columns:1fr; } }
.jm-pcard{ background:var(--jm-surface); border:1px solid var(--jm-border); border-radius:20px; padding:32px 30px; box-shadow:0 12px 34px rgba(20,32,40,.07); }
.jm-pcard h3{ font-size:1.55rem; margin:0 0 .6em; color:var(--jm-accent); }
.jm-pcard p{ color:#46545C; line-height:1.8; margin:0 0 1em; }
.jm-pcard p:last-child{ margin-bottom:0; }
.jm-pcard b{ color:var(--jm-text); }
/* BANDE APPROCHE (miroir sombre) */
.jm-qsj-approche-band{ width:100vw; margin:80px 0 0; margin-left:calc(50% - 50vw); padding:78px 22px; background:linear-gradient(158deg,var(--jm-dark-2),var(--jm-dark)); }
.jm-qsj-approche{ max-width:840px; margin:0 auto; text-align:center; }
.jm-qsj-approche p{ color:#E7D8DE !important; line-height:1.85; font-size:1.08rem; margin:0 0 1.4em; }
.jm-qsj-approche a{ color:#E6B4AC !important; }
/* FORMATIONS */
.jm-formations{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; text-align:left; margin-top:.4em; }
@media(max-width:860px){ .jm-formations{ grid-template-columns:1fr 1fr; } }
@media(max-width:560px){ .jm-formations{ grid-template-columns:1fr; } }
.jm-form-item{ background:var(--jm-surface); border:1px solid var(--jm-border); border-left:3px solid var(--jm-accent-2); border-radius:14px; padding:16px 18px; }
.jm-form-item b{ display:block; font-family:'Cormorant Garamond',Georgia,serif; font-size:1.2rem; color:var(--jm-accent); margin-bottom:.15em; }
.jm-form-item span{ color:var(--jm-muted); font-size:.9rem; line-height:1.45; }
.jm-qsj-disclaimer{ max-width:820px; margin:2.6em auto 0; color:var(--jm-muted); font-size:.9rem; line-height:1.7; font-style:italic; text-align:center; }
/* CTA FINAL */
.jm-qsj-final{ width:100vw; margin-left:calc(50% - 50vw); margin-top:80px; padding:90px 22px; text-align:center;
  background:linear-gradient(rgba(14,42,50,.72),rgba(14,42,50,.82)),url('/wp-content/uploads/2019/03/spring-tree-flowers-meadow-60006-1024x651.jpeg') center/cover no-repeat; }
.jm-qsj-final .jm-cta-final-inner{ max-width:620px; margin:0 auto; }
.jm-qsj-final h2{ color:#fff !important; font-size:clamp(1.9rem,3.6vw,2.7rem); margin:0 0 .4em; }
.jm-qsj-final p{ color:#EADCD8 !important; line-height:1.7; margin-bottom:1.4em; }
/* titres de contenu (dans les blocs texte Elementor) aussi en serif */
.elementor-widget-text-editor h2,.elementor-widget-text-editor h3,.elementor-widget-text-editor h4{
  font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:600 !important; text-transform:none !important; color:var(--jm-text) !important;
}
/* les titres dans flip box / player restent gérés par leurs propres règles (blanc) */

/* ===================== SUPPRESSION « EFFET TUILE » + FONDS SOMBRES ===================== */
/* Fonds décoratifs (poudres, encre, bulles) + fonds sombres -> transparents (laisse le fond clair) */
.elementor-section,.elementor-inner-section,.elementor-top-section,.e-con,.e-con-inner,
.elementor-column,.elementor-column-wrap,.elementor-widget-wrap,.elementor-widget,
.elementor-widget-container,.elementor-element,.wp-block-cover,.wp-block-group,.ast-container{
  background-color:transparent !important; background-image:none !important;
}
/* Overlays sombres : élément réel + pseudo ::before */
.elementor-background-overlay,.elementor-background-video-container,.wp-block-cover__background{
  opacity:0 !important; background:none !important; background-image:none !important;
}
.elementor-section:before,.elementor-column:before,.e-con:before,.e-con-inner:before,
.elementor-widget-wrap:before,.elementor-element:before,.elementor-top-section:before{
  background:none !important; background-image:none !important; opacity:0 !important;
}
/* Flip Box Elementor : image de fond retirée -> on remet un fond palette (pétrole) au lieu du gris, texte blanc lisible */
.elementor-flip-box__layer__overlay{ background:none !important; }
.elementor-flip-box__front{ background:linear-gradient(158deg,var(--jm-dark-2),var(--jm-dark)) !important; }
.elementor-flip-box__back{ background:linear-gradient(158deg,var(--jm-accent),var(--jm-accent-d)) !important; }
.elementor-flip-box__front .elementor-flip-box__layer__title,.elementor-flip-box__front .elementor-flip-box__layer__description,
.elementor-flip-box__back .elementor-flip-box__layer__title,.elementor-flip-box__back .elementor-flip-box__layer__description{ color:#fff !important; }
.elementor-flip-box__layer__inner,.elementor-flip-box__layer__inner *,.elementor-flip-box__layer__description{ color:#fff !important; }
.elementor-flip-box__layer__icon i,.elementor-flip-box__layer__icon svg{ color:#F2F6F6 !important; fill:#F2F6F6 !important; }
.elementor-flip-box__layer__button{ background:#fff !important; color:var(--jm-accent) !important; border-color:#fff !important; }

/* Lecteurs audio Sonaar (Sonothèque) : conçus pour fond sombre -> on remet un fond pétrole pour la lisibilité */
.elementor-widget-music-player > .elementor-widget-container,
.elementor-widget-slide-compact-player > .elementor-widget-container{
  background:linear-gradient(158deg,var(--jm-dark-2),var(--jm-dark)) !important; border-radius:18px !important; padding:16px !important; box-shadow:0 12px 34px rgba(20,32,40,.10) !important;
  color:#EDF3F3 !important;
}
/* tout le texte + liens du player en clair (les titres de pistes sont des <a> mis en pétrole par la règle globale) */
.elementor-widget-music-player .elementor-widget-container,.elementor-widget-music-player .elementor-widget-container *,
.elementor-widget-slide-compact-player .elementor-widget-container,.elementor-widget-slide-compact-player .elementor-widget-container *{ color:#EDF3F3 !important; }
.elementor-widget-music-player a,.elementor-widget-slide-compact-player a{ color:#EDF3F3 !important; }
.srp_player_boxed,.iron-audioplayer,.album-player,.swp_music_player,.swp-compact-player,.srp_tracklist,.sr-playlist-item,.srp_player_grid,
.elementor-widget-music-player .playlist,.elementor-widget-slide-compact-player .playlist,.elementor-widget-music-player .sr_waveform_mediaElement{ background:transparent !important; background-color:transparent !important; }
.track-title,.tracklist-item-title,.srp_player_meta,.srp_player_meta *,.track-number,.tracklist-item-time,.srp_tracklist-item-date,.srp_track_description,.swp-compact-player-info,.swp-compact-player-info *{ color:#EDF3F3 !important; }
.sr-playlist-item{ border-color:rgba(255,255,255,.12) !important; }
.sr-playlist-item:hover .tracklist-item-title,.sr-playlist-item.sonaar_current_track .tracklist-item-title,.srp_audio_trigger:hover{ color:var(--jm-accent-2) !important; }

/* Texte Elementor -> sombre lisible (liens/boutons re-colorés plus bas) */
.elementor-widget-text-editor,.elementor-widget-text-editor p,.elementor-widget-text-editor li,
.elementor-widget-text-editor div,.elementor-widget-heading .elementor-heading-title,
.elementor-icon-box-title,.elementor-icon-box-description,.elementor-icon-list-text,
.elementor-testimonial-content,.elementor-testimonial-name,.elementor-image-box-title,
.elementor-image-box-description,.elementor-tab-title,.elementor-tab-content,.elementor-toggle-title{
  color:var(--jm-text) !important;
}

/* ===================== LIENS & ACCENTS (doré -> terracotta) ===================== */
a{ color:var(--jm-accent); }
a:hover{ color:var(--jm-accent-d); }
.elementor-widget-text-editor a,.entry-content a{ color:var(--jm-accent) !important; text-decoration:underline; }

/* Boutons */
.ast-button,.ast-custom-button,.elementor-button,.wp-block-button__link,button.submit,
input[type="submit"],.wpcf7-submit,.ast-header-button-1 .ast-custom-button,.ast-header-button-2 .ast-custom-button{
  background-color:var(--jm-accent) !important; background-image:none !important; color:#fff !important; border-color:var(--jm-accent) !important;
}
.ast-button:hover,.elementor-button:hover,.wp-block-button__link:hover,.wpcf7-submit:hover,
.ast-header-button-1 .ast-custom-button:hover,.ast-header-button-2 .ast-custom-button:hover{
  background-color:var(--jm-accent-d) !important; color:#fff !important;
}

/* ===================== HEADER (transparent sombre -> clair lisible) ===================== */
.ast-theme-transparent-header #masthead,.site-header,#ast-desktop-header,#ast-mobile-header,
.ast-above-header-bar,.main-header-bar,.ast-primary-header-bar{
  background-color:var(--jm-surface) !important; border-color:var(--jm-border) !important;
}
.main-header-menu a,.main-header-menu .menu-link,.ast-header-navigation-markup a,#ast-mobile-header a,.menu-toggle{
  color:var(--jm-text) !important;
}
.main-header-menu a:hover,.main-header-menu .current-menu-item > a,.menu-link:hover{ color:var(--jm-accent) !important; }
.main-header-menu .sub-menu,.ast-desktop .main-header-menu .sub-menu{ background-color:var(--jm-surface) !important; border-color:var(--jm-border) !important; }
.ast-builder-menu .main-navigation .menu-item .sub-menu a{ color:var(--jm-text) !important; }

/* ===================== FOOTER (sombre -> clair) ===================== */
footer,.site-footer,footer .elementor-section,.ast-small-footer{ background-color:var(--jm-surface-2) !important; }
footer,.site-footer,footer *{ color:var(--jm-text) !important; }
footer a,.site-footer a{ color:var(--jm-accent) !important; }
.jm-credit{ background:var(--jm-surface-2) !important; color:var(--jm-muted) !important; }

/* ===================== PAGES PILIERS / PRESSE (mu-plugin : sombre+doré -> clair) ===================== */
.jm-pillar-body,.jm-presse{ color:var(--jm-text) !important; }
.jm-pillar-body p,.jm-presse .jm-intro,.jm-pillar-body .jm-lead{ color:var(--jm-text) !important; }
.jm-pillar-body a,.jm-presse a,.jm-presse .jm-intro a{ color:var(--jm-accent) !important; }
body.jm-pillar .entry-title,.jm-pillar-body h2,.jm-presse .jm-h2,.jm-pillar-body .jm-split-txt h2{ color:var(--jm-accent) !important; }
.jm-pillar-body h3,.jm-presse .jm-name,.jm-pillar-body .jm-reassure b,.jm-pillar-body .jm-seealso b{ color:var(--jm-text) !important; }
.jm-pillar-body h2:after,.jm-presse .jm-h2:after,body.jm-pillar .entry-header:after{ background:linear-gradient(90deg,transparent,var(--jm-accent-2),var(--jm-accent),var(--jm-accent-2),transparent) !important; }
/* surfaces (cartes) — préfixées pour battre la spécificité du mu-plugin */
.jm-pillar-body .jm-topics a,.jm-pillar-body .jm-info>div,.jm-pillar-body .jm-seealso a,
.jm-pillar-body .jm-reassure>div,.jm-pillar-body .jm-steps>div,.jm-presse .jm-card{
  background:var(--jm-surface) !important; border-color:var(--jm-border) !important; color:var(--jm-text) !important;
}
.jm-pillar-body .jm-topics a,.jm-pillar-body .jm-seealso a{ color:var(--jm-text) !important; }
.jm-pillar-body .jm-topics a:hover,.jm-pillar-body .jm-seealso a:hover,.jm-presse .jm-card:hover{ border-color:var(--jm-accent) !important; background:#ECF1F1 !important; color:var(--jm-accent) !important; }
.jm-pillar-body .jm-info p,.jm-presse .jm-desc,.jm-presse .jm-url,.jm-pillar-body .jm-reassure em,.jm-pillar-body .jm-seealso em{ color:var(--jm-muted) !important; }
.jm-pillar-body .jm-reassure svg{ fill:var(--jm-accent) !important; }
.jm-pillar-body .jm-steps>div:before{ background:var(--jm-accent) !important; }
.jm-pillar-body .jm-quote{ background:rgba(29,78,90,.06) !important; border-left-color:var(--jm-accent) !important; color:var(--jm-text) !important; }
.jm-pillar-body .jm-cta a,.jm-presse .jm-cta a{ background:var(--jm-accent) !important; color:#fff !important; border-color:var(--jm-accent) !important; }
.jm-presse .jm-avis{ background:transparent !important; color:var(--jm-accent) !important; border:1px solid var(--jm-accent) !important; }
.jm-presse .jm-avis:hover{ background:var(--jm-accent) !important; color:#fff !important; }
.jm-pillar-body .jm-cta-band{ background:linear-gradient(180deg,rgba(29,78,90,.08),rgba(29,78,90,.02)) !important; border-color:rgba(29,78,90,.25) !important; }
.jm-pillar-body .jm-cta-band p{ color:var(--jm-text) !important; }
.jm-pillar-body .jm-band p{ color:#fff !important; }
/* halo doré -> terracotta discret */
body.jm-pillar #content.site-content,body.page-id-5869 #content.site-content{ background:radial-gradient(1100px 360px at 50% -30px,rgba(29,78,90,.06),transparent 70%) !important; }
.jm-pillar-body .jm-faq details,.jm-presse .jm-card{ background:var(--jm-surface) !important; }
.jm-pillar-body .jm-faq summary{ color:var(--jm-text) !important; }
.jm-pillar-body .jm-faq summary:before,.jm-pillar-body .jm-faq details[open] summary:before{ color:var(--jm-accent) !important; }
.jm-pillar-body .jm-faq p{ color:var(--jm-muted) !important; }
.jm-breadcrumb,.jm-breadcrumb .last{ color:var(--jm-muted) !important; }
.jm-breadcrumb a{ color:var(--jm-accent) !important; }

/* ===================== DIVERS ===================== */
input,textarea,select,.wpcf7 input,.wpcf7 textarea{ background:var(--jm-surface) !important; color:var(--jm-text) !important; border-color:var(--jm-border) !important; }
::selection{ background:var(--jm-accent); color:#fff; }
hr,.wp-block-separator{ border-color:var(--jm-border) !important; }

/* ===================== + GRAPHIQUE / − NOIR (passe 2) ===================== */
/* Halos organiques doux (terracotta + sauge) : de la chaleur graphique, moins de plat */
body{
  background-image:
    radial-gradient(38rem 34rem at 6% 4%, rgba(29,78,90,.11), transparent 70%),
    radial-gradient(44rem 40rem at 96% 92%, rgba(206,142,134,.12), transparent 72%),
    radial-gradient(30rem 30rem at 82% 14%, rgba(29,78,90,.05), transparent 70%) !important;
  background-attachment: fixed, fixed, fixed !important;
  background-repeat: no-repeat !important;
}
/* Texte un peu moins "noir" (plus doux) */
:root{ --jm-text:#22303A; }
.elementor-widget-text-editor p,.jm-pillar-body p,.jm-pillar-body .jm-lead,.entry-content p{ color:#46545C !important; }
/* Portrait & images : ombre douce et coins arrondis -> la masse sombre devient un vrai visuel encadré */
.wp-block-image img,.elementor-widget-image img,.ast-post-format-icon img{ border-radius:16px; }
img[src*="erasebg"],img[bv-data-src*="erasebg"]{ filter:drop-shadow(0 24px 46px rgba(20,32,40,.22)); }
/* Cartes : coins plus doux + ombre légère (aspect plus "produit", graphique) */
.jm-pillar-body .jm-info>div,.jm-pillar-body .jm-reassure>div,.jm-pillar-body .jm-steps>div,
.jm-pillar-body .jm-topics a,.jm-pillar-body .jm-seealso a,.jm-presse .jm-card,.jm-pillar-body .jm-faq details,
.jm-pillar-body .jm-cta-band,.jm-split-img{ border-radius:18px !important; box-shadow:0 8px 24px rgba(20,32,40,.06) !important; }
/* Boutons plus ronds + ombre chaude */
.ast-custom-button,.elementor-button,.jm-pillar-body .jm-cta a,.jm-presse .jm-cta a,.wp-block-button__link,.wpcf7-submit{
  border-radius:30px !important; box-shadow:0 8px 20px rgba(29,78,90,.24) !important;
}
/* Accents sauge : filets déco + puces */
.jm-pillar-body h2:after,.jm-presse .jm-h2:after{ height:3px !important; }
/* Bandeau image cabinet : ratio = celui de la photo (9/5) -> aucune tête coupée ; légende posée en bas, voile léger en haut (visages nets) + dense en bas (légende lisible) */
.jm-pillar-body .jm-band.jm-img-cabinet{
  background-image:linear-gradient(rgba(16,28,34,.12),rgba(16,28,34,.62)),url('/wp-content/uploads/pillar/cabinet.jpg') !important;
  background-size:cover !important; background-position:center !important;
  min-height:0 !important; aspect-ratio:9/5; max-height:560px;
  align-items:flex-end !important; padding:0 26px 30px !important;
  border-radius:20px; overflow:hidden; box-shadow:0 14px 38px rgba(20,32,40,.12);
}
/* Portrait N&B -> ton chaud (sépia/terracotta) : la masse noire se fond dans la palette */
img[src*="erasebg"],img[bv-data-src*="erasebg"]{
  filter:sepia(.42) saturate(1.22) hue-rotate(-8deg) brightness(1.04) contrast(.95) drop-shadow(0 22px 44px rgba(20,32,40,.22)) !important;
}

/* ===================== HOME ÉLÉGANTE (.jm-home) ===================== */
body.jm-home #content.site-content{ padding-top:0 !important; background:none !important; }
body.jm-home .entry-header,body.jm-home .jm-breadcrumb{ display:none !important; }
body.jm-home .ast-container,body.jm-home #primary,body.jm-home .site-content > .ast-container{ max-width:100% !important; padding-left:0 !important; padding-right:0 !important; }
.jm-home{ color:var(--jm-text); font-size:16px; overflow-x:hidden; }
.jm-home h1,.jm-home h2{ font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:500; letter-spacing:.2px; line-height:1.12; }
.jm-home .jm-kicker{ text-transform:uppercase; letter-spacing:.22em; font-size:.74rem; font-weight:600; color:var(--jm-accent); margin:0 0 .8em; }
.jm-home .jm-kicker.light{ color:#EADCD8; }
.jm-home .jm-btn{ display:inline-block; text-decoration:none; padding:.85em 1.8em; border-radius:32px; font-weight:600; font-size:.98rem; transition:all .2s ease; }
.jm-home .jm-btn-primary{ background:var(--jm-accent); color:#fff !important; box-shadow:0 10px 24px rgba(29,78,90,.28); }
.jm-home .jm-btn-primary:hover{ background:var(--jm-accent-d); }
.jm-home .jm-btn-ghost{ border:1px solid rgba(34,48,58,.3); color:var(--jm-text) !important; }
.jm-home .jm-btn-ghost:hover{ border-color:var(--jm-accent); color:var(--jm-accent) !important; }
.jm-home .jm-link{ color:var(--jm-accent) !important; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(29,78,90,.4); padding-bottom:2px; }

/* HERO pleine largeur */
.jm-home .jm-hero{ width:100vw; margin-left:calc(50% - 50vw); min-height:74vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:80px 20px;
  background:linear-gradient(rgba(244,246,246,.80),rgba(244,246,246,.86)),url('/wp-content/uploads/2019/03/pexels-photo-289237-1024x683.jpeg') center/cover no-repeat; }
.jm-home .jm-hero-inner{ max-width:760px; }
.jm-home .jm-hero h1{ font-size:clamp(2.6rem,6vw,4.6rem); color:var(--jm-text); margin:.1em 0 .35em; }
.jm-home .jm-hero-sub{ font-size:1.12rem; color:#46545C; max-width:620px; margin:0 auto 1.8em; line-height:1.7; }
.jm-home .jm-hero-cta .jm-btn{ margin:0 6px; }

/* Bandeau réassurance */
.jm-home .jm-strip{ max-width:1080px; margin:-42px auto 0; position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); gap:14px; padding:0 20px; }
@media(max-width:760px){ .jm-home .jm-strip{ grid-template-columns:repeat(2,1fr); } }
.jm-home .jm-strip>div{ background:var(--jm-surface); border:1px solid var(--jm-border); border-radius:16px; padding:18px 12px; text-align:center; box-shadow:0 10px 30px rgba(20,32,40,.08); }
.jm-home .jm-strip svg{ width:26px; height:26px; fill:var(--jm-accent); display:block; margin:0 auto .4em; }
.jm-home .jm-strip b{ display:block; color:var(--jm-text); font-size:.98em; }
.jm-home .jm-strip em{ color:var(--jm-muted); font-size:.82em; font-style:normal; }

/* Sections */
.jm-home .jm-sec{ max-width:1120px; margin:0 auto; padding:76px 20px 10px; text-align:center; }
.jm-home .jm-sec h2,.jm-home .jm-split2 h2,.jm-home .jm-cta-final h2{ font-size:clamp(1.9rem,3.6vw,2.8rem); color:var(--jm-text); margin:0 0 1.4em; }

/* Cartes services (3) avec image */
.jm-home .jm-cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; text-align:left; }
@media(max-width:860px){ .jm-home .jm-cards3{ grid-template-columns:1fr; max-width:440px; margin:0 auto; } }
.jm-home .jm-scard{ display:block; background:var(--jm-surface); border:1px solid var(--jm-border); border-radius:20px; overflow:hidden; text-decoration:none; box-shadow:0 10px 30px rgba(20,32,40,.06); transition:all .25s ease; }
.jm-home .jm-scard:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(20,32,40,.12); }
.jm-home .jm-scard-img{ display:block; height:200px; background-size:cover; background-position:center; transition:transform .5s ease; }
.jm-home .jm-scard:hover .jm-scard-img{ transform:scale(1.05); }
.jm-home .jm-scard-b{ display:block; padding:22px 22px 24px; }
.jm-home .jm-scard-b b{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.6rem; font-weight:600; color:var(--jm-text); display:block; margin-bottom:.3em; }
.jm-home .jm-scard-b em{ color:var(--jm-muted); font-style:normal; font-size:.95em; line-height:1.6; display:block; margin-bottom:1em; }
.jm-home .jm-more{ color:var(--jm-accent); font-weight:600; font-size:.95em; }
.jm-home .img-silhouette{ background-image:url('/wp-content/uploads/2019/03/pexels-photo-556667-828x1024.jpeg'); }
.jm-home .img-couple{ background-image:url('/wp-content/uploads/pillar/cabinet.jpg'); }
.jm-home .img-meditation{ background-image:url('/wp-content/uploads/2019/03/pexels-photo-267967-1024x683.jpeg'); }

/* Sections split (image + texte) */
.jm-home .jm-split2{ max-width:1120px; margin:0 auto; padding:70px 20px 10px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
@media(max-width:860px){ .jm-home .jm-split2{ grid-template-columns:1fr; gap:28px; } .jm-home .jm-split2 .jm-split2-img{ order:-1; } }
.jm-home .jm-split2.rev .jm-split2-txt{ order:2; }
.jm-home .jm-split2-txt{ text-align:left; }
.jm-home .jm-split2-txt h2{ text-align:left; margin-bottom:.6em; }
.jm-home .jm-split2-txt p{ color:#46545C; line-height:1.8; }
.jm-home .jm-split2-img{ min-height:400px; border-radius:22px; background-size:cover; background-position:center; box-shadow:0 20px 50px rgba(20,32,40,.14); }
.jm-home .img-portrait{ background:radial-gradient(circle at 50% 40%,#E6EDED,#DBE5E5); background-size:cover; }
.jm-home .img-portrait{ background-image:url('/wp-content/uploads/2026/04/erasebg-transformed-685x1030.png'); background-size:contain; background-repeat:no-repeat; background-position:center bottom; background-color:#E9EEEE; }
.jm-home .img-stones{ background-image:url('/wp-content/uploads/2014/12/pexels-photo-235990.jpeg'); }

/* Stats */
.jm-home .jm-stats{ width:100vw; margin:70px 0 0; margin-left:calc(50% - 50vw); background:var(--jm-surface-2); padding:46px 20px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; }
@media(max-width:640px){ .jm-home .jm-stats{ grid-template-columns:repeat(2,1fr); gap:30px; } }
.jm-home .jm-stats b{ font-family:'Cormorant Garamond',Georgia,serif; font-size:2.8rem; font-weight:600; color:var(--jm-accent); display:block; line-height:1; }
.jm-home .jm-stats em{ color:var(--jm-muted); font-style:normal; font-size:.9em; }
.jm-home .jm-avis-wrap{ margin-top:1em; }

/* CTA final pleine largeur */
.jm-home .jm-cta-final{ width:100vw; margin-left:calc(50% - 50vw); margin-top:76px; padding:90px 20px; text-align:center;
  background:linear-gradient(rgba(16,40,48,.62),rgba(16,40,48,.72)),url('/wp-content/uploads/2019/03/spring-tree-flowers-meadow-60006-1024x651.jpeg') center/cover no-repeat; }
.jm-home .jm-cta-final-inner{ max-width:620px; margin:0 auto; }
.jm-home .jm-cta-final h2{ color:#fff; }
.jm-home .jm-cta-final p{ color:#EADCD8; line-height:1.7; margin-bottom:1.6em; }

/* ===================== HERO v2 : portrait praticien (arche) + palette prune ===================== */
.jm-home .jm-hero{ width:auto !important; margin:0 auto !important; min-height:auto !important;
  display:grid !important; grid-template-columns:1.04fr .96fr; gap:40px; align-items:center; text-align:left;
  max-width:1180px; padding:122px 22px 24px !important;
  background:
    radial-gradient(34rem 30rem at 94% 28%, rgba(29,78,90,.10), transparent 70%),
    radial-gradient(28rem 26rem at 4% 92%, rgba(206,142,134,.13), transparent 72%) !important; }
@media(max-width:860px){ .jm-home .jm-hero{ grid-template-columns:1fr; text-align:center; padding-top:104px !important; } }
.jm-home .jm-hero-inner{ max-width:none; }
.jm-home .jm-hero h1{ font-size:clamp(2.4rem,5vw,4rem); }
.jm-home .jm-hero-sub{ margin:0 0 1.8em; }
.jm-home .jm-hero-cta{ text-align:left; }
@media(max-width:860px){ .jm-home .jm-hero-cta{ text-align:center; } .jm-home .jm-hero-sub{ margin:0 auto 1.8em; } }
.jm-home .jm-hero-figure{ position:relative; align-self:end; min-height:530px;
  border-radius:290px 290px 26px 26px; overflow:hidden;
  background:linear-gradient(165deg,#EFD7D2 0%,#E4BDB6 62%,#D9ABA3 100%);
  box-shadow:0 34px 64px rgba(34,48,58,.18); }
@media(max-width:860px){ .jm-home .jm-hero-figure{ min-height:430px; max-width:360px; margin:0 auto; } }
.jm-home .jm-hero-portrait{ position:absolute; inset:0;
  background:url('/wp-content/uploads/2026/04/erasebg-transformed-685x1030.png') center bottom/contain no-repeat; }
/* strip : plus de chevauchement négatif (hero non pleine largeur) */
.jm-home .jm-strip{ margin-top:34px !important; }
/* portrait : léger désaturé élégant (moins de noir dur), partout */
img[src*="erasebg"],img[bv-data-src*="erasebg"]{ filter:grayscale(.34) contrast(1.03) brightness(1.05) drop-shadow(0 22px 44px rgba(34,48,58,.22)) !important; }
/* bandeau CTA final : voile prune */
.jm-home .jm-cta-final{ background:linear-gradient(rgba(14,42,50,.60),rgba(14,42,50,.72)),url('/wp-content/uploads/2019/03/spring-tree-flowers-meadow-60006-1024x651.jpeg') center/cover no-repeat !important; }

/* ===================== STRUCTURE + EFFETS LÉGERS ===================== */
/* filet d'accent sous les titres de section (structure) */
.jm-home .jm-sec h2:after,.jm-home .jm-cta-final h2:after{ content:""; display:block; width:56px; height:2px; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); margin:-.6em auto 1.4em; border-radius:2px; }
.jm-home .jm-split2-txt h2:after{ content:""; display:block; width:48px; height:2px; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); margin:.2em 0 .8em; border-radius:2px; }
/* bandes teintées pour rythmer */
.jm-home #avis{ width:100vw; margin-left:calc(50% - 50vw); max-width:none; background:rgba(29,78,90,.055); padding:78px 20px 64px; }
.jm-home #avis .jm-avis-wrap,.jm-home #avis h2,.jm-home #avis .jm-kicker{ max-width:1120px; margin-left:auto; margin-right:auto; }
.jm-home .jm-split2.rev{ width:100vw; margin-left:calc(50% - 50vw); max-width:none; background:var(--jm-surface); padding-left:20px; padding-right:20px; }
.jm-home .jm-split2.rev > *{ max-width:560px; }
.jm-home .jm-split2.rev{ display:grid; grid-template-columns:1fr 1fr; gap:48px; max-width:1120px; margin:70px auto 0; }
@media(max-width:860px){ .jm-home .jm-split2.rev{ grid-template-columns:1fr; } }
/* révélation douce au scroll — CSS pur (animation-timeline), aucun JS requis */
@media (prefers-reduced-motion: no-preference){
  @supports (animation-timeline: view()){
    .jm-home .jm-sec,.jm-home .jm-split2,.jm-home .jm-scard,.jm-home .jm-strip>div,.jm-home .jm-stats>div,.jm-home .jm-cta-final-inner,.jm-home .jm-hero-figure{
      animation:jmReveal linear both; animation-timeline:view(); animation-range:entry 2% entry 40%; }
    @keyframes jmReveal{ from{opacity:0; transform:translateY(26px);} to{opacity:1; transform:none;} }
  }
}
/* micro-effets légers */
.jm-home .jm-scard,.jm-home .jm-btn,.jm-home .jm-split2-img,.jm-home .jm-strip>div{ transition:all .3s cubic-bezier(.2,.7,.3,1); }
.jm-home .jm-btn-primary:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(29,78,90,.34); }
.jm-home .jm-split2-img:hover{ transform:translateY(-3px); }
.jm-home .jm-strip>div:hover{ transform:translateY(-3px); box-shadow:0 14px 34px rgba(20,32,40,.12); }

/* ===================== BANDES « MIROIR » (alternance sombre / clair) + SÉPARATEURS ===================== */
:root{ --jm-dark:#14313A; --jm-dark-2:#1D4453; --jm-onDark:#F2F6F6; --jm-onDark-soft:#D3E0E0; --jm-onDark-kick:#E3A99F; }

/* Chaque grande section devient une bande pleine largeur : les blocs se touchent,
   le changement de couleur fait le séparateur (effet « miroir »). */
.jm-home #accompagnements,.jm-home .jm-split2,.jm-home .jm-split2.rev,
.jm-home .jm-stats,.jm-home #avis,.jm-home .jm-cta-final{
  width:100vw !important; max-width:none !important; margin-left:calc(50% - 50vw) !important;
  margin-top:0 !important; margin-bottom:0 !important;
}

/* -- Accompagnements : bande CLAIRE -- */
.jm-home #accompagnements{ background:var(--jm-surface) !important; padding:86px max(20px,calc(50vw - 560px)) 90px !important; }
.jm-home #accompagnements .jm-cards3{ max-width:1120px; margin-left:auto; margin-right:auto; }

/* -- Qui suis-je : bande SOMBRE (miroir) -- */
.jm-home .jm-split2:not(.rev){ background:linear-gradient(158deg,var(--jm-dark-2),var(--jm-dark)) !important;
  padding:94px max(20px,calc(50vw - 560px)) !important; gap:56px !important; align-items:center !important; }
.jm-home .jm-split2:not(.rev) .jm-kicker{ color:var(--jm-onDark-kick) !important; }
.jm-home .jm-split2:not(.rev) h2{ color:var(--jm-onDark) !important; }
.jm-home .jm-split2:not(.rev) p{ color:var(--jm-onDark-soft) !important; }
.jm-home .jm-split2:not(.rev) .jm-link{ color:#E6B4AC !important; border-bottom-color:rgba(230,180,172,.45) !important; }
.jm-home .jm-split2:not(.rev) .jm-split2-txt h2:after{ background:linear-gradient(90deg,#CE8E86,#E6B4AC) !important; }

/* -- Mon approche : bande CLAIRE -- */
.jm-home .jm-split2.rev{ background:var(--jm-surface) !important;
  padding:94px max(20px,calc(50vw - 560px)) !important; gap:56px !important; align-items:center !important; }
.jm-home .jm-split2.rev > *{ max-width:none !important; }

/* -- Chiffres clés : bande SOMBRE (miroir) -- */
.jm-home .jm-stats{ background:linear-gradient(158deg,var(--jm-dark-2),var(--jm-dark)) !important;
  padding:60px max(20px,calc(50vw - 540px)) !important; }
.jm-home .jm-stats b{ color:#E6B4AC !important; }
.jm-home .jm-stats em{ color:#B9C7CC !important; }

/* -- Avis : bande CLAIRE teintée -- */
.jm-home #avis{ padding:86px max(20px,calc(50vw - 560px)) 78px !important; }

/* ===== SÉPARATEURS : petit filet d'accent au-dessus de chaque intitulé (rappel du site de réf) ===== */
.jm-home .jm-kicker{ position:relative; }
.jm-home .jm-sec .jm-kicker:before,.jm-home .jm-split2-txt .jm-kicker:before,.jm-home .jm-cta-final .jm-kicker:before{
  content:""; display:block; width:46px; height:3px; border-radius:3px; margin:0 0 1em;
  background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }
.jm-home .jm-sec .jm-kicker:before,.jm-home .jm-cta-final .jm-kicker:before{ margin-left:auto; margin-right:auto; }
.jm-home .jm-split2:not(.rev) .jm-kicker:before,.jm-home .jm-cta-final .jm-kicker:before{ background:linear-gradient(90deg,#CE8E86,#E6B4AC); }

/* ===== cadre décalé décoratif sur les images des blocs ===== */
.jm-home .jm-split2-img{ position:relative; }
.jm-home .jm-split2-img:after{ content:""; position:absolute; inset:16px -16px -16px 16px; z-index:-1;
  border:1px solid var(--jm-accent-2); border-radius:22px; opacity:.55; }
@media(max-width:860px){ .jm-home .jm-split2-img:after{ inset:12px -10px -12px 10px; } }
/* cartes services : pas de soulignement de lien sur le contenu */
.jm-home .jm-scard,.jm-home .jm-scard *{ text-decoration:none !important; }

/* ===================== NOUVEAUX BLOCS : domaines (chips) · bio découpée · trust avis · stats 3 ===================== */
.jm-home .jm-domaines,.jm-home .jm-bio{ width:100vw !important; max-width:none !important; margin-left:calc(50% - 50vw) !important; margin-top:0 !important; margin-bottom:0 !important; }

/* -- Domaines traités : bande SOMBRE (miroir) + chips -- */
.jm-home .jm-domaines{ background:linear-gradient(158deg,var(--jm-dark-2),var(--jm-dark)) !important; padding:90px max(20px,calc(50vw - 560px)) !important; text-align:center; }
.jm-home .jm-domaines .jm-kicker{ color:var(--jm-onDark-kick) !important; }
.jm-home .jm-domaines h2{ font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:500; color:var(--jm-onDark) !important; font-size:clamp(1.9rem,3.6vw,2.8rem); margin:0 0 .2em; }
.jm-home .jm-dom-grid{ display:grid; grid-template-columns:1fr 1fr; gap:44px; max-width:1000px; margin:2.6em auto 0; text-align:left; }
@media(max-width:760px){ .jm-home .jm-dom-grid{ grid-template-columns:1fr; gap:34px; max-width:460px; } }
.jm-home .jm-dom-col h3{ font-family:'Cormorant Garamond',Georgia,serif !important; color:#fff !important; font-size:1.5rem; font-weight:600; margin:0 0 .9em; }
.jm-home .jm-chips{ display:flex; flex-wrap:wrap; gap:10px; }
.jm-home .jm-chips span{ display:inline-block; border:1px solid rgba(206,142,134,.5); background:rgba(255,255,255,.05); color:var(--jm-onDark-soft); padding:.5em 1.05em; border-radius:30px; font-size:.92rem; line-height:1.2; transition:all .25s ease; }
.jm-home .jm-chips span:hover{ background:var(--jm-accent-2); color:#20140f; border-color:var(--jm-accent-2); }

/* -- Bio / parcours : bande CLAIRE, tête photo + corps éditorial -- */
.jm-home .jm-bio{ background:var(--jm-surface) !important; padding:92px max(20px,calc(50vw - 560px)) !important; }
.jm-home .jm-bio-head{ display:grid; grid-template-columns:.82fr 1.18fr; gap:52px; align-items:center; max-width:1120px; margin:0 auto; }
@media(max-width:860px){ .jm-home .jm-bio-head{ grid-template-columns:1fr; gap:30px; } .jm-home .jm-bio-figure{ max-width:340px; margin:0 auto; } }
.jm-home .jm-bio-figure{ position:relative; min-height:470px; border-radius:200px 200px 24px 24px; overflow:hidden;
  background:#EFD7D2 url('/wp-content/uploads/2026/04/erasebg-transformed-685x1030.png') center bottom/contain no-repeat; box-shadow:0 30px 60px rgba(20,32,40,.16); }
.jm-home .jm-bio-figure:after{ content:""; position:absolute; inset:18px -16px -16px 18px; z-index:-1; border:1px solid var(--jm-accent-2); border-radius:200px 200px 24px 24px; opacity:.6; }
.jm-home .jm-bio-body{ max-width:880px; margin:2.6em auto 0; }
.jm-home .jm-bio .jm-kicker{ color:var(--jm-accent); }
.jm-home .jm-bio h2{ font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:500; color:var(--jm-text); font-size:clamp(2rem,4vw,3rem); line-height:1.12; margin:0 0 .7em; }
.jm-home .jm-bio-lead{ font-size:1.2rem; line-height:1.75; color:var(--jm-text) !important; margin:0 0 1.6em; }
.jm-home .jm-bio-cols{ display:grid; grid-template-columns:1fr 1fr; gap:38px; margin:0 0 .4em; }
@media(max-width:760px){ .jm-home .jm-bio-cols{ grid-template-columns:1fr; gap:0; } }
.jm-home .jm-bio p{ color:#46545C !important; line-height:1.85; }
.jm-home .jm-bio-callout{ font-family:'Cormorant Garamond',Georgia,serif; font-style:italic; font-size:1.32rem; line-height:1.5; color:var(--jm-accent) !important; background:rgba(29,78,90,.05); border-left:3px solid var(--jm-accent-2); border-radius:0 16px 16px 0; padding:1.1em 1.5em; margin:1.8em auto; }
.jm-home .jm-bio-cta{ margin-top:1.8em; }
.jm-home .jm-avis-note{ color:var(--jm-muted); font-size:1rem; margin:.1em 0 0; }
/* note « engagement / bénévolat » */
.jm-home .jm-bio-note{ display:flex; gap:16px; align-items:flex-start; margin:1.8em 0 0; padding:20px 24px; border-radius:16px; background:rgba(29,78,90,.05); border:1px solid var(--jm-border); border-left:3px solid var(--jm-accent-2); }
.jm-home .jm-bio-note svg{ flex:0 0 auto; width:26px; height:26px; fill:var(--jm-accent); margin-top:2px; }
.jm-home .jm-bio-note p{ margin:0; color:#46545C !important; line-height:1.65; }
.jm-home .jm-bio-note b{ color:var(--jm-accent); font-weight:600; }

/* ===================== BLOG (liste, archives, article) ===================== */
/* cartes d'article */
.blog .ast-article-post,.archive .ast-article-post,.search .ast-article-post,
.ast-separate-container .ast-article-post{
  background:var(--jm-surface) !important; border:1px solid var(--jm-border) !important; border-radius:18px !important;
  box-shadow:0 10px 30px rgba(20,32,40,.06) !important; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease;
}
.blog .ast-article-post:hover,.archive .ast-article-post:hover,.search .ast-article-post:hover{
  transform:translateY(-4px); box-shadow:0 18px 42px rgba(20,32,40,.12) !important;
}
.ast-article-post .post-thumb,.ast-article-post .ast-article-image-container{ overflow:hidden; }
.ast-article-post .post-thumb img{ transition:transform .5s ease; }
.blog .ast-article-post:hover .post-thumb img,.archive .ast-article-post:hover .post-thumb img{ transform:scale(1.04); }
/* titres serif + accent */
.blog .entry-title a,.archive .entry-title a,.search .entry-title a,.single .entry-title{
  font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:600; letter-spacing:.2px; line-height:1.16;
}
.entry-title a{ color:var(--jm-text) !important; }
.entry-title a:hover{ color:var(--jm-accent) !important; }
.single .entry-title{ color:var(--jm-text) !important; font-size:clamp(2rem,4vw,3rem); }
/* méta */
.ast-blog-meta-container,.entry-meta,.entry-meta *,.post-meta,.posted-on,.ast-blog-single-element,.ast-blog-single-element *{ color:var(--jm-muted) !important; }
.entry-meta a:hover{ color:var(--jm-accent) !important; }
/* lire la suite */
.blog .read-more a,.archive .read-more a,.search .read-more a{ color:var(--jm-accent) !important; font-weight:600; }
/* image à la une single arrondie */
.single .wp-post-image,.single .post-thumb img{ border-radius:18px; }
/* contenu single : lecture confortable + titres serif */
.single .entry-content{ font-size:1.06rem; line-height:1.85; }
.single .entry-content h2,.single .entry-content h3{ font-family:'Cormorant Garamond',Georgia,serif !important; color:var(--jm-text) !important; font-weight:600; }
.single .entry-content h2{ font-size:clamp(1.6rem,3vw,2.2rem); margin-top:1.5em; }
.single .entry-content h2:after{ content:""; display:block; width:52px; height:2px; margin:.35em 0 .1em; border-radius:2px; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }
.single .entry-content a{ color:var(--jm-accent) !important; }
.single blockquote,.blog blockquote{ border-left:3px solid var(--jm-accent-2) !important; background:rgba(29,78,90,.05); border-radius:0 14px 14px 0; }
/* boîte auteur */
.ast-author-box{ background:var(--jm-surface) !important; border:1px solid var(--jm-border) !important; border-radius:18px !important; box-shadow:0 10px 30px rgba(20,32,40,.06); }
.ast-author-box .ast-author-name a,.ast-author-box .ast-author-title,.ast-author-box .authorbox-heading{ color:var(--jm-text) !important; }
/* pagination */
.ast-pagination a,.page-numbers,.ast-pagination .page-numbers{ color:var(--jm-accent) !important; border-radius:8px; }
.page-numbers.current,.ast-pagination .page-numbers.current{ background:var(--jm-accent) !important; color:#fff !important; border-color:var(--jm-accent) !important; }
/* sidebar widgets (hors footer) */
#secondary .widget,.ast-sidebar .widget{ background:var(--jm-surface) !important; border:1px solid var(--jm-border); border-radius:16px; padding:22px; margin-bottom:24px; box-shadow:0 8px 22px rgba(20,32,40,.05); }
#secondary .widget-title,.ast-sidebar .widget-title{ font-family:'Cormorant Garamond',Georgia,serif !important; color:var(--jm-text) !important; font-size:1.3rem; font-weight:600; }
#secondary .widget a,.ast-sidebar .widget a{ color:var(--jm-accent) !important; }
#secondary .widget li,.ast-sidebar .widget li{ color:var(--jm-text) !important; }

/* --- Archives catégories : titre H1 dégagé du header + serif pétrole + description --- */
.archive .ast-archive-description,.category .ast-archive-description{ max-width:820px; margin:0 auto; padding:126px 20px 6px !important; text-align:center; }
.ast-archive-title,.archive .page-title,.category .page-title{ font-family:'Cormorant Garamond',Georgia,serif !important; color:var(--jm-text) !important; font-size:clamp(2rem,4.2vw,3rem) !important; font-weight:600 !important; line-height:1.14; }
.ast-archive-description .ast-archive-title:after{ content:""; display:block; width:70px; height:3px; margin:.45em auto .2em; border-radius:3px; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }
.ast-archive-description .archive-description,.ast-archive-description p{ color:var(--jm-muted) !important; font-size:1.02rem; line-height:1.7; margin-top:.6em; }

/* --- Blog single : sortir du « tout blanc » — fond teinté + contenu & sidebar en cartes --- */
body.single-post .elementor-element-0e69a4b{ background:radial-gradient(42rem 24rem at 50% -12%, rgba(29,78,90,.11), transparent 70%),radial-gradient(30rem 20rem at 92% 20%, rgba(206,142,134,.10), transparent 72%),var(--jm-surface-2) !important; }
body.single-post .elementor-element-482d7e4{ background:var(--jm-surface-2) !important; padding-top:52px !important; padding-bottom:44px !important; }
body.single-post .elementor-element-1474acb{ background:var(--jm-surface) !important; border:1px solid var(--jm-border); border-radius:22px; box-shadow:0 16px 44px rgba(20,32,40,.08); padding:40px 46px !important; }
@media(max-width:768px){ body.single-post .elementor-element-1474acb{ padding:26px 22px !important; border-radius:16px; } }
body.single-post .elementor-element-jmsbwid1 .widget{ background:var(--jm-surface); border:1px solid var(--jm-border); border-radius:16px; padding:22px 26px; margin-bottom:22px; box-shadow:0 8px 22px rgba(20,32,40,.05); }
body.single-post .elementor-element-812d139{ background:var(--jm-surface-2) !important; }

/* --- Blog single (template Elementor Theme Builder) : contenu propre, titres serif --- */
.elementor-widget-theme-post-content h2,.elementor-widget-theme-post-content h3,.elementor-widget-theme-post-content h4{ font-family:'Cormorant Garamond',Georgia,serif !important; color:var(--jm-text) !important; font-weight:600 !important; text-transform:none !important; letter-spacing:.2px; line-height:1.18; }
.elementor-widget-theme-post-content h2{ font-size:clamp(1.7rem,3vw,2.35rem) !important; margin:1.5em 0 .5em !important; }
.elementor-widget-theme-post-content h2:after{ content:""; display:block; width:52px; height:2px; margin:.35em 0 0; border-radius:2px; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }
.elementor-widget-theme-post-content h3{ font-size:clamp(1.35rem,2.4vw,1.7rem) !important; margin:1.3em 0 .4em !important; color:var(--jm-accent) !important; }
.elementor-widget-theme-post-content p,.elementor-widget-theme-post-content li{ color:#46545C !important; line-height:1.85; font-size:1.05rem; }
.elementor-widget-theme-post-content a{ color:var(--jm-accent) !important; }
.elementor-widget-theme-post-content blockquote{ border-left:3px solid var(--jm-accent-2) !important; background:rgba(29,78,90,.05); border-radius:0 14px 14px 0; padding:1em 1.4em; font-style:italic; }
.elementor-widget-theme-post-content img{ border-radius:16px; }
/* sidebar blog (widgets Elementor) : titres serif */
.elementor-widget-sidebar .widget-title,.elementor-widget-sidebar h2,.elementor-widget-sidebar h3{ font-family:'Cormorant Garamond',Georgia,serif !important; color:var(--jm-text) !important; }
.elementor-widget-sidebar a{ color:var(--jm-accent) !important; }

/* --- Liste blog via widget Elementor « Posts » (/blog-2/) --- */
.elementor-posts-container .elementor-post__card{ background:var(--jm-surface) !important; border:1px solid var(--jm-border) !important; border-radius:18px !important; box-shadow:0 10px 30px rgba(20,32,40,.06) !important; overflow:hidden; transition:transform .25s ease,box-shadow .25s ease; }
.elementor-posts-container .elementor-post__card:hover{ transform:translateY(-4px); box-shadow:0 18px 42px rgba(20,32,40,.12) !important; }
.elementor-posts-container .elementor-post__title,.elementor-posts-container .elementor-post__title a{ font-family:'Cormorant Garamond',Georgia,serif !important; font-weight:600 !important; }
.elementor-posts-container .elementor-post__title{ font-size:1.5rem !important; line-height:1.22 !important; margin-bottom:.5em !important; }
.elementor-posts-container .elementor-post__title a{ color:var(--jm-text) !important; }
.elementor-posts-container .elementor-post__title a:hover{ color:var(--jm-accent) !important; }
.elementor-post__excerpt p,.elementor-post__excerpt{ color:#46545C !important; }
.elementor-post__read-more{ color:var(--jm-accent) !important; font-weight:600; text-decoration:none !important; }
.elementor-post__meta-data,.elementor-post__meta-data *{ color:var(--jm-muted) !important; }
/* pas de vignette -> pas d'espace vide en haut de carte */
.elementor-post__thumbnail:empty,.elementor-post__thumbnail__link:empty,.elementor-post:not(:has(.elementor-post__thumbnail img)) .elementor-post__thumbnail__link{ display:none !important; }
.elementor-post__card .elementor-post__text{ padding-top:22px; }

/* filet d'accent au-dessus des kickers des nouveaux blocs */
.jm-home .jm-domaines .jm-kicker:before,.jm-home .jm-bio .jm-kicker:before{ content:""; display:block; width:46px; height:3px; border-radius:3px; margin:0 0 1em; background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }
.jm-home .jm-domaines .jm-kicker:before{ margin-left:auto; margin-right:auto; background:linear-gradient(90deg,#CE8E86,#E6B4AC); }

/* -- Stats à 3 colonnes -- */
.jm-home .jm-stats-3{ grid-template-columns:repeat(3,1fr) !important; }
@media(max-width:760px){ .jm-home .jm-stats-3{ grid-template-columns:1fr !important; gap:26px !important; } }
.jm-home .jm-stats-3 em{ max-width:16em; margin:0 auto; }

/* -- Barre de confiance avis (Resalib / Google / Pages Jaunes) -- */
.jm-home .jm-trust{ display:flex; flex-wrap:wrap; justify-content:center; gap:16px; max-width:1120px; margin:1.8em auto .4em; }
.jm-home .jm-trust-badge{ display:flex; flex-direction:column; align-items:center; gap:3px; text-decoration:none !important; background:var(--jm-surface); border:1px solid var(--jm-border); border-radius:16px; padding:15px 26px; min-width:170px; box-shadow:0 8px 22px rgba(20,32,40,.06); transition:all .25s cubic-bezier(.2,.7,.3,1); }
.jm-home .jm-trust-badge:hover{ transform:translateY(-3px); border-color:var(--jm-accent); box-shadow:0 14px 30px rgba(20,32,40,.12); }
.jm-home .jm-trust-badge b{ font-family:'Cormorant Garamond',Georgia,serif; font-size:1.2rem; font-weight:600; color:var(--jm-text); }
.jm-home .jm-trust-stars{ color:var(--jm-gold); letter-spacing:2px; font-size:.95rem; }
.jm-home .jm-trust-badge em{ color:var(--jm-muted); font-style:normal; font-size:.82rem; }

/* -- Correctif CTA final : titre / texte lisibles sur la prairie -- */
.jm-home .jm-cta-final{ background:linear-gradient(rgba(14,42,50,.66),rgba(14,42,50,.80)),url('/wp-content/uploads/2019/03/spring-tree-flowers-meadow-60006-1024x651.jpeg') center/cover no-repeat !important; }
.jm-home .jm-cta-final h2{ color:#fff !important; }
.jm-home .jm-cta-final p{ color:#EADCD8 !important; }
.jm-home .jm-cta-final .jm-kicker.light{ color:#EADCD8 !important; }
.jm-home .jm-cta-final .jm-kicker.light:before{ background:linear-gradient(90deg,#CE8E86,#E6B4AC); }

/* ===================== AVIS CLIENTS ÉLÉGANTS (plugin resalib-avis) ===================== */
/* Le plugin sort des cartes sombres (fond #020101, texte blanc, Roboto). On les repasse
   en cartes crème / prune / serif pour épouser la home, sans toucher au « lire la suite ». */
.jm-home #avis .jm-avis-wrap{ margin-top:2.4em; }
/* titre généré du plugin masqué (la barre de confiance affiche déjà Resalib) */
.jm-home .resalib-avis-titre{ display:none !important; }
.jm-home .resalib-avis-titre.jm-unused{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  color:var(--jm-accent) !important; font-size:1.4rem !important; font-weight:600 !important;
  text-align:center !important; margin:0 auto 2em !important; letter-spacing:.3px;
}
/* grille plus aérée + responsive doux */
.jm-home .resalib-avis-grille{ gap:26px !important; align-items:start; }
@media(max-width:860px){ .jm-home .resalib-avis-grille{ grid-template-columns:1fr 1fr !important; } }
@media(max-width:600px){ .jm-home .resalib-avis-grille{ grid-template-columns:1fr !important; max-width:440px; margin:0 auto; } }
/* carte crème élégante */
.jm-home .resalib-carte{
  background:var(--jm-surface) !important; color:var(--jm-text) !important;
  border:1px solid var(--jm-border) !important; border-radius:20px !important;
  padding:30px 26px 24px !important; font-family:inherit !important; position:relative;
  box-shadow:0 12px 34px rgba(20,32,40,.07) !important;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s ease;
}
.jm-home .resalib-carte:hover{ transform:translateY(-4px); box-shadow:0 20px 46px rgba(20,32,40,.13) !important; }
/* guillemet décoratif filigrane */
.jm-home .resalib-carte:before{
  content:"\201C"; font-family:'Cormorant Garamond',Georgia,serif;
  position:absolute; top:8px; right:22px; font-size:4.2rem; line-height:1;
  color:var(--jm-accent); opacity:.11; pointer-events:none;
}
/* en-tête : nom en serif pleine largeur, puis étoiles + date sur une ligne */
.jm-home .resalib-carte header{ margin-bottom:14px !important; }
.jm-home .resalib-carte header strong{
  flex-basis:100%; font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.45rem; font-weight:600; color:var(--jm-text); line-height:1.2;
}
.jm-home .resalib-carte .resalib-stars{ color:var(--jm-gold) !important; font-size:1.02em; letter-spacing:3px; }
.jm-home .resalib-carte time{ color:var(--jm-muted) !important; opacity:1 !important; font-size:.82em; }
.jm-home .resalib-carte p{ color:#46545C !important; font-size:1rem !important; line-height:1.72 !important; }
/* « lire la suite / réduire » en accent prune */
.jm-home .resalib-carte .resalib-plus{ color:var(--jm-accent) !important; opacity:1 !important; font-weight:600; text-decoration:none; border-bottom:1px solid rgba(29,78,90,.35); }
.jm-home .resalib-avis-lien a{ color:var(--jm-accent) !important; opacity:1 !important; font-weight:600; }

/* ===================== HARMONISATION : titres serif sur piliers / presse ===================== */
/* Cohérence avec la home élégante : les grands titres passent en Cormorant Garamond. */
body.jm-pillar .entry-title,.jm-pillar-body h2,.jm-pillar-body h3,
.jm-presse .jm-h2,.jm-presse .jm-name,.jm-pillar-body .jm-split-txt h2,
.jm-pillar-body .jm-cta-band p,.jm-pillar-body .jm-band p{
  font-family:'Cormorant Garamond',Georgia,serif !important;
  letter-spacing:.2px; line-height:1.16;
}
body.jm-pillar .entry-title{ font-size:clamp(2.1rem,4.6vw,3.2rem) !important; font-weight:600; }
.jm-pillar-body h2,.jm-presse .jm-h2{ font-size:clamp(1.7rem,3.2vw,2.35rem) !important; font-weight:600; }
.jm-pillar-body h3{ font-weight:600; }

/* ===================== MOBILE : hero portrait + header + menu ===================== */
@media (max-width: 921px){
  /* le cadre portrait (élément de grille centré en margin:auto, contenu en absolu) s'écrasait à 0 px de large -> vide */
  .jm-home .jm-hero-figure,.jm-qsj-hero-figure{ width:100%; }

  /* header compact : logo réduit, bouton sur une ligne, hamburger rond */
  #ast-mobile-header .ast-primary-header-bar{ min-height:0 !important; padding-top:8px !important; padding-bottom:8px !important; }
  #ast-mobile-header .custom-logo,#ast-mobile-header .site-logo-img img{ width:56px !important; max-width:56px !important; height:auto !important; }
  #ast-mobile-header .site-branding,#ast-mobile-header .ast-site-identity{ padding:0 !important; }
  #ast-mobile-header .ast-custom-button{ white-space:nowrap; font-size:.86rem !important; padding:.62em 1.1em !important; line-height:1.2 !important; }
  #ast-mobile-header .menu-toggle{ width:44px; height:44px; padding:0 !important; display:inline-flex !important; align-items:center; justify-content:center;
    border:0 !important; border-radius:50% !important; background:rgba(29,78,90,.09) !important; color:var(--jm-accent) !important; }
  #ast-mobile-header .menu-toggle .ast-mobile-svg,#ast-mobile-header .menu-toggle svg{ fill:var(--jm-accent) !important; width:20px; height:20px; }
  #ast-mobile-header .menu-toggle.toggled{ background:var(--jm-accent) !important; color:#fff !important; }
  #ast-mobile-header .menu-toggle.toggled svg{ fill:#fff !important; }
  #ast-mobile-header a:focus,#ast-mobile-header button:focus{ outline:none !important; }
  #ast-mobile-header a:focus-visible,#ast-mobile-header button:focus-visible{ outline:2px solid var(--jm-accent-2) !important; outline-offset:2px; }

  /* panneau du menu : fond franc, ombre, séparateurs, grandes zones de clic */
  #ast-mobile-header .main-header-bar-navigation{ background:var(--jm-surface) !important; border-top:1px solid var(--jm-border);
    box-shadow:0 22px 44px rgba(20,32,40,.16); max-height:calc(100vh - 80px); overflow-y:auto; }
  #ast-mobile-header .main-header-menu{ background:var(--jm-surface) !important; padding:6px 0 10px; }
  #ast-mobile-header .main-header-menu > .menu-item{ border-bottom:1px solid var(--jm-border); }
  #ast-mobile-header .main-header-menu .menu-link{ background:transparent !important; padding:15px 64px 15px 24px !important;
    font-size:1.04rem !important; font-weight:500; color:var(--jm-text) !important; line-height:1.3 !important; }
  #ast-mobile-header .main-header-menu .current-menu-item > .menu-link,#ast-mobile-header .main-header-menu .current-menu-ancestor > .menu-link{ color:var(--jm-accent) !important; box-shadow:inset 3px 0 0 var(--jm-accent-2); }
  /* flèches des sous-menus : visibles, couleur accent, cible 52 px */
  #ast-mobile-header .ast-menu-toggle{ width:56px !important; height:52px !important; top:0 !important; right:4px !important; display:flex !important; align-items:center; justify-content:center; color:var(--jm-accent) !important; }
  #ast-mobile-header .ast-menu-toggle svg{ width:16px !important; height:16px !important; fill:var(--jm-accent) !important; }
  /* sous-menus en retrait sur fond teinté */
  #ast-mobile-header .main-header-menu .sub-menu{ background:var(--jm-bg) !important; border:0 !important; box-shadow:none !important; }
  #ast-mobile-header .main-header-menu .sub-menu .menu-link{ padding:12px 24px 12px 40px !important; font-size:.96rem !important; font-weight:400; color:var(--jm-muted) !important; }
  #ast-mobile-header .main-header-menu .sub-menu .menu-item + .menu-item{ border-top:1px solid rgba(34,48,58,.07); }
}
@media (max-width: 360px){ #ast-mobile-header .ast-custom-button{ font-size:.8rem !important; padding:.55em .85em !important; } }
