/*
Theme Name: Massage Pro Bien-être — Sur mesure
Theme URI: https://massageprobienetre.fr/
Author: Projet Audrey Pinaud
Description: Thème classique WordPress sans constructeur visuel, créé d'après les maquettes P01 à P07. Photographies originales exclusivement depuis la médiathèque WordPress.
Version: 3.9.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: massage-pro-bien-etre
*/
:root{--teal:#00899e;--teal-dark:#007788;--cyan:#00a1c0;--ink:#0c1127;--blue:#1c3566;--muted:#6c7a9c;--cream:#fdf8f1;--peach:#f6e6d5;--warm-line:#e2c4a4;--shadow:0 8px 30px rgba(26,35,52,.09);--serif:"Playfair Display",Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:115px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:17px;-webkit-font-smoothing:antialiased}body.mpb-site{overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}p{line-height:1.52;margin:0 0 1em}h1,h2,h3{font-family:var(--serif);font-weight:500;line-height:1.13;letter-spacing:-.035em;margin:0}h1{font-size:clamp(2.3rem,4vw,4.7rem)}h2{font-size:clamp(2rem,3.2vw,3.4rem)}h3{font-size:clamp(1.5rem,2.2vw,2.4rem)}a:focus-visible,button:focus-visible{outline:3px solid #f3ba35;outline-offset:3px}.skip-link{position:absolute;top:-90px;left:20px;padding:12px;background:#fff;z-index:10000}.skip-link:focus{top:12px}.section-inner{width:min(100% - 6vw,1420px);margin-left:auto;margin-right:auto}.edge-to-edge{width:100vw;position:relative;left:50%;margin-left:-50vw}.decorative-light{position:relative;isolation:isolate;background:radial-gradient(ellipse at 10% 80%,rgba(242,222,197,.42),transparent 42%),radial-gradient(ellipse at 95% 9%,rgba(242,224,206,.3),transparent 42%),linear-gradient(125deg,#fffdfa,var(--cream) 65%,#fff)}.decorative-light::before{content:"";position:absolute;inset:auto 0 0;height:100px;z-index:-1;pointer-events:none;background:repeating-radial-gradient(ellipse 190% 82% at 50% -100%,transparent 0 11px,rgba(228,189,143,.18) 12px 13px,transparent 14px 23px);opacity:.65}.eyebrow{font-family:var(--sans);color:var(--cyan);font-weight:600;letter-spacing:.13em;text-transform:uppercase;font-size:clamp(.9rem,1.18vw,1.15rem)}.small-underline{height:2px;width:62px;background:var(--cyan);margin:16px auto 24px}.btn-primary,.choice-primary{display:inline-flex;align-items:center;justify-content:center;text-align:center;border:0;border-radius:100px;background:linear-gradient(130deg,var(--teal-dark),var(--teal));color:#fff;font-weight:500;box-shadow:0 10px 20px rgba(14,97,105,.14);min-height:60px;padding:13px 36px;transition:filter .18s,transform .18s}.btn-primary:hover,.choice-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}.btn-outline{display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--cyan);border-radius:999px;padding:10px 35px;color:var(--teal);font-weight:600}.btn-outline:hover{background:#f0fbfe}.photo-to-select{position:relative;background:linear-gradient(130deg,#f4ecdf,#e7dbcd);display:flex;justify-content:center;align-items:center;color:#505872;font:500 14px/1.5 var(--sans);text-align:center;padding:25px}.photo-to-select span{max-width:350px}.photo-to-select small{font-size:11px}.cover-img{width:100%;height:100%;object-fit:cover;object-position:inherit}.photo-instructions{color:#7586a1;font-size:12px;margin-top:15px}
/* Un en-tête commun aux six rubriques. Les conteneurs WordPress n'imposent aucune largeur. */
.site-header{position:relative;z-index:20;background:rgba(255,255,255,.98);box-shadow:0 0 14px rgba(35,29,31,.05)}.header-wide{max-width:1700px;min-height:92px;padding:9px clamp(20px,5.5vw,110px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:clamp(20px,2.5vw,44px)}.brand{display:flex;align-items:center;gap:15px;flex-shrink:0}.brand-picture{flex:0 0 clamp(48px,5.8vw,86px);width:clamp(48px,5.8vw,86px);height:clamp(48px,5.8vw,86px);display:flex;align-items:center;justify-content:center}.brand-logo{object-fit:contain;width:100%;height:100%}.brand-logo-absent{display:grid;place-items:center;border:1px solid var(--teal);border-radius:100%;height:54px;width:54px;color:var(--teal);font:italic 25px var(--serif)}.brand-words{display:flex;flex-direction:column;white-space:nowrap}.brand-words strong{font:500 clamp(1.3rem,2vw,2rem) var(--serif);letter-spacing:-.035em}.brand-words small{font-size:clamp(.58rem,.76vw,.8rem);color:#6679ab;letter-spacing:.085em;white-space:nowrap}.navigation{display:flex;align-items:center;gap:clamp(15px,3vw,48px);justify-content:flex-end;flex:1}.navigation-list{margin:0;padding:0;list-style:none;display:flex;align-items:center;gap:clamp(12px,1.8vw,32px);white-space:nowrap}.navigation-list>li>a{position:relative;display:inline-flex;min-height:46px;align-items:center;font-size:clamp(.72rem,.88vw,.92rem);font-weight:500;transition:color .15s}.navigation-list>li>a:hover{color:var(--teal)}.navigation-list>li>a::after{content:"";height:2px;background:var(--teal);width:0;position:absolute;bottom:4px;left:0;transition:width .2s}.navigation-list>li.current-menu-item>a,.navigation-list>li.current_page_item>a,.navigation-list>li>a.is-current,.navigation-list>li>a[aria-current="page"]{font-weight:700;color:var(--teal-dark)}.navigation-list>li.current-menu-item>a::after,.navigation-list>li.current_page_item>a::after,.navigation-list>li>a.is-current::after,.navigation-list>li>a[aria-current="page"]::after{width:100%}.nav-cta{min-height:50px;white-space:nowrap;padding:10px 33px;font-size:clamp(.85rem,1vw,1rem)}.nav-toggle{display:none;border:0;background:transparent;min-width:48px;min-height:48px;padding:12px}.nav-toggle span{display:block;width:25px;height:2px;background:var(--teal);margin:5px auto}
/* Accueil P01 */
.home-hero{display:grid;grid-template-columns:46.5% 53.5%;min-height:555px}.home-portrait{height:100%;min-height:555px;overflow:hidden;background:var(--cream)}.home-intro{display:flex;justify-content:center;align-items:center;padding:35px 6vw 28px;min-width:0}.intro-centered{width:min(100%,610px);text-align:center;position:relative;z-index:1}.intro-centered .small-underline{margin:14px auto 22px}.intro-centered h1{font-size:clamp(2.3rem,3.5vw,4.2rem);margin:18px -2vw 22px;line-height:1.11;letter-spacing:-.055em}.intro-centered p:not(.eyebrow){text-align:left;margin:0 0 15px;color:#222b3f;font-size:clamp(1rem,1.15vw,1.24rem);line-height:1.35}.price-emphasis{font:600 clamp(1.75rem,2.4vw,2.6rem) var(--serif);color:var(--teal);margin:10px auto 14px}.hero-button{min-width:310px;font-size:clamp(.98rem,1.3vw,1.35rem)}.reviews-section{padding:25px 0 45px;text-align:center;overflow:hidden}.reviews-section h2{font-size:clamp(2.4rem,3.3vw,3.9rem);margin:-6px 0 3px}.eyebrow-lines{display:flex;gap:20px;align-items:center;justify-content:center}.eyebrow-lines::before,.eyebrow-lines::after{content:"";width:54px;height:2px;background:var(--cyan)}.reviews-overview{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;color:#243052;margin-bottom:20px}.reviews-overview .stars{font-size:29px}.stars{color:#ffb000;font-size:19px;letter-spacing:-.07em;white-space:nowrap}.reviews-overview .overview-divider{color:#667191}.review-carousel{display:flex;align-items:center;gap:20px;max-width:1390px;margin:0 auto 20px}.reviews-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;min-width:0;flex:1}.review-card{text-align:left;display:flex;flex-direction:column;background:rgba(255,255,255,.94);border-radius:14px;padding:17px 27px;box-shadow:var(--shadow);min-height:183px}.review-head{display:flex;align-items:center;gap:12px}.review-name{display:flex;flex-direction:column;gap:1px;font-size:14px}.review-name .stars{font-size:17px}.avatar{display:grid;place-items:center;border-radius:50%;width:45px;height:45px;flex:0 0 45px;font-family:var(--serif);font-size:22px;background:#bce3c2}.avatar-2{background:#a9d2fb}.avatar-3{background:#ffbbb1}.google-letter{margin-left:auto;font:bold 25px Arial,sans-serif;color:#4285f4;text-shadow:-1px 0 #e94436,0 1px #34a853,1px 0 #fbbc05}.review-card blockquote{font:italic clamp(.9rem,1.08vw,1.2rem)/1.25 var(--serif);color:#273c73;margin:12px 0 7px;flex:1}.review-card small{font-size:12px;color:#8491af}.carousel-control{border:0;background:#fff;color:#1f3456;font:500 38px var(--serif);box-shadow:var(--shadow);width:46px;height:46px;border-radius:100%;flex:0 0 46px;display:grid;place-items:center;padding:0 0 7px}.reviews-section .btn-outline{font-size:14px;background:#fff}
/* Soin P02 */
.recognize-section{text-align:center;padding:28px 0 0}.recognize-section h1{font-size:clamp(3rem,5vw,5.5rem);margin:3px 0 30px}.recognize-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:28px}.recognize-item{min-height:180px;padding:0 22px;position:relative}.recognize-item+ .recognize-item::before{content:"";height:95px;width:1px;position:absolute;top:50px;left:0;background:#eed4b5}.recognize-icon{width:80px;height:80px;margin:0 auto 10px;border-radius:50%;background:#f8ebda;color:var(--teal);font:normal 55px/80px Georgia,serif}.recognize-item p{font:500 clamp(1.15rem,1.8vw,1.7rem)/1.18 Georgia,serif;color:var(--blue)}.soin-process{text-align:center;padding:0}.soin-process h2{font-size:clamp(3.2rem,5.3vw,6.2rem);color:var(--teal);margin:4px 0}.warm-line{background:#907e68}.process-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:50px auto 15px;gap:32px}.process-card{min-width:0;padding:0 8px;position:relative}.process-card+.process-card::before{position:absolute;content:"";left:-17px;width:1px;background:#eadbc9;top:50px;bottom:10px}.step-no{font:500 clamp(3.1rem,4vw,5rem)/1 var(--serif);color:var(--teal);display:block;margin-bottom:5px}.process-card h3{font-size:clamp(1.8rem,2.5vw,3.2rem)}.process-card p{font:normal clamp(1rem,1.3vw,1.4rem)/1.25 Georgia,serif;color:var(--blue);margin:13px 0 17px;min-height:96px}.ratio-media{height:285px;overflow:hidden;border-radius:14px}.cta-block{text-align:center;padding:25px 20px 45px}.cta-block>p{font:400 clamp(1.75rem,2.4vw,2.7rem) var(--serif);margin:0 0 3px}.cta-block>h2{font-size:clamp(2rem,2.9vw,3.5rem);color:var(--blue);margin-bottom:20px}.cta-block .btn-primary{min-width:330px;font-size:1.3rem}
/* Approche P03 */
.approche-page{padding-top:24px;min-height:85vh}.approach-intro{text-align:center}.approach-intro h1{font-size:clamp(2.65rem,4.5vw,5.2rem)}.approach-tagline{display:flex;align-items:center;gap:20px;justify-content:center;margin:25px auto 12px;font:500 clamp(1.2rem,1.7vw,1.9rem) var(--serif);color:var(--cyan)}.approach-tagline::before,.approach-tagline::after{content:"";height:1px;width:12%;background:#c4cdd5}.approach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px 45px;padding:10px 0 38px}.approach-item{text-align:center;padding:4px 15px;min-height:187px}.approach-item h2{font-size:clamp(1.3rem,1.65vw,1.9rem);letter-spacing:-.02em;margin:8px auto 4px}.approach-item p{font-size:clamp(.9rem,1.09vw,1.1rem);line-height:1.34;max-width:330px;margin:auto;color:#73819c}.approach-symbol{width:86px;height:86px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:auto;background:#fae0e3;color:#ed3649}.approach-symbol svg{height:55px;width:55px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.symbol-heart,.symbol-body{background:#d9f3f9;color:#00a9d2}.symbol-pebbles,.symbol-sprout{background:#dbf5de;color:#0aa63f}.symbol-sun,.symbol-sunset{background:#fff0da;color:#f8a60b}.symbol-care{background:#fbe1e3;color:#fa2938}.symbol-mind{background:#e8dfff;color:#7438df}.symbol-sunset{background:#fce4d3;color:#ee8c2f}
/* Qui suis-je P04 */
.who-hero{display:grid;grid-template-columns:43% 57%;gap:min(3.5vw,55px);padding:40px clamp(24px,5.5vw,95px) 55px;align-items:center}.who-portrait{height:780px;max-height:calc(100vh + 180px);width:100%;overflow:hidden;border:5px solid #fff;box-shadow:0 2px 3px #d7b8a6,0 0 0 1px #f6dbc8;background:#f5ecdf}.who-copy{max-width:780px}.who-signature{font:500 clamp(1.25rem,1.55vw,1.9rem) var(--serif);color:var(--ink)}.who-copy h1{font-size:clamp(2.5rem,4.1vw,5rem);margin:18px 0 23px}.who-copy h1 span{font-size:.77em}.who-copy>p:not(.who-signature){font-size:clamp(1rem,1.18vw,1.28rem);color:#254372;line-height:1.38;margin:0 0 17px}.who-copy .btn-primary{min-width:350px;margin-top:12px;font-size:1.25rem}
/* Parcours P06 intégré dans Qui suis-je */
.parcours-section{scroll-margin-top:20px;padding-bottom:25px}.parcours-intro{display:grid;grid-template-columns:1.2fr .9fr;gap:45px;padding-top:45px;padding-bottom:33px;align-items:center}.parcours-intro .eyebrow{color:#344460;letter-spacing:.025em}.parcours-intro h2{font:italic 500 clamp(2.8rem,4.1vw,4.8rem)/1.1 var(--serif);margin:14px 0}.parcours-intro p:not(.eyebrow){color:#52566b;font-size:1.1rem}.parcours-lead-photo{height:300px;border-radius:8px;overflow:hidden}.journey-row{display:grid;grid-template-columns:1.35fr .9fr;gap:60px;align-items:center;padding-top:20px;padding-bottom:20px;min-height:250px}.journey-row:nth-of-type(odd){background:rgba(255,255,255,.44)}.journey-reverse{grid-template-columns:.95fr 1.25fr}.journey-reverse .journey-photo{grid-column:1;grid-row:1}.journey-reverse .journey-copy{grid-column:2;grid-row:1}.journey-title{display:flex;align-items:center;gap:25px}.journey-title>span{font:italic 600 clamp(3rem,5vw,5.7rem)/1 var(--serif);color:var(--teal)}.journey-title h3{font-size:clamp(1.2rem,1.6vw,1.8rem);letter-spacing:-.01em;color:var(--blue)}.journey-copy>p{font-size:1.04rem;color:#585e6e;margin:10px 0 0;padding-left:clamp(0px,6vw,105px)}.journey-photo{height:220px;border-radius:9px;overflow:hidden}.parcours-section .cta-block{padding-top:50px;padding-bottom:70px}
/* Tarifs P05 */
.tarifs-hero{display:grid;grid-template-columns:59% 41%;min-height:485px;overflow:hidden}.tarifs-copy{padding:60px 5vw 40px 7vw;position:relative;z-index:1}.tarifs-copy h1{font-size:clamp(3.3rem,5.3vw,6.3rem);margin:20px 0 16px}.tarifs-copy>p:not(.eyebrow){font-size:clamp(1.15rem,1.65vw,1.9rem);line-height:1.38;max-width:640px}.tarifs-copy .btn-primary{min-width:430px;margin-top:8px;font-size:1.35rem}.tarifs-photo{height:490px;overflow:hidden;border-top-left-radius:55% 90%;background:#efdbc4}.tarifs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px;margin-bottom:80px}.tarif-card{background:linear-gradient(120deg,#fbf2e9,#fff8f1);text-align:center;padding:16px 22px 25px;min-height:285px;border-radius:17px}.tarif-icon{height:72px;width:72px;display:grid;place-items:center;margin:0 auto 5px;border-radius:100%;font:normal 50px Georgia,serif;color:#ff8b16;background:#fcf0e4}.tarif-card h2{font-size:clamp(1.5rem,2.2vw,2.6rem)}.tarif-card .small-underline{margin:14px auto}.tarif-card p{font-size:clamp(1.1rem,1.55vw,1.8rem);margin:0}.tarif-card strong{font:500 clamp(3rem,4.2vw,5.5rem) var(--serif);color:var(--cyan)}
/* Rendez-vous P07 - trois boutons et appel découverte intact */
.rdv-page{min-height:780px;padding:26px 0 60px}.rdv-page h1{text-align:center;font-size:clamp(3rem,4.2vw,5rem)}.rdv-page .small-underline{margin:8px auto 24px}.rdv-layout{display:grid;grid-template-columns:37% minmax(0,63%);gap:6px}.rdv-image-card,.rdv-information{border:1px solid #f0e1d6;border-radius:14px;background:rgba(255,255,255,.89);padding:17px;box-shadow:0 3px 15px rgba(30,34,48,.02)}.rdv-image-card{min-height:650px}.rdv-image-card>.cover-img,.rdv-image-card>.photo-to-select{border-radius:12px;overflow:hidden}.rdv-information{padding:50px 30px 20px}.rdv-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rdv-choice{display:flex;flex-direction:column;text-align:center;gap:8px}.choice-button{border-radius:13px;padding:12px 9px;min-height:85px;display:flex;justify-content:center;align-items:center;font-size:clamp(.98rem,1.28vw,1.3rem);line-height:1.25;font-weight:700}.choice-primary{box-shadow:none}.choice-outline{background:#fff;border:2px solid var(--teal);color:#182342}.choice-outline:hover{background:#f2fcfd}.rdv-choice>span{font-size:clamp(.8rem,1vw,1rem);color:#284675;line-height:1.3;min-height:35px}.rdv-callout{background:linear-gradient(110deg,#fcf3e9,#fff9f2);border:1px solid #f4e6d9;border-radius:16px;padding:14px 20px 15px 43px;position:relative;margin:20px 0 20px;color:#213e68;font-size:clamp(.95rem,1.1vw,1.1rem)}.rdv-callout::before{content:"";width:6px;position:absolute;background:var(--teal);left:14px;top:12px;bottom:12px;border-radius:5px}.rdv-callout strong{display:block;font-size:1.1em;margin-bottom:6px}.rdv-callout p{margin:0;line-height:1.35}.rdv-details>div{padding:22px 12px 23px;border-top:1px solid #cad2d9}.rdv-details h2{font-size:clamp(2rem,2.8vw,3.1rem);margin:0 0 13px}.rdv-details strong{font-size:clamp(1.25rem,1.75vw,1.8rem);font-weight:600}.rdv-details p{font-size:clamp(1.15rem,1.6vw,1.7rem);margin:9px 0 0;line-height:1.3}.phone-number{font-size:clamp(1.75rem,2.4vw,2.7rem);color:var(--teal-dark);font-weight:700;white-space:nowrap}
/* Pied de page commun, à ajuster dès réception du visuel complet. */
.site-footer{background:linear-gradient(#fffaf5,#fff);padding:28px 5vw 32px;min-height:100px;color:#64759a;text-align:center}.footer-line{display:flex;align-items:center;justify-content:center;gap:22px;letter-spacing:.12em;text-transform:uppercase}.footer-line>span{height:1px;width:min(27%,350px);background:#c8ced2}.footer-line small{font-size:clamp(.65rem,.9vw,.85rem)}.footer-links{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:15px;font-size:.85rem}.footer-links a:hover{color:var(--teal)}
/* Modèles classiques sans conteneurs de l’éditeur */
.wp-generic{max-width:1050px;margin:40px auto;padding:0 25px;min-height:50vh}.wp-generic>*{max-width:100%}.wp-generic h1{font-size:3rem}.page-not-found{padding:75px 25px;text-align:center}
@media(max-width:1250px){.header-wide{padding:10px 26px;gap:18px}.brand-words strong{font-size:1.45rem}.brand-words small{font-size:.64rem}.navigation{gap:15px}.navigation-list{gap:14px}.navigation-list>li>a{font-size:.76rem}.nav-cta{padding:9px 18px;font-size:.78rem}.home-intro{padding:30px 3.5vw}.intro-centered h1{font-size:3.2vw}.intro-centered p:not(.eyebrow){font-size:1rem}.who-hero{padding:30px 4vw;gap:3vw}.who-portrait{height:650px}.rdv-information{padding:38px 20px 20px}}
@media(max-width:1020px){.header-wide{min-height:82px}.nav-toggle{display:block;margin-left:auto}.navigation{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 5vw 28px;box-shadow:0 12px 20px rgba(14,34,46,.1);align-items:stretch;flex-direction:column;gap:14px}.navigation.is-open{display:flex}.navigation-list{flex-direction:column;align-items:stretch;gap:2px}.navigation-list>li>a{font-size:1rem;width:100%;padding:7px 0}.navigation-list>li>a::after{bottom:5px}.nav-cta{align-self:flex-start;font-size:1rem}.brand-words strong{font-size:1.75rem}.brand-words small{font-size:.75rem}.home-hero{grid-template-columns:43% 57%;min-height:480px}.home-portrait{min-height:480px}.intro-centered h1{font-size:clamp(2.2rem,3.8vw,3.8rem)}.reviews-list{gap:12px}.review-card{padding:16px;min-height:200px}.recognize-item{padding:0 12px}.approach-grid{gap:20px}.tarifs-copy{padding:55px 30px}.tarifs-copy .btn-primary{min-width:320px}.rdv-layout{grid-template-columns:40% minmax(0,60%)}.rdv-choices{gap:7px}.choice-button{font-size:1rem}.rdv-information{padding:25px 16px 20px}}
@media(max-width:760px){body{font-size:16px}.header-wide{min-height:76px;padding:8px 16px}.brand{gap:8px}.brand-picture{flex-basis:52px;width:52px;height:52px}.brand-words strong{font-size:1.25rem}.brand-words small{font-size:.56rem;letter-spacing:.04em}.section-inner{width:min(100% - 32px,680px)}.home-hero{grid-template-columns:1fr}.home-portrait{height:min(68vh,520px);min-height:250px}.home-intro{padding:42px 22px 40px}.intro-centered h1{font-size:clamp(2.25rem,8.2vw,3.2rem);margin:15px auto}.intro-centered p:not(.eyebrow){font-size:1rem}.hero-button{min-width:min(100%,330px)}.reviews-section{padding:26px 0 40px}.reviews-section h2{font-size:2.55rem}.review-carousel{gap:7px}.reviews-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.reviews-list::-webkit-scrollbar{display:none}.review-card{min-width:100%;scroll-snap-align:start;min-height:210px}.carousel-control{width:29px;height:34px;flex-basis:29px;font-size:29px}.reviews-overview{gap:7px}.reviews-overview .stars{font-size:22px}.reviews-overview .overview-divider{display:none}.recognize-section{padding-top:35px}.recognize-section h1{font-size:clamp(2.6rem,8vw,4rem);margin-bottom:20px}.recognize-grid{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:16px}.recognize-item{min-height:155px}.recognize-item:nth-child(3)::before{display:none}.recognize-item p{font-size:1.1rem}.recognize-icon{width:63px;height:63px;font-size:42px;line-height:63px}.soin-process h2{font-size:clamp(2.8rem,9vw,4.6rem)}.process-grid{grid-template-columns:1fr;gap:40px;margin-top:30px}.process-card+.process-card::before{display:none}.process-card p{min-height:0;font-size:1.15rem}.ratio-media{height:290px}.cta-block h2{font-size:2rem}.cta-block .btn-primary{min-width:min(100%,320px);font-size:1.04rem}.approche-page{padding-top:35px}.approach-intro h1{font-size:clamp(2.2rem,7vw,3.4rem)}.approach-tagline{font-size:1.23rem;gap:7px}.approach-tagline::before,.approach-tagline::after{display:none}.approach-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 4px}.approach-item{min-height:195px;padding:3px}.approach-symbol{height:74px;width:74px}.approach-symbol svg{height:45px;width:45px}.approach-item h2{font-size:1.29rem}.approach-item p{font-size:.84rem}.who-hero{grid-template-columns:1fr;padding:23px 18px 35px;gap:25px}.who-portrait{max-height:600px;height:min(120vw,600px)}.who-copy h1{font-size:clamp(2.6rem,8vw,4.1rem)}.who-copy h1 span{font-size:.75em}.who-copy>p:not(.who-signature){font-size:1rem}.who-copy .btn-primary{min-width:min(100%,340px);font-size:1.05rem}.parcours-intro,.journey-row,.journey-reverse{grid-template-columns:1fr;gap:20px}.parcours-intro h2{font-size:2.8rem}.parcours-intro{padding-top:35px}.parcours-lead-photo{height:240px}.journey-row,.journey-reverse{padding:15px 0 30px}.journey-reverse .journey-photo,.journey-reverse .journey-copy{grid-column:auto;grid-row:auto}.journey-title{gap:15px}.journey-title h3{font-size:1.45rem}.journey-copy>p{padding:0}.journey-photo{height:230px}.tarifs-hero{grid-template-columns:1fr}.tarifs-copy{padding:40px 24px 35px}.tarifs-copy h1{font-size:clamp(3.5rem,11vw,5.5rem)}.tarifs-copy>p:not(.eyebrow){font-size:1.15rem}.tarifs-copy .btn-primary{min-width:min(100%,360px);font-size:1.05rem}.tarifs-photo{height:355px;border-top-left-radius:50% 22%;border-top-right-radius:50% 22%}.tarifs-grid{grid-template-columns:1fr;margin-top:25px;gap:15px;margin-bottom:35px}.tarif-card{min-height:225px}.rdv-page{padding:30px 0 40px}.rdv-page h1{font-size:clamp(2.55rem,8.5vw,4rem)}.rdv-layout{grid-template-columns:1fr}.rdv-image-card{min-height:320px;height:340px}.rdv-information{padding:20px 12px}.rdv-choices{grid-template-columns:1fr;gap:12px}.rdv-choice{gap:4px}.choice-button{min-height:62px;font-size:1.17rem}.rdv-choice>span{min-height:0}.rdv-callout{padding:14px 13px 14px 37px}.rdv-callout::before{left:13px}.rdv-details h2{font-size:2rem}.rdv-details p{font-size:1.18rem}.site-footer{padding:25px 10px}.footer-line{gap:9px}.footer-line>span{width:13%}.footer-links{flex-wrap:wrap}}
@media(max-width:360px){.brand-words strong{font-size:1.05rem}.brand-words small{font-size:.48rem}.brand-picture{width:43px;flex-basis:43px;height:43px}.nav-toggle{padding:8px}.reviews-overview{font-size:.84rem}.approach-grid{grid-template-columns:1fr}.rdv-information{padding:16px 9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* Personnalisation demandée : même turquoise pour la navigation active et les boutons. */
.navigation-list>li>a.is-current,.navigation-list>li>a[aria-current="page"],.navigation-list>li.current-menu-item>a,.navigation-list>li.current_page_item>a{color:var(--teal);font-weight:700}
.navigation-list>li>a::after{background:var(--teal)}
.nav-cta.is-current-booking{font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
/* Aucun renvoi fictif vers le téléphone si le lien à distance n'est pas encore connu. */
.choice-pending{cursor:not-allowed;opacity:.6;box-shadow:none;filter:grayscale(.25);flex-direction:column;gap:3px}
.choice-pending small{font-size:.65em;font-weight:500}
/* Pied de page repris de la maquette fournie : illustration décorative, liens HTML accessibles. */
.site-footer{background:#fffaf4;color:#172742;min-height:0;padding:0 0 32px;text-align:center}
.footer-decoration{width:100%;height:clamp(155px,23vw,375px);background:#fffaf4 url('assets/images/footer-wave.webp') no-repeat center bottom;background-size:cover}
.footer-links-wrap{margin:0 auto;width:min(100% - 48px,1960px);border-top:1px solid #d6b9a0;padding-top:30px}
.footer-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:17px clamp(14px,2.3vw,42px);margin:0;font-size:clamp(.86rem,1.14vw,1.25rem);font-weight:500}
.footer-links a:hover{color:var(--teal)}
.footer-instagram{display:inline-flex;align-items:center;gap:12px;color:var(--teal);white-space:nowrap}
.instagram-icon{flex-shrink:0;color:#ea1014}
.footer-divider{width:1px;height:26px;background:#cfb49f;display:inline-block}
.footer-link-pending{color:#7f8696;cursor:default}
@media(max-width:760px){.footer-decoration{height:190px;background-size:cover}.footer-links-wrap{width:min(100% - 30px,680px);padding-top:20px}.footer-links{font-size:.87rem;gap:14px 18px}.footer-divider{height:18px}}
@media(max-width:480px){.footer-decoration{height:130px}.footer-links{gap:12px 15px}.footer-divider{display:none}.footer-instagram{width:100%;justify-content:center}}


/*
 * P01 — Accueil compact, revu d'après la maquette PNG.
 * Changements limites a la page d'accueil : hero photo en couverture
 * sans agrandissement vertical involontaire, contenu et avis rapproches.
 * Les images de la mediatheque et leurs cadrages WordPress sont conserves.
 */
@media (min-width: 1021px) {
  .home-view .home-hero {
    height: clamp(420px, 51vh, 555px);
    min-height: 0;
  }
  .home-view .home-portrait {
    position: relative;
    height: 100%;
    min-height: 0;
  }
  .home-view .home-portrait > .cover-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* object-position se definit dans Personnaliser / Cadrages */
  }
  .home-view .home-intro {
    padding: 15px clamp(28px, 4vw, 75px);
  }
  .home-view .intro-centered {
    width: min(100%, 635px);
  }
  .home-view .intro-centered .eyebrow {
    margin-bottom: 0;
  }
  .home-view .intro-centered .small-underline {
    margin: 8px auto 13px;
  }
  .home-view .intro-centered h1 {
    font-size: clamp(2.18rem, 2.95vw, 3.5rem);
    line-height: 1.065;
    letter-spacing: -.05em;
    margin: 10px -1vw 14px;
  }
  .home-view .intro-centered p:not(.eyebrow) {
    font-size: clamp(.95rem, 1.025vw, 1.125rem);
    line-height: 1.3;
    margin-bottom: 10px;
  }
  .home-view .price-emphasis {
    font-size: clamp(2.05rem, 2.65vw, 2.85rem);
    margin: 5px auto 10px;
    line-height: 1.08;
  }
  .home-view .hero-button {
    min-height: 49px;
    padding: 9px 30px;
    font-size: clamp(1rem, 1.15vw, 1.16rem);
  }
  .home-view .reviews-section {
    padding: 12px 0 24px;
  }
  .home-view .reviews-section h2 {
    font-size: clamp(2.1rem, 2.85vw, 3.45rem);
    line-height: 1.06;
    margin: 0 0 6px;
  }
  .home-view .reviews-overview {
    margin-bottom: 12px;
    gap: 12px;
  }
  .home-view .reviews-overview .stars {
    font-size: 24px;
  }
  .home-view .review-carousel {
    gap: 15px;
    margin-bottom: 14px;
  }
  .home-view .review-card {
    min-height: 158px;
    padding: 12px 17px;
  }
  .home-view .review-card blockquote {
    margin: 8px 0 5px;
    font-size: clamp(.9rem, 1vw, 1.12rem);
    line-height: 1.22;
  }
  .home-view .avatar {
    width: 40px;
    height: 40px;
    flex-basis: 40px;
  }
  .home-view .reviews-section .btn-outline {
    padding: 8px 28px;
  }
}

/* Chiffre 1 lisible, sans changer la couleur ni la police du reste du prix. */
.home-view .price-emphasis .price-leading-number {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.14em;
  font-weight: 700;
  display: inline-block;
  line-height: .8;
  vertical-align: -.035em;
}

/* Sur tablettes et mobiles la page garde son defilement naturel. */
@media (min-width: 761px) and (max-width: 1020px) {
  .home-view .home-hero { height: auto; min-height: 520px; }
  .home-view .home-portrait { position: relative; min-height: 0; }
  .home-view .home-portrait > .cover-img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  }
  .home-view .home-intro { padding: 24px 26px; }
  .home-view .intro-centered h1 { margin: 12px 0; }
  .home-view .price-emphasis { margin: 8px auto 12px; font-size: 2.1rem; }
}
@media (max-width: 760px) {
  .home-view .home-hero { height: auto; min-height: 0; }
  .home-view .home-portrait { position: relative; height: min(62vh, 500px); min-height: 260px; }
  .home-view .home-portrait > .cover-img {
    position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  }
  .home-view .home-intro { padding: 30px 22px 32px; }
  .home-view .price-emphasis { font-size: clamp(2rem, 7vw, 2.6rem); }
}


/*
 * P01 v2.4 : composition compacte de la maquette d'accueil.
 * Le pied de page complet (liens inclus) devient visible sur les ecrans
 * de bureau courants, sans cacher le contenu ni tronquer les textes.
 * Les autres pages gardent leur pied de page illustre integral.
 */
@media (min-width: 1021px) {
  .home-view .home-hero {
    height: clamp(345px, 42vh, 385px);
    min-height: 0;
  }
  .home-view .home-intro {
    padding: 8px clamp(20px, 3.2vw, 58px);
  }
  .home-view .intro-centered .eyebrow {
    font-size: clamp(.8rem, .92vw, .95rem);
    line-height: 1.15;
  }
  .home-view .intro-centered .small-underline {
    margin: 6px auto 9px;
    width: 50px;
  }
  .home-view .intro-centered h1 {
    font-size: clamp(2.05rem, 2.55vw, 2.95rem);
    line-height: 1.06;
    margin: 6px -1vw 10px;
  }
  .home-view .intro-centered p:not(.eyebrow) {
    font-size: clamp(.91rem, .98vw, 1.035rem);
    line-height: 1.23;
    margin-bottom: 7px;
  }
  .home-view .price-emphasis {
    font-size: clamp(2.06rem, 2.5vw, 2.55rem);
    line-height: 1.05;
    margin: 3px auto 7px;
  }
  .home-view .hero-button {
    min-height: 44px;
    min-width: 270px;
    padding: 7px 26px;
    font-size: clamp(.91rem, 1vw, 1.05rem);
  }
  .home-view .reviews-section {
    padding: 8px 0 9px;
  }
  .home-view .reviews-section .eyebrow {
    font-size: .93rem;
    margin-bottom: 2px;
    line-height: 1.2;
  }
  .home-view .reviews-section h2 {
    font-size: clamp(2rem, 2.55vw, 2.7rem);
    line-height: 1.1;
    margin: 0 0 3px;
  }
  .home-view .reviews-overview {
    margin-bottom: 8px;
    gap: 11px;
    font-size: .9rem;
    line-height: 1.15;
  }
  .home-view .reviews-overview .stars {
    font-size: 21px;
  }
  .home-view .review-carousel {
    margin-bottom: 7px;
    gap: 12px;
  }
  .home-view .review-card {
    min-height: 132px;
    padding: 9px 14px;
    border-radius: 11px;
  }
  .home-view .avatar {
    height: 32px;
    width: 32px;
    flex-basis: 32px;
    font-size: 18px;
  }
  .home-view .review-head { gap: 7px; }
  .home-view .review-name { font-size: 12px; }
  .home-view .review-name .stars { font-size: 13px; }
  .home-view .google-letter { font-size: 18px; }
  .home-view .review-card blockquote {
    font-size: clamp(.84rem, .9vw, .99rem);
    line-height: 1.17;
    margin: 6px 0 3px;
  }
  .home-view .review-card small { font-size: 10px; }
  .home-view .reviews-section .btn-outline {
    padding: 6px 20px;
    font-size: 12px;
  }
  .home-view .photo-instructions {
    margin: 4px auto 0;
    font-size: 10px;
    line-height: 1.15;
  }
  /* Seul le footer de P01 est raccourci : aucun lien supprime. */
  .home-view + .site-footer {
    padding: 0 0 12px;
  }
  .home-view + .site-footer .footer-decoration {
    height: 26px;
    background-size: 100% auto;
    background-position: center bottom;
  }
  .home-view + .site-footer .footer-links-wrap {
    padding-top: 10px;
    width: min(100% - 36px, 1700px);
  }
  .home-view + .site-footer .footer-links {
    gap: 8px clamp(10px, 1.25vw, 24px);
    font-size: clamp(.81rem, .92vw, .98rem);
    line-height: 1.2;
  }
  .home-view + .site-footer .footer-instagram { gap: 8px; }
  .home-view + .site-footer .instagram-icon { width: 22px; height: 22px; }
  .home-view + .site-footer .footer-divider { height: 18px; }
}
/* Les ecrans plus courts restent defilables : rien n'est masque. */
@media (min-width: 1021px) and (max-height: 740px) {
  .home-view .home-hero { height: 335px; }
  .home-view + .site-footer .footer-decoration { height: 20px; }
}

/* P01 v2.5 — note globale + choix des deux fiches d'avis Google.
   La disposition reste compacte ; le dépliage n'affecte que la zone des avis. */
.home-view .reviews-total strong{font-weight:700;color:var(--ink)}
.home-view .review-choice-wrap{display:flex;flex-direction:column;align-items:center;gap:7px;margin:0 auto}
.home-view .review-choice-toggle{cursor:pointer;min-height:38px;line-height:1.1}
.home-view .review-choice-chevron{display:inline-block;margin-left:9px;transition:transform .18s}
.home-view .review-choice-toggle[aria-expanded="true"] .review-choice-chevron{transform:rotate(180deg)}
.home-view .review-links-panel{display:flex;justify-content:center;align-items:stretch;flex-wrap:wrap;gap:9px;width:min(100%,760px)}
.home-view .review-links-panel[hidden]{display:none!important}
.home-view .review-location-link{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-width:218px;border-radius:999px;background:linear-gradient(130deg,var(--teal-dark),var(--teal));color:#fff;font-size:clamp(.78rem,.95vw,.95rem);font-weight:600;padding:9px 20px;text-align:center}
.home-view a.review-location-link:hover{filter:brightness(1.07)}
.home-view .review-link-pending{background:#e8e9e8;color:#596275;border:1px solid #d8d9da;cursor:default}
.home-view .review-link-pending small{font-size:.75em;font-weight:400}
@media (max-width:580px){
 .home-view .review-choice-wrap{width:100%}
 .home-view .review-choice-toggle{font-size:.81rem;padding:10px 18px}
 .home-view .review-links-panel{flex-direction:column;align-items:center;gap:7px}
 .home-view .review-location-link{width:min(100%,330px)}
}


/*
 * P01 v2.7 — Une photo lisible plutot qu'un portrait coupe aux epaules.
 * L'ancienne version v2.6 avait raccourci le bandeau a 385px et positionne
 * le sujet trop bas. Donner de l'air au buste sans rallonger les avis/footer.
 * Les reglages de cadrage definis dans WordPress restent prioritaires.
 */
@media (min-width: 1021px) {
  .home-view .home-hero {
    height: clamp(405px, 47vh, 435px);
    min-height: 0;
  }
  .home-view .home-portrait {
    height: 100%;
    min-height: 0;
  }
  .home-view .home-portrait > .cover-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: inherit;
  }
}
@media (min-width: 1021px) and (max-height: 740px) {
  .home-view .home-hero { height: 365px; }
}


/* P01 v2.8 — photo entiere, sans changement de hauteur ni retouche de l'original.
   L'ancienne couverture recadrait fortement le corps/bras. Ici la photo
   originale reste visible au premier plan. Une copie floutee de la meme
   image remplit les cotes du bandeau, sans aplat ni bande blanche.
   Aucun changement a la zone avis, au footer ou aux autres pages. */
.home-view .home-portrait { position: relative; overflow: hidden; isolation: isolate; }
.home-view .home-portrait-backdrop,
.home-view .home-portrait-foreground { position: absolute; inset: 0; }
.home-view .home-portrait-backdrop { display: none; }
.home-view .home-portrait-foreground > .cover-img { width: 100%; height: 100%; object-fit: cover; object-position: inherit; }
@media (min-width: 1021px) {
  .home-view .home-portrait { background: #e7dfd2; }
  .home-view .home-portrait-backdrop {
    display: block;
    inset: -18px;
    filter: blur(18px) saturate(.88);
    opacity: .82;
  }
  .home-view .home-portrait-backdrop > .cover-img {
    width: 100%; height: 100%; object-fit: cover;
    object-position: inherit;
  }
  .home-view .home-portrait-foreground {
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1;
    overflow: hidden;
  }
  .home-view .home-portrait-foreground > .cover-img {
    width: auto;
    height: 100%;
    max-width: 100%;
    object-fit: contain;
    object-position: center;
    -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
    mask-image: linear-gradient(to right, transparent 0%, #000 5%, #000 95%, transparent 100%);
  }
}


/* P01 v3.2 — Correction uniquement de la photo d'accueil.
   Objectif : conserver la page compacte, supprimer l'effet flouté latéral
   et montrer davantage le corps / le bras d'Audrey sans toucher aux avis,
   aux textes, au footer, ni aux autres pages. */
@media (min-width: 1021px) {
  .home-view .home-portrait {
    background:
      radial-gradient(circle at 24% 20%, rgba(255,255,255,.58) 0, rgba(255,255,255,.22) 18%, transparent 42%),
      linear-gradient(180deg, #e8dfd2 0%, #eadbc7 100%);
  }
  .home-view .home-portrait-backdrop {
    display: none !important;
  }
  .home-view .home-portrait-foreground {
    padding: 0 clamp(14px, 1.4vw, 24px);
    align-items: flex-end;
    justify-content: center;
  }
  .home-view .home-portrait-foreground > .cover-img,
  .home-view .home-portrait-foreground > .photo-to-select {
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: contain;
    object-position: inherit;
    -webkit-mask-image: none;
    mask-image: none;
    filter: none;
  }
}
@media (max-width: 1020px) {
  .home-view .home-portrait-backdrop {
    display: none !important;
  }
  .home-view .home-portrait-foreground > .cover-img,
  .home-view .home-portrait-foreground > .photo-to-select {
    -webkit-mask-image: none;
    mask-image: none;
  }
}


/* P01 v3.3 — Photo nette bord à bord, sans bandes latérales.
   On rétrécit la colonne image, car son format original est vertical.
   Le portrait remplit entièrement cette colonne sans étirement ni flou.
   Les règles n'affectent ni les autres pages ni les avis / le pied de page. */
@media (min-width: 1021px) {
  .home-view .home-hero {
    grid-template-columns: min(29%, 440px) minmax(0, 1fr);
  }
  .home-view .home-portrait {
    background: transparent;
  }
  .home-view .home-portrait-backdrop {
    display: none !important;
  }
  .home-view .home-portrait-foreground {
    display: block;
    padding: 0;
    inset: 0;
    overflow: hidden;
    object-position: inherit;
  }
  .home-view .home-portrait-foreground > .cover-img {
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    object-fit: cover;
    object-position: inherit;
    filter: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .home-view .home-portrait-foreground > .photo-to-select {
    width: 100%;
    height: 100%;
    max-width: 100%;
    -webkit-mask-image: none;
    mask-image: none;
  }
}


/* P01 v3.4 — affichage fidèle aux proportions réelles du portrait original.
   Le fichier d'Audrey choisi dans la médiathèque est de 1600 x 1852 px :
   ratio 0.8639. Nous ajustons la largeur du cadre à sa hauteur pour montrer
   le visage, le buste et le bras sans bandes, flou, étirement ni coupure forte.
   Les avis Google, le menu, le pied de page et les autres pages ne changent pas. */
@media (min-width: 1021px) {
  .home-view .home-hero {
    grid-template-columns: clamp(350px, 41vh, 375px) minmax(0, 1fr);
  }
  .home-view .home-portrait { background: transparent; }
  .home-view .home-portrait-foreground {
    position: absolute;
    inset: 0;
    display: block;
    padding: 0;
  }
  .home-view .home-portrait-foreground > .cover-img {
    display: block;
    height: 100%;
    width: 100%;
    max-width: none;
    object-fit: cover;
    object-position: inherit;
    -webkit-mask-image: none;
    mask-image: none;
    filter: none;
  }
}
/* Sur les écrans bas, le bandeau P01 a une hauteur de 365px. */
@media (min-width: 1021px) and (max-height: 740px) {
  .home-view .home-hero { grid-template-columns: 315px minmax(0, 1fr); }
}


/* P01 v3.5 — boutons secondaires Avis Google, de meme style que
   « Voir tous les avis Google ». Le fond turquoise plein reste reserve
   aux CTA « Prendre rendez-vous » : ni bandeau, ni photo modifies. */
.home-view .review-links-panel a.review-location-link {
  background: #fff;
  color: var(--teal);
  border: 2px solid var(--cyan);
  border-radius: 999px;
  padding: 8px 28px;
  font-size: 14px;
  font-weight: 600;
  min-height: 38px;
  text-decoration: none;
  filter: none;
  box-shadow: none;
}
.home-view .review-links-panel a.review-location-link:hover,
.home-view .review-links-panel a.review-location-link:focus-visible {
  background: #f0fbfe;
  color: var(--teal);
  filter: none;
}
@media (max-width: 580px) {
  .home-view .review-links-panel a.review-location-link {
    font-size: .81rem;
    padding: 10px 18px;
  }
}


/* P01 v3.5 — Footer remonté sans tronquer les contenus.
   Le portrait original a un ratio 1600/1852 = 0,864.
   Sa colonne suit exactement la hauteur du bandeau pour limiter le recadrage,
   tandis que les avis et le footer sont resserrés à l'écran d'ordinateur.
   Aucun changement sur P02 à P07. */
@media (min-width: 1021px) {
  .home-view .home-hero {
    height: clamp(365px, 42vh, 390px);
    min-height: 0;
    grid-template-columns: clamp(315px, 36.3vh, 337px) minmax(0, 1fr);
  }
  .home-view .home-portrait {
    height: 100%;
    min-height: 0;
  }
  .home-view .reviews-section {
    padding-top: 5px;
    padding-bottom: 5px;
  }
  .home-view .reviews-overview { margin-bottom: 6px; }
  .home-view .review-carousel { margin-bottom: 5px; }
  .home-view .review-card { min-height: 125px; }
  .home-view + .site-footer {
    min-height: 0;
    padding: 0 0 7px;
  }
  .home-view + .site-footer .footer-decoration { height: 16px; }
  .home-view + .site-footer .footer-links-wrap { padding-top: 6px; }
}
@media (min-width: 1021px) and (max-height: 780px) {
  .home-view .home-hero {
    height: 347px;
    grid-template-columns: 300px minmax(0, 1fr);
  }
}


/* P01 v3.7 — Flèches de témoignages opérationnelles ; conserve les 3 cartes visibles. */
.home-view .review-carousel .carousel-control { cursor: pointer; touch-action: manipulation; }
.home-view .review-carousel .carousel-control:focus-visible {
  outline: 3px solid var(--teal);
  outline-offset: 3px;
}
.home-view .review-carousel .carousel-control:disabled { opacity: .4; cursor: default; }


/* P01 v3.8 : glissement horizontal réel, 3 cartes sur ordinateur et
   1 carte sur téléphone. Le cadre garde exactement la même largeur. */
.home-view .review-viewport {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  border-radius: 12px;
}
.home-view .reviews-list {
  --review-gap: clamp(12px, 1.25vw, 20px);
  display: flex;
  gap: var(--review-gap);
  grid-template-columns: none;
  width: 100%;
  min-width: 0;
  overflow: visible;
  scroll-snap-type: none;
  scroll-behavior: auto;
  will-change: transform;
  transition: transform .42s cubic-bezier(.22, .68, 0, 1);
}
.home-view .reviews-list .review-card {
  flex: 0 0 calc((100% - 2 * var(--review-gap)) / 3);
  min-width: 0;
  scroll-snap-align: none;
}
.home-view .review-viewport:focus-visible {
  outline: 2px solid var(--teal);
  outline-offset: -2px;
}
@media (max-width: 760px) {
  .home-view .reviews-list .review-card { flex-basis: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .home-view .reviews-list { transition: none; }
}


/* P01 v3.9 — le portrait d'Audrey n'est plus collé au bord gauche :
   il est replacé dans la même grille que le logo et le reste du site,
   sans perdre la version compacte de la page d'accueil. */
.home-view .home-hero {
  display: block;
  min-height: 0;
}
.home-view .home-hero-inner {
  position: relative;
  display: grid;
  grid-template-columns: clamp(315px, 36.3vh, 337px) minmax(0, 1fr);
  height: clamp(365px, 42vh, 390px);
}
.home-view .home-hero-inner .home-portrait {
  width: 100%;
  height: 100%;
  min-height: 0;
  justify-self: start;
}
.home-view .home-hero-inner .home-intro {
  min-width: 0;
  padding: 35px 0 28px clamp(24px, 3.2vw, 52px);
}
@media (min-width: 1021px) and (max-height: 780px) {
  .home-view .home-hero-inner {
    height: 347px;
    grid-template-columns: 300px minmax(0, 1fr);
  }
  .home-view .home-hero-inner .home-intro {
    padding-left: 22px;
  }
}
@media (max-width: 1020px) {
  .home-view .home-hero-inner {
    grid-template-columns: 43% 57%;
    min-height: 480px;
    height: auto;
  }
  .home-view .home-hero-inner .home-intro {
    padding: 30px 0 28px 3.5vw;
  }
}
@media (max-width: 760px) {
  .home-view .home-hero-inner {
    grid-template-columns: 1fr;
    min-height: 0;
    height: auto;
  }
  .home-view .home-hero-inner .home-portrait {
    height: min(68vh, 520px);
    min-height: 250px;
  }
  .home-view .home-hero-inner .home-intro {
    padding: 42px 22px 40px;
  }
}

/* Passerelle : libellés des deux réseaux sociaux — dernier choix validé */
.footer-links .footer-follow-label {font-weight:700; white-space:nowrap; color:#07152c; font-size:15px}
.footer-links a[href*="facebook.com"] {display:inline-flex; align-items:center; gap:6px; white-space:nowrap}
.footer-links .footer-instagram {display:inline-flex; align-items:center; gap:7px; white-space:nowrap}

/* MPB 3.27.7 : sélecteur linguistique de démonstration, en staging uniquement. */
body.mpb-site .mpb-lang-switch {display:flex;align-items:center;gap:5px;white-space:nowrap;}
body.mpb-site .mpb-lang-switch a {font:600 11px/1.2 "DM Sans",Arial,sans-serif;color:#0c1127;text-decoration:none;padding:7px 5px;border-radius:4px;}
body.mpb-site .mpb-lang-switch a.is-active {background:#00899e;color:#fff;}
@media(max-width:1020px){body.mpb-site .mpb-lang-switch{margin-top:10px;gap:12px}body.mpb-site .mpb-lang-switch a{font-size:14px}}
