/* Direction artistique « élégance » — surcouche chargée après styles.css
   Palette marron / noir (aplats, sans dégradé), filets or */
:root{
  --bordeaux:#1a100a; /* marron très foncé (ex-bordeaux) */
  --bordeaux-2:#26180f; /* marron, survol */
  --bordeaux-line:#3a281b;
  --black:#070707; /* noir pur */
  --black-2:#0e0e0e;
  --white:#f6f0e6;
  --white-2:#efe6d8;
  --ink:#141414;
  --ink-mute:#5c5752;
  --hair:#ddcfba;
  --hair-dark:rgba(201,169,106,.28);
  --gold:#c9a96a;
  --gold-soft:#dcc590;
  --r-sm:2px;--r-md:2px;--r-lg:2px;--r-pill:2px;
  --shadow-card:0 1px 0 rgba(201,169,106,.5), 0 18px 40px -20px rgba(0,0,0,.6);
  --ff-display:'Cormorant Garamond','Fraunces',Georgia,serif;
  --ff-body:'Inter',-apple-system,sans-serif;
}
body{background:var(--black);font-weight:400;letter-spacing:.005em}
#root{padding:clamp(10px,1.6vw,24px)}
h1,h2,h3{font-weight:400;letter-spacing:-.01em}
h1 em,h2 em,h3 em{color:var(--gold-soft)!important;font-weight:400}

/* Nav : bandeau ivoire fin, filet or */
.nav-inner{border-radius:0;padding:16px 32px;border-bottom:1px solid var(--gold);background:var(--white)}
.brand{font-size:26px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;font-size:19px}
.brand-mark{color:var(--gold);font-size:20px}
.nav-links a{font-size:11.5px;letter-spacing:.2em;text-transform:uppercase;font-weight:500}
.nav-cta{border-radius:0;padding:11px 24px;background:transparent;color:var(--bordeaux)!important;border:1px solid var(--bordeaux)}
.nav-cta:hover{background:var(--bordeaux);color:var(--white)!important}
.lang-trigger{border-radius:0;font-size:11px;letter-spacing:.16em}

/* Boutons */
.btn{border-radius:0;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;padding:17px 34px;font-weight:500}
.btn-primary{background:var(--gold);border-color:var(--gold);color:var(--bordeaux)}
.btn-primary:hover{background:var(--gold-soft);border-color:var(--gold-soft)}
.btn-ghost{border-color:var(--gold);color:var(--gold-soft)}
.btn-ghost:hover{background:rgba(201,169,106,.1);border-color:var(--gold-soft)}
.btn-card,.confirm-actions .btn-primary,.menu-overlay-reserve .btn-primary{background:var(--bordeaux);border-color:var(--bordeaux);color:var(--white);padding:15px 26px}
.btn-card:hover,.confirm-actions .btn-primary:hover,.menu-overlay-reserve .btn-primary:hover{background:var(--gold);border-color:var(--gold);color:var(--bordeaux)}
.menus-head-btn{background:var(--gold);border-color:var(--gold);color:var(--bordeaux);box-shadow:none;padding:18px 40px;font-size:11.5px}

