/* ═══════════════════════════════════════════════════════════
   BELLE HEURE — CSS RESPONSIVE COMPLET
   Remplace entièrement les 3 blocs @media existants
═══════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════
   VARIABLES & RESET
══════════════════════════════════════════════════════════ */
:root{
  --iv:#FAF7F2; --cr:#F2EDE5; --bl:#E8D5C0; --go:#B8916A; --gl:#D4AA88;
  --br:#5C3D2E; --bd:#2C1A0E; --mu:#9B8070; --wh:#fff;
  --re:#C0392B; --gr:#2E7D5A; --az:#1E40AF;
  --sh:0 2px 24px rgba(92,61,46,.07);
  --shm:0 4px 32px rgba(92,61,46,.11);
  --shl:0 8px 56px rgba(92,61,46,.15);
  --r:4px; --rl:12px; --t:.2s;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--iv);color:var(--bd);font-weight:300;line-height:1.65}
.hidden{display:none!important}
a{text-decoration:none;color:inherit}

/* ── BUTTONS ─────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 28px;border:none;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:11.5px;font-weight:500;letter-spacing:2.2px;text-transform:uppercase;transition:all var(--t);white-space:nowrap;border-radius:var(--r)}
.btn-gold{background:var(--go);color:#fff}.btn-gold:hover{background:var(--br);transform:translateY(-1px);box-shadow:0 4px 16px rgba(184,145,106,.35)}
.btn-dark{background:var(--bd);color:#fff}.btn-dark:hover{background:#3d2516}
.btn-outline{background:transparent;color:var(--go);border:1.5px solid var(--go)}.btn-outline:hover{background:var(--go);color:#fff}
.btn-ghost{background:transparent;color:var(--mu);border:1px solid var(--bl)}.btn-ghost:hover{border-color:var(--go);color:var(--go)}
.btn-red{background:var(--re);color:#fff}.btn-red:hover{opacity:.85}
.btn-sm{padding:7px 16px;font-size:10.5px;letter-spacing:1.8px}
.btn:disabled{opacity:.42;cursor:not-allowed;transform:none!important;box-shadow:none!important}

/* ── FORMS ───────────────────────────────────────────── */
input,select,textarea{width:100%;padding:12px 15px;border:1px solid var(--bl);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:14px;color:var(--bd);outline:none;border-radius:var(--r);transition:border-color var(--t);-webkit-appearance:none}
input:focus,select:focus,textarea:focus{border-color:var(--go)}
label{display:block;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--mu);margin-bottom:6px;font-weight:400}
.fg{margin-bottom:18px}
.fg2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* ── TAGS ────────────────────────────────────────────── */
.tag{display:inline-block;padding:3px 11px;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;border-radius:20px;font-weight:400}
.tg{background:#EDFBF3;color:#1a7a4a} .tr{background:#FEF1F1;color:#c0392b}
.to{background:#FEF7EE;color:#b8722a} .tm{background:var(--cr);color:var(--mu)}
.tb{background:#EFF4FF;color:var(--az)} .tbl{background:var(--bd);color:#fff}

/* ── TOAST ───────────────────────────────────────────── */
#toast-wrap{position:fixed;bottom:28px;right:28px;z-index:9000;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{pointer-events:auto;background:var(--bd);color:#fff;padding:13px 20px;border-radius:var(--rl);font-size:13px;box-shadow:var(--shl);animation:tsIn .3s ease;display:flex;align-items:center;gap:9px;min-width:240px;max-width:360px}
.toast.ok{background:var(--gr)}.toast.err{background:var(--re)}
@keyframes tsIn{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}

/* ── MODAL ───────────────────────────────────────────── */
.modal-bg{position:fixed;inset:0;background:rgba(44,26,14,.42);backdrop-filter:blur(6px);z-index:8000;display:flex;align-items:center;justify-content:center;padding:20px}
.modal{background:var(--wh);border-radius:var(--rl);box-shadow:var(--shl);max-width:510px;width:100%;animation:mdIn .26s ease;max-height:92vh;display:flex;flex-direction:column;overflow:hidden}
@keyframes mdIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.modal-hd{display:flex;justify-content:space-between;align-items:center;padding:18px 24px;border-bottom:1px solid var(--cr);background:var(--wh);flex-shrink:0}
.modal-hd h3{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:400}
.modal-x{background:none;border:none;font-size:22px;cursor:pointer;color:var(--mu);line-height:1;transition:color var(--t)}.modal-x:hover{color:var(--bd)}
.modal-bd{padding:24px;overflow-y:auto;flex:1}
.modal-ft{padding:14px 24px;border-top:1px solid var(--cr);display:flex;gap:10px;justify-content:flex-end;background:var(--wh);flex-shrink:0}

/* ── NAV ─────────────────────────────────────────────── */
nav{position:fixed;top:0;left:0;right:0;z-index:600;background:rgba(250,247,242,.95);backdrop-filter:blur(18px);border-bottom:1px solid var(--bl)}
.nav-burger{display:none}
.adm-mobile-bar{display:none}
.nav-in{max-width:1220px;margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:66px}
.logo{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;letter-spacing:4px;text-transform:uppercase;cursor:pointer;color:var(--bd)}
.logo em{color:var(--go);font-style:normal}
.nav-links{display:flex;align-items:center;gap:30px}
.nav-link{font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--mu);cursor:pointer;background:none;border:none;font-family:'DM Sans',sans-serif;font-weight:400;transition:color var(--t);padding:0}
.nav-link:hover,.nav-link.on{color:var(--go)}
.nav-r{position:relative;display:flex;align-items:center;gap:12px}
.ava{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--go),var(--gl));color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:500;cursor:pointer;transition:transform var(--t);letter-spacing:1px}
.ava:hover{transform:scale(1.06)}
.drop{position:absolute;top:calc(100%+10px);right:0;background:var(--wh);border:1px solid var(--bl);border-radius:var(--rl);box-shadow:var(--shl);min-width:196px;z-index:700;overflow:hidden;animation:drpIn .18s ease}
@keyframes drpIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.drop a{display:flex;align-items:center;gap:9px;padding:12px 18px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;color:var(--mu);cursor:pointer;transition:background var(--t)}
.drop a:hover{background:var(--iv);color:var(--go)}
.drop-sep{height:1px;background:var(--cr)}

