/* ═══════════ PALETTE ═══════════
   Vert foncé profond + Or chaud
   #1A3C34 = vert principal
   #C8A96E = or
════════════════════════════════ */
:root{
  --vert:#1A3C34;
  --vert-soft:#22504A;
  --vert-mid:#2E6B60;
  --vert-pale:#EAF2EF;
  --vert-ultra:#F2F7F5;
  --or:#C8A96E;
  --or-light:#E2C99A;
  --or-pale:#F8F2E6;
  --blanc:#FDFBF8;
  --beige:#F5F0E8;
  --beige-mid:#E8DFD0;
  --text:#1A3C34;
  --text-soft:#4A6960;
  --text-pale:#8AA89E;
  --tva:1.10;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Hanken Grotesk',sans-serif;background:var(--blanc);color:var(--text);overflow-x:hidden;}

/* ═══════════ NAV ═══════════ */
nav{position:fixed;top:0;left:0;right:0;z-index:300;padding:0 48px;height:70px;display:flex;align-items:center;justify-content:space-between;background:rgba(26,60,52,0.97);backdrop-filter:blur(20px);border-bottom:1px solid rgba(200,169,110,0.18);}
.nav-logo{display:flex;align-items:center;gap:10px;cursor:pointer;}
.nav-logo svg{width:36px;height:36px;}
.nav-logo-text{font-family:'Bodoni Moda',serif;font-size:18px;font-weight:500;color:var(--or);letter-spacing:2px;}
.nav-logo-text span{font-style:italic;color:var(--or-light);}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-size:10px;font-weight:300;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.55);text-decoration:none;transition:color .3s;cursor:pointer;}
.nav-links a:hover{color:var(--or);}
.nav-cta{background:var(--or);border:none;color:var(--vert);font-family:'Hanken Grotesk',sans-serif;font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:10px 22px;cursor:pointer;transition:all .3s;}
.nav-cta:hover{background:var(--or-light);}

/* ═══════════ LOGO SVG ═══════════ */
.logo-svg-or .hat-stroke{stroke:var(--or);}
.logo-svg-or .hat-fill{fill:var(--or);}

/* ═══════════ PAGES ═══════════ */
.page{display:none;padding-top:70px;min-height:100vh;}
.page.active{display:block;animation:fadeIn .3s ease;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}

/* ═══════════ HERO ═══════════ */
.hero{min-height:calc(100vh - 70px);background:var(--vert);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;text-align:center;padding:60px 20px;}
.hero-bg{position:absolute;inset:0;background:url('../assets/hero-bg.jpg') center/cover no-repeat;opacity:0.45;z-index:0;}
.hero::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(26,60,52,0.3) 0%,rgba(26,60,52,0.65) 40%,rgba(26,60,52,0.65) 70%,rgba(26,60,52,0.3) 100%) 0%,rgba(26,60,52,0.25) 50%,rgba(26,60,52,0.5) 100%);}
.hero::after{content:'';position:absolute;inset:0;background-image:linear-gradient(rgba(200,169,110,0.04) 1px,transparent 1px),linear-gradient(90deg,rgba(200,169,110,0.04) 1px,transparent 1px);background-size:80px 80px;}
.hero-content{position:relative;z-index:10;}
.hero-logo{margin-bottom:32px;animation:fadeUp .8s ease .1s both;}
.hero-logo svg{width:72px;height:72px;}
.hero-eyebrow{font-size:9px;letter-spacing:5px;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,0.9);margin-bottom:24px;animation:fadeUp .8s ease .2s both;}
.hero-title{font-family:'Bodoni Moda',serif;font-size:clamp(42px,7vw,82px);font-weight:400;color:var(--blanc);line-height:1.05;margin-bottom:12px;animation:fadeUp .8s ease .4s both;}
.hero-title em{font-style:italic;color:var(--or-light);}
.hero-sub{display:block;font-size:clamp(13px,2vw,20px);font-weight:200;letter-spacing:7px;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,0.9);margin-top:8px;}
.hero-desc{font-size:13px;font-weight:200;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,0.9);margin:22px 0 42px;line-height:1.85;animation:fadeUp .8s ease .6s both;}
.hero-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;animation:fadeUp .8s ease .8s both;}

