/* police importée depuis Google Fonts */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;600&family=Montserrat:wght@400;500;600&display=swap');

/* reset CSS */

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* couleurs globales */

:root {
  --bleu-marine: #142445;
  --dore:        #BA9945;
  --dore-clair:  #EDD197;
  --blanc:       #f7f6f3;
  --creme:       #f5f2e8;
}

/* styles de bases sur les éléments mentionnées */

body {
  font-family: 'Montserrat', sans-serif;
  color: var(--bleu-marine);
  background-color: var(--creme);
}

h1, h2, h3 {
  font-family: 'Cormorant Garamond', serif;
  color: var(--bleu-marine);
}

header {
  display: flex;
  background-color: var(--bleu-marine);
  justify-content: space-between;
  align-items: center;
  padding: 20px 40px;
}

nav a{
  font-weight: 600;
  }

nav {
  display: flex;  
  gap: 24px;
}

a {
  text-decoration: none;
  color: var(--blanc);
}

.logo {
  font-size: 20px;
  font-weight: 500;
}

.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  text-align: center;
}

/* section hero */

#hero {
  padding: 40px 40px;
  text-align: center;
  margin-top: 20px;
}

.hero-photo {
  width: 280px;
  height: 280px;
  border-radius: 16px;
  object-fit: cover;
  margin: 0 auto 24px;
}

/* --- Hero (accroche courte) --- */

.hero-tagline {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-style: italic;
  color: var(--dore);
  margin-top: 8px;
}

/* --- Section à propos --- */

#a-propos {
  padding: 48px 0;
}

.a-propos-grid {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  flex-wrap: wrap;
}

.a-propos-image {
  flex: 1;
  min-width: 280px;
}

.a-propos-image img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(11, 28, 48, 0.15);
  display: block;
}

.a-propos-texte {
  flex: 1;
  min-width: 320px;
  text-align: left;
}

.a-propos-texte h2 {
  text-align: left;
  font-size: 26px;
  margin-top: 0;
  margin-bottom: 20px;
}

.a-propos-texte h3 {
  text-align: left;
  font-size: 22px;
  margin-top: 32px;
  margin-bottom: 12px;
}

.a-propos-texte p {
  margin-bottom: 16px;
  line-height: 1.6;
}

.expertises-list {
  list-style: none;
}

.expertises-list li {
  margin-bottom: 10px;
  font-weight: 500;
}

.a-propos-signature {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 20px;
  color: var(--dore);
  margin-top: 24px;
  margin-bottom: 0;
}

@media (max-width: 700px) {
  .a-propos-image img {
    height: 320px;
  }
}

.separateur {
  border: none;
  border-top: 2px solid var(--dore);
  width: 600px;
  margin: 5px auto;

}

/* --- Section infos première visite / diagnostic --- */

#infos-visite {
  padding: 24px 0 48px;
}

.infos-visite-grid {
  display: flex;
  align-items: stretch;
  gap: 32px;
  flex-wrap: wrap;
}

.infos-visite-card {
  flex: 1;
  min-width: 320px;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 32px;
  text-align: left;
}

.infos-visite-card h3 {
  text-align: left;
  font-size: 24px;
  margin-bottom: 16px;
}

.infos-visite-card p {
  margin-bottom: 14px;
  line-height: 1.6;
}

.infos-visite-card p:last-child {
  margin-bottom: 0;
}

.promo-badge {
  display: inline-block;
  background-color: var(--dore);
  color: var(--blanc);
  font-weight: 600;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 16px;
}

.infos-visite-signature {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 18px;
  color: var(--dore);
}

.diagnostic-details {
  background-color: var(--creme);
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0 14px;
}

.diagnostic-details p {
  margin-bottom: 6px;
}

.diagnostic-details p:last-child {
  margin-bottom: 0;
}

@media (max-width: 700px) {
  .infos-visite-card {
    padding: 24px;
  }
}

/* bouton (réutilisé sur plusieurs sections) */

.btn {
  display: inline-block;
  background-color: var(--dore);
  color: var(--blanc);
  padding: 14px 28px;
  margin-top: 16px;
  margin-bottom: 16px;
  border-radius: 8px;
}

/* --- Section HydraSHAÏN (remplace apercu-prestations) --- */

#hydrashain {
  text-align: center;
  padding: 24px 0 48px;
}

.hydrashain-tagline {
  max-width: 620px;
  margin: 8px auto 24px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-style: italic;
}

.hydrashain-header {
  display: inline-flex;
  flex-direction: column;
  gap: 8px;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 20px 32px;
  margin-bottom: 40px;
}

.hydrashain-prix {
  font-weight: 600;
  font-size: 20px;
  color: var(--dore);
}

.hydrashain-inclus {
  font-size: 14px;
  opacity: 0.85;
}

.hydrashain-intro {
  max-width: 720px;
  margin: 0 auto 48px;
  text-align: left;
}

.hydrashain-intro h3 {
  text-align: center;
  margin-bottom: 16px;
}

.hydrashain-intro p {
  margin-bottom: 14px;
  line-height: 1.6;
}

.hydrashain-highlight {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 19px;
  color: var(--dore);
  text-align: center;
  margin-top: 20px;
}

.hydrashain-grid {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  text-align: left;
  margin-bottom: 48px;
}

.hydrashain-col {
  flex: 1;
  min-width: 300px;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 28px 32px;
}

.hydrashain-col h3 {
  text-align: left;
  font-size: 22px;
  margin-bottom: 12px;
}

.hydrashain-col p {
  margin-bottom: 14px;
  line-height: 1.6;
}

.hydrashain-list {
  list-style: none;
  margin-bottom: 16px;
}

.hydrashain-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 10px;
}

.hydrashain-list li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--dore);
}

.hydrashain-experte {
  max-width: 620px;
  margin: 0 auto 32px;
  background-color: var(--creme);
  border-left: 3px solid var(--dore);
  border-radius: 8px;
  padding: 28px 32px;
  text-align: left;
}

.hydrashain-experte h3 {
  text-align: left;
  margin-bottom: 12px;
}

.hydrashain-experte p {
  line-height: 1.6;
  margin-bottom: 12px;
}

.hydrashain-experte p:last-child {
  margin-bottom: 0;
}

@media (max-width: 700px) {
  .hydrashain-col,
  .hydrashain-experte {
    padding: 20px;
  }
}


/* carte et grille pour les soins */


.categorie-titre {
  text-align: center;
  font-size: 28px;
  margin-top: 48px;
  text-decoration: underline;
  text-decoration-color: var(--dore);
  text-decoration-thickness: 2px;
}

.categorie-soustitre {
  text-align: center;
  font-style: italic;
  margin-bottom: 24px;
}

.grille-soins {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 300px));
  justify-content: center;
  gap: 24px;
  margin: 24px 0 48px;
}

.categorie-cryo {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
  flex-wrap: wrap;
}

.categorie-cryo .grille-soins {
  flex: none;
  width: 320px;
  margin: 0;
}

.categorie-cryo .categorie-video {
  margin: 0;
  margin-bottom: 24px;
}

.categorie-video {
  width: 220px;
  height: 390px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  margin: 0 auto;
}

.soin-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 24px 22px;
  text-align: center;
  transition: transform 0.3s, box-shadow 0.3s, background-color 0.3s, color 0.3s;
}

.soin-card:hover {
  background-color: var(--bleu-marine);
  color: var(--blanc);
  transform: translateY(-4px);
  box-shadow: 0 8px 20px rgba(11, 28, 48, 0.18);
}

.soin-card h4 {
  margin-bottom: 14px;
  line-height: 1.3;
}

.soin-card p {
  margin-bottom: 10px;
}

.soin-description {
  line-height: 1.55;
  margin-bottom: 14px;
}

.soin-cibles {
  font-style: italic;
  font-size: 13px;
  opacity: 0.75;
  line-height: 1.5;
  margin-bottom: 18px;
}


.soin-meta {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.soin-prix {
  background-color: var(--dore);
  color: var(--blanc);
  font-weight: 600;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 20px;
}

.soin-prix-alt {
  background-color: var(--dore);
  border: none;
  color: var(--blanc);
}



.soin-duree {
  background-color: var(--dore);
  color: var(--blanc);
  font-weight: 600;
  font-size: 14px;
  padding: 6px 14px;
  border-radius: 20px;
}


h2 {
  text-align: center;
  font-size: 32px;
  margin-top: 48px;
}

.commentaires {
  text-align: left;
  margin-top: 24px;
  margin-bottom: 24px;
}


/* svg paiement en plusieurs fois sans frais */

.badges-paiement {
  display: flex;
  justify-content: left;
  gap: 24px;
  margin: 24px 0;
}

/* "en savoir plus" pour chaques cartes */
/* à noter que cette partie contient ce qu'il faut pour un modale réutilisable sur toutes les cartes avec le code js dans une autre page */

/* --- Bouton "En savoir plus" sur les cartes --- */

.btn-savoir-plus {
  display: inline-block;
  background: none;
  border: 1px solid var(--dore);
  color: var(--dore);
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 16px;
  border-radius: 20px;
  margin-top: 12px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}

.btn-savoir-plus:hover {
  background-color: var(--dore);
  color: var(--blanc);
}

/* --- Modale --- */

.soin-modal {
  position: fixed;
  inset: 0;
  background-color: rgba(20, 36, 69, 0.55);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 40px 20px;
  overflow-y: auto;
  z-index: 100;
}

.soin-modal[hidden] {
  display: none;
}

body.modal-ouverte {
  overflow: hidden;
}

.soin-modal-panel {
  position: relative;
  background-color: var(--blanc);
  border-radius: 16px;
  max-width: 640px;
  width: 100%;
  padding: 40px;
  text-align: left;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

.soin-modal-close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 20px;
  color: var(--bleu-marine);
  cursor: pointer;
  padding: 8px;
  line-height: 1;
}

.soin-modal-close:hover {
  color: var(--dore);
}

#soin-modal-content h2 {
  text-align: left;
  font-size: 26px;
  margin-top: 0;
  margin-bottom: 8px;
  padding-right: 32px;
}

#soin-modal-content h3 {
  text-align: left;
  font-size: 19px;
  margin-top: 28px;
  margin-bottom: 10px;
}

#soin-modal-content p {
  line-height: 1.6;
  margin-bottom: 12px;
}

.modal-soustitre {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 18px;
  color: var(--dore);
  margin-bottom: 16px;
}

.modal-infos-pratiques {
  display: flex;
  gap: 24px;
  background-color: var(--creme);
  border-radius: 8px;
  padding: 12px 20px;
  margin-bottom: 20px;
  font-size: 14px;
}

.modal-list {
  list-style: none;
  margin-bottom: 12px;
}

.modal-list li {
  position: relative;
  padding-left: 20px;
  margin-bottom: 8px;
  line-height: 1.5;
}

.modal-list li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--dore);
}

.modal-mot-experte {
  background-color: var(--creme);
  border-left: 3px solid var(--dore);
  border-radius: 8px;
  padding: 20px 24px;
  margin-top: 24px;
}

.modal-mot-experte h3 {
  margin-top: 0;
}

#soin-modal-content .btn {
  border: none;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  margin-top: 16px;
}

@media (max-width: 600px) {
  .soin-modal-panel {
    padding: 28px 20px;
  }

  .modal-infos-pratiques {
    flex-direction: column;
    gap: 4px;
  }
}

.modal-note-tarif {
  font-style: italic;
  font-size: 13px;
  opacity: 0.75;
  margin-top: -8px;
  margin-bottom: 20px;
}

.modal-formules {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-bottom: 20px;
}

.modal-formule {
  background-color: var(--creme);
  border-radius: 8px;
  padding: 14px 18px;
}

.modal-formule-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

.modal-formule-header span {
  color: var(--dore);
  font-weight: 600;
}

.modal-formule p:last-child {
  margin-bottom: 0;
  font-size: 14px;
  opacity: 0.9;
}

.modal-variante {
  margin-bottom: 16px;
}

.modal-variante-titre {
  margin-bottom: 4px;
}

.modal-variante-titre strong {
  color: var(--dore);
}

.modal-list-etapes {
  list-style: none;
  margin-bottom: 12px;
}

.modal-list-etapes li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 8px;
  line-height: 1.5;
}

.modal-list-etapes li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: var(--dore);
  font-weight: 600;
}

/* --- Contre-indications --- */

.modal-contre-indications {
  background-color: #fdf3f1;
  border-left: 3px solid #b3261e;
  border-radius: 8px;
  padding: 16px 20px;
  margin-top: 20px;
}

.modal-contre-indications h3 {
  margin-top: 0;
  color: #b3261e;
}

.modal-contre-indications p {
  margin-bottom: 0;
}

.modal-highlight {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-size: 17px;
  color: var(--dore);
  text-align: center;
  margin: 4px 0 20px;
}

.modal-cloture {
  margin-top: 28px;
  margin-bottom: 0;
}

/* bandeau page d'accueil */

.bandeau-accueil {
  width: 100%;
  height: 400px;
  background-size: cover;
  background-position: center;
  position: relative;
}

.bandeau-accueil::before {
  content: "";
  position: absolute;
  inset: 0;
  background-color: rgba(20, 36, 69, 0.15);
}

/* section horaires */

#horaires {
  text-align: center;
  padding: 40px 0;
}