/* ── PAGES ───────────────────────────────────────────── */
.page{display:none;padding-top:66px;min-height:100vh}
.page.on{display:block;animation:pgIn .28s ease}
@keyframes pgIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* ══════════════════════════════════════════════════════════
   HOME
══════════════════════════════════════════════════════════ */
.hero{min-height:91vh;display:grid;grid-template-columns:1fr 1fr}
.hero-l{display:flex;flex-direction:column;justify-content:center;padding:80px 72px 80px 80px;background:var(--iv)}
.hero-r{position:relative;overflow:hidden}
.hero-r img{width:100%;height:100%;object-fit:cover;display:block}
.hero-r::after{content:'';position:absolute;inset:0;background:linear-gradient(to right,var(--iv) 0%,transparent 28%)}
.hero-eyebrow{display:flex;align-items:center;gap:12px;font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--go);margin-bottom:28px}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--go)}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(54px,6.5vw,100px);font-weight:300;line-height:.97;color:var(--bd);margin-bottom:28px;letter-spacing:-1px}
.hero-h1 em{font-style:italic;color:var(--go)}
.hero-sub{font-size:15px;color:var(--mu);line-height:1.8;max-width:430px;margin-bottom:44px}
.hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.hero-badge{position:absolute;bottom:48px;right:48px;background:rgba(250,247,242,.94);backdrop-filter:blur(12px);border-radius:var(--rl);padding:22px 26px;min-width:210px;box-shadow:var(--shm);z-index:2}
.hb-lbl{font-size:9px;letter-spacing:3px;text-transform:uppercase;color:var(--go);margin-bottom:14px}
.hb-stats{display:flex;gap:22px}
.hbs-n{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--bd);line-height:1;display:block}
.hbs-l{font-size:10px;color:var(--mu);margin-top:3px;letter-spacing:1px;text-transform:uppercase}

.section{padding:96px 32px}
.section-inner{max-width:1220px;margin:0 auto}
.sec-hd{margin-bottom:52px}
.sec-ey{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--go);margin-bottom:12px}
.sec-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4vw,58px);font-weight:300;color:var(--bd);line-height:1.05}

.svcs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.svc-card{background:var(--wh);padding:32px;border-radius:var(--rl);box-shadow:var(--sh);border:1px solid transparent;transition:all .3s;cursor:pointer;position:relative;overflow:hidden}
.svc-card::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,var(--go),var(--gl));transform:scaleX(0);transform-origin:left;transition:transform .35s}
.svc-card:hover{border-color:var(--bl);box-shadow:var(--shm);transform:translateY(-2px)}
.svc-card:hover::after{transform:scaleX(1)}
.svc-icon{font-size:30px;margin-bottom:16px}
.svc-name{font-family:'Cormorant Garamond',serif;font-size:23px;color:var(--bd);margin-bottom:8px}
.svc-desc{font-size:13px;color:var(--mu);line-height:1.7;margin-bottom:20px}
.svc-foot{display:flex;justify-content:space-between;align-items:center}
.svc-price{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--go)}
.svc-dur{font-size:11px;color:var(--mu);letter-spacing:1px}

/* ══════════════════════════════════════════════════════════
   GALLERY
══════════════════════════════════════════════════════════ */
.gal-hero{background:var(--bd);padding:80px 32px;text-align:center;position:relative;overflow:hidden}
.gal-hero::before{content:'';position:absolute;inset:0;background:url('https://images.unsplash.com/photo-1487412947147-5cebf100ffc2?w=1800&q=50') center/cover;opacity:.12;pointer-events:none}
.gal-hero-inner{position:relative}
.gal-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(44px,7vw,84px);font-weight:300;color:var(--iv);letter-spacing:2px;line-height:1}
.gal-hero p{color:var(--bl);font-size:15px;margin-top:14px}

