
:root{--accent:#C26A3D;--gold:#e8c476;--ink:#1a1a1a;--muted:#5b5b5b;--radius:16px}
*{box-sizing:border-box}
html,body{margin:0;height:100%}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#000;color:#fff}
meta[name="viewport"]{viewport-fit:cover}

/* HEADER */
.site-header{
  background:#0f1116;
  border-bottom:2px solid #ffcc66;
  padding:calc(10px + env(safe-area-inset-top)) 16px 10px;
  position:sticky; top:0; z-index:1100;
}
.container{max-width:1180px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px}
.logo{width:clamp(140px,14vw,180px);height:auto}
@media(max-width:480px){
  .logo{width:clamp(120px,28vw,160px)}
}
/* Burger */
.burger{display:none; background:transparent; border:0; width:44px; height:44px; border-radius:10px; color:#fff; align-items:center; justify-content:center}
.burger:focus{outline:2px solid #ffcc66; outline-offset:2px}
.burger .bar{position:relative; width:24px; height:2px; background:#fff; border-radius:999px; transition:transform .2s ease}
.burger .bar::before, .burger .bar::after{content:""; position:absolute; left:0; width:24px; height:2px; background:#fff; border-radius:999px; transition:transform .2s ease, opacity .2s ease, top .2s ease}
.burger .bar::before{top:-7px}
.burger .bar::after{top:7px}
/* Nav & backdrop */
.main-nav{display:flex}
.main-nav ul{display:flex;gap:24px;list-style:none;margin:0;padding:0}
.main-nav a{color:#fff;text-decoration:none;font-weight:600}
.main-nav a:hover{color:#e2b674}
.nav-backdrop{position:fixed; inset:0; background:rgba(0,0,0,.45); opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:1000}
@supports ((-webkit-backdrop-filter: blur(2px)) or (backdrop-filter: blur(2px))){
  .nav-backdrop{ -webkit-backdrop-filter: blur(2px) saturate(150%); backdrop-filter: blur(2px) saturate(150%); }
}
body.nav-open .nav-backdrop{opacity:1; pointer-events:auto}
body.nav-open .burger .bar{transform:rotate(45deg)}
body.nav-open .burger .bar::before{transform:rotate(-90deg); top:0}
body.nav-open .burger .bar::after{opacity:0}
body.nav-open{overflow:hidden; overscroll-behavior:contain}

@media(max-width:900px){
  .burger{display:inline-flex}
  .main-nav{position:fixed; inset:64px 0 auto 0; background:rgba(0,0,0,.98);
            transform:translateY(-120%); transition:transform .25s ease; padding:16px;
            border-bottom:1px solid #2a2a2a; z-index:1001}
  .main-nav.open{transform:translateY(0)}
  .main-nav ul{flex-direction:column; gap:12px}
  .main-nav a{display:block; padding:12px 6px; border-radius:10px}
  .main-nav a:active{background:rgba(255,255,255,.06)}
}

/* HERO split */
.hero{height:100svh;min-height:560px;display:flex}
.hero__side{flex:1;position:relative;overflow:hidden}
.hero__side--video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:right bottom;filter:saturate(1.05) contrast(1.03)}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.68),rgba(0,0,0,.24))}
.hero__side--photo{background:url('/images/pexels-sam-lion-5710178.jpg') center/cover no-repeat;display:flex;align-items:center;justify-content:center}
.hero__content{text-align:center;padding:0 5vw;position:relative;z-index:1}
.hero__title{font-family:"Playfair Display",serif;font-weight:800;font-size:clamp(36px,7vw,96px);margin:0;text-shadow:0 4px 12px rgba(0,0,0,.55)}
.hero__subtitle{font-size:clamp(16px,2.2vw,22px);margin:.2rem 0 0 0;opacity:.98;text-shadow:0 2px 6px rgba(0,0,0,.45)}
.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 30px;margin-top:14px;background:#F0C674;color:#1a1a1a;font-weight:800;text-decoration:none;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.btn:hover{transform:translateY(-1px) scale(1.04)}
@media(max-width:900px){
  .hero{flex-direction:column}
  .hero__side{height:50svh}
  .hero__side--video video{object-position:center bottom}
}

/* SECTION 2 */
.lr-section{background:#fff;color:#000;padding:60px 20px}
.lr-container{max-width:1200px;margin:0 auto}
.lr-header{text-align:center;margin-bottom:32px;padding:0 8px}
.lr-eyebrow{display:inline-block;padding:6px 14px;border-radius:999px;background:rgba(194,106,61,.10);color:var(--accent);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.lr-title{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(26px,4vw,44px);margin:12px 0 8px;color:var(--ink)}
.lr-subtitle{color:var(--muted)}
.lr-grid{display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.lr-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.lr-grid{grid-template-columns:1fr}}
.lr-card{position:relative;min-height:220px;border-radius:16px;overflow:hidden;background-size:cover;background-position:center;
         box-shadow:0 8px 22px rgba(0,0,0,.08)}
.lr-card::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.5) 85%)}
.lr-card__content{position:absolute;left:14px;right:14px;bottom:14px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.35)}
.lr-card h3{margin:0 0 4px;font-weight:800}
/* Absolute paths so CSS (in /assets/) finds /images/... */
.lr-card--pizza{background-image:url('/images/pizza-feu-de-bois-rendez-vous.jpg')}
.lr-card--plats{background-image:url('/images/un-gros-morceau-de-viande-frite-grasse-pour-un-steak-avec-des-pommes-de-terre.jpg')}
.lr-card--salle{background-image:url('/images/salle-rendez-vous.jpg')}
.lr-card--convivial{background-image:url('/images/convivial.jpg')}
.lr-cta{display:flex;gap:12px;justify-content:center;margin-top:24px;flex-wrap:wrap}
.lr-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700}
.lr-btn--primary{background:var(--accent);color:#fff}
.lr-btn--ghost{background:#fff;color:#000;border:1px solid #eee}

/* BANDEAU GOURMAND */
.bandeau{position:relative;overflow:hidden;padding:18px 0 28px;background:#fff}
.bandeau__inner{max-width:1220px;margin:0 auto;position:relative;z-index:1;padding:0 16px}
.bandeau__bg{position:absolute;inset:0;z-index:0;background:#111}
.bandeau__title{text-align:center;color:#ddd;margin:6px 0 12px}
.rail{display:flex;gap:18px;overflow-x:auto;padding:10px 6px 4px;scroll-snap-type:x mandatory}
.rail img{height:160px;object-fit:contain;filter:drop-shadow(0 16px 22px rgba(0,0,0,.55));user-select:none;pointer-events:none}

/* CONTACT */
.contact-section{background:#fff;color:#000;padding:60px 20px;border-top:1px solid #eee}
.contact-container{max-width:1180px;margin:0 auto}
.contact-header{text-align:center;max-width:820px;margin:0 auto 28px;padding:0 10px}
.title{font-family:"Playfair Display",serif;font-weight:700;font-size:clamp(26px,4vw,40px);margin:12px 0 8px}
.subtitle{color:#5b5b5b}
.contact-grid{display:grid;gap:24px;grid-template-columns: 1.1fr 1.4fr; align-items:start}
@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}
.contact-card{background:linear-gradient(180deg,#fbfbfb,#f7f7f7);border-radius:18px;padding:22px;border:1px solid #eee;box-shadow:0 10px 26px rgba(0,0,0,.08)}
.contact-list .row{display:grid;grid-template-columns:140px 1fr;gap:10px 16px;align-items:center;padding:12px 0}
@media(max-width:480px){.contact-list .row{grid-template-columns:1fr} .contact-list dt{opacity:.85}}
.contact-list .row + .row{border-top:1px dashed #ececec}
.btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border-radius:999px;font-weight:800;background:#C26A3D;color:#fff;text-decoration:none;box-shadow:0 10px 24px rgba(194,106,61,.28)}

/* INFO BANDEAU */
.info-bandeau{background:#161616;color:#eaeaea;border-top:1px solid #2a2a2a;border-bottom:1px solid #2a2a2a}
.info-bandeau__inner{max-width:1180px;margin:0 auto;padding:10px 12px;display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.info-bandeau .horaire{flex:1 1 320px; min-width:240px}
.info-bandeau .primary{display:inline-flex; align-items:center; justify-content:center; white-space:nowrap; padding:10px 14px; border-radius:999px; font-weight:700; font-size:.95rem; background:#008753; color:#fff}
@media(max-width:520px){ .info-bandeau__inner{justify-content:center; text-align:center} }

/* FOOTER */
.footer{background:#0f0f0f;color:#ddd}
.footer__inner{max-width:1180px;margin:0 auto;padding:36px 16px;display:grid;gap:24px;grid-template-columns:1.2fr 1fr 1fr}
@media(max-width:900px){.footer__inner{grid-template-columns:1fr}}
.footer h4{margin:0 0 10px;color:#fff}
.footer a{color:#e8c476;text-decoration:none}
.footer a:hover{text-decoration:underline}
.btn-outline{display:inline-flex;padding:10px 16px;border-radius:999px;border:1px solid #e8c476;color:#e8c476;text-decoration:none}
.footer-bottom{border-top:1px solid #2a2a2a;padding:12px 16px;text-align:center;color:#aaa;font-size:.95rem}

/* Bouton "Haut de page" */
#back-to-top{
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  width: 44px; height: 44px;
  border-radius: 9999px;
  border: none;
  box-shadow: 0 6px 20px rgba(0,0,0,.2);
  cursor: pointer;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .25s, transform .25s;
  z-index: 1000;
}
#back-to-top.show{
  opacity: 1;
  transform: translateY(0);
}
#back-to-top:focus{ outline: 2px solid #0ea5e9; outline-offset: 2px; }
