/*
Theme Name:   Astra Child - Relax-Men
Theme URI:    https://relax-men.fr
Description:  Thème enfant Astra reproduisant fidèlement la charte graphique Relax-Men (Playfair Display + DM Sans, palette bordeaux/rubis/or). Menu et footer centralisés, injectés automatiquement sur chaque page.
Author:       Bruno
Template:     astra
Version:      2.3
Text Domain:  astra-child-relaxmen
*/

/* ────────────────────────────────────────────
   CHANGELOG
   1.0 — Première version : nav/footer injectés via
         wp_body_open()/wp_footer(), gérables depuis
         Apparence → Menus.
   2.0 — Architecture reconstruite sur le même principe
         que le thème enfant BrunoZen v3.6 (référence) :
         - header sticky avec topbar (tél/horaires)
         - nav en <ul class="main-nav-list"> avec
           display:contents (surlignage actif natif WP
           via les classes current-menu-item/-parent,
           plus besoin de comparaison d'URL manuelle)
         - menu mobile intégré au header (pas de bloc
           séparé), hamburger animé
         - jeu complet de correctifs Astra (espace
           masthead résiduel, page-header, pleine largeur
           des sections .entry-content, footer pleine
           largeur car injecté hors de .entry-content)
   2.1 — Logo agrandi dans le header (84px → 128px desktop, garde
         84px sur mobile pour ne pas surcharger la barre).
   2.2 — Correctif menu fixe au scroll : "overflow-x:hidden" sur
         body (hérité du CSS d'origine) cassait position:sticky
         sur le header. Remplacé par "overflow-x:clip" (même
         correctif que sur brunozen.fr).
   ──────────────────────────────────────────── */

/* ────────────────────────────────────────────
   Reprend telle quelle la feuille de style du site
   relax-men.fr (classes .hero-left, .massage-strip,
   .t-card, .cadeau-*, .rev/.rev-l/.rev-r, etc.) afin
   que le contenu collé en blocs HTML personnalisés
   dans WordPress produise un rendu identique au site
   d'origine. Les anciennes classes de nav/footer du
   site statique (#nav, .mob-menu, footer d'origine)
   restent définies plus bas pour compatibilité mais ne
   sont plus utilisées : le nav/footer actifs sont ceux
   du bloc "HEADER / FOOTER CENTRALISÉS v2.0" en fin de
   fichier.
   ──────────────────────────────────────────── */

/* ═══════════════════════════════════
   VARIABLES
═══════════════════════════════════ */
:root {
  --ink:       #2a1018;   /* plus clair : charbon bordeaux */
  --jade-d:    #3a1620;   /* fond sections alt */
  --jade:      #561e2e;   /* rubis moyen */
  --jade-m:    #8b2a40;   /* rubis actif */
  --jade-l:    #b83858;   /* rubis clair / accents */
  --sage:      #ffffff;   /* rose doux */
  --champagne: #ffffff;
  --creme:     #ffffff;
  --blanc:     #ffffff;
  --or:        #c9a84c;
  --or2:       #e8c876;
  --gris:      #d8cdd4;   /* gris chaud plus lisible */
  --rouge-sombre: #6e2838;
  --f-titre:   'Playfair Display', Georgia, serif;
  --f-corps:   'DM Sans', sans-serif;
  --r:         6px;
  --tr:        0.35s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--f-corps);background:var(--ink);color:var(--champagne);line-height:1.75;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:var(--or2);text-decoration:none;transition:color var(--tr)}
a:hover{color:var(--creme)}
.container{max-width:1140px;margin:0 auto;padding:0 28px}

/* ══ SCROLLBAR ══ */
::-webkit-scrollbar{width:4px}
::-webkit-scrollbar-track{background:var(--ink)}
::-webkit-scrollbar-thumb{background:var(--jade-m)}

/* ════════════════════════════════════
   NAV
════════════════════════════════════ */
#nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  background:rgba(42,16,24,0.95);
  backdrop-filter:blur(16px) saturate(1.5);
  border-bottom:1px solid rgba(158,37,64,0.18);
  transition:background var(--tr);
}
.nav-in{
  max-width:1140px;margin:0 auto;padding:0 28px;
  display:flex;align-items:center;justify-content:space-between;
  height:164px;
}
.nav-logo{
  display:flex;align-items:center;gap:10px;
}
.logo-mark{
  width:36px;height:36px;
  border:1.5px solid var(--jade-l);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-titre);font-size:1rem;font-weight:700;
  color:var(--or2);
  background:rgba(110,26,46,0.3);
}
.logo-text{
  font-family:var(--f-titre);
  font-size:1.25rem;font-weight:500;
  letter-spacing:0.06em;color:var(--champagne);
}
.logo-text span{color:var(--or2)}

/* ── LOGO IMAGE ── */
.logo-img{
  height:144px;
  width:auto;
  max-width:620px;
  object-fit:contain;
  display:block;
  transition:opacity 0.3s ease,transform 0.3s ease;
  /* Halo doré pour détacher le logo du fond sombre */
  filter:drop-shadow(0 0 18px rgba(201,168,76,0.55)) drop-shadow(0 0 6px rgba(201,168,76,0.35));
}
.logo-img:hover{opacity:0.95;transform:scale(1.02);filter:drop-shadow(0 0 24px rgba(201,168,76,0.7)) drop-shadow(0 0 8px rgba(201,168,76,0.5));}

.nav-links{display:flex;gap:36px;list-style:none}
.nav-links a{
  font-size:0.86rem;font-weight:500;
  letter-spacing:0.12em;text-transform:uppercase;
  color:rgba(245,235,220,0.85);
  transition:color var(--tr);
  position:relative;
}
.nav-links a::after{
  content:'';position:absolute;bottom:-4px;left:0;right:0;
  height:1px;background:var(--jade-l);
  transform:scaleX(0);transform-origin:left;
  transition:transform 0.3s ease;
}
.nav-links a:hover{color:var(--champagne)}
.nav-links a:hover::after{transform:scaleX(1)}

.nav-rdv{
  background:linear-gradient(135deg,var(--jade-m),var(--jade-l));
  color:var(--creme)!important;
  padding:9px 22px;border-radius:50px;
  font-weight:600!important;
  letter-spacing:0.06em!important;
  box-shadow:0 4px 20px rgba(110,26,46,0.5);
  transition:all var(--tr)!important;
}
.nav-rdv::after{display:none!important}
.nav-rdv:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(110,26,46,0.6)!important}

.nav-tog{
  display:none;flex-direction:column;gap:6px;
  cursor:pointer;background:none;border:none;padding:4px;
}
.nav-tog span{display:block;width:26px;height:2px;background:var(--or2);transition:all var(--tr)}

