
/* === MENU PAGE SPECIFIC (scoped & hardened) === */
body.menu-page{
  --bg:#0b0c10; --bg2:#101218; --card:#141821; --text:#e9e9ee; --muted:#b8bbc4; --gold:#c7a34e; --radius:16px; --shadow:0 10px 30px rgba(0,0,0,.25); --max:1180px;
  background:linear-gradient(180deg,var(--bg),var(--bg2));
  color:var(--text);
  line-height:1.5;
}
body.menu-page .container{width:min(100%,var(--max));margin-inline:auto;padding-inline:16px}
body.menu-page .menu-scope, body.menu-page .menu-scope *{box-sizing:border-box}
body.menu-page .menu-scope h1,body.menu-page .menu-scope h2,body.menu-page .menu-scope h3,body.menu-page .menu-scope h4{margin:0;line-height:1.25;font-family:"Playfair Display",serif;font-weight:800;letter-spacing:.3px}
body.menu-page .menu-scope h1{font-size:clamp(28px,4vw,40px)}
body.menu-page .menu-scope h2{font-size:clamp(20px,2.4vw,26px)}
body.menu-page .menu-scope h3{font-size:clamp(16px,2vw,18px)}
body.menu-page .menu-scope h4{font-size:clamp(14px,1.6vw,16px)}

/* Title */
body.menu-page .page-title{display:flex!important;align-items:center!important;gap:18px!important;margin:18px 0 10px!important;position:relative!important}
body.menu-page .page-title .rule{flex:1!important;height:2px!important;background:linear-gradient(90deg,#c7a34e,transparent)!important;border-radius:999px!important}

/* Sections */
body.menu-page section{padding-block:24px!important;position:relative!important}
body.menu-page .section-head{display:flex!important;align-items:center!important;gap:16px!important;margin-bottom:14px!important}
body.menu-page .section-head .rule{flex:1!important;height:2px!important;background:linear-gradient(90deg,#c7a34e,transparent)!important;border-radius:999px!important}

/* Grid */
body.menu-page .grid{display:grid!important;gap:14px!important;position:relative!important}
@media(min-width:1024px){ body.menu-page .grid.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)) !important; } }
@media(min-width:700px) and (max-width:1023.98px){ body.menu-page .grid.cols-3{ grid-template-columns: repeat(2, minmax(0,1fr)) !important; } }
@media(max-width:699.98px){ body.menu-page .grid.cols-3{ grid-template-columns: 1fr !important; } }

/* Card */
body.menu-page .card{
  background:var(--card)!important;
  border:1px solid rgba(255,255,255,.06)!important;
  border-radius:16px!important;
  box-shadow:var(--shadow)!important;
  padding:14px!important;
  display:grid!important;
  grid-template-columns:1fr auto!important;
  gap:10px!important;
  align-items:center!important;
  min-height:88px!important;
  position:relative!important;
  overflow:hidden!important;
}
body.menu-page .title{margin:0!important;font-weight:800!important}
body.menu-page .desc{grid-column:1/-1!important;margin:0!important;color:var(--muted)!important;font-size:14px!important}
body.menu-page .price{font-weight:800!important;color:var(--gold)!important}
body.menu-page .thumb{width:72px!important;height:72px!important;display:grid!important;place-items:center!important;background:rgba(255,255,255,.04)!important;border-radius:12px!important;border:1px solid rgba(255,255,255,.06)!important;justify-self:end!important}
body.menu-page .thumb img{max-width:64px!important;max-height:64px!important;object-fit:contain!important;filter:drop-shadow(0 8px 16px rgba(0,0,0,.45))!important}
body.menu-page .noimg{background:transparent!important;border:1px dashed rgba(255,255,255,.18)!important;color:var(--muted)!important;font-size:12px!important;width:72px!important;height:72px!important;display:grid!important;place-items:center!important;border-radius:12px!important;justify-self:end!important}
@media(max-width:520px){
  body.menu-page .card{grid-template-columns:1fr auto!important}
  body.menu-page .thumb{grid-column:2; grid-row:1 / span 2}
}
body.menu-page #viandes .card, body.menu-page #desserts .card{ padding:12px 14px!important; min-height:auto!important; }
body.menu-page #viandes .card .row{display:flex!important;justify-content:space-between!important;align-items:baseline!important;gap:10px!important}
body.menu-page #viandes .card .desc{grid-column:1/-1!important}

img{max-width:100%;height:auto} figure{margin:0}
