/*
Theme Name: McBeauty
Theme URI: https://mcbeauty.ca
Author: Allenby Solutions
Author URI: https://allenbysolutions.ca
Description: Thème vitrine custom pour McBeauty — maquillage permanent à Gatineau, Blainville et Saint-Hubert. Bilingue FR/EN (logique custom), Gutenberg, design élégant espresso/vieux rose.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: mcbeauty
*/

/* ============================================================
   DESIGN TOKENS
   ============================================================ */
:root{
  --espresso:#332B29;       /* primary dark */
  --espresso-2:#3d3431;     /* dark panel hover */
  --espresso-deep:#231F20;  /* deepest */
  --rose:#A96467;           /* primary accent */
  --rose-deep:#8c4f52;      /* accent hover */
  --rose-soft:#c98e90;
  --blush:#E5C1BB;          /* soft accent */
  --blush-bg:#F3E9E6;       /* light section bg */
  --blush-bg-2:#EEE3E1;
  --cream:#FBFBFB;          /* page bg / text on dark */
  --teal:#2B5672;           /* secondary accent (rare) */
  --ink:#2F2E2E;            /* body text on light */
  --ink-soft:#5d5650;
  --muted:#8F8F8F;
  --line:#E6DEDB;           /* warm hairline */
  --line-dark:#4a3f3c;

  --font-sans:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --font-serif:'Playfair Display',Georgia,'Times New Roman',serif;

  --container:1200px;
  --container-narrow:920px;
  --header-h:116px;
  --radius:14px;
  --radius-lg:26px;
  --shadow:0 18px 50px rgba(51,43,41,.10);
  --shadow-soft:0 10px 30px rgba(51,43,41,.07);
  --ease:cubic-bezier(.22,.61,.36,1);
}

/* ============================================================
   RESET / BASE
   ============================================================ */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--font-sans);
  font-weight:300;
  font-size:17px;
  line-height:1.75;
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--rose);text-decoration:none;transition:color .25s var(--ease)}
a:hover{color:var(--rose-deep)}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:500;color:var(--espresso);line-height:1.15;margin:0 0 .5em}
p{margin:0 0 1.1em}
.mcb-container{max-width:var(--container);margin:0 auto;padding:0 28px}
.mcb-narrow{max-width:var(--container-narrow);margin-left:auto;margin-right:auto}

/* Eyebrow label (spaced caps) */
.mcb-eyebrow{
  font-family:var(--font-sans);
  font-weight:400;
  font-size:.72rem;
  letter-spacing:.32em;
  text-transform:uppercase;
  color:var(--rose);
  margin:0 0 1.1rem;
  display:inline-block;
}
.mcb-eyebrow--cream{color:var(--blush)}

/* Section heading */
.mcb-h2{font-size:clamp(1.9rem,3.6vw,2.9rem);letter-spacing:.01em}
.mcb-h2 em{font-style:italic;color:var(--rose)}
.mcb-lead{font-size:1.12rem;color:var(--ink-soft);font-weight:300}

/* Section rhythm */
.mcb-section{padding:96px 0}
.mcb-section--tight{padding:64px 0}
.mcb-section--blush{background:var(--blush-bg)}
.mcb-section--blush2{background:var(--blush-bg-2)}
.mcb-section--dark{background:var(--espresso);color:var(--cream)}
.mcb-section--dark h1,.mcb-section--dark h2,.mcb-section--dark h3{color:var(--cream)}
.mcb-center{text-align:center}
.mcb-section-head{max-width:720px;margin:0 auto 56px}
.mcb-section-head.mcb-center{text-align:center}

/* ============================================================
   BUTTONS
   ============================================================ */
.mcb-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  font-family:var(--font-sans);font-weight:400;font-size:.8rem;
  letter-spacing:.22em;text-transform:uppercase;
  padding:16px 34px;border-radius:40px;cursor:pointer;border:1px solid transparent;
  background:var(--rose);color:#fff !important;
  transition:background .3s var(--ease),transform .3s var(--ease),box-shadow .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
  line-height:1;
}
.mcb-btn:hover{background:var(--rose-deep);color:#fff !important;transform:translateY(-2px);box-shadow:0 12px 26px rgba(169,100,103,.32)}
.mcb-btn--ghost{background:transparent;border-color:currentColor;color:var(--cream) !important}
.mcb-btn--ghost:hover{background:var(--cream);color:var(--espresso) !important;border-color:var(--cream)}
.mcb-btn--dark{background:var(--espresso)}
.mcb-btn--dark:hover{background:var(--espresso-deep)}
.mcb-btn--outline{background:transparent;border-color:var(--rose);color:var(--rose) !important}
.mcb-btn--outline:hover{background:var(--rose);color:#fff !important}
.mcb-btn--sm{padding:12px 24px;font-size:.72rem}

/* ============================================================
   HEADER
   ============================================================ */
.mcb-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--espresso);
  transition:box-shadow .3s var(--ease)}