/* ═══════════ BUTTONS ═══════════ */
.btn-or{background:var(--or);border:none;color:var(--vert);font-family:'Hanken Grotesk',sans-serif;font-size:10px;font-weight:500;letter-spacing:2px;text-transform:uppercase;padding:13px 32px;cursor:pointer;transition:all .3s;}
.btn-or:hover{background:var(--or-light);transform:translateY(-2px);}
.btn-ghost{background:transparent;border:1px solid rgba(255,255,255,0.18);color:rgba(255,255,255,0.55);font-family:'Hanken Grotesk',sans-serif;font-size:10px;font-weight:300;letter-spacing:2px;text-transform:uppercase;padding:13px 32px;cursor:pointer;transition:all .3s;}
.btn-ghost:hover{border-color:var(--or);color:var(--or);}
.btn-vert-outline{background:transparent;border:1px solid var(--beige-mid);color:var(--text-soft);font-family:'Hanken Grotesk',sans-serif;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;padding:11px 26px;cursor:pointer;transition:all .3s;}
.btn-vert-outline:hover{border-color:var(--or);color:var(--or);}
.btn-stripe{background:#635BFF;border:none;color:white;font-family:'Hanken Grotesk',sans-serif;font-size:11px;font-weight:500;letter-spacing:1px;padding:13px 28px;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:7px;}
.btn-stripe:hover{background:#5248e8;}
.btn-devis{background:transparent;border:1px solid var(--or);color:var(--or);font-family:'Hanken Grotesk',sans-serif;font-size:11px;padding:13px 28px;cursor:pointer;transition:all .3s;}
.btn-devis:hover{background:var(--or);color:var(--vert);}
.btn-pdf{background:transparent;border:1px solid rgba(200,169,110,0.38);color:var(--or);font-family:'Hanken Grotesk',sans-serif;font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;padding:9px 18px;cursor:pointer;transition:all .3s;}
.btn-pdf:hover{background:rgba(200,169,110,0.1);}

/* ═══════════ LAYOUT ═══════════ */
.wrap{max-width:1160px;margin:0 auto;padding:80px 40px;}
.wrap-sm{max-width:1160px;margin:0 auto;padding:52px 40px;}
.bg-vert{background:var(--vert);}
.bg-vert-soft{background:var(--vert-soft);}
.bg-beige{background:var(--beige);}
.bg-blanc{background:var(--blanc);}
.bg-vert-pale{background:var(--vert-pale);}

/* ═══════════ TYPOGRAPHY ═══════════ */
.eyebrow{font-size:9px;font-weight:400;letter-spacing:4px;text-transform:uppercase;color:var(--or);margin-bottom:12px;}
.eyebrow-light{color:rgba(200,169,110,0.7);}
.s-title{font-family:'Bodoni Moda',serif;font-size:clamp(26px,4vw,44px);font-weight:400;line-height:1.15;margin-bottom:14px;}
.s-title-light{color:var(--blanc);}
.s-title em{font-style:italic;color:var(--or);}
.s-sub{font-size:13px;font-weight:300;color:var(--text-soft);line-height:1.85;max-width:500px;}
.s-sub-light{color:rgba(255,255,255,0.38);}
.or-line{width:36px;height:1px;background:var(--or);margin:14px 0;opacity:.5;}

/* ═══════════ PRIX HT/TTC ═══════════ */
.prix-wrap{display:inline-flex;flex-direction:column;gap:2px;}
.prix-ht{font-size:13px;color:var(--or);font-weight:400;}
.prix-ttc{font-size:10px;color:var(--text-pale);font-weight:300;}
.prix-ht-dark{color:var(--or);}
.prix-ttc-dark{color:rgba(255,255,255,0.3);}

/* ═══════════ SERVICE CARDS ACCUEIL ═══════════ */
.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;}
.scard{padding:44px 32px;border:1px solid var(--beige-mid);cursor:pointer;transition:all .35s;position:relative;overflow:hidden;background:var(--blanc);}
.scard::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--or);transform:scaleX(0);transition:transform .4s;}
.scard:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(26,60,52,0.1);}
.scard:hover::after{transform:scaleX(1);}
.scard.featured{background:var(--vert);border-color:rgba(200,169,110,0.15);}
.scard-num{font-family:'Bodoni Moda',serif;font-size:52px;color:var(--beige-mid);position:absolute;top:14px;right:22px;line-height:1;opacity:.5;}
.scard.featured .scard-num{color:rgba(200,169,110,0.08);opacity:1;}
.scard-tag{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--or);border:1px solid rgba(200,169,110,0.38);padding:4px 10px;display:inline-block;margin-bottom:20px;}
.scard-title{font-family:'Bodoni Moda',serif;font-size:22px;margin-bottom:8px;color:var(--text);}
.scard.featured .scard-title{color:var(--blanc);}
.scard-price{font-size:11.5px;color:var(--or);margin-bottom:14px;line-height:1.7;}
.scard-desc{font-size:12px;font-weight:300;color:var(--text-soft);line-height:1.75;margin-bottom:22px;}
.scard.featured .scard-desc{color:rgba(255,255,255,0.4);}

