/* ==========================================================================
   Espace Soins — Hôtel Le Galambre
   Charte : or #f3b227 · brique #9b402e · teal #578989 · sauge #6d9982 · crème #f4f1e9
   Polices auto-hébergées (aucun appel à un serveur tiers → conforme RGPD).
   ========================================================================== */

@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('polices/EBGaramond-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'EB Garamond';font-style:normal;font-weight:400 500;font-display:swap;
  src:url('polices/EBGaramond-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}
@font-face{font-family:'EB Garamond';font-style:italic;font-weight:400;font-display:swap;
  src:url('polices/EBGaramond-italic-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+2000-206F,U+20AC;}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 700;font-display:swap;
  src:url('polices/Figtree-latin.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Figtree';font-style:normal;font-weight:300 700;font-display:swap;
  src:url('polices/Figtree-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}

:root{
  /* couleurs relevées directement sur le vitrail du logo */
  --or:#f3b227; --terre:#a8582b; --brique:#9b402e; --teal:#578989;
  --sauge:#6d9982; --sauge-clair:#80b0a0;
  --creme:#f4f1e9; --papier:#fffdf8; --encre:#23393a; --gris:#6f6d66;
  --trait:#e6d9c4; --ombre:0 1px 2px rgba(168,88,43,.08);
  --serif:'EB Garamond',Garamond,'Times New Roman',serif;
  --sans:'Figtree','TT Commons Pro',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--encre);
  font-family:var(--sans);font-size:16px;line-height:1.55;font-weight:400;
  -webkit-font-smoothing:antialiased}
a{color:var(--brique)}
h1,h2,h3{font-family:var(--serif);font-weight:400;line-height:1.15;margin:0}
h1{font-size:2.1rem}
h2{font-size:1.5rem}
h3{font-size:1.2rem}
p{margin:0 0 1em}
.enveloppe{max-width:940px;margin:0 auto;padding:0 20px}
.etroit{max-width:620px}
.oeil{font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gris);
  font-weight:600}
.discret{color:var(--gris);font-size:.9rem}
.serif{font-family:var(--serif)}

/* ---------------------------------------------------------------- bandeau */
.bandeau{background:var(--teal);color:var(--creme);padding:22px 0}
.bandeau .enveloppe{display:flex;align-items:baseline;justify-content:space-between;gap:16px;
  flex-wrap:wrap}
.marque{font-family:var(--serif);font-size:1.6rem;letter-spacing:.02em;color:var(--creme);
  text-decoration:none}
.marque span{display:block;font-family:var(--sans);font-size:.68rem;letter-spacing:.24em;
  text-transform:uppercase;color:var(--or);margin-top:4px;font-weight:600}
.bandeau nav a{color:var(--creme);text-decoration:none;font-size:.85rem;margin-left:18px;
  border-bottom:1px solid transparent;padding-bottom:2px}
.bandeau nav a:hover,.bandeau nav a.actif{border-bottom-color:var(--or)}

/* ------------------------------------------------------------------- hero */
.hero{padding:56px 0 34px;border-bottom:1px solid var(--trait)}
.hero h1{font-size:clamp(2.2rem,6vw,3.4rem);max-width:16ch}
.hero .accroche{font-family:var(--serif);font-style:italic;font-size:1.25rem;color:var(--teal);
  margin:14px 0 0}
.hero p.intro{max-width:56ch;margin-top:20px;color:#43514f}

/* ------------------------------------------------------- ruban des jours */
.jours{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;scrollbar-width:thin}
.jour{flex:0 0 auto;min-width:82px;text-align:center;text-decoration:none;color:var(--encre);
  background:var(--papier);border:1px solid var(--trait);padding:10px 12px;
  transition:border-color .15s,transform .15s}
.jour:hover{border-color:var(--sauge)}
.jour .jj{font-family:var(--serif);font-size:1.5rem;display:block;line-height:1.1}
.jour .sm{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.jour .nb{font-size:.72rem;color:var(--sauge);margin-top:5px;display:block}
.jour.plein{opacity:.45}
.jour.plein .nb{color:var(--gris)}
.jour.actif{background:var(--teal);border-color:var(--teal);color:var(--creme)}
.jour.actif .sm,.jour.actif .nb{color:var(--or)}

/* ------------------------------------------------ tableau des créneaux */
.horaire{border-top:1px solid var(--trait);margin:8px 0 0}
.creneau{display:flex;align-items:center;gap:18px;padding:15px 4px;
  border-bottom:1px solid var(--trait);text-decoration:none;color:inherit}
.creneau .h{font-family:var(--serif);font-size:1.75rem;min-width:4.2ch;line-height:1;
  font-variant-numeric:lining-nums}
.creneau .info{flex:1;min-width:0}
.creneau .qui{font-size:.9rem;color:var(--gris)}
.creneau .etat{font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.creneau.libre:hover{background:var(--papier)}
.creneau.libre .etat{color:var(--sauge)}
.creneau.libre .fleche{color:var(--brique);font-size:1.1rem}
.creneau.pris{opacity:.5}
.creneau.pris .etat{color:var(--gris)}
.creneau.pris .h{text-decoration:line-through;text-decoration-thickness:1px}

/* ---------------------------------------------------------------- blocs */
.carte{background:var(--papier);border:1px solid var(--trait);padding:22px;margin:0 0 20px;
  box-shadow:var(--ombre)}
.carte h2,.carte h3{margin-bottom:12px}
.section{padding:38px 0}
.grille{display:grid;gap:18px}
@media(min-width:720px){.grille.deux{grid-template-columns:1fr 1fr}
  .grille.trois{grid-template-columns:repeat(3,1fr)}}

.soin{border-top:1px solid var(--trait);padding:14px 0;display:flex;justify-content:space-between;
  gap:16px}
.soin .nom{font-family:var(--serif);font-size:1.2rem}
.soin .prix{font-family:var(--serif);font-size:1.2rem;color:var(--brique);white-space:nowrap}

/* --------------------------------------------------------------- formulaires */
label{display:block;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gris);font-weight:600;margin:0 0 6px}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],
input[type=time],input[type=number],select,textarea{
  width:100%;font-family:var(--sans);font-size:1rem;color:var(--encre);background:#fff;
  border:1px solid var(--trait);padding:11px 12px;border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid var(--sauge);outline-offset:1px;
  border-color:var(--sauge)}
textarea{min-height:96px;resize:vertical}
.champ{margin:0 0 18px}
.champ .aide{font-size:.82rem;color:var(--gris);margin-top:6px;text-transform:none;
  letter-spacing:0;font-weight:400}
fieldset{border:1px solid var(--trait);padding:16px;margin:0 0 20px;background:var(--papier)}
legend{font-family:var(--serif);font-size:1.15rem;padding:0 8px}
.ligne{display:flex;gap:14px;flex-wrap:wrap}
.ligne>*{flex:1 1 160px}
.case{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0;
  font-weight:400;font-size:.95rem;color:var(--encre)}
.case input{width:18px;height:18px;accent-color:var(--sauge)}

.bouton{display:inline-block;background:var(--brique);color:#fff;border:1px solid var(--brique);
  font-family:var(--sans);font-size:.95rem;font-weight:500;padding:12px 24px;cursor:pointer;
  text-decoration:none;border-radius:0;transition:background .15s}
.bouton:hover{background:#82341f}
.bouton.second{background:transparent;color:var(--teal);border-color:var(--teal)}
.bouton.second:hover{background:rgba(87,137,137,.09)}
.bouton.petit{padding:7px 14px;font-size:.85rem}
.bouton.danger{background:transparent;color:var(--brique);border-color:var(--brique)}
.bouton.danger:hover{background:rgba(155,64,46,.08)}
.bouton[disabled]{opacity:.4;cursor:not-allowed}
.barre-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-top:20px}

/* --------------------------------------------------------------- messages */
.message{padding:13px 16px;margin:0 0 14px;border-left:4px solid var(--teal);
  background:var(--papier);font-size:.95rem}
.message.ok{border-color:var(--sauge)}
.message.erreur{border-color:var(--brique)}
.message.info{border-color:var(--or)}
.rappel{background:rgba(243,178,39,.12);border:1px solid rgba(243,178,39,.5);padding:14px 16px;
  font-size:.92rem}

/* ------------------------------------------------------------------ tables */
table.liste{width:100%;border-collapse:collapse;font-size:.92rem}
table.liste th{text-align:left;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gris);border-bottom:1px solid var(--trait);padding:9px 8px;font-weight:600}
table.liste td{border-bottom:1px solid var(--trait);padding:11px 8px;vertical-align:top}
table.liste tr.annulee td{opacity:.45;text-decoration:line-through}
.pastille{display:inline-block;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;
  padding:3px 8px;border:1px solid var(--trait);color:var(--gris);font-weight:600}
.pastille.ok{color:var(--sauge);border-color:var(--sauge)}
.pastille.non{color:var(--brique);border-color:var(--brique)}

/* -------------------------------------------------- planning praticienne */
.semaine{display:grid;grid-template-columns:repeat(7,minmax(96px,1fr));gap:8px;
  overflow-x:auto;padding-bottom:8px}
.colonne{background:var(--papier);border:1px solid var(--trait);min-width:96px}
.colonne .tete{padding:9px 8px;border-bottom:1px solid var(--trait);text-align:center}
.colonne .tete .sm{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--gris)}
.colonne .tete .jj{font-family:var(--serif);font-size:1.25rem}
.colonne .tout{display:block;width:100%;background:none;border:0;border-bottom:1px solid var(--trait);
  font-family:var(--sans);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;
  color:var(--teal);padding:6px;cursor:pointer}
.colonne .tout:hover{background:rgba(87,137,137,.08)}
.case-creneau{display:flex;align-items:center;gap:7px;padding:8px;border-bottom:1px solid #f0ece0;
  font-size:.86rem;cursor:pointer;text-transform:none;letter-spacing:0;font-weight:400;
  color:var(--encre);margin:0}
.case-creneau:last-child{border-bottom:0}
.case-creneau input{width:16px;height:16px;accent-color:var(--sauge);margin:0}
.case-creneau.reserve{background:rgba(109,153,130,.16);font-weight:600;cursor:default}
.case-creneau.occupe{background:#f1eee4;color:var(--gris);cursor:not-allowed}
.case-creneau.passe{opacity:.4;cursor:not-allowed}
.colonne.ferme{opacity:.5}
.legende{display:flex;gap:18px;flex-wrap:wrap;font-size:.8rem;color:var(--gris);margin:14px 0}
.legende i{display:inline-block;width:12px;height:12px;margin-right:6px;vertical-align:-1px;
  border:1px solid var(--trait)}
.legende .l-libre{background:#fff}
.legende .l-resa{background:rgba(109,153,130,.4)}
.legende .l-occ{background:#e6e2d6}

/* --------------------------------------------------------------- pied */
.pied{border-top:1px solid var(--trait);margin-top:48px;padding:26px 0 40px;font-size:.85rem;
  color:var(--gris)}
.pied a{color:var(--teal)}

/* --------------------------------------------------- barre interne (staff) */
.interne{background:var(--encre);color:var(--creme);padding:12px 0}
.interne .enveloppe{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:1180px}
.interne .titre{font-family:var(--serif);font-size:1.15rem;margin-right:auto}
.interne a{color:var(--creme);text-decoration:none;font-size:.86rem;opacity:.85}
.interne a:hover,.interne a.actif{opacity:1;color:var(--or)}
.large{max-width:1180px}

@media(max-width:640px){
  .hero{padding:38px 0 26px}
  .creneau .h{font-size:1.5rem}
  .carte{padding:16px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ------------------------------------------------- fiches des praticiennes */
.fiche{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap;margin-top:18px}
.fiche>div{flex:1 1 320px}
.portrait{width:220px;height:260px;object-fit:cover;border:1px solid var(--trait);
  filter:saturate(.92)}
.equipe{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));
  margin-top:18px}
.carte-praticienne{display:block;background:var(--papier);border:1px solid var(--trait);
  padding:14px;text-decoration:none;color:inherit;transition:border-color .15s}
.carte-praticienne:hover{border-color:var(--sauge)}
.carte-praticienne img{width:100%;aspect-ratio:1;object-fit:cover;margin-bottom:10px}
.carte-praticienne .sans-photo{width:100%;aspect-ratio:1;background:var(--teal);color:var(--creme);
  font-family:var(--serif);font-size:3rem;display:flex;align-items:center;justify-content:center;
  margin-bottom:10px}
.carte-praticienne .nom{font-family:var(--serif);font-size:1.2rem}
.carte-praticienne .lien-fiche{display:inline-block;margin-top:8px;color:var(--brique);
  font-size:.85rem}
@media(max-width:640px){.portrait{width:100%;height:auto;max-height:340px}}

/* ------------------------------------------------ planning vu par la direction */
.interne .separateur{display:inline-block;width:1px;height:16px;background:rgba(244,241,233,.28);
  margin:0 4px}
.case-planning{display:block;padding:8px;border-bottom:1px solid #f0ece0;font-size:.84rem;
  text-decoration:none;color:inherit}
.case-planning:last-child{border-bottom:0}
.case-planning .h{font-family:var(--serif);font-size:1.05rem;display:block}
.case-planning .menu{color:var(--gris);font-size:.76rem;line-height:1.35}
.case-planning.occupe{background:rgba(155,64,46,.12)}
.case-planning.libre{background:rgba(109,153,130,.14)}
.case-planning.libre:hover{background:rgba(109,153,130,.26)}
.case-planning.vide{background:#f4f1e6;color:var(--gris)}
.colonne.passee{opacity:.45}


/* ==========================================================================
   HABILLAGE PUBLIC — Hôtel Le Galambre
   ========================================================================== */
:root{--encre-profonde:#173636;--or-clair:#f7cd6d}

/* ---------------------------------------------------------------- entête */
.entete{background:var(--encre-profonde);color:var(--creme);position:sticky;top:0;z-index:20;
  box-shadow:0 1px 0 rgba(243,178,39,.35)}
.entete-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:14px 20px;flex-wrap:wrap}
.entete .marque{text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.entete .marque-nom{font-family:var(--serif);font-size:1.45rem;color:var(--creme);
  letter-spacing:.01em}
.entete .marque-sous{font-size:.63rem;letter-spacing:.3em;text-transform:uppercase;
  color:var(--or);margin-top:5px;font-weight:600}
.entete .logo{max-height:46px;width:auto;display:block}
.nav-marque{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.nav-marque a{color:rgba(244,241,233,.82);text-decoration:none;font-size:.86rem;
  letter-spacing:.04em;padding-bottom:3px;border-bottom:1px solid transparent}
.nav-marque a:hover{color:var(--creme);border-bottom-color:var(--or)}
.nav-marque .tel{color:var(--or);font-weight:600}

/* ------------------------------------------------------------------ héros */
.hero-marque{background:var(--teal);background-image:
  radial-gradient(120% 100% at 80% 0%,#679a9a 0%,#3f6f6f 55%,#2b5555 100%);
  background-size:cover;background-position:center;color:var(--creme);position:relative}
.hero-marque.avec-photo{background-color:var(--encre-profonde)}
.hero-inner{display:flex;align-items:center;gap:48px;padding:76px 20px 66px;flex-wrap:wrap}
.arche{width:150px;height:190px;color:var(--or);flex:0 0 auto;opacity:.9}
.hero-texte{flex:1 1 380px}
.hero-texte h1{font-size:clamp(2.6rem,7vw,4.4rem);color:var(--creme);line-height:1.02;
  margin:10px 0 0}
.oeil.clair{color:var(--or-clair)}
.accroche-hero{font-family:var(--serif);font-style:italic;font-size:1.45rem;
  color:var(--or-clair);margin:16px 0 0}
.intro-hero{max-width:54ch;margin:18px 0 26px;color:rgba(244,241,233,.9);font-size:1.02rem}
.bouton.or{background:var(--or);border-color:var(--or);color:#3a2a06;font-weight:600}
.bouton.or:hover{background:var(--or-clair);border-color:var(--or-clair)}
.hero-atouts{background:rgba(23,54,54,.45);border-top:1px solid rgba(243,178,39,.28)}
.hero-atouts-inner{display:grid;gap:14px;padding:18px 20px;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));font-size:.88rem;
  color:rgba(244,241,233,.85)}
.hero-atouts strong{color:var(--creme);font-weight:600}

/* ------------------------------------------------------------- sections */
.titre-section{font-size:clamp(1.7rem,3.4vw,2.3rem);margin:6px 0 4px}
.bande-creme{background:var(--papier);border-top:1px solid var(--trait);
  border-bottom:1px solid var(--trait)}

/* --------------------------------------------------- créneaux en cartes */
.creneaux{display:grid;gap:12px;margin-top:20px;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.creneau-carte{display:flex;flex-direction:column;gap:4px;background:var(--papier);
  border:1px solid var(--trait);border-left:3px solid var(--sauge);padding:16px 18px;
  text-decoration:none;color:inherit;transition:transform .14s,border-color .14s,box-shadow .14s}
.creneau-carte .h{font-family:var(--serif);font-size:1.85rem;line-height:1}
.creneau-carte .qui{font-size:.85rem;color:var(--gris)}
.creneau-carte .cta{font-size:.8rem;color:var(--brique);font-weight:600;margin-top:6px}
a.creneau-carte:hover{transform:translateY(-2px);border-left-color:var(--or);
  box-shadow:0 6px 18px rgba(35,57,58,.09)}
.creneau-carte.pris{opacity:.5;border-left-color:var(--trait);background:transparent}
.creneau-carte.pris .h{text-decoration:line-through;text-decoration-thickness:1px}

/* ------------------------------------------------------- carte des soins */
.carte-soins{display:grid;gap:18px;margin-top:20px;
  grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.soin-carte{background:#fff;border:1px solid var(--trait);padding:22px 22px 20px;
  position:relative}
.soin-carte::before{content:"";position:absolute;top:0;left:0;width:44px;height:3px;
  background:var(--or)}
.soin-tete{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.soin-carte h3{font-size:1.3rem;margin:0}
.prix-pastille{font-family:var(--serif);font-size:1.3rem;color:var(--brique);white-space:nowrap}
.soin-carte .duree{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--sauge);margin:8px 0 12px;font-weight:600}
.soin-carte p{margin:0 0 8px;font-size:.94rem}
.soin-carte .bienfaits{font-family:var(--serif);font-style:italic;color:var(--teal);
  font-size:1.02rem;margin:0}

/* ------------------------------------------------------------ pied de page */
.pied-marque{background:var(--encre-profonde);color:rgba(244,241,233,.78);margin-top:0;
  padding:44px 0 40px;font-size:.9rem}
.pied-grille{display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.pied-nom{font-family:var(--serif);font-size:1.4rem;color:var(--creme);margin-bottom:10px}
.pied-titre{font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;color:var(--or);
  font-weight:600;margin-bottom:10px}
.pied-marque a{color:rgba(244,241,233,.85)}
.pied-marque a:hover{color:var(--or)}
.pied-marque .lien-or{color:var(--or)}

@media(max-width:700px){
  .hero-inner{padding:44px 20px 38px;gap:24px}
  .arche{width:92px;height:118px}
  .entete-inner{padding:12px 20px}
  .nav-marque{gap:14px}
}
.sur-titre{font-size:.8rem;letter-spacing:.34em;text-transform:uppercase;color:var(--or);
  font-weight:600;margin:14px 0 0}
.case-planning.ferme{background:repeating-linear-gradient(45deg,#e6e2d6,#e6e2d6 4px,#f4f1e6 4px,#f4f1e6 8px);
  color:var(--gris)}


/* ==========================================================================
   VITRAIL — habillage repris du sceau Hôtel Le Galambre
   ========================================================================== */

/* ---------------------------------------------------------------- entête */
.entete{background:var(--papier);color:var(--terre);border-bottom:3px solid var(--or);
  box-shadow:0 2px 14px rgba(168,88,43,.07)}
.entete-inner{padding:12px 20px}
.entete .marque{flex-direction:row;align-items:center;gap:14px}
.entete .logo{max-height:58px}
.entete .marque-nom{font-family:var(--serif);font-size:1.5rem;color:var(--terre)}
.entete .marque-sous{font-size:.6rem;letter-spacing:.28em;color:var(--terre);opacity:.75;
  margin:0;align-self:center;padding-left:14px;border-left:1px solid var(--trait)}
.nav-marque a{color:var(--terre);opacity:.85}
.nav-marque a:hover{color:var(--terre);opacity:1;border-bottom-color:var(--or)}
.nav-marque .tel{color:var(--brique);opacity:1}

/* ------------------------------------------------------------------ héros */
.hero-marque{background:var(--creme);color:var(--encre);
  background-image:radial-gradient(70% 90% at 78% 30%,rgba(243,178,39,.22) 0%,rgba(244,241,233,0) 62%);
  border-bottom:1px solid var(--trait)}
.hero-marque.avec-photo{color:var(--creme)}
.hero-marque.avec-photo .hero-texte h1,
.hero-marque.avec-photo .intro-hero{color:var(--creme)}
.hero-marque.avec-photo .sceau{filter:drop-shadow(0 8px 26px rgba(0,0,0,.45))}
.hero-inner{align-items:center;gap:56px}
.sceau{width:180px;height:auto;flex:0 0 auto;
  filter:drop-shadow(0 6px 18px rgba(168,88,43,.18))}
.hero-texte h1{color:var(--terre);font-size:clamp(2.4rem,6.2vw,4rem)}
.hero-marque .oeil.clair{color:var(--brique)}
.sur-titre{color:var(--terre);opacity:.85}
.accroche-hero{color:var(--teal)}
.intro-hero{color:#4a4740}
.bouton.or{background:var(--or);border-color:var(--or);color:#6d3a12;font-weight:700;
  box-shadow:0 3px 0 var(--terre)}
.bouton.or:hover{background:var(--or-clair);border-color:var(--or-clair);
  transform:translateY(-1px);box-shadow:0 4px 0 var(--terre)}
.hero-atouts{background:var(--teal);border-top:0;color:var(--creme)}
.hero-atouts-inner{color:rgba(244,241,233,.92)}
.hero-atouts strong{color:#fff}

/* ------------------------------------------------- filet orné au vitrail */
.filet{display:flex;align-items:center;gap:16px;margin:0 0 22px}
.filet::before,.filet::after{content:"";height:1px;background:linear-gradient(90deg,
  rgba(168,88,43,0),var(--or),rgba(168,88,43,0));flex:1}
.filet img{width:26px;height:auto;opacity:.9}

/* --------------------------------------------------------------- sections */
.titre-section{color:var(--terre)}
.oeil{color:var(--terre)}
.bande-creme{background:linear-gradient(180deg,#fffdf6,#f9f3e6);
  border-color:var(--trait)}

/* ---------------------------------------------------------- jours & heures */
.jour{border-color:var(--trait);background:var(--papier)}
.jour:hover{border-color:var(--or)}
.jour.actif{background:var(--terre);border-color:var(--terre)}
.jour.actif .sm,.jour.actif .nb{color:var(--or)}
.creneau-carte{border-color:var(--trait);border-left-width:4px;border-left-color:var(--sauge)}
.creneau-carte .h{color:var(--terre)}
a.creneau-carte:hover{border-left-color:var(--or);box-shadow:0 8px 20px rgba(168,88,43,.12)}
.creneau-carte .cta{color:var(--brique)}

/* ------------------------------------------------------------- les soins */
.soin-carte{border-color:var(--trait);box-shadow:0 1px 0 rgba(168,88,43,.05)}
.soin-carte::before{width:100%;height:4px;
  background:linear-gradient(90deg,var(--or) 0 22%,var(--sauge) 22% 46%,var(--teal) 46% 68%,
             var(--or) 68% 100%)}
.soin-carte h3{color:var(--terre)}
.prix-pastille{color:var(--brique)}
.soin-carte .duree{color:var(--sauge)}

/* --------------------------------------------------------- praticiennes */
.carte-praticienne{border-color:var(--trait)}
.carte-praticienne:hover{border-color:var(--or)}
.carte-praticienne .sans-photo{background:linear-gradient(150deg,var(--teal),var(--sauge));
  color:var(--or)}
.carte-praticienne .nom{color:var(--terre)}

/* ------------------------------------------------------------ pied de page */
.pied-marque{background:var(--teal);color:rgba(244,241,233,.85);border-top:4px solid var(--or)}
.pied-grille{align-items:start}
.pied-sceau{width:74px;height:auto;margin-bottom:14px}
.pied-nom{color:#fff}
.pied-titre{color:var(--or)}

/* -------------------------------------------------------------- boutons */
.bouton{background:var(--brique);border-color:var(--brique)}
.bouton.second{color:var(--terre);border-color:var(--terre)}
.bouton.second:hover{background:rgba(168,88,43,.09)}
.interne .titre-interne{display:flex;align-items:center;gap:10px;margin-right:auto;
  text-decoration:none;color:var(--creme);opacity:1}
.interne .titre-interne img{width:26px;height:auto}
.interne .titre-interne span{font-family:var(--serif);font-size:1.12rem}
.interne{border-bottom:3px solid var(--or)}