.mcb-header.is-scrolled{box-shadow:0 10px 30px rgba(0,0,0,.28)}
.mcb-header-inner{max-width:1320px;margin:0 auto;padding:0 28px;height:var(--header-h);
  display:flex;align-items:center;justify-content:space-between;gap:30px}

/* Big logo, spans both rows */
.mcb-brand{display:flex;align-items:center;flex:none}
.mcb-brand img{height:74px;width:auto}

/* Right column: utility on top, nav below */
.mcb-header-right{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;
  gap:13px;flex:1;min-width:0}

/* Utility row (no divider) */
.mcb-utility{display:flex;align-items:center;justify-content:flex-end;gap:22px;font-size:.8rem}
.mcb-utility a{color:var(--blush)}
.mcb-utility a:hover{color:#fff}
.mcb-util-item{display:inline-flex;align-items:center;gap:7px;letter-spacing:.05em;color:var(--blush)}
.mcb-util-item svg{width:15px;height:15px;fill:currentColor;flex:none}
.mcb-lang{display:inline-flex;gap:6px;align-items:center;letter-spacing:.12em;font-size:.78rem}
.mcb-lang a{color:rgba(229,193,187,.55)}
.mcb-lang a.is-active{color:#fff;font-weight:500}
.mcb-lang span{color:var(--line-dark)}
.mcb-google{display:inline-flex;align-items:center;gap:6px;color:var(--blush);cursor:pointer;transition:opacity .2s}
.mcb-google:hover{opacity:.75}
.mcb-google .mcb-stars{color:#f4b400;letter-spacing:1px}

/* Nav row */
.mcb-nav{display:flex;align-items:center;gap:34px}
.mcb-nav a{position:relative;color:var(--cream);font-family:var(--font-sans);font-weight:300;
  font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;padding:6px 0}
.mcb-nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:1.5px;
  background:var(--rose);transition:right .3s var(--ease)}
.mcb-nav a:hover,.mcb-nav a.is-current{color:#fff}
.mcb-nav a:hover::after,.mcb-nav a.is-current::after{right:0}

/* Services dropdown */
.mcb-has-sub{position:relative}
.mcb-submenu{position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(10px);
  background:var(--espresso-deep);min-width:210px;padding:10px 0;border-radius:12px;
  box-shadow:0 20px 40px rgba(0,0,0,.35);opacity:0;visibility:hidden;transition:.28s var(--ease);
  border:1px solid var(--line-dark)}
.mcb-has-sub:hover .mcb-submenu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(6px)}
.mcb-submenu a{display:block;padding:9px 22px;letter-spacing:.12em;font-size:.78rem}
.mcb-submenu a::after{display:none}
.mcb-submenu a:hover{background:rgba(169,100,103,.18)}

/* Mobile nav */
.mcb-nav-toggle{display:none;background:none;border:0;cursor:pointer;padding:8px;flex:none}
.mcb-nav-toggle span{display:block;width:26px;height:2px;background:var(--cream);margin:5px 0;transition:.3s var(--ease)}
.mcb-header.is-open .mcb-nav-toggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.mcb-header.is-open .mcb-nav-toggle span:nth-child(2){opacity:0}
.mcb-header.is-open .mcb-nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* spacer so fixed header doesn't overlap content.
   -1px tucks the first section under the header to kill the sub-pixel
   paint seam (cream peeking through) at fractional device-pixel ratios. */
.mcb-header-spacer{height:calc(var(--header-h) - 1px)}

/* WordPress admin bar (logged-in only): push the fixed header below it so
   the cream gap / overlap doesn't appear while editing. Visitors are unaffected. */
.admin-bar .mcb-header{top:32px}
@media screen and (max-width:782px){
  .admin-bar .mcb-header{top:46px}
  .admin-bar .mcb-nav{top:calc(var(--header-h) + 46px)}
}

/* ============================================================
   HERO (split)
   ============================================================ */
.mcb-hero{position:relative;background:var(--espresso);color:var(--cream);overflow:hidden}
.mcb-hero-grid{display:grid;grid-template-columns:1fr 1fr;min-height:min(80vh,760px)}
.mcb-hero-text{padding:90px 0 110px;display:flex;flex-direction:column;justify-content:center;
  max-width:600px;margin-left:auto;padding-right:60px;padding-left:28px}
.mcb-hero-tag{font-family:var(--font-sans);font-weight:300;color:rgba(251,251,251,.82);
  font-size:.92rem;letter-spacing:.2em;text-transform:uppercase;line-height:1.7;margin-bottom:18px;max-width:30ch}
.mcb-hero h1{font-family:var(--font-serif);font-weight:500;color:var(--rose-soft);
  font-size:clamp(2.4rem,4.6vw,3.9rem);letter-spacing:.02em;text-transform:uppercase;line-height:1.08;margin-bottom:30px}
.mcb-hero-points{list-style:none;padding:0;margin:0 0 36px;display:flex;flex-direction:column;gap:16px}
.mcb-hero-points li{display:flex;align-items:center;gap:14px;font-size:1.02rem;color:rgba(251,251,251,.9);font-weight:300}
.mcb-hero-points .mcb-dot{flex:none;width:30px;height:30px;border-radius:50%;background:rgba(169,100,103,.22);
  display:grid;place-items:center}
.mcb-hero-points .mcb-dot::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--rose)}
.mcb-hero-media{position:relative}
.mcb-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  filter:grayscale(.25) brightness(.92)}
.mcb-hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--espresso) 0%,rgba(51,43,41,.35) 22%,transparent 55%)}
.mcb-hero-cta{display:flex;gap:14px;flex-wrap:wrap}

