/* Fix hero contact - override cache */
body .elementor-element-cc33dd44.elementor-section{background-image:none!important;background-color:transparent!important}

/* ===== Footer links — hover visible ===== */
.sm-footer a {
  transition: color 0.2s, text-decoration-color 0.2s;
}
.sm-footer__col ul li a:hover,
.sm-footer__col ul li a:focus {
  color: #ffffff !important;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,0.5);
  text-underline-offset: 3px;
}
.sm-footer__logo:hover {
  opacity: 0.85;
}
/* Footer phone link */
.sm-footer a[href^="tel"] {
  font-weight: 600;
  color: rgba(255,255,255,0.8) !important;
}
.sm-footer a[href^="tel"]:hover {
  color: #ffffff !important;
  text-decoration: underline;
  text-decoration-color: rgba(255,255,255,0.5);
}

/* =========================================================
   PATCH COHÉRENCE DE THÈME — Sylvie Magnétiseur
   (Ajouté le 2026-04-21)
   ========================================================= */

/* Harmonisation des couleurs (page contact n'a pas toutes les variables) */
:root{
  --accent: #C4875A;
  --accent-dk: #9A5C2A;
  --r-full: 9999px;
}

/* 1. Titres H1 des pages internes -> Instrument Serif italique (comme Accueil) */
.sm-page-hero__title{
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em;
}

/* 2. Kickers / sur-titres -> couleur cuivre uniforme */
.sm-page-hero__eyebrow,
.sm-section__kicker,
.sm-hero__eyebrow,
.sm-eyebrow{
  color: #C4875A !important;
}

/* 3. Bouton "Envoyer mon message" -> couleur cuivre charte, plus de gradient doré */
#smContactForm #smSubmitBtn,
#smContactForm button.sm-btn,
form#smContactForm .sm-btn{
  background-image: none !important;
  background-color: #C4875A !important;
  color: #fff !important;
  border-radius: 9999px !important;
  padding: 14px 32px !important;
  width: 100% !important;
}
#smContactForm #smSubmitBtn:hover,
#smContactForm button.sm-btn:hover{
  background-color: #9A5C2A !important;
}

/* 4. Header "Ressenti gratuit" -> bouton cuivre plein (sur la charte) */
.sm-navbar__cta,
.sm-navbar .sm-btn,
.sm-navbar a[class*="cta"]{
  background-color: #C4875A !important;
  background-image: none !important;
  color: #fff !important;
  border: 1px solid #C4875A !important;
  padding: 10px 20px !important;
}
.sm-navbar__cta:hover,
.sm-navbar .sm-btn:hover{
  background-color: #9A5C2A !important;
  border-color: #9A5C2A !important;
}

/* 5. Carte "Tarif" -> fond sombre identique partout */
.sm-pricing-card{
  background: #1C1917 !important;
  color: #fff !important;
}

/* 6. Focus accessibilité */
.sm-btn:focus-visible,
input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline: 2px solid #C4875A !important;
  outline-offset: 2px;
}