.gal-filters{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;padding:40px 32px 0}
.gf{padding:9px 22px;border:1px solid var(--bl);background:transparent;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;color:var(--mu);border-radius:30px;transition:all var(--t)}
.gf:hover{border-color:var(--gl);color:var(--go)}.gf.on{background:var(--go);border-color:var(--go);color:#fff}

.gal-masonry{columns:3;column-gap:16px;padding:36px 32px;max-width:1220px;margin:0 auto}
@media(max-width:900px){.gal-masonry{columns:2}}@media(max-width:540px){.gal-masonry{columns:1}}
.gal-item{break-inside:avoid;margin-bottom:16px;border-radius:var(--rl);overflow:hidden;cursor:pointer;position:relative;background:var(--cr)}
.gal-item img{width:100%;height:auto;display:block;transition:transform .5s;border-radius:var(--rl)}
.gal-item:hover img{transform:scale(1.04)}
.gal-ov{position:absolute;inset:0;background:rgba(44,26,14,0);transition:background .35s;display:flex;align-items:flex-end;padding:20px;border-radius:var(--rl)}
.gal-item:hover .gal-ov{background:rgba(44,26,14,.55)}
.gal-cap{color:#fff;opacity:0;transform:translateY(8px);transition:all .3s}
.gal-item:hover .gal-cap{opacity:1;transform:translateY(0)}
.gal-cap-t{font-size:14px;font-weight:500;margin-bottom:3px}
.gal-cap-c{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;opacity:.7}
.gal-del{position:absolute;top:12px;right:12px;background:var(--re);color:#fff;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;z-index:2}
.gal-item:hover .gal-del{opacity:1}
.gal-empty{text-align:center;padding:96px 32px;color:var(--mu)}
.gal-empty .ico{font-size:56px;margin-bottom:18px;opacity:.45;display:block}

/* Lightbox */
.lb{position:fixed;inset:0;background:rgba(12,6,2,.96);z-index:9500;display:flex;align-items:center;justify-content:center;flex-direction:column}
.lb img{max-width:90vw;max-height:78vh;object-fit:contain;border-radius:var(--rl)}
.lb-cap{color:rgba(255,255,255,.55);font-size:13px;margin-top:16px;letter-spacing:1px;text-align:center}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.07);border:none;color:#fff;width:52px;height:52px;font-size:22px;cursor:pointer;border-radius:50%;transition:background .2s}
.lb-nav:hover{background:rgba(255,255,255,.16)}
.lb-prev{left:22px}.lb-next{right:22px}
.lb-close{position:absolute;top:20px;right:22px;background:none;border:none;color:rgba(255,255,255,.5);font-size:28px;cursor:pointer;transition:color .2s}
.lb-close:hover{color:#fff}
.lb-count{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.3);font-size:11px;letter-spacing:2px}

/* ══════════════════════════════════════════════════════════
   AUTH
══════════════════════════════════════════════════════════ */
.auth-wrap{min-height:calc(100vh - 66px);display:flex;align-items:center;justify-content:center;padding:40px 20px;background:linear-gradient(135deg,var(--iv),var(--cr))}
.auth-card{background:var(--wh);border-radius:var(--rl);box-shadow:var(--shl);max-width:460px;width:100%;overflow:hidden}
.auth-tabs{display:flex;border-bottom:1px solid var(--cr)}
.auth-tab{flex:1;padding:17px 12px;text-align:center;font-size:11px;letter-spacing:2.2px;text-transform:uppercase;color:var(--mu);cursor:pointer;transition:all var(--t);border-bottom:2px solid transparent}
.auth-tab.on{color:var(--go);border-bottom-color:var(--go)}
.auth-body{padding:38px}
.auth-body h2{font-family:'Cormorant Garamond',serif;font-size:30px;font-weight:300;margin-bottom:8px}
.auth-body .sub{color:var(--mu);font-size:13px;margin-bottom:28px}

/* ══════════════════════════════════════════════════════════
   ACCOUNT
══════════════════════════════════════════════════════════ */
.acc-wrap{max-width:1060px;margin:0 auto;padding:56px 32px}
.acc-hd h1{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;margin-bottom:4px}
.acc-hd p{color:var(--mu);font-size:13px;margin-bottom:40px}
.acc-layout{display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:start}
.acc-nav{background:var(--wh);border-radius:var(--rl);box-shadow:var(--sh);overflow:hidden}
.acc-nav-item{display:flex;align-items:center;gap:10px;padding:14px 18px;font-size:11px;letter-spacing:1.8px;text-transform:uppercase;color:var(--mu);cursor:pointer;transition:all var(--t);border-left:2px solid transparent}
.acc-nav-item:hover,.acc-nav-item.on{color:var(--go);border-left-color:var(--go);background:var(--iv)}
.acc-sec{display:none}.acc-sec.on{display:block;animation:fadeUp .22s ease}
@keyframes fadeUp{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}

/* ══════════════════════════════════════════════════════════
   BOOKING
══════════════════════════════════════════════════════════ */
.book-wrap{max-width:1040px;margin:0 auto;padding:52px 32px}
.book-hd h1{font-family:'Cormorant Garamond',serif;font-size:42px;font-weight:300;margin-bottom:6px}
.book-hd p{color:var(--mu);font-size:13px;margin-bottom:38px}

.steps{display:flex;align-items:center;margin-bottom:44px;border-bottom:1px solid var(--bl);padding-bottom:22px}
.step{display:flex;align-items:center;gap:10px;opacity:.36;transition:opacity .3s}
.step.on{opacity:1}.step.done{opacity:.65}
.step-n{width:30px;height:30px;border-radius:50%;border:1px solid var(--bl);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--mu);flex-shrink:0;transition:all .3s}
.step.on .step-n{background:var(--go);border-color:var(--go);color:#fff;font-size:13px}
.step.done .step-n{background:var(--gr);border-color:var(--gr);color:#fff;font-size:14px}
.step-lbl{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mu)}.step.on .step-lbl{color:var(--go)}
.step-div{flex:1;max-width:48px;height:1px;background:var(--bl)}

.book-layout{display:grid;grid-template-columns:1fr 308px;gap:36px;align-items:start}
.bstep{display:none}.bstep.on{display:block;animation:fadeUp .28s ease}
.bstep h2{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;margin-bottom:20px}

/* Service picker */
.sp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.sp-item{background:var(--wh);border:1.5px solid var(--bl);padding:18px 16px;border-radius:var(--rl);cursor:pointer;transition:all var(--t)}
.sp-item:hover{border-color:var(--gl)}.sp-item.on{border-color:var(--go);background:#FEF9F3}
.sp-ico{font-size:26px;margin-bottom:10px}
.sp-name{font-size:14px;font-weight:500;margin-bottom:4px}
.sp-meta{font-size:12px;color:var(--mu)}
.sp-price{font-family:'Cormorant Garamond',serif;font-size:22px;color:var(--go);margin-top:10px}

/* Calendar */
.cal{background:var(--wh);border-radius:var(--rl);box-shadow:var(--sh);padding:22px;max-width:374px}
.cal-hd{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.cal-title{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:300}
.cal-btn{background:none;border:1px solid var(--bl);width:34px;height:34px;cursor:pointer;font-size:15px;color:var(--mu);transition:all var(--t);border-radius:var(--r)}
.cal-btn:hover{border-color:var(--go);color:var(--go)}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}
.cal-dn{text-align:center;font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mu);padding:5px 0}
.cd{aspect-ratio:1;display:flex;align-items:center;justify-content:center;font-size:13px;border-radius:50%;cursor:pointer;transition:all var(--t)}
.cd.avail:hover{background:var(--cr)}.cd.sel{background:var(--go);color:#fff}
.cd.past,.cd.blk,.cd.cld{opacity:.28;cursor:not-allowed;pointer-events:none}
.cd.blk{text-decoration:line-through}
.cal-legend{display:flex;gap:16px;margin-top:14px;flex-wrap:wrap}
.cal-leg{display:flex;align-items:center;gap:6px;font-size:10px;color:var(--mu)}
.cal-leg-dot{width:8px;height:8px;border-radius:50%}

/* Slots */
.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:9px}
.slot{padding:11px 6px;border:1px solid var(--bl);background:var(--wh);font-family:'DM Sans',sans-serif;font-size:13px;cursor:pointer;border-radius:var(--r);transition:all var(--t);text-align:center}
.slot:hover{border-color:var(--gl);background:var(--iv)}.slot.on{background:var(--go);border-color:var(--go);color:#fff}
.slot.tk{opacity:.28;cursor:not-allowed;pointer-events:none;text-decoration:line-through}

/* Payment method */
.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px}
.pm-card{background:var(--wh);border:2px solid var(--bl);border-radius:var(--rl);padding:20px 16px;cursor:pointer;transition:all var(--t);text-align:center}
.pm-card:hover{border-color:var(--gl)}.pm-card.on{border-color:var(--go);background:#FEF9F3}
.pm-ico{font-size:30px;margin-bottom:10px}
.pm-title{font-size:14px;font-weight:500;margin-bottom:4px}
.pm-sub{font-size:12px;color:var(--mu);line-height:1.5}
.pm-badge{display:inline-block;background:var(--go);color:#fff;font-size:9px;letter-spacing:1.5px;padding:2px 9px;border-radius:10px;margin-top:8px;text-transform:uppercase}

#card-element{padding:13px 15px;border:1px solid var(--bl);background:var(--wh);border-radius:var(--r)}
#card-errors{color:var(--re);font-size:12px;margin-top:5px;min-height:18px}
.stripe-lock{display:flex;align-items:center;gap:8px;color:var(--mu);font-size:11px;margin-top:12px}

/* Booking summary */
.bsum{background:var(--wh);border-radius:var(--rl);box-shadow:var(--sh);padding:26px;position:sticky;top:82px}
.bsum-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--cr)}
.bsr{display:flex;justify-content:space-between;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--cr);font-size:13px;gap:10px}
.bsr:last-of-type{border-bottom:none}
.bsr-l{color:var(--mu);flex-shrink:0}.bsr-v{font-weight:500;text-align:right}
.bsum-total{display:flex;justify-content:space-between;align-items:center;padding:14px 0 0;margin-top:10px;border-top:1.5px solid var(--bl)}
.bst-l{font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1.5px}
.bst-p{font-family:'Cormorant Garamond',serif;font-size:30px;color:var(--go)}
.bsum-empty{color:var(--mu);font-size:13px;text-align:center;padding:28px 0;line-height:1.8;opacity:.7}

/* Confirmation */
.conf{text-align:center;padding:80px 32px;max-width:580px;margin:0 auto}
.conf-ico{width:88px;height:88px;border-radius:50%;margin:0 auto 24px;display:flex;align-items:center;justify-content:center;font-size:40px}
.conf-ico.ok{background:#E8F5EF}.conf-ico.info{background:#FEF7EE}
.conf h2{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:300;margin-bottom:14px}
.conf p{color:var(--mu);line-height:1.8;margin-bottom:32px}
.conf-det{background:var(--wh);border-radius:var(--rl);padding:22px;box-shadow:var(--sh);margin-bottom:28px;text-align:left}
.cdr{display:flex;justify-content:space-between;padding:7px 0;font-size:13px;border-bottom:1px solid var(--cr)}
.cdr:last-child{border-bottom:none}.cdr-l{color:var(--mu)}

/* ══════════════════════════════════════════════════════════
   ADMIN
══════════════════════════════════════════════════════════ */
.adm-wrap{display:flex;min-height:100vh}
.adm-side{width:258px;background:var(--bd);position:fixed;top:0;left:0;bottom:0;z-index:500;display:flex;flex-direction:column;padding-top:66px}
.adm-side-in{flex:1;overflow-y:auto;padding:20px 0}
.adm-logo{padding:0 22px 22px;border-bottom:1px solid rgba(255,255,255,.07);margin-bottom:8px}
.adm-logo span{font-family:'Cormorant Garamond',serif;font-size:19px;color:var(--bl);letter-spacing:3px}
.adm-logo small{display:block;font-size:9px;letter-spacing:2.5px;color:rgba(255,255,255,.25);text-transform:uppercase;margin-top:2px}
.adm-nav-sec{font-size:8.5px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.2);padding:18px 22px 5px}
.adm-nav-item{display:flex;align-items:center;gap:10px;padding:11px 22px;color:rgba(255,255,255,.42);font-size:11px;letter-spacing:1.8px;text-transform:uppercase;transition:all var(--t);border-left:2px solid transparent;cursor:pointer}
.adm-nav-item:hover{color:rgba(255,255,255,.8);background:rgba(255,255,255,.04)}
.adm-nav-item.on{color:var(--gl);border-left-color:var(--gl);background:rgba(184,145,106,.1)}
.adm-main{flex:1;margin-left:258px;padding:82px 36px 36px;background:var(--iv);min-height:100vh}
.adm-pg{display:none}.adm-pg.on{display:block;animation:fadeUp .22s ease}
.adm-pg-hd{margin-bottom:28px}
.adm-pg-hd h1{font-family:'Cormorant Garamond',serif;font-size:34px;font-weight:300;color:var(--bd)}
.adm-pg-hd p{color:var(--mu);font-size:13px;margin-top:3px}

.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(192px,1fr));gap:16px;margin-bottom:30px}
.stat{background:var(--wh);padding:22px 20px;border-radius:var(--rl);box-shadow:var(--sh)}
.stat-l{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--mu);margin-bottom:8px}
.stat-v{font-family:'Cormorant Garamond',serif;font-size:40px;color:var(--bd);line-height:1}
.stat-v span{font-size:17px;color:var(--go)}
.stat-sub{font-size:11px;color:var(--mu);margin-top:4px;letter-spacing:.5px}