/* ════════════════════════════════════
   HERO — split layout
════════════════════════════════════ */
#accueil{
  min-height:100vh;display:grid;
  grid-template-columns:1fr 1fr;
  padding-top:164px;position:relative;overflow:hidden;
}
.hero-left{
  display:flex;align-items:center;
  padding:80px 60px 80px 0;
  padding-left:max(28px, calc((100vw - 1140px)/2 + 28px));
  background:var(--ink);
  position:relative;z-index:2;
}
.hero-left::after{
  content:'';
  position:absolute;right:-1px;top:0;bottom:0;width:80px;
  background:linear-gradient(to right,var(--ink),transparent);
  z-index:3;
}
.hero-right{
  position:relative;overflow:hidden;
}
.hero-right img{
  width:100%;height:100%;
  object-fit:cover;object-position:center top;
  filter:brightness(1.00) saturate(0.98);
  transition:transform 8s ease;
}
.hero-right:hover img{transform:scale(1.04)}
.hero-right-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,
    rgba(18,8,12,0.7) 0%,
    rgba(18,8,12,0.1) 50%,
    rgba(59,13,28,0.4) 100%);
}
.hero-badge-vertical{
  position:absolute;right:28px;bottom:40px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
  writing-mode:vertical-rl;text-orientation:mixed;
  font-size:0.80rem;letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(201,168,76,0.8);
}
.hero-badge-vertical::before{
  content:'';display:block;width:1px;height:40px;
  background:rgba(201,168,76,0.4);
}

.hero-content{position:relative;z-index:2;max-width:540px}

.eyebrow{
  display:flex;align-items:center;gap:14px;
  font-size:0.84rem;font-weight:500;
  letter-spacing:0.18em;text-transform:uppercase;
  color:var(--jade-l);margin-bottom:28px;
}
.eyebrow::before{
  content:'';width:28px;height:1px;background:var(--jade-l);flex-shrink:0;
}

.hero-h1{
  font-family:var(--f-titre);
  font-size:clamp(2.8rem,4.5vw,4.6rem);
  font-weight:400;line-height:1.1;
  color:var(--creme);margin-bottom:20px;
}
.hero-h1 .accent{
  display:block;font-style:italic;
  color:var(--or2);
}
.hero-h1 .light{font-weight:400;opacity:0.7;font-size:0.65em;display:block;letter-spacing:0.04em;margin-top:6px}

.hero-divider{
  width:48px;height:2px;
  background:linear-gradient(to right,var(--jade-l),transparent);
  margin:28px 0;
}

.hero-p{
  font-size:1rem;color:rgba(245,235,220,0.85);
  line-height:1.85;margin-bottom:36px;max-width:460px;
}

.btn-jade{
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,var(--jade-m),var(--jade-l));
  color:var(--creme);padding:15px 36px;border-radius:50px;
  font-size:0.88rem;font-weight:600;letter-spacing:0.06em;
  transition:all var(--tr);
  box-shadow:0 6px 24px rgba(59,13,28,0.5);
  border:none;cursor:pointer;
}
.btn-jade:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 36px rgba(59,13,28,0.65);
  color:var(--creme);
}
.btn-ghost{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;
  color:var(--champagne);
  padding:14px 28px;border-radius:50px;
  font-size:0.88rem;font-weight:400;letter-spacing:0.06em;
  transition:all var(--tr);
  border:1px solid rgba(158,37,64,0.35);
}
.btn-ghost:hover{
  border-color:var(--jade-l);color:var(--creme);
  background:rgba(110,26,46,0.15);
}

.hero-btns{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:44px}

.hero-stats{
  display:flex;gap:36px;
  padding-top:36px;
  border-top:1px solid rgba(158,37,64,0.18);
}
.hstat-num{
  font-family:var(--f-titre);font-size:2rem;font-weight:400;
  color:var(--or2);line-height:1;
}
.hstat-label{
  font-size:0.82rem;letter-spacing:0.10em;text-transform:uppercase;
  color:rgba(255,255,255,0.72);margin-top:4px;
}

/* EXPRESS */
.express{
  background:linear-gradient(90deg,var(--jade-d),var(--jade));
  border-top:1px solid rgba(158,37,64,0.3);
  border-bottom:1px solid rgba(158,37,64,0.3);
  padding:18px 28px;
  display:flex;flex-wrap:wrap;align-items:center;
  justify-content:space-between;gap:14px;
}
.exp-txt{color:var(--creme);font-size:0.88rem}
.exp-txt em{color:var(--or2);font-style:normal;font-weight:600}
.exp-cta{
  background:var(--or);color:var(--ink);
  padding:9px 24px;border-radius:50px;
  font-size:0.86rem;font-weight:700;letter-spacing:0.08em;
  text-transform:uppercase;transition:all var(--tr);white-space:nowrap;
}
.exp-cta:hover{background:var(--or2);color:var(--ink)}

/* ════════════════════════════════════
   SECTION HEADERS
════════════════════════════════════ */
.sh{text-align:center;margin-bottom:72px}
.sh .eyebrow{justify-content:center}
.sh .eyebrow::before,.sh .eyebrow::after{
  content:'';width:28px;height:1px;background:var(--jade-l);
}
.sh-title{
  font-family:var(--f-titre);
  font-size:clamp(2rem,3.5vw,3rem);
  font-weight:400;line-height:1.2;color:var(--creme);
  margin-bottom:18px;
}
.sh-title em{color:var(--or2);font-style:italic}
.sh-line{
  width:50px;height:2px;margin:0 auto 20px;
  background:linear-gradient(to right,transparent,var(--jade-l),transparent);
}
.sh-p{font-size:0.95rem;color:rgba(245,235,220,0.80);max-width:560px;margin:0 auto;line-height:1.8}

/* ════════════════════════════════════
   MASSAGES — EDITORIAL ALTERNATING
════════════════════════════════════ */
#massages{padding:110px 0;background:var(--jade-d)}

.massage-strip{
  display:grid;grid-template-columns:1fr 1fr;
  min-height:480px;margin-bottom:3px;
  overflow:hidden;
}
.massage-strip.rev{direction:rtl}
.massage-strip.rev > *{direction:ltr}

.ms-img{
  position:relative;overflow:hidden;
  background:var(--ink);
}
.ms-img img{
  width:100%;height:100%;
  object-fit:cover;
  filter:brightness(1.05) saturate(1.05);
  transition:transform 0.7s ease,filter 0.5s ease;
}
.ms-img:hover img{transform:scale(1.06);filter:brightness(1.08) saturate(1.1)}

.ms-img-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(18,8,12,0.35),rgba(59,13,28,0.08));
}
.ms-num{
  position:absolute;top:24px;left:24px;
  font-family:var(--f-titre);
  font-size:4.5rem;font-weight:700;
  color:rgba(201,168,76,0.18);
  line-height:1;pointer-events:none;
}
.ms-tag{
  position:absolute;bottom:20px;left:20px;
  background:rgba(18,8,12,0.8);
  border:1px solid rgba(158,37,64,0.4);
  padding:5px 14px;border-radius:50px;
  font-size:0.80rem;font-weight:600;
  letter-spacing:0.14em;text-transform:uppercase;
  color:var(--sage);
}

.ms-body{
  background:var(--ink);
  display:flex;flex-direction:column;justify-content:center;
  padding:60px 70px;
  position:relative;
}
.ms-body::before{
  content:'';
  position:absolute;top:0;left:0;bottom:0;width:3px;
  background:linear-gradient(to bottom,transparent,var(--jade-l),transparent);
}
.massage-strip.rev .ms-body::before{left:auto;right:0}

.ms-eyebrow{
  font-size:0.80rem;letter-spacing:0.16em;
  text-transform:uppercase;color:var(--jade-l);
  margin-bottom:14px;
}

.ms-title{
  font-family:var(--f-titre);
  font-size:clamp(1.7rem,2.5vw,2.4rem);
  font-weight:400;line-height:1.2;
  color:var(--creme);margin-bottom:18px;
}
.ms-title em{color:var(--or2);font-style:italic}

.ms-desc{
  font-size:0.92rem;color:rgba(255,255,255,0.88);
  line-height:1.85;margin-bottom:28px;
}