/* 7. Réassurance Contact -> contraste garanti */
.sm-reassurance-card{
  background:#fff !important;
  border:1px solid rgba(28,25,23,.08) !important;
}
.sm-reassurance-card__title{ color:#1C1917 !important; }
.sm-reassurance-card__desc,
.sm-reassurance-card p{ color:#57534E !important; }
.sm-reassurance-card__icon,
.sm-reassurance-card svg{ color:#C4875A !important; }

/* 8. Grille motifs -> 3 colonnes (évite la 5e carte orpheline) */
.sm-features__grid,
.sm-feature-grid,
.sm-features-grid{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  gap: 24px !important;
}
@media (max-width: 900px){
  .sm-features__grid, .sm-feature-grid, .sm-features-grid{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}
@media (max-width: 560px){
  .sm-features__grid, .sm-feature-grid, .sm-features-grid{
    grid-template-columns: 1fr !important;
  }
}


/* Footer grid 4 cols (Navigation / Soins / Zones / Brand) sur desktop */
.sm-footer__grid{
  grid-template-columns: 1.2fr 1fr 1fr 1fr !important;
  gap: 32px !important;
}
@media (max-width: 960px){
  .sm-footer__grid{
    grid-template-columns: 1fr 1fr !important;
  }
}
@media (max-width: 560px){
  .sm-footer__grid{
    grid-template-columns: 1fr !important;
  }
}


/* Bloc "Articles liés" injecté dans les pages thématiques */
.sm-related{
  margin: 48px 0 24px;
  padding: 28px 32px;
  background: #FAF3E8;
  border: 1px solid rgba(196,135,90,.18);
  border-radius: 14px;
}
.sm-related h3{
  margin: 0 0 16px;
  font-family: 'Instrument Serif', Georgia, serif;
  font-style: italic;
  font-size: 1.5rem;
  color: #1C1917;
}
.sm-related ul{
  margin: 0;
  padding-left: 20px;
  list-style: disc;
}
.sm-related li{ margin: 6px 0; line-height: 1.5; }
.sm-related a{
  color: #9A5C2A;
  text-decoration: none;
  border-bottom: 1px solid rgba(196,135,90,.4);
  transition: color .2s, border-color .2s;
}
.sm-related a:hover{
  color: #1C1917;
  border-bottom-color: #1C1917;
}


/* Responsive mobile fixes */
@media (max-width: 480px){
  .heading-xl, .sm-hero__title, .sm-page-hero__title{
    font-size: clamp(1.75rem, 7.5vw, 2rem) !important;
    line-height: 1.15 !important;
    word-break: normal;
    overflow-wrap: anywhere;
    hyphens: auto;
  }
  .sm-hero__title br, .sm-page-hero__title br{ display: none; }
  .sm-page-hero__inner, .sm-hero__content{ padding-left: 20px !important; padding-right: 20px !important; }
}
@media (max-width: 360px){
  .heading-xl, .sm-hero__title, .sm-page-hero__title{ font-size: 1.6rem !important; }
}


/* Fix Méthode - Tarif card centering to avoid empty right column */
.sm-process-layout{
  align-items: center !important;
}
@media (max-width: 960px){
  .sm-process-layout{ align-items: start !important; }
}
.sm-pricing-card{
  position: sticky !important;
  top: 120px !important;
}


/* Mobile hero fixes v2 */
@media (max-width: 640px){
  /* 1. Photo Sylvie (Home) : respecter le ratio portrait */
  .sm-about-image, .sm-about-image img{
    aspect-ratio: 3/4 !important;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
  .sm-about-image img{
    object-position: 50% 20% !important;
  }

  /* 2. Témoignages : hero trop haut - compact stats + réduit padding */
  .sm-testi-hero, .sm-page-hero{
    padding-top: 40px !important;
    padding-bottom: 32px !important;
  }
  .sm-testi-hero__stats, .sm-stats, [class*="stats-grid"]{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    margin-top: 24px !important;
  }
  .sm-stats__item, .sm-stat, [class*="stats"] > div{
    padding: 12px 8px !important;
  }
  .sm-stats__value, [class*="stats"] [class*="value"]{
    font-size: 1.5rem !important;
  }

  /* 3. Contact hero : compact */
  .sm-page-hero__inner{
    padding: 32px 20px !important;
  }
  .sm-page-hero__lead{
    font-size: 0.95rem !important;
  }
}


/* Témoignages : stats-bar en 2 colonnes sur mobile */
@media (max-width: 640px){
  .sm-stats-bar{
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px !important;
    margin-top: 24px !important;
  }
  .sm-stats-bar .sm-stat{
    padding: 12px 6px !important;
  }
  .sm-stats-bar .sm-stat__num{
    font-size: 1.6rem !important;
  }
  .sm-stats-bar .sm-stat__label{
    font-size: 0.75rem !important;
  }
}


/* Mobile navbar fix - hamburger sur mobile, links cachés */
@media (max-width: 820px){
  html body .sm-navbar__links{ display: none !important; }
  html body .sm-navbar:not(.mobile-open) .sm-navbar__cta{ display: none !important; }
  html body .sm-navbar__hamburger{ display: flex !important; }
}
/* Quand mobile-open : re-afficher les links en menu vertical */
@media (max-width: 820px){
  html body .sm-navbar.mobile-open .sm-navbar__links{
    display: flex !important;
    flex-direction: column;
    position: fixed;
    top: 0;
    right: 0;
    width: min(300px, 85vw);
    height: 100vh;
    background: #FAF8F4;
    padding: 80px 24px 24px;
    z-index: 1000;
    box-shadow: -4px 0 20px rgba(0,0,0,.1);
  }
  html body .sm-navbar.mobile-open .sm-navbar__cta{
    display: inline-flex !important;
    margin: 16px 24px 0;
    width: calc(100% - 48px);
    justify-content: center;
  }
}


/* ===== CANONICAL SITE CSS (moved from per-page inline) ===== */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--bg:#FAF8F4;--bg-warm:#F3EAD8;--bg-card:#FFFFFF;--text:#1C1917;--text-muted:#78716C;--text-light:#A8A29E;--accent:#C4875A;--accent-dk:#9A5C2A;--border:#E8DDD0;--border-light:#F0E8DC;--white:#FFFFFF;--font-serif:'Instrument Serif',Georgia,serif;--font-sans:'Inter',-apple-system,sans-serif;--r-md:10px;--r-lg:18px;--r-xl:28px;--r-full:9999px;--shadow-sm:0 2px 8px rgba(0,0,0,0.06);--shadow-md:0 4px 20px rgba(0,0,0,0.09);--shadow-lg:0 8px 40px rgba(0,0,0,0.12);--ease:cubic-bezier(0.16,1,0.3,1);--dur:0.4s}
html{scroll-behavior:smooth}
body{font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.65;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}a{color:inherit;text-decoration:none}strong{font-weight:600}
.heading-xl{font-family:var(--font-serif);font-style:italic;font-size:clamp(2.6rem,6vw,4.8rem);line-height:1.08;letter-spacing:-.025em}
.heading-lg{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.9rem,3.8vw,3rem);line-height:1.15;letter-spacing:-.02em}
.sm-label{display:block;font-size:.72rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--accent)}
.sm-container{max-width:1160px;margin:0 auto;padding:0 28px}
.sm-container-narrow{max-width:760px;margin:0 auto;padding:0 28px}
.text-center{text-align:center}.mx-auto{margin-left:auto;margin-right:auto}
.sm-btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:var(--r-full);font-family:var(--font-sans);font-size:.875rem;font-weight:500;cursor:pointer;border:none;transition:all .2s ease;text-decoration:none;white-space:nowrap}
.sm-btn:hover{transform:translateY(-1px)}
.sm-btn-primary{background:var(--text);color:var(--white)}.sm-btn-primary:hover{background:#2D2A27;box-shadow:var(--shadow-md)}
.sm-btn-accent{background:var(--accent);color:var(--white)}.sm-btn-accent:hover{background:var(--accent-dk);box-shadow:var(--shadow-md)}
.sm-btn-ghost-white{background:rgba(255,255,255,.1);color:var(--white);border:1px solid rgba(255,255,255,.25)}.sm-btn-ghost-white:hover{background:rgba(255,255,255,.18)}
.sm-btn-group{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.sm-navbar{position:fixed;top:0;left:0;right:0;z-index:9999;padding:22px 0;transition:background var(--dur) var(--ease),padding var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}
body.admin-bar .sm-navbar{top:32px}
@media screen and (max-width:782px){body.admin-bar .sm-navbar{top:46px}}
.sm-navbar.scrolled{background:rgba(250,248,244,.94);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border);padding:14px 0}
.sm-navbar__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.sm-navbar__logo{font-family:var(--font-serif);font-style:italic;font-size:1.2rem;color:var(--text);letter-spacing:-.01em;white-space:nowrap}
.sm-navbar__links{display:flex;align-items:center;gap:36px;list-style:none}
.sm-navbar__links a{font-size:.72rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text);transition:color var(--dur) var(--ease);padding:4px 0;position:relative}
.sm-navbar__links a::after{content:'';position:absolute;bottom:-2px;left:0;right:0;height:1px;background:var(--accent);transform:scaleX(0);transition:transform var(--dur) var(--ease);transform-origin:left}
.sm-navbar__links a:hover,.sm-navbar__links a.active{color:var(--accent)}
.sm-navbar__links a:hover::after,.sm-navbar__links a.active::after{transform:scaleX(1)}
.sm-navbar__cta{display:flex;align-items:center;gap:8px;padding:9px 18px;border:1px solid var(--border);border-radius:var(--r-full);font-size:.78rem;font-weight:500;color:var(--text);transition:all var(--dur) var(--ease);white-space:nowrap}
.sm-navbar__cta:hover{background:var(--text);color:var(--white);border-color:var(--text)}
.sm-navbar__hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;width:40px;height:40px;cursor:pointer;background:none;border:none;padding:0;position:relative;z-index:10001}
.sm-navbar__hamburger span{display:block;width:22px;height:1.5px;background:var(--text);transition:all var(--dur) var(--ease);position:absolute}
.sm-navbar__hamburger span:nth-child(1){transform:translateY(-6px)}
.sm-navbar__hamburger span:nth-child(2){transform:translateY(0)}
.sm-navbar__hamburger span:nth-child(3){transform:translateY(6px)}
.sm-navbar.mobile-open .sm-navbar__hamburger span:nth-child(1){transform:rotate(45deg)}
.sm-navbar.mobile-open .sm-navbar__hamburger span:nth-child(2){opacity:0;transform:scaleX(0)}
.sm-navbar.mobile-open .sm-navbar__hamburger span:nth-child(3){transform:rotate(-45deg)}
.sm-nav-backdrop{display:none;position:fixed;inset:0;background:rgba(28,25,23,.4);z-index:9990;opacity:0;transition:opacity var(--dur) var(--ease)}
.sm-nav-backdrop.visible{opacity:1}
@media (max-width:820px){
  .sm-navbar__links,.sm-navbar__cta{display:none}
  .sm-navbar__hamburger{display:flex}
  .sm-nav-backdrop{display:block}
  .sm-navbar.mobile-open .sm-navbar__links{display:flex;flex-direction:column;position:fixed;top:0;right:0;bottom:0;width:min(300px,80vw);background:var(--bg);padding:80px 28px 40px;gap:28px;box-shadow:var(--shadow-lg);z-index:10000;overflow-y:auto}
  .sm-navbar.mobile-open .sm-navbar__links a{font-size:1.1rem;letter-spacing:.05em}
  .sm-navbar.mobile-open .sm-navbar__cta{display:flex;position:fixed;bottom:28px;right:28px;width:calc(min(300px,80vw) - 56px);justify-content:center;background:var(--text);color:var(--white);border-color:var(--text);z-index:10001}
}
.sm-page-hero{padding:160px 0 90px;background:var(--bg-warm);position:relative;overflow:hidden}
.sm-page-hero::before{content:'';position:absolute;top:-60px;right:-80px;width:420px;height:420px;border-radius:50%;background:rgba(196,135,90,.07);pointer-events:none}
.sm-page-hero__breadcrumb{font-size:.78rem;color:var(--text-light);margin-bottom:24px}
.sm-page-hero__breadcrumb a{color:var(--text-muted);transition:color .2s}.sm-page-hero__breadcrumb a:hover{color:var(--accent)}
.sm-page-hero__breadcrumb span{margin:0 8px}
.sm-page-hero .sm-label{margin-bottom:20px}
.sm-page-hero h1{margin-bottom:22px}
.sm-page-hero__subtitle{font-size:1.05rem;color:var(--text-muted);line-height:1.75;max-width:580px;margin-bottom:40px}
.sm-section{padding:96px 0}.sm-section--warm{background:var(--bg-warm)}
.sm-section__header{margin-bottom:60px}
.sm-section__header .sm-label{margin-bottom:16px}
.sm-section__header h2{margin-bottom:18px}
.sm-section__header p{color:var(--text-muted);font-size:1.02rem;max-width:520px;line-height:1.75}
.sm-process-layout{display:grid;grid-template-columns:1fr 360px;gap:80px;align-items:start}
.sm-process-steps{display:flex;flex-direction:column}
.sm-process-step{display:flex;gap:24px;padding:32px 0;border-bottom:1px solid var(--border)}
.sm-process-step:first-child{border-top:1px solid var(--border)}
.sm-process-step__num{width:38px;height:38px;min-width:38px;border-radius:50%;background:var(--accent);color:var(--white);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:600;margin-top:2px}
.sm-process-step h3{font-family:var(--font-serif);font-size:1.15rem;margin-bottom:10px}
.sm-process-step p{font-size:.9rem;color:var(--text-muted);line-height:1.7}
.sm-process-step .sm-detail{margin-top:12px;background:rgba(196,135,90,.07);border-radius:var(--r-md);padding:12px 16px;font-size:.84rem;color:var(--text-muted);line-height:1.6}
.sm-pricing-card{background:var(--text);color:var(--white);border-radius:var(--r-xl);padding:44px 36px;position:sticky;top:100px}
.sm-pricing-card .sm-label{color:rgba(255,255,255,.45);margin-bottom:18px}
.sm-pricing-card__price{font-family:var(--font-serif);font-style:italic;font-size:4.5rem;line-height:1;margin-bottom:6px}
.sm-pricing-card__per{font-size:.85rem;color:rgba(255,255,255,.5);margin-bottom:36px}
.sm-pricing-card__items{list-style:none;margin-bottom:28px;display:flex;flex-direction:column;gap:14px}
.sm-pricing-card__items li{display:flex;align-items:center;gap:12px;font-size:.9rem;color:rgba(255,255,255,.8)}
.sm-pricing-card__items li::before{content:'✓';min-width:22px;height:22px;border-radius:50%;background:var(--accent);display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}
.sm-pricing-card__note{font-size:.8rem;color:rgba(255,255,255,.4);margin-bottom:28px;font-style:italic}
.sm-pricing-card .sm-btn{width:100%;justify-content:center;background:var(--accent);color:var(--white)}
.sm-pricing-card .sm-btn:hover{background:var(--accent-dk)}
.sm-explainer-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:48px}
.sm-explainer-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--r-lg);padding:32px 26px}
.sm-explainer-card__icon{font-size:1.8rem;margin-bottom:18px}
.sm-explainer-card h3{font-family:var(--font-serif);font-size:1.05rem;margin-bottom:10px}
.sm-explainer-card p{font-size:.875rem;color:var(--text-muted);line-height:1.7}
.sm-related{background:var(--bg-warm);padding:64px 0}
.sm-related h2{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.4rem,2.5vw,2rem);margin-bottom:32px}
.sm-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.sm-related-card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--r-lg);padding:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:box-shadow .2s,border-color .2s}
.sm-related-card:hover{box-shadow:var(--shadow-sm);border-color:rgba(196,135,90,.4)}
.sm-related-card__text{font-size:.9rem;font-weight:500;color:var(--text)}
.sm-related-card__tag{font-size:.72rem;color:var(--text-muted);margin-top:4px}
.sm-related-card__arrow{color:var(--accent);font-size:1.1rem}
.sm-faq-list{display:flex;flex-direction:column;gap:8px}
.sm-faq-item{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--r-md);overflow:hidden}
.sm-faq-question{width:100%;text-align:left;padding:20px 24px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:16px;font-family:var(--font-sans);font-size:.95rem;font-weight:500;color:var(--text);line-height:1.4;transition:color .2s}
.sm-faq-question:hover{color:var(--accent)}
.sm-faq-question svg{width:18px;height:18px;min-width:18px;color:var(--accent);transition:transform .4s var(--ease)}
.sm-faq-item.open .sm-faq-question svg{transform:rotate(45deg)}
.sm-faq-answer{max-height:0;overflow:hidden;transition:max-height .45s var(--ease)}
.sm-faq-item.open .sm-faq-answer{max-height:300px}
.sm-faq-answer__inner{padding:0 24px 20px;color:var(--text-muted);line-height:1.75;font-size:.9rem}
.sm-cta-section{background:var(--text);color:var(--white);text-align:center;padding:100px 28px}
.sm-cta-section .sm-label{color:rgba(255,255,255,.45);margin:0 auto 20px}
.sm-cta-section h2{color:var(--white);margin-bottom:16px}
.sm-cta-section p{color:rgba(255,255,255,.55);margin-bottom:40px;max-width:460px;margin-left:auto;margin-right:auto;line-height:1.75}
.sm-footer{background:#131110;color:rgba(255,255,255,.6);padding:72px 0 36px}
.sm-footer__grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px;margin-bottom:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.08)}
.sm-footer__logo{font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--white);display:block;margin-bottom:16px}
.sm-footer__brand p{font-size:.875rem;line-height:1.7;max-width:300px}
.sm-footer__siret{font-size:.78rem!important;color:rgba(255,255,255,.35)!important;margin-top:14px}
.sm-footer__col h4{font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.35);margin-bottom:18px}
.sm-footer__col ul{list-style:none;display:flex;flex-direction:column;gap:12px}
.sm-footer__col ul li,.sm-footer__col ul a{font-size:.875rem;color:rgba(255,255,255,.55)}
.sm-footer__col ul a:hover{color:var(--white)}
.sm-footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;font-size:.78rem;color:rgba(255,255,255,.28)}
.sm-fade-in{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.sm-fade-in.visible{opacity:1;transform:translateY(0)}
@media (prefers-reduced-motion:reduce){.sm-fade-in{opacity:1;transform:none;transition:none}}
@media (max-width:900px){
  .sm-process-layout{grid-template-columns:1fr;gap:48px}
  .sm-pricing-card{position:static}
  .sm-explainer-grid{grid-template-columns:1fr 1fr}
  .sm-related-grid{grid-template-columns:1fr}
}
@media (max-width:600px){
  .sm-section{padding:68px 0}
  .sm-page-hero{padding:130px 0 70px}
  .sm-explainer-grid{grid-template-columns:1fr}
  .sm-footer__grid{grid-template-columns:1fr;gap:36px}
  .sm-cta-section{padding:76px 20px}
}

/* ===== Mobile menu unifié (style Accueil) ===== */
@media(max-width:820px){.sm-navbar__links,.sm-navbar__cta{display:none !important}.sm-navbar__hamburger{display:flex !important}.sm-navbar.mobile-open .sm-navbar__links{display:flex !important;flex-direction:column !important;position:absolute !important;top:100% !important;left:0 !important;right:0 !important;bottom:auto !important;width:auto !important;height:auto !important;max-height:none !important;min-width:0 !important;transform:none !important;overflow:visible !important;background:var(--bg) !important;padding:24px 28px !important;gap:20px !important;box-shadow:var(--shadow-lg);border-top:1px solid var(--border);z-index:100 !important}.sm-navbar.mobile-open .sm-navbar__links a{font-size:1rem !important;letter-spacing:0.05em !important;position:static !important}.sm-navbar.mobile-open .sm-navbar__hamburger span{transform:none !important;opacity:1 !important;background:var(--text) !important}.sm-navbar.mobile-open .sm-navbar__cta{display:none !important}.sm-nav-backdrop{display:none !important}}

/* ===== END CANONICAL SITE CSS ===== */


/* ========== SM-RELATED cards (Situations, Explorer le site) ========== */
.sm-related{padding:3rem 0 4rem;background:#f5ede0}
.sm-related .sm-container{max-width:1160px;margin:0 auto;padding:0 20px}
.sm-related h2{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(1.75rem,3vw,2.5rem);color:#1a1613;margin:0 0 2rem;text-align:left}
.sm-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}
.sm-related-grid > div,.sm-related-grid > a{background:#fff;padding:1.5rem 1.25rem;border-radius:12px;border:1px solid rgba(196,135,90,.12);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;text-decoration:none;color:inherit;display:block;cursor:pointer}
.sm-related-grid > div:hover,.sm-related-grid > a:hover{transform:translateY(-3px);border-color:rgba(196,135,90,.35);box-shadow:0 12px 28px -12px rgba(196,135,90,.28)}
.sm-related-card__text{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:600;font-size:1.1rem;color:#1a1613;display:flex;align-items:center;gap:.7rem;margin-bottom:.4rem}
.sm-related-card__text img.emoji{display:none !important}
.sm-related-card__text::before{content:"";display:inline-block;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#fbf6ec 0%,rgba(196,135,90,.2) 100%);background-repeat:no-repeat;background-position:center;background-size:20px 20px;flex-shrink:0;box-shadow:0 4px 12px -4px rgba(196,135,90,.25)}
.sm-related-card__tag{color:#6b5e52;font-size:.88rem;line-height:1.5}
.sm-related-card__arrow{display:none}
.sm-related-grid > div a{color:inherit;text-decoration:none}
.sm-related-card__text:has(img[alt="🌙"])::before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzQ4NzVBIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgMTIuNzlBOSA5IDAgMSAxIDExLjIxIDMgNyA3IDAgMCAwIDIxIDEyLjc5eiIvPjwvc3ZnPg==)}
.sm-related-card__text:has(img[alt="🌿"])::before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzQ4NzVBIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTEgMjBBNyA3IDAgMCAxIDkuOCA2LjFDMTUuNSA1IDE3IDQuNDggMTkuMiAyLjk2YzEuNCA5LjMtMy4yIDE1LjEtOC4yIDE3LjA0eiIvPjxwYXRoIGQ9Ik0yIDIxczEtMiA1LTUiLz48L3N2Zz4=)}
.sm-related-card__text:has(img[alt="💛"])::before,.sm-related-card__text:has(img[alt="❤️"])::before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzQ4NzVBIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjAuODQgNC42MWE1LjUgNS41IDAgMCAwLTcuNzggMEwxMiA1LjY3bC0xLjA2LTEuMDZhNS41IDUuNSAwIDAgMC03Ljc4IDcuNzhsMS4wNiAxLjA2TDEyIDIxLjIzbDcuNzgtNy43OCAxLjA2LTEuMDZhNS41IDUuNSAwIDAgMCAwLTcuNzh6Ii8+PC9zdmc+)}
.sm-related-card__text:has(img[alt="🌸"])::before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzQ4NzVBIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48Y2lyY2xlIGN4PSIxMiIgY3k9IjEyIiByPSIyLjUiLz48cGF0aCBkPSJNMTIgOS41VjVhMi41IDIuNSAwIDEgMSA1IDBjMCAxLjQtMSAyLjUtMi41IDIuNSIvPjxwYXRoIGQ9Ik0xMiAxNC41VjE5YTIuNSAyLjUgMCAxIDAgNSAwYzAtMS40LTEtMi41LTIuNS0yLjUiLz48cGF0aCBkPSJNOS41IDEySDVhMi41IDIuNSAwIDEgMCAwIDVjMS40IDAgMi41LTEgMi41LTIuNSIvPjxwYXRoIGQ9Ik0xNC41IDEySDE5YTIuNSAyLjUgMCAxIDEgMC01Yy0xLjQgMC0yLjUgMS0yLjUgMi41Ii8+PC9zdmc+)}
.sm-related-card__text:has(img[alt="✨"])::before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzQ4NzVBIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMTIgM2wxLjUgNS41TDE5IDEwbC01LjUgMS41TDEyIDE3bC0xLjUtNS41TDUgMTBsNS41LTEuNXoiLz48L3N2Zz4=)}
.sm-related-card__text:has(img[alt="🍼"])::before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzQ4NzVBIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNOCA1aDh2M0g4eiIvPjxwYXRoIGQ9Ik03IDhoMTBsLTEgMTBhMyAzIDAgMCAxLTMgM2gtMmEzIDMgMCAwIDEtMy0zeiIvPjxwYXRoIGQ9Ik0xMCAxMmg0TTEwIDE2aDQiLz48L3N2Zz4=)}
.sm-related-card__text:has(img[alt="💬"])::before{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjQzQ4NzVBIiBzdHJva2Utd2lkdGg9IjEuNiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48cGF0aCBkPSJNMjEgMTVhMiAyIDAgMCAxLTIgMkg3bC00IDRWNWEyIDIgMCAwIDEgMi0yaDE0YTIgMiAwIDAgMSAyIDJ6Ii8+PC9zdmc+)}