.horaires-carte {
 background-color: var(--blanc);
 border-radius : 12px; 
 box-shadow:0 4px 12px rgba(11, 28, 48, 0.1);
 padding : 20px;
 max-width: 400px;  
 margin: 24px auto 0;
}

.horaires-carte p {
  margin-bottom: 5px;
  margin-top: 5px;
}

#horaires h2 {
  margin-top: 0;
}

/* ============================================= */
/* ==========  ÉPILATION LASER  ================= */
/* ============================================= */

#epilation-laser {
  padding: 24px 0 64px;
}

.laser-intro {
  max-width: 620px;
  margin: 8px auto 20px;
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-style: italic;
}

.laser-texte {
  max-width: 720px;
  margin: 0 auto 56px;
  text-align: left;
}

.laser-texte p {
  margin-bottom: 14px;
  line-height: 1.6;
}

.laser-info-grid,
.laser-prep-grid {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
  text-align: left;
  margin-bottom: 56px;
}

.laser-divider {
  border: none;
  border-top: 1px solid rgba(20, 36, 69, 0.12);
  width: 100%;
  max-width: 720px;
  margin: 8px auto 56px;
}

.laser-diagnostic-callout {
  max-width: 620px;
  margin: 0 auto 56px;
  background-color: var(--blanc);
  border: 2px solid var(--dore);
  border-radius: 12px;
  padding: 32px;
  text-align: left;
}

.laser-diagnostic-callout h3 {
  text-align: left;
  margin-bottom: 4px;
}

.laser-diagnostic-duree {
  font-weight: 600;
  color: var(--dore);
  margin-bottom: 16px;
}

.laser-diagnostic-note {
  font-size: 13px;
  font-style: italic;
  opacity: 0.75;
  margin-top: 12px;
}

/* Titres des cartes explicatives — dorés, en majuscules, avec accent visuel */

#epilation-laser .infos-visite-card h3,
.laser-resultats h3,
.laser-a-savoir h3 {
  color: var(--dore);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 19px;
  padding-bottom: 12px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--dore-clair);
}

.laser-experte h3 {
  font-size: 22px;
}

.laser-diagnostic-callout h3 {
  color: var(--dore);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  font-size: 19px;
}

.laser-resultats {
  max-width: 720px;
  margin: 0 auto 56px;
  text-align: left;
}

.laser-resultats h3 {
  text-align: left;
  margin-bottom: 8px;
}

.laser-resultats p {
  margin-bottom: 12px;
}

.laser-resultats-list li::before {
  content: "✨";
}

.laser-experte {
  max-width: 720px;
  margin: 0 auto 64px;
}

.laser-experte h3 {
  margin-bottom: 8px;
}

.laser-experte p {
  font-style: italic;
}

.laser-zone-categorie {
  max-width: 800px;
  margin: 0 auto 40px;
  text-align: left;
}

.laser-zone-titre {
  text-align: left;
  font-size: 18px;
  color: var(--dore);
  margin-bottom: 12px;
}

.laser-tarif-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 12px;
}

.laser-tarif-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  background-color: var(--blanc);
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(11, 28, 48, 0.08);
  padding: 14px 18px;
}

.laser-tarif-nom {
  font-weight: 600;
  font-size: 14px;
}

.laser-tarif-nom em {
  display: block;
  font-weight: 400;
  font-style: italic;
  font-size: 12px;
  opacity: 0.7;
  margin-top: 2px;
}

.laser-tarif-duree {
  font-size: 12px;
  opacity: 0.7;
}

.laser-tarif-prix {
  font-weight: 600;
  color: var(--dore);
  font-size: 15px;
}

.laser-forfaits-grid {
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 56px;
}

.laser-forfait-card {
  flex: 1;
  min-width: 260px;
  max-width: 340px;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 28px;
  text-align: left;
}

.laser-forfait-card h4 {
  text-align: left;
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  margin-bottom: 10px;
}

.laser-forfait-meta {
  display: flex;
  gap: 16px;
  font-weight: 600;
  color: var(--dore);
  margin-bottom: 12px;
}

.laser-forfait-highlight {
  border: 2px solid var(--dore);
}

.laser-a-savoir {
  max-width: 720px;
  margin: 0 auto;
  text-align: left;
}

.laser-a-savoir h3 {
  text-align: left;
}

.laser-a-savoir p {
  margin-bottom: 12px;
  line-height: 1.6;
}

@media (max-width: 700px) {
  .laser-info-grid,
  .laser-prep-grid {
    flex-direction: column;
  }

  .laser-diagnostic-callout {
    padding: 24px;
  }
}

.laser-section-titre {
  text-align: center;
  font-size: 30px;
  color: var(--dore);
  max-width: 800px;
  margin: 32px auto 8px;
}

/* section footer */

/* section footer */

footer { /* cible toute la balise <footer> de la page */
  background-color: var(--bleu-marine); /* fond bleu marine */
  color: var(--blanc); /* couleur du texte par défaut à l'intérieur */
  text-align: center; /* centre le texte (utile pour ce qui n'a pas d'alignement propre) */
  padding: 20px 0; /* espace intérieur : 60px en haut/bas, 0 à gauche/droite */
  border-top: 2px solid var(--dore); /* fine ligne dorée qui marque la transition avec le reste de la page */
}

.footer-grid { /* cible le conteneur qui organise infos + carte côte à côte */
  display: flex; /* active le mode flexbox */
  justify-content: space-between; /* pousse les deux enfants aux extrémités (infos à gauche, carte à droite) */
  align-items: center; /* centre les deux enfants verticalement l'un par rapport à l'autre */
  gap: 40px; /* espace entre les deux colonnes */
  flex-wrap: wrap; /* autorise le passage à la ligne si l'écran est trop étroit (mobile) */
}

.footer-infos { /* cible le bloc de gauche (adresse, copyright, lien admin) */
  text-align: left; /* aligne ce texte à gauche, contrairement au centrage global du footer */
}

.footer-infos p:first-child { /* cible uniquement le tout premier <p> de ce bloc, donc l'adresse */
  font-family: 'Cormorant Garamond', serif; /* police de titre, pour donner plus de présence à l'adresse */
  font-size: 20px; /* taille plus grande que le texte courant */
  margin-bottom: 12px; /* espace en dessous, avant la ligne de copyright */
}

.footer-infos p:last-of-type { /* cible le dernier <p> de ce bloc, donc le copyright */
  font-size: 13px; /* petite taille, texte légal secondaire */
  opacity: 0.7; /* légèrement transparent, pour l'atténuer visuellement */
}

.footer-infos a { /* cible le lien "Espace pro" à l'intérieur de ce bloc */
  color: var(--dore-clair); /* couleur dorée claire, pour qu'il ressorte comme un accent */
  font-weight: 600; /* texte semi-gras */
  display: inline-block; /* permet d'appliquer une marge même si c'est un lien (inline de base) */
  margin-top: 8px; /* petit espace au-dessus, pour le détacher du texte précédent */
}

.footer-infos a:hover { /* cible ce même lien, uniquement pendant le survol de la souris */
  color: var(--blanc); /* devient blanc au survol, pour un effet de contraste au clic potentiel */
}

.footer-social {
  margin-top: 12px;
  display: flex;
  gap: 16px;
}

.footer-social i {
  font-size: 40px;
  color: var(--dore-clair);
  transition: color 0.3s;
}

.footer-social a:hover i {
  color: var(--blanc);
}

.footer-carte { /* cible le bloc de droite qui contient la carte */
  flex: 1; /* s'étire pour occuper l'espace restant à côté de .footer-infos */
  max-width: 400px; /* mais ne dépasse jamais 400px de large */
}

.footer-carte iframe { /* cible la carte OpenStreetMap elle-même, à l'intérieur de .footer-carte */
  border-radius: 12px; /* coins arrondis, cohérent avec le reste du site */
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25); /* ombre portée pour la faire "flotter" visuellement */
  display: block; /* évite un espace fantôme sous la carte, comme sur une image */
}



/* section notice */


#notice { /* cible toute la section */
  padding: 48px 0; /* espace vertical au-dessus/en dessous */
}

.infos-reservation { /* cible le bloc qui contient les 3 paragraphes */
  margin-top: 24px ; /* centre le bloc horizontalement, espace au-dessus */
  background-color: var(--blanc); /* fond blanc, cohérent avec .soin-card et .horaires-carte */
  border-radius: 12px; /* coins arrondis */
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1); /* ombre douce */
  padding: 32px; /* espace intérieur */
  text-align: left; /* le texte à l'intérieur repasse à gauche, plus lisible qu'en centré */
}

.infos-reservation p { /* cible chaque paragraphe à l'intérieur */
  margin-bottom: 14px; /* espace entre chaque ligne */
  padding-left: 20px; /* décale le texte pour laisser la place au symbole */
  position: relative; /* nécessaire pour positionner le symbole ci-dessous */
}

.infos-reservation p::before { /* ajoute un symbole devant chaque paragraphe, sans toucher au HTML */
  content: "—"; /* le symbole affiché : un tiret */
  position: absolute; /* le sort du flux normal */
  left: 0; /* le colle à gauche du paragraphe */
  color: var(--dore); /* couleur dorée, cohérente avec le reste du site */
}

.infos-reservation p:last-child { /* cible le dernier paragraphe */
  margin-bottom: 0; /* pas d'espace superflu après le dernier */
}

.notice-grid {
  display: flex;
  align-items: flex-start; /* modifié : flex-start au lieu de center */
  gap: 48px;
  flex-wrap: wrap;
}

.notice-texte { /* colonne de gauche */
  flex: 1;
  min-width: 300px;
  text-align: left; /* on quitte le centrage, cohérent avec ta nouvelle mise en page */
}

.notice-image { /* colonne de droite */
  flex: 1;
  min-width: 280px;
}

.notice-image img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 8px 24px rgba(11, 28, 48, 0.15);
  display: block;
}

/* ============================================= */
/* ==========  PAGE RÉSERVATIONS  =============== */
/* ============================================= */

/* --- Hero --- */

#reservation-hero {
  padding: 48px 40px 24px;
  text-align: center;
}

#reservation-hero p {
  max-width: 600px;
  margin: 12px auto 0;
}

/* --- Conteneur général du formulaire --- */

#reservation-form-section {
  padding: 24px 0 64px;
}

.reservation-form {
  max-width: 640px;
  margin: 0 auto;
  text-align: left;
}

.form-section {
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 28px 32px;
  margin-bottom: 24px;
}

.form-section-titre {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 22px;
  margin-top: 0;
  margin-bottom: 20px;
  text-align: left;
}

.form-step {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background-color: var(--dore);
  color: var(--blanc);
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  flex-shrink: 0;
}

/* --- Champs de formulaire --- */

.form-group {
  margin-bottom: 18px;
}

.form-group:last-child {
  margin-bottom: 0;
}

.form-row {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.form-row .form-group {
  flex: 1;
  min-width: 200px;
}

label {
  display: block;
  font-weight: 600;
  font-size: 14px;
  margin-bottom: 6px;
  color: var(--bleu-marine);
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
select,
textarea {
  width: 100%;
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  color: var(--bleu-marine);
  background-color: var(--creme);
  border: 1px solid rgba(20, 36, 69, 0.15);
  border-radius: 8px;
  padding: 12px 14px;
}

input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: var(--dore);
}

textarea {
  resize: vertical;
}

.form-note {
  font-size: 13px;
  font-style: italic;
  opacity: 0.75;
  margin-top: 8px;
}

.form-note-info {
  margin-top: 12px;
}

.form-error {
  color: #b3261e;
  font-weight: 600;
  font-size: 14px;
  min-height: 20px;
  margin-bottom: 12px;
}

/* --- Grille des créneaux --- */

.creneaux-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
  gap: 10px;
}

.creneau-placeholder {
  grid-column: 1 / -1;
  text-align: center;
  font-style: italic;
  opacity: 0.7;
  padding: 20px 0;
}