/* Pastilles / eyebrows : petites capitales filetées */
.eyebrow,.hero-pill{border:0;border-bottom:1px solid var(--gold);border-radius:0;padding:0 0 8px;background:transparent;color:var(--gold);font-size:11px;letter-spacing:.32em;margin-bottom:28px;text-transform:uppercase}
.eyebrow:not(.light){color:#8a6a2e}
.eyebrow.light,.menu-detail-head .eyebrow{color:var(--gold)}
.contact-card .eyebrow{color:#8a6a2e}

/* Hero */
.hero,.page-head,.promise,.story-band,.salle-text,.contact-cta,.menus-reserve-cta{border-radius:0;border:1px solid var(--hair-dark);background:var(--bordeaux)}
/* Alternance : sections noires / sections marron */
.promise,.story-band,.contact-cta{background:var(--black-2)}
.hero{padding:clamp(56px,8vw,112px) clamp(28px,6vw,80px)}
.hero::before,.hero-center::after,.page-head::before,.salle-text::before,.menus-reserve-cta::before{border:1px solid rgba(201,169,106,.18)}
.hero-title-center{font-size:clamp(48px,8vw,112px);line-height:.95;letter-spacing:-.02em}
.hero-line1{color:var(--gold);letter-spacing:.5em;font-size:.2em;font-weight:500}
.hero-line2{font-weight:400;font-style:italic;letter-spacing:-.02em;color:var(--white)}
.hero-title-center::after{width:96px;background:var(--gold)}
.hero-sub,.hero-center .hero-sub{color:rgba(246,240,230,.82);font-weight:300;letter-spacing:.02em;font-size:clamp(15px,1.4vw,17px);line-height:1.8}
.hero-signature p{font-weight:400;font-size:clamp(17px,1.6vw,21px);color:rgba(246,240,230,.8)}
.hero-signature p em{border-bottom:1px solid var(--gold);color:var(--white)}
.hero-ribbon{border-top:1px solid var(--hair-dark);font-size:17px;color:rgba(246,240,230,.78)}
.hero-ribbon span{color:var(--gold);opacity:1}
.hero-photo,.story-band-photo,.salle-photo{border-radius:0;box-shadow:none;outline:1px solid var(--gold);outline-offset:10px}
.salle-photo{margin:10px}

/* Titres de sections */
.promise h2,.story-band-text h2,.salle-text h2,.page-head h1,.contact-cta h2,.menus-reserve-cta-text h2{font-weight:400;letter-spacing:-.015em;line-height:1.02}
.promise h2{font-size:clamp(44px,6.5vw,92px)}
.promise::before{color:rgba(201,169,106,.05)}
.promise p,.story-band-text p,.salle-text p,.page-head p{font-weight:300;line-height:1.85;font-size:16.5px;color:rgba(246,240,230,.82)}
.story-band-stats li{background:transparent;border:0;border-top:1px solid var(--hair-dark);border-radius:0;padding:20px 0}
.story-band-stats li:last-child{border-bottom:1px solid var(--hair-dark)}
.story-band-stats li span{color:var(--gold);letter-spacing:.28em}
.story-band-stats li strong{font-size:clamp(26px,2.8vw,38px);font-style:italic}
.salle-points li{font-size:17px}
.salle-points svg{color:var(--gold);opacity:1}

/* Menus */
.menu-card{background:var(--white);border-radius:0;border:1px solid var(--gold);outline:1px solid var(--hair);outline-offset:-9px}
.menu-card:hover{transform:none;box-shadow:0 24px 50px -28px rgba(0,0,0,.7)}
.menu-card-body{align-items:center;text-align:center;padding:clamp(44px,5vw,64px) clamp(28px,3.5vw,44px)}
.menu-badge{background:transparent;color:#8a6a2e;padding:0 0 10px;border-radius:0;border-bottom:1px solid var(--gold);font-size:22px;font-style:italic}
.menu-card h2{font-size:clamp(32px,3vw,42px);color:var(--bordeaux)}
.menu-sub{letter-spacing:.04em}
.menus-foot{color:rgba(246,240,230,.5)}
.menu-overlay-panel{border-radius:0;border:1px solid var(--gold)}
.menu-overlay-close{border-radius:0;background:transparent;color:var(--bordeaux);border:1px solid var(--bordeaux)}
.menu-overlay-close:hover{background:var(--bordeaux);color:var(--white);transform:none}
.menu-overlay-badge{background:transparent;color:#8a6a2e;border-bottom:1px solid var(--gold);border-radius:0;padding:0 0 8px}
.menu-doc-section h3{border-bottom:1px solid var(--gold);letter-spacing:.02em;font-style:italic}
.menu-doc-name{font-size:19px}
.menu-doc-price{color:#8a6a2e}

/* Formulaire */
.reserve-form,.confirm-card,.contact-card{border-radius:0;border:1px solid var(--gold);outline:1px solid var(--hair);outline-offset:-9px;background:var(--white)}
.reserve-form{padding:clamp(36px,5vw,64px)}
.field label{letter-spacing:.24em;font-size:10.5px;color:#8a6a2e}
.field input,.field select,.field textarea,.stepper,.datepicker-trigger{border-radius:0;background:transparent;border:0;border-bottom:1px solid var(--bordeaux);padding-left:2px}
.field input:focus,.field select:focus,.field textarea:focus{background:transparent;box-shadow:none;border-color:var(--gold)}
.field textarea{border:1px solid var(--hair);padding:12px}
.stepper{border:0;border-bottom:1px solid var(--bordeaux)}
.datepicker.is-open .datepicker-trigger,.timepicker.is-open .datepicker-trigger{background:transparent;box-shadow:none;border-color:var(--gold)}
.datepicker-pop,.timepicker-pop,.lang-menu{border-radius:0;border:1px solid var(--gold)}
.dp-chips button,.dp-cell,.tp-grid button{border-radius:0}
.dp-cell.selected,.dp-cell.selected:hover,.tp-grid button.is-sel{background:var(--bordeaux);color:var(--gold-soft)}
.reserve-meta-list li,.confirm-notes{background:transparent;border-radius:0;border:0;border-top:1px solid var(--hair);padding:14px 0}
.confirm-tick{border-radius:0;background:transparent;border:1px solid var(--gold);color:var(--gold)}
.confirm-card h1,.confirm-line{color:var(--bordeaux)}

/* Contact */
.contact-card strong{font-size:clamp(26px,2.8vw,36px);font-style:italic}
a.contact-card:hover{transform:none;outline-color:var(--gold)}

/* Pied de page */
.footer{border-radius:0;background:var(--black-2);border:1px solid var(--hair-dark);border-top:1px solid var(--gold)}
.footer-h{color:var(--gold);letter-spacing:.3em}
.footer-brand h3{font-size:32px;font-style:italic}
.footer-base{letter-spacing:.2em;font-size:11px}

@media (max-width:880px){
  .nav-links{border-radius:0;border:1px solid var(--gold)}
  .nav-inner{padding:12px 18px}
  .hero-title-center{font-size:clamp(44px,13vw,72px)}
  .salle-photo{margin:10px 10px 18px}
}
@media (max-width:520px){
  .hero,.promise,.page-head,.reserve-form,.contact-cta,.footer,.menus-foot,.dev-note{border-radius:0}
  .brand-word{display:none}
}

.brand,.nav-links a,.nav-cta,.lang-trigger{white-space:nowrap}
.nav-links{gap:24px}
@media (max-width:1100px){
  .nav-burger{display:flex}
  .nav-links{position:absolute;top:100%;left:8px;right:8px;background:var(--white);border:1px solid var(--gold);border-radius:0;flex-direction:column;padding:20px;margin-top:8px;gap:14px;box-shadow:var(--shadow-card);display:none;align-items:stretch}
  .nav-links a{padding:6px 4px}
  .nav-links.open{display:flex}
  .nav-cta{width:100%;text-align:center}
  .lang-switcher{margin-left:0;align-self:stretch}
  .lang-trigger{width:100%;justify-content:center}
  .lang-menu{right:auto;left:0;width:100%}
}

/* Plein écran */
#root{padding:0}
.nav{top:0;margin-bottom:0}
.nav-inner,.hero,.promise,.page-head,.menus-grid,.menus-grid.extras,.menus-grid.extras.single,.menus-foot,.contact-grid,.contact-cta,.footer,.story-band,.salle-band,.menus-reserve-cta,.lang-banner,.confirm{max-width:none;width:100%;margin-left:0;margin-right:0}
.nav-inner{padding-left:clamp(20px,4vw,64px);padding-right:clamp(20px,4vw,64px)}
.hero,.promise,.page-head,.story-band,.salle-text,.contact-cta,.menus-reserve-cta,.footer{border-left:0;border-right:0}
.hero,.page-head,.story-band,.footer,.menus-reserve-cta{padding-left:clamp(24px,6vw,120px);padding-right:clamp(24px,6vw,120px)}
.menus-grid,.contact-grid,.salle-band{padding:0 clamp(12px,2vw,32px)}
.menus-grid.extras.single{padding:0}
.menus-grid.extras.single{grid-template-columns:minmax(0,calc((100% - 32px)/3));justify-content:center}
.reserve-wrap{max-width:860px;padding:0 clamp(12px,3vw,24px)}
.dev-note{max-width:860px}
.menus-foot{padding:24px clamp(24px,6vw,120px)}
.hero-inner-center{max-width:960px}
.hero{min-height:calc(100vh - 66px);display:flex;flex-direction:column;justify-content:center}
.footer-inner{gap:clamp(24px,4vw,64px)}
@media (min-width:1500px){
  .menu-card h2{font-size:46px}
  .promise p,.story-band-text p,.salle-text p{font-size:18px}
}
/* Smartphone */
@media (max-width:720px){
  body{font-size:15px}
  .hero{min-height:0;padding:56px 22px 44px}
  .hero-title-center{font-size:clamp(40px,12.5vw,60px)}
  .hero-line1{font-size:.26em;letter-spacing:.38em}
  .hero-center .hero-cta{flex-direction:column;align-items:stretch;width:100%}
  .hero-cta .btn{width:100%}
  .hero-ribbon{gap:8px 16px;font-size:14px}
  .promise,.story-band,.salle-text,.contact-cta,.menus-reserve-cta,.footer,.page-head{padding:56px 22px}
  .promise h2{font-size:clamp(38px,11vw,54px)}
  .page-head h1,.menus-head h1{font-size:clamp(34px,10vw,46px)}
  .btn{padding:16px 22px;min-height:48px}
  .menus-grid,.contact-grid,.salle-band{padding:0 10px}
  .menus-grid.extras.single{grid-template-columns:1fr;padding:0 10px}
  .menu-card-body{padding:40px 24px}
  .salle-photo{aspect-ratio:4/5;margin:14px;max-height:none}
  .story-band-photo{outline-offset:8px;margin:8px}
  .reserve-wrap{padding:0 10px}
  .reserve-form{padding:36px 22px}
  .field input,.field select,.field textarea,.stepper,.datepicker-trigger{height:52px;font-size:16px}
  .stepper button{min-width:48px}
  .contact-card{padding:32px 24px}
  .contact-card strong{font-size:clamp(22px,7vw,30px);overflow-wrap:anywhere}
  .menu-overlay{padding:0}
  .menu-overlay-panel{max-height:100vh;height:100%;border-radius:0}
  .footer-base{align-items:center}
}
@media (max-width:380px){
  .nav-inner{padding:10px 14px}
  .hero-title-center{font-size:38px}
}

/* Prix des menus : plus visibles */
.menu-badge{background:var(--bordeaux);color:var(--gold-soft);border:1px solid var(--gold);border-radius:0;padding:12px 30px;font-size:clamp(30px,2.8vw,40px);font-style:normal;font-weight:500;letter-spacing:.01em;line-height:1;box-shadow:0 10px 24px -14px rgba(0,0,0,.6)}
.menu-overlay-badge{background:var(--bordeaux);color:var(--gold-soft);border:1px solid var(--gold);border-radius:0;padding:12px 28px;font-size:32px;font-weight:500;line-height:1}
.menu-detail-price{font-size:22px;color:var(--gold-soft);font-style:normal}
@media (max-width:720px){.menu-badge{font-size:34px;padding:12px 28px}}

/* Prix : version sobre */
.menu-badge{background:transparent;color:#8a6a2e;border:0;border-bottom:1px solid var(--gold);padding:0 0 8px;font-size:clamp(24px,2.2vw,30px);font-style:italic;font-weight:500;box-shadow:none}
.menu-overlay-badge{background:transparent;color:#8a6a2e;border:0;border-bottom:1px solid var(--gold);padding:0 0 8px;font-size:26px;font-weight:500}
.menu-detail-price{font-size:18px}
@media (max-width:720px){.menu-badge{font-size:26px;padding:0 0 8px}}