/* ========== FAQ - Esthétique polie ========== */
/* Category groups */
.sm-faq-group{margin-top:3.5rem;margin-bottom:2rem;max-width:920px;margin-left:auto;margin-right:auto;padding:0 24px}
.sm-faq-group:first-of-type{margin-top:2.5rem}
.sm-faq-group__title{font-family:'Instrument Serif',Georgia,serif !important;font-style:italic !important;font-weight:600 !important;font-size:clamp(1.5rem,2.5vw,2rem) !important;color:#1a1613 !important;margin:0 0 1.5rem !important;position:relative;padding-left:1.1rem;line-height:1.25}
.sm-faq-group__title::before{content:"";position:absolute;left:0;top:.2em;width:3px;height:1.3em;background:linear-gradient(180deg,#C4875A 0%,#9a6740 100%);border-radius:2px}
.sm-faq-list{display:flex;flex-direction:column;gap:.9rem}
/* Parent item */
.sm-faq-item{height:auto !important;overflow:visible !important;background:#fff !important;border:1px solid rgba(196,135,90,.15) !important;border-radius:14px !important;transition:border-color .25s ease,box-shadow .25s ease}
.sm-faq-item:hover{border-color:rgba(196,135,90,.4) !important;box-shadow:0 8px 24px -12px rgba(196,135,90,.22)}
.sm-faq-item.open{border-color:#C4875A !important;box-shadow:0 12px 32px -14px rgba(196,135,90,.3) !important;background:linear-gradient(180deg,#fff 0%,#fbf6ec 100%) !important}
/* Question button */
button.sm-faq-question{display:flex !important;align-items:center !important;justify-content:space-between !important;width:100% !important;padding:1.4rem 1.75rem !important;cursor:pointer !important;gap:1.25rem !important;background:transparent !important;border:0 !important;text-align:left !important;font-family:'Instrument Serif',Georgia,serif !important;font-style:italic !important;font-weight:600 !important;font-size:1.15rem !important;color:#1a1613 !important;line-height:1.45 !important}
button.sm-faq-question::after{content:"+" !important;width:34px !important;height:34px !important;border-radius:50% !important;background:rgba(196,135,90,.12) !important;color:#C4875A !important;font-size:1.4rem !important;font-weight:300 !important;display:flex !important;align-items:center !important;justify-content:center !important;flex-shrink:0 !important;transition:transform .35s ease,background .25s ease !important;line-height:1}
.sm-faq-item.open button.sm-faq-question::after,button.sm-faq-question[aria-expanded="true"]::after{transform:rotate(45deg) !important;background:#C4875A !important;color:#fff !important}
/* Answer */
.sm-faq-answer{display:none}
.sm-faq-item.open .sm-faq-answer,.sm-faq-item button[aria-expanded="true"] + .sm-faq-answer{display:block}
.sm-faq-answer__inner{padding:0 1.75rem 1.6rem !important;color:#4a3d32 !important;line-height:1.8 !important;font-size:.98rem !important;animation:faqFadeIn .35s ease}
@keyframes faqFadeIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.sm-faq-answer__inner p{margin:0 0 1rem !important;line-height:1.8 !important}
.sm-faq-answer__inner p:last-child{margin-bottom:0 !important}
.sm-faq-answer__inner ul{margin:.75rem 0 1rem;padding-left:1.4rem;line-height:1.75}
.sm-faq-answer__inner li{margin-bottom:.45rem}
.sm-faq-answer__inner a{color:#C4875A;border-bottom:1px solid rgba(196,135,90,.35);text-decoration:none}
.sm-faq-answer__inner a:hover{border-color:#C4875A}
.sm-faq-answer__inner strong{color:#1a1613;font-weight:600}
/* Mobile */
@media (max-width:640px){
  .sm-faq-group{margin-top:2.5rem;padding:0 16px}
  .sm-faq-group__title{font-size:1.3rem !important;padding-left:.9rem}
  button.sm-faq-question{padding:1.1rem 1.25rem !important;font-size:1rem !important;gap:.9rem !important}
  button.sm-faq-question::after{width:28px !important;height:28px !important;font-size:1.2rem !important}
  .sm-faq-answer__inner{padding:0 1.25rem 1.25rem !important;font-size:.94rem !important}
}

/* ========== FOOTER ========== */
.sm-footer{background:#1a1613;color:#f3ebe2;padding:3.5rem 0 1.5rem;margin-top:3rem}
.sm-footer .sm-container,.sm-footer__grid{max-width:1160px;margin:0 auto;padding:0 20px}
.sm-footer__grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.sm-footer__brand-name{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:600;font-size:1.5rem;color:#fff;margin:0 0 .35rem}
.sm-footer__brand-sub{color:#C4875A;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;margin:0 0 1rem}
.sm-footer__desc{color:#bab0a3;font-size:.92rem;line-height:1.65;margin:0}
.sm-footer__col-title{font-family:'Instrument Serif',serif;font-style:italic;font-weight:600;color:#fff;font-size:1.05rem;margin:0 0 1rem}
.sm-footer__links{list-style:none;padding:0;margin:0}
.sm-footer__links li{margin-bottom:.55rem}
.sm-footer__links a{color:#bab0a3;font-size:.9rem;text-decoration:none;transition:color .2s ease}
.sm-footer__links a:hover{color:#C4875A}
.sm-footer__bottom{border-top:1px solid rgba(196,135,90,.2);padding-top:1.25rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:#8a7d6f;font-size:.82rem}
.sm-footer__copy,.sm-footer__siret{margin:0}
@media (max-width:820px){
  .sm-footer__grid{grid-template-columns:1fr 1fr;gap:2rem}
  .sm-footer{padding:2.5rem 0 1.25rem}
}
@media (max-width:560px){
  .sm-footer__grid{grid-template-columns:1fr;gap:1.75rem}
  .sm-footer__bottom{flex-direction:column;text-align:center}
}

/* ========== MOBILE HAMBURGER ========== */
.sm-navbar__hamburger{display:none;background:none;border:0;cursor:pointer;padding:8px;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.sm-navbar__hamburger::before,.sm-navbar__hamburger::after,.sm-navbar__hamburger span{content:"";display:block;width:22px;height:2px;background:#1a1613;border-radius:2px;transition:transform .3s ease,opacity .2s ease}
@media (max-width:820px){
  .sm-navbar__hamburger{display:flex !important}
  html body .sm-navbar__links{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:1.5rem;gap:1rem;box-shadow:0 10px 30px rgba(0,0,0,.12);border-top:1px solid rgba(196,135,90,.15)}
  html body .sm-navbar__links.open,html body .sm-navbar.open .sm-navbar__links{display:flex !important}
  html body .sm-navbar__cta{display:none}
  html body .sm-navbar.open .sm-navbar__cta{display:inline-flex}
}
.sm-navbar.open .sm-navbar__hamburger span{opacity:0}
.sm-navbar.open .sm-navbar__hamburger::before{transform:rotate(45deg) translate(5px,5px)}
.sm-navbar.open .sm-navbar__hamburger::after{transform:rotate(-45deg) translate(5px,-5px)}

/* Fallback: ensure all fade-in elements are visible without scroll observer */
.sm-fade-in{opacity:1 !important;transform:none !important}
.sm-fade-in.visible{opacity:1 !important;transform:none !important}

/* Hide Bard theme sidebar on elementor_canvas pages */
.page-template-elementor_canvas .sidebar-alt,
.page-template-elementor_canvas aside.sidebar,
.page-template-elementor_canvas .widget-area,
.page-template-elementor_canvas #sidebar{display:none !important}
.page-template-elementor_canvas{overflow-x:hidden}

/* ========== Jetpack Contact Form - Premium single column ========== */
/* Wrapper and form */
.sm-contact-form-wrap{width:100% !important}
.jetpack-contact-form-container{width:100% !important;max-width:100% !important}
.contact-form.jetpack-contact-form__form{
  background:linear-gradient(180deg,#fff 0%,#fefcf8 100%);
  padding:2.5rem 2.25rem;
  border:1px solid rgba(196,135,90,.16);
  border-radius:18px;
  box-shadow:0 24px 60px -28px rgba(26,22,19,.22);
  display:flex;
  flex-direction:column;
  gap:1.25rem;
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  position:relative;
}
.contact-form.jetpack-contact-form__form::before{
  content:"";
  position:absolute;
  top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,#C4875A 0%,#9a6740 50%,#C4875A 100%);
  border-radius:18px 18px 0 0;
  opacity:.85;
}
/* Each field wrap */
.contact-form .grunion-field-wrap{
  display:flex;
  flex-direction:column;
  gap:.5rem;
  width:100%;
}
/* Labels */
.contact-form .grunion-field-label,.contact-form label{
  display:block;
  font-family:'Instrument Serif',Georgia,serif;
  font-style:italic;
  font-weight:600;
  color:#1a1613;
  font-size:1.05rem;
  margin:0 0 .15rem;
  letter-spacing:-.005em;
  line-height:1.3;
}
.contact-form .grunion-field-label .required,.contact-form label .required,.contact-form label > span:not(.grunion-field-label){
  color:#C4875A;
  font-weight:400;
  font-size:.75rem;
  font-style:normal;
  margin-left:.4rem;
  font-family:-apple-system,'Segoe UI',Arial,sans-serif;
  letter-spacing:.04em;
  text-transform:lowercase;
  vertical-align:middle;
  opacity:.85;
}
/* Inputs */
.contact-form input[type="text"],.contact-form input[type="email"],.contact-form input[type="tel"],.contact-form textarea{
  width:100% !important;
  padding:1rem 1.15rem !important;
  border:1.5px solid rgba(196,135,90,.22) !important;
  border-radius:12px !important;
  background:#fbf6ec !important;
  font-size:1rem !important;
  font-family:inherit !important;
  color:#1a1613 !important;
  transition:border-color .25s ease,box-shadow .25s ease,background .25s ease !important;
  line-height:1.55 !important;
  box-sizing:border-box !important;
  max-width:100% !important;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{
  color:#bfb0a2;
  font-style:italic;
  opacity:1;
  font-size:.95rem;
}
.contact-form input:hover,.contact-form textarea:hover{
  border-color:rgba(196,135,90,.45) !important;
  background:#fefbf5 !important;
}
.contact-form input:focus,.contact-form textarea:focus{
  outline:0 !important;
  border-color:#C4875A !important;
  box-shadow:0 0 0 4px rgba(196,135,90,.14) !important;
  background:#fff !important;
}
.contact-form textarea{
  min-height:170px !important;
  resize:vertical;
  line-height:1.7 !important;
}
/* Subtle divider above submit */
.contact-form .contact-submit{
  text-align:center;
  margin:.85rem 0 0;
  padding-top:1.25rem;
  border-top:1px dashed rgba(196,135,90,.2);
}
/* Submit button */
.contact-form input[type="submit"],.contact-form button[type="submit"]{
  background:linear-gradient(135deg,#C4875A 0%,#9a6740 100%) !important;
  color:#fff !important;
  padding:1.05rem 2.5rem !important;
  border:0 !important;
  border-radius:999px !important;
  font-size:1.05rem !important;
  font-weight:500 !important;
  cursor:pointer !important;
  transition:transform .22s ease,box-shadow .25s ease,filter .2s ease !important;
  letter-spacing:.02em;
  font-family:-apple-system,'Segoe UI',Arial,sans-serif !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:.6rem;
  box-shadow:0 10px 28px -10px rgba(196,135,90,.55) !important;
  width:auto !important;
}
.contact-form button[type="submit"]::before,.contact-form input[type="submit"]::before{
  content:"";
  display:inline-block;
  width:18px;height:18px;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIxLjgiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHBhdGggZD0iTTIyIDJMMTEgMTMiLz48cGF0aCBkPSJNMjIgMkwxNSAyMmwtNC05LTktNCAyMC04eiIvPjwvc3ZnPg==");
  background-size:contain;
  background-repeat:no-repeat;
  flex-shrink:0;
}
.contact-form input[type="submit"]:hover,.contact-form button[type="submit"]:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 36px -12px rgba(196,135,90,.65) !important;
  filter:brightness(1.05);
}
/* Error / success */
.form-errors,.contact-form-error,.grunion-error,.contact-form__error{
  background:#fdecec !important;
  color:#9a2a2a !important;
  padding:.9rem 1.15rem !important;
  border-radius:10px !important;
  font-size:.95rem !important;
  border:1px solid rgba(154,42,42,.2) !important;
}
.contact-form-submission,.grunion-form-view-response{
  background:linear-gradient(135deg,#ecf9ec 0%,#d8f0d8 100%);
  padding:1.75rem 2rem;
  border-radius:14px;
  border:1px solid rgba(42,122,42,.25);
  color:#1a4d1a;
}
.contact-form-submission h2,.contact-form-submission h3{
  font-family:'Instrument Serif',Georgia,serif;
  font-style:italic;
  color:#1a1613;
  margin:0 0 .6rem;
  font-size:1.4rem;
}
/* Honeypot hidden */
.contact-form textarea[name="ak_hp_textarea"],.contact-form input[name="ak_hp_textarea"]{display:none !important}
/* Remove any grid layout */
.contact-form.has-no-jetpack-form-layout{display:flex !important;grid-template-columns:none !important}
.contact-form .grunion-field-wrap{grid-column:unset !important}
/* Mobile */
@media (max-width:640px){
  .contact-form.jetpack-contact-form__form{padding:1.75rem 1.35rem}
  .contact-form input,.contact-form textarea{padding:.9rem 1rem !important}
  .contact-form input[type="submit"],.contact-form button[type="submit"]{width:100% !important;justify-content:center}
}

/* Hide arrow cards specifically - override grid child rule */
.sm-related-grid > .sm-related-card__arrow,
.sm-related-grid > div.sm-related-card__arrow{display:none !important;background:none !important;border:none !important;padding:0 !important;box-shadow:none !important}


/* ============================================================
   CORRECTIFS D'AFFICHAGE — Page "Magnétisme pour enfant hyperactif"
   Ajoutés le 2026-04-24
   Corrige :
   1. Navbar transparente qui recouvrait le contenu
   2. Bloc des 3 étapes (CSS manquant pour .sm-steps / .sm-step)
   3. FAQ (complément de style)
   ============================================================ */

/* 1. Navbar — fond opaque permanent */
.sm-navbar {
  background-color: rgba(243, 234, 216, 0.92) !important;
  backdrop-filter: saturate(140%) blur(10px);
  -webkit-backdrop-filter: saturate(140%) blur(10px);
  box-shadow: 0 1px 0 rgba(0,0,0,0.06), 0 8px 24px rgba(0,0,0,0.04);
}

/* 2. Section 2 colonnes */
@media (min-width: 860px) {
  .sm-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: start;
  }
}

/* 3. Bloc des 3 étapes */
.sm-steps {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.sm-step {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 20px;
  align-items: start;
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 14px;
  padding: 20px 22px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.sm-step__num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #c88a5a;
  color: #ffffff;
  font-weight: 700;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.sm-step__body { display: block; }
.sm-step__title {
  font-weight: 700;
  font-size: 1.05rem;
  margin: 4px 0 6px;
  color: #1c1917;
}
.sm-step__text {
  color: #44403c;
  line-height: 1.55;
  font-size: 0.95rem;
}

/* 4. FAQ — compléments */
.sm-faq {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 8px;
}
.sm-faq-item {
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  overflow: hidden;
  transition: box-shadow 0.2s ease;
}
.sm-faq-item:hover { box-shadow: 0 2px 10px rgba(0,0,0,0.05); }
.sm-faq-q {
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  padding: 18px 48px 18px 22px;
  font-size: 1rem;
  font-weight: 600;
  color: #1c1917;
  cursor: pointer;
  position: relative;
  line-height: 1.4;
  font-family: inherit;
}
.sm-faq-q::after {
  content: '+';
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: 400;
  color: #c88a5a;
  transition: transform 0.2s ease;
}
.sm-faq-q[aria-expanded="true"]::after { content: '−'; }
.sm-faq-a {
  padding: 0 22px 20px;
  color: #44403c;
  line-height: 1.6;
  font-size: 0.97rem;
}
.sm-faq-a[hidden] { display: none; }

/* 5. Confort de scroll pour ancres internes */
html { scroll-padding-top: 100px; }

/* === FIN CORRECTIFS === */


/* === CORRECTIFS CTAs (ajoutés 2026-04-24) === */

/* Conteneurs d'actions — alignement horizontal */
.sm-page-hero__actions,
.sm-cta-band {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 24px;
}
.sm-cta-band {
  justify-content: center;
  margin-top: 32px;
}

/* Bouton principal — foncé plein (CTA "Échange gratuit") */
.sm-btn--dark {
  background: #1c1917;
  color: #ffffff !important;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(28,25,23,0.18);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.sm-btn--dark:hover,
.sm-btn--dark:focus {
  background: #c88a5a;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(200,138,90,0.28);
}

/* Bouton secondaire — contour (numéro de téléphone) */
.sm-btn--outline {
  background: transparent;
  color: #1c1917 !important;
  text-decoration: none;
  border: 1.5px solid rgba(28,25,23,0.25) !important;
  padding: 11.5px 24.5px !important;
  transition: border-color .15s ease, background .15s ease, color .15s ease;
}
.sm-btn--outline:hover,
.sm-btn--outline:focus {
  border-color: #1c1917 !important;
  background: rgba(28,25,23,0.04);
}

/* Variante claire (bas de page "Prendre contact") — fond sable clair */
.sm-btn--light {
  background: #c88a5a;
  color: #ffffff !important;
  text-decoration: none;
  box-shadow: 0 2px 8px rgba(200,138,90,0.22);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.sm-btn--light:hover,
.sm-btn--light:focus {
  background: #b57849;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(181,120,73,0.32);
}

/* Le "ou appelez : 06 18 36 34 84" en bas de page — plus sobre */
.sm-cta-band a[href^="tel:"] {
  color: #44403c;
  text-decoration: none;
  font-weight: 600;
  transition: color .15s ease;
}
.sm-cta-band a[href^="tel:"]:hover {
  color: #c88a5a;
}

/* === FIN CORRECTIFS CTAs === */


/* === CORRECTIFS PAGE COLÈRES (ajoutés 2026-04-24) === */
/* Nombreuses classes sans aucune règle CSS — ajout du style manquant
   Concerne potentiellement toutes les pages utilisant cette nomenclature */

/* Hero — label au-dessus du titre (type "AGITATION · TDAH" etc.) */
.sm-page-hero__label {
  display: block;
  font-size: 0.8rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c88a5a;
  font-weight: 600;
  margin-bottom: 16px;
}

/* Hero — conteneur interne */
.sm-page-hero__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 24px 60px;
}

/* Entête de section (label + titre + intro) */
.sm-section-header {
  max-width: 780px;
  margin: 0 auto 40px;
  text-align: center;
}

/* --- Grille de 3 cartes (icône + titre + texte) --- */
.sm-cards-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  margin-top: 24px;
}
@media (min-width: 760px) {
  .sm-cards-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
  }
}

.sm-card {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.06);
  border-radius: 14px;
  padding: 28px 24px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.sm-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.06);
}

.sm-card__icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(200, 138, 90, 0.12);
  color: #c88a5a;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  margin-bottom: 16px;
}

.sm-card__title {
  font-size: 1.08rem;
  font-weight: 700;
  margin: 0 0 8px;
  color: #1c1917;
  line-height: 1.35;
}

.sm-card__text {
  color: #44403c;
  line-height: 1.55;
  font-size: 0.95rem;
  margin: 0;
}

/* --- Steps (nomenclature "colères" : sm-step__number / __content) --- */
.sm-steps-section {
  display: block;
}

/* Réutilise la mise en carte déjà définie pour .sm-step */
.sm-step__number {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #c88a5a;
  color: #ffffff;
  font-weight: 700;
  font-size: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.sm-step__content {
  display: block;
}
.sm-step__content > :first-child {
  font-weight: 700;
  font-size: 1.05rem;
  color: #1c1917;
  margin: 4px 0 6px;
}
.sm-step__content > :last-child {
  color: #44403c;
  line-height: 1.55;
  font-size: 0.95rem;
  margin: 0;
}

/* --- Section CTA sombre (fond noir) --- */
.sm-cta-section {
  padding: 56px 24px;
  text-align: center;
}

.sm-cta-inner {
  max-width: 760px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.sm-cta-inner > * {
  color: #ffffff;
}
.sm-cta-inner h2,
.sm-cta-inner h3 {
  color: #ffffff;
  margin: 0;
}
.sm-cta-inner p {
  color: rgba(255, 255, 255, 0.85);
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.55;
}

/* Lien téléphone sobre — sur fond foncé comme sur fond clair */
.sm-phone {
  color: rgba(255, 255, 255, 0.85);
  font-weight: 600;
  text-decoration: none;
}
.sm-cta-section .sm-phone {
  color: rgba(255, 255, 255, 0.85);
}
.sm-phone:hover {
  color: #c88a5a;
}

/* Les boutons .sm-btn--light sur fond sombre restent lisibles
   (déjà défini plus haut, couleur sable sur noir contraste bien) */

/* === FIN CORRECTIFS PAGE COLÈRES === */


/* === CORRECTIFS H3 — alignement charte profil A (ajoutés 2026-04-29) === */
/* Force Instrument Serif italique sur tous les H3 de cards/services      */
/* (le thème actif force Montserrat sur h3 par défaut, on neutralise ici) */
.sm-card__title,
.sm-related h3,
.sm-process-step h3,
.sm-explainer-card h3,
.sm-step__content h3,
h3.heading-md,
.sm-section h3 {
  font-family: 'Instrument Serif', Georgia, serif !important;
  font-style: italic !important;
  font-weight: 600 !important;
}
.sm-card__title {
  color: #1A1613 !important;
}
/* Exclusion : les H3 dans .sm-cta-inner restent blancs sur fond foncé */
/* === FIN CORRECTIFS H3 === */


/* === CORRECTIFS H1 — alignement charte profil A (ajoutés 2026-04-29) === */
/* Toutes les pages services utilisent Instrument Serif 76.8px, on aligne sur la home : Playfair Display 64px italic */
.sm-page-hero__title,
.heading-xl,
h1.heading-xl,
.sm-page-hero h1 {
  font-family: 'Playfair Display', Georgia, serif !important;
  font-size: 64px !important;
  font-style: italic !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.08 !important;
}
@media (max-width: 768px) {
  .sm-page-hero__title,
  .heading-xl,
  h1.heading-xl,
  .sm-page-hero h1 {
    font-size: 40px !important;
    line-height: 1.1 !important;
  }
}
/* === FIN CORRECTIFS H1 === */


/* =====================================================
   AUDIT MOBILE — Correctifs ajoutés le 2026-04-30
   ===================================================== */

/* 1. Home : empêche le H2 "Découvrez mes accompagnements" de déborder */
section.sm-related h2,
.sm-related h2 {
  font-size: clamp(28px, 7vw, 48px);
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  line-height: 1.15;
}

/* 2. Désactive la césure auto sur les H1 (hero) — évite "natu-rel" et "accompa-gnement" */
.elementor-widget-heading h1,
.sm-hero h1,
h1.elementor-heading-title,
.elementor-section h1 {
  hyphens: manual !important;
  -webkit-hyphens: manual !important;
  overflow-wrap: break-word;
  word-break: normal;
}

/* 3. Header sticky : éviter qu'il masque les titres au scroll/ancres */
h1, h2, h3, section[id], [id] {
  scroll-margin-top: 90px;
}

/* 4. Garde-fou : pas de débordement horizontal en mobile */
@media (max-width: 768px) {
  html, body { overflow-x: hidden; max-width: 100%; }
}

/* =============================================
   FIX MENU MOBILE — Layout du hamburger ouvert (v2)
   Ajoute le 2026-04-30
   ============================================= */
@media (max-width: 768px){
  .sm-navbar.mobile-open .sm-navbar__inner{
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  .sm-navbar.mobile-open .sm-navbar__cta{
    position: static !important;
    display: block !important;
    width: calc(100% - 48px) !important;
    max-width: 360px !important;
    margin: 8px auto 24px !important;
    text-align: center !important;
    flex-basis: 100% !important;
    order: 99 !important;
    box-sizing: border-box !important;
  }
  .sm-navbar:not(.mobile-open) .sm-navbar__cta{ display: none !important; }
  .sm-navbar__hamburger{ position: relative !important; z-index: 100 !important; }
  .sm-navbar.mobile-open .sm-navbar__links{ flex-basis: 100% !important; order: 50 !important; }
}