.ms-prices{
  display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;
}
.price-chip{
  background:rgba(110,26,46,0.3);
  border:1px solid rgba(158,37,64,0.3);
  padding:8px 18px;border-radius:50px;
  display:flex;align-items:center;gap:8px;
}
.pc-dur{font-size:0.88rem;color:rgba(255,255,255,0.72)}
.pc-val{
  font-family:var(--f-titre);font-size:1.05rem;
  color:var(--or2);font-weight:400;
}

.ms-link{
  display:inline-flex;align-items:center;gap:8px;
  font-size:0.8rem;font-weight:600;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--jade-l);
  padding:11px 24px;border:1px solid rgba(158,37,64,0.35);
  border-radius:50px;transition:all var(--tr);align-self:flex-start;
}
.ms-link:hover{
  background:rgba(139,42,64,0.25);border-color:var(--jade-l);
  color:var(--sage);transform:translateX(4px);
}

/* Option nuit — full-width card */
.option-noir{
  background:radial-gradient(ellipse 60% 80% at 30% 50%, rgba(30,8,16,0.9), var(--ink));
  border:1px solid rgba(158,37,64,0.2);
  padding:50px 70px;
  display:flex;align-items:center;gap:60px;
  margin:3px 0;
}
.on-icon{
  font-size:3.5rem;flex-shrink:0;
  width:80px;height:80px;
  background:rgba(139,42,64,0.25);
  border:1px solid rgba(158,37,64,0.3);
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
}
.on-body .ms-title{font-size:1.6rem;margin-bottom:10px}
.on-body .ms-desc{margin-bottom:0}
.on-badge{
  display:inline-block;
  background:rgba(201,168,76,0.15);
  border:1px solid rgba(201,168,76,0.35);
  color:var(--or2);padding:3px 12px;border-radius:50px;
  font-size:0.82rem;font-weight:600;letter-spacing:0.1em;
  text-transform:uppercase;margin-left:12px;
  vertical-align:middle;
}

/* ════════════════════════════════════
   BRUNO — À PROPOS IMMERSIF
════════════════════════════════════ */
#salon{
  padding:0;
  display:grid;grid-template-columns:1fr 1fr;
  min-height:700px;
}
.salon-imgs-side{
  position:relative;overflow:hidden;
  display:grid;grid-template-columns:1fr 1fr;
  grid-template-rows:1fr 1fr;gap:4px;
}
.si{overflow:hidden;position:relative;background:var(--jade-d)}
.si img{width:100%;height:100%;object-fit:cover;opacity:0.82;transition:opacity var(--tr),transform 0.5s ease}
.si:hover img{opacity:1;transform:scale(1.04)}
.si:first-child{grid-column:1;grid-row:1/3}

.salon-right{
  background:var(--jade-d);
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 80px 80px 70px;
  position:relative;
}
.salon-right::after{
  content:'';
  position:absolute;top:80px;bottom:80px;left:0;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(184,56,88,0.5),transparent);
}

.salone-quote{
  font-family:var(--f-titre);
  font-size:clamp(1.5rem,2.2vw,2rem);
  font-style:italic;font-weight:400;
  color:var(--creme);line-height:1.4;
  margin:24px 0 28px;
  border-left:3px solid var(--jade-l);
  padding-left:24px;
}

.atout-list{display:flex;flex-direction:column;gap:14px;margin:28px 0}
.atout{
  display:flex;align-items:center;gap:16px;
  padding:14px 18px;
  background:rgba(110,26,46,0.15);
  border:1px solid rgba(158,37,64,0.15);
  border-radius:var(--r);
  transition:all var(--tr);
}
.atout:hover{background:rgba(110,26,46,0.28);border-color:rgba(158,37,64,0.35)}
.atout-ico{
  font-size:1.3rem;width:40px;text-align:center;flex-shrink:0;
}
.atout-txt strong{display:block;font-size:0.88rem;color:var(--creme);margin-bottom:2px}
.atout-txt span{font-size:0.88rem;color:rgba(255,255,255,0.72)}

.horaires-grid{
  display:grid;grid-template-columns:1fr 1fr;
  gap:8px;margin-top:28px;
}
.hrow{
  background:rgba(18,8,12,0.5);
  border:1px solid rgba(158,37,64,0.12);
  border-radius:var(--r);padding:12px 16px;
}
.hrow .jour{font-size:0.82rem;letter-spacing:0.10em;text-transform:uppercase;color:rgba(255,255,255,0.72);display:block;margin-bottom:2px}
.hrow .heure{font-size:0.9rem;font-weight:600;color:var(--champagne)}
.hrow.closed .heure{color:rgba(200,170,180,0.55)}

/* ════════════════════════════════════
   TRUST BAND
════════════════════════════════════ */
.trust{
  background:var(--ink);
  border-top:1px solid rgba(158,37,64,0.15);
  border-bottom:1px solid rgba(158,37,64,0.15);
  padding:40px 28px;
}
.trust-in{
  max-width:1140px;margin:0 auto;
  display:flex;flex-wrap:wrap;justify-content:center;gap:60px;align-items:center;
}
.ti{text-align:center}
.ti-n{
  font-family:var(--f-titre);font-size:2.6rem;font-weight:400;
  color:var(--or2);line-height:1;
}
.ti-l{font-size:0.82rem;letter-spacing:0.12em;text-transform:uppercase;color:rgba(255,255,255,0.72);margin-top:6px}
.stars{font-size:0.9rem;color:var(--or2);letter-spacing:3px;margin-top:4px}

/* ════════════════════════════════════
   TARIFS
════════════════════════════════════ */
#tarifs{padding:110px 0;background:var(--ink)}

.tarifs-wrap{
  display:grid;grid-template-columns:1fr 1fr;
  gap:3px;margin-top:12px;
}
.t-card{
  background:var(--jade-d);
  border:1px solid rgba(158,37,64,0.15);
  padding:36px 40px;
  transition:all var(--tr);
  position:relative;overflow:hidden;
}
.t-card::before{
  content:'';
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(to right,transparent,var(--jade-l),transparent);
  transform:scaleX(0);transition:transform 0.4s ease;
}
.t-card:hover::before{transform:scaleX(1)}
.t-card:hover{background:rgba(59,13,28,0.6);border-color:rgba(158,37,64,0.35)}

.tc-icon{font-size:1.8rem;margin-bottom:16px}
.tc-name{
  font-family:var(--f-titre);font-size:1.3rem;font-weight:500;
  color:var(--creme);margin-bottom:8px;
}
.tc-sub{font-size:0.86rem;color:rgba(255,255,255,0.72);letter-spacing:0.04em;margin-bottom:20px}

.tc-rows{border-top:1px solid rgba(158,37,64,0.15);padding-top:16px}
.tc-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:8px 0;border-bottom:1px solid rgba(158,37,64,0.07);
  font-size:0.86rem;
}
.tc-row:last-child{border-bottom:none}
.tc-dur{color:rgba(255,255,255,0.72)}
.tc-vals{display:flex;gap:14px;align-items:baseline}
.tc-price{
  font-family:var(--f-titre);font-size:1.15rem;
  color:var(--or2);font-weight:400;
}
.tc-jeune{
  font-size:0.86rem;color:var(--sage);
  background:rgba(158,37,64,0.15);
  padding:2px 8px;border-radius:20px;
}
.tc-cta{
  display:block;margin-top:20px;text-align:center;
  font-size:0.86rem;font-weight:600;letter-spacing:0.10em;text-transform:uppercase;
  color:var(--jade-l);padding:10px;
  border:1px solid rgba(158,37,64,0.25);border-radius:50px;
  transition:all var(--tr);
}
.tc-cta:hover{background:rgba(139,42,64,0.25);border-color:var(--jade-l);color:var(--sage)}