/* ═══════════ FORMULE CARDS CLIQUABLES ═══════════ */
.formule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:40px;}
.fcard{border:1px solid var(--beige-mid);padding:0;cursor:pointer;transition:all .35s;background:var(--blanc);overflow:hidden;}
.fcard:hover{border-color:var(--or);transform:translateY(-3px);box-shadow:0 16px 40px rgba(26,60,52,0.1);}
.fcard.dark{background:var(--vert-soft);border-color:rgba(200,169,110,0.15);}
.fcard.dark:hover{border-color:var(--or);}
.fcard-top{padding:26px 22px 18px;position:relative;}
.fcard-badge{font-size:8.5px;letter-spacing:2px;text-transform:uppercase;color:var(--or);border:1px solid rgba(200,169,110,0.35);padding:3px 9px;display:inline-block;margin-bottom:14px;}
.fcard-name{font-family:'Bodoni Moda',serif;font-size:21px;margin-bottom:6px;color:var(--text);}
.fcard.dark .fcard-name{color:var(--blanc);}
.fcard-price{font-size:11px;color:var(--or);margin-bottom:8px;line-height:1.6;}
.fcard-arrow{position:absolute;top:26px;right:22px;font-size:17px;color:var(--or);opacity:.4;transition:all .3s;}
.fcard:hover .fcard-arrow{opacity:1;transform:translateX(4px);}
.fcard-preview{padding:0 22px 18px;list-style:none;}
.fcard-preview li{font-size:11.5px;font-weight:300;color:var(--text-soft);padding:4px 0;border-bottom:1px solid var(--beige-mid);padding-left:12px;position:relative;line-height:1.4;}
.fcard.dark .fcard-preview li{color:#fff;text-shadow:0 1px 8px rgba(0,0,0,0.9);border-bottom-color:rgba(255,255,255,0.06);}
.fcard-preview li::before{content:'—';position:absolute;left:0;color:var(--or);font-size:9px;top:6px;}
.fcard-preview li:last-child{border-bottom:none;}
.fcard-footer{padding:14px 22px;background:var(--vert-pale);display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--text-pale);}
.fcard.dark .fcard-footer{background:rgba(200,169,110,0.05);}
.fcard-footer span{color:var(--or);font-weight:500;}

/* ═══════════ DETAIL PAGE ═══════════ */
.back-btn{display:inline-flex;align-items:center;gap:8px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,0.38);cursor:pointer;transition:color .3s;margin-bottom:28px;background:none;border:none;font-family:'Hanken Grotesk',sans-serif;}
.back-btn:hover{color:var(--or);}
.frais-badges{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap;}
.frais-badge{border:1px solid rgba(200,169,110,0.3);padding:9px 14px;font-size:11px;color:rgba(255,255,255,0.6);}
.frais-badge.offert{border-color:rgba(100,180,140,0.4);color:#7DC98F;}

/* ═══════════ CHOICES ═══════════ */
.choices-section{border:1px solid rgba(200,169,110,0.15);padding:26px;margin-bottom:20px;}
.cs-title{font-family:'Bodoni Moda',serif;font-size:15px;color:var(--or-light);margin-bottom:5px;}
.cs-note{font-size:10px;color:rgba(255,255,255,0.25);letter-spacing:1px;text-transform:uppercase;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(200,169,110,0.1);}
.cs-counter{font-size:11px;color:rgba(255,255,255,0.3);margin-bottom:12px;}
.cs-counter em{color:var(--or);font-style:normal;font-weight:600;}

.pieces-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.piece{border:1px solid rgba(200,169,110,0.12);padding:11px 13px;cursor:pointer;transition:all .25s;position:relative;}
.piece:hover{border-color:rgba(200,169,110,0.45);}
.piece.sel{border-color:var(--or);background:rgba(200,169,110,0.07);}
.piece.sel::after{content:'✓';position:absolute;top:7px;right:8px;width:15px;height:15px;background:var(--or);color:var(--vert);font-size:8px;font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:50%;}
.piece-name{font-size:11.5px;font-weight:300;color:rgba(255,255,255,0.6);line-height:1.4;padding-right:18px;}

.radio-choices{display:flex;flex-direction:column;gap:7px;}
.radio-item{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid rgba(200,169,110,0.1);cursor:pointer;transition:all .2s;}
.radio-item:hover{border-color:rgba(200,169,110,0.38);}
.radio-item.sel{border-color:var(--or);background:rgba(200,169,110,0.06);}
.radio-item input{accent-color:var(--or);margin-top:3px;flex-shrink:0;}
.radio-item label{font-size:12.5px;font-weight:300;color:rgba(255,255,255,0.58);line-height:1.5;cursor:pointer;}

.check-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(200,169,110,0.1);cursor:pointer;transition:all .2s;margin-bottom:6px;}
.check-item:hover{border-color:rgba(200,169,110,0.35);}
.check-item input{accent-color:var(--or);}
.check-item label{font-size:12.5px;font-weight:300;color:rgba(255,255,255,0.55);cursor:pointer;}