/* ============================================================
   WELCOME / INTRO
   ============================================================ */
.mcb-welcome{text-align:center}
.mcb-welcome .mcb-h2{margin-bottom:.2em}
.mcb-welcome .mcb-sub{font-family:var(--font-serif);font-style:italic;color:var(--rose);font-size:1.4rem;margin-bottom:1.4em}
.mcb-welcome p{color:var(--ink-soft)}
.mcb-signature{font-family:var(--font-serif);font-style:italic;color:var(--espresso);font-size:1.25rem;margin-top:1.4em}

/* ============================================================
   SERVICES (home)
   ============================================================ */
.mcb-services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:30px}
.mcb-service{background:#fff;border-radius:var(--radius);padding:42px 38px;box-shadow:var(--shadow-soft);
  border:1px solid var(--line);transition:transform .35s var(--ease),box-shadow .35s var(--ease);
  display:flex;flex-direction:column}
.mcb-service:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.mcb-service h3{font-family:var(--font-sans);font-weight:400;letter-spacing:.2em;text-transform:uppercase;
  font-size:1.05rem;color:var(--espresso);margin-bottom:.2em}
.mcb-service .mcb-svc-rule{width:42px;height:2px;background:var(--rose);margin:14px 0 20px}
.mcb-service p{font-size:.98rem;color:var(--ink-soft);margin-bottom:1em}
.mcb-service .mcb-price{font-family:var(--font-serif);color:var(--rose);font-size:1.5rem;margin:auto 0 .6rem}
.mcb-service .mcb-price small{font-size:.85rem;color:var(--muted);font-family:var(--font-sans)}
.mcb-service .mcb-note{font-size:.82rem;color:var(--muted);margin-bottom:1.4em}
.mcb-service .mcb-more{font-family:var(--font-sans);font-size:.76rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--rose);font-weight:400;align-self:flex-start}
.mcb-service .mcb-more::after{content:" →";transition:margin .25s var(--ease)}
.mcb-service .mcb-more:hover::after{margin-left:4px}

/* ============================================================
   WHY CHOOSE
   ============================================================ */
.mcb-why-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
/* Elegant rose sparkle marker (replaces the filled check circles) — beauty-appropriate.
   Done in CSS so it applies to every list at once, no content edits. */
.mcb-check{background:none;width:auto;height:auto;display:inline-block}
.mcb-check svg{display:none}
.mcb-check::before{content:"";display:block;width:18px;height:18px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23A96467' d='M12 0C13 8 16 11 24 12 16 13 13 16 12 24 11 16 8 13 0 12 8 11 11 8 12 0Z'/%3E%3C/svg%3E") center/contain no-repeat}

.mcb-why-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px}
.mcb-why-list li{position:relative;padding-left:36px;font-size:1.05rem;line-height:1.6}
.mcb-why-list .mcb-check{position:absolute;left:0;top:.2em}
.mcb-why-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%}

/* ============================================================
   GALLERY (before / after)
   ============================================================ */
.mcb-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.mcb-gallery figure{margin:0;position:relative;border-radius:var(--radius);overflow:hidden;
  aspect-ratio:3/4;box-shadow:var(--shadow-soft)}
.mcb-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.mcb-gallery figure:hover img{transform:scale(1.05)}
.mcb-gallery .mcb-tag{position:absolute;top:12px;left:12px;background:rgba(51,43,41,.72);color:#fff;
  font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;padding:5px 12px;border-radius:30px;backdrop-filter:blur(4px)}
.mcb-gallery-cta{text-align:center;margin-top:44px}
.mcb-gallery.is-collapsed figure:nth-child(n+9){display:none}
@media(max-width:768px){.mcb-gallery.is-collapsed figure:nth-child(n+5){display:none}}

/* ============================================================
   TESTIMONIALS
   ============================================================ */