.creneau-btn {
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 14px;
  color: var(--bleu-marine);
  background-color: var(--creme);
  border: 1px solid rgba(20, 36, 69, 0.15);
  border-radius: 8px;
  padding: 10px 0;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.creneau-btn:hover {
  border-color: var(--dore);
}

.creneau-btn.selected {
  background-color: var(--dore);
  border-color: var(--dore);
  color: var(--blanc);
}

/* --- Bouton de soumission --- */

.reservation-form .btn {
  width: 100%;
  border: none;
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
}

/* --- Panneau de confirmation --- */

.confirmation-panel {
  max-width: 640px;
  margin: 0 auto;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 32px;
  text-align: center;
}

.confirmation-panel h2 {
  margin-top: 0;
}

.recap-list {
  list-style: none;
  text-align: left;
  background-color: var(--creme);
  border-radius: 8px;
  padding: 16px 20px;
  margin: 20px 0;
}

.recap-list li {
  margin-bottom: 8px;
}

.recap-list li:last-child {
  margin-bottom: 0;
}

.confirmation-panel .btn {
  border: none;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

/* --- Responsive --- */

@media (max-width: 600px) {
  .form-section {
    padding: 20px;
  }

  .form-row {
    flex-direction: column;
    gap: 0;
  }
}

/* --- réservation avec le bouton "réserver" sur les cartes de soins --- */

.soin-selectionne {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  background-color: var(--creme);
  border-radius: 8px;
  padding: 14px 18px;
}

.soin-selectionne-nom {
  font-weight: 600;
  color: var(--bleu-marine);
}

.soin-changer-lien {
  font-size: 13px;
  font-weight: 600;
  color: var(--dore);
  text-decoration: underline;
}

.soin-changer-lien:hover {
  color: var(--bleu-marine);
}

.no-soin-panel {
  max-width: 500px;
  margin: 0 auto;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 40px;
  text-align: center;
}

.no-soin-panel h2 {
  margin-top: 0;
}

.no-soin-panel p {
  margin-bottom: 8px;
  line-height: 1.6;
}

/* --- Hero page prestations --- */

#prestations-hero {
  padding: 48px 40px 24px;
  text-align: center;
}

.prestations-hero-tagline {
  max-width: 600px;
  margin: 12px auto 0;
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-style: italic;
  color: var(--dore);
}

.btn-reserver-carte {
  display: block;
  background-color: transparent;
  border: 1px solid var(--bleu-marine);
  color: var(--bleu-marine);
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  text-align: center;
  padding: 8px 16px;
  margin-top: 8px;
  border-radius: 20px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

.btn-reserver-carte:hover {
  background-color: var(--bleu-marine);
  color: var(--blanc);
}

.soin-card:hover .btn-reserver-carte {
  border-color: var(--dore-clair);
  color: var(--dore-clair);
}

.soin-card:hover .btn-reserver-carte:hover {
  background-color: var(--dore-clair);
  color: var(--bleu-marine);
}

.laser-tarif-card {
  position: relative;
  /* garde tes propriétés existantes, ajoute juste celles-ci si absentes */
}

.btn-reserver-laser {
  margin-top: 10px;
  font-size: 12px;
  padding: 6px 12px;
}

/* ============================================= */
/* ==========  NAVIGATION MOBILE  =============== */
/* ============================================= */

.logo-link {
  display: flex;
  align-items: center;
}

.nav-toggle {
  display: none; /* caché par défaut, visible uniquement sous 768px */
  background: none;
  border: none;
  color: var(--blanc);
  font-size: 24px;
  cursor: pointer;
  padding: 4px 8px;
  z-index: 200;
}

@media (max-width: 768px) {
  .nav-toggle {
    display: block;
  }

  nav {
    position: fixed;
    top: 0;
    right: 0;
    height: 100vh;
    width: 240px;
    background-color: var(--bleu-marine);
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 80px 32px 32px;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    z-index: 150;
  }

  nav.nav-open {
    transform: translateX(0);
  }

  nav a {
    width: 100%;
    padding: 16px 0;
    border-bottom: 1px solid rgba(247, 246, 243, 0.15);
    font-size: 16px;
  }

  header {
    position: relative;
  }
}

/* ============================================= */
/* ==========  ADMIN.HTML  ======================= */
/* ============================================= */

/* --- Écran de connexion --- */

#admin-login-section {
  padding: 64px 0;
}

.admin-login-panel {
  max-width: 420px;
  margin: 0 auto;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 40px;
  text-align: left;
}

.admin-login-panel h1 {
  text-align: center;
  margin-top: 0;
}

.admin-login-sub {
  text-align: center;
  margin-bottom: 24px;
  font-style: italic;
  opacity: 0.8;
}

#admin-login-form .btn {
  width: 100%;
  border: none;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
}

/* --- Dashboard --- */

#admin-dashboard-section {
  padding: 40px 0 64px;
}

.admin-dashboard-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
}

.admin-dashboard-header h1 {
  text-align: left;
  margin: 0;
}

.admin-dashboard-sub {
  color: var(--dore);
  font-weight: 600;
  margin-top: 4px;
}

.btn-logout {
  background: none;
  border: 1px solid var(--bleu-marine);
  color: var(--bleu-marine);
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  padding: 10px 18px;
  border-radius: 20px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}

.btn-logout:hover {
  background-color: var(--bleu-marine);
  color: var(--blanc);
}

.admin-loading,
.admin-empty {
  text-align: center;
  font-style: italic;
  opacity: 0.7;
  padding: 40px 0;
}

/* --- Cartes réservation --- */

.admin-reservations-list {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.admin-reservation-card {
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 24px 28px;
  text-align: left;
}

.admin-reservation-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(20, 36, 69, 0.1);
}

.admin-reservation-nom {
  font-weight: 600;
  font-size: 17px;
  margin-bottom: 4px;
}

.admin-reservation-prestation {
  color: var(--dore);
  font-weight: 600;
}

.admin-statut-badge {
  display: inline-block;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 20px;
  white-space: nowrap;
}

.admin-statut-en-attente {
  background-color: var(--creme);
  color: var(--bleu-marine);
  border: 1px solid rgba(20, 36, 69, 0.2);
}

.admin-statut-confirmée {
  background-color: #DCEFE1;
  color: #1E7B3C;
}

.admin-statut-annulée {
  background-color: #FBE4E1;
  color: #B3261E;
}

.admin-reservation-details p {
  margin-bottom: 8px;
  line-height: 1.5;
}

.admin-reservation-meta {
  font-size: 12px;
  font-style: italic;
  opacity: 0.6;
  margin-top: 12px;
}

.admin-reservation-details a {
  color: var(--bleu-marine);
  text-decoration: underline;
}

.admin-reservation-details a:hover {
  color: var(--dore);
}

.admin-reservation-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid rgba(20, 36, 69, 0.1);
}

.admin-reservation-actions label {
  margin-bottom: 0;
  font-size: 13px;
}

.admin-statut-select {
  width: auto;
  padding: 8px 12px;
  font-size: 13px;
}

.btn-supprimer-reservation {
  margin-left: auto;
  background: none;
  border: 1px solid #B3261E;
  color: #B3261E;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 13px;
  padding: 8px 16px;
  border-radius: 20px;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}

.btn-supprimer-reservation:hover {
  background-color: #B3261E;
  color: var(--blanc);
}

/* --- Calendrier --- */

.admin-calendrier {
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 24px 28px;
  margin-bottom: 32px;
}

.admin-calendrier-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
}

.admin-calendrier-titre {
  text-align: center;
  font-size: 20px;
  margin: 0;
}

.admin-calendrier-nav {
  background: none;
  border: 1px solid rgba(20, 36, 69, 0.15);
  color: var(--bleu-marine);
  border-radius: 8px;
  width: 36px;
  height: 36px;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}

.admin-calendrier-nav:hover {
  border-color: var(--dore);
  color: var(--dore);
}

.admin-calendrier-jours-semaine {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  opacity: 0.6;
  margin-bottom: 8px;
}

.admin-calendrier-grille {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 6px;
}

.admin-jour {
  position: relative;
  aspect-ratio: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--creme);
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  font-family: 'Montserrat', sans-serif;
  transition: border-color 0.2s, background-color 0.2s;
}

.admin-jour-vide {
  background: none;
  cursor: default;
}

.admin-jour-numero {
  font-size: 13px;
  color: var(--bleu-marine);
}

.admin-jour-aujourdhui {
  border-color: var(--bleu-marine);
}

.admin-jour-actif {
  background-color: var(--dore-clair);
}

.admin-jour-actif:hover {
  border-color: var(--dore);
}

.admin-jour-selectionne {
  background-color: var(--dore);
}

.admin-jour-selectionne .admin-jour-numero {
  color: var(--blanc);
}

.admin-jour-badge {
  position: absolute;
  top: 2px;
  right: 2px;
  background-color: var(--bleu-marine);
  color: var(--blanc);
  font-size: 10px;
  font-weight: 600;
  min-width: 16px;
  height: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 3px;
}

.admin-jour-selectionne .admin-jour-badge {
  background-color: var(--blanc);
  color: var(--dore);
}

@media (max-width: 600px) {
  .admin-calendrier {
    padding: 16px;
  }

  .admin-jour-numero {
    font-size: 11px;
  }
}

/* --- Sous-navigation espace pro --- */

.admin-subnav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 28px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(20, 36, 69, 0.1);
}

.admin-subnav-links {
  display: flex;
  gap: 24px;
}

.admin-subnav-link {
  font-weight: 600;
  color: var(--bleu-marine);
  opacity: 0.6;
  padding-bottom: 6px;
  border-bottom: 2px solid transparent;
}

.admin-subnav-link:hover {
  opacity: 1;
}

.admin-subnav-active {
  opacity: 1;
  border-bottom-color: var(--dore);
  color: var(--dore);
}

/* --- Cartes résumé du tableau de bord --- */

.admin-summary-grid {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  margin: 24px 0 40px;
}

.admin-summary-card {
  flex: 1;
  min-width: 130px;
  background-color: var(--blanc);
  border-radius: 12px;
  box-shadow: 0 4px 12px rgba(11, 28, 48, 0.1);
  padding: 24px;
  text-align: center;
}

.admin-summary-nombre {
  font-family: 'Cormorant Garamond', serif;
  font-size: 42px;
  font-weight: 600;
  color: var(--dore);
  line-height: 1;
  margin-bottom: 8px;
}

.admin-summary-label {
  font-size: 13px;
  font-weight: 600;
  opacity: 0.75;
}

/* --- Colonnes du tableau de bord --- */

.admin-dashboard-columns {
  display: flex;
  gap: 32px;
  flex-wrap: wrap;
}

.admin-dashboard-col {
  flex: 1;
  min-width: 300px;
}

.admin-col-titre {
  text-align: left;
  font-size: 20px;
  margin-bottom: 16px;
}

.admin-mini-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.admin-mini-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  background-color: var(--blanc);
  border-radius: 10px;
  box-shadow: 0 2px 8px rgba(11, 28, 48, 0.08);
  padding: 14px 18px;
  color: var(--bleu-marine);
  transition: box-shadow 0.2s;
}

.admin-mini-item:hover {
  box-shadow: 0 4px 14px rgba(11, 28, 48, 0.15);
}

.admin-mini-nom {
  font-weight: 600;
  font-size: 14px;
}

.admin-mini-prestation {
  font-size: 12px;
  color: var(--dore);
}

.admin-mini-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  font-size: 12px;
  opacity: 0.75;
  white-space: nowrap;
}

.admin-mini-empty {
  font-style: italic;
  opacity: 0.6;
  font-size: 14px;
}

.admin-redirect-message {
  text-align: center;
  padding: 80px 20px;
  font-style: italic;
  opacity: 0.7;
}

.admin-jour-separateur {
  font-family: 'Cormorant Garamond', serif;
  font-size: 20px;
  font-weight: 600;
  color: var(--bleu-marine);
  text-transform: capitalize;
  padding: 16px 0 8px;
  margin-top: 8px;
  border-bottom: 2px solid var(--dore);
}

.admin-jour-highlight {
  animation: flashDore 1.5s ease;
}

@keyframes flashDore {
  0% { background-color: var(--dore-clair); }
  100% { background-color: transparent; }
}

.admin-archives-note {
  font-style: italic;
  opacity: 0.75;
  margin-bottom: 24px;
  line-height: 1.5;
}

.admin-recherche-group {
  max-width: 400px;
  margin-bottom: 28px;
}

.admin-archive-card {
  opacity: 0.9;
  border-left: 3px solid rgba(20, 36, 69, 0.15);
}

.creneau-indisponible {
  background-color: rgba(20, 36, 69, 0.05);
  color: rgba(20, 36, 69, 0.35);
  border-color: transparent;
  cursor: not-allowed;
}

.creneau-indisponible:hover {
  border-color: transparent;
}

/* =========================================================
   BELL'SHAIN BEAUTY — V2 PREMIUM FRONT-END
   La V1 reste archivée séparément. Ce bloc ne concerne que
   les pages publiques portant la classe body.v2.
   ========================================================= */