/* full-width tarif card */
.t-card.full{grid-column:1/-1;display:flex;align-items:center;gap:48px}
.t-card.full .tc-rows{flex:1;border-top:none;padding-top:0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px}
.t-card.full .tc-main{min-width:200px}

.tarif-note{
  margin-top:48px;
  display:grid;grid-template-columns:repeat(3,1fr);gap:20px;
}
.tn{
  display:flex;gap:16px;align-items:flex-start;
  padding:22px;background:var(--jade-d);
  border:1px solid rgba(158,37,64,0.12);border-radius:var(--r);
}
.tn-ico{font-size:1.4rem;flex-shrink:0}
.tn-body strong{display:block;font-size:0.88rem;color:var(--or2);margin-bottom:4px}
.tn-body p{font-size:0.8rem;color:rgba(255,255,255,0.72);line-height:1.6}

/* ════════════════════════════════════
   CARTES CADEAUX
════════════════════════════════════ */
#cadeaux{
  padding:0;
  display:grid;grid-template-columns:1fr 1fr;
  background:var(--jade-d);
}
.cadeau-visual{
  position:relative;overflow:hidden;
  min-height:600px;
  display:flex;align-items:center;justify-content:center;
  background:var(--ink);
}
.cadeau-visual img{
  width:100%;height:100%;
  object-fit:cover;
  position:absolute;inset:0;
  filter:brightness(0.82) saturate(0.92);
}
.cadeau-overlay{
  position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(18,8,12,0.6),rgba(59,13,28,0.3));
}
.cadeau-card-inner{
  position:relative;z-index:2;
  background:rgba(18,8,12,0.7);
  backdrop-filter:blur(20px);
  border:1px solid rgba(158,37,64,0.35);
  border-radius:16px;
  padding:48px 40px;
  max-width:340px;
  width:100%;
  margin:40px;
  box-shadow:0 24px 64px rgba(0,0,0,0.5);
}
.cc-logo{
  font-family:var(--f-titre);font-size:1.6rem;font-weight:400;
  color:var(--or2);letter-spacing:0.12em;margin-bottom:4px;
}
.cc-sub{
  font-size:0.80rem;letter-spacing:0.14em;text-transform:uppercase;
  color:rgba(255,255,255,0.72);margin-bottom:40px;
}
.cc-amount{
  font-family:var(--f-titre);
  font-size:3.8rem;font-weight:300;
  color:var(--or2);line-height:1;margin-bottom:4px;
}
.cc-amount small{font-size:1.6rem}
.cc-mention{font-size:0.86rem;color:rgba(255,255,255,0.72);margin-bottom:32px}
.cc-sep{
  height:1px;
  background:linear-gradient(to right,transparent,rgba(158,37,64,0.5),transparent);
  margin:24px 0;
}
.cc-val{font-size:0.86rem;letter-spacing:0.06em;color:rgba(255,255,255,0.72)}
.cc-val strong{color:var(--or2)}

.cadeau-content{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 80px 80px 70px;
}

.steps-v{display:flex;flex-direction:column;gap:0;margin:28px 0 36px}
.sv{
  display:flex;gap:20px;align-items:flex-start;
  padding:20px 0;
  position:relative;
}
.sv:not(:last-child)::after{
  content:'';
  position:absolute;left:19px;top:48px;bottom:-20px;
  width:1px;background:rgba(158,37,64,0.25);
}
.sv-num{
  width:40px;height:40px;flex-shrink:0;
  border:1.5px solid var(--jade-l);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--f-titre);font-size:1rem;
  color:var(--or2);background:rgba(139,42,64,0.25);
}
.sv-info strong{display:block;font-size:0.92rem;color:var(--creme);margin-bottom:4px}
.sv-info span{font-size:0.82rem;color:rgba(255,255,255,0.72);line-height:1.5}

/* ════════════════════════════════════
   CTA FINAL
════════════════════════════════════ */
.cta-final{
  padding:110px 28px;text-align:center;
  background:radial-gradient(ellipse 70% 60% at 50% 50%,rgba(59,13,28,0.35),transparent),var(--ink);
}
.cf-in{max-width:640px;margin:0 auto}
.cf-contacts{
  display:flex;flex-wrap:wrap;gap:14px;
  justify-content:center;margin:40px 0;
}
.cf-c{
  display:flex;align-items:center;gap:12px;
  background:var(--jade-d);
  border:1px solid rgba(158,37,64,0.2);
  padding:16px 28px;border-radius:var(--r);
  transition:all var(--tr);
}
.cf-c:hover{border-color:var(--jade-l);transform:translateY(-3px);box-shadow:0 8px 28px rgba(59,13,28,0.4)}
.cf-c .ico{font-size:1.3rem}
.cf-c-info strong{display:block;font-size:0.95rem;font-weight:600;color:var(--champagne)}
.cf-c-info small{font-size:0.86rem;color:rgba(255,255,255,0.72)}

/* ════════════════════════════════════
   FOOTER
════════════════════════════════════ */
footer{
  background:#070f0e;
  border-top:1px solid rgba(158,37,64,0.18);
  padding:64px 0 32px;
}
.f-grid{
  display:grid;grid-template-columns:2.2fr 1fr 1fr;
  gap:64px;margin-bottom:52px;
}
.f-brand-name{
  font-family:var(--f-titre);font-size:2rem;font-weight:400;
  color:var(--or2);letter-spacing:0.08em;text-transform:uppercase;
  margin-bottom:6px;
}
.f-brand-sub{font-size:0.82rem;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.72);margin-bottom:20px}
.f-brand p{font-size:0.84rem;color:rgba(255,255,255,0.72);line-height:1.75;max-width:300px}
.f-col h4{
  font-size:0.80rem;font-weight:600;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--jade-l);margin-bottom:20px;
}
.f-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.f-col ul a{font-size:0.84rem;color:rgba(255,255,255,0.72);transition:color var(--tr)}
.f-col ul a:hover{color:var(--or2)}
.f-col address{font-style:normal;font-size:0.84rem;color:rgba(255,255,255,0.72);line-height:1.85}
.f-bottom{
  border-top:1px solid rgba(158,37,64,0.1);padding-top:28px;
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;
}
.f-bottom p{font-size:0.86rem;color:rgba(200,170,180,0.65)}
.f-bottom a{color:rgba(158,37,64,0.7);transition:color var(--tr)}
.f-bottom a:hover{color:var(--or2)}

/* ════════════════════════════════════
   MOBILE MENU
════════════════════════════════════ */
.mob-menu{
  display:none;position:fixed;top:68px;left:0;right:0;
  background:rgba(18,8,12,0.98);backdrop-filter:blur(20px);
  border-bottom:1px solid rgba(158,37,64,0.2);
  z-index:999;padding:20px;flex-direction:column;gap:4px;
}
.mob-menu.open{display:flex}
.mob-menu a{
  display:block;padding:14px 18px;font-size:0.9rem;
  color:var(--champagne);border-radius:var(--r);transition:all var(--tr);
}
.mob-menu a:hover{background:rgba(139,42,64,0.25);color:var(--or2)}
.mob-rdv{
  margin-top:10px;
  background:linear-gradient(135deg,var(--jade-m),var(--jade-l))!important;
  text-align:center;font-weight:600!important;
  border-radius:50px!important;
}