.mcb-reviews-head{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;margin-bottom:48px}
.mcb-reviews-stars{color:#f4b400;font-size:1.4rem;letter-spacing:3px}
.mcb-reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.mcb-review{background:#fff;border-radius:var(--radius);padding:34px 30px;box-shadow:var(--shadow-soft);
  border:1px solid var(--line);display:flex;flex-direction:column}
.mcb-review .mcb-quote{font-family:var(--font-serif);color:var(--rose);font-size:2.6rem;line-height:.6;margin-bottom:14px}
.mcb-review p{font-size:.98rem;color:var(--ink-soft);font-style:italic;margin-bottom:1.2em}
.mcb-review .mcb-author{margin-top:auto;font-family:var(--font-sans);font-weight:500;letter-spacing:.1em;
  text-transform:uppercase;font-size:.76rem;color:var(--espresso)}
.mcb-review .mcb-rev-stars{color:#f4b400;letter-spacing:2px;margin-bottom:14px;font-size:.95rem}

/* ============================================================
   SERVICE PAGE TEMPLATE
   ============================================================ */
.mcb-svc-hero{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--espresso);color:var(--cream);overflow:hidden}
.mcb-svc-hero-text{padding:90px 60px 90px 0;max-width:600px;margin-left:auto;padding-left:28px;
  display:flex;flex-direction:column;justify-content:center}
.mcb-svc-hero h1{font-family:var(--font-serif);color:#fff;font-size:clamp(2rem,3.6vw,2.9rem);margin-bottom:.4em}
.mcb-svc-hero p{color:rgba(251,251,251,.85);font-size:1.08rem}
.mcb-svc-hero-media{position:relative;min-height:420px}
.mcb-svc-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mcb-svc-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:0 auto;max-width:880px}
.mcb-meta-card{text-align:center;padding:30px 20px;background:#fff;border-radius:var(--radius);
  border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.mcb-meta-card .mcb-meta-ic{width:40px;height:40px;margin:0 auto 14px;color:var(--rose)}
.mcb-meta-card .mcb-meta-ic svg{width:100%;height:100%;fill:none;stroke:var(--rose);stroke-width:1.6}
.mcb-meta-card .mcb-meta-label{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-bottom:4px}
.mcb-meta-card .mcb-meta-val{font-family:var(--font-serif);color:var(--espresso);font-size:1.2rem}

.mcb-steps{counter-reset:step;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.mcb-step{position:relative;padding:30px 26px;background:#fff;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.mcb-step::before{counter-increment:step;content:counter(step,decimal-leading-zero);
  font-family:var(--font-serif);font-size:2rem;color:var(--blush);display:block;margin-bottom:10px}
.mcb-step h3{font-family:var(--font-sans);font-weight:500;letter-spacing:.05em;font-size:1.05rem;margin-bottom:.3em}
.mcb-step p{font-size:.92rem;color:var(--ink-soft);margin:0}

.mcb-benefits{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.mcb-benefits li{position:relative;padding-left:28px;font-size:1.02rem;line-height:1.6}
.mcb-benefits .mcb-check{position:absolute;left:0;top:.2em}
.mcb-benefits .mcb-check::before{width:15px;height:15px}

/* FAQ */
.mcb-faq{max-width:820px;margin:0 auto}
.mcb-faq details{border-bottom:1px solid var(--line);padding:6px 0}
.mcb-faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;position:relative;
  font-family:var(--font-serif);font-size:1.15rem;color:var(--espresso)}
.mcb-faq summary::-webkit-details-marker{display:none}
.mcb-faq summary::after{content:"+";position:absolute;right:6px;top:18px;font-size:1.5rem;color:var(--rose);
  transition:transform .3s var(--ease);font-family:var(--font-sans);font-weight:300}
.mcb-faq details[open] summary::after{transform:rotate(45deg)}
.mcb-faq details p{color:var(--ink-soft);padding:0 0 20px;margin:0}

/* ============================================================
   ABOUT PAGE
   ============================================================ */
.mcb-about-hero{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:stretch}
.mcb-about-media{align-self:stretch;min-height:520px}
.mcb-about-hero img{border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%;height:100%;object-fit:cover;display:block}
.mcb-about-body p{margin-bottom:1.05em}
.mcb-about-hero .mcb-about-img--tall{display:none}
.mcb-about-hero.is-expanded .mcb-about-img--short{display:none}
.mcb-about-hero.is-expanded .mcb-about-img--tall{display:block}
.mcb-about-more{display:none}
.mcb-about-hero.is-expanded .mcb-about-more{display:block}
.mcb-about-toggle{margin-top:6px;background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-sans);font-size:.95rem;color:var(--rose);
  text-decoration:underline;text-underline-offset:3px;transition:opacity .2s}
.mcb-about-toggle:hover{opacity:.7}
.mcb-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;text-align:center}
.mcb-stat .mcb-stat-num{font-family:var(--font-serif);color:var(--rose);font-size:2.6rem;line-height:1}
.mcb-stat .mcb-stat-lbl{font-size:.82rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.mcb-train-cols{display:grid;grid-template-columns:1.7fr 1fr;gap:0}
.mcb-train-main{padding-right:54px}
.mcb-train-h{font-family:var(--font-serif);font-weight:500;font-size:clamp(1.5rem,2.4vw,1.8rem);line-height:1.15;color:var(--espresso);margin-bottom:.5em}
.mcb-train-sub{color:var(--muted);font-size:.96rem;margin-bottom:1em}
.mcb-train-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}
.mcb-train-list li{padding-left:19px;position:relative;color:var(--ink-soft);font-size:.95rem;line-height:1.4}
.mcb-train-list li::before{content:"";position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--rose)}
.mcb-train-list--cols{display:block;columns:2;column-gap:34px}
.mcb-train-list--cols li{break-inside:avoid;margin-bottom:6px}
.mcb-train-list em{font-style:italic;color:var(--ink)}
.mcb-train-side{border-left:1px solid var(--line);padding-left:54px}
.mcb-train-side p{color:var(--ink-soft);font-size:.97rem;line-height:1.65;margin-bottom:1em}
.mcb-train-side p:last-child{margin-bottom:0}

