/* ==========================================================
   ClaraNaturo – thème enfant « Clara »
   Polices hébergées sur le site (SIL Open Font License) :
   Bodoni Moda (titres) et Hanken Grotesk (texte).
   ========================================================== */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/bodoni-moda.woff2") format("woff2")}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 600;font-display:swap;src:url("../fonts/bodoni-moda-italic.woff2") format("woff2")}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 600;font-display:swap;src:url("../fonts/hanken-grotesk.woff2") format("woff2")}

body:has(.cn){margin:0;background:#F6F0E6}
/* integration WordPress (gabarit clara-canvas) */
body:has(.cn){--wp--style--root--padding-left:0px;--wp--style--root--padding-right:0px}
body:has(.cn) .wp-site-blocks{padding:0!important}
body:has(.cn) .wp-site-blocks>*,.cn{margin-block-start:0!important}
.cn{max-width:none!important;margin:0!important;width:100%}
.cn h1,.cn h2,.cn h3,.cn h4{font-weight:inherit}
.cn .d{font-weight:450}
.cn img{max-width:100%;height:auto}
.cn .hero-photo img,.cn .cta-photo img{height:100%}

.cn{--cobalt:#2E211B;--cobalt-deep:#46332A;--chalk:#F6F0E6;--white:#FBF8F2;--ink:#2A1F19;--ink2:#5E4E43;--muted:#7A6A5E;--ochre:#B8935A;--line:rgba(42,31,25,.12);--line-on-blue:rgba(246,240,230,.22);--on-blue-2:#D9C9B3;
  font-family:"Hanken Grotesk",system-ui,sans-serif;color:var(--ink);background:var(--chalk);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.cn *{box-sizing:border-box}
.cn ::selection{background:#2E211B;color:#fff}
.cn a{color:inherit;text-decoration:none}
.cn a:focus-visible,.cn button:focus-visible{outline:2px solid #B8935A;outline-offset:3px;border-radius:2px}
.d{font-family:"Bodoni Moda",Georgia,serif;font-weight:450;font-variation-settings:"opsz" 11;letter-spacing:-.015em}
.wrap{max-width:1320px;margin:0 auto;padding:0 clamp(20px,4vw,60px)}
.btn{display:inline-flex;align-items:center;gap:12px;height:54px;padding:0 26px;border-radius:999px;font-weight:500;font-size:16px;letter-spacing:.005em;transition:background-color .18s cubic-bezier(.22,1,.36,1),color .18s cubic-bezier(.22,1,.36,1)}
.cn .btn-chalk{background:var(--chalk);color:var(--ink)}.cn .btn-chalk:hover{background:#fff}
.cn .btn-cobalt{background:var(--cobalt);color:#fff}.cn .btn-cobalt:hover{background:var(--cobalt-deep)}
.btn-sm{height:44px;padding:0 20px;font-size:15px}
.cn .btn-ghost-blue{color:var(--chalk);box-shadow:inset 0 0 0 1px var(--line-on-blue)}.btn-ghost-blue:hover{box-shadow:inset 0 0 0 1px var(--chalk)}
.cn .btn-dark{background:#2E211B;color:#F6F0E6}.cn .btn-dark:hover{background:#46332A}
.cn .btn-ghost{color:#2A1F19;box-shadow:inset 0 0 0 1px rgba(42,31,25,.28)}.cn .btn-ghost:hover{box-shadow:inset 0 0 0 1px #2A1F19}
.link{display:inline-flex;align-items:center;gap:10px;font-weight:500;border-bottom:1px solid currentColor;padding-bottom:3px}
/* hero */
.hero{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:880px;background:#EFE6D8}
.hero-text{display:flex;flex-direction:column;justify-content:space-between;padding:88px clamp(20px,4vw,60px) 44px;color:#2A1F19}
.hero-photo{position:relative;overflow:hidden;background:#D9C7AF}
.hero-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 35%}
.h1-big{font-size:clamp(54px,6.8vw,104px);line-height:1;margin:0;font-weight:400;letter-spacing:-.03em;text-wrap:balance}
.h1-small{display:block;font-family:"Hanken Grotesk",sans-serif;font-size:clamp(18px,1.5vw,21px);line-height:1.5;letter-spacing:0;font-weight:400;margin-top:28px;color:#5E4E43;max-width:34ch}
.proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid rgba(184,147,90,.55)}
.proof>div{padding:20px 16px 0 0;font-size:14px;line-height:1.45;color:#6E5E52}
.proof>div+div{padding-left:16px;border-left:1px solid rgba(42,31,25,.12)}
.proof strong{display:block;color:#2A1F19;font-weight:500;font-size:15px;margin-bottom:2px}
/* needs */
.needs{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,96px);align-items:start}
.needs-photo{position:sticky;top:32px}
.needs-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:2px}
.need{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:28px 0;border-top:1px solid var(--line)}
.need h3{margin:0;font-size:clamp(26px,2.4vw,34px);line-height:1.1}
.need p{margin:0;color:var(--ink2);font-size:16px}
.need .to{display:block;margin-top:10px;font-size:14px;font-weight:600;color:#6B4A35}
/* soins */
.soins-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px;row-gap:96px}
.fam h3{font-size:clamp(34px,3.4vw,52px);line-height:1.02;margin:0 0 14px}
.fam p.lead{margin:0 0 22px;color:var(--ink2);max-width:46ch}
.fam img{width:100%;display:block;object-fit:cover;border-radius:2px}
.menu{list-style:none;margin:0 0 26px;padding:0;border-top:1px solid var(--line)}
.menu li{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px;align-items:baseline;padding:14px 0;border-bottom:1px solid var(--line);font-size:16px}
.menu .t{font-weight:500}.menu .t small{display:block;font-weight:400;color:var(--muted);font-size:14px}
.menu .du{color:var(--muted);font-size:14px;font-variant-numeric:tabular-nums}
.menu .pr{font-variant-numeric:tabular-nums;font-weight:600;min-width:64px;text-align:right}
.fam-a{grid-column:1 / span 7}.fam-a-txt{grid-column:9 / span 4;align-self:end}
.fam-b{grid-column:1 / span 5}.fam-c{grid-column:7 / span 6;margin-top:160px}
.fam-d-img{grid-column:1 / span 4}.fam-d{grid-column:6 / span 6;align-self:center}
/* cures */
.cures{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,5vw,80px)}
.cure-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 48px}
.cure{padding:24px 0;border-top:1px solid var(--line-on-blue)}
.cure .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.cure h3{margin:0;font-size:26px;line-height:1.15}
.cure .pr{font-family:"Bodoni Moda",serif;font-weight:450;font-variation-settings:"opsz" 11;color:#E3C994;font-size:30px;font-variant-numeric:tabular-nums}
.cure p{margin:8px 0 0;color:var(--on-blue-2);font-size:15px}
/* clara */
.clara{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:24px}
.clara-img{grid-column:1 / span 5;grid-row:1 / span 2}
.clara-img img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:2px}
.clara-quote{grid-column:7 / span 6}
.clara-plaque{grid-column:7 / span 2;margin-top:40px}
.clara-plaque img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:50% 100%;display:block;border-radius:2px}
.clara-bio{grid-column:9 / span 4;margin-top:40px;color:var(--ink2);font-size:16px}
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:96px}
.pillars>div{border-top:1px solid #B8935A;padding-top:22px}
.pillars h3{margin:0 0 10px;font-size:28px;line-height:1.1}
.pillars p{margin:0;color:var(--ink2);font-size:16px}
/* avis */
.avis{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:start}
.big-quote{font-size:clamp(30px,3.2vw,46px);line-height:1.18;margin:0;font-style:italic;text-wrap:pretty}
.small-quote{padding:26px 0;border-top:1px solid var(--line)}
.small-quote p{margin:0 0 12px;font-size:18px;line-height:1.5}
.who{font-size:14px;color:var(--muted);font-weight:500}
.stars{display:inline-flex;gap:3px;color:var(--ochre);vertical-align:-2px}
/* faq */
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:clamp(32px,6vw,96px)}
.q{border-top:1px solid var(--line)}
.q .a{margin:-6px 0 26px;color:var(--ink2);max-width:62ch}
.plus{flex:none;width:36px;height:36px;border-radius:999px;box-shadow:inset 0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center;color:#6B4A35}
/* cta + footer */
.cta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:520px;background:var(--cobalt);color:var(--chalk)}
.cta-photo{position:relative;overflow:hidden}
.cta-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.foot{display:grid;grid-template-columns:minmax(0,4fr) repeat(3,minmax(0,2fr));gap:48px}
.foot ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.foot a:hover{color:#fff}
.sec{padding:clamp(80px,10vw,152px) 0}
.h2{font-size:clamp(40px,4.6vw,72px);line-height:1.02;margin:0;letter-spacing:-.02em;text-wrap:balance}
.intro{font-size:19px;color:var(--ink2);max-width:52ch;margin:24px 0 0}
@media (max-width: 900px){
  .cn{font-size:16px}
  .hero{grid-template-columns:1fr;min-height:0}
  .hero-photo{order:-1;height:440px}
  .hero-photo img{object-position:50% 22%}
  .hero-text{padding:40px 20px 32px}
  .cn .hero-mid{padding:0 0 8px !important}
  .h1-big{font-size:52px;margin-top:8px}
  .proof{grid-template-columns:1fr 1fr;margin-top:40px}
  .proof>div{padding:16px 12px 16px 0}.proof>div+div{padding-left:0;border-left:0}
  .proof>div:nth-child(even){padding-left:12px;border-left:1px solid rgba(42,31,25,.12)}
  .proof>div:nth-child(n+3){border-top:1px solid rgba(42,31,25,.12)}
  .needs,.cures,.faq,.avis{grid-template-columns:1fr}
  .needs-photo{position:static}.needs-photo img{aspect-ratio:4/3}
  .need{grid-template-columns:1fr;gap:8px;padding:22px 0}
  .soins-grid{grid-template-columns:1fr;row-gap:64px}
  .fam-a,.fam-a-txt,.fam-b,.fam-c,.fam-d-img,.fam-d{grid-column:1 / -1;margin-top:0}
  .fam-a-txt{margin-top:-40px}
  .cure-list{grid-template-columns:1fr}
  .clara{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px}
  .clara-img,.clara-quote,.clara-bio{grid-column:1 / -1;grid-row:auto}
  .clara-quote{margin-top:40px}
  .clara-plaque{grid-column:1 / span 1;margin-top:28px}
  .clara-bio{margin-top:20px}
  .pillars{grid-template-columns:1fr;gap:32px;margin-top:64px}
  .cta{grid-template-columns:1fr}.cta-photo{height:360px}
  .foot{grid-template-columns:1fr 1fr;gap:36px}
  .foot>div:first-child{grid-column:1 / -1}
}
/* page service */
.hero-svc{min-height:820px}
.hero-svc .hero-photo{margin-top:88px}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:14px;color:#6E5E52;margin:0 0 28px}
.crumbs a:hover{color:#2A1F19}
.crumbs [aria-current]{color:#2A1F19}
.methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:64px;border-top:1px solid #B8935A}
.methods article{padding:40px 56px 8px 0}
.methods article+article{padding-left:56px;border-left:1px solid rgba(42,31,25,.12)}
.methods h3{margin:0 0 20px;font-size:clamp(36px,3.6vw,54px);line-height:1}
.methods p{margin:0 0 16px;color:#5E4E43;max-width:48ch}
.cn .methods .m-meta{margin:0 0 12px;font-size:14px;font-weight:600;color:#8A6A3B;font-variant-numeric:tabular-nums}
.effects-head{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:end}
.effects-head img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;border-radius:2px}
.effects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px;margin-top:64px}
.effects>div{border-top:1px solid #B8935A;padding-top:22px}
.e-when{display:block;font-size:14px;font-weight:600;color:#8A6A3B;margin-bottom:12px}
.effects p{margin:0;font-size:26px;line-height:1.25}
.related{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.rel{display:flex;flex-direction:column;gap:12px}
.rel img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:2px;transition:opacity .18s cubic-bezier(.22,1,.36,1)}
.rel:hover img{opacity:.9}
.rel-t{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:8px}
.rel-t .d{font-size:26px;line-height:1.1}
.rel-m{font-size:14px;color:#7A6A5E;white-space:nowrap;font-variant-numeric:tabular-nums}
.rel-p{color:#5E4E43;font-size:15px}
.svc .need{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr)}
@media (max-width: 900px){
  .hero-svc{min-height:0}
  .hero-svc .hero-photo{margin-top:0}
  .methods{grid-template-columns:1fr;margin-top:40px}
  .methods article{padding:32px 0 8px}
  .methods article+article{padding-left:0;border-left:0;border-top:1px solid rgba(42,31,25,.12)}
  .effects-head{grid-template-columns:1fr;gap:32px}
  .effects{grid-template-columns:1fr;gap:28px;margin-top:40px}
  .effects p{font-size:22px}
  .related{grid-template-columns:1fr;gap:40px}
  .svc .need{grid-template-columns:1fr}
}

/* ---------- En-tête (partie de modèle clara-header) ---------- */
.wp-site-blocks{position:relative}
.clara-header{position:absolute;top:0;left:0;right:0;z-index:50;font-family:"Hanken Grotesk",system-ui,sans-serif;color:#2A1F19;-webkit-font-smoothing:antialiased}
.clara-header a{text-decoration:none}
.ch-bar{display:flex;align-items:center;justify-content:space-between;gap:32px;height:88px;padding:0 clamp(20px,4vw,60px)}
.ch-logo{font-size:28px;line-height:1;white-space:nowrap;color:#2A1F19;letter-spacing:-.01em}
.ch-logo i{font-style:italic}
.ch-links{display:flex;align-items:center;gap:30px;font-size:15px;font-weight:500}
.ch-links>a{color:#2A1F19;opacity:.78;transition:opacity .18s cubic-bezier(.22,1,.36,1)}
.ch-links>a:hover{opacity:1}
.ch-mobile{display:none}
.ch-right{display:flex;align-items:center;gap:22px}
.ch-tel{font-size:15px;font-weight:500;color:#2A1F19}
.ch-toggle{display:none;width:44px;height:44px;border:0;border-radius:999px;background:rgba(246,240,230,.9);box-shadow:inset 0 0 0 1px rgba(42,31,25,.18);color:#2A1F19;align-items:center;justify-content:center;cursor:pointer;padding:0}
.ch-toggle:focus-visible,.ch-links a:focus-visible{outline:2px solid #B8935A;outline-offset:3px}
.ch-i-close{display:none}
.clara-header .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:44px;padding:0 20px;border-radius:999px;font-weight:500;font-size:15px;background:#2E211B;color:#F6F0E6;transition:background-color .18s cubic-bezier(.22,1,.36,1)}
.clara-header .btn:hover{background:#46332A}
/* barre pleine sur les pages service et les pages standard */
body:has(.hero-svc) .clara-header,body:has(.cn-page) .clara-header{background:#EFE6D8;border-bottom:1px solid rgba(42,31,25,.08)}
body:has(.svc) .ch-links>a[href="/#soins"]{opacity:1;box-shadow:inset 0 -1px 0 #B8935A;padding-bottom:3px}

/* ---------- Pied de page (partie de modèle clara-footer) ---------- */
.clara-footer{background:#2A1F19;color:#E6DACA;padding:80px 0 40px}
.foot-h{margin:0 0 16px;font-family:"Hanken Grotesk",sans-serif;font-size:13px;font-weight:600;color:#B39D80;letter-spacing:.02em;line-height:1.4}
.foot-desc{margin:16px 0 0;font-size:15px;color:#BBA992;max-width:34ch}
.foot-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:72px;padding-top:24px;border-top:1px solid rgba(246,240,230,.12);font-size:13px;color:#BBA992}

/* ---------- FAQ dépliable (details / summary) ---------- */
.q summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;cursor:pointer;font-size:20px;font-weight:500;line-height:1.35;list-style:none}
.q summary::-webkit-details-marker{display:none}
.q summary:focus-visible{outline:2px solid #B8935A;outline-offset:4px}
.q summary:hover .plus{box-shadow:inset 0 0 0 1px #6B4A35}
.q .plus svg .v{transition:transform .2s cubic-bezier(.22,1,.36,1);transform-origin:12px 12px}
.q[open] .plus svg .v{transform:scaleY(0)}
.q .a{margin:-6px 0 26px}

/* ---------- Encadré « à rédiger » ---------- */
.todo{margin-top:64px;padding:20px 24px;border:1px dashed rgba(138,106,59,.7);border-radius:4px;font-size:15px;color:#5E4E43;max-width:760px}
.todo strong{color:#2A1F19;font-weight:600}

/* ---------- Gabarit de page standard (mentions légales, etc.) ---------- */
.cn-page{background:#F6F0E6;color:#2A1F19;font-family:"Hanken Grotesk",system-ui,sans-serif;font-size:17px;line-height:1.65;padding:168px clamp(20px,4vw,60px) 112px!important;margin:0!important}
.cn-page h1,.cn-page h2,.cn-page h3{font-family:"Bodoni Moda",Georgia,serif;font-variation-settings:"opsz" 11;font-weight:450;letter-spacing:-.015em;line-height:1.1}
.cn-page h1{font-size:clamp(40px,5vw,64px);margin:0 0 40px}
.cn-page a{color:#6B4A35}

/* ---------- Mobile ---------- */
@media (max-width: 900px){
  .ch-bar{height:72px;padding:0 16px;gap:12px}
  .ch-logo{font-size:24px}
  .ch-tel{display:none}
  .ch-toggle{display:inline-flex}
  .ch-links{display:none;position:absolute;top:72px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;padding:4px 20px 28px;background:#F6F0E6;border-bottom:1px solid rgba(42,31,25,.12);box-shadow:0 18px 32px rgba(42,31,25,.12)}
  .ch-links>a{opacity:1;font-family:"Bodoni Moda",Georgia,serif;font-variation-settings:"opsz" 11;font-weight:450;font-size:26px;letter-spacing:-.01em;padding:14px 0;border-bottom:1px solid rgba(42,31,25,.1)}
  .ch-mobile{display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding-top:24px}
  .ch-mobile .btn{height:52px;padding:0 24px;font-size:16px}
  .ch-mobile-tel{font-size:16px;font-weight:500;color:#2A1F19}
  .clara-header.is-open{background:#F6F0E6}
  .clara-header.is-open .ch-links{display:flex}
  .clara-header.is-open .ch-i-open{display:none}
  .clara-header.is-open .ch-i-close{display:block}
  body:has(.hero-svc) .clara-header:not(.is-open){background:transparent;border-bottom:0}
  .q summary{font-size:18px}
  .cn-page{padding-top:120px!important}
}