/* ═══════════ FORM ═══════════ */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ff label{display:block;font-size:9px;font-weight:400;letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-bottom:7px;}
.ff input,.ff select,.ff textarea{width:100%;background:rgba(255,255,255,0.05);border:1px solid rgba(200,169,110,0.2);color:white;font-family:'Hanken Grotesk',sans-serif;font-size:13px;font-weight:300;padding:11px 13px;outline:none;transition:border-color .3s;}
.ff input:focus,.ff select:focus{border-color:var(--or);}
.ff select option{background:var(--vert-soft);}
.ff.full{grid-column:1/-1;}
.ff-light input,.ff-light select,.ff-light textarea{background:white;border:1px solid var(--beige-mid);color:var(--text);}
.ff-light label{color:var(--text-pale);}

/* ═══════════ SLOTS ═══════════ */
.slots-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.slot{border:1px solid rgba(200,169,110,0.18);padding:11px 7px;text-align:center;cursor:pointer;transition:all .2s;}
.slot.f:hover{border-color:var(--or);background:rgba(200,169,110,0.06);}
.slot.t{opacity:.3;pointer-events:none;}
.slot.s{border-color:var(--or);background:rgba(200,169,110,0.1);}
.slot-time{font-size:13px;color:white;}
.slot-st{font-size:9px;color:rgba(255,255,255,0.3);margin-top:2px;}
.slot.s .slot-st{color:var(--or);}

/* ═══════════ PLATEAUX ═══════════ */
.plateaux-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px;}
.plateau{border:1px solid var(--beige-mid);cursor:pointer;transition:all .35s;overflow:hidden;background:var(--blanc);}
.plateau:hover{border-color:var(--or);transform:translateY(-3px);box-shadow:0 14px 36px rgba(26,60,52,0.1);}
.plateau-top{padding:26px 22px 18px;}
.plateau-type{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-bottom:10px;}
.plateau-name{font-family:'Bodoni Moda',serif;font-size:20px;margin-bottom:6px;color:var(--text);}
.plateau-footer{padding:14px 22px;background:var(--vert-pale);display:flex;gap:8px;flex-wrap:wrap;}

/* ═══════════ PROCESS ═══════════ */
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin-top:44px;}
.ps-icon{width:54px;height:54px;border:1px solid var(--or);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:20px;}
.ps-num{font-size:9px;letter-spacing:2px;color:var(--or);margin-bottom:8px;text-align:center;}
.ps-name{font-family:'Bodoni Moda',serif;font-size:16px;margin-bottom:7px;text-align:center;color:var(--text);}
.ps-desc{font-size:12px;font-weight:300;color:var(--text-soft);line-height:1.7;text-align:center;}

/* ═══════════ LIVRAISON ═══════════ */
.lz-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.lz{padding:32px 20px;text-align:center;border:1px solid var(--beige-mid);transition:all .3s;}
.lz:hover{background:var(--vert);}
.lz-n{font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:var(--text-pale);margin-bottom:7px;transition:color .3s;}
.lz:hover .lz-n{color:rgba(255,255,255,0.38);}
.lz-p{font-family:'Bodoni Moda',serif;font-size:30px;color:var(--or);margin-bottom:3px;}
.lz-d{font-size:10.5px;color:var(--text-pale);transition:color .3s;}
.lz:hover .lz-d{color:rgba(255,255,255,0.25);}

/* ═══════════ TEMOIGNAGES ═══════════ */
.temo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px;}
.temo{border:1px solid var(--beige-mid);padding:26px 22px;position:relative;background:var(--blanc);}
.temo-stars{color:var(--or);font-size:11px;letter-spacing:2px;margin-bottom:12px;}
.temo-text{font-family:'Bodoni Moda',serif;font-style:italic;font-size:14px;color:var(--text);line-height:1.7;margin-bottom:18px;}
.temo-author{font-size:11px;font-weight:500;color:var(--text-soft);}
.temo-ev{font-size:10px;color:var(--text-pale);margin-top:2px;}
.temo-q{position:absolute;top:14px;right:18px;font-family:'Bodoni Moda',serif;font-size:48px;color:var(--beige-mid);line-height:1;}