/* Philosophy — image + values */
.mcb-philo-feature{display:grid;grid-template-columns:1.35fr 1fr;gap:52px;align-items:center}
.mcb-philo-media img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.mcb-philo-content .mcb-h2{margin-bottom:1.4em}
.mcb-philo-values{display:flex;flex-direction:column;gap:30px}
.mcb-philo-value{display:flex;gap:20px;align-items:flex-start}
.mcb-philo-ic{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;
  background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.mcb-philo-ic svg{width:24px;height:24px;fill:none;stroke:var(--rose);stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.mcb-philo-value h3{font-family:var(--font-serif);font-size:1.25rem;margin-bottom:.25em}
.mcb-philo-value p{color:var(--ink-soft);font-size:.97rem;line-height:1.6}

/* Closing CTA band */
.mcb-cta-band{max-width:640px;margin:0 auto;text-align:center}
.mcb-cta-band p{color:rgba(251,251,251,.82);margin:0 auto 1.9em}

/* ============================================================
   PRICING
   ============================================================ */
.mcb-price-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;max-width:980px;margin:0 auto}
.mcb-price-card{background:#fff;border-radius:var(--radius);padding:40px;border:1px solid var(--line);
  box-shadow:var(--shadow-soft);display:flex;flex-direction:column;text-align:center;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.mcb-price-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.mcb-price-card h3{font-family:var(--font-sans);font-weight:400;letter-spacing:.2em;text-transform:uppercase;font-size:1.1rem;margin-bottom:.6em}
.mcb-price-card .mcb-rule{width:46px;height:2px;background:var(--rose);margin:0 auto 22px}
.mcb-price-rows{list-style:none;padding:0;margin:0 0 24px;text-align:left}
.mcb-price-rows li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px dashed var(--line);font-size:.98rem}
.mcb-price-rows li span:last-child{font-family:var(--font-serif);color:var(--rose);white-space:nowrap}
.mcb-price-big{font-family:var(--font-serif);color:var(--rose);font-size:2.6rem;line-height:1;margin:auto 0 6px}
.mcb-price-big small{font-size:.9rem;color:var(--muted);font-family:var(--font-sans);display:block;margin-top:6px}
.mcb-price-note{font-size:.82rem;color:var(--muted);margin:10px 0 22px}

/* Pricing hero (image + intro) */
.mcb-tarif-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mcb-tarif-hero-media img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.mcb-tarif-hero-text .mcb-h2{margin:.25em 0 .6em}
.mcb-tarif-hero-text p{color:var(--ink-soft);margin-bottom:1em}
.mcb-tarif-hero-text p:last-child{margin-bottom:0}

/* Pricing list (salon menu) */
.mcb-pricelist{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.mcb-pl-item{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:start;
  padding:28px 4px;border-bottom:1px solid var(--line)}
.mcb-pl-icon{width:60px;height:60px;flex:none}
.mcb-pl-icon img{width:100%;height:100%;object-fit:contain}
.mcb-pl-body h3{font-family:var(--font-serif);font-size:1.5rem;margin-bottom:.25em}
.mcb-pl-body>p{color:var(--ink-soft);font-size:.97rem;line-height:1.6;max-width:46ch}
.mcb-pl-price{text-align:right;font-family:var(--font-serif);color:var(--rose);font-size:1.9rem;
  line-height:1;white-space:nowrap}
.mcb-pl-price small{display:block;margin-top:10px;font-family:var(--font-sans);font-size:.74rem;
  color:var(--muted);white-space:normal;max-width:15ch;margin-left:auto;line-height:1.5}
.mcb-pl-options{list-style:none;padding:0;margin:16px 0 0;max-width:380px}
.mcb-pl-options li{display:flex;justify-content:space-between;gap:16px;padding:9px 0;
  border-bottom:1px dashed var(--line);font-size:.96rem;color:var(--ink-soft)}
.mcb-pl-options li span:last-child{font-family:var(--font-serif);color:var(--rose);white-space:nowrap}
.mcb-pl-note{font-size:.82rem;color:var(--muted);margin-top:12px}
.mcb-pl-foot{text-align:center;font-size:.9rem;color:var(--muted);margin-top:34px}
.mcb-pl-foot a{color:var(--rose);text-decoration:underline;text-underline-offset:2px}

/* ============================================================
   CONTACT
   ============================================================ */
/* Contact hero (image + intro) */
.mcb-contact-hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mcb-contact-hero-media img{width:100%;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft)}
.mcb-contact-hero-text .mcb-h2{margin:.25em 0 .6em}
.mcb-contact-hero-text p{color:var(--ink-soft);margin-bottom:1em}
.mcb-contact-hero-text p:last-child{margin-bottom:0}
.mcb-contact-hero-text a{color:var(--rose);text-decoration:underline;text-underline-offset:2px}

.mcb-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:start}
.mcb-contact-left{display:flex;flex-direction:column}
.mcb-form{display:flex;flex-direction:column;gap:18px}
.mcb-field label{display:block;font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:7px}
.mcb-field input,.mcb-field select,.mcb-field textarea{
  width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:10px;background:#fff;
  font-family:var(--font-sans);font-size:1rem;color:var(--ink);transition:border-color .25s}