/* ════════════════════════════════════
   REVEAL
════════════════════════════════════ */
.rev{opacity:0;transform:translateY(24px);transition:opacity 0.65s ease,transform 0.65s ease}
.rev.in{opacity:1;transform:none}
.rev-l{opacity:0;transform:translateX(-24px);transition:opacity 0.65s ease,transform 0.65s ease}
.rev-l.in{opacity:1;transform:none}
.rev-r{opacity:0;transform:translateX(24px);transition:opacity 0.65s ease,transform 0.65s ease}
.rev-r.in{opacity:1;transform:none}

/* ════════════════════════════════════
   RESPONSIVE TABLETTE ≤ 960px
════════════════════════════════════ */
@media(max-width:960px){
  .nav-links{display:none}
  .nav-tog{display:flex}
  .logo-img{height:116px;max-width:500px;}

  #accueil{grid-template-columns:1fr;min-height:auto}
  .hero-left{padding:180px 28px 60px;max-width:100%}
  .hero-left::after{display:none}
  .hero-right{height:50vw;min-height:280px}
  .hero-content{max-width:100%}

  .massage-strip{grid-template-columns:1fr}
  .ms-body{padding:40px 36px}
  .ms-body::before{display:none}
  .massage-strip.rev{direction:ltr}

  #salon{grid-template-columns:1fr}
  .salon-imgs-side{
    height:360px;
    grid-template-columns:1fr 1fr;
    grid-template-rows:1fr;
  }
  .si:first-child{grid-column:1;grid-row:1}
  .salon-right{padding:56px 40px}
  .salon-right::after{display:none}

  .tarifs-wrap{grid-template-columns:1fr}
  .t-card.full{flex-direction:column;gap:20px}
  .t-card.full .tc-rows{grid-template-columns:1fr}

  .tarif-note{grid-template-columns:1fr 1fr}

  #cadeaux{grid-template-columns:1fr}
  .cadeau-visual{min-height:400px}
  .cadeau-content{padding:56px 40px}

  .f-grid{grid-template-columns:1fr 1fr;gap:40px}
  .f-brand{grid-column:1/-1}

  .option-noir{padding:36px 40px;gap:28px}
}

/* ════════════════════════════════════
   RESPONSIVE MOBILE ≤ 600px
════════════════════════════════════ */
@media(max-width:600px){
  .container{padding:0 18px}

  .hero-left{padding:176px 18px 50px}
  .hero-right{height:65vw}
  .hero-h1{font-size:2.6rem}
  .hero-btns{flex-direction:column}
  .btn-jade,.btn-ghost{width:100%;justify-content:center}
  .hero-stats{gap:24px}

  .ms-body{padding:32px 24px}
  .ms-num{font-size:3rem}

  .salon-right{padding:44px 24px}
  .horaires-grid{grid-template-columns:1fr}

  .option-noir{flex-direction:column;padding:28px 24px;gap:20px;text-align:center}

  #tarifs{padding:80px 0}
  .t-card{padding:28px 24px}
  .tarif-note{grid-template-columns:1fr}

  .cadeau-card-inner{margin:20px;padding:32px 24px}
  .cadeau-content{padding:44px 24px}

  .cta-final{padding:80px 18px}
  .cf-contacts{flex-direction:column;align-items:stretch}
  .cf-c{justify-content:center}

  .f-grid{grid-template-columns:1fr;gap:32px}

  .trust-in{gap:32px}
  .express{flex-direction:column;text-align:center}

  .sh{margin-bottom:50px}
}

/* ── Intro page secondaire ── */
.page-intro{
  min-height:340px;padding:200px 36px 70px;
  background:linear-gradient(160deg,var(--jade-d) 0%,var(--ink) 100%);
  position:relative;overflow:hidden;
}
.page-intro::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 60% 50% at 65% 60%,rgba(139,42,64,0.2),transparent);
  pointer-events:none;
}
.pi{max-width:1140px;margin:0 auto;position:relative;z-index:1}
.pi-over{
  font-family:var(--f-corps);font-size:0.82rem;font-weight:500;
  letter-spacing:0.22em;text-transform:uppercase;color:var(--jade-l);
  margin-bottom:16px;display:flex;align-items:center;gap:14px;
}
.pi-over::before{content:'';width:28px;height:1px;background:var(--jade-l);flex-shrink:0}
.pi-h1{
  font-family:var(--f-titre);font-size:clamp(2.2rem,4vw,3.8rem);
  font-weight:400;font-style:italic;color:var(--creme);line-height:1.15;margin-bottom:14px;
}
.pi-h1 b{font-style:normal;font-weight:700;color:var(--or2);font-size:0.82em;letter-spacing:0.04em}
.pi-desc{font-size:1rem;color:rgba(245,237,224,0.78);max-width:600px;line-height:1.85;margin-bottom:20px}
.pi-bread{display:flex;flex-wrap:wrap;gap:8px;font-size:0.84rem;color:rgba(255,255,255,0.72)}
.pi-bread a{color:rgba(255,255,255,0.72);transition:color 0.35s ease}.pi-bread a:hover{color:var(--or2)}

/* ── Renfort mobile ── */
@media(max-width:960px){
  .page-intro{padding:180px 28px 60px}
  #salon{grid-template-columns:1fr!important}
  .salon-imgs-side{height:280px!important;grid-template-columns:1fr 1fr!important;grid-template-rows:1fr!important}
  .si:first-child{grid-row:auto!important}
  .salon-right{padding:48px 32px!important}
  .salon-right::after{display:none}
  #cadeaux{grid-template-columns:1fr!important;min-height:auto!important}
  .cadeau-visual{min-height:380px!important}
  .cadeau-content{padding:52px 32px!important}
}
@media(max-width:600px){
  body{font-size:16px}
  .page-intro{padding:180px 16px 48px}
  .pi-h1{font-size:1.9rem!important}
  .pi-desc{font-size:0.92rem!important}
  /* Hero */
  #accueil{grid-template-columns:1fr!important;min-height:auto!important}
  .hero-left{padding:180px 16px 60px!important}
  .hero-left::after{display:none}
  .hero-right{height:55vw;min-height:220px}
  .hero-h1{font-size:2.4rem!important}
  .hero-btns{flex-direction:column}
  .btn-jade,.btn-ghost{width:100%;justify-content:center;min-height:52px}
  .hero-stats{flex-wrap:wrap;gap:16px}
  /* Express */
  .express{flex-direction:column;text-align:center;padding:16px}
  .exp-cta{width:100%;text-align:center;padding:12px}
  /* Massages */
  .massage-strip{grid-template-columns:1fr!important;min-height:auto!important}
  .massage-strip.rev{direction:ltr!important}
  .ms-img{height:220px!important;display:block!important}
  .ms-img img{width:100%;height:100%;object-fit:cover}
  .ms-body{padding:28px 16px!important;border-left:none!important}
  .ms-num{font-size:3rem!important}
  .ms-title{font-size:1.5rem!important}
  .ms-desc{font-size:0.93rem!important}
  .ms-link{min-height:44px;display:flex!important;align-items:center}
  .option-noir{flex-direction:column!important;text-align:center!important;padding:28px 16px!important;gap:16px!important}
  /* Trust */
  .trust-in{gap:24px!important}
  .ti-n{font-size:2rem!important}
  /* Salon */
  .salon-imgs-side{height:200px!important}
  .salon-right{padding:32px 16px!important}
  .horaires-grid{grid-template-columns:1fr!important}
  /* Tarifs */
  .tarifs-wrap{grid-template-columns:1fr!important}
  .tarif-note{grid-template-columns:1fr!important}
  .t-card{padding:24px 18px!important}
  /* Cadeaux */
  .cadeau-visual{min-height:260px!important}
  .cadeau-content{padding:32px 16px!important}
  .cadeau-card-inner{margin:12px!important;padding:22px 18px!important}
  .cc-amount{font-size:2.6rem!important}
  .steps-v .sv{padding:14px 0!important;gap:14px!important}
  /* CTA */
  .cta-final{padding:60px 16px!important}
  .cf-contacts{flex-direction:column}
  .cf-c{min-height:52px}
  /* Footer */
  .f-grid{grid-template-columns:1fr!important;gap:28px!important}
  .f-bottom{flex-direction:column;text-align:center;gap:8px}
  /* Nav */
  .logo-img{height:52px!important;max-width:220px!important}
  .nav-in{height:80px!important;padding:0 14px!important}
  .mob-menu{top:80px!important}
}

