/* Couleurs « Noir luxe » : chargées après style.css. */

:root { --rasp: #d81b6a; --rasp-d: #b0124f; --rasp-soft: #ff6fa8; --rose: #f3bfd3; --blush: #fbeef3; --cream: #fff8fb;
  --plum: #141013; --ink: #1c1719; --muted: #5e5559; --gold: #d81b6a; --line: #eee0e6;
  --menu-bg: #0e0b0d; --menu-ink: #f1e8ec; --menu-line: #2a2226;
  --shadow: 0 1px 2px rgba(14, 11, 13, .08), 0 14px 32px rgba(14, 11, 13, .14); }
.site-header { background: rgba(14, 11, 13, .96); border-bottom-color: #2a2226; }
.brand small { color: #e7c2d2; }
.nav a { color: #f1e8ec; }
.nav a:hover, .nav a[aria-current="page"] { color: #ff8dbb; background: rgba(255, 255, 255, .08); }
.icon-btn { background: transparent; border-color: #3d3237; color: #fff; }
.site-header .btn-light { background: transparent; color: #fff; border-color: #5a4a52; }
.hero { background: radial-gradient(620px 380px at 100% 0%, rgba(227, 51, 127, .28), transparent 70%),
  radial-gradient(460px 320px at 0% 80%, rgba(227, 51, 127, .14), transparent 70%), #0e0b0d; }
.hero h1 { color: #fff; }
.hero h1 em { color: #ff6fa8; }
.hero .lead { color: #d9cdd3; }
.hero .eyebrow { background: rgba(255, 255, 255, .06); border-color: #3d3237; color: #ff8dbb; }
.hero .rating { color: #c9bcc2; }
.hero .rating b { color: #fff; }
.hero .rating .link-arrow { color: #ff8dbb; }
.hero .btn-light { background: transparent; color: #fff; border-color: #5a4a52; }
.page-head { background: radial-gradient(520px 300px at 100% 0%, rgba(227, 51, 127, .25), transparent 70%), #0e0b0d; }
.page-head h1, .page-head h1 em { color: #fff; }
.page-head h1 em { color: #ff6fa8; }
.page-head p, .page-head .crumbs, .page-head .crumbs a { color: #cfc2c8; }
.section-soft { background: linear-gradient(180deg, #f8eef2, #fff8fb); }
.btn-primary { box-shadow: 0 10px 22px rgba(216, 27, 106, .28); }
.btn-light { color: #141013; border-color: #141013; border-width: 1.5px; }
.journey li::before { background: #141013; }
.perks { background: #fbeef3; padding: 18px 0 20px; }
.reviews { background: linear-gradient(135deg, #f3bfd3, #fbe3ec); color: #141013; }
.reviews .score, .reviews h2 { color: #141013; }
.reviews .score small, .reviews p { color: #5b4a52; }
.reviews .btn-light { background: #141013; color: #fff; border-color: #141013; }
.site-footer { background: #0e0b0d; color: #e2d8dc; }
.site-footer a { color: #f6eef2; }
.footer-bottom { color: #a3989d; }
.sticky-cta { background: rgba(14, 11, 13, .97); border-top-color: #2a2226; }
.sticky-cta .btn-light { background: transparent; color: #fff; border-color: #5a4a52; }
.illus::after { background: rgba(14, 11, 13, .72); }
.field select { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23d81b6a' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); }
.cert { border-color: #f0d5e0; }

/* ===== Habillage fleurs ===== */
.petal { display: none; }
.hero { position: relative; }
.kicker::before { content: ""; display: inline-block; width: 15px; height: 15px; margin-right: 7px; vertical-align: -2px;
  background: url("img/rose-mauve-bourgeons.webp") no-repeat center / contain; }
.page-head { position: relative; overflow: hidden; }
.page-head > .container { position: relative; z-index: 1; }
.page-head::after { content: ""; position: absolute; top: 10px; right: -40px; width: 130px; height: 112px; opacity: .9;
  background: url("img/rose-mauve-bourgeons.webp") no-repeat center / contain; pointer-events: none; }
.reviews { position: relative; overflow: hidden; }
.reviews > * { position: relative; z-index: 1; }
.reviews::after { content: ""; position: absolute; right: -34px; bottom: -30px; width: 150px; height: 130px; opacity: .85;
  background: url("img/rose-mauve-bourgeons.webp") no-repeat center / contain; transform: scaleX(-1); pointer-events: none; }
.cert::before, .cert::after { background: url("img/rose-mauve-bourgeons.webp") no-repeat center / contain; border-radius: 0; opacity: .9; width: 150px; height: 130px; }
.cert::before { top: -40px; left: -46px; transform: scaleX(-1); }
.cert::after { bottom: -46px; right: -44px; transform: rotate(180deg); }
@media (min-width: 900px) {
  .page-head::after { width: 200px; height: 172px; top: 28px; right: 2%; }
}

@media (max-width: 639px) {
  .reviews::after { width: 92px; height: 80px; right: -20px; bottom: -20px; }
}

/* Corrections ciblées, sans refonte. */
.hero-grid { grid-template-columns:1fr; }
.hero > .container { padding-left:clamp(140px,22vw,300px); }
.hero-grid > div { max-width:760px; }
.hero::before { top:0; bottom:auto; transform:none; height:520px; width:300px; aspect-ratio:auto; }
.fleurs-colonne-fixes { opacity:1; clip-path:inset(0 0 max(0px,calc(var(--fleur-hauteur) - var(--hero-hauteur))) 0); mask-image:linear-gradient(to bottom,#000 0,#000 calc(var(--hero-hauteur) - 45px),transparent var(--hero-hauteur)); }
.site-footer .logo-badge { background:none; border-radius:0; box-shadow:none; padding:0; }
.site-footer .logo-badge img { width:220px; height:auto; mix-blend-mode:normal; }
.reviews::after { background-image:url("img/rose-mauve-bourgeons.webp"); transform:none; right:16px; bottom:12px; width:160px; height:130px; opacity:.95; }
@media(max-width:639px){
 .reviews { padding-bottom:116px; }
 .reviews::after { width:110px; height:90px; right:12px; bottom:12px; }
 .hero > .container { padding-left:108px; padding-right:20px; padding-right:max(20px, env(safe-area-inset-right)); }
 .hero::before { width:150px; height:290px; }
 .hero h1 { font-size:clamp(1.85rem,7.2vw,2.8rem); }
 .hero .lead { font-size:1rem; }
 .hero-cta .btn { white-space:normal; text-align:center; padding:12px 14px; }
}
/* Interface de gestion, identité existante conservée. */
.gestion-nav{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px}.gestion-nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid currentColor}.gestion-colonnes{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px}.gestion-form{display:grid;gap:18px}.gestion-champ{display:grid;gap:8px}.gestion-form input:not([type=hidden]):not([type=radio]){width:100%;box-sizing:border-box;min-height:48px;font:inherit;padding:10px;color:#20191e;background:#fff;border:1px solid #8a7b84;border-radius:6px}.gestion-form fieldset{display:grid;gap:12px;padding:16px}.gestion-form fieldset label{display:flex;align-items:center;min-height:44px;gap:12px}.gestion-form input[type=radio]{width:24px;height:24px}.gestion-liste{list-style:none;padding:0}.gestion-liste li{border-bottom:1px solid #8a7b84}.gestion-liste a{display:flex;align-items:center;gap:14px;padding:18px 0;min-height:60px}.gestion-liste img,[data-photo-apercu]{object-fit:contain}.gestion-liste span:last-child{margin-left:auto}.gestion-erreur{padding:18px;border:2px solid currentColor}.gestion-form :focus-visible,.gestion-nav a:focus-visible,.gestion-liste a:focus-visible{outline:3px solid currentColor;outline-offset:4px}.gestion-form small{font-size:14px}.gestion-form button:disabled{opacity:.65}@media(max-width:700px){.gestion-colonnes{grid-template-columns:1fr}.gestion-nav{gap:8px}.gestion-liste a{flex-wrap:wrap}.gestion-form{min-width:0}}
/* Organisation de l'espace : navigation latérale, puis onglets au téléphone. */
.gestion-cadre{display:grid;grid-template-columns:190px minmax(0,1fr);gap:28px}.gestion-cadre>.gestion-nav{position:sticky;top:20px;align-self:start;display:grid;gap:8px}.gestion-cadre>.gestion-nav a{border-radius:8px;text-decoration:none}.gestion-cadre>.gestion-nav a[aria-current]{font-weight:700;border-width:2px}.gestion-contenu{min-width:0}.gestion-colonnes{grid-template-columns:1fr}.gestion-form{padding:24px;border:1px solid #8a7b84;border-radius:12px}.gestion-form img{max-width:100%;height:auto}.gestion-liste strong{overflow-wrap:anywhere}@media(max-width:700px){.gestion-cadre{display:block;padding-bottom:90px}.gestion-cadre>.gestion-nav{position:fixed;inset:auto 0 0;z-index:100;margin:0;padding:10px 8px calc(10px + env(safe-area-inset-bottom));padding:10px max(8px,env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;background:#0e0b0d;color:#fff;border-top:1px solid #8a7b84}.gestion-cadre>.gestion-nav a{font-size:13px;justify-content:center;text-align:center;padding:8px 4px;min-height:48px}.gestion-form{padding:16px}.gestion-liste span:last-child{margin-left:0}}
[data-photo-apercu][hidden]{display:none!important}
.gestion-cadre>.gestion-nav a{color:inherit}
@media(max-width:700px){.gestion-cadre>.gestion-nav a{color:#fff;border-color:#b6a5af}.gestion-cadre>.gestion-nav a[aria-current]{background:#fff;color:#24151e;border-color:#fff}}
.gestion-champ select{font:inherit;padding:12px;min-height:48px;max-width:100%;background:#fff;color:#20191e}.gestion-actions{display:flex;gap:12px;flex-wrap:wrap}.gestion-form+.gestion-form{margin-top:20px}.gestion-form input[type=checkbox]{width:24px;height:24px;vertical-align:middle;margin-right:12px}
.gestion-form button:not(.btn-light){background:var(--rasp-d);color:#fff;border-color:var(--rasp-d)}.gestion-form>label:not(.gestion-champ){display:flex;align-items:center;min-height:44px}
.gestion-form,.gestion-form select,.gestion-form input{box-sizing:border-box;max-width:100%;min-width:0}.gestion-form select{width:100%}.gestion-form fieldset{min-inline-size:0;max-width:100%}
.gestion-form input[type=checkbox]:not([type=hidden]):not([type=radio]){width:24px;min-width:24px;height:24px;min-height:24px;padding:0;flex:0 0 24px}
.gestion-form input[type=checkbox]:checked:not([type=hidden]):not([type=radio]){background:var(--rasp-d);border-color:var(--rasp-d)}
.gestion-photo-choix{position:relative;display:flex;align-items:center;justify-content:center;min-height:48px;border:1px solid currentColor;border-radius:6px;padding:10px;overflow:hidden}.gestion-photo-choix input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.gestion-photo-choix:focus-within{outline:3px solid currentColor;outline-offset:4px}

/* Un seul choix de date et états masqués respectés, même avec les règles des encadrés. */
[data-book] [hidden]{display:none!important}
.page-head .stepper li{color:#fff}.page-head .stepper{max-width:100%;overflow:visible;justify-content:space-between}.page-head .stepper li{min-width:0;flex:0 1 auto}.page-head .stepper li.now .lbl{color:#fff}
@media(max-width:639px){.page-head .stepper{flex-wrap:wrap;gap:8px}.page-head .stepper li.now{flex-basis:100%;order:-1}.page-head .stepper li.now::before{display:none}.page-head .stepper li:not(.now) .lbl{display:none}.page-head .stepper li .lbl{white-space:normal}}

/* Quatrième onglet et titres de l'espace protégé. */
.no-sticky .page-head h1{color:#fff}.gestion-contenu>section{margin-block:28px}.gestion-contenu details p{overflow-wrap:anywhere}
@media(max-width:700px){.gestion-cadre>.gestion-nav{grid-template-columns:repeat(4,minmax(0,1fr))}.gestion-cadre>.gestion-nav a{font-size:12px}.gestion-cadre{padding-bottom:110px}}

/* Mobile : texte introductif masqué et fleurs jusqu'au bas du bandeau d'accueil. */
@media(max-width:639px){.hero .lead{display:none}.hero::before{height:100%;width:auto;aspect-ratio:526/1240}.fleurs-colonne-fixes{mask-image:linear-gradient(to right,#000 0,#000 65px,transparent 102px),linear-gradient(to bottom,#000 0,#000 calc(var(--hero-hauteur) - 35px),transparent var(--hero-hauteur));mask-composite:intersect}}
/* Grand écran : les fleurs suivent la colonne du site au lieu de rester collées au bord de la fenêtre. */
@media(min-width:1300px){
 .hero > .container { padding-left:max(190px, calc(390px - (100vw - 1140px) / 2)); }
 .page-head::after { right:calc((100vw - 1140px) / 2 - 40px); }
}
@media(min-width:900px){ .page-head::after { top:6px; } }
/* Très grand écran : des fleurs plus larges, le texte plus près d'elles, et une photo d'ongles à droite, pour que le haut de l'accueil soit moins vide. */
.hero-photo { display:none; }
@media(min-width:1600px){
 .hero > .container { padding-left:max(150px, calc(520px - (100vw - 1140px) / 2)); }
 .hero-grid > div { max-width:680px; }
 .hero-photo { display:block; position:absolute; z-index:0; right:max(20px, calc((100vw - 1560px) / 2)); top:50%; transform:translateY(-50%);
   width:360px; height:auto; aspect-ratio:3 / 4; max-height:92%; object-fit:cover; border-radius:24px; box-shadow:0 24px 60px rgba(0,0,0,.45); }
}
@media(min-width:1800px){
 .hero > .container { padding-left:max(150px, calc(520px - (100vw - 1140px) / 2)); }
 .hero-grid > div { max-width:680px; }
 .hero-photo { display:block; position:absolute; z-index:0; right:max(40px, calc((100vw - 1600px) / 2)); top:50%; transform:translateY(-50%);
   width:400px; height:auto; aspect-ratio:3 / 4; max-height:92%; object-fit:cover; border-radius:24px; box-shadow:0 24px 60px rgba(0,0,0,.45); }
}
