/*
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:#B8925A;  /* 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:#B8925A;
  --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(184,146,90,.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:#E8D6AE !important; }
.jm-zone-dark > h2:after{ background:linear-gradient(90deg,#C9A66B,#E8D6AE) !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,#C9A66B,#E8D6AE); }
/* 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:#E8D6AE !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:#E8EEEE !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:#E8D6AE !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,#E8D6AE,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(184,146,90,.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:#E8D6AE; }
.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(184,146,90,.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,#E4EBEC 0%,#D2DEE0 62%,#C3D2D5 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:#E8EEEE !important; line-height:1.85; font-size:1.08rem; margin:0 0 1.4em; }
.jm-qsj-approche a{ color:#E8D6AE !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:#E8EEEE !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(184,146,90,.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:#E8EEEE; }
.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:#E8EEEE; 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(184,146,90,.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,#E4EBEC 0%,#D2DEE0 62%,#C3D2D5 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:#E8D6AE; }

/* 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:#E8D6AE !important; border-bottom-color:rgba(232,214,174,.45) !important; }
.jm-home .jm-split2:not(.rev) .jm-split2-txt h2:after{ background:linear-gradient(90deg,#B8925A,#E8D6AE) !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:#E8D6AE !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,#B8925A,#E8D6AE); }

/* ===== 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(184,146,90,.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:#E4EBEC 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(184,146,90,.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,#B8925A,#E8D6AE); }

/* -- 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:#E8EEEE !important; }
.jm-home .jm-cta-final .jm-kicker.light{ color:#E8EEEE !important; }
.jm-home .jm-cta-final .jm-kicker.light:before{ background:linear-gradient(90deg,#B8925A,#E8D6AE); }

/* ===================== 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; } }

/* =====================================================================================
   PASSE FINALE (03/10/2026) : harmonisation mobile/PC, contraste, couleur, nouvelles photos
   Aucun texte modifié. Bloc autonome : le retirer = revenir à l'état précédent.
   ===================================================================================== */
:root{
  --jm-text:#1E2B33;          /* texte un peu plus soutenu */
  --jm-body:#34434B;          /* paragraphes (avant #46545C, trop pâle) */
  --jm-muted:#4A5A62;         /* secondaire (avant #57676F) */
  --jm-accent-2:#B8925A;      /* blush plus présent */
  --jm-blush-d:#1D4E5A;       /* blush foncé : kickers, détails */
  --jm-bg:#F4F6F6;            /* fond légèrement réchauffé (moins gris/pâle) */
  --jm-surface-2:#E9EEEE;
  --jm-warm:#EEF3F3;          /* teinte blush très claire pour alterner les bandes */
  /* rythme vertical unique, fluide mobile -> PC */
  --jm-band-y:clamp(52px,7vw,90px);
  --jm-band-x:max(20px,calc(50vw - 560px));
  --jm-h2:clamp(1.75rem,3.3vw,2.55rem);
  --jm-img:'';
}
html,body,body:not(.single-post){ background-color:var(--jm-bg) !important; }