.mcb-field input:focus,.mcb-field select:focus,.mcb-field textarea:focus{outline:none;border-color:var(--rose)}
.mcb-field textarea{min-height:130px;resize:vertical}
.mcb-clinics{display:flex;flex-direction:column;gap:26px}
.mcb-clinic{padding:26px 28px;background:var(--blush-bg);border-radius:var(--radius);border:1px solid var(--line)}
.mcb-clinic h3{font-family:var(--font-sans);font-weight:500;letter-spacing:.14em;text-transform:uppercase;font-size:.92rem;color:var(--rose);margin-bottom:.4em}
.mcb-clinic p{margin:0;color:var(--ink-soft);font-size:.98rem;line-height:1.6}
.mcb-clinic-map{margin-top:16px;border-radius:10px;overflow:hidden;line-height:0;border:1px solid var(--line)}
.mcb-clinic-map iframe{width:100%;height:170px;border:0;display:block;filter:grayscale(.35);transition:filter .35s var(--ease)}
.mcb-clinic-map:hover iframe{filter:grayscale(0)}
.mcb-contact-info{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.mcb-form-success{display:none;padding:16px 18px;background:rgba(169,100,103,.12);border-radius:10px;color:var(--espresso);font-size:.95rem}
.mcb-booking-inline{margin-top:44px;padding-top:40px;border-top:1px solid var(--line)}
.mcb-booking-head{margin-bottom:24px}
.mcb-booking-head .mcb-h3{margin:.15em 0 .35em}
.mcb-booking-head p{color:var(--ink-soft);font-size:.97rem}
.mcb-h3{font-family:var(--font-serif);font-size:clamp(1.5rem,2.6vw,1.9rem);line-height:1.15;color:var(--espresso)}
#mcb-booking{max-width:100%}

/* ============================================================
   CTA STRIP
   ============================================================ */
.mcb-cta{background:var(--espresso);color:var(--cream);text-align:center}
.mcb-cta .mcb-h2{color:#fff}
.mcb-cta p{color:rgba(251,251,251,.82);max-width:600px;margin:0 auto 30px}

/* ============================================================
   FOOTER
   ============================================================ */
.mcb-footer{background:var(--espresso-deep);color:rgba(251,251,251,.75);padding:72px 0 0}
.mcb-footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px}
.mcb-footer img.mcb-foot-logo{height:48px;margin-bottom:22px}
.mcb-footer h4{font-family:var(--font-sans);font-weight:500;letter-spacing:.2em;text-transform:uppercase;
  font-size:.78rem;color:var(--blush);margin-bottom:1em}
.mcb-footer p,.mcb-footer a{font-size:.92rem;line-height:1.7;color:rgba(251,251,251,.72)}
.mcb-footer a:hover{color:#fff}
.mcb-foot-locs{list-style:none;margin:0;padding:0}
.mcb-foot-locs li{font-size:.92rem;line-height:1.95;color:rgba(251,251,251,.72)}
.mcb-foot-locs strong{color:var(--cream);font-weight:500;letter-spacing:.04em}
.mcb-foot-locs-link{margin-top:14px}
.mcb-foot-locs-link a{color:var(--blush);font-size:.86rem}
.mcb-social{display:flex;gap:14px;margin-top:6px}
.mcb-social a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-dark);display:grid;place-items:center}
.mcb-social a:hover{background:var(--rose);border-color:var(--rose)}
.mcb-social svg{width:17px;height:17px;fill:currentColor}
.mcb-footer-bottom{border-top:1px solid var(--line-dark);margin-top:56px;padding:26px 0;
  display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;font-size:.82rem}
