/* Copie fidèle de la feuille de style de la maquette statique v15m (site/assets/css/styles.css).
   Ne pas modifier ici : les adaptations WordPress sont dans wp-adaptation.css. Polices déclarées dans theme.json. */
/* RBOOST 971 — feuille de style v15 (refonte prompt du 29/10/2026). Bleu nuit, turquoise, orange, fond ivoire. */
:root{--navy:#191A3C;--navy2:#24264f;--turq:#43B8D3;--turq-d:#0f6f86;--orange:#F57345;--orange-d:#b9461d;--ivory:#FFF9F2;--sand:#f6ece1;--ink:#191A3C;--muted:#4a4b66;--line:#e6d9cb;--r:12px;--max:1160px;--display:"Barlow Condensed","Arial Narrow",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:18px;line-height:1.6;color:var(--ink);background:var(--ivory);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--turq-d);text-underline-offset:3px}
a:focus-visible,button:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:6px}
h1,h2,h3,h4{line-height:1.2;margin:0 0 .6em;color:var(--navy)}
h1{font-family:var(--display);font-style:italic;font-weight:800;font-size:clamp(2.2rem,5.2vw,3.6rem);line-height:1.02;letter-spacing:.005em}
h2{font-size:clamp(1.55rem,3vw,2.1rem);font-weight:750}
h3{font-size:1.25rem;font-weight:700}
h4{font-size:1.08rem;font-weight:700}
p{margin:0 0 1em}
.wrap{max-width:var(--max);margin:0 auto;padding:0 1.25rem}
.narrow{max-width:760px}.narrow-l{max-width:900px;margin-left:0}
.wrap.narrow-l{max-width:var(--max);margin:0 auto}
.wrap.narrow{margin:0 auto}
.lead{font-size:1.15rem;color:var(--muted);max-width:44rem}
.note{font-size:.98rem;color:var(--muted)}
.small{font-size:.9rem}
.skip{position:absolute;left:-999px;top:0;background:#fff;color:var(--navy);padding:.7rem 1rem;z-index:99}.skip:focus{left:.5rem;top:.5rem}
.sr-live{position:fixed;left:50%;bottom:88px;transform:translateX(-50%);background:var(--navy);color:#fff;padding:.55rem 1rem;border-radius:999px;font-size:.95rem;opacity:0;pointer-events:none;transition:opacity .2s;z-index:80;max-width:92vw;text-align:center}
.sr-live.on{opacity:1}
/* en-tête */
.hd{background:var(--navy);color:#fff;position:sticky;top:0;z-index:50}
.hd-in{display:flex;align-items:center;gap:1rem;min-height:72px}
.brand img{height:46px;width:auto}
.nav{display:flex;gap:.2rem;margin-left:auto}
.nav a{color:#fff;text-decoration:none;padding:.6rem .75rem;border-radius:8px;font-weight:600;font-size:1rem;min-height:44px;display:flex;align-items:center}
.nav a:hover{background:rgba(255,255,255,.08)}
.nav a[aria-current="page"]{color:var(--turq);box-shadow:inset 0 -3px 0 var(--turq)}
.btn-head{margin-left:.5rem}
.nav-btn{display:none;margin-left:auto;width:48px;height:48px;border:1px solid rgba(255,255,255,.35);background:transparent;border-radius:10px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px}
.nav-btn span{display:block;width:22px;height:2px;background:#fff;border-radius:2px}
.crumbs{list-style:none;display:flex;gap:.4rem;padding-top:1rem;padding-bottom:0;margin:0 auto;font-size:.92rem;color:var(--muted)}
.crumbs li+li::before{content:"›";margin-right:.4rem}
.crumbs a{color:var(--muted)}
/* boutons */
.actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.2rem 0 0}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.7rem 1.25rem;border-radius:10px;font-weight:700;font-size:1rem;text-decoration:none;border:2px solid transparent;line-height:1.2;text-align:center}
.btn-primary{background:var(--orange);color:var(--navy);border-color:var(--orange)}.btn-primary:hover{background:#ff875c}
.btn-ghost{background:transparent;color:var(--navy);border-color:var(--navy)}.btn-ghost:hover{background:rgba(25,26,60,.06)}
.btn-ghost-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.8)}.btn-ghost-light:hover{background:rgba(255,255,255,.1)}
.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy2)}
.more{font-weight:700;color:var(--turq-d);display:inline-flex;align-items:center;min-height:44px}
.more::after{content:"→";margin-left:.4rem}
/* sections */
.sec{padding:4rem 0}
.sec-alt{background:var(--sand)}
.sec-navy{background:var(--navy);color:#e9eaf5}
.sec-navy h2,.sec-navy h3{color:#fff}.sec-navy .lead{color:#d7d9ee}
.final{text-align:center}.final .lead{margin-left:auto;margin-right:auto}.final .actions{justify-content:center}
.intro{padding:2.2rem 0 3rem}
.intro-navy{background:var(--navy);color:#e9eaf5;padding-top:3rem}
.intro-navy h1{color:#fff}.intro-navy .lead{color:#d7d9ee}
.kicker{font-family:var(--display);font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--turq);margin-bottom:.4rem}
.p-entreprises .crumbs{display:none}
/* accueil */
.hero{background:var(--navy);color:#fff;padding:3rem 0}
.hero-in{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:center}
.hero h1{color:#fff}
.hero .lead{color:#dfe1f2}
.loc{color:var(--turq);font-weight:700;letter-spacing:.02em;margin-bottom:.6rem}
.hero-ph img{border-radius:var(--r);aspect-ratio:1/1;object-fit:cover;width:100%}
.brandline{background:var(--sand);border-bottom:1px solid var(--line)}
.brandline p{margin:0;padding:.9rem 0;text-align:center;font-size:1.05rem;color:var(--navy)}
.brandline strong{color:var(--orange-d);font-family:var(--display);font-style:italic;font-weight:800;font-size:1.3em;letter-spacing:.02em}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:1.4rem}
.cards-4{grid-template-columns:repeat(2,1fr)}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;box-shadow:0 2px 10px rgba(25,26,60,.04);display:flex;flex-direction:column}
.card .more{margin-top:auto}
.cards .card p{color:var(--muted)}
.items3{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin:1.6rem 0}
.item h3{margin-bottom:.35em}
.integrite{border-left:4px solid var(--orange);padding:.6rem 0 .6rem 1rem;font-weight:600;font-size:1.1rem;max-width:44rem}
.team{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin:1.6rem 0 2.6rem}
.person{display:grid;grid-template-columns:200px 1fr;gap:1.3rem;align-items:start}
.portrait img{aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:var(--r);width:100%}
.role{color:var(--orange-d);font-weight:700;margin-top:-.3em}
.studio{display:grid;grid-template-columns:1.1fr 1.2fr .8fr;gap:1.3rem;align-items:start}
.ph img{border-radius:var(--r);width:100%}
.ph figcaption,figure figcaption{font-size:.92rem;color:var(--muted);margin-top:.45rem}
figure{margin:0}
.ph-lieu img{aspect-ratio:4/3;object-fit:cover}
.ph-tall img{aspect-ratio:3/4}
.eng-intro{display:grid;grid-template-columns:1fr 1fr;gap:2rem}
.eng-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:2.4rem;margin-top:1.6rem;align-items:start}
.eng-col .item{border-top:1px solid rgba(255,255,255,.16);padding-top:1.1rem;margin-bottom:1.1rem}
.sec-navy .ph figcaption{color:#c5c8e3}
.ph-eng img{aspect-ratio:4/3;object-fit:cover}
.avis{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem;margin:1.2rem 0}
.stars{color:var(--orange);font-size:1.4rem;letter-spacing:.1em}
.avis blockquote{margin:.6rem 0 1rem;font-size:1.2rem;line-height:1.55}
.avis blockquote p{margin:0}
.avis figcaption{font-size:1rem;color:var(--muted)}
.pro-door{display:flex;align-items:center;justify-content:space-between;gap:2rem}
.pro-door p{margin:0;max-width:44rem;color:var(--muted)}
/* accompagnements */
.toc{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.6rem}
.toc a{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.55rem 1rem;font-weight:700;text-decoration:none;color:var(--navy);min-height:44px;display:inline-flex;align-items:center}
.toc a:hover{border-color:var(--navy)}
.fam{padding:3.6rem 0;border-top:1px solid var(--line)}
.fam-alt{background:var(--sand)}
.fam-hd{margin-bottom:1.6rem}
.presta{margin:0 0 2.4rem}
.split{display:grid;grid-template-columns:1.25fr 1fr;gap:2.4rem;align-items:start}
.sub{font-weight:700;color:var(--orange-d);margin-top:-.3em}
.facts{list-style:none;padding:0;margin:1rem 0}
.facts li{padding:.35rem 0 .35rem 1.6rem;position:relative}
.facts li::before{content:"";position:absolute;left:0;top:.85em;width:.7rem;height:.7rem;border-radius:2px;background:var(--turq)}
.price{display:inline-block;background:#fff;border:2px solid var(--navy);border-radius:10px;padding:.45rem .9rem;font-weight:800}
.planning{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.tbl{width:100%;border-collapse:collapse;margin:.4rem 0 1rem;background:#fff}
.tbl th,.tbl td{text-align:left;padding:.65rem .8rem;border-bottom:1px solid var(--line)}
.tbl th{background:var(--navy);color:#fff;font-weight:700}
.presta-sm{max-width:820px;border-left:4px solid var(--turq);padding-left:1.2rem}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem}
.box-navy{background:var(--navy);color:#e9eaf5;border-radius:var(--r);padding:2rem}
.box-navy h3{color:#fff}.box-navy .sub{color:#ffb08f}.box-navy .note{color:#c9cbe6}.box-navy .price{background:transparent;color:#fff;border-color:#fff}
.box-ivory{background:#fff;border:1px solid var(--line);border-left:5px solid var(--orange);border-radius:var(--r);padding:1.8rem}
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.mini{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;margin:0}
.ph-mini img{aspect-ratio:16/10;object-fit:cover}
.ph-mini{margin-bottom:1rem}
.mini .btn{width:100%}
/* entreprises */
.steps{list-style:none;padding:0;margin:1.6rem 0;display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem;counter-reset:s}
.steps>li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem}
.refs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.6rem;margin:1.4rem 0}
.refs li{background:#fff;border:1px solid var(--line);border-radius:8px;padding:.55rem 1rem;font-weight:700}
.eng-link{margin-top:1.4rem}
.coords{list-style:none;padding:0;margin:1.2rem 0;font-weight:700;display:flex;justify-content:center;gap:1.4rem;flex-wrap:wrap}
/* contact */
.contact-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:2.6rem;align-items:start}
.coord-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.8rem}
.lbl{font-weight:700;margin:1.1rem 0 .2rem;color:var(--muted);font-size:.95rem}
.val{font-size:1.15rem;font-weight:700;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-bottom:.4rem}
.copy{font:inherit;font-size:.9rem;font-weight:600;background:var(--sand);border:1px solid var(--line);border-radius:8px;padding:.45rem .8rem;min-height:44px;cursor:pointer;color:var(--navy)}
.addr{font-size:1.15rem;font-weight:700}
.venir .ph{margin:1.2rem 0}
.venir .ph img{aspect-ratio:4/3;object-fit:cover}
.faq .item{border-bottom:1px solid var(--line);padding:1rem 0}
.links2{display:flex;flex-wrap:wrap;gap:1.4rem}
/* légal */
.legal{padding:1.5rem 0 3.5rem}
.legal section{margin-bottom:1.8rem}
.legal h2{font-size:1.35rem;margin-top:1.4rem}
/* promo */
.promo{background:#fff;border:2px solid var(--orange);border-radius:var(--r);padding:1.2rem 1.4rem;margin-top:1rem}
.promo-t{font-weight:800;font-size:1.2rem}
/* pied de page */
.ft{background:var(--navy);color:#d7d9ee;padding:3rem 0 1rem;font-size:.98rem}
.ft a{color:#fff}
.ft-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}
.ft-brand{font-family:var(--display);font-style:italic;font-weight:800;font-size:1.6rem;color:#fff;margin-bottom:.2rem}
.ft-links{list-style:none;padding:0;margin:0}.ft-links li{margin:.1rem 0}.ft-links a{display:inline-flex;min-height:40px;align-items:center}
.ft-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:2rem;padding-top:1rem;font-size:.9rem;display:flex;flex-wrap:wrap;gap:.4rem 1.6rem}
.ft-bottom p{margin:0}
.ft-mp{opacity:.7}
/* barre mobile */
.mbar{display:none}
@media (max-width:980px){
 .nav-btn{display:flex}
 .btn-head{display:none}
 .nav{display:none;position:absolute;left:0;right:0;top:72px;background:var(--navy);flex-direction:column;padding:.5rem 1rem 1rem;box-shadow:0 10px 20px rgba(0,0,0,.25)}
 .nav.open{display:flex}
 .hd-in{position:relative}
 .hero-in,.split,.team,.eng-intro,.eng-grid,.contact-grid{grid-template-columns:1fr}
 .studio{grid-template-columns:1fr 1fr}.studio-txt{grid-column:1/-1}
 .cards,.items3,.trio,.steps{grid-template-columns:1fr 1fr}
 .ft-grid{grid-template-columns:1fr 1fr}
 .pro-door{flex-direction:column;align-items:flex-start}
}
@media (max-width:640px){
 body{font-size:17.5px}
 .sec{padding:2.8rem 0}.fam{padding:2.6rem 0}
 .cards,.cards-4,.items3,.trio,.steps,.studio,.ft-grid{grid-template-columns:1fr}
 .person{grid-template-columns:120px 1fr;gap:1rem}
 .hero{padding:2rem 0}
 .actions .btn{flex:1 1 100%}
 .has-bar{padding-bottom:72px}
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--navy);padding:.5rem;gap:.5rem;box-shadow:0 -4px 14px rgba(0,0,0,.2)}
 .bar-a{flex:1;display:flex;align-items:center;justify-content:center;min-height:48px;border-radius:10px;font-weight:700;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.5)}
 .bar-main{background:var(--orange);color:var(--navy);border-color:var(--orange);flex:1.6}
 .box,.box-navy,.box-ivory,.coord-box{padding:1.3rem}
}

/* v15b — texte justifié (demande de Rick, t109u). Paragraphes et listes de texte uniquement ;
   titres, surtitres, boutons, prix, légendes, coordonnées, pied de page et blocs centrés restent tels quels. */
main p, main li, main blockquote{text-align:justify;text-justify:inter-word;hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 3 3;overflow-wrap:break-word}
main .kicker, main .price, main .sub, main .actions, main .crumbs, main .crumbs *, main figcaption, main address, main .final p,
main .brandline p, main .toc li, main .toc a, main td, main th, main .small, main .lbl, main .val, main .copy, main .more, main .links2 *, main .facts li, main .stars, main .venir address{text-align:inherit;hyphens:manual;-webkit-hyphens:manual}
main .final p{text-align:center}
@media (max-width:360px){main p, main li, main blockquote{text-align:left;hyphens:auto}}

/* v15b — accueil, ordinateur : chaque h2 sur une seule ligne (Rick t110u/t112u). Texte inchangé.
   Conteneur de l'accueil élargi à 1240 px et taille du h2 réduite légèrement (30 px max, proportionnelle en dessous de 1240 px).
   Mobile et tablette (< 1100 px) : retour à la ligne normal. */
@media (min-width:1100px){
  .p-index{--max:1240px}
  .p-index main h2{white-space:nowrap;font-size:min(1.875rem, calc((100vw - 48px) * .0254))}
}
/* v15c — sous-page massothérapie */
.p-massotherapie .crumbs{flex-wrap:wrap;display:flex}
.mt-intro .lead{max-width:none}
.mt-auteur{display:flex;align-items:center;gap:1rem;margin:1.6rem 0 0;padding:1rem 1.2rem;background:var(--sand);border-left:4px solid var(--navy);border-radius:10px}
.mt-auteur .mt-auteur-ph{flex:0 0 72px;width:72px;height:72px;border-radius:50%;overflow:hidden;margin:0}
.mt-auteur .mt-auteur-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.mt-auteur p{margin:0;text-align:left;line-height:1.45}
.mt-photo{margin-top:1.6rem}
.mt-txt h2{margin-bottom:1rem}
.mt-liste,.mt-tech{padding-left:1.2rem;margin:0 0 1.2rem}
.mt-liste li,.mt-tech li{margin-bottom:.6rem}
.mt-tech li strong{color:var(--navy)}
main .mt-encadre{margin:1.4rem 0 0;padding:1rem 1.2rem;background:#fff;border-left:4px solid var(--navy);border-radius:8px;font-weight:600;color:var(--navy)}
.sec:not(.sec-alt) .mt-encadre{background:var(--sand)}
.mt-citation{margin:1.6rem 0 0;padding:1.2rem 1.4rem;border-left:4px solid var(--navy);background:#fff;font-style:italic;font-size:1.12rem;color:var(--navy)}
.mt-citation p{margin:0}
main .final .mt-avert{max-width:40rem;margin:1.6rem auto 0;font-size:.95rem}
main .mt-encadre + p{margin-top:1.2rem}
/* v15e — prix Sweet Tonic (séance + forfait) et conditions coaching */
.prices{display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-start;margin:0 0 1rem}
.prices .price{margin:0}
main .price-cond{margin-top:-.4rem;font-weight:600}
/* v15g — cartes tarifaires coaching (forfait mis en avant) */
.tarifs{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:1.2rem;align-items:center;margin-top:.4rem}
.tarifs .actions{grid-column:1/-1;justify-content:center;margin-top:.6rem}
.tcard{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem 1.3rem;text-align:center;box-shadow:0 2px 10px rgba(25,26,60,.05)}
main .tcard p{text-align:center;margin:0}
.tcard .t-nom{font-weight:800;color:var(--navy);font-size:1.05rem;margin-bottom:.5rem}
.tcard .t-prix{font-weight:800;color:var(--navy);font-size:1.15rem;margin-bottom:.5rem;line-height:1.3}
.tcard .t-cond{color:var(--muted);font-size:.95rem}
.tcard-top{border:3px solid var(--orange);background:#fff7f2;padding:2rem 1.5rem;box-shadow:0 10px 28px rgba(245,115,69,.22)}
.tcard-top .t-prix{font-size:1.7rem;color:var(--orange-d)}
.tcard-top .t-nom{font-size:1.15rem}
main .tcard-top .t-tag{position:absolute;top:0;left:50%;transform:translate(-50%,-55%);background:var(--orange);color:var(--navy);font-weight:800;font-size:.85rem;padding:.3rem .9rem;border-radius:999px;white-space:nowrap}
@media (max-width:800px){.tarifs{grid-template-columns:1fr;gap:1.6rem}.tcard-top{order:-1}.tarifs .actions{justify-content:stretch}}
main .tcard p{hyphens:none;text-wrap:balance}
/* v15h — photos fournies par Rick (474 px natifs) : jamais affichées plus large que leur résolution */
.ph-native{max-width:474px;width:100%;margin:0 auto}
.ph-native img{display:block;width:100%;height:auto}
.box-navy .ph-native img{box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.mt-photo.ph-native{margin-top:1.6rem}
@media (min-width:801px){#massages.split,#minceur.split{align-items:center}}
main .sub{hyphens:manual}
/* v15i — réflexologie plantaire */
#reflexologie.split{grid-template-columns:1fr 1.25fr;align-items:center}
.ph-reflexo img{aspect-ratio:4/3;object-fit:cover}
.mt-reflexo{margin:.4rem 0 1.4rem}
.mt-reflexo img{aspect-ratio:4/3;object-fit:cover}
@media (max-width:800px){#reflexologie.split{grid-template-columns:1fr}}
#cartes-cadeaux.split{grid-template-columns:1fr 1.25fr;align-items:center}
.ph-cadeau img{object-fit:contain;height:auto;background:transparent}
@media (max-width:800px){#cartes-cadeaux.split{grid-template-columns:1fr}}