.card{background:var(--wh);border-radius:var(--rl);box-shadow:var(--sh)}
.card-hd{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--cr)}
.card-hd h2{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400}
.card-bd{padding:22px}
.mb20{margin-bottom:20px}.mb28{margin-bottom:28px}
.tw{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;padding:9px 14px;font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--mu);border-bottom:1px solid var(--cr);white-space:nowrap}
td{padding:12px 14px;border-bottom:1px solid var(--cr);vertical-align:middle}
tr:last-child td{border-bottom:none}
tr:hover td{background:var(--iv)}
.td-act{display:flex;gap:6px;flex-wrap:wrap}



/* Schedule */
.sch-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:10px}
.sch-day{background:var(--wh);border-radius:var(--rl);padding:14px;box-shadow:var(--sh)}
.sch-day.cld{opacity:.55}
.sch-dname{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--mu);margin-bottom:10px}
.tog-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.tog{width:34px;height:18px;background:var(--bl);border-radius:9px;position:relative;cursor:pointer;transition:background var(--t);flex-shrink:0}
.tog.on{background:var(--go)}
.tog::after{content:'';position:absolute;width:14px;height:14px;background:#fff;border-radius:50%;top:2px;left:2px;transition:transform var(--t)}
.tog.on::after{transform:translateX(16px)}
.tog-lbl{font-size:11px;color:var(--mu)}
.t-range{display:flex;gap:5px;align-items:center}
.t-range input{padding:5px 8px;font-size:11px}
.t-range span{color:var(--mu);font-size:11px;flex-shrink:0}

.blk-list{display:flex;flex-wrap:wrap;gap:8px}
.blk-tag{display:flex;align-items:center;gap:8px;background:var(--cr);padding:6px 13px;border-radius:20px;font-size:12px}
.blk-tag button{background:none;border:none;color:var(--mu);cursor:pointer;font-size:14px;line-height:1;transition:color var(--t)}
.blk-tag button:hover{color:var(--re)}

/* Gallery admin */
.gadm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px;margin-top:14px}
.gadm-item{border-radius:var(--rl);overflow:hidden;position:relative;background:var(--cr);aspect-ratio:1}
.gadm-item img{width:100%;height:100%;object-fit:cover}
.gadm-ov{position:absolute;inset:0;background:rgba(44,26,14,0);transition:.28s;display:flex;align-items:center;justify-content:center}
.gadm-item:hover .gadm-ov{background:rgba(44,26,14,.58)}
.gadm-ov button{opacity:0;transition:.2s;border:none;padding:6px 13px;border-radius:var(--r);cursor:pointer;font-size:10.5px;font-family:'DM Sans',sans-serif;letter-spacing:1.5px;text-transform:uppercase;background:var(--re);color:#fff}
.gadm-item:hover .gadm-ov button{opacity:1}
.gadm-cat{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.52);color:#fff;font-size:9px;padding:4px 8px;letter-spacing:1.5px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.upload-zone{border:2px dashed var(--bl);border-radius:var(--rl);padding:36px;text-align:center;cursor:pointer;transition:all var(--t);background:var(--iv)}
.upload-zone:hover,.upload-zone.drag{border-color:var(--go);background:var(--cr)}
.upload-zone input[type=file]{display:none}
.upload-ico{font-size:34px;margin-bottom:10px;opacity:.55;display:block}

/* Fbar */
.fbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px;align-items:center}
.fbar select,.fbar input{max-width:190px}
.fbar-cnt{font-size:12px;color:var(--mu);margin-left:auto;white-space:nowrap}