/* ---------- 1. TEXTES : un cran plus foncés ---------- */
.jm-pillar-body p,.jm-pillar-body li,.jm-pillar-body .jm-lead,.entry-content p,.elementor-widget-text-editor p,
.jm-home .jm-hero-sub,.jm-home .jm-bio p,.jm-home .jm-bio-note p,.jm-home .jm-split2-txt p,
.jm-qsj-sub,.jm-qsj .jm-lead-p,.jm-pcard p,.jm-home .resalib-carte p,.jm-pillar-body .jm-motifs-table td,
.elementor-widget-theme-post-content p,.elementor-widget-theme-post-content li{ color:var(--jm-body) !important; }
.jm-pillar-body .jm-info p,.jm-pillar-body .jm-reassure em,.jm-pillar-body .jm-seealso em,.jm-pillar-body .jm-faq p,
.jm-home .jm-strip em,.jm-home .jm-scard-b em,.jm-home .jm-trust-badge em,.jm-home .jm-avis-note,
.jm-form-item span,.jm-qsj-disclaimer,.resalib-carte time,.entry-meta,.entry-meta *{ color:var(--jm-muted) !important; }
h1,h2,h3,.entry-title{ color:var(--jm-text); }
/* sur fond sombre : textes plus lumineux */
.jm-pillar-body .jm-zone-dark > p,.jm-home .jm-split2:not(.rev) p,.jm-qsj-approche p{ color:#EEF3F3 !important; }
.jm-home .jm-chips span{ color:#E9F0F0 !important; border-color:rgba(232,214,174,.6) !important; }
.jm-home .jm-stats em{ color:#D6E1E3 !important; }

/* ---------- 2. COULEUR : kickers, filets, bandes, icônes ---------- */
.jm-kicker,.jm-home .jm-kicker,.jm-qsj .jm-kicker{ color:var(--jm-blush-d) !important; }
.jm-home .jm-domaines .jm-kicker,.jm-home .jm-cta-final .jm-kicker,.jm-cta-global .jm-kicker,.jm-qsj .jm-kicker.light,.jm-phero .jm-kicker{ color:#E8D6AE !important; }
/* bandes sombres : bleu nuit + halo blush (plus vivant, moins plat) */
.jm-zone-dark,.jm-home .jm-domaines,.jm-qsj-approche-band{
  background:radial-gradient(42rem 30rem at 88% 0%,rgba(184,146,90,.22),transparent 62%),
             radial-gradient(36rem 28rem at 6% 100%,rgba(64,140,150,.20),transparent 65%),
             linear-gradient(158deg,#1E4A59,#132E37) !important; }
/* bandes claires : alternance blanc / blush très clair (fini le gris pâle) */
.jm-zone-soft{ background:var(--jm-warm) !important; }
.jm-home #avis{ background:linear-gradient(180deg,var(--jm-warm),#E5EDEE) !important; }
.jm-zone-hero{ background:radial-gradient(34rem 30rem at 92% 8%,rgba(29,78,90,.12),transparent 70%),radial-gradient(30rem 28rem at 4% 96%,rgba(184,146,90,.18),transparent 72%) !important; }
/* filet sous/au-dessus des titres : blush plus net */
.jm-pillar-body .jm-zone > h2:before,.jm-home .jm-sec h2:after,.jm-qsj-sec h2:after,.jm-home .jm-split2-txt h2:after,
.jm-home .jm-sec .jm-kicker:before,.jm-home .jm-bio .jm-kicker:before{ background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)) !important; height:3px !important; }
/* icônes de réassurance : pastille blush */
.jm-home .jm-strip svg,.jm-pillar-body .jm-reassure svg{ box-sizing:content-box; padding:9px; border-radius:50%; background:rgba(184,146,90,.16); fill:var(--jm-accent) !important; }
/* cartes : liseré coloré en haut + ombre un peu plus franche */
.jm-home .jm-strip>div,.jm-pillar-body .jm-reassure>div,.jm-pillar-body .jm-info>div,.jm-pillar-body .jm-steps>div,.jm-pcard,.jm-home .resalib-carte,.jm-home .jm-trust-badge{
  border-top:3px solid var(--jm-accent-2) !important; box-shadow:0 12px 30px rgba(30,43,51,.09) !important; }
.jm-pillar-body .jm-topics a{ border-left:3px solid var(--jm-accent-2) !important; }
.jm-home .jm-stats b{ color:#E8D6AE !important; }
/* header : fin liseré blush pour ancrer la couleur */
.site-header,#masthead{ box-shadow:0 1px 0 rgba(30,43,51,.06),0 3px 0 -1px rgba(184,146,90,.35) !important; }

/* ---------- 3. ESPACEMENTS & PROPORTIONS : un seul rythme mobile/PC ---------- */
.jm-pillar-body .jm-zone{ padding:var(--jm-band-y) var(--jm-band-x) !important; }
.jm-pillar-body .jm-zone-hero,body.jm-hasphero .jm-zone-hero{ padding-top:clamp(36px,4.5vw,56px) !important; }
.jm-home #accompagnements,.jm-home .jm-domaines,.jm-home .jm-bio,.jm-home #avis,.jm-home .jm-split2{ padding:var(--jm-band-y) var(--jm-band-x) !important; }
.jm-home .jm-stats{ padding:clamp(44px,5.5vw,64px) var(--jm-band-x) !important; }
.jm-home .jm-cta-final,.jm-cta-global,.jm-qsj-final{ padding:clamp(64px,8vw,100px) 22px !important; }
.jm-qsj-sec{ padding:var(--jm-band-y) 22px 0 !important; }
.jm-qsj-approche-band{ padding:var(--jm-band-y) 22px !important; margin-top:var(--jm-band-y) !important; }
.jm-qsj-final{ margin-top:var(--jm-band-y) !important; }
/* titres de section : même taille et même respiration partout */
.jm-pillar-body h2,.jm-home .jm-sec h2,.jm-home .jm-domaines h2,.jm-home .jm-bio h2,.jm-qsj-sec h2,.jm-cta-global h2,.jm-home .jm-cta-final h2,.jm-qsj-final h2{ font-size:var(--jm-h2) !important; line-height:1.15 !important; }
.jm-pillar-body .jm-zone > h2{ margin:0 0 .7em !important; }
.jm-pillar-body .jm-zone > h2 + p,.jm-pillar-body .jm-zone > p + p{ margin-top:0 !important; }
.jm-pillar-body .jm-zone > p{ margin-bottom:1.05em !important; line-height:1.78; }
.jm-pillar-body .jm-zone > *:last-child{ margin-bottom:0 !important; }
/* hero image : proportions resserrées (moins de vide au-dessus/au-dessous) */
.jm-phero{ padding:clamp(76px,9vw,128px) 22px clamp(64px,8vw,104px) !important; }
.jm-phero .jm-lead-hero{ font-size:clamp(1rem,1.6vw,1.16rem) !important; }
.jm-phero h1{ font-size:clamp(2.1rem,5vw,3.6rem) !important; }
/* voile des hero : moins opaque -> les photos (et leurs couleurs) respirent, texte toujours lisible */
.jm-phero:before{ background:linear-gradient(to bottom,rgba(12,38,46,.42) 0%,rgba(12,38,46,.56) 50%,rgba(12,38,46,.78) 100%),
  radial-gradient(120% 90% at 50% 45%,transparent 50%,rgba(8,26,32,.45) 100%) !important; }
.jm-phero h1,.jm-phero .jm-lead-hero,.jm-phero .jm-kicker{ text-shadow:0 2px 18px rgba(0,0,0,.55) !important; }

@media (max-width:921px){
  .jm-home .jm-hero{ gap:26px !important; padding-top:88px !important; padding-bottom:8px !important; }
  .jm-home .jm-hero-figure{ min-height:380px !important; max-width:340px !important; }
  .jm-home .jm-strip{ margin-top:22px !important; gap:10px !important; }
  .jm-home .jm-strip>div{ padding:14px 10px !important; }
  .jm-home .jm-cards3{ gap:18px !important; }
  .jm-home .jm-bio-head{ gap:24px !important; }
  .jm-home .jm-bio-figure{ min-height:360px !important; }
  .jm-home .jm-dom-grid{ gap:28px !important; margin-top:1.8em !important; }
  .jm-qsj-hero{ padding-top:88px !important; gap:22px !important; }
  .jm-pillar-body .jm-reassure{ gap:10px !important; }
  .jm-phero .jm-btn-light{ padding:.8em 1.6em !important; }
}

/* ---------- 4. NOUVELLES PHOTOS ---------- */
/* portraits détourés (transparents) dans les arches blush */
.jm-home .jm-hero-portrait{ background:url('/wp-content/uploads/refonte/jm-portrait-col-roule.webp') center bottom/104% auto no-repeat !important; filter:none !important; }
.jm-home .jm-bio-figure{ background:linear-gradient(165deg,#E4EBEC 0%,#D2DEE0 62%,#C3D2D5 100%) !important; }
.jm-home .jm-bio-figure:before{ content:""; position:absolute; inset:0; background:url('/wp-content/uploads/refonte/jm-portrait-sherwani.webp') center bottom/108% auto no-repeat; }
.jm-qsj-hero-portrait{ background:url('/wp-content/uploads/refonte/jm-portrait-sherwani.webp') center bottom/106% auto no-repeat !important; filter:none !important; }
/* cartes accompagnements de l'accueil */
.jm-home .img-silhouette{ background-image:url('/wp-content/uploads/refonte/jm-couples-v2.webp') !important; background-position:12% 30% !important; }
.jm-home .img-couple{ background-image:url('/wp-content/uploads/refonte/jm-couples-v2.webp') !important; background-position:88% 30% !important; }
.jm-home .img-meditation{ background-image:url('/wp-content/uploads/refonte/jm-cabinet-hypnose.webp') !important; background-position:center 25% !important; }
/* hero des pages */
.jm-phero-couple{ background-image:url('/wp-content/uploads/refonte/jm-couples-v2.webp') !important; background-position:center 32% !important; }
.jm-phero-sexo{ background-image:url('/wp-content/uploads/refonte/jm-couples-duo-v2.webp') !important; background-position:center 30% !important; }
.jm-phero-hypno{ background-image:url('/wp-content/uploads/refonte/jm-cabinet-ambiance.webp') !important; background-position:center 16% !important; }
.jm-phero-pourquoi{ background-image:url('/wp-content/uploads/refonte/jm-foret-lumiere.webp') !important; background-position:center 40% !important; }
/* bandeau « Faisons connaissance » + CTA final de l'accueil : le lac */
.jm-cta-global,.jm-home .jm-cta-final,.jm-qsj-final{
  background:linear-gradient(rgba(12,38,46,.58),rgba(12,38,46,.74)),url('/wp-content/uploads/refonte/jm-lac.webp') center 55%/cover no-repeat !important; }
/* chiffres clés : feuilles d'automne sous voile bleu nuit (chaleur) */
.jm-home .jm-stats{ background:linear-gradient(158deg,rgba(30,74,89,.86),rgba(19,46,55,.90)),url('/wp-content/uploads/refonte/jm-automne.webp') center 60%/cover no-repeat !important; }
/* Pourquoi consulter : bandeau des 8 visages en tête de la 1re bande (« tout le monde peut consulter ») */
body.jm-p-pourquoi-consulter-sexotherapeute-toulouse .jm-pillar-body > .jm-zone:first-child:before{
  content:""; display:block; max-width:1080px; margin:0 auto clamp(28px,4vw,46px); aspect-ratio:1916/600; border-radius:20px;
  background:url('/wp-content/uploads/refonte/jm-visages.webp') center 28%/cover no-repeat; box-shadow:0 16px 40px rgba(30,43,51,.14); }
/* Mes outils : bande « Thérapies & accompagnement » sur l'ambiance du cabinet (sonothérapie) */
body.jm-p-mes-outils .jm-zone-dark{
  background:linear-gradient(158deg,rgba(30,74,89,.90),rgba(19,46,55,.93)),url('/wp-content/uploads/refonte/jm-cabinet-sonotherapie.webp') center 30%/cover no-repeat !important; }
/* -- correctifs passe finale -- */
/* filet sous les titres de section : il remontait dans le texte (marge négative héritée) */
.jm-home .jm-sec h2{ margin:0 0 1.2em !important; }
.jm-home .jm-sec h2:after,.jm-home .jm-cta-final h2:after{ margin:.5em auto 0 !important; }
/* hero accueil : plus de rectangle à bords nets derrière le texte ; portrait mieux cadré dans l'arche */
.jm-home .jm-hero{ background:none !important; }
.jm-home .jm-hero-portrait{ background-size:94% auto !important; }
/* cartes accueil : couples différents sur Sexothérapie (gauche) et Thérapie de couple (droite) */
.jm-home .img-silhouette,.jm-home .img-couple{ background-size:auto 135% !important; }
.jm-home .img-silhouette{ background-position:0% 28% !important; }
.jm-home .img-couple{ background-position:100% 28% !important; }
/* chiffres clés : voile allégé pour laisser voir la chaleur des feuilles */
.jm-home .jm-stats{ background:linear-gradient(158deg,rgba(30,74,89,.66),rgba(19,46,55,.80)),url('/wp-content/uploads/refonte/jm-automne.webp') center 72%/cover no-repeat !important; }
.jm-home .jm-stats b,.jm-home .jm-stats em{ text-shadow:0 2px 12px rgba(0,0,0,.45); }
@media (max-width:921px){
  /* portrait du bloc bio : même écrasement à 0 px que l'arche du hero */
  .jm-home .jm-bio-figure{ width:100%; }
  /* badges d'avis : 3 sur une ligne au lieu d'une colonne étroite */
  .jm-home .jm-trust{ flex-wrap:nowrap !important; gap:8px !important; }
  .jm-home .jm-trust-badge{ min-width:0 !important; flex:1 1 0; padding:12px 6px !important; }
  .jm-home .jm-trust-badge b{ font-size:1.02rem !important; }
  .jm-home .jm-trust-stars{ letter-spacing:0 !important; font-size:.8rem !important; }
  .jm-home .jm-trust-badge em{ font-size:.72rem !important; text-align:center; }
}
@media (min-width:922px){ .jm-qsj-hero{ padding-top:190px !important; } }
/* fil d'Ariane : fond sombre hérité de l'ancien thème (#160E14) en mobile -> transparent, discret et lisible */
.jm-breadcrumb,body.jm-pillar .jm-breadcrumb{ background:transparent !important; box-shadow:none !important; color:var(--jm-muted) !important; font-size:12.5px !important; }
.jm-breadcrumb a{ color:var(--jm-accent) !important; }
@media (max-width:921px){ body.jm-pillar .jm-breadcrumb{ padding:84px 20px 8px !important; } }

/* =====================================================================================
   RELIEF PAR LES PHOTOS D'AMBIANCE (03/10/2026) — accent or doux, plus de saumon
   ===================================================================================== */
:root{ --jm-accent-2:#B8925A; --jm-gold-l:#E8D6AE; --jm-warm:#EEF3F3; }
/* arches des portraits : photo d'ambiance floutée derrière le portrait détouré (fini le fond rose) */
/* (05/11/2026) anciennes arches photo derrière les portraits supprimées : montage refusé, et Airlift les reprenait dans son CSS critique */
.jm-home .jm-bio-figure:after{ border-color:var(--jm-accent-2) !important; }
/* bandes sombres : photo d'ambiance sous voile bleu nuit -> profondeur au lieu d'un aplat */
.jm-home .jm-domaines{ background:linear-gradient(158deg,rgba(26,66,80,.88),rgba(17,41,50,.93)),url('/wp-content/uploads/refonte/jm-foret-lumiere.webp') center 40%/cover no-repeat !important; }
.jm-pillar-body .jm-zone-dark{ background:linear-gradient(158deg,rgba(26,66,80,.88),rgba(17,41,50,.93)),url('/wp-content/uploads/refonte/jm-foret-lumiere.webp') center 40%/cover no-repeat !important; }
.jm-pillar-body .jm-zone-dark ~ .jm-zone-dark{ background:linear-gradient(158deg,rgba(26,66,80,.86),rgba(17,41,50,.92)),url('/wp-content/uploads/refonte/jm-lac.webp') center 60%/cover no-repeat !important; }
.jm-qsj-approche-band{ background:linear-gradient(158deg,rgba(26,66,80,.87),rgba(17,41,50,.92)),url('/wp-content/uploads/refonte/jm-lac.webp') center 55%/cover no-repeat !important; }
body.jm-p-mes-outils .jm-zone-dark{ background:linear-gradient(158deg,rgba(26,66,80,.86),rgba(17,41,50,.92)),url('/wp-content/uploads/refonte/jm-cabinet-sonotherapie.webp') center 30%/cover no-repeat !important; }
/* bande avis : blanc froid légèrement teinté (plus de rose) */
.jm-home #avis{ background:linear-gradient(180deg,#EEF3F3,#E6EEEF) !important; }
/* détails or : fins et discrets (cartes, pastilles, filets) */
.jm-home .jm-strip>div,.jm-pillar-body .jm-reassure>div,.jm-pillar-body .jm-info>div,.jm-pillar-body .jm-steps>div,.jm-pcard,.jm-home .resalib-carte,.jm-home .jm-trust-badge{ border-top:2px solid var(--jm-accent-2) !important; }
.jm-home .jm-strip svg,.jm-pillar-body .jm-reassure svg{ background:rgba(29,78,90,.09) !important; }
.jm-kicker,.jm-home .jm-kicker,.jm-qsj .jm-kicker{ color:var(--jm-accent) !important; }
.jm-home .jm-domaines .jm-kicker,.jm-home .jm-cta-final .jm-kicker,.jm-cta-global .jm-kicker,.jm-qsj .jm-kicker.light,.jm-phero .jm-kicker,.jm-zone-dark .jm-kicker{ color:var(--jm-gold-l) !important; }
.jm-home .jm-chips span{ border-color:rgba(232,214,174,.55) !important; }
.jm-home .jm-stats b{ color:var(--jm-gold-l) !important; }
.site-header,#masthead{ box-shadow:0 1px 0 rgba(30,43,51,.08),0 6px 18px -10px rgba(19,46,55,.25) !important; }
/* voiles allégés : l'ambiance photo se voit davantage, texte toujours lisible */
.jm-home .jm-domaines,.jm-pillar-body .jm-zone-dark{ background:linear-gradient(158deg,rgba(26,66,80,.80),rgba(17,41,50,.88)),url('/wp-content/uploads/refonte/jm-foret-lumiere.webp') center 40%/cover no-repeat !important; }
.jm-pillar-body .jm-zone-dark ~ .jm-zone-dark,.jm-qsj-approche-band{ background:linear-gradient(158deg,rgba(26,66,80,.78),rgba(17,41,50,.87)),url('/wp-content/uploads/refonte/jm-lac.webp') center 60%/cover no-repeat !important; }
body.jm-p-mes-outils .jm-zone-dark{ background:linear-gradient(158deg,rgba(26,66,80,.80),rgba(17,41,50,.88)),url('/wp-content/uploads/refonte/jm-cabinet-sonotherapie.webp') center 30%/cover no-repeat !important; }
.jm-home .jm-stats{ background:linear-gradient(158deg,rgba(26,66,80,.55),rgba(17,41,50,.70)),url('/wp-content/uploads/refonte/jm-automne.webp') center 65%/cover no-repeat !important; }
.jm-pillar-body .jm-zone-dark > h2,.jm-pillar-body .jm-zone-dark > p,.jm-home .jm-domaines h2,.jm-home .jm-domaines h3{ text-shadow:0 1px 14px rgba(0,0,0,.35); }
/* blocs « Ma méthode » des pages piliers : l'ancien petit portrait en pied sur fond beige -> photos d'ambiance */
.jm-pillar-body .jm-split-img.jm-img-portrait{ border:0 !important; box-shadow:0 24px 50px rgba(19,46,55,.22) !important; border-radius:22px !important; min-height:380px !important;
  }
body.jm-p-hypnotherapeute-a-toulouse .jm-pillar-body .jm-split-img.jm-img-portrait{
  background:url('/wp-content/uploads/refonte/jm-cabinet-hypnose.webp') center 30%/cover no-repeat !important; }
@media (max-width:820px){ .jm-pillar-body .jm-split-img.jm-img-portrait{ min-height:320px !important; } }

/* =====================================================================================
   HARMONISATION TOUTES PAGES (03/10/2026) : fil d'Ariane, hero Sonothèque, séparateurs photo
   ===================================================================================== */
/* --- fil d'Ariane : le header (≈128 px, superposé) le masquait -> sous le header, aligné à gauche, même rendu partout --- */
body.jm-pillar .jm-breadcrumb{ position:relative !important; z-index:2; max-width:1120px !important; margin:0 auto !important;
  padding:142px 22px 14px !important; text-align:left !important; font-size:13px !important; letter-spacing:.2px; }
body.jm-pillar .jm-breadcrumb .rank-math-breadcrumb p{ margin:0 !important; }
body.jm-pillar .jm-breadcrumb .separator{ color:var(--jm-accent-2) !important; padding:0 .35em; }
body.jm-pillar .jm-breadcrumb .last{ color:var(--jm-text) !important; font-weight:500; }
@media (max-width:921px){ body.jm-pillar .jm-breadcrumb{ padding:86px 20px 10px !important; } }
/* filet or orphelin de l'en-tête de page sans titre (Sonothèque) */
.entry-header.ast-no-title:after{ display:none !important; }

/* --- Sonothèque : hero aligné sur les autres pages (photo + voile + typo du site) --- */
body.jm-p-sonotheque .elementor-element.elementor-element-66bfe7e{
  background:linear-gradient(to bottom,rgba(12,38,46,.50) 0%,rgba(12,38,46,.62) 50%,rgba(12,38,46,.82) 100%),
             url('/wp-content/uploads/refonte/jm-cabinet-sonotherapie.webp') center 32%/cover no-repeat !important;
  padding:clamp(76px,9vw,128px) 22px clamp(64px,8vw,104px) !important; min-height:0 !important; text-align:center; }
body.jm-p-sonotheque .elementor-element-1cbd1ca{ display:none !important; }
body.jm-p-sonotheque .elementor-element-21411f9 .elementor-heading-title{ font-family:'Cormorant Garamond',Georgia,serif !important;
  color:#fff !important; font-weight:600 !important; font-size:clamp(2.1rem,5vw,3.6rem) !important; line-height:1.1 !important; text-shadow:0 2px 18px rgba(0,0,0,.55); }
body.jm-p-sonotheque .elementor-element-21411f9 .elementor-heading-title:after{ content:""; display:block; width:74px; height:2px; margin:.55em auto .2em;
  background:linear-gradient(90deg,transparent,var(--jm-accent-2),transparent); }
body.jm-p-sonotheque .elementor-element-9e43854 .elementor-heading-title,
body.jm-p-sonotheque .elementor-element-b274b33 .elementor-heading-title{ font-family:'Raleway',sans-serif !important; font-weight:400 !important;
  font-size:clamp(.98rem,1.5vw,1.1rem) !important; line-height:1.75 !important; color:#EEF3F3 !important; max-width:720px; margin:0 auto !important; text-shadow:0 2px 14px rgba(0,0,0,.5); }
body.jm-p-sonotheque .elementor-element-b274b33 .elementor-heading-title{ font-size:clamp(.88rem,1.2vw,.96rem) !important; opacity:.92; font-style:italic; }
/* mention « DÉCONSEILLÉ » : encart d'avertissement lisible */
body.jm-p-sonotheque .elementor-element-8027545{ width:auto !important; max-width:760px; margin:1.1em auto !important; }
body.jm-p-sonotheque .elementor-element-8027545 .elementor-heading-title{ display:inline-block; font-family:'Raleway',sans-serif !important; font-weight:600 !important;
  font-size:clamp(.84rem,1.2vw,.94rem) !important; line-height:1.55 !important; color:var(--jm-gold-l) !important;
  background:rgba(10,30,36,.45); border:1px solid rgba(232,214,174,.45); border-radius:14px; padding:.75em 1.2em; backdrop-filter:blur(2px); }
/* bloc lecteurs : même rythme et même titre que les bandes des autres pages */
body.jm-p-sonotheque .elementor-element-68574ac4{ padding:var(--jm-band-y) 20px !important; background:var(--jm-surface) !important; }
body.jm-p-sonotheque .elementor-element-66a3435 .elementor-heading-title{ font-size:var(--jm-h2) !important; color:var(--jm-text) !important; }
body.jm-p-sonotheque .elementor-element-66a3435 .elementor-heading-title:before{ content:""; display:block; width:52px; height:3px; border-radius:3px; margin:0 auto .8em;
  background:linear-gradient(90deg,var(--jm-accent),var(--jm-accent-2)); }

/* --- séparateurs photo d'ambiance : même bandeau arrondi sur toutes les pages, image différente par page --- */
body.jm-p-therapie-de-couple-a-toulouse{ --jm-sep:url('/wp-content/uploads/refonte/jm-automne.webp'); }
body.jm-p-sexotherapeute-a-toulouse,body.jm-p-sonotheque,body.jm-qsj{ --jm-sep:url('/wp-content/uploads/refonte/jm-foret-lumiere.webp'); }
body.jm-p-hypnotherapeute-a-toulouse,body.jm-p-pourquoi-consulter-sexotherapeute-toulouse{ --jm-sep:url('/wp-content/uploads/refonte/jm-lac.webp'); }
body.jm-p-mes-outils{ --jm-sep:url('/wp-content/uploads/refonte/jm-automne.webp'); }
body.jm-p-therapie-de-couple-a-toulouse .jm-pillar-body > .jm-zone-soft:before,
body.jm-p-sexotherapeute-a-toulouse .jm-pillar-body > .jm-zone-soft:before,
body.jm-p-hypnotherapeute-a-toulouse .jm-pillar-body > .jm-zone-soft:before,
body.jm-p-pourquoi-consulter-sexotherapeute-toulouse .jm-pillar-body > .jm-zone:nth-child(3):before,
body.jm-p-mes-outils .jm-pillar-body > .jm-zone-light:before,
body.jm-p-sonotheque .elementor-element-4646346:before,
body.jm-qsj .jm-qsj-approche-band ~ .jm-qsj-sec:before{
  content:""; display:block; width:100%; max-width:1080px; margin:0 auto clamp(32px,4.5vw,56px); aspect-ratio:1080/270; border-radius:20px;
  background:var(--jm-sep) center 55%/cover no-repeat; box-shadow:0 16px 40px rgba(30,43,51,.14); }
body.jm-p-sonotheque .elementor-element-4646346:before{ margin:clamp(28px,4vw,48px) auto; }
@media (max-width:921px){
  body.jm-pillar .jm-pillar-body > .jm-zone:before,body.jm-p-sonotheque .elementor-element-4646346:before,body.jm-qsj .jm-qsj-approche-band ~ .jm-qsj-sec:before{ aspect-ratio:16/7 !important; border-radius:16px !important; }
}
/* lien « dans la presse » (mu-plugin, styles en ligne orange de l'ancien thème) -> palette du site */
.jm-presse-cta{ margin:clamp(28px,4vw,44px) auto !important; }
.jm-presse-cta a{ color:var(--jm-accent) !important; border:1px solid rgba(29,78,90,.35) !important; background:var(--jm-surface) !important;
  box-shadow:0 8px 22px rgba(30,43,51,.08); font-weight:600; }
.jm-presse-cta a:hover{ background:var(--jm-accent) !important; color:#fff !important; border-color:var(--jm-accent) !important; }
/* Qui suis-je : la page a déjà son propre « Faisons connaissance » -> pas de doublon avec le bandeau global */
body.jm-qsj .jm-cta-global{ display:none !important; }
/* fil d'Ariane harmonisé sur TOUTES les pages : centré (comme les titres), juste sous le header */
.jm-breadcrumb,.jm-breadcrumb .rank-math-breadcrumb,.jm-breadcrumb p{ text-align:center !important; }
body:not(.jm-pillar) .jm-breadcrumb{ position:absolute !important; top:138px !important; left:0 !important; right:0 !important; max-width:1120px !important;
  margin:0 auto !important; padding:0 22px !important; z-index:5 !important; background:transparent !important; font-size:13px !important; }
.archive .ast-archive-description,.category .ast-archive-description{ padding-top:176px !important; }
@media (max-width:921px){ body:not(.jm-pillar) .jm-breadcrumb{ top:86px !important; } }
/* widgets « titre » Elementor utilisés comme simple texte (balise <p>) : typo de paragraphe du site, pas le serif des titres */
.elementor-widget-heading p.elementor-heading-title{ font-family:'Raleway',sans-serif !important; font-weight:400 !important; font-size:clamp(.98rem,1.3vw,1.06rem) !important;
  line-height:1.75 !important; letter-spacing:0 !important; text-transform:none !important; color:var(--jm-body) !important; }
/* --- Contact : hero au format des autres pages (photo + voile) et fin des vides (min-height 421px + marges 200px) --- */
body.jm-p-contact .elementor-element.elementor-element-393ef2a{ --min-height:0px !important; min-height:0 !important;
  background:linear-gradient(to bottom,rgba(12,38,46,.50) 0%,rgba(12,38,46,.62) 50%,rgba(12,38,46,.82) 100%),
             url('/wp-content/uploads/refonte/jm-cabinet-ambiance.webp') center 22%/cover no-repeat !important;
  padding:clamp(76px,9vw,128px) 22px clamp(64px,8vw,104px) !important; text-align:center; }
body.jm-p-contact .elementor-element-938323b{ display:none !important; }
body.jm-p-contact .elementor-element-1d16269 .elementor-heading-title{ color:#fff !important; font-size:clamp(2.1rem,5vw,3.6rem) !important; line-height:1.1 !important; text-shadow:0 2px 18px rgba(0,0,0,.55); }
body.jm-p-contact .elementor-element-1d16269 .elementor-heading-title:after{ content:""; display:block; width:74px; height:2px; margin:.55em auto .3em; background:linear-gradient(90deg,transparent,var(--jm-accent-2),transparent); }
body.jm-p-contact .elementor-element-7659874 .elementor-heading-title,body.jm-p-contact .elementor-element-68bc8d8 .elementor-heading-title{ color:#EEF3F3 !important; text-shadow:0 2px 14px rgba(0,0,0,.5); margin:0 !important; }
body.jm-p-contact .elementor-element.elementor-element-2ae7240{ --padding-top:var(--jm-band-y) !important; --padding-bottom:var(--jm-band-y) !important;
  padding-top:var(--jm-band-y) !important; padding-bottom:var(--jm-band-y) !important; }
/* Contact (header superposé) : le hero démarre sous le header ; marge du formulaire appliquée une seule fois ; fil d'Ariane clair sur la photo */
body.jm-p-contact .elementor-element.elementor-element-393ef2a{ padding-top:calc(130px + clamp(44px,5vw,80px)) !important; }
body.jm-p-contact .elementor-element-2ae7240 > .e-con-inner{ padding-top:0 !important; padding-bottom:0 !important; }
body.jm-p-contact .jm-breadcrumb,body.jm-p-contact .jm-breadcrumb .last{ color:#E8EEEE !important; }
body.jm-p-contact .jm-breadcrumb a{ color:var(--jm-gold-l) !important; }
body.jm-p-contact .jm-breadcrumb{ text-shadow:0 1px 8px rgba(0,0,0,.5); }
@media (max-width:921px){ body.jm-p-contact .elementor-element.elementor-element-393ef2a{ padding-top:calc(76px + 52px) !important; } }

/* ===== ACCUEIL : blocs séparateurs en photos d'ambiance (pleine largeur, effet de profondeur) ===== */
.jm-home #accompagnements:after,.jm-home .jm-domaines:after,.jm-home #avis:after{
  content:""; display:block; height:clamp(220px,28vw,400px);
  margin:var(--jm-band-y) calc(-1 * var(--jm-band-x)) calc(-1 * var(--jm-band-y));
  background-size:cover; background-repeat:no-repeat; box-shadow:inset 0 14px 24px -14px rgba(0,0,0,.25),inset 0 -14px 24px -14px rgba(0,0,0,.25); }
.jm-home #accompagnements:after{ background-image:url('/wp-content/uploads/refonte/jm-lac.webp'); background-position:center 55%; }
.jm-home .jm-domaines:after{ background-image:url('/wp-content/uploads/refonte/jm-automne.webp'); background-position:center 60%; }
.jm-home #avis:after{ background-image:url('/wp-content/uploads/refonte/jm-foret-lumiere.webp'); background-position:center 45%; }
@media (min-width:922px) and (hover:hover){
  .jm-home #accompagnements:after,.jm-home .jm-domaines:after,.jm-home #avis:after{ background-attachment:fixed; }
}

/* =====================================================================================
   REPASSE PAGE PAR PAGE (03/10/2026) — audit PC/mobile : proportions, contraste, couleur, photos.
   Aucun texte modifié.
   ===================================================================================== */
:root{ --jm-head:130px; --jm-muted:#3F4F57; }
@media (max-width:921px){ :root{ --jm-head:76px; } }

/* ---------- 0. Typo commune : polices et tailles imposées (Elementor écrasait en Roboto / 13,6px) ---------- */
.elementor-button,.elementor-field-group,.elementor-field,.elementor-field-textual,.elementor-form label,.elementor-icon-list-text,
.elementor-widget-text-editor,.elementor-widget-button,.elementor-post__excerpt,.elementor-post__meta-data,.elementor-pagination{ font-family:'Raleway',sans-serif !important; }
.elementor-button{ text-transform:none !important; letter-spacing:.02em !important; font-weight:600 !important; font-size:15px !important; border-radius:30px !important; }
.jm-cta a,.jm-btn,.jm-cta-global-btn,a.elementor-button,.jm-phero .jm-btn-light,.jm-qsj .jm-btn{ text-decoration:none !important; }
.jm-pillar-body p,.jm-pillar-body li{ font-size:16.5px !important; line-height:1.78 !important; }
.jm-pillar-body .jm-lead{ font-size:18px !important; }
.elementor-widget-theme-post-content p,.elementor-widget-theme-post-content li{ font-size:17px !important; line-height:1.8 !important; color:var(--jm-body) !important; }
.elementor-widget-theme-post-content h3{ font-weight:700 !important; }

/* ---------- 1. Fil d'Ariane : même rendu sur toutes les pages à hero photo (posé sur la photo, sous le header) ---------- */
body.jm-pillar .jm-breadcrumb{ position:absolute !important; top:calc(var(--jm-head) + 10px) !important; left:0 !important; right:0 !important;
  padding:0 22px !important; margin:0 auto !important; background:transparent !important; z-index:6 !important; text-shadow:0 1px 8px rgba(0,0,0,.55); }
body.jm-pillar .jm-breadcrumb,body.jm-pillar .jm-breadcrumb .last{ color:#E8EEEE !important; }
body.jm-pillar .jm-breadcrumb a{ color:var(--jm-gold-l) !important; }
.jm-phero{ padding-top:calc(var(--jm-head) + clamp(52px,6vw,96px)) !important; }
body.jm-p-sonotheque .elementor-element.elementor-element-66bfe7e{ padding-top:calc(var(--jm-head) + clamp(52px,6vw,96px)) !important; }
/* Mes outils : l'en-tête de page devient un hero photo comme les autres pages */
body.jm-p-mes-outils .entry-header{ width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-bottom:0 !important;
  padding:calc(var(--jm-head) + clamp(52px,6vw,96px)) 22px clamp(56px,7vw,96px) !important; text-align:center;
  background:linear-gradient(to bottom,rgba(12,38,46,.46),rgba(12,38,46,.58) 50%,rgba(12,38,46,.80)),url('/wp-content/uploads/refonte/jm-automne.webp') center 55%/cover no-repeat !important; }
body.jm-p-mes-outils .entry-header:after{ display:none !important; }
body.jm-p-mes-outils .entry-title{ color:#fff !important; font-size:clamp(2.1rem,5vw,3.6rem) !important; text-shadow:0 2px 18px rgba(0,0,0,.55); margin:0 !important; }
body.jm-p-mes-outils .entry-title:after{ content:""; display:block; width:74px; height:2px; margin:.55em auto 0; background:linear-gradient(90deg,transparent,var(--jm-accent-2),transparent); }
body.jm-p-mes-outils #content.site-content,body.jm-p-mes-outils .ast-article-single{ padding-top:0 !important; margin-top:0 !important; }

/* ---------- 2. Pages piliers : rythme, grilles sans orphelins, cartes ---------- */
/* un titre qui suit un autre bloc dans la même bande : vraie respiration (fini les titres collés) */
.jm-pillar-body .jm-zone > *:not(h2) + h2{ margin-top:clamp(48px,6vw,80px) !important; }
.jm-pillar-body .jm-zone > div + p{ margin-top:1.8em !important; }
/* grilles de cartes : colonnes automatiques (4 cartes = 4 colonnes, plus de carte seule sur une ligne) */
.jm-pillar-body .jm-info,.jm-pillar-body .jm-steps,.jm-pillar-body .jm-seealso{ display:grid !important; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)) !important; gap:18px !important; }
/* pastilles de motifs : dernière ligne centrée */
.jm-pillar-body .jm-topics{ display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:12px !important; }
.jm-pillar-body .jm-topics a{ flex:0 1 calc(33.333% - 12px) !important; min-width:220px; }
@media (max-width:640px){ .jm-pillar-body .jm-topics a{ flex:1 1 100% !important; min-width:0; } }
/* titres de cartes : présents, serif, bleu nuit */
.jm-pillar-body .jm-info > div > h3,.jm-pillar-body .jm-steps > div > h3{ font-family:'Cormorant Garamond',Georgia,serif !important; font-size:21px !important; font-weight:600 !important; color:var(--jm-accent) !important; margin:0 0 .45em !important; line-height:1.2 !important; }
.jm-pillar-body .jm-info > div p,.jm-pillar-body .jm-steps > div p{ font-size:15.5px !important; color:var(--jm-body) !important; }
.jm-pillar-body .jm-seealso a b{ font-family:'Cormorant Garamond',Georgia,serif !important; font-size:19px !important; color:var(--jm-accent) !important; }
.jm-pillar-body .jm-seealso a em{ color:var(--jm-muted) !important; text-decoration:none !important; }
.jm-pillar-body .jm-seealso a{ text-decoration:none !important; }
.jm-pillar-body .jm-reassure > div{ min-height:100%; }
/* photo du cabinet (mobile) : dans les marges, détachée de la bande au-dessus */
@media (max-width:921px){
  .jm-pillar-body > .jm-band.jm-img-cabinet{ width:auto !important; margin:32px 16px !important; min-height:0 !important; aspect-ratio:4/3; }
}
/* tableau des motifs (sexo) : tient dans l'écran en mobile */
@media (max-width:640px){
  .jm-pillar-body .jm-motifs-table table{ font-size:12.5px !important; table-layout:fixed; }
  .jm-pillar-body .jm-motifs-table th,.jm-pillar-body .jm-motifs-table td{ padding:7px 5px !important; word-break:break-word; hyphens:auto; -webkit-hyphens:auto; }
  .jm-pillar-body .jm-motifs-table th{ font-size:14px !important; }
}
/* Pourquoi consulter : photo du cabinet dans « Comment je travaille » ; mosaïque des visages lisible en mobile */
body.jm-p-pourquoi-consulter-sexotherapeute-toulouse .jm-pillar-body > .jm-zone:nth-child(3):after{
  content:""; display:block; max-width:860px; margin:clamp(28px,4vw,44px) auto 0; aspect-ratio:16/9; border-radius:20px;
  background:url('/wp-content/uploads/refonte/jm-cabinet-ambiance.webp') center 25%/cover no-repeat; box-shadow:0 18px 44px rgba(19,46,55,.2); }
@media (max-width:921px){ body.jm-p-pourquoi-consulter-sexotherapeute-toulouse .jm-pillar-body > .jm-zone:first-child:before{ aspect-ratio:4/3 !important; background-size:200% auto !important; background-position:center 30% !important; } }
/* lien « presse » : plus de bande vide isolée */
.jm-presse-cta{ margin:28px auto !important; }

/* ---------- 3. Accueil ---------- */
/* séparateurs : pas deux photos qui se suivent (forêt déplacée entre la bio et les chiffres ; chiffres sur fond bleu nuit uni) */
.jm-home #avis:after{ content:none !important; display:none !important; }
.jm-home .jm-bio:after{ content:""; display:block; height:clamp(220px,28vw,400px); margin:var(--jm-band-y) calc(-1 * var(--jm-band-x)) calc(-1 * var(--jm-band-y));
  background:url('/wp-content/uploads/refonte/jm-foret-lumiere.webp') center 45%/cover no-repeat; }
@media (min-width:922px) and (hover:hover){ .jm-home .jm-bio:after{ background-attachment:fixed; } }
.jm-home .jm-stats{ background:radial-gradient(40rem 26rem at 85% 0%,rgba(184,146,90,.22),transparent 62%),linear-gradient(158deg,#1E4A59,#132E37) !important;
  padding:clamp(48px,6vw,72px) var(--jm-band-x) !important; }
.jm-home .jm-stats b{ font-size:clamp(2.6rem,4.5vw,3.4rem) !important; margin-bottom:.15em; }
.jm-home .jm-stats em{ font-size:15px !important; color:#E2EAEC !important; }
/* bande d'icônes sous le hero : proportions plus généreuses */
.jm-home .jm-strip b{ font-size:15.5px !important; }
.jm-home .jm-strip em{ font-size:13.5px !important; }
.jm-home .jm-hero-sub{ font-size:17.5px !important; }
.jm-home #accompagnements{ padding-top:clamp(48px,6vw,76px) !important; }
.jm-home .jm-scard-b em{ font-size:15px !important; }
/* situations : pastilles lisibles */
.jm-home .jm-chips span{ font-size:14.5px !important; padding:.55em 1.15em !important; background:rgba(255,255,255,.10) !important; }
/* bio : corps de texte à la bonne taille, colonnes alignées sur le bloc photo/titre */
.jm-home .jm-bio p{ font-size:16.5px !important; }
.jm-home .jm-bio-lead{ font-size:18.5px !important; }
.jm-home .jm-bio-body{ max-width:1120px !important; }
@media (max-width:760px){ .jm-home .jm-bio-cols p{ margin:0 0 1.1em !important; } .jm-home .jm-bio-lead{ font-size:17px !important; } }
/* avis : cartes de même hauteur, dernière ligne centrée ; en mobile, défilement horizontal au lieu de 11 cartes empilées */
.jm-home .resalib-avis-grille{ display:flex !important; flex-wrap:wrap !important; justify-content:center !important; align-items:stretch !important; gap:22px !important; }
.jm-home .resalib-avis-grille > *{ flex:0 1 calc(33.333% - 15px) !important; max-width:none !important; }
@media (max-width:860px){
  .jm-home .resalib-avis-grille{ flex-wrap:nowrap !important; justify-content:flex-start !important; overflow-x:auto; scroll-snap-type:x mandatory; padding:4px 4px 18px !important; -webkit-overflow-scrolling:touch; }
  .jm-home .resalib-avis-grille > *{ flex:0 0 84% !important; scroll-snap-align:center; }
}

/* ---------- 4. Qui suis-je ---------- */
.jm-qsj-hero{ background:none !important; }
.jm-qsj-disclaimer{ color:#4A5A62 !important; }
@media (max-width:860px){ .jm-qsj-hero-figure{ order:-1; min-height:340px !important; max-width:320px !important; margin:0 auto 8px !important; } }

/* ---------- 5. Contact : colonnes en cartes, rythme régulier, formulaire aux couleurs du site ---------- */
body.jm-p-contact .elementor-element-65c4f44,body.jm-p-contact .elementor-element-207e698{ background:var(--jm-surface) !important; border-radius:20px !important;
  border-top:2px solid var(--jm-accent-2) !important; box-shadow:0 14px 36px rgba(30,43,51,.09) !important; padding:clamp(22px,3vw,36px) !important; }
body.jm-p-contact .elementor-element-2ae7240 > .e-con-inner{ gap:24px !important; }
body.jm-p-contact .elementor-element-65c4f44{ gap:14px !important; --gap:14px; }
body.jm-p-contact .elementor-element-65c4f44 > .elementor-element{ margin:0 !important; }
body.jm-p-contact .elementor-element-65c4f44 .elementor-widget-text-editor p{ margin:0 0 .4em !important; font-size:16px !important; }
body.jm-p-contact .elementor-form label{ color:var(--jm-accent) !important; font-weight:600 !important; font-size:14px !important; }
body.jm-p-contact .elementor-field-textual{ border:1px solid #D5DDE0 !important; border-radius:10px !important; font-size:15px !important; }
@media (max-width:921px){ body.jm-p-contact .elementor-element.elementor-element-2ae7240{ padding-left:16px !important; padding-right:16px !important; } }

/* ---------- 6. Sonothèque : écarts entre lecteurs ---------- */
body.jm-p-sonotheque .elementor-element-68574ac4{ gap:20px !important; --gap:20px; }
body.jm-p-sonotheque .elementor-element-66a3435{ margin-bottom:12px !important; }
body.jm-p-sonotheque .elementor-element-9e43854 .elementor-heading-title,body.jm-p-sonotheque .elementor-element-b274b33 .elementor-heading-title{ font-size:16.5px !important; }
body.jm-p-sonotheque .elementor-element-b274b33 .elementor-heading-title{ font-size:15px !important; color:#E2EAEC !important; opacity:1 !important; }

/* ---------- 7. Pied de page (toutes pages) : 3 colonnes équilibrées, lisibles, centrées en mobile ---------- */
.elementor-element.elementor-element-30a5398{ max-width:1160px !important; margin:0 auto !important; gap:clamp(28px,4vw,56px) !important; align-items:flex-start !important;
  padding:clamp(40px,5vw,64px) 22px !important; }
.elementor-element.elementor-element-30a5398 > .elementor-element{ flex:1 1 0 !important; min-width:0; }
.elementor-element-cb4d735 img{ width:108px !important; height:auto !important; }
.elementor-element-7b8f44d,.elementor-element-7b8f44d *{ font-size:15px !important; line-height:1.65 !important; color:var(--jm-body) !important; }
.elementor-element-7b8f44d h1,.elementor-element-7b8f44d h2,.elementor-element-7b8f44d h3,.elementor-element-7b8f44d h4{ font-size:22px !important; font-family:'Cormorant Garamond',Georgia,serif !important; color:var(--jm-text) !important; }
.elementor-element.elementor-element-8ab1c20{ display:flex !important; flex-direction:column !important; gap:14px !important; }
.elementor-element-8ab1c20 > .elementor-element-b71886a{ order:1; } .elementor-element-8ab1c20 > .elementor-element-70cb7db{ order:2; } .elementor-element-8ab1c20 > .elementor-element-d17a553{ order:3; margin-top:8px !important; }
.site-footer .elementor-heading-title,footer .elementor-heading-title{ font-size:24px !important; }
.elementor-element-70cb7db .elementor-icon-list-text,.elementor-element-9696112 .elementor-icon-list-text{ font-size:14.5px !important; color:var(--jm-body) !important; }
.elementor-element-70cb7db .elementor-icon-list-icon svg,.elementor-element-70cb7db .elementor-icon-list-icon i{ color:var(--jm-accent-2) !important; fill:var(--jm-accent-2) !important; }
.elementor-element-9696112 .elementor-icon-list-text{ color:var(--jm-accent) !important; font-weight:600 !important; letter-spacing:.04em; }
@media (max-width:921px){
  .elementor-element.elementor-element-30a5398{ flex-direction:column !important; align-items:center !important; text-align:center !important; }
  .elementor-element.elementor-element-30a5398 > .elementor-element{ width:100% !important; align-items:center !important; }
  .elementor-element-cb4d735 img{ width:88px !important; }
  .elementor-element-7b8f44d,.elementor-element-7b8f44d *{ text-align:center !important; }
  .elementor-element-70cb7db .elementor-icon-list-items,.elementor-element-9696112 .elementor-icon-list-items{ justify-content:center !important; }
  .elementor-element-70cb7db .elementor-icon-list-item,.elementor-element-9696112 .elementor-icon-list-item{ justify-content:center !important; }
}
/* bandeau « Faisons connaissance » : voile renforcé pour la lisibilité sur le ciel */
.jm-cta-global,.jm-home .jm-cta-final,.jm-qsj-final{ background:linear-gradient(rgba(12,38,46,.66),rgba(12,38,46,.80)),url('/wp-content/uploads/refonte/jm-lac.webp') center 55%/cover no-repeat !important; }

/* ---------- 8. Blog, catégories, articles : sortie de l'ancien thème + photos d'ambiance sur les cartes ---------- */
#jm-blog-cats p{ color:var(--jm-muted) !important; font-size:15px !important; }
#jm-blog-cats a{ background:var(--jm-surface) !important; color:var(--jm-accent) !important; border:1px solid rgba(29,78,90,.28) !important; border-radius:24px !important;
  box-shadow:0 6px 16px rgba(30,43,51,.07) !important; font-weight:600 !important; text-decoration:none !important; }
#jm-blog-cats a:hover{ background:var(--jm-accent) !important; color:#fff !important; }
body.jm-p-blog-2 .elementor-element-13f4366 .elementor-heading-title{ font-size:clamp(1.55rem,2.6vw,2.05rem) !important; color:var(--jm-accent) !important; }
.elementor-widget-text-editor p{ font-size:16px; }
/* cartes d'articles (liste blog + catégories) : photo d'ambiance en tête, en rotation */
.elementor-posts-container .elementor-post__card:before,.archive .ast-article-post .ast-article-inner:before,.blog .ast-article-post .ast-article-inner:before{
  content:""; display:block; aspect-ratio:16/8; background:url('/wp-content/uploads/refonte/jm-lac.webp') center/cover no-repeat; }
.elementor-posts-container .elementor-post:nth-child(4n+2) .elementor-post__card:before,.archive .ast-article-post:nth-child(4n+2) .ast-article-inner:before{ background-image:url('/wp-content/uploads/refonte/jm-foret-lumiere.webp'); }
.elementor-posts-container .elementor-post:nth-child(4n+3) .elementor-post__card:before,.archive .ast-article-post:nth-child(4n+3) .ast-article-inner:before{ background-image:url('/wp-content/uploads/refonte/jm-automne.webp'); }
.elementor-posts-container .elementor-post:nth-child(4n+4) .elementor-post__card:before,.archive .ast-article-post:nth-child(4n+4) .ast-article-inner:before{ background-image:url('/wp-content/uploads/refonte/jm-cabinet-ambiance.webp'); }
.elementor-post__excerpt p,.elementor-post__excerpt{ font-size:15px !important; color:var(--jm-body) !important; }
.elementor-post__meta-data,.elementor-post__meta-data *{ font-size:13px !important; color:var(--jm-muted) !important; }
.elementor-post__card .elementor-post__meta-data{ border-top-color:rgba(29,78,90,.10) !important; }
.elementor-pagination{ text-align:center !important; margin:clamp(28px,4vw,44px) 0 clamp(40px,5vw,60px) !important; font-size:15px !important; }
.elementor-pagination .page-numbers,.ast-pagination .page-numbers{ display:inline-flex !important; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px;
  margin:4px !important; border-radius:20px !important; border:1px solid rgba(29,78,90,.25) !important; color:var(--jm-accent) !important; background:var(--jm-surface) !important; text-decoration:none !important; }
.elementor-pagination .page-numbers.current,.ast-pagination .page-numbers.current{ background:var(--jm-accent) !important; color:#fff !important; border-color:var(--jm-accent) !important; }
.elementor-pagination .page-numbers.prev,.elementor-pagination .page-numbers.next{ padding:0 16px; }
/* catégories : grille centrée avec marges, une seule carte (pas de double cadre), méta lisible */
.archive .ast-row,.category .ast-row{ max-width:1180px !important; margin:0 auto !important; padding:0 20px !important; display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important; gap:24px !important; }
.archive .ast-row > .ast-article-post{ width:auto !important; max-width:none !important; padding:0 !important; margin:0 !important; overflow:hidden; }
.archive .ast-article-inner{ background:transparent !important; border:0 !important; box-shadow:none !important; padding:0 !important; }
.archive .ast-article-inner .post-content{ padding:22px 24px 26px !important; }
.archive .entry-meta,.archive .entry-meta *,.archive .ast-blog-meta-container *{ color:var(--jm-muted) !important; font-size:13px !important; }
.archive .cat-links a{ color:var(--jm-accent-2) !important; font-weight:700 !important; text-transform:uppercase; letter-spacing:.08em; font-size:12px !important; text-decoration:none !important; }
.archive .ast-pagination{ text-align:center !important; margin:36px 0 56px !important; }
/* article : moins de vide entre le titre et le contenu ; titres de la colonne harmonisés ; formulaire de commentaire propre */
body.single-post .elementor-element-0e69a4b{ padding-bottom:20px !important; }
body.single-post .elementor-element-482d7e4{ padding-top:24px !important; }
body.single-post .elementor-element-jmsbwid1 h2,body.single-post .elementor-element-jmsbwid1 h3,body.single-post .elementor-element-jmsbwid1 .widget-title{ font-size:22px !important; line-height:1.2 !important; color:var(--jm-text) !important; }
body.single-post .elementor-element-jmsbwid1 a{ color:var(--jm-accent) !important; font-weight:500; }
.comment-respond input[type=text],.comment-respond input[type=email],.comment-respond input[type=url],.comment-respond textarea{ border:1px solid #D5DDE0 !important; border-radius:10px !important; padding:10px 14px !important; background:#fff !important; }
.comment-respond{ margin-bottom:24px !important; }

/* ---------- 9. Mentions légales : contenu dans une carte centrée, lisible, sans vides ---------- */
body.jm-p-mentions-legales .elementor-element-a2fea56{ display:none !important; }
body.jm-p-mentions-legales .elementor-element.elementor-element-b7dea2c{ min-height:0 !important; --min-height:0px !important; padding:calc(var(--jm-head) + 40px) 22px 24px !important; }
body.jm-p-mentions-legales .elementor-element.elementor-element-0ec143a{ max-width:920px !important; margin:0 auto clamp(40px,5vw,64px) !important; padding:0 16px !important; }
body.jm-p-mentions-legales .elementor-element-4f6336c{ background:var(--jm-surface) !important; border-radius:20px; border-top:2px solid var(--jm-accent-2); box-shadow:0 14px 36px rgba(30,43,51,.08);
  padding:clamp(22px,4vw,48px) !important; }
body.jm-p-mentions-legales .elementor-element-4f6336c p,body.jm-p-mentions-legales .elementor-element-4f6336c li{ font-size:16px !important; color:var(--jm-body) !important; line-height:1.75 !important; }

/* header : largeur normale (1240px) partout — les règles « pleine largeur » de l'accueil / qui-suis-je l'élargissaient (bouton RDV collé à droite) */
.site-header .ast-container,#masthead .ast-container{ max-width:1240px !important; margin-left:auto !important; margin-right:auto !important; padding-left:20px !important; padding-right:20px !important; }

/* Presse : le titre était caché sous le header superposé -> hero photo comme les autres pages, fil d'Ariane clair sur la photo */
body.jm-p-presse-publications .entry-header{ width:100vw !important; margin-left:calc(50% - 50vw) !important; margin-bottom:0 !important;
  padding:calc(var(--jm-head) + clamp(52px,6vw,96px)) 22px clamp(56px,7vw,96px) !important; text-align:center;
  background:linear-gradient(to bottom,rgba(12,38,46,.46),rgba(12,38,46,.58) 50%,rgba(12,38,46,.80)),url('/wp-content/uploads/refonte/jm-lac.webp') center 50%/cover no-repeat !important; }
body.jm-p-presse-publications .entry-header:after{ display:none !important; }
body.jm-p-presse-publications .entry-title{ color:#fff !important; font-family:'Cormorant Garamond',Georgia,serif !important; font-size:clamp(2rem,4.4vw,3.2rem) !important; line-height:1.12 !important;
  max-width:900px; margin:0 auto !important; text-shadow:0 2px 18px rgba(0,0,0,.55); }
body.jm-p-presse-publications .entry-title:after{ content:""; display:block; width:74px; height:2px; margin:.55em auto 0; background:linear-gradient(90deg,transparent,var(--jm-accent-2),transparent); }
body.jm-p-presse-publications #content.site-content,body.jm-p-presse-publications .ast-article-single{ padding-top:0 !important; margin-top:0 !important; }
body.jm-p-presse-publications .jm-breadcrumb,body.jm-p-presse-publications .jm-breadcrumb .last{ color:#E8EEEE !important; text-shadow:0 1px 8px rgba(0,0,0,.55); }
body.jm-p-presse-publications .jm-breadcrumb a{ color:var(--jm-gold-l) !important; }
body.jm-p-presse-publications .jm-presse{ padding-top:clamp(36px,5vw,64px) !important; }
/* -- correctifs relecture -- */
/* tableau des motifs (sexo, mobile) : mots entiers + défilement horizontal au lieu de mots coupés */
@media (max-width:640px){
  .jm-pillar-body .jm-motifs-table{ overflow-x:auto !important; -webkit-overflow-scrolling:touch; margin-left:-4px; margin-right:-4px;
    background:linear-gradient(90deg,transparent 85%,rgba(30,43,51,.06)); border-radius:12px; }
  .jm-pillar-body .jm-motifs-table table{ table-layout:auto !important; min-width:560px; font-size:13.5px !important; }
  .jm-pillar-body .jm-motifs-table th,.jm-pillar-body .jm-motifs-table td{ word-break:normal !important; hyphens:none !important; -webkit-hyphens:none !important; white-space:nowrap; padding:8px 10px !important; }
}
/* fil d'Ariane mobile : plus d'air avant le surtitre du hero */
@media (max-width:921px){
  body.jm-pillar .jm-breadcrumb,body:not(.jm-pillar) .jm-breadcrumb{ font-size:12px !important; line-height:1.45 !important; }
  .jm-phero,body.jm-p-sonotheque .elementor-element.elementor-element-66bfe7e,body.jm-p-mes-outils .entry-header,body.jm-p-presse-publications .entry-header{ padding-top:calc(var(--jm-head) + 76px) !important; }
}
/* pagination des catégories : « Suivant » avec les numéros, centré */
.ast-pagination .page-numbers.prev,.ast-pagination .page-numbers.next,.ast-pagination .prev,.ast-pagination .next{ float:none !important; }
.ast-pagination,.ast-pagination .nav-links{ display:flex !important; flex-wrap:wrap; justify-content:center !important; align-items:center; gap:4px; }
/* liste du blog en mobile : mêmes marges latérales que le reste du site */
@media (max-width:767px){ body.jm-p-blog-2 .elementor-widget-posts,body.jm-p-blog-2 #jm-blog-cats{ padding-left:16px !important; padding-right:16px !important; } }

/* ===== Accueil : portrait de Jean-Marc posé directement sur le hero (sans arche ni photo de fond) — 03/10/2026 ===== */
.jm-home .jm-hero-figure{ background:none !important; box-shadow:none !important; border-radius:0 !important; overflow:visible !important; min-height:560px !important; align-self:end !important; }
.jm-home .jm-hero-figure:before,.jm-home .jm-hero-figure:after{ content:none !important; display:none !important; }
.jm-home .jm-hero-portrait{ background:url('/wp-content/uploads/refonte/jm-portrait-hero.webp') center bottom/contain no-repeat !important;
  filter:drop-shadow(0 26px 34px rgba(19,46,55,.22)) !important; }
@media (max-width:921px){ .jm-home .jm-hero-figure{ min-height:380px !important; max-width:380px !important; width:100% !important; margin:0 auto !important; } }
/* cartes accueil (montage 5 couples) : cadrage resserré -> couples 1-2 sur Sexothérapie, couples 4-5 sur Thérapie de couple, sans doublon */
.jm-home .img-silhouette,.jm-home .img-couple{ background-size:auto 210% !important; }
.jm-home .img-silhouette{ background-position:0% 26% !important; }
.jm-home .img-couple{ background-position:100% 26% !important; }

/* Contact : photo du papillon (iStock-2286995644, optimisée 68 Ko PC / 28 Ko mobile), voile léger pour qu'elle respire */
body.jm-p-contact .elementor-element.elementor-element-393ef2a{
  background:linear-gradient(to bottom,rgba(12,38,46,.38) 0%,rgba(12,38,46,.50) 55%,rgba(12,38,46,.66) 100%),
             url('/wp-content/uploads/refonte/jm-contact-papillon.webp') 30% 40%/cover no-repeat !important; }
@media (max-width:767px){
  body.jm-p-contact .elementor-element.elementor-element-393ef2a{
    background:linear-gradient(to bottom,rgba(12,38,46,.42) 0%,rgba(12,38,46,.54) 55%,rgba(12,38,46,.70) 100%),
               url('/wp-content/uploads/refonte/jm-contact-papillon-m.webp') 35% 40%/cover no-repeat !important; } }
body.jm-p-contact .elementor-element-1d16269 .elementor-heading-title,body.jm-p-contact .elementor-element-7659874 .elementor-heading-title,
body.jm-p-contact .elementor-element-68bc8d8 .elementor-heading-title{ text-shadow:0 2px 16px rgba(10,30,40,.65) !important; }

/* Bandeau « Faisons connaissance » (toutes pages + accueil + qui-suis-je) : prairie à l'aube (iStock-612241266, 156 Ko / 60 Ko mobile)
   au lieu du lac, pour ne plus avoir la même photo partout */
.jm-cta-global,.jm-home .jm-cta-final,.jm-qsj-final{
  background:linear-gradient(rgba(12,38,46,.55),rgba(12,38,46,.74)),url('/wp-content/uploads/refonte/jm-prairie-aube.webp') center 62%/cover no-repeat !important; }
@media (max-width:767px){
  .jm-cta-global,.jm-home .jm-cta-final,.jm-qsj-final{
    background:linear-gradient(rgba(12,38,46,.58),rgba(12,38,46,.76)),url('/wp-content/uploads/refonte/jm-prairie-aube-m.webp') center 60%/cover no-repeat !important; } }

/* menu principal en gras (PC + mobile) */
.main-header-menu .menu-link,.main-header-menu > .menu-item > a,#ast-mobile-header .main-header-menu > .menu-item > .menu-link{ font-weight:600 !important; }
.main-header-menu .sub-menu .menu-link{ font-weight:500 !important; }

/* =====================================================================================
   CADRAGES (05/10/2026) : aucune tête ni visage coupé, PC et mobile
   ===================================================================================== */
/* Sonothèque : Jean-Marc au diapason -> tête dans le cadre */
body.jm-p-sonotheque .elementor-element.elementor-element-66bfe7e{ background-position:center top,center 4% !important; }
/* Hypno : point focal en haut (têtes visibles) ; mobile : cadré sur la scène de droite */
.jm-phero-hypno{ background-position:center 2% !important; }
@media (max-width:767px){ .jm-phero-hypno{ background-position:72% 4% !important; } }
/* Couple : montage entier, haut des têtes conservé ; mobile : un seul couple entier (panneau central) */
.jm-phero-couple{ background-image:url('/wp-content/uploads/refonte/jm-couples-v2.webp') !important; background-size:cover !important; background-position:center 0% !important; }
@media (max-width:767px){ .jm-phero-couple{ background-size:500% auto !important; background-position:50% 0% !important; } }
/* Sexo : PC = montage moins zoomé centré sur les couples 2-4 (fini les fronts coupés) ; mobile = un seul couple entier (panneau 2) */
.jm-phero-sexo{ background-image:url('/wp-content/uploads/refonte/jm-couples-v2.webp') !important; background-size:135% auto !important; background-position:42% 0% !important; }
@media (max-width:767px){ .jm-phero-sexo{ background-size:500% auto !important; background-position:25% 0% !important; } }
/* Photo du cabinet (couple, sexo, hypno) en mobile : plus haute et cadrée pour garder les 3 personnes */
@media (max-width:921px){ .jm-pillar-body > .jm-band.jm-img-cabinet{ aspect-ratio:1/1 !important; background-position:66% center !important; } }
/* Hypno « L'hypnose, comment ça marche » : haut du crâne conservé */
body.jm-p-hypnotherapeute-a-toulouse .jm-pillar-body .jm-split-img.jm-img-portrait{ background-position:center 6% !important; }
/* Portraits en arche (bio de l'accueil, hero qui-suis-je) : un peu d'air au-dessus de la tête */
.jm-home .jm-bio-figure:before{ background-size:94% auto !important; }
.jm-qsj-hero-portrait{ background-size:92% auto !important; }
/* Cartes de l'accueil : images dédiées 2 couples pile (plus de tranche de visage au bord) */
.jm-home .img-silhouette{ background:url('/wp-content/uploads/refonte/jm-couples-12.webp') center 26%/cover no-repeat !important; }
.jm-home .img-couple{ background:url('/wp-content/uploads/refonte/jm-couples-45.webp') center 26%/cover no-repeat !important; }

/* PORTRAITS NATURELS (05/10/2026) : plus de montage (fini les photos floutées / arches derrière Jean-Marc) */
.jm-home .jm-bio-figure,.jm-qsj-hero-figure{ background:none !important; box-shadow:none !important; border-radius:0 !important; overflow:visible !important; }
.jm-home .jm-bio-figure:after,.jm-qsj-hero-figure:after{ content:none !important; display:none !important; }
.jm-home .jm-bio-figure:before{ background:url('/wp-content/uploads/refonte/jm-portrait-sherwani.webp') center bottom/contain no-repeat !important; filter:drop-shadow(0 22px 30px rgba(19,46,55,.20)); }
.jm-qsj-hero-portrait{ background:url('/wp-content/uploads/refonte/jm-portrait-sherwani.webp') center bottom/contain no-repeat !important; filter:drop-shadow(0 22px 30px rgba(19,46,55,.20)) !important; }
body.jm-p-therapie-de-couple-a-toulouse .jm-pillar-body .jm-split-img.jm-img-portrait{
  background:url('/wp-content/uploads/refonte/jm-portrait-sherwani.webp') center bottom/contain no-repeat !important;
  box-shadow:none !important; border-radius:0 !important; filter:drop-shadow(0 22px 30px rgba(19,46,55,.20)); }

/* ===== MENU STICKY (06/10/2026) : header fixé en haut, compacté au défilement ===== */
#masthead{ position:fixed !important; top:0; left:0; right:0; width:100%; z-index:999; transition:box-shadow .25s ease; }
body.admin-bar #masthead{ top:32px; }
@media (max-width:782px){ body.admin-bar #masthead{ top:46px; } }
#masthead .ast-primary-header-bar,#masthead .main-header-bar{ transition:min-height .25s ease,padding .25s ease; }
#masthead .custom-logo,#masthead .ast-custom-button{ transition:all .25s ease; }
body.jm-scrolled #masthead{ box-shadow:0 6px 22px rgba(19,46,55,.14) !important; }
@media (min-width:922px){
  body.jm-scrolled #ast-desktop-header .ast-primary-header-bar,body.jm-scrolled #ast-desktop-header .main-header-bar{ min-height:0 !important; padding-top:6px !important; padding-bottom:6px !important; }
  body.jm-scrolled #ast-desktop-header .site-primary-header-wrap{ min-height:64px !important; }
  body.jm-scrolled #ast-desktop-header .ast-custom-button{ padding-top:10px !important; padding-bottom:10px !important; }
}
@media (min-width:922px){
  #ast-desktop-header .main-header-menu > .menu-item > .menu-link{ transition:line-height .25s ease; }
  body.jm-scrolled #ast-desktop-header .main-header-menu > .menu-item > .menu-link{ line-height:64px !important; }
  body.jm-scrolled #ast-desktop-header .ast-primary-header-bar,body.jm-scrolled #ast-desktop-header .main-header-bar{ padding-top:4px !important; padding-bottom:4px !important; }
}

/* Avis Google (Elfsight) dans la section avis de l'accueil */
.jm-home .jm-google-reviews{ max-width:1120px; margin:2em auto 1.2em; text-align:left; }
/* Avis Google synchronisés (shortcode [jm_google_avis]) — même style que les cartes Resalib */
.jm-home .jm-gavis{ max-width:1120px; margin:2.2em auto 1.6em; }
.jm-home .jm-gavis-head{ text-align:center; margin:0 0 1.4em; font-size:16px; color:var(--jm-body); }
.jm-home .jm-gavis-g{ font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:1.3rem; color:var(--jm-text); }
.jm-home .jm-gavis-stars{ color:var(--jm-gold); letter-spacing:2px; }
.jm-home .jm-gavis-head a{ color:var(--jm-accent) !important; font-weight:600; }
.jm-home .jm-gavis-card time{ display:block; }

/* ===== Avis : 3 blocs = filtres (Google / Resalib) ou lien (Pages Jaunes) ===== */
.jm-home .jm-avis-hub .jm-trust{ margin-bottom:2em; }
.jm-home .jm-avis-hub button.jm-trust-badge{ font:inherit; cursor:pointer; appearance:none; -webkit-appearance:none; }
.jm-home .jm-avis-hub .jm-trust-badge{ position:relative; }
.jm-home .jm-avis-hub .jm-tab[aria-selected="true"]{ background:var(--jm-accent) !important; border-color:var(--jm-accent) !important; box-shadow:0 14px 30px rgba(29,78,90,.28) !important; }
.jm-home .jm-avis-hub .jm-tab[aria-selected="true"] b,.jm-home .jm-avis-hub .jm-tab[aria-selected="true"] em{ color:#fff !important; }
.jm-home .jm-avis-hub .jm-tab[aria-selected="true"] .jm-trust-stars{ color:var(--jm-gold-l) !important; }
.jm-home .jm-avis-hub .jm-tab[aria-selected="true"]:after{ content:""; position:absolute; left:50%; bottom:-9px; transform:translateX(-50%); border:9px solid transparent; border-bottom:0; border-top-color:var(--jm-accent); }
.jm-home .jm-avis-hub .jm-tab-ext em{ color:var(--jm-accent) !important; }
.jm-home .jm-avis-panel[hidden]{ display:none !important; }
.jm-home .jm-gavis .jm-more-item:not(.jm-shown){ display:none !important; }
.jm-home .jm-avis-more{ text-align:center; margin:1.8em 0 .4em; }
.jm-home .jm-btn-more{ font:inherit; font-weight:600; font-size:15px; cursor:pointer; color:var(--jm-accent); background:var(--jm-surface); border:1px solid rgba(29,78,90,.3);
  border-radius:30px; padding:.75em 1.6em; box-shadow:0 8px 20px rgba(30,43,51,.08); transition:all .2s ease; }
.jm-home .jm-btn-more:hover{ background:var(--jm-accent); color:#fff; }
.jm-home .jm-avis-link{ text-align:center; margin:1.2em 0 0; }
.jm-home .jm-avis-link a{ color:var(--jm-accent) !important; font-weight:600; }
.jm-home .jm-avis-empty{ text-align:center; color:var(--jm-muted); }
.jm-home .jm-gavis .resalib-avis-grille{ margin-top:0; }
@media (max-width:860px){ .jm-home .jm-avis-hub .jm-tab[aria-selected="true"]:after{ display:none; } }

/* ===== Page « À domicile dans le Tarn » (17/10/2026) ===== */
.jm-phero-tarn{ background-image:url('/wp-content/uploads/refonte/jm-prairie-aube.webp') !important; background-position:center 60% !important; }
@media (max-width:767px){ .jm-phero-tarn{ background-image:url('/wp-content/uploads/refonte/jm-prairie-aube-m.webp') !important; } }
/* la prairie est déjà en hero : bandeau « Faisons connaissance » sur le lac pour cette page */
body.jm-p-therapeute-a-domicile-tarn .jm-cta-global{ background:linear-gradient(rgba(12,38,46,.62),rgba(12,38,46,.78)),url('/wp-content/uploads/refonte/jm-lac.webp') center 55%/cover no-repeat !important; }
/* villes desservies : pastilles comme les motifs, sans lien */
.jm-pillar-body .jm-villes span{ display:inline-flex; align-items:center; justify-content:center; flex:0 1 auto !important; min-width:0 !important;
  padding:.65em 1.3em; border-radius:30px; background:rgba(255,255,255,.10); border:1px solid rgba(232,214,174,.55); color:#EEF3F3; font-weight:600; font-size:15px; }
.jm-pillar-body .jm-villes span:last-child{ font-weight:400; font-style:italic; border-style:dashed; }
/* portrait « Ma méthode » : naturel par défaut (pas de photo derrière) */
.jm-pillar-body .jm-split-img.jm-img-portrait{ background:url('/wp-content/uploads/refonte/jm-portrait-sherwani.webp') center bottom/contain no-repeat !important;
  box-shadow:none !important; border-radius:0 !important; filter:drop-shadow(0 22px 30px rgba(19,46,55,.20)); }
body.jm-p-hypnotherapeute-a-toulouse .jm-pillar-body .jm-split-img.jm-img-portrait{ background:url('/wp-content/uploads/refonte/jm-cabinet-hypnose.webp') center 6%/cover no-repeat !important; border-radius:22px !important; filter:none; box-shadow:0 24px 50px rgba(19,46,55,.22) !important; }
/* --- Mise en valeur du Tarn : accueil, menu, pied de page, bandeau final --- */
.jm-home .jm-tarn-promo{ display:grid; grid-template-columns:220px 1fr; max-width:1120px; margin:26px auto 0; background:var(--jm-surface); border:1px solid var(--jm-border);
  border-left:4px solid var(--jm-accent-2); border-radius:20px; overflow:hidden; text-decoration:none !important; text-align:left; box-shadow:0 12px 30px rgba(30,43,51,.08); transition:all .25s ease; }
.jm-home .jm-tarn-promo:hover{ transform:translateY(-3px); box-shadow:0 18px 40px rgba(30,43,51,.13); }
.jm-home .jm-tarn-img{ display:block; min-height:190px; background:url('/wp-content/uploads/refonte/jm-couple-domicile.webp') center 22%/cover no-repeat; }
.jm-home .jm-tarn-txt{ display:flex; flex-direction:column; justify-content:center; gap:.45em; padding:24px 30px; }
.jm-home .jm-tarn-txt .jm-kicker{ margin:0 !important; }
.jm-home .jm-tarn-txt .jm-kicker:before{ display:none !important; }
.jm-home .jm-tarn-txt b{ font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(1.4rem,2.4vw,1.8rem); font-weight:600; color:var(--jm-text); line-height:1.2; }
.jm-home .jm-tarn-txt em{ font-style:normal; color:var(--jm-body); font-size:15.5px; line-height:1.6; }
@media (max-width:700px){ .jm-home .jm-tarn-promo{ grid-template-columns:1fr; } .jm-home .jm-tarn-img{ min-height:200px; } .jm-home .jm-tarn-txt{ padding:20px 22px 24px; } }
.elementor-element-7b8f44d a.jm-foot-tarn{ color:var(--jm-accent) !important; font-weight:600; text-decoration:underline; }
.jm-cta-global .jm-cta-global-tarn{ margin:.9em 0 0 !important; font-size:15px !important; color:#E8EEEE !important; }
.jm-cta-global .jm-cta-global-tarn a{ color:var(--jm-gold-l) !important; font-weight:600; }

/* ===== Domicile (Tarn & Lauragais) + Visio (19/10/2026) ===== */
.jm-phero-visio{ background-image:url('/wp-content/uploads/refonte/jm-automne.webp') !important; background-position:center 55% !important; }
body.jm-p-consultation-en-visio .jm-cta-global{ background:linear-gradient(rgba(12,38,46,.62),rgba(12,38,46,.78)),url('/wp-content/uploads/refonte/jm-lac.webp') center 55%/cover no-repeat !important; }

/* ===== Accueil retravaillé : modes de consultation + maillage (20/10/2026) ===== */
.jm-home .jm-hero-modes{ display:flex; flex-wrap:wrap; gap:8px; margin:-.4em 0 1.6em; }
.jm-home .jm-hero-modes a{ display:inline-block; padding:.42em .95em; border:1px solid rgba(29,78,90,.28); border-radius:30px; font-size:14px; font-weight:600; color:var(--jm-accent) !important; text-decoration:none !important; background:rgba(255,255,255,.7); transition:all .2s ease; }
.jm-home .jm-hero-modes a:hover{ background:var(--jm-accent); color:#fff !important; border-color:var(--jm-accent); }
@media (max-width:860px){ .jm-home .jm-hero-modes{ justify-content:center; } }
.jm-home .jm-consult-intro{ max-width:700px; margin:-.4em auto 2.2em; color:var(--jm-muted); font-size:17px; line-height:1.7; }
.jm-home .jm-consult .jm-scard-b .jm-kicker{ display:block; margin:0 0 .5em !important; font-size:11.5px; }
.jm-home .jm-consult .jm-scard-b .jm-kicker:before{ display:none !important; }
.jm-home .jm-consult .jm-scard-b{ text-align:left; }
.jm-home .img-cabinet{ background-image:url('/wp-content/uploads/refonte/jm-cabinet-ambiance.webp'); background-position:center 30%; }
.jm-home .img-visio{ background-image:url('/wp-content/uploads/refonte/jm-foret-lumiere.webp'); background-position:center 45%; }
.jm-home .img-domicile{ background-image:url('/wp-content/uploads/refonte/jm-couple-domicile.webp'); background-position:center 22%; }
.jm-home .jm-zones{ max-width:1120px; margin:28px auto 0; padding:22px 26px; background:var(--jm-warm); border-left:3px solid var(--jm-accent-2); border-radius:0 14px 14px 0; text-align:left; }
.jm-home .jm-zones p{ margin:0 0 .8em; color:var(--jm-text); font-weight:600; font-size:15.5px; }
.jm-home .jm-zones-list{ display:flex; flex-wrap:wrap; gap:8px; }
.jm-home .jm-zones-list a{ padding:.38em .9em; border-radius:30px; background:#fff; border:1px solid var(--jm-border); color:var(--jm-accent) !important; font-size:14px; font-weight:600; text-decoration:none !important; transition:all .2s ease; }
.jm-home .jm-zones-list a:hover{ border-color:var(--jm-accent-2); background:var(--jm-accent-2); color:#fff !important; }
.jm-home .jm-chips a{ display:inline-block; border:1px solid rgba(232,214,174,.55); background:rgba(255,255,255,.05); color:#E9F0F0 !important; padding:.5em 1.05em; border-radius:30px; font-size:.92rem; line-height:1.2; text-decoration:none !important; transition:all .2s ease; }
.jm-home .jm-chips a:hover{ background:var(--jm-accent-2); color:#20140f !important; border-color:var(--jm-accent-2); }
.jm-home .jm-dom-col h3 a{ color:#fff !important; text-decoration:none !important; border-bottom:1px solid rgba(232,214,174,.5); }
.jm-home .jm-dom-col h3 a:hover{ border-bottom-color:var(--jm-gold-l); }
.jm-home .jm-home-faq .jm-faq{ max-width:820px; margin:0 auto; text-align:left; display:grid; gap:12px; }
.jm-home .jm-home-faq details{ background:var(--jm-surface); border:1px solid var(--jm-border); border-radius:14px; padding:16px 22px; box-shadow:0 8px 24px rgba(20,32,40,.05); }
.jm-home .jm-home-faq summary{ cursor:pointer; font-weight:600; color:var(--jm-text); font-size:16.5px; list-style:none; position:relative; padding-right:28px; }
.jm-home .jm-home-faq summary::-webkit-details-marker{ display:none; }
.jm-home .jm-home-faq summary:after{ content:"+"; position:absolute; right:0; top:-2px; font-size:22px; color:var(--jm-accent-2); }
.jm-home .jm-home-faq details[open] summary:after{ content:"–"; }
.jm-home .jm-home-faq details p{ margin:.8em 0 0; color:var(--jm-muted); line-height:1.7; }
.jm-home .jm-home-faq details a{ color:var(--jm-accent); font-weight:600; }
.jm-home .jm-home-faq{ padding-bottom:clamp(56px,7vw,84px) !important; }
.jm-home .jm-cta-final .jm-cta-final-modes{ margin:.2em 0 0 !important; font-size:15px; }
.jm-home .jm-cta-final .jm-cta-final-modes a{ color:var(--jm-gold-l) !important; font-weight:600; }