.page-intro{padding:200px 36px 80px;background:linear-gradient(160deg,var(--jade-d) 0%,var(--ink) 100%);position:relative;overflow:hidden}
.page-intro::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 65% 60%,rgba(139,42,64,0.15),transparent);pointer-events:none}
.pi{max-width:1140px;margin:0 auto;position:relative;z-index:1}
.pi-over{font-family:var(--f-corps);font-size:0.85rem;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--or2);margin-bottom:18px;display:flex;align-items:center;gap:14px}
.pi-over::before{content:'';width:28px;height:1px;background:var(--or);flex-shrink:0}
.pi-h1{font-family:var(--f-titre);font-size:clamp(2.4rem,4.5vw,4rem);font-weight:400;font-style:italic;color:#ffffff;line-height:1.12;margin-bottom:16px}
.pi-h1 b{font-style:normal;font-weight:700;color:var(--or2);font-size:0.82em;letter-spacing:0.04em}
.pi-desc{font-size:1.02rem;color:rgba(255,255,255,0.90);max-width:620px;line-height:1.85;margin-bottom:22px}
.pi-bread{display:flex;flex-wrap:wrap;gap:8px;font-size:0.86rem;color:rgba(255,255,255,0.65)}
.pi-bread a{color:rgba(255,255,255,0.65);transition:color var(--tr)}.pi-bread a:hover{color:var(--or2)}

@media(max-width:960px){
  .page-intro{padding:180px 28px 64px}
  #accueil{grid-template-columns:1fr !important;min-height:auto !important}
  .hero-left{padding:180px 28px 60px !important}
  .hero-left::after{display:none}
  .hero-right{height:52vw;min-height:260px}
  .massage-strip{grid-template-columns:1fr !important;direction:ltr !important}
  .massage-strip.rev{direction:ltr !important}
  .ms-img{min-height:260px}
  .ms-body{padding:36px 28px !important;border-left:none !important}
  #salon{grid-template-columns:1fr !important}
  .salon-imgs-side{height:300px !important;grid-template-columns:1fr 1fr !important;grid-template-rows:1fr !important}
  .si:first-child{grid-row:auto !important}
  .salon-right{padding:52px 32px !important}
  .salon-right::after{display:none}
  .tarifs-wrap{grid-template-columns:1fr 1fr !important}
  #cadeaux{grid-template-columns:1fr !important;min-height:auto !important}
  .cadeau-visual{min-height:380px !important}
  .cadeau-content{padding:52px 32px !important}
  .f-grid{grid-template-columns:1fr 1fr !important;gap:40px !important}
  .f-brand{grid-column:1 / -1}
}

@media(max-width:600px){
  body{font-size:16px}
  .logo-img{height:52px !important;max-width:220px !important;filter:drop-shadow(0 0 10px rgba(201,168,76,0.5)) !important}
  .nav-in{height:80px !important;padding:0 14px !important}
  .mob-menu{top:80px !important}
  .nav-links{display:none !important}
  .nav-tog{display:flex !important}
  .page-intro{padding:96px 16px 48px}
  .pi-h1{font-size:1.9rem !important}
  .pi-desc{font-size:0.94rem !important}
  #accueil{grid-template-columns:1fr !important;min-height:auto !important}
  .hero-left{padding:96px 16px 48px !important}
  .hero-left::after{display:none}
  .hero-right{height:56vw;min-height:200px}
  .hero-h1{font-size:2.1rem !important;line-height:1.15 !important}
  .hero-p{font-size:0.95rem !important;margin-bottom:28px !important;color:rgba(255,255,255,0.88) !important}
  .hero-btns{flex-direction:column;gap:12px}
  .btn-jade,.btn-ghost{width:100%;justify-content:center;min-height:52px;font-size:0.9rem !important}
  .hero-stats{flex-wrap:wrap;gap:16px;padding-top:24px !important}
  .hstat-num{font-size:2rem !important}
  .hstat-label{font-size:0.78rem !important;color:rgba(255,255,255,0.72) !important}
  .express{flex-direction:column;text-align:center;padding:16px;gap:12px}
  .exp-txt{font-size:0.88rem !important}
  .exp-cta{width:100%;text-align:center;padding:12px 16px}
  .massage-strip{grid-template-columns:1fr !important;min-height:auto !important;direction:ltr !important}
  .massage-strip.rev{direction:ltr !important}
  .ms-img{height:220px !important;min-height:auto !important}
  .ms-img img{width:100%;height:100%;object-fit:cover}
  .ms-num{font-size:3rem !important}
  .ms-body{padding:24px 16px !important;border-left:none !important}
  .ms-eyebrow{font-size:0.80rem !important;letter-spacing:0.12em !important;color:var(--or2) !important}
  .ms-title{font-size:1.5rem !important;color:#ffffff !important}
  .ms-desc{font-size:0.92rem !important;line-height:1.75 !important;color:rgba(255,255,255,0.88) !important}
  .price-chip{padding:7px 14px}
  .pc-dur{font-size:0.84rem !important;color:rgba(255,255,255,0.72) !important}
  .pc-val{font-size:1rem !important}
  .ms-link{min-height:44px;display:flex !important;align-items:center;font-size:0.80rem !important}
  .option-noir{flex-direction:column !important;text-align:center !important;padding:24px 16px !important;gap:14px !important}
  .on-title{font-size:1.3rem !important;color:#ffffff !important}
  .trust{padding:28px 16px}
  .trust-in{gap:20px !important;flex-wrap:wrap}
  .ti-n{font-size:2rem !important}
  .ti-l{font-size:0.78rem !important;color:rgba(255,255,255,0.72) !important}
  #salon{grid-template-columns:1fr !important}
  .salon-imgs-side{height:200px !important;grid-template-columns:1fr 1fr !important;grid-template-rows:1fr !important}
  .si:first-child{grid-row:auto !important}
  .salon-right{padding:32px 16px !important}
  .salon-right::after{display:none}
  .salone-quote{font-size:1rem !important;padding-left:16px !important;color:#ffffff !important}
  .atout-txt strong{font-size:0.88rem !important;color:#ffffff !important}
  .atout-txt span{font-size:0.80rem !important;color:rgba(255,255,255,0.78) !important}
  .horaires-grid{grid-template-columns:1fr !important}
  .hrow .jour{font-size:0.78rem !important;color:rgba(255,255,255,0.65) !important}
  .hrow .heure{font-size:0.88rem !important;color:#ffffff !important}
  .container{padding:0 16px !important}
  .tarifs-wrap{grid-template-columns:1fr !important}
  .t-card{padding:22px 18px !important}
  .tc-name{font-size:1.1rem !important;color:#ffffff !important}
  .tc-sub{font-size:0.80rem !important;color:rgba(255,255,255,0.72) !important}
  .tc-dur{font-size:0.82rem !important;color:rgba(255,255,255,0.72) !important}
  .tarif-note{grid-template-columns:1fr !important;gap:10px !important}
  .tn-body strong{font-size:0.84rem !important;color:#ffffff !important}
  .tn-body p{font-size:0.80rem !important;color:rgba(255,255,255,0.78) !important}
  #cadeaux{grid-template-columns:1fr !important;min-height:auto !important}
  .cadeau-visual{min-height:260px !important}
  .cadeau-content{padding:32px 16px !important}
  .cadeau-card-inner{position:relative !important;bottom:auto !important;left:auto !important;transform:none !important;width:calc(100% - 32px) !important;margin:16px auto !important;padding:22px 18px !important}
  .cc-logo{font-size:1.4rem !important}
  .cc-amount{font-size:2.6rem !important}
  .steps-v .sv{padding:12px 0 !important;gap:14px !important}
  .sv-info strong{font-size:0.88rem !important;color:#ffffff !important}
  .sv-info span{font-size:0.82rem !important;color:rgba(255,255,255,0.78) !important}
  .cta-final{padding:60px 16px !important}
  .sh-title{font-size:1.9rem !important;color:#ffffff !important}
  .sh-p{font-size:0.92rem !important;color:rgba(255,255,255,0.82) !important}
  .cf-contacts{flex-direction:column;gap:10px}
  .cf-c{min-height:52px;padding:14px 18px !important}
  .cf-c-info strong{font-size:0.92rem !important;color:#ffffff !important}
  .cf-c-info small{font-size:0.78rem !important;color:rgba(255,255,255,0.65) !important}
  .f-grid{grid-template-columns:1fr !important;gap:28px !important}
  .f-brand p{font-size:0.84rem !important;color:rgba(255,255,255,0.78) !important}
  .f-col ul a{font-size:0.84rem !important;color:rgba(255,255,255,0.72) !important}
  .f-col address{font-size:0.84rem !important;color:rgba(255,255,255,0.72) !important}
  .f-bottom{flex-direction:column;text-align:center;gap:8px;padding-top:20px !important}
  .f-bottom p{font-size:0.78rem !important;color:rgba(255,255,255,0.45) !important}
  .eyebrow,.sh-over{font-size:0.80rem !important;letter-spacing:0.14em !important}
}

/* ══════════════════════════════════════════════════════════
   HEADER / FOOTER CENTRALISÉS v2.0 — architecture BrunoZen,
   couleurs Relax-Men (--ink, --jade*, --or/--or2, --champagne)
   ══════════════════════════════════════════════════════════ */

/* ——— Topbar ——— */
.rm-topbar {
  background: var(--ink);
  color: rgba(255,255,255,.72);
  font-size: .78rem;
  letter-spacing: .04em;
  padding: .45rem 0;
  border-bottom: 1px solid rgba(233,200,118,.12);
}
.rm-topbar-inner {
  max-width: 1140px;
  margin: auto;
  padding: 0 28px;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem 2rem;
  align-items: center;
  justify-content: center;
}
.rm-topbar a { color: var(--or2); transition: color var(--tr); }
.rm-topbar a:hover { color: var(--champagne); }
.rm-topbar .rm-sep { opacity: .35; }

/* ——— Header / Nav ——— */
.rm-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(42,16,24,0.95);
  backdrop-filter: blur(16px) saturate(1.5);
  border-bottom: 1px solid rgba(158,37,64,0.18);
  transition: box-shadow var(--tr), background var(--tr);
}
.rm-header.scrolled { box-shadow: 0 2px 20px rgba(0,0,0,.35); }

.rm-header-inner {
  max-width: 1140px;
  margin: auto;
  padding: .8rem 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  min-height: 140px;
}
.rm-logo {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.rm-logo img { max-height: 128px; width: auto; display: block; }
.rm-logo-name {
  font-family: var(--f-titre);
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: .06em;
  color: var(--champagne);
}
.rm-logo-name span { color: var(--or2); }

/* Nav */
.rm-main-nav { display: flex; align-items: center; gap: .15rem; flex-wrap: wrap; }
.rm-main-nav-list { display: contents; } /* le <ul> disparaît de la mise en page, .rm-main-nav garde son flex tel quel */
.rm-main-nav-list > li { position: relative; list-style: none; }
.rm-main-nav-list > li > a {
  display: inline-block;
  font-size: .86rem;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--champagne);
  padding: .5rem .75rem;
  border-radius: 4px;
  transition: color var(--tr);
  position: relative;
}
.rm-main-nav-list > li.menu-item-has-children > a::after {
  content: '▾';
  display: inline-block;
  margin-left: .35em;
  font-size: .7em;
  opacity: .6;
}
.rm-main-nav-list > li > a:hover,
.rm-main-nav-list > li > a.current-menu-item,
.rm-main-nav-list > li.current-menu-item > a,
.rm-main-nav-list > li.current-menu-parent > a { color: var(--or2) !important; }

/* Sous-menu (dropdown desktop) */
.rm-main-nav .rm-sub-menu {
  list-style: none;
  margin: 0;
  padding: .5rem;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 210px;
  background: var(--jade-d);
  border: 1px solid rgba(233,200,118,.18);
  border-radius: var(--r);
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity var(--tr), transform var(--tr), visibility var(--tr);
  z-index: 50;
}
.rm-main-nav-list > li:hover > .rm-sub-menu,
.rm-main-nav-list > li:focus-within > .rm-sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.rm-main-nav .rm-sub-menu a {
  display: block;
  padding: .55rem .75rem;
  font-size: .82rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--champagne);
  border-radius: 4px;
  white-space: nowrap;
}
.rm-main-nav .rm-sub-menu a:hover { color: var(--or2); background: rgba(139,42,64,.35); }

/* CTA Réserver */
.rm-btn-book {
  display: inline-block;
  background: linear-gradient(135deg, var(--jade-m), var(--jade-l));
  color: var(--champagne) !important;
  padding: .6rem 1.3rem;
  border-radius: 50px;
  font-size: .82rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  transition: filter var(--tr), transform var(--tr);
  white-space: nowrap;
  border: none;
  cursor: pointer;
}
.rm-btn-book:hover { filter: brightness(1.12); transform: translateY(-1px); color: var(--champagne) !important; }

/* Hamburger */
.rm-hamburger {
  display: none;
  flex-direction: column;
  gap: 6px;
  background: none;
  border: none;
  cursor: pointer;
  padding: .4rem;
}
.rm-hamburger span {
  width: 26px;
  height: 2px;
  background: var(--or2);
  border-radius: 2px;
  transition: all .3s;
}
.rm-hamburger.open span:nth-child(1) { transform: rotate(45deg) translate(6px,6px); }
.rm-hamburger.open span:nth-child(2) { opacity: 0; }
.rm-hamburger.open span:nth-child(3) { transform: rotate(-45deg) translate(6px,-6px); }

@media (max-width: 860px) {
  .rm-main-nav {
    display: none; flex-direction: column; position: absolute; top: 100%; left: 0; right: 0;
    background: var(--jade-d); border-bottom: 1px solid rgba(233,200,118,.18);
    padding: 1rem 1.5rem; box-shadow: 0 8px 24px rgba(0,0,0,.35); align-items: stretch;
  }
  .rm-main-nav.open { display: flex; }
  .rm-main-nav-list > li { width: 100%; }
  .rm-main-nav-list > li > a { padding: .7rem 0; font-size: .92rem; border-bottom: 1px solid rgba(233,200,118,.12); border-radius: 0; width: 100%; }
  .rm-main-nav .rm-sub-menu {
    position: static; opacity: 1; visibility: visible; transform: none;
    box-shadow: none; border: none; background: none; min-width: 0; padding: 0 0 0 1rem;
  }
  .rm-main-nav .rm-sub-menu a { padding: .5rem 0; font-size: .84rem; border-bottom: 1px solid rgba(233,200,118,.1); border-radius: 0; }
  .rm-hamburger { display: flex; }
  .rm-btn-book { display: none; }
  .rm-header-inner { flex-wrap: wrap; min-height: auto; }
  .rm-topbar-inner { justify-content: flex-start; }
  .rm-logo img { max-height: 84px; }
}

/* ——— Footer ——— */
.rm-footer {
  background: var(--ink);
  color: rgba(255,255,255,.72);
  padding: 3.5rem 28px 1.5rem;
}
.rm-footer-inner {
  max-width: 1140px;
  margin: auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 3rem;
  margin-bottom: 2.5rem;
}
.rm-footer-brand-name { font-family: var(--f-titre); font-size: 1.35rem; color: var(--champagne); }
.rm-footer-brand-sub { display: block; margin-bottom: 1rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .18em; color: var(--or2); font-weight: 600; }
.rm-footer-brand p { font-size: .88rem; line-height: 1.75; margin-bottom: 1.25rem; }
.rm-footer-brand a.rm-cross-link { color: var(--or2); font-weight: 600; font-size: .88rem; }
.rm-footer-col h4 {
  font-size: .72rem; text-transform: uppercase; letter-spacing: .18em;
  color: var(--or2); font-weight: 600; margin-bottom: 1rem;
}
.rm-footer-col ul li { margin-bottom: .5rem; list-style: none; }
.rm-footer-col ul li a { font-size: .88rem; color: rgba(255,255,255,.65); transition: color var(--tr); }
.rm-footer-col ul li a:hover,
.rm-footer-col ul li.current-menu-item a { color: var(--champagne); }
.rm-footer-col address { font-style: normal; font-size: .88rem; line-height: 1.9; color: rgba(255,255,255,.75); }
.rm-footer-col address a { color: var(--or2); }
.rm-footer-bottom {
  max-width: 1140px; margin: auto; padding-top: 1.5rem;
  border-top: 1px solid rgba(255,255,255,.1);
  display: flex; flex-wrap: wrap; gap: .75rem 2rem; justify-content: space-between;
  font-size: .78rem; color: rgba(255,255,255,.4);
}
.rm-footer-bottom a { color: rgba(255,255,255,.55); transition: color var(--tr); }
.rm-footer-bottom a:hover { color: var(--champagne); }

@media (max-width: 900px) {
  .rm-footer-inner { grid-template-columns: 1fr 1fr; }
  .rm-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 680px) {
  .rm-footer-inner { grid-template-columns: 1fr; gap: 2rem; }
}

/* Footer injecté hors de .entry-content : pleine largeur dédiée */
footer.rm-footer {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}

/* ────────────────────────────────────────────
   Correctifs Astra : masquer le header/footer natifs,
   supprimer l'espace résiduel qu'Astra réserve pour son
   en-tête masqué, et étendre les sections du contenu
   collé (.entry-content > section/main/footer) sur toute
   la largeur de l'écran (comme sur le site d'origine),
   tout en gardant .container à sa largeur de lecture.
   ──────────────────────────────────────────── */
body,
.entry-content,
.ast-container,
#content,
.site-content,
#page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.ast-header-height-space,
.ast-above-header-wrap,
.ast-main-header-bar-alignment,
#masthead.site-header,
.ast-header-break-point .site-header.ast-primary-header-mobile-inline {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
}
#colophon.site-footer,
.ast-separate-container .site-footer {
  display: none !important;
}
.entry-content > *:first-child {
  margin-top: 0 !important;
}
.ast-container > .page-header,
.entry-header,
.ast-archive-description {
  display: none !important;
}
.entry-content > main,
.entry-content > section,
.entry-content > footer {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw !important;
  margin-right: -50vw !important;
}
.ast-container { max-width: none !important; padding: 0 !important; }
#content { padding: 0 !important; margin: 0 !important; }
.site-content, #primary, #main { max-width: none !important; }

/* ────────────────────────────────────────────
   Correctif : "overflow-x:hidden" sur body (hérité du CSS
   d'origine relax-men.fr, ligne ~72) casse position:sticky
   sur le header — même problème déjà rencontré et corrigé sur
   brunozen.fr. "overflow-x:clip" masque toujours le débordement
   horizontal des blocs pleine largeur, mais sans détruire le
   contexte de positionnement sticky.
   ──────────────────────────────────────────── */
body { overflow-x: clip !important; }

/* ────────────────────────────────────────────
   v2.3 — Bouton secondaire "Plus d'infos" à côté du
   bouton "Réserver ce massage" (accueil), pour renvoyer
   vers les nouvelles pages détaillées par massage.
   ──────────────────────────────────────────── */
.ms-links-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ms-link-secondary {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .8rem; font-weight: 600; letter-spacing: .12em;
  text-transform: uppercase; color: var(--or2);
  padding: 11px 24px; border: 1px solid rgba(233,200,118,.35);
  border-radius: 50px; transition: all var(--tr);
}
.ms-link-secondary:hover {
  background: rgba(233,200,118,.12); border-color: var(--or2); color: var(--champagne);
}

/* ────────────────────────────────────────────
   Intégration des plugins BW (avis Google, etc.)
   avec la charte Relax-Men (bordeaux/rubis/or)
   ──────────────────────────────────────────── */
.bwgr-card {
  background: var(--rouge-sombre, #6e2838);
  border: 1px solid rgba(233,200,118,.15);
  border-radius: var(--r, 6px);
  color: var(--champagne, #fff);
}
.bwgr-author { font-family: 'Playfair Display', serif; color: var(--or2, #e8c876); }
.bwgr-stars { color: var(--or, #c9a84c); }
.bwgr-comment { color: var(--champagne, #fff); }
.bwgr-avatar-fallback { background: var(--jade, #561e2e); color: var(--or2, #e8c876); }
.bwgr-reply { background: var(--jade-d, #3a1620); border-left-color: var(--or, #c9a84c); }

/* ────────────────────────────────────────────
   Accessibilité
   ──────────────────────────────────────────── */
a:focus-visible,
button:focus-visible,
.btn-jade:focus-visible,
.rm-btn-book:focus-visible {
  outline: 3px solid var(--or, #c9a84c);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  * { animation: none !important; transition: none !important; }
}