.mcb-footer-bottom a{color:rgba(251,251,251,.6)}
.mcb-footer-bottom .mcb-credit a{color:var(--blush)}

/* ============================================================
   LEGAL PAGES
   ============================================================ */
.mcb-legal{max-width:820px;margin:0 auto}
.mcb-legal h1{font-size:clamp(2rem,4vw,2.8rem);margin-bottom:.4em}
.mcb-legal h2{font-family:var(--font-sans);font-weight:500;letter-spacing:.06em;font-size:1.2rem;margin:1.8em 0 .5em;color:var(--espresso)}
.mcb-legal h3{font-family:var(--font-serif);font-size:1.18rem;margin:1.4em 0 .3em;color:var(--ink)}
.mcb-legal p,.mcb-legal li{color:var(--ink-soft);font-size:1rem}
.mcb-legal ul{margin:.4em 0 1em;padding-left:1.2em}
.mcb-legal li{margin-bottom:.35em}
.mcb-legal a{color:var(--rose);text-decoration:underline;text-underline-offset:2px}
.mcb-legal .mcb-updated{color:var(--muted);font-size:.9rem;margin-bottom:2em}

/* ============================================================
   COOKIE BANNER
   ============================================================ */
.mcb-cookie{position:fixed;left:24px;right:24px;bottom:24px;z-index:2000;max-width:560px;margin:0 auto;
  background:rgba(35,31,32,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(229,193,187,.2);border-radius:16px;padding:22px 26px;color:var(--cream);
  box-shadow:0 24px 60px rgba(0,0,0,.4);transform:translateY(140%);transition:transform .5s var(--ease)}
.mcb-cookie.is-visible{transform:translateY(0)}
.mcb-cookie p{font-size:.9rem;margin:0 0 16px;color:rgba(251,251,251,.85)}
.mcb-cookie a{color:var(--blush);text-decoration:underline}
.mcb-cookie-actions{display:flex;gap:12px}

/* ============================================================
   SCROLL REVEAL
   ============================================================ */
.mcb-reveal{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.mcb-reveal.is-visible{opacity:1;transform:none}

/* ============================================================
   WELCOME SPLIT (image + text)
   ============================================================ */
.mcb-welcome-split{display:grid;grid-template-columns:1.3fr 1fr;gap:52px;align-items:center;text-align:left}
.mcb-welcome-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow);width:100%}
.mcb-welcome-split .mcb-sub{margin-top:.1em}

/* Service card icons */
.mcb-service-icon{width:74px;height:74px;margin-bottom:16px}
.mcb-service-icon img{width:100%;height:100%;object-fit:contain}

/* ============================================================
   WHY — feature image blended into the background (like the hero)
   ============================================================ */
.mcb-why-feature{background:var(--cream);overflow:hidden;padding:0}
.mcb-why-feature-grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;min-height:560px}
.mcb-why-feature-text{max-width:600px;margin-left:auto;padding:80px 56px 80px 28px}
.mcb-why-feature-media{position:relative;align-self:stretch}
.mcb-why-feature-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:62% 40%}
.mcb-why-feature-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,var(--cream) 0%,rgba(251,251,251,.55) 24%,transparent 54%)}

/* ============================================================
   FEATURED TESTIMONIAL (photo + quote)
   ============================================================ */
.mcb-feat{display:grid;grid-template-columns:0.82fr 1.18fr;background:#fff;border:1px solid var(--line);
  border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);margin:42px auto 0;max-width:960px}