/* Info boxes */
.ib{padding:13px 16px;border-radius:var(--rl);font-size:13px;line-height:1.7;margin-bottom:14px}
.ib-bl{background:#EFF4FF;border:1px solid #C7D7FD;color:#1e3a8a}
.ib-am{background:#FFFBEB;border:1px solid #FDE68A;color:#92400e}
.ib-gr{background:#F0FDF4;border:1px solid #BBF7D0;color:#15803d}
.ib-re{background:#FEF2F2;border:1px solid #FECACA;color:#991b1b}

/* Detail rows */
.det-row{display:flex;justify-content:space-between;padding:8px 0;font-size:13px;border-bottom:1px solid var(--cr)}
.det-row:last-child{border-bottom:none}.det-l{color:var(--mu)}

/* ══════════════════════════════════════════════════════════
   CONTACT
══════════════════════════════════════════════════════════ */
.contact-hero{padding:80px 32px 56px;background:linear-gradient(135deg,var(--iv),var(--cr));text-align:center}
.contact-hero .sec-ey{justify-content:center;display:flex;gap:8px;align-items:center;margin-bottom:10px}
.contact-hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,68px);font-weight:300;color:var(--bd);line-height:1.05;margin-bottom:16px}
.contact-hero p{color:var(--mu);font-size:15px;max-width:520px;margin:0 auto;line-height:1.8}
.contact-inner{max-width:1100px;margin:0 auto;padding:64px 32px}
.contact-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:52px;align-items:start}
.cinfo-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:32px}
.cinfo-card{background:var(--wh);border-radius:var(--rl);box-shadow:var(--sh);padding:22px 20px;transition:all .3s}
.cinfo-card:hover{box-shadow:var(--shm);transform:translateY(-2px)}
.cinfo-ico{font-size:26px;margin-bottom:10px}
.cinfo-lbl{font-size:9.5px;letter-spacing:2.5px;text-transform:uppercase;color:var(--mu);margin-bottom:4px}
.cinfo-val{font-size:14px;color:var(--bd);font-weight:400;line-height:1.55}
.contact-social{display:flex;gap:10px;flex-wrap:wrap}
.csoc{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1.5px solid var(--bl);border-radius:30px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--mu);cursor:pointer;background:none;font-family:'DM Sans',sans-serif;transition:all var(--t)}
.csoc:hover{border-color:var(--go);color:var(--go);background:var(--iv)}
.cform-card{background:var(--wh);border-radius:var(--rl);box-shadow:var(--shm);padding:40px 36px}
.cform-card h2{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:300;color:var(--bd);margin-bottom:6px}
.cform-card .sub{font-size:13px;color:var(--mu);margin-bottom:28px;line-height:1.7}
.cform-success{text-align:center;padding:32px 20px}
.cform-success .ico-ok{font-size:52px;margin-bottom:16px;display:block}
.cform-success h3{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;margin-bottom:10px;color:var(--bd)}
.cform-success p{color:var(--mu);font-size:14px;line-height:1.75}