/* ═══════════ ANIMATIONS ═══════════ */
.anim{border:1px solid var(--beige-mid);padding:28px 24px;cursor:pointer;transition:all .3s;background:var(--blanc);}
.anim:hover{border-color:var(--or);transform:translateY(-3px);}
.anim-badge{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--or);border:1px solid rgba(200,169,110,0.35);padding:3px 9px;display:inline-block;margin-bottom:14px;}
.anim-name{font-family:'Bodoni Moda',serif;font-size:22px;color:var(--text);margin-bottom:6px;}
.anim-desc{font-size:12px;font-weight:300;color:var(--text-soft);line-height:1.7;margin-bottom:18px;}

/* ═══════════ MODAL ═══════════ */
.overlay{position:fixed;inset:0;background:rgba(0,0,0,0.88);z-index:400;display:none;align-items:flex-start;justify-content:center;padding:80px 20px 20px;overflow-y:auto;}
.overlay.open{display:flex;}
.modal{background:var(--vert-soft);border:1px solid rgba(200,169,110,0.22);width:100%;max-width:780px;padding:40px;position:relative;}
.modal-x{position:absolute;top:14px;right:18px;font-size:20px;color:rgba(255,255,255,0.3);cursor:pointer;background:none;border:none;transition:color .2s;}
.modal-x:hover{color:var(--or);}
.modal-title{font-family:'Bodoni Moda',serif;font-size:20px;color:var(--or-light);margin-bottom:6px;}
.modal-sub{font-size:11px;color:rgba(255,255,255,0.3);margin-bottom:24px;}

/* ═══════════ NOTIF ═══════════ */
.notif{position:fixed;bottom:22px;right:22px;background:var(--or);color:var(--vert);padding:13px 20px;font-size:12px;font-weight:500;z-index:999;transform:translateY(80px);transition:transform .4s;max-width:320px;line-height:1.4;}
.notif.show{transform:translateY(0);}

/* ═══════════ FOOTER ═══════════ */
footer{background:var(--vert);border-top:1px solid rgba(200,169,110,0.12);padding:56px 48px 28px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:44px;max-width:1160px;margin:0 auto 36px;}
.footer-logo-wrap{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.footer-logo-wrap svg{width:28px;height:28px;}
.footer-brand-name{font-family:'Bodoni Moda',serif;font-size:16px;color:var(--or);letter-spacing:2.5px;text-transform:uppercase;}
.footer-about{font-size:11.5px;font-weight:300;color:rgba(255,255,255,0.28);line-height:1.85;max-width:230px;}
.footer-col h4{font-size:8.5px;font-weight:400;letter-spacing:2.5px;text-transform:uppercase;color:var(--or);margin-bottom:16px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:8px;}
.footer-col a{font-size:11.5px;font-weight:300;color:rgba(255,255,255,0.28);text-decoration:none;transition:color .3s;cursor:pointer;}
.footer-col a:hover{color:var(--or);}
.footer-bottom{max-width:1160px;margin:0 auto;padding-top:22px;border-top:1px solid rgba(255,255,255,0.06);display:flex;justify-content:space-between;}
.footer-bottom p{font-size:10.5px;color:rgba(255,255,255,0.18);}

/* ═══════════ CATALOGUE DL ═══════════ */
.cat-dl{background:var(--vert-soft);border:1px solid rgba(200,169,110,0.2);padding:32px;text-align:center;margin-top:48px;}
.cat-dl h3{font-family:'Bodoni Moda',serif;font-size:20px;color:var(--or-light);margin-bottom:10px;}
.cat-dl p{font-size:12.5px;color:rgba(255,255,255,0.35);margin-bottom:22px;line-height:1.7;}
.cat-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* ═══════════ BRUNCH CARDS ═══════════ */
.brunch-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:36px;}
.brunch-card{border:1px solid var(--beige-mid);padding:30px 26px;cursor:pointer;transition:all .3s;background:var(--blanc);}
.brunch-card:hover{border-color:var(--or);transform:translateY(-3px);}
.brunch-sec h4{font-size:9px;letter-spacing:2px;text-transform:uppercase;color:var(--or);margin-bottom:8px;margin-top:14px;}
.brunch-sec ul{list-style:none;}
.brunch-sec li{font-size:12.5px;color:var(--text-soft);padding:3px 0;padding-left:12px;position:relative;}
.brunch-sec li::before{content:'—';position:absolute;left:0;color:var(--or);font-size:9px;}

/* ═══════════ RESPONSIVE ═══════════ */
@media(max-width:768px){
  nav{padding:0 16px;} .nav-links{display:none;}
  .wrap,.wrap-sm{padding:48px 16px;}
  .service-cards,.formule-grid,.form-grid,.process-grid,.temo-grid,.plateaux-grid,.lz-grid,.brunch-grid,.pieces-grid{grid-template-columns:1fr;}
  .slots-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr;gap:24px;}
  .hero-title{font-size:38px;}
}