:root{--navy:#10213f;--navy-deep:#08162c;--ivory:#f3efe6;--ivory-2:#fbf9f4;--ink:#13213a;--line:rgba(16,33,63,.18);--soft:#d9d0c0}
body.v2{background:var(--ivory-2);color:var(--ink);font-family:'Montserrat',sans-serif;line-height:1.65}
body.v2 h1,body.v2 h2,body.v2 h3,body.v2 h4{font-family:'Cormorant Garamond',serif;color:var(--navy);font-weight:400;line-height:1.03}
.site-header{min-height:88px;background:var(--navy-deep);padding:14px clamp(20px,5vw,72px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:20;border-bottom:1px solid rgba(255,255,255,.12)}
.site-header .brand img{width:128px;height:auto;display:block}.site-nav{display:flex;gap:34px;align-items:center}.site-nav a{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:500}.site-nav a:hover{opacity:.72}.site-nav .nav-book{border:1px solid rgba(255,255,255,.65);padding:12px 18px}.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.35);color:#fff;padding:10px 14px;text-transform:uppercase;letter-spacing:.12em;font-size:11px}
.section-pad{padding:clamp(72px,9vw,130px) clamp(24px,6vw,90px)}.narrow{max-width:980px;margin:0 auto;text-align:center}.eyebrow{text-transform:uppercase;letter-spacing:.24em;font-size:11px;font-weight:600;margin:0 0 22px;color:#6c665d}.eyebrow.light{color:rgba(255,255,255,.72)}
.hero-v2{min-height:760px;position:relative;display:flex;align-items:flex-end;overflow:hidden}.hero-v2-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.hero-v2-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,20,39,.78) 0%,rgba(7,20,39,.54) 42%,rgba(7,20,39,.14) 100%),linear-gradient(0deg,rgba(7,20,39,.42),transparent 50%)}.hero-v2-content{position:relative;z-index:2;color:#fff;max-width:760px;padding:0 clamp(24px,7vw,110px) 92px}.hero-v2-content h1{font-size:clamp(56px,7vw,104px);color:#fff;margin:0 0 24px}.hero-v2-content h1 em{font-weight:300}.hero-v2-content>p:not(.eyebrow){max-width:620px;font-size:17px;color:rgba(255,255,255,.86)}.hero-actions{display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:34px}.button{display:inline-flex;min-height:48px;align-items:center;justify-content:center;padding:0 24px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:600;border-radius:0}.light-btn{background:#fff;color:var(--navy-deep)}.dark-btn{background:var(--navy-deep);color:#fff}.text-link{color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.light-link{color:#fff}
.manifesto{background:var(--ivory)}.manifesto h2{font-size:clamp(44px,5vw,72px);margin-bottom:30px}.manifesto .lead{font-family:'Cormorant Garamond',serif;font-size:25px;max-width:820px;margin:0 auto;color:#4d5667}
.editorial-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(50px,8vw,120px);align-items:center}.editorial-image img{width:100%;height:680px;object-fit:cover;object-position:center;display:block}.editorial-image.tall img{height:780px}.editorial-copy{max-width:650px}.editorial-copy h2{font-size:clamp(44px,4.5vw,68px);margin-bottom:30px}.editorial-copy p{margin-bottom:19px;color:#4e596b}.editorial-copy blockquote{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--navy);border-left:1px solid var(--navy);padding-left:24px;margin:38px 0}
.expertise-section{background:var(--navy-deep);color:#fff}.expertise-section .section-head{max-width:760px;margin-bottom:55px}.expertise-section h2,.expertise-section h3{color:#fff}.section-head h2{font-size:clamp(42px,5vw,70px)}.expertise-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}.expertise-card{padding:45px 36px 48px;color:#fff;border-right:1px solid rgba(255,255,255,.28);transition:background .25s ease}.expertise-card:last-child{border-right:0}.expertise-card:hover{background:rgba(255,255,255,.06)}.expertise-card span{font-family:'Cormorant Garamond',serif;font-size:18px;opacity:.55}.expertise-card h3{font-size:40px;margin:30px 0 18px}.expertise-card p{color:rgba(255,255,255,.72);min-height:88px}.expertise-card b{display:block;margin-top:26px;text-transform:uppercase;letter-spacing:.14em;font-size:10px}
.signature-feature{display:grid;grid-template-columns:.9fr 1.1fr;padding:0;background:#bdb3a4}.signature-copy{padding:clamp(70px,8vw,120px);background:var(--navy);color:#fff;display:flex;flex-direction:column;justify-content:center}.signature-copy h2{font-size:clamp(66px,8vw,118px);color:#fff}.signature-copy p{font-family:'Cormorant Garamond',serif;font-size:24px;max-width:470px}.signature-copy .signature-price{font-family:'Montserrat',sans-serif;font-size:12px;text-transform:uppercase;letter-spacing:.15em;margin-top:30px}.signature-copy .button{align-self:flex-start;margin-top:22px}.signature-image img{width:100%;height:100%;min-height:680px;object-fit:cover;display:block}
.first-visit{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;background:var(--ivory)}.first-visit h2{font-size:clamp(46px,5vw,76px)}.first-visit>div:last-child{max-width:620px}.first-offer{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--navy);margin:24px 0}.location-strip{background:var(--navy-deep);color:#fff;padding:58px clamp(24px,6vw,90px);display:flex;justify-content:space-between;align-items:end;gap:40px}.location-strip h2{color:#fff;font-size:42px;margin-bottom:8px}.location-strip p{margin:0;color:rgba(255,255,255,.7)}
.site-footer{background:#071329;color:rgba(255,255,255,.7);padding:70px clamp(24px,6vw,90px) 24px}.footer-inner{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:50px}.footer-brand img{width:145px}.footer-brand p{font-family:'Cormorant Garamond',serif;font-size:18px}.footer-kicker{text-transform:uppercase;letter-spacing:.18em;font-size:10px;color:#fff}.site-footer a{color:rgba(255,255,255,.78)}.footer-bottom{margin-top:55px;padding-top:20px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;font-size:11px}
.page-hero{min-height:560px;display:flex;align-items:flex-end;padding:0 clamp(24px,7vw,110px) 70px;position:relative;background-position:center;background-size:cover}.salon-hero{background-image:linear-gradient(90deg,rgba(7,20,39,.72),rgba(7,20,39,.2)),url('../images/facial2.jpg')}.page-hero h1{font-size:clamp(58px,7vw,102px);color:#fff;max-width:870px}.values{background:var(--ivory)}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:50px;border-top:1px solid var(--line)}.value-grid article{padding:38px 34px;border-right:1px solid var(--line)}.value-grid article:last-child{border-right:0}.value-grid span{font-family:'Cormorant Garamond',serif}.value-grid h3{font-size:38px;margin:24px 0 14px}.image-band img{width:100%;height:560px;object-fit:cover;display:block}.visit-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px;align-items:center}.visit-section h2{font-size:56px}.map-frame iframe{border:0;width:100%;height:480px;display:block;filter:grayscale(1) contrast(.9)}
/* Existing content pages: re-skin without rewriting booking/business logic */
body.v2 .subpage-intro{padding:90px 24px 65px!important;background:var(--ivory)!important;text-align:center}body.v2 .subpage-intro h1{font-size:clamp(56px,6vw,90px);margin-bottom:18px}body.v2 .subpage-intro p{font-family:'Cormorant Garamond',serif;font-size:24px;max-width:760px;margin:auto}
body.v2 #les_prestations,body.v2 #epilation-laser,body.v2 #reservation-form-section,body.v2 #notice{background:var(--ivory-2);padding-top:55px;padding-bottom:80px}body.v2 .container{max-width:1280px;padding-left:clamp(22px,5vw,72px);padding-right:clamp(22px,5vw,72px)}body.v2 .categorie-titre{font-size:44px!important;margin-top:75px!important;padding-bottom:17px!important;border-bottom:1px solid var(--line)!important;text-align:left!important}
body.v2 .soins-grid{gap:18px!important}body.v2 .soin-card,body.v2 .laser-tarif-card,body.v2 .laser-forfait-card,body.v2 .form-section,body.v2 .notice-texte{background:#fff!important;border:1px solid rgba(16,33,63,.08)!important;border-radius:0!important;box-shadow:none!important}body.v2 .soin-card{padding:28px!important}body.v2 .soin-card h4{font-size:27px!important}body.v2 .btn-savoir-plus,body.v2 .btn-reserver-carte,body.v2 .btn{border-radius:0!important;background:var(--navy-deep)!important;color:#fff!important;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:600;padding:13px 18px!important;border:1px solid var(--navy-deep)!important}body.v2 .btn-savoir-plus{background:transparent!important;color:var(--navy)!important}body.v2 .separateur{display:none}body.v2 #notice .notice-grid{gap:65px;align-items:center}body.v2 .notice-image img{border-radius:0!important;box-shadow:none!important;min-height:420px;object-fit:cover}body.v2 .reservation-form{max-width:900px;margin:auto}body.v2 .form-section{padding:35px!important;margin-bottom:18px!important}body.v2 .form-section-titre{font-size:32px!important}.form-step{background:var(--navy-deep)!important;color:#fff!important}.confirmation-panel{border-radius:0!important;box-shadow:none!important}
@media(max-width:850px){.site-header{min-height:76px}.site-header .brand img{width:108px}.nav-toggle{display:block}.site-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--navy-deep);padding:18px 24px 30px;flex-direction:column;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.14)}.site-nav.open{display:flex}.site-nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}.site-nav .nav-book{border:0;border-bottom:1px solid rgba(255,255,255,.12);padding:15px 0}.hero-v2{min-height:650px}.hero-v2-overlay{background:linear-gradient(0deg,rgba(7,20,39,.82),rgba(7,20,39,.25))}.hero-v2-content{padding-bottom:58px}.hero-v2-content h1{font-size:56px}.editorial-split,.signature-feature,.first-visit,.visit-section{grid-template-columns:1fr}.editorial-image img,.editorial-image.tall img{height:520px}.expertise-grid,.value-grid{grid-template-columns:1fr}.expertise-card,.value-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.2)}.value-grid article{border-color:var(--line)}.signature-image img{min-height:480px}.location-strip{align-items:flex-start;flex-direction:column}.footer-inner{grid-template-columns:1fr 1fr}.image-band img{height:390px}}
@media(max-width:540px){.section-pad{padding:68px 22px}.hero-v2{min-height:610px}.hero-v2-content{padding-left:22px;padding-right:22px}.hero-v2-content h1{font-size:48px}.hero-v2-content>p:not(.eyebrow){font-size:15px}.manifesto h2,.editorial-copy h2,.first-visit h2{font-size:43px}.manifesto .lead{font-size:21px}.editorial-image img,.editorial-image.tall img{height:430px}.editorial-split{gap:46px}.expertise-card{padding:36px 22px}.signature-copy{padding:68px 22px}.signature-copy h2{font-size:68px}.signature-image img{min-height:390px}.location-strip h2{font-size:34px}.footer-inner{grid-template-columns:1fr}.footer-bottom{flex-direction:column;gap:10px}.page-hero{min-height:460px;padding-left:22px;padding-right:22px}.page-hero h1{font-size:52px}.visit-section h2{font-size:44px}.map-frame iframe{height:380px}body.v2 .container{padding-left:20px;padding-right:20px}body.v2 .categorie-titre{font-size:36px!important}}


/* =========================================================
   V2.1 — refinement requested: softer geometry, contrast,
   editorial imagery and social/review actions.
   ========================================================= */
body.v2{--navy:#10213f;--navy-deep:#07162d;--ivory:#f3eee4;--ivory-2:#fbf9f5;--cream:#ece4d7}

/* Header: larger signature + floating capsule navigation */
body.v2 .site-header{min-height:112px;padding:16px clamp(22px,5vw,78px);background:linear-gradient(110deg,#07162d 0%,#0d2343 100%);border-bottom:0;gap:34px;box-shadow:0 10px 30px rgba(4,14,29,.10)}
body.v2 .site-header .brand{display:flex;align-items:center;flex:0 0 auto;padding:2px 0}
body.v2 .site-header .brand img{width:174px;max-height:76px;object-fit:contain;display:block}
body.v2 .site-nav{gap:5px;align-items:center;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:7px;backdrop-filter:blur(12px)}
body.v2 .site-nav a{position:relative;color:rgba(255,255,255,.84);font-size:11px;letter-spacing:.13em;font-weight:500;padding:12px 16px;border-radius:999px;transition:background .2s ease,color .2s ease,transform .2s ease}
body.v2 .site-nav a:hover,body.v2 .site-nav a.active{color:#fff;background:rgba(255,255,255,.105);opacity:1}
body.v2 .site-nav a.active:not(.nav-book)::after{content:"";position:absolute;left:50%;bottom:5px;width:18px;height:1px;background:#f5efe5;transform:translateX(-50%);opacity:.8}
body.v2 .site-nav .nav-book{background:var(--ivory);color:var(--navy-deep);border:0;padding:12px 19px;box-shadow:0 5px 18px rgba(0,0,0,.12)}
body.v2 .site-nav .nav-book:hover,body.v2 .site-nav .nav-book.active{background:#fff;color:var(--navy-deep);transform:translateY(-1px)}
body.v2 .nav-toggle{border-radius:999px;padding:11px 17px}

/* No navy text on navy/dark photography */
body.v2 .expertise-section .eyebrow,body.v2 .signature-copy .eyebrow,body.v2 .location-strip .eyebrow,body.v2 .page-hero .eyebrow,body.v2 .site-footer .footer-kicker{color:rgba(255,255,255,.78)!important}
body.v2 .expertise-section h1,body.v2 .expertise-section h2,body.v2 .expertise-section h3,body.v2 .signature-copy h1,body.v2 .signature-copy h2,body.v2 .signature-copy h3,body.v2 .location-strip h1,body.v2 .location-strip h2,body.v2 .location-strip h3,body.v2 .site-footer h1,body.v2 .site-footer h2,body.v2 .site-footer h3,body.v2 .page-hero h1,body.v2 .page-hero h2{color:#fff!important}
body.v2 .expertise-section p,body.v2 .signature-copy p,body.v2 .location-strip p,body.v2 .site-footer p{color:rgba(255,255,255,.76)}

/* Softer controls */
body.v2 .button,body.v2 .btn,body.v2 .btn-reserver-carte,body.v2 .btn-savoir-plus{border-radius:12px!important;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
body.v2 .button:hover,body.v2 .btn:hover,body.v2 .btn-reserver-carte:hover{transform:translateY(-1px);box-shadow:0 9px 22px rgba(7,22,45,.14)}
body.v2 .light-btn{background:#fff;color:var(--navy-deep)!important}
body.v2 .dark-btn{background:var(--navy-deep)!important;color:#fff!important}

/* Founder portrait: smaller and cropped higher area out */
body.v2 .editorial-split{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)}
body.v2 .editorial-image{max-width:560px;overflow:hidden}
body.v2 .editorial-image img.expert-portrait{height:570px;object-fit:cover;object-position:50% 64%;border-radius:18px}
body.v2 .editorial-image.tall img.expert-portrait{height:650px;object-position:50% 62%}

/* New treatment photography */
body.v2 .signature-new-photo{object-position:center 52%}
body.v2 .technique-focus{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(48px,8vw,110px);align-items:center;background:var(--ivory-2)}
body.v2 .technique-photo{overflow:hidden;border-radius:24px 24px 110px 24px}
body.v2 .technique-photo img{width:100%;height:610px;object-fit:cover;object-position:center 52%;display:block}
body.v2 .technique-copy{max-width:570px}
body.v2 .technique-copy h2{font-size:clamp(44px,5vw,72px);margin-bottom:25px}
body.v2 .technique-copy p{color:#525d6d;margin-bottom:22px}

/* Salon gets a distinct opening image */
body.v2 .salon-hero-new{background-image:linear-gradient(90deg,rgba(7,20,39,.72),rgba(7,20,39,.12)),url('../images/heline_cabinet.jpeg');background-position:center 42%}
body.v2 .salon-gallery{background:var(--ivory);display:grid;grid-template-columns:.7fr 1.3fr;gap:clamp(46px,7vw,95px);align-items:end}
body.v2 .salon-gallery-copy h2{font-size:clamp(44px,5vw,70px);margin-bottom:24px}
body.v2 .salon-gallery-copy p:last-child{color:#566071}
body.v2 .salon-gallery-images{display:grid;grid-template-columns:1.15fr .85fr;gap:16px;align-items:end}
body.v2 .salon-gallery-images figure{overflow:hidden;margin:0}
body.v2 .salon-gallery-images img{width:100%;display:block;object-fit:cover}
body.v2 .gallery-large{border-radius:22px 22px 100px 22px}
body.v2 .gallery-large img{height:610px;object-position:center 50%}
body.v2 .gallery-small{border-radius:80px 22px 22px 22px;margin-bottom:38px!important}
body.v2 .gallery-small img{height:460px;object-position:center 55%}

/* Review action */
body.v2 .location-actions{display:flex;gap:18px;align-items:center;flex-wrap:wrap}
body.v2 .reviews-chip{display:inline-flex;align-items:center;gap:9px;padding:11px 16px;border-radius:999px;background:var(--ivory);color:var(--navy-deep)!important;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
body.v2 .reviews-chip.dark-outline{background:transparent;border:1px solid rgba(16,33,63,.25);color:var(--navy-deep)!important}

/* Footer as information + icon rail */
body.v2 .site-footer{padding-top:64px;background:linear-gradient(120deg,#061329,#0b2141)}
body.v2 .footer-inner{grid-template-columns:1.55fr .8fr .9fr 1fr;align-items:start}
body.v2 .footer-brand img{width:175px;margin-bottom:12px}
body.v2 .google-reviews{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:10px 14px;border:1px solid rgba(255,255,255,.23);border-radius:999px;color:#fff!important;font-size:10px;text-transform:uppercase;letter-spacing:.1em}
body.v2 .social-icons{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
body.v2 .social-icons a{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;color:#fff!important;font-size:17px;transition:background .18s ease,transform .18s ease}
body.v2 .social-icons a:hover{background:rgba(255,255,255,.11);transform:translateY(-2px)}

/* Cards can be softly modern without becoming bubbly */
body.v2 .soin-card,body.v2 .laser-tarif-card,body.v2 .laser-forfait-card,body.v2 .form-section,body.v2 .notice-texte{border-radius:16px!important}
body.v2 .notice-image img{border-radius:18px!important}

@media(max-width:980px){
  body.v2 .site-header{min-height:96px}
  body.v2 .site-header .brand img{width:150px}
  body.v2 .site-nav{gap:2px}
  body.v2 .site-nav a{padding:11px 12px;font-size:10px}
  body.v2 .editorial-split,body.v2 .technique-focus,body.v2 .salon-gallery{grid-template-columns:1fr}
  body.v2 .editorial-image{max-width:620px}
  body.v2 .technique-copy{max-width:680px}
}
@media(max-width:850px){
  body.v2 .site-header{min-height:84px;padding:12px 20px}
  body.v2 .site-header .brand img{width:136px;max-height:62px}
  body.v2 .site-nav{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:#0a1b35;border:1px solid rgba(255,255,255,.14);border-radius:20px;padding:10px 18px 18px;box-shadow:0 20px 45px rgba(0,0,0,.20)}
  body.v2 .site-nav.open{display:flex}
  body.v2 .site-nav a,body.v2 .site-nav .nav-book{border:0;border-bottom:1px solid rgba(255,255,255,.1);border-radius:0;background:transparent;color:#fff;padding:15px 6px}
  body.v2 .site-nav a:last-child{border-bottom:0}
  body.v2 .site-nav a.active:not(.nav-book)::after{display:none}
  body.v2 .editorial-image img.expert-portrait,body.v2 .editorial-image.tall img.expert-portrait{height:500px}
  body.v2 .technique-photo img{height:520px}
  body.v2 .salon-gallery-images{grid-template-columns:1fr 1fr}
  body.v2 .gallery-large img{height:500px}
  body.v2 .gallery-small img{height:390px}
  body.v2 .footer-inner{grid-template-columns:1fr 1fr}
}
@media(max-width:540px){
  body.v2 .hero-actions{gap:14px}
  body.v2 .button{padding-left:18px;padding-right:18px}
  body.v2 .editorial-image img.expert-portrait,body.v2 .editorial-image.tall img.expert-portrait{height:420px;border-radius:15px}
  body.v2 .technique-photo{border-radius:18px 18px 70px 18px}
  body.v2 .technique-photo img{height:430px}
  body.v2 .salon-gallery-images{grid-template-columns:1fr;gap:14px}
  body.v2 .gallery-large{border-radius:18px 18px 70px 18px}
  body.v2 .gallery-large img,body.v2 .gallery-small img{height:420px}
  body.v2 .gallery-small{margin-bottom:0!important;border-radius:60px 18px 18px 18px}
  body.v2 .location-actions{align-items:flex-start;flex-direction:column}
  body.v2 .footer-inner{grid-template-columns:1fr}
  body.v2 .social-icons a{width:44px;height:44px}
}

/* =========================================================
   V2.2 — navigation éditoriale + nouveau logo + réglages
   progressifs demandés le 24/08/2026.
   ========================================================= */
body.v2{--warm-beige:#c8b79f;--hero-brown:#d1bea3}

/* Header plus fin, signature ronde et navigation moins massive */
body.v2 .site-header{min-height:92px;padding:9px clamp(20px,4.2vw,66px);gap:26px;background:linear-gradient(108deg,#07162d 0%,#0b203d 100%)}
body.v2 .site-header .brand.brand-round{width:76px;height:76px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 22px rgba(0,0,0,.18);flex:0 0 76px}
body.v2 .site-header .brand.brand-round img{width:100%;height:100%;max-height:none;object-fit:cover;display:block}
body.v2 .site-nav{gap:0;background:transparent;border:0;border-radius:0;padding:0;backdrop-filter:none}
body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{appearance:none;background:transparent;border:0;color:rgba(255,255,255,.84);font-family:'Montserrat',sans-serif;font-size:9.5px;line-height:1;text-transform:uppercase;letter-spacing:.16em;font-weight:500;padding:12px 13px;cursor:pointer;position:relative;white-space:nowrap;transition:color .18s ease,opacity .18s ease}
body.v2 .site-nav a:hover,body.v2 .site-nav .nav-panel-trigger:hover,body.v2 .site-nav a.active{color:#fff;opacity:1;background:transparent}
body.v2 .site-nav a.active::after{content:"";position:absolute;left:13px;right:13px;bottom:5px;height:1px;background:rgba(235,221,201,.9)}
body.v2 .nav-toggle{border-radius:12px}

/* Menus latéraux inspirés d'une maison haut de gamme */
body.v2 .menu-scrim{position:fixed;inset:0;background:rgba(3,12,25,.36);z-index:49;backdrop-filter:blur(2px)}
body.v2 .mega-side-panel{position:fixed;left:0;top:0;bottom:0;width:min(390px,88vw);background:#0b0f16;color:#fff;z-index:50;transform:translateX(-104%);transition:transform .28s ease;box-shadow:24px 0 70px rgba(0,0,0,.24);padding-top:26px;overflow-y:auto}
body.v2 .mega-side-panel.open{transform:translateX(0)}
body.v2 .mega-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 30px 24px;border-bottom:1px solid rgba(255,255,255,.16)}
body.v2 .mega-panel-head p{margin:0;color:#fff;font-family:'Cormorant Garamond',serif;font-size:34px;line-height:1}
body.v2 .mega-close{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.2);background:transparent;color:#fff;font-size:28px;font-weight:200;cursor:pointer;line-height:1}
body.v2 .mega-panel-list{display:flex;flex-direction:column;padding:20px 0 30px}
body.v2 .mega-panel-list a{display:flex;align-items:center;justify-content:space-between;gap:18px;color:#fff!important;padding:19px 30px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid rgba(255,255,255,.09);transition:background .18s ease,padding-left .18s ease}
body.v2 .mega-panel-list a:hover{background:rgba(255,255,255,.06);padding-left:35px}
body.v2 .mega-panel-list i{font-size:10px;opacity:.65}

/* Accueil : titre plus petit, brun clair et aucun CTA sur la photographie */
body.v2 .hero-v2-content{max-width:720px;padding-bottom:82px}
body.v2 .hero-v2-content h1{font-size:clamp(42px,5vw,68px)!important;color:var(--hero-brown)!important;max-width:690px;letter-spacing:-.015em}
body.v2 .hero-v2-content h1 em{color:var(--hero-brown)!important}
body.v2 .hero-v2-content>p:not(.eyebrow){font-size:15.5px;max-width:560px;color:rgba(255,255,255,.88)}

/* Portrait de l'experte : on retire visuellement la zone haute/plafond */
body.v2 .editorial-image img.homepage-expert-crop{height:500px!important;object-position:50% 86%!important}

/* Trois expertises : trois blocs beige soutenu, texte noir */
body.v2 .expertise-grid{gap:18px;border:0}
body.v2 .expertise-card.beige-expertise-card{background:var(--warm-beige)!important;color:#111!important;border:0!important;border-radius:10px;padding:42px 34px 44px;min-height:330px;box-shadow:0 14px 36px rgba(0,0,0,.09)}
body.v2 .expertise-card.beige-expertise-card:hover{background:#d2c2aa!important;transform:translateY(-2px)}
body.v2 .expertise-card.beige-expertise-card span,body.v2 .expertise-card.beige-expertise-card h3,body.v2 .expertise-card.beige-expertise-card p,body.v2 .expertise-card.beige-expertise-card b{color:#111!important}
body.v2 .expertise-card.beige-expertise-card p{opacity:.76}
body.v2 .expertise-card.beige-expertise-card span{opacity:.65}

/* Bande adresse : suppression des doublons Avis Google / Informations & accès */
body.v2 .location-strip{justify-content:flex-start}

/* Nouveau logo également en pied de page */
body.v2 .footer-brand img.footer-round-logo{width:128px;height:128px;border-radius:50%;object-fit:cover;margin-bottom:18px;box-shadow:0 8px 28px rgba(0,0,0,.16)}

/* Réseaux : codes couleurs de marque */
body.v2 .social-icons a{border:0!important;color:#fff!important;box-shadow:0 4px 14px rgba(0,0,0,.18)}
body.v2 .social-icons a.social-instagram{background:radial-gradient(circle at 30% 110%,#fdf497 0 5%,#fdf497 5%,#fd5949 45%,#d6249f 62%,#285AEB 90%)}
body.v2 .social-icons a.social-tiktok{background:#010101;box-shadow:0 4px 14px rgba(0,0,0,.22),inset 2px 0 0 #25f4ee,inset -2px 0 0 #fe2c55}
body.v2 .social-icons a.social-facebook{background:#1877f2}
body.v2 .social-icons a.social-whatsapp{background:#25d366}
body.v2 .social-icons a.social-email{background:#ea4335}
body.v2 .social-icons a:hover{filter:brightness(1.08);transform:translateY(-2px)}

/* Page Le Salon : ouverture distincte en plan large, sans recadrer Héline */
body.v2 .salon-hero-split{min-height:620px;display:grid;grid-template-columns:.9fr 1.1fr;background:#07162d;overflow:hidden}
body.v2 .salon-hero-copy{display:flex;flex-direction:column;justify-content:flex-end;padding:70px clamp(30px,6vw,90px)}
body.v2 .salon-hero-copy h1{color:#fff!important;font-size:clamp(54px,6vw,88px);max-width:690px}
body.v2 .salon-hero-photo{background:#e8e0d4;display:flex;align-items:center;justify-content:center;overflow:hidden}
body.v2 .salon-hero-photo img{width:100%;height:100%;max-height:720px;object-fit:contain;object-position:center center;display:block}

@media(max-width:980px){
  body.v2 .site-header .brand.brand-round{width:68px;height:68px;flex-basis:68px}
  body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{font-size:9px;padding:11px 9px;letter-spacing:.13em}
}
@media(max-width:850px){
  body.v2 .site-header{min-height:78px;padding:8px 16px}
  body.v2 .site-header .brand.brand-round{width:60px;height:60px;flex-basis:60px}
  body.v2 .site-nav{display:none;position:absolute;left:16px;right:16px;top:calc(100% + 8px);background:#0a1b35;border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:8px 16px 16px;box-shadow:0 20px 45px rgba(0,0,0,.20);z-index:45}
  body.v2 .site-nav.open{display:flex}
  body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{width:100%;text-align:left;border-bottom:1px solid rgba(255,255,255,.1);padding:15px 6px;font-size:10px;color:#fff}
  body.v2 .site-nav a.active::after{display:none}
  body.v2 .salon-hero-split{grid-template-columns:1fr;min-height:0}
  body.v2 .salon-hero-copy{min-height:370px;padding:55px 24px}
  body.v2 .salon-hero-photo{min-height:560px}
  body.v2 .salon-hero-photo img{max-height:640px}
  body.v2 .expertise-grid{gap:14px}
}
@media(max-width:540px){
  body.v2 .hero-v2-content h1{font-size:43px!important}
  body.v2 .editorial-image img.homepage-expert-crop{height:390px!important;object-position:50% 84%!important}
  body.v2 .expertise-card.beige-expertise-card{min-height:0}
  body.v2 .salon-hero-copy h1{font-size:48px}
  body.v2 .salon-hero-photo{min-height:480px}
}
/* Les panneaux commencent sous le bandeau, comme sur la référence fournie. */
body.v2 .menu-scrim{top:92px}
body.v2 .mega-side-panel{top:92px}
@media(max-width:850px){body.v2 .menu-scrim,body.v2 .mega-side-panel{top:78px}}


/* ===== MAJ3 - 24/08/2026 ===== */
/* Header : navigation plus présente, logo carré à droite */
body.v2 .site-header{justify-content:flex-end;align-items:center;gap:22px;padding-left:clamp(26px,5vw,76px);padding-right:clamp(22px,4vw,58px);min-height:104px}
body.v2 .site-header .site-nav{margin-left:auto;order:1;display:flex;align-items:center;justify-content:flex-end}
body.v2 .site-header .nav-toggle{order:2}
body.v2 .site-header .brand.brand-round.brand-square{order:3;width:94px;height:94px;flex:0 0 94px;border-radius:13px;background:#efe3d3;padding:5px;overflow:hidden;box-shadow:0 7px 24px rgba(0,0,0,.20)}
body.v2 .site-header .brand.brand-round.brand-square img{width:100%;height:100%;object-fit:contain;border-radius:9px}
body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{font-size:10.3px;letter-spacing:.135em;padding:13px 14px}

/* Menus latéraux : beige soutenu / brun clair et texte noir */
body.v2 .mega-side-panel{top:104px;background:#c9b79d;color:#111;box-shadow:26px 0 70px rgba(0,0,0,.20)}
body.v2 .mega-panel-head{border-bottom:1px solid rgba(17,17,17,.18)}
body.v2 .mega-panel-head p,body.v2 .mega-close{color:#111!important}
body.v2 .mega-panel-list a{color:#111!important;border-bottom:1px solid rgba(17,17,17,.14)}
body.v2 .mega-panel-list a:hover{background:rgba(255,255,255,.20);color:#111!important}
body.v2 .mega-panel-list i{color:#111!important;opacity:.72}

/* Avis Google sur l'accueil */
body.v2 .google-testimonials{background:#eee3d4;color:#111;border-top:1px solid rgba(7,22,45,.08);border-bottom:1px solid rgba(7,22,45,.08)}
body.v2 .reviews-heading{max-width:1380px;margin:0 auto 34px}
body.v2 .reviews-heading h2{font-size:clamp(36px,4.5vw,62px);color:#0b1f3b;margin:4px 0 18px}
body.v2 .google-rating-line{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-family:'Montserrat',sans-serif;color:#171717;font-size:12px}
body.v2 .google-rating-line strong{letter-spacing:.08em;font-size:11px}
body.v2 .google-word{font-family:Arial,sans-serif;font-weight:700;font-size:25px;letter-spacing:-2px;margin-right:4px}
body.v2 .g-blue{color:#4285F4}body.v2 .g-red{color:#EA4335}body.v2 .g-yellow{color:#FBBC05}body.v2 .g-green{color:#34A853}
body.v2 .review-stars{color:#d99a21;letter-spacing:2px;font-size:17px;white-space:nowrap}
body.v2 .review-cards{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
body.v2 .review-card{background:#dccab1;border-radius:14px;padding:24px 22px 22px;min-height:300px;display:flex;flex-direction:column;border:1px solid rgba(11,31,59,.08);box-shadow:0 8px 22px rgba(60,43,27,.06)}
body.v2 .review-card-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:11px}
body.v2 .review-card h3{font-family:'Cormorant Garamond',serif;font-size:24px;color:#0b1f3b;margin:0 0 3px}
body.v2 .review-card time{font:500 10px/1.4 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.08em;color:#5d5245}
body.v2 .review-card p{color:#171717!important;font-size:14px;line-height:1.65;margin:15px 0 18px}
body.v2 .review-card a{margin-top:auto;color:#0b1f3b;font:600 10px/1.2 'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.08em}
body.v2 .mini-google{width:28px;height:28px;border-radius:50%;background:#fff;display:inline-flex;align-items:center;justify-content:center;color:#4285F4;font:bold 16px Arial,sans-serif;box-shadow:0 2px 9px rgba(0,0,0,.08)}
body.v2 .review-all-card{background:#0b1f3b;color:#fff;justify-content:center}
body.v2 .review-all-card h3,body.v2 .review-all-card p,body.v2 .review-all-card a{color:#fff!important}
body.v2 .review-all-score{font-family:'Cormorant Garamond',serif;font-size:52px;line-height:1;color:#fff}
body.v2 .review-all-link{display:inline-flex;margin-top:auto!important}

/* Footer social : 5 pictogrammes alignés, sans pastille, libellé dessous */
body.v2 .footer-inner{grid-template-columns:1.35fr .72fr .82fr 1.35fr}
body.v2 .social-icons{display:grid;grid-template-columns:repeat(5,minmax(46px,1fr));gap:15px;align-items:start;margin-top:18px;max-width:420px}
body.v2 .social-icons a{width:auto!important;height:auto!important;min-height:58px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;display:flex!important;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;font-size:22px;transform:none!important;text-decoration:none}
body.v2 .social-icons a i{height:24px;display:flex;align-items:center;justify-content:center}
body.v2 .social-icons .social-name{font:500 8.5px/1.1 'Montserrat',sans-serif;color:#fff!important;letter-spacing:.02em;text-transform:none}
body.v2 .social-icons a.social-instagram i{background:linear-gradient(45deg,#feda75,#d62976,#962fbf,#4f5bd5);-webkit-background-clip:text;background-clip:text;color:transparent}
body.v2 .social-icons a.social-tiktok i{color:#fff;text-shadow:-1px 0 #25f4ee,1px 0 #fe2c55}
body.v2 .social-icons a.social-facebook i{color:#1877f2}
body.v2 .social-icons a.social-whatsapp i{color:#25d366}
body.v2 .social-icons a.social-email i{color:#ea4335}
body.v2 .social-icons a:hover i{transform:translateY(-1px)}

/* Page Le Salon : texte d'introduction enrichi et visuel parcours non redondant */
body.v2 .salon-hero-copy{justify-content:center;padding-top:84px;padding-bottom:84px}
body.v2 .salon-hero-copy h1{font-size:clamp(48px,5.2vw,76px);margin-bottom:26px}
body.v2 .salon-hero-intro{max-width:660px;border-top:1px solid rgba(235,221,201,.45);padding-top:22px}
body.v2 .salon-hero-intro p{color:rgba(255,255,255,.78)!important;font-size:14px;line-height:1.75;margin:0 0 13px}
body.v2 .editorial-image img.journey-image{width:100%;height:610px;object-fit:cover;object-position:50% 48%;border-radius:18px;display:block}

@media(max-width:1050px){
 body.v2 .review-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.v2 .footer-inner{grid-template-columns:1fr 1fr}
 body.v2 .site-header .brand.brand-round.brand-square{width:82px;height:82px;flex-basis:82px}
 body.v2 .mega-side-panel{top:96px}
}
@media(max-width:850px){
 body.v2 .site-header{min-height:82px;padding:8px 16px;justify-content:space-between}
 body.v2 .site-header .brand.brand-round.brand-square{order:3;width:66px;height:66px;flex-basis:66px}
 body.v2 .site-header .site-nav{order:2;margin-left:0;display:none}
 body.v2 .site-header .site-nav.open{display:flex}
 body.v2 .site-header .nav-toggle{order:1}
 body.v2 .mega-side-panel{top:82px}
 body.v2 .social-icons{max-width:360px}
 body.v2 .editorial-image img.journey-image{height:500px}
}
@media(max-width:620px){
 body.v2 .review-cards{grid-template-columns:1fr}
 body.v2 .review-card{min-height:0}
 body.v2 .google-rating-line{gap:9px}
 body.v2 .footer-inner{grid-template-columns:1fr}
 body.v2 .social-icons{grid-template-columns:repeat(5,minmax(42px,1fr));gap:8px;width:100%;max-width:100%}
 body.v2 .social-icons a{font-size:20px;min-height:56px}
 body.v2 .social-icons .social-name{font-size:7.5px}
 body.v2 .editorial-image img.journey-image{height:390px;border-radius:14px}
}

/* --- MAJ4 : nouvelle couverture et première visite illustrée --- */
body.v2 .hero-v2.hero-photo-only{
  min-height:760px;
  background:#e8dece;
  align-items:stretch;
}
body.v2 .hero-v2.hero-photo-only .hero-v2-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
body.v2 .first-visit{
  grid-template-columns:minmax(0,.85fr) minmax(0,1fr);
  row-gap:44px;
}
body.v2 .first-visit-gallery{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:2px;
}
body.v2 .first-visit-gallery figure{
  margin:0;
  min-width:0;
  overflow:hidden;
  border-radius:18px;
  background:#dfd2bf;
}
body.v2 .first-visit-gallery img{
  display:block;
  width:100%;
  height:300px;
  object-fit:cover;
}
body.v2 .first-visit-gallery figure:first-child img{
  object-position:center 53%;
}
body.v2 .first-visit-gallery figure:last-child img{
  object-position:center center;
}
@media(max-width:850px){
  body.v2 .hero-v2.hero-photo-only{min-height:560px}
  body.v2 .hero-v2.hero-photo-only .hero-v2-image{object-position:38% center}
  body.v2 .first-visit{grid-template-columns:1fr}
  body.v2 .first-visit-gallery{grid-column:auto;grid-template-columns:1fr 1fr;gap:14px}
  body.v2 .first-visit-gallery img{height:220px}
}
@media(max-width:540px){
  body.v2 .hero-v2.hero-photo-only{min-height:455px}
  body.v2 .hero-v2.hero-photo-only .hero-v2-image{object-position:33% center}
  body.v2 .first-visit-gallery{grid-template-columns:1fr}
  body.v2 .first-visit-gallery img{height:230px}
}


/* ===== MAJ5 - 24/08/2026 ===== */
/* Accueil : logo rond seul à droite, sans cartouche carré */
body.v2 .site-header .brand.brand-round:not(.brand-square){
  order:3;
  width:96px;
  height:96px;
  flex:0 0 96px;
  border-radius:50%;
  overflow:hidden;
  padding:0;
  background:transparent;
  box-shadow:0 7px 24px rgba(0,0,0,.18);
}
body.v2 .site-header .brand.brand-round:not(.brand-square) img{
  width:100%;
  height:100%;
  max-height:none;
  object-fit:cover;
  border-radius:50%;
  display:block;
}

/* Navigation : légèrement plus grande, plus affirmée et élégante */
body.v2 .site-nav a,
body.v2 .site-nav .nav-panel-trigger{
  font-size:11.5px;
  font-weight:650;
  letter-spacing:.105em;
  padding:14px 15px;
}

/* Nouvelle image de couverture : aucune surcharge de texte */
body.v2 .hero-v2.hero-photo-only .hero-v2-image{
  object-position:center center;
}

/* Première visite : deux plans larges intégraux, équilibrés */
body.v2 .first-visit-gallery{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:28px;
  align-items:stretch;
  margin-top:14px;
}
body.v2 .first-visit-gallery figure{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:0;
  aspect-ratio:3 / 2;
  padding:0;
  background:#d8c7af;
  border-radius:16px;
  overflow:hidden;
}
body.v2 .first-visit-gallery img,
body.v2 .first-visit-gallery figure:first-child img,
body.v2 .first-visit-gallery figure:last-child img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  display:block;
}

@media(max-width:1050px){
  body.v2 .site-header .brand.brand-round:not(.brand-square){width:86px;height:86px;flex-basis:86px}
  body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{font-size:10.7px;padding:13px 11px}
}
@media(max-width:850px){
  body.v2 .site-header .brand.brand-round:not(.brand-square){order:3;width:68px;height:68px;flex-basis:68px}
  body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{font-size:10.5px;font-weight:650;padding:15px 6px}
  body.v2 .first-visit-gallery{grid-template-columns:1fr;gap:18px}
  body.v2 .first-visit-gallery figure{aspect-ratio:3 / 2}
}
@media(max-width:540px){
  body.v2 .site-header .brand.brand-round:not(.brand-square){width:62px;height:62px;flex-basis:62px}
  body.v2 .first-visit-gallery{gap:14px}
}

/* --- MAJ6 : couverture intégrale + CTA centré entre les deux vues --- */
body.v2 .hero-v2.hero-photo-only{
  min-height:0 !important;
  height:auto !important;
  display:block;
  overflow:hidden;
  background:#e8dece;
}
body.v2 .hero-v2.hero-photo-only .hero-v2-image{
  position:relative !important;
  inset:auto !important;
  width:100%;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
}
body.v2 .first-visit{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  column-gap:64px;
  row-gap:36px;
  align-items:start;
}
body.v2 .first-visit-gallery{
  grid-column:1 / -1;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:28px;
  align-items:center;
  margin-top:4px;
}
body.v2 .first-visit-gallery figure{
  width:100%;
  aspect-ratio:3 / 2;
  margin:0;
  border-radius:16px;
  overflow:hidden;
  background:#d8c7af;
}
body.v2 .first-visit-gallery img,
body.v2 .first-visit-gallery figure:first-child img,
body.v2 .first-visit-gallery figure:last-child img{
  width:100%;
  height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
}
body.v2 .first-visit-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 8px;
}
body.v2 .first-visit-cta .button{
  white-space:nowrap;
  border-radius:14px;
  min-height:54px;
  padding:0 26px;
}
@media(max-width:1050px){
  body.v2 .first-visit-gallery{grid-template-columns:1fr;gap:18px}
  body.v2 .first-visit-cta{order:2;padding:4px 0 6px}
  body.v2 .first-visit-gallery figure:first-child{order:1}
  body.v2 .first-visit-gallery figure:last-child{order:3}
}
@media(max-width:850px){
  body.v2 .first-visit{grid-template-columns:1fr;column-gap:0}
}


/* ===== MAJ7 - 24/08/2026 ===== */
/* Header : logo à gauche, navigation plus présente et halo très léger */
body.v2 .site-header{justify-content:flex-start;gap:28px}
body.v2 .site-header .brand.brand-round:not(.brand-square){order:1;margin-right:auto}
body.v2 .site-header .site-nav{order:2;margin-left:0;justify-content:flex-end}
body.v2 .site-header .nav-toggle{order:3}
body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{
  font-size:13px;
  font-weight:700;
  letter-spacing:.085em;
  text-shadow:0 0 8px rgba(244,226,194,.34),0 0 2px rgba(255,255,255,.28);
  transition:color .25s ease,text-shadow .25s ease,transform .25s ease;
}
body.v2 .site-nav a:hover,body.v2 .site-nav .nav-panel-trigger:hover{
  text-shadow:0 0 10px rgba(248,227,188,.52),0 0 3px rgba(255,255,255,.35);
  transform:translateY(-1px);
}
/* Première visite : la composition occupe presque toute la largeur utile */
body.v2 .first-visit-gallery{
  grid-template-columns:minmax(0,1.35fr) minmax(180px,.42fr) minmax(0,1.35fr);
  gap:24px;
  width:calc(100% + 80px);
  margin-left:-40px;
  margin-right:-40px;
  align-items:center;
}
body.v2 .first-visit-gallery figure{aspect-ratio:3 / 2}
body.v2 .first-visit-cta .button{padding:0 22px;text-align:center;white-space:normal;line-height:1.25}
/* Ouverture latérale plus raffinée : glissement + léger fondu + flou progressif */
body.v2 .menu-scrim{
  display:block!important;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .48s cubic-bezier(.22,1,.36,1),visibility 0s linear .48s;
}
body.v2 .menu-scrim:not([hidden]){
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition-delay:0s;
}
body.v2 .mega-side-panel{
  transform:translateX(calc(-100% - 34px)) scale(.985);
  opacity:.35;
  filter:blur(4px);
  transition:transform .62s cubic-bezier(.22,1,.36,1),opacity .46s ease,filter .62s cubic-bezier(.22,1,.36,1);
  will-change:transform,opacity,filter;
}
body.v2 .mega-side-panel.open{
  transform:translateX(0) scale(1);
  opacity:1;
  filter:blur(0);
}
body.v2 .mega-panel-list a{
  opacity:.82;
  transform:translateX(-8px);
  transition:background .25s ease,padding-left .25s ease,opacity .38s ease,transform .38s ease;
}
body.v2 .mega-side-panel.open .mega-panel-list a{opacity:1;transform:translateX(0)}
body.v2 .mega-side-panel.open .mega-panel-list a:nth-child(1){transition-delay:.10s}
body.v2 .mega-side-panel.open .mega-panel-list a:nth-child(2){transition-delay:.14s}
body.v2 .mega-side-panel.open .mega-panel-list a:nth-child(3){transition-delay:.18s}
body.v2 .mega-side-panel.open .mega-panel-list a:nth-child(4){transition-delay:.22s}
body.v2 .mega-side-panel.open .mega-panel-list a:nth-child(5){transition-delay:.26s}
body.v2 .mega-side-panel.open .mega-panel-list a:nth-child(6){transition-delay:.30s}
@media (prefers-reduced-motion:reduce){
 body.v2 .mega-side-panel,body.v2 .menu-scrim,body.v2 .mega-panel-list a{transition:none!important;transform:none!important;filter:none!important}
}
@media(max-width:1050px){
  body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{font-size:11.5px;padding:13px 9px}
  body.v2 .first-visit-gallery{width:100%;margin-left:0;margin-right:0;grid-template-columns:1fr}
}
@media(max-width:850px){
  body.v2 .site-header{justify-content:space-between}
  body.v2 .site-header .brand.brand-round:not(.brand-square){order:1;margin-right:0}
  body.v2 .site-header .nav-toggle{order:2}
  body.v2 .site-header .site-nav{order:3}
}

/* ===== MAJ8 - Première visite + page Contact ===== */
body.v2 .first-visit-gallery{
  width:calc(100% + 210px);
  margin-left:-105px;
  margin-right:-105px;
  grid-template-columns:minmax(0,1.62fr) minmax(190px,.42fr) minmax(0,1.62fr);
  gap:28px;
}
body.v2 .first-visit-gallery figure{
  aspect-ratio:16 / 10;
  min-height:390px;
  border-radius:18px;
  overflow:hidden;
  background:#e6d9c7;
  box-shadow:0 16px 42px rgba(37,28,21,.10);
}
body.v2 .first-visit-gallery img,
body.v2 .first-visit-gallery figure:first-child img,
body.v2 .first-visit-gallery figure:last-child img{
  width:100%;height:100%;object-fit:contain;object-position:center center;display:block;
}
body.v2 .first-visit-cta{display:flex;align-items:center;justify-content:center;padding:0 2px}
body.v2 .first-visit-cta .button{min-height:58px;border-radius:18px;box-shadow:0 10px 28px rgba(7,22,45,.14)}

body.v2 .contact-page-main{background:linear-gradient(135deg,#bfa98d 0%,#d9c8b2 42%,#b89e7d 100%);min-height:720px;display:flex;align-items:center;position:relative;overflow:hidden}
body.v2 .contact-page-main:before,body.v2 .contact-page-main:after{content:"";position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}
body.v2 .contact-page-main:before{width:440px;height:440px;right:-130px;top:-110px;background:rgba(255,248,237,.28)}
body.v2 .contact-page-main:after{width:340px;height:340px;left:-120px;bottom:-150px;background:rgba(83,57,34,.10)}
body.v2 .contact-hero-v2{width:100%;display:flex;justify-content:center;position:relative;z-index:1}
body.v2 .contact-card-v2{width:min(760px,92vw);text-align:center;background:rgba(250,243,233,.86);border:1px solid rgba(67,43,26,.13);border-radius:34px;padding:58px clamp(30px,6vw,76px);box-shadow:0 28px 70px rgba(55,39,25,.17);backdrop-filter:blur(12px)}
body.v2 .contact-logo-v2{width:150px;height:150px;border-radius:50%;object-fit:cover;margin:0 auto 28px;box-shadow:0 12px 32px rgba(41,31,21,.14)}
body.v2 .contact-card-v2 .eyebrow{color:#6f543c!important;margin-bottom:16px}
body.v2 .contact-card-v2 h1{font-family:'Cormorant Garamond',serif;color:#171513!important;font-size:clamp(44px,5.5vw,72px);font-weight:500;line-height:1.02;margin:0 auto 22px;max-width:650px}
body.v2 .contact-lead{font-size:16px;line-height:1.75;color:#3d352e;max-width:590px;margin:0 auto 28px}
body.v2 .contact-email-v2{display:inline-flex;align-items:center;gap:12px;color:#07162d;font-size:18px;font-weight:700;padding:15px 22px;border-bottom:1px solid rgba(7,22,45,.34)}
body.v2 .contact-email-v2 i{font-size:20px}
body.v2 .contact-note-v2{font-size:13px;color:#675a4f;margin:22px auto 0;max-width:520px}

@media(max-width:1180px){body.v2 .first-visit-gallery{width:calc(100% + 80px);margin-left:-40px;margin-right:-40px;grid-template-columns:1.35fr .42fr 1.35fr}body.v2 .first-visit-gallery figure{min-height:330px}}
@media(max-width:850px){body.v2 .first-visit-gallery{width:100%;margin-left:0;margin-right:0;grid-template-columns:1fr;gap:20px}body.v2 .first-visit-gallery figure{min-height:0;aspect-ratio:16/10}body.v2 .first-visit-cta{padding:4px 0 8px}body.v2 .contact-page-main{min-height:620px}}
@media(max-width:540px){body.v2 .contact-card-v2{padding:42px 22px;border-radius:24px}body.v2 .contact-logo-v2{width:118px;height:118px}body.v2 .contact-email-v2{font-size:15px;padding-left:8px;padding-right:8px;word-break:break-word}}

/* ===== MAJ9 - homogénéisation navigation + salon ===== */
/* Première visite : suppression des deux photos et recentrage éditorial */
body.v2 .first-visit{
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  align-items:center;
  column-gap:72px;
  row-gap:28px;
}
body.v2 .first-visit-cta-solo{
  grid-column:1 / -1;
  justify-content:center;
  padding-top:10px;
}
body.v2 .first-visit-cta-solo .button{
  min-width:260px;
  border-radius:18px;
}

/* Le Salon — La philosophie : marine profond, titres sable clair */
body.v2 .values{
  background:#07162d !important;
  color:#fff;
}
body.v2 .values .section-head .eyebrow,
body.v2 .values .section-head h2,
body.v2 .values .value-grid h3,
body.v2 .values .value-grid span{
  color:#cbb08d !important;
}
body.v2 .values .value-grid p{color:rgba(255,255,255,.88) !important;}
body.v2 .values .value-grid{border-top-color:rgba(255,255,255,.22);}
body.v2 .values .value-grid article{border-right-color:rgba(255,255,255,.20);}

/* Le Salon — Venir au salon : même univers marine + carte couleur */
body.v2 .visit-section{
  background:#07162d;
  color:#fff;
  padding-left:clamp(24px,7vw,110px);
  padding-right:clamp(24px,7vw,110px);
}
body.v2 .visit-section .eyebrow,
body.v2 .visit-section h2{color:#cbb08d !important;}
body.v2 .visit-section p{color:rgba(255,255,255,.90) !important;}
body.v2 .visit-section .button.dark-btn{
  background:#cbb08d;
  color:#07162d;
  border-color:#cbb08d;
}
body.v2 .visit-section .reviews-chip.dark-outline{
  color:#fff;
  border-color:rgba(255,255,255,.55);
}
body.v2 .map-frame iframe{
  filter:none !important;
  border-radius:18px;
}

@media(max-width:850px){
  body.v2 .first-visit{grid-template-columns:1fr;column-gap:0;}
  body.v2 .value-grid article{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);}
}

/* ===== MAJ10 - accueil experte + première visite + avis Google salon ===== */
/* Accueil — L'experte en marine profond */
body.v2 .expert-home-section{
  background:#07162d;
  color:#fff;
}
body.v2 .expert-home-section .editorial-copy .eyebrow,
body.v2 .expert-home-section .editorial-copy h2{
  color:#cbb08d !important;
}
body.v2 .expert-home-section .editorial-copy p{
  color:rgba(255,255,255,.88) !important;
}
body.v2 .expert-home-section .text-link{
  color:#fff !important;
  border-bottom-color:rgba(203,176,141,.65);
}

/* Accueil — Première visite : moitié gauche visuelle, moitié droite éditoriale */
body.v2 .first-visit.first-visit-visual-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-items:center;
  gap:clamp(44px,6vw,88px);
  background:var(--ivory);
}
body.v2 .first-visit-visual .eyebrow{
  margin-bottom:18px;
}
body.v2 .first-visit-visual figure{
  margin:0;
  width:100%;
  border-radius:20px;
  overflow:hidden;
  background:#d8c6ad;
  box-shadow:0 18px 46px rgba(34,25,17,.12);
}
body.v2 .first-visit-visual img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:16 / 10;
  object-fit:cover;
  object-position:center;
}
body.v2 .first-visit-content{
  max-width:620px;
}
body.v2 .first-visit-content h2{
  font-size:clamp(42px,4.7vw,70px);
  margin:0 0 24px;
}
body.v2 .first-visit-content>p:not(.first-offer){
  font-size:15px;
  line-height:1.8;
  max-width:560px;
}
body.v2 .first-visit-content .button{
  margin-top:8px;
  border-radius:18px;
}

/* Le Salon — bouton Avis Google visible sur fond marine */
body.v2 .visit-section .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:24px;
}
body.v2 .visit-section .google-visible-chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:48px;
  padding:0 20px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(255,255,255,.85);
  color:#07162d !important;
  font-family:'Montserrat',sans-serif;
  font-size:12px;
  font-weight:700;
  letter-spacing:.03em;
  box-shadow:0 10px 28px rgba(0,0,0,.14);
}
body.v2 .visit-section .google-gmark{
  font-family:Arial,sans-serif;
  font-size:20px;
  font-weight:800;
  line-height:1;
}
body.v2 .visit-section .google-visible-chip:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 34px rgba(0,0,0,.18);
}

@media(max-width:850px){
  body.v2 .first-visit.first-visit-visual-layout{grid-template-columns:1fr;gap:38px}
  body.v2 .first-visit-content{max-width:none}
}


/* ===== MAJ11 - barre diagnostic + parcours international ===== */
body.v2 .quick-diagnostic-bar{
  width:min(760px,calc(100% - 44px));
  min-height:72px;
  margin:-6px auto 10px;
  display:grid;
  grid-template-columns:1fr 76px 1fr;
  align-items:center;
  background:#fff;
  border:1px solid rgba(7,22,45,.08);
  border-radius:999px;
  box-shadow:0 14px 38px rgba(7,22,45,.13);
  overflow:hidden;
  position:relative;
  z-index:4;
}
body.v2 .quick-diagnostic-side{
  display:flex;align-items:center;justify-content:center;min-height:72px;
  color:#765f4c;text-transform:uppercase;letter-spacing:.11em;
  font-family:'Montserrat',sans-serif;font-size:15px;font-weight:600;
  text-decoration:none;transition:background .3s ease,color .3s ease;
}
body.v2 .quick-diagnostic-side:hover{background:#f4eee6;color:#07162d}
body.v2 .quick-diagnostic-whatsapp{
  width:76px;height:76px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  justify-self:center;background:#b9826f;color:#fff;font-size:31px;text-decoration:none;
  box-shadow:0 8px 22px rgba(185,130,111,.32);transition:transform .3s ease,box-shadow .3s ease;
}
body.v2 .quick-diagnostic-whatsapp:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(185,130,111,.4)}
body.v2 .international-journey{background:#c5a27f;color:#07162d}
body.v2 .international-journey .editorial-copy .eyebrow,
body.v2 .international-journey .editorial-copy h2,
body.v2 .international-journey .editorial-copy p{color:#07162d!important}
body.v2 .international-journey .editorial-copy blockquote{color:#07162d;border-left-color:#07162d}
@media(max-width:620px){
 body.v2 .quick-diagnostic-bar{width:calc(100% - 28px);grid-template-columns:1fr 58px 1fr;min-height:60px}
 body.v2 .quick-diagnostic-side{min-height:60px;font-size:11px;letter-spacing:.07em}
 body.v2 .quick-diagnostic-whatsapp{width:58px;height:58px;font-size:25px}
}
\n\n/* ===== MAJ12 - beige technologies, barre compacte intégrée, parcours clair, map stable ===== */
body.v2 .technique-focus{
  background:#e8dcc9 !important;
}
body.v2 .technique-focus .technique-copy .eyebrow,
body.v2 .technique-focus .technique-copy h2{
  color:#07162d !important;
}
body.v2 .technique-focus .technique-copy p{
  color:#3f3a34 !important;
}

/* Barre intégrée à Maison de beauté, compacte et sans bande intermédiaire */
body.v2 .manifesto{
  position:relative;
}
body.v2 .manifesto .quick-diagnostic-bar{
  width:min(520px,calc(100% - 36px));
  min-height:52px;
  margin:-34px auto 42px;
  grid-template-columns:1fr 54px 1fr;
  border-radius:999px;
  box-shadow:0 10px 28px rgba(7,22,45,.12);
}
body.v2 .manifesto .quick-diagnostic-side{
  min-height:52px;
  font-size:11px;
  letter-spacing:.09em;
}
body.v2 .manifesto .quick-diagnostic-whatsapp{
  width:54px;
  height:54px;
  font-size:23px;
  box-shadow:0 7px 18px rgba(185,130,111,.28);
}

/* Parcours international : beige nettement plus clair */
body.v2 .international-journey{
  background:#eadfce !important;
}

/* Carte couleur et chargement plus fiable dès la première ouverture */
body.v2 .map-frame{
  background:#e8dcc9;
  min-height:480px;
  border-radius:18px;
  overflow:hidden;
}
body.v2 .map-frame iframe{
  display:block;
  width:100%;
  height:480px;
  min-height:480px;
  border:0;
  filter:none !important;
  background:#e8dcc9;
}

@media(max-width:620px){
  body.v2 .manifesto .quick-diagnostic-bar{
    width:min(430px,calc(100% - 12px));
    grid-template-columns:1fr 48px 1fr;
    min-height:48px;
    margin:-30px auto 34px;
  }
  body.v2 .manifesto .quick-diagnostic-side{min-height:48px;font-size:10px;}
  body.v2 .manifesto .quick-diagnostic-whatsapp{width:48px;height:48px;font-size:21px;}
  body.v2 .map-frame,body.v2 .map-frame iframe{min-height:380px;height:380px;}
}

/* MAJ13 — panneaux Vos besoins / Nos solutions plus compacts */
@media (min-width:851px){
  body.v2 .mega-side-panel{
    width:282px;
    right:auto;
    bottom:auto;
    height:auto;
    max-height:calc(100vh - 122px);
    overflow:hidden;
    padding-top:0;
    border-radius:0 0 16px 0;
  }
  body.v2 .mega-panel-head{
    min-height:52px;
    padding:12px 17px 11px 20px;
  }
  body.v2 .mega-panel-head p{
    font-size:21px;
    line-height:1.05;
    letter-spacing:.01em;
  }
  body.v2 .mega-close{
    width:30px;
    height:30px;
    font-size:22px;
  }
  body.v2 .mega-panel-list{
    padding:5px 0 9px;
    overflow:hidden;
  }
  body.v2 .mega-panel-list a{
    min-height:43px;
    padding:10px 20px;
    gap:10px;
    font-size:10.5px;
    line-height:1.18;
    letter-spacing:.055em;
  }
  body.v2 .mega-panel-list a:hover{
    padding-left:24px;
  }
  body.v2 .mega-panel-list i{
    flex:0 0 auto;
    font-size:8px;
  }
}
@media (max-width:850px){
  body.v2 .mega-side-panel{
    width:min(300px,82vw);
    overflow-y:auto;
  }
  body.v2 .mega-panel-head{padding:14px 18px 13px}
  body.v2 .mega-panel-head p{font-size:23px}
  body.v2 .mega-panel-list{padding:6px 0 10px}
  body.v2 .mega-panel-list a{padding:11px 18px;font-size:10.5px;line-height:1.2}
}

/* MAJ14 — 6 rubriques toujours visibles sans défilement */
@media (min-width:851px){
  body.v2 .mega-side-panel{
    width:258px;
    max-height:none;
    overflow:visible;
    border-radius:0 0 14px 0;
  }
  body.v2 .mega-panel-head{
    min-height:42px;
    padding:8px 14px 7px 17px;
  }
  body.v2 .mega-panel-head p{
    font-size:17px;
    line-height:1;
    letter-spacing:.015em;
  }
  body.v2 .mega-close{
    width:26px;
    height:26px;
    font-size:19px;
  }
  body.v2 .mega-panel-list{
    padding:3px 0 6px;
    overflow:visible;
  }
  body.v2 .mega-panel-list a{
    min-height:34px;
    padding:7px 16px 7px 17px;
    gap:8px;
    font-size:9.2px;
    line-height:1.08;
    letter-spacing:.045em;
  }
  body.v2 .mega-panel-list a:hover{
    padding-left:20px;
  }
  body.v2 .mega-panel-list i{
    font-size:7px;
  }
}


/* ===== MAJ16 — finition responsive iPhone / Samsung ===== */
/* Toutes les règles ci-dessous sont limitées au mobile : aucun changement desktop. */
@media (max-width:850px){
  /* En-tête identique sur toutes les pages et cibles tactiles confortables */
  body.v2 .site-header{min-height:78px;padding:8px 16px;gap:14px;}
  body.v2 .site-header .brand.brand-round:not(.brand-square){
    order:1;width:62px;height:62px;flex:0 0 62px;margin-right:0;
  }
  body.v2 .site-header .nav-toggle{
    order:2;margin-left:auto;min-width:64px;min-height:44px;padding:10px 15px;
  }
  body.v2 .site-header .site-nav{order:3;left:12px;right:12px;top:calc(100% + 7px);}
  body.v2 .site-nav a,body.v2 .site-nav .nav-panel-trigger{
    min-height:44px;display:flex;align-items:center;font-size:10.5px;padding:12px 7px;
  }

  /* Vos besoins / Nos solutions : plus discrets et entièrement lisibles sans scroll */
  body.v2 .mega-side-panel{
    top:78px;width:min(270px,76vw);height:auto;bottom:auto;max-height:none;
    overflow:visible;border-radius:0 0 16px 0;padding-top:0;
  }
  body.v2 .mega-panel-head{min-height:40px;padding:7px 12px 6px 15px;}
  body.v2 .mega-panel-head p{font-size:16px;line-height:1;letter-spacing:.01em;}
  body.v2 .mega-close{width:28px;height:28px;font-size:19px;}
  body.v2 .mega-panel-list{padding:3px 0 6px;overflow:visible;}
  body.v2 .mega-panel-list a{
    min-height:35px;padding:7px 14px 7px 15px;font-size:9.3px;line-height:1.08;
    letter-spacing:.035em;gap:7px;white-space:normal;
  }
  body.v2 .mega-panel-list i{font-size:7px;}

  /* Hiérarchie typographique mobile plus raffinée */
  body.v2 .salon-hero-copy h1{font-size:clamp(40px,9.5vw,52px);line-height:.98;}
  body.v2 .page-hero h1{font-size:clamp(40px,10vw,50px);line-height:1;}
  body.v2 .manifesto h2,
  body.v2 .editorial-copy h2,
  body.v2 .first-visit h2,
  body.v2 .first-visit-content h2{font-size:clamp(34px,8.5vw,44px);line-height:1.03;}
  body.v2 .visit-section h2{font-size:clamp(36px,9vw,46px);line-height:1.04;}
  body.v2 .categorie-titre{font-size:34px!important;line-height:1.08;}

  /* Images : éviter les recadrages excessifs sur écrans étroits */
  body.v2 .editorial-image img,
  body.v2 .editorial-image.tall img{height:360px;min-height:0;object-position:center center;}
  body.v2 .notice-image img{width:100%;height:auto!important;min-height:0!important;object-fit:contain!important;}
  body.v2 .first-visit-visual img{height:auto;aspect-ratio:auto;object-fit:contain;}
  body.v2 .signature-image img{min-height:0;height:380px;object-position:center center;}
  body.v2 .image-band img{height:340px;object-position:center center;}
  body.v2 .salon-hero-photo{min-height:0;padding:0;}
  body.v2 .salon-hero-photo img{width:100%;height:auto;max-height:none;object-fit:contain;}

  /* Formulaire de réservation : une colonne, champs iOS >=16px et boutons tactiles */
  body.v2 #reservation-form-section{padding-top:38px;padding-bottom:58px;}
  body.v2 .reservation-form{width:100%;max-width:100%;}
  body.v2 .form-section{padding:24px 20px!important;margin-bottom:16px!important;}
  body.v2 .form-section-titre{font-size:27px!important;line-height:1.08;}
  body.v2 .form-row{display:grid;grid-template-columns:1fr;gap:0;}
  body.v2 .form-row .form-group{min-width:0;width:100%;}
  body.v2 input[type="text"],
  body.v2 input[type="email"],
  body.v2 input[type="tel"],
  body.v2 input[type="date"],
  body.v2 select,
  body.v2 textarea{font-size:16px;min-height:48px;padding:12px 13px;}
  body.v2 textarea{min-height:108px;}
  body.v2 .creneaux-grid{grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:10px;}
  body.v2 .creneau-btn{min-height:46px;padding:10px 8px;font-size:14px;}
  body.v2 .reservation-form .btn{min-height:50px;font-size:14px;}
}

@media (max-width:540px){
  body.v2 .section-pad{padding:58px 18px;}
  body.v2 .site-header{padding-left:12px;padding-right:12px;}
  body.v2 .site-header .brand.brand-round:not(.brand-square){width:58px;height:58px;flex-basis:58px;}
  body.v2 .mega-side-panel{width:min(246px,74vw);}
  body.v2 .mega-panel-head{min-height:36px;padding:6px 10px 5px 13px;}
  body.v2 .mega-panel-head p{font-size:14px;}
  body.v2 .mega-panel-list a{min-height:33px;padding:6px 12px 6px 13px;font-size:8.8px;line-height:1.05;}
  body.v2 .editorial-image img,
  body.v2 .editorial-image.tall img{height:310px;}
  body.v2 .signature-image img{height:320px;}
  body.v2 .image-band img{height:290px;}
  body.v2 .map-frame,body.v2 .map-frame iframe{height:330px;min-height:330px;}
  body.v2 .form-section{padding:21px 16px!important;}
  body.v2 .form-section-titre{font-size:24px!important;}
  body.v2 .creneaux-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