/* ══════════════════════════════════════════════════════════
   MENTIONS LÉGALES
══════════════════════════════════════════════════════════ */
.legal-wrap{max-width:820px;margin:0 auto;padding:64px 32px}
.legal-hd{margin-bottom:44px;padding-bottom:28px;border-bottom:1.5px solid var(--bl)}
.legal-hd .sec-ey{margin-bottom:10px}
.legal-hd h1{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,5vw,56px);font-weight:300;color:var(--bd);line-height:1.05;margin-bottom:16px}
.legal-hd p{color:var(--mu);font-size:13px;line-height:1.8}
.legal-body{display:flex;flex-direction:column;gap:32px}
.legal-sec{background:var(--wh);border-radius:var(--rl);box-shadow:var(--sh);padding:32px}
.legal-sec h2{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:400;color:var(--go);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--cr)}
.legal-sec p,.legal-sec li{font-size:13.5px;color:var(--bd);line-height:1.85;margin-bottom:10px}
.legal-sec ul{padding-left:18px}
.legal-sec li::marker{color:var(--go)}
.legal-sec strong{color:var(--bd);font-weight:500}
.legal-sec a{color:var(--go);text-decoration:underline;text-underline-offset:3px}
.legal-back{display:inline-flex;align-items:center;gap:8px;color:var(--mu);font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:color var(--t);margin-bottom:32px;background:none;border:none;font-family:'DM Sans',sans-serif}
.legal-back:hover{color:var(--go)}
/* ── RESPONSIVE ──────────────────────────────────────── */
@media(max-width:980px){
  .hero{grid-template-columns:1fr;min-height:auto}.hero-r{height:52vw}
  .book-layout{grid-template-columns:1fr}.bsum{position:static}
  .sch-grid{grid-template-columns:repeat(2,1fr)}
  .adm-side{transform:translateX(-258px);transition:transform .3s}
  .adm-side.open{transform:translateX(0)}.adm-main{margin-left:0}
  .acc-layout{grid-template-columns:1fr}
  .pm-grid{grid-template-columns:1fr}.fg2{grid-template-columns:1fr}
}
@media(max-width:640px){
  .hero-l{padding:48px 28px}.nav-links{gap:18px}.nav-in{padding:0 20px}
}


/* ── BASE ANTI-DÉBORDEMENT (hors media query — toujours actif) ── */
*, *::before, *::after { box-sizing: border-box; }

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

img, video, iframe, canvas, svg {
  max-width: 100%;
  height: auto;
}

/* L'iframe de la carte Google Maps a besoin d'une hauteur fixe */
iframe[src*="google.com/maps"] { height: 240px; }



/* ── RESPONSIVE ──────────────────────────────────────── */

/* ═══════════════════════════════════════════════
   980px — TABLETTE
═══════════════════════════════════════════════ */
@media (max-width: 980px) {

  /* Hero */
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-r { height: 52vw; }

  /* Réservation */
  .book-layout { grid-template-columns: 1fr; }
  .bsum { position: static; }

  /* Planning */
  .sch-grid { grid-template-columns: repeat(2, 1fr); }

  /* Admin sidebar */
  .adm-wrap { overflow-x: hidden; position: relative; }
  .adm-side {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    transform: translateX(-258px);
    transition: transform .3s;
    z-index: 650;
  }
  .adm-side.open { transform: translateX(0); }
  .adm-main { margin-left: 0; }

  /* Compte */
  .acc-layout { grid-template-columns: 1fr; }

  /* Paiement & grilles */
  .pm-grid { grid-template-columns: 1fr; }
  .fg2 { grid-template-columns: 1fr; }

  /* Contact */
  .contact-layout { grid-template-columns: 1fr; gap: 40px; }
  .cinfo-cards { grid-template-columns: 1fr 1fr; }
}


/* ═══════════════════════════════════════════════
   640px — PETIT TABLET / GRAND MOBILE
═══════════════════════════════════════════════ */
@media (max-width: 640px) {
  .hero-l { padding: 48px 28px; }
  .nav-links { gap: 18px; }
  .nav-in { padding: 0 20px; }
  .cinfo-cards { grid-template-columns: 1fr; }
}