/* ═══════════════════════════════════════
   RELIEF & DYNAMISME — Upgrade visuel
═══════════════════════════════════════ */

/* Variables de relief */
:root {
  --shadow-card: 0 4px 20px rgba(26,60,52,0.08), 0 1px 4px rgba(26,60,52,0.04);
  --shadow-card-hover: 0 20px 60px rgba(26,60,52,0.16), 0 4px 16px rgba(26,60,52,0.08);
  --shadow-or: 0 8px 32px rgba(200,169,110,0.22);
  --shadow-btn: 0 4px 16px rgba(26,60,52,0.18);
  --shadow-btn-or: 0 4px 20px rgba(200,169,110,0.35);
  --inset-light: inset 0 1px 0 rgba(255,255,255,0.12);
}

/* ── NAV : relief + profondeur ── */
nav {
  box-shadow: 0 2px 32px rgba(0,0,0,0.28), 0 1px 0 rgba(200,169,110,0.1);
}

/* ── HERO : texture diagonale animée ── */
.hero::before {
  background:
    radial-gradient(ellipse 80% 60% at 20% 50%, rgba(200,169,110,0.10) 0%, transparent 60%),
    radial-gradient(ellipse 60% 80% at 85% 25%, rgba(200,169,110,0.07) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 60% 80%, rgba(46,107,96,0.4) 0%, transparent 60%);
}
.hero::after {
  background-image:
    linear-gradient(135deg, rgba(200,169,110,0.04) 1px, transparent 1px),
    linear-gradient(45deg,  rgba(200,169,110,0.03) 1px, transparent 1px);
  background-size: 60px 60px;
  animation: gridDrift 20s linear infinite;
}
@keyframes gridDrift {
  from { background-position: 0 0; }
  to   { background-position: 60px 60px; }
}

/* ── HERO LOGO : halo or ── */
.hero-logo img {
  filter: drop-shadow(0 0 24px rgba(200,169,110,0.35));
}

/* ── SERVICE CARDS : vraie profondeur ── */
.scard {
  box-shadow: var(--shadow-card);
  border-top: 3px solid transparent;
  transition: all .4s cubic-bezier(0.23,1,0.32,1);
}
.scard:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-card-hover);
  border-top-color: var(--or);
}
.scard.featured {
  box-shadow: 0 8px 40px rgba(26,60,52,0.25), var(--inset-light);
  border-top-color: rgba(200,169,110,0.4);
}
.scard.featured:hover {
  box-shadow: 0 24px 64px rgba(26,60,52,0.35);
}

/* ── FORMULE CARDS : relief + shimmer ── */
.fcard {
  box-shadow: var(--shadow-card);
  transition: all .4s cubic-bezier(0.23,1,0.32,1);
  position: relative;
  overflow: hidden;
}
.fcard::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(200,169,110,0.06), transparent);
  transition: left .6s ease;
  pointer-events: none;
}
.fcard:hover::before { left: 150%; }
.fcard:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-card-hover);
}
.fcard.dark {
  box-shadow: 0 8px 32px rgba(26,60,52,0.2), var(--inset-light);
}

/* ── BOUTONS : relief & animations ── */
.btn-or {
  box-shadow: var(--shadow-btn-or);
  position: relative;
  overflow: hidden;
  transition: all .3s cubic-bezier(0.23,1,0.32,1);
}
.btn-or::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255,255,255,0.15) 0%, transparent 60%);
  pointer-events: none;
}
.btn-or:hover {
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(200,169,110,0.45);
}
.btn-or:active { transform: translateY(0); }

.btn-ghost {
  position: relative;
  transition: all .3s cubic-bezier(0.23,1,0.32,1);
}
.btn-ghost:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(200,169,110,0.15);
}

.nav-cta {
  box-shadow: 0 2px 12px rgba(200,169,110,0.25);
  transition: all .3s cubic-bezier(0.23,1,0.32,1);
}
.nav-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(200,169,110,0.4);
}

.btn-stripe {
  box-shadow: 0 4px 16px rgba(99,91,255,0.35);
  transition: all .3s cubic-bezier(0.23,1,0.32,1);
}
.btn-stripe:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(99,91,255,0.45);
}

.btn-devis:hover {
  transform: translateY(-2px);
  box-shadow: var(--shadow-or);
}

/* ── SECTIONS : séparation par gradient latéral ── */
.bg-beige {
  background: linear-gradient(180deg, var(--beige) 0%, #EDE6D8 100%);
  position: relative;
}
.bg-beige::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, transparent, var(--or), transparent);
  opacity: 0.4;
}

.bg-vert {
  position: relative;
}
.bg-vert::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(200,169,110,0.5), transparent);
}