.mcb-feat-media{position:relative;min-height:360px}
.mcb-feat-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.mcb-feat-body{padding:46px 50px;display:flex;flex-direction:column;justify-content:center}
.mcb-feat-body .mcb-rev-stars{color:#f4b400;letter-spacing:2px;margin-bottom:16px}
.mcb-feat-body p{font-family:var(--font-serif);font-style:italic;font-size:1.32rem;line-height:1.5;color:var(--ink);margin-bottom:1em}
.mcb-feat-author{font-family:var(--font-sans);font-weight:500;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;color:var(--rose)}
.mcb-reviews-grid{grid-template-columns:repeat(auto-fit,minmax(228px,1fr))}

/* About — "approche" section with photo */
.mcb-approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mcb-approach-media img{border-radius:var(--radius-lg);box-shadow:0 24px 60px rgba(0,0,0,.35);width:100%}
.mcb-approach-body .mcb-h2{color:#fff}
.mcb-approach-body p{color:rgba(251,251,251,.82);margin-bottom:1.7em}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media(max-width:1100px){
  :root{--header-h:104px}
  .mcb-hero-grid{grid-template-columns:1.05fr .95fr}
  .mcb-hero-text{padding-right:36px}
  .mcb-gallery{grid-template-columns:repeat(3,1fr)}
  .mcb-footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  .mcb-nav{gap:22px}
}
@media(max-width:768px){
  :root{--header-h:74px}
  body{font-size:16px}
  .mcb-section{padding:64px 0}
  .mcb-utility{display:none}
  .mcb-header-right{display:contents}
  .mcb-brand img{height:44px}
  .mcb-nav-toggle{display:block;margin-left:auto}
  .mcb-nav{position:fixed;top:var(--header-h);left:0;right:0;background:var(--espresso-deep);
    flex-direction:column;align-items:flex-start;gap:0;padding:10px 28px 30px;
    max-height:0;overflow:hidden;transition:max-height .4s var(--ease);box-shadow:0 20px 40px rgba(0,0,0,.3)}
  .mcb-header.is-open .mcb-nav{max-height:80vh;overflow:auto}
  .mcb-nav a{width:100%;padding:14px 0;border-bottom:1px solid var(--line-dark);font-size:.9rem}
  .mcb-nav a::after{display:none}
  .mcb-submenu{position:static;transform:none;opacity:1;visibility:visible;box-shadow:none;border:0;
    background:transparent;padding:0 0 0 16px;min-width:0;display:none}
  .mcb-has-sub.is-expanded .mcb-submenu{display:block}
  .mcb-hero-grid{grid-template-columns:1fr}
  .mcb-hero-text{max-width:none;margin:0;padding:64px 28px 70px;order:2}
  .mcb-hero-media{order:1;min-height:300px}
  .mcb-hero-media::after{background:linear-gradient(0deg,var(--espresso) 0%,rgba(51,43,41,.2) 60%,transparent 100%)}
  .mcb-services-grid,.mcb-why-grid,.mcb-reviews-grid,.mcb-benefits,.mcb-philo,.mcb-stats,
  .mcb-price-grid,.mcb-contact-grid,.mcb-svc-meta,.mcb-train-cols,.mcb-about-hero,
  .mcb-welcome-split,.mcb-feat,.mcb-approach-grid,.mcb-philo-feature,.mcb-tarif-hero,.mcb-contact-hero{grid-template-columns:1fr}
  .mcb-welcome-media,.mcb-approach-media,.mcb-philo-media,.mcb-tarif-hero-media,.mcb-contact-hero-media{order:-1}
  .mcb-philo-feature{gap:36px}
  .mcb-tarif-hero{gap:32px}
  .mcb-contact-hero{gap:32px}
  .mcb-train-list--cols{columns:1}
  .mcb-train-main{padding-right:0}
  .mcb-train-side{border-left:0;padding-left:0;border-top:1px solid var(--line);padding-top:30px;margin-top:30px}
  .mcb-pl-item{grid-template-columns:auto 1fr;gap:18px}
  .mcb-pl-price{grid-column:2;text-align:left;margin-top:6px;font-size:1.6rem}
  .mcb-pl-price small{margin-left:0;max-width:none}
  .mcb-why-feature-grid{grid-template-columns:1fr;min-height:0}
  .mcb-why-feature-text{max-width:none;margin:0;padding:56px 28px 30px}
  .mcb-why-feature-media{min-height:320px;order:2}
  .mcb-why-feature-media img{position:absolute}
  .mcb-why-feature-media::after{background:linear-gradient(0deg,transparent 60%,var(--cream) 100%)}
  .mcb-feat-media{min-height:280px}
  .mcb-feat-body{padding:34px 28px}
  .mcb-svc-hero{grid-template-columns:1fr}
  .mcb-svc-hero-text{padding:60px 28px;max-width:none;margin:0}
  .mcb-svc-hero-media{min-height:280px}
  .mcb-gallery{grid-template-columns:repeat(2,1fr);gap:12px}
  .mcb-reviews-grid{gap:18px}
  .mcb-why-grid{gap:36px}
  .mcb-about-hero{gap:32px}
  .mcb-about-media{min-height:0;align-self:auto}
  .mcb-about-hero img{height:auto;object-fit:fill}
  .mcb-footer-bottom{flex-direction:column;text-align:center}
}
@media(max-width:480px){
  .mcb-container{padding:0 20px}
  .mcb-hero h1{letter-spacing:.08em}
  .mcb-service{padding:32px 26px}
  .mcb-footer-grid{grid-template-columns:1fr;gap:30px}
  .mcb-cookie{left:14px;right:14px;bottom:14px;padding:20px}
  .mcb-cookie-actions{flex-direction:column}
  .mcb-cookie-actions .mcb-btn{width:100%}
}