/* ═══════════════════════════════════════════════
   480px — MOBILE
═══════════════════════════════════════════════ */
@media (max-width: 480px) {

  /* ── NAV ── */
  nav { border-bottom: 1px solid var(--bl); }
  .nav-in { padding: 0 16px; height: 58px; }
  .logo { font-size: 18px; letter-spacing: 3px; }
  .page { padding-top: 58px; }

  /* Liens nav → menu hamburger */
  .nav-links {
    display: none;
    position: fixed;
    top: 58px; left: 0; right: 0;
    background: rgba(250,247,242,.98);
    backdrop-filter: blur(20px);
    flex-direction: column;
    gap: 0;
    border-bottom: 1px solid var(--bl);
    z-index: 599;
    padding: 8px 0;
    box-shadow: var(--shm);
  }
  .nav-links.open { display: flex; animation: drpIn .2s ease; }
  .nav-link {
    padding: 14px 20px;
    font-size: 12px;
    letter-spacing: 2px;
    width: 100%;
    text-align: left;
    border-bottom: 1px solid var(--cr);
  }
  .nav-link:last-child { border-bottom: none; }

  /* Bouton hamburger */
  .nav-burger {
    display: flex !important;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
    background: none;
    border: none;
    padding: 6px;
    margin-left: 4px;
  }
  .nav-burger span {
    display: block;
    width: 22px;
    height: 1.5px;
    background: var(--bd);
    transition: all .25s;
    border-radius: 2px;
  }
  .nav-burger.open span:nth-child(1) { transform: translateY(6.5px) rotate(45deg); }
  .nav-burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
  .nav-burger.open span:nth-child(3) { transform: translateY(-6.5px) rotate(-45deg); }

  /* ── HERO ── */
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-l { padding: 44px 20px 40px; order: 2; }
  .hero-r { height: 62vw; min-height: 220px; order: 1; }
  .hero-r::after { background: linear-gradient(to bottom, transparent 60%, var(--iv) 100%); }
  .hero-eyebrow { font-size: 9px; margin-bottom: 18px; }
  .hero-h1 { font-size: clamp(42px, 11vw, 62px); margin-bottom: 18px; letter-spacing: -0.5px; }
  .hero-sub { font-size: 14px; margin-bottom: 28px; }
  .hero-cta { flex-direction: column; gap: 10px; }
  .hero-cta .btn { width: 100%; justify-content: center; }
  .hero-badge { bottom: 16px; right: 16px; padding: 14px 16px; min-width: 170px; }
  .hbs-n { font-size: 24px; }

  /* ── SECTIONS ── */
  .section { padding: 56px 16px; }
  .sec-h2 { font-size: clamp(30px, 8vw, 42px); }
  .sec-hd { margin-bottom: 32px; }

  /* Section "3 étapes" en colonne */
  .section-inner > div[style*="grid-template-columns:repeat(3"] {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }

  /* ── SERVICES ── */
  .svcs-grid { grid-template-columns: 1fr; gap: 14px; }
  .svc-card { padding: 22px 20px; }

  /* ── GALERIE ── */
  .gal-hero { padding: 52px 16px; }
  .gal-masonry { columns: 2; column-gap: 10px; padding: 24px 12px; }
  .gal-filters { padding: 24px 12px 0; gap: 8px; flex-wrap: wrap; }
  .gf { padding: 7px 14px; font-size: 10px; }

  /* ── LIGHTBOX ── */
  .lb img { max-width: 96vw; max-height: 66vh; }
  .lb-nav { width: 40px; height: 40px; font-size: 18px; }
  .lb-prev { left: 8px; }
  .lb-next { right: 8px; }

  /* ── AUTH ── */
  .auth-wrap { padding: 32px 12px; align-items: flex-start; }
  .auth-card { border-radius: 12px; }
  .auth-body { padding: 24px 20px; }
  .auth-body h2 { font-size: 26px; }

  /* ── COMPTE ── */
  .acc-wrap { padding: 28px 16px; }
  .acc-hd h1 { font-size: 32px; }
  .acc-layout { grid-template-columns: 1fr; gap: 16px; }
  .acc-nav { display: flex; overflow-x: auto; border-radius: var(--r); }
  .acc-nav-item {
    border-left: none;
    border-bottom: 2px solid transparent;
    white-space: nowrap;
    padding: 12px 16px;
    font-size: 10px;
  }
  .acc-nav-item.on { border-left: none; border-bottom-color: var(--go); }

  /* ── TABLEAUX ── */
  .tw { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  table { min-width: 560px; table-layout: auto; }
  th, td { padding: 10px; font-size: 12px; }

  /* ── RÉSERVATION ── */
  .book-wrap { padding: 28px 16px; }
  .book-hd h1 { font-size: 32px; }
  .book-layout { grid-template-columns: 1fr; gap: 20px; }
  .bsum { position: static; padding: 18px; margin-top: 0; }
  .bst-p { font-size: 24px; }

  /* Steps compacts */
  .steps { overflow-x: auto; padding-bottom: 16px; gap: 0; }
  .step { flex-shrink: 0; }
  .step-lbl { font-size: 9px; letter-spacing: 1px; }
  .step-div { min-width: 20px; max-width: 28px; }

  /* Grille soins booking */
  .sp-grid { grid-template-columns: 1fr 1fr; gap: 10px; }
  .sp-item { padding: 14px 12px; }
  .sp-ico { font-size: 22px; }
  .sp-price { font-size: 18px; }

  /* Calendrier */
  .cal { padding: 16px; max-width: 100%; }
  .cal-title { font-size: 18px; }
  .cd { font-size: 12px; }

  /* Créneaux */
  .slots-grid { grid-template-columns: repeat(4, 1fr); gap: 8px; }
  .slot { padding: 9px 4px; font-size: 12px; }

  /* Paiement */
  .pm-grid { grid-template-columns: 1fr; gap: 10px; }
  .pm-card { padding: 16px; display: flex; align-items: center; text-align: left; gap: 14px; }
  .pm-ico { font-size: 26px; margin-bottom: 0; flex-shrink: 0; }

  /* ── ADMIN ── */
  .adm-wrap { overflow-x: hidden; position: relative; }

  .adm-side {
    position: fixed;
    top: 0; left: 0; bottom: 0;
    width: 258px;
    transform: translateX(-258px);
    transition: transform .3s;
    z-index: 650;
  }
  .adm-side.open { transform: translateX(0); }

  /* Overlay semi-transparent quand le sidebar est ouvert */
  .adm-side.open::after {
    content: '';
    position: fixed;
    top: 0; left: 258px; right: 0; bottom: 0;
    background: rgba(0,0,0,.35);
    z-index: -1;
  }

  .adm-main {
    margin-left: 0;
    padding: 72px 14px 80px;
    width: 100%;
    max-width: 100vw;
    overflow-x: hidden;
    box-sizing: border-box;
  }

  /* Stats */
  .stats-row { grid-template-columns: 1fr 1fr; gap: 10px; }
  .stat { padding: 16px 14px; }
  .stat-v { font-size: 32px; }

  /* Planning */
  .sch-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
  .sch-day { padding: 10px; }

  /* Galerie admin */
  .gadm-grid { grid-template-columns: repeat(3, 1fr); gap: 8px; }

  /* Filtres */
  .fbar { display: flex; flex-wrap: wrap; gap: 8px; }
  .fbar select, .fbar input { max-width: 100%; box-sizing: border-box; }

  /* Cards admin */
  .card-hd { flex-direction: column; align-items: flex-start; gap: 10px; }
  .card-hd h2 { font-size: 20px; }
  .td-act { gap: 4px; }

  /* ── MODALS ── */
  .modal-bg { padding: 0; align-items: flex-end; }
  .modal {
    max-width: 100%;
    width: 100%;
    border-radius: 16px 16px 0 0;
    max-height: 92vh;
    animation: mdInMobile .28s ease;
  }
  @keyframes mdInMobile {
    from { opacity: 0; transform: translateY(40px); }
    to   { opacity: 1; transform: translateY(0); }
  }
  .modal-hd { padding: 14px 18px; }
  .modal-hd h3 { font-size: 20px; }
  .modal-bd { padding: 18px; }
  .modal-ft { padding: 12px 18px; flex-direction: column; gap: 8px; }
  .modal-ft .btn { width: 100%; }

  /* ── TOAST ── */
  #toast-wrap {
    bottom: 14px;
    right: 12px;
    left: 12px;
    align-items: stretch;
  }
  .toast { min-width: unset; max-width: 100%; }

  /* ── CONTACT ── */
  .contact-hero { padding: 52px 16px 32px; }
  .contact-layout { grid-template-columns: 1fr; gap: 32px; }
  .cinfo-cards { grid-template-columns: 1fr; }
  .cform-card { padding: 28px 20px; }

  /* ── MENTIONS LÉGALES ── */
  .legal-wrap { padding: 40px 16px; }
  .legal-body { padding: 0; gap: 20px; }
  .legal-sec { padding: 22px 16px; }

  /* ── CONFIRMATION ── */
  .conf { padding: 48px 16px; }
  .conf h2 { font-size: 30px; }

  /* ── UTILITAIRES ── */
  .fg2 { grid-template-columns: 1fr; }
  .btn { padding: 12px 20px; font-size: 11px; }
  .btn-sm { padding: 8px 14px; font-size: 10px; }

  /* ── BARRE ADMIN MOBILE (bas d'écran) ── */
  .adm-mobile-bar {
    display: flex !important;
    position: fixed;
    bottom: 0; left: 0; right: 0;
    background: var(--bd);
    z-index: 700;
    height: 58px;
    align-items: stretch;
    border-top: 1px solid rgba(255,255,255,.08);
  }
  .adm-mobile-bar button {
    flex: 1;
    background: none;
    border: none;
    color: rgba(255,255,255,.45);
    font-size: 9px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    font-family: 'DM Sans', sans-serif;
    transition: color .2s;
    padding: 0;
  }
  .adm-mobile-bar button span { font-size: 18px; line-height: 1; }
  .adm-mobile-bar button.on,
  .adm-mobile-bar button:hover { color: var(--gl); }
  .adm-main { padding-bottom: 80px; }
}