/* ── INPUTS & SELECT : relief ── */
input, select, textarea {
  transition: all .25s ease;
  border: 1px solid var(--beige-mid) !important;
  box-shadow: inset 0 2px 4px rgba(26,60,52,0.04);
}
input:focus, select:focus, textarea:focus {
  outline: none;
  border-color: rgba(200,169,110,0.6) !important;
  box-shadow: inset 0 2px 4px rgba(26,60,52,0.04), 0 0 0 3px rgba(200,169,110,0.1) !important;
}

/* ── PLATEAU CHOICE : micro-relief hover ── */
.plateau-choice {
  transition: all .2s ease;
  border-radius: 2px;
  padding: 6px 4px;
}
.plateau-choice:hover {
  background: var(--vert-ultra);
  transform: translateX(3px);
}

/* ── BACK BTN : relief ── */
.back-btn {
  transition: all .25s cubic-bezier(0.23,1,0.32,1);
}
.back-btn:hover {
  transform: translateX(-4px);
  box-shadow: 0 4px 16px rgba(26,60,52,0.2);
}

/* ── PAGE TRANSITION plus fluide ── */
.page.active {
  animation: pageIn .45s cubic-bezier(0.23,1,0.32,1);
}
@keyframes pageIn {
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── FOOTER : séparateur or & relief ── */
footer {
  box-shadow: inset 0 1px 0 rgba(200,169,110,0.12);
}

/* ── OR LINE : animée ── */
.or-line {
  background: linear-gradient(90deg, transparent, var(--or), transparent);
  width: 60px;
  height: 1px;
  opacity: 0.7;
}

/* ── EYEBROW : underline animé ── */
.eyebrow {
  display: inline-block;
  position: relative;
}

/* ── SCARD NUM : parallax subtil ── */
.scard-num {
  transition: transform .4s ease, opacity .4s ease;
}
.scard:hover .scard-num {
  transform: scale(1.08) translateY(-4px);
  opacity: 0.7;
}

/* ── NOTIFICATION : relief ── */
.notif {
  box-shadow: 0 8px 32px rgba(26,60,52,0.25), 0 2px 8px rgba(26,60,52,0.1) !important;
}


/* ═══════════ ACCESSIBILITÉ & MOBILE BURGER ═══════════ */
.skip-link{position:absolute;top:-40px;left:8px;background:var(--or);color:var(--vert);padding:8px 14px;z-index:1000;text-decoration:none;font-size:11px;letter-spacing:1px;text-transform:uppercase;}
.skip-link:focus{top:8px;}

/* Focus visible amélioré */
*:focus-visible{outline:2px solid var(--or);outline-offset:2px;}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--or);outline-offset:2px;}

/* Burger mobile */
.nav-burger{display:none;background:none;border:none;color:var(--or);font-size:24px;cursor:pointer;padding:8px;}

@media(max-width:768px){
  .nav-burger{display:block;}
  .nav-links{position:fixed;top:70px;left:0;right:0;background:rgba(26,60,52,0.98);flex-direction:column;align-items:center;padding:24px 16px;gap:18px;transform:translateY(-150%);transition:transform .35s ease;display:flex;}
  .nav-links.open{transform:translateY(0);}
  .nav-links a{font-size:13px;color:rgba(255,255,255,0.75);}
}

/* Réduit les animations pour les utilisateurs préférant moins de mouvement */
@media (prefers-reduced-motion: reduce){
  *{animation-duration:0.01ms !important;animation-iteration-count:1 !important;transition-duration:0.01ms !important;scroll-behavior:auto !important;}
}

/* Affichage cookies banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--vert);color:rgba(255,255,255,0.7);padding:18px 24px;display:flex;align-items:center;gap:16px;justify-content:center;flex-wrap:wrap;z-index:200;border-top:1px solid rgba(200,169,110,0.2);font-size:12px;}
.cookie-banner button{background:var(--or);color:var(--vert);border:none;padding:8px 18px;font-size:11px;letter-spacing:1px;text-transform:uppercase;cursor:pointer;font-family:'Hanken Grotesk',sans-serif;font-weight:500;}
.cookie-banner button.ghost{background:transparent;border:1px solid rgba(200,169,110,0.4);color:var(--or);}
.cookie-banner.hidden{display:none;}

/* ═══════════ REFONTE TYPO (de-AI) ═══════════
   Bodoni Moda (titres) + Hanken Grotesk (corps)
   Corps remonté à 16px/400 · or lisible sur fond clair */
:root{ --or-text:#9A7B3F; }              /* or ≥4.5:1 sur fond clair */
body{ font-size:16px; font-weight:400; line-height:1.6; }
.hero-desc{ font-size:15px; font-weight:400; }
.s-sub{ font-size:15px; font-weight:400; }
.scard-desc,.fcard-desc{ font-size:14px; font-weight:400; }
.temo-text{ font-size:15px; font-weight:400; }
.eyebrow,.scard-price,.fcard-price,.prix-ht{ color:var(--or-text); }
.prix-ttc{ color:var(--text-soft); }

/* Hero : lisibilité du texte/boutons sur la photo (voile sombre + boutons fantômes renforcés) */
.hero::before{ z-index:1 !important; background:
  linear-gradient(rgba(15,34,29,0.55), rgba(15,34,29,0.55)),
  radial-gradient(ellipse 75% 60% at 50% 50%, rgba(15,34,29,0.50) 0%, transparent 72%) !important; }
.hero-eyebrow{ color:var(--or-light) !important; text-shadow:0 1px 10px rgba(0,0,0,0.8); }
.btn-ghost{ border-color:rgba(255,255,255,0.65); color:#fff; }
.btn-ghost:hover{ border-color:var(--or); color:var(--or); background:rgba(0,0,0,0.18); }

/* Visibilité section services/cartes (contraste labels + boutons sur fond clair) */
.eyebrow{ font-weight:500; }
.scard-tag,.fcard-badge,.anim-badge{ color:var(--or-text); border-color:var(--or-text); font-weight:500; }
.scard-price,.fcard-price{ font-weight:500; }
.scard-num{ color:var(--or-light); opacity:.5; }
.btn-vert-outline,.btn-devis{ color:var(--vert); border-color:var(--or-text); font-weight:500; }
.btn-vert-outline:hover,.btn-devis:hover{ background:var(--vert); color:var(--blanc); border-color:var(--vert); }

/* Hero : composition resserrée (moins dispersée) */
.hero-content{ max-width:640px; }
.hero-logo{ margin-bottom:18px; }
.hero-eyebrow{ margin-bottom:14px; }
.hero-desc{ margin:16px auto 30px; max-width:30rem; }
.hero-btns{ gap:14px; }

/* Section services : disposition aérée, cartes égales, animations cohérentes */
.service-cards{ gap:18px; }
.scard{ display:flex; flex-direction:column; border-radius:10px; }
.scard .btn-or,.scard .btn-vert-outline{ margin-top:auto; align-self:flex-start; }
.anim{ padding:32px 28px; border-radius:10px; }
.anim-heading{ font-family:'Bodoni Moda',serif; font-size:24px; font-weight:400; color:var(--text); margin:56px 0 18px; }
.anim-grid{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }
@media(max-width:768px){ .anim-grid{ grid-template-columns:1fr; } }

/* Chiffres romains : filigrane discret en bas à droite (plus de chevauchement/rognage) */
.scard-num{ top:auto; bottom:14px; right:24px; font-size:60px; color:var(--or-light); opacity:.4; }
.scard.featured .scard-num{ color:var(--or-light); opacity:.14; }

/* Mise en avant du « À partir de … » */
.scard-from{ font-family:'Hanken Grotesk',sans-serif; font-size:16px; font-weight:600; color:var(--vert); letter-spacing:.2px; margin:0 0 12px; }
.scard-from span{ font-weight:400; font-size:13px; color:var(--text-soft); }
.scard.featured .scard-from{ color:var(--or-light); }
.scard.featured .scard-from span{ color:rgba(255,255,255,.55); }

/* Process : timeline lisible (séquence) + icônes SVG */
.process-grid{ position:relative; }
.process-grid::before{ content:''; position:absolute; top:29px; left:13%; right:13%; height:1px; background:var(--or-light); z-index:0; }
.ps-icon{ position:relative; z-index:1; background:var(--blanc); color:var(--or); width:58px; height:58px; }
.ps-icon svg{ width:24px; height:24px; stroke:currentColor; fill:none; }
.ps-num{ font-family:'Bodoni Moda',serif; font-size:16px; font-weight:500; letter-spacing:1px; color:var(--or-text); margin-bottom:6px; }
.ps-name{ font-size:19px; margin-bottom:9px; }
.ps-desc{ font-size:13px; }
@media(max-width:768px){ .process-grid::before{ display:none; } }

/* Zones desservies : lisibilité (repos + survol) + grille responsive */
.lz-n,.lz-d{ color:var(--text-soft); }
.lz-p{ color:var(--or-text); }
.lz:hover .lz-n{ color:rgba(255,255,255,0.88); }
.lz:hover .lz-d{ color:rgba(255,255,255,0.72); }
.lz:hover .lz-p{ color:var(--or-light); }
.lz-grid{ grid-template-columns:repeat(3,1fr); }
@media(max-width:768px){ .lz-grid{ grid-template-columns:1fr; } }