/* ═══════════════════════════════════════════════
   360px — TRÈS PETIT MOBILE
═══════════════════════════════════════════════ */
@media (max-width: 360px) {
  .sp-grid { grid-template-columns: 1fr; }
  .gadm-grid { grid-template-columns: repeat(2, 1fr); }
  .stats-row { grid-template-columns: 1fr; }
  .sch-grid { grid-template-columns: 1fr; }
  .slots-grid { grid-template-columns: repeat(3, 1fr); }
  .hero-badge { display: none; } /* trop petit pour tenir */
}

/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtFmSq17w.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtMmSq17w.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtHmSq17w.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtGmSq17w.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3ZmX5slCNuHLi8bLeY9MK7whWMhyjYrEtImSo.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.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;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpHtKgS4.woff2) format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYrXtKgS4.woff2) format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYpntKgS4.woff2) format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYp3tKgS4.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;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/cormorantgaramond/v21/co3bmX5slCNuHLi8bLeY9MK7whWMhyjYqXtK.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;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat_XDV36TGc5pg.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;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: italic;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2rp2ywxg089UriCZaSExd86J3t9jz86Mvy4qCRAL19DksVat_XDV30TGc.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;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.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;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.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;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.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;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.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;
}
/* latin-ext */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu6-K6h9Q.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;
}
/* latin */
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(https://fonts.gstatic.com/s/dmsans/v17/rP2Yp2ywxg089UriI5-g4vlH9VoD8Cmcqbu0-K4.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;
}