/* Parrilla La Brasa (restaurant d) · houtskool, as, sintel, malbec · Sansita Swashed + Chivo (Omnibus-Type, Buenos Aires)
   Bron: body.s-restaurant-d wordt bij het bouwen vervangen door body.s-restaurant-d */
@font-face { font-family: "LB Sansita"; font-weight: 300 900; font-display: swap; src: url("../../fonts/SansitaSwashed-Variable.woff2") format("woff2"); }
@font-face { font-family: "LB Chivo"; font-weight: 100 900; font-display: swap; src: url("../../fonts/Chivo-Variable.woff2") format("woff2"); }
@font-face { font-family: "LB Chivo"; font-style: italic; font-weight: 100 900; font-display: swap; src: url("../../fonts/Chivo-VariableItalic.woff2") format("woff2"); }

body.s-restaurant-d {
  --hs: #17110e; --hs2: #221915; --hs3: #2e221c;
  --as: #ece4d6; --as2: #ddd1bd; --as3: #f6f1e8;
  --inkt: #1f1712; --inkt2: #5a4a3e;
  --creme: #f1e8d8; --creme2: #bdae9b;
  --sintel: #e0662f; --sintel-d: #a63d18; --gloed: #ff9a4a;
  --malbec: #3b1226; --malbec2: #551b37;
  --goud: #d6a756;
  --a: #c4501f; --a2: #d6a756; --bg2: #2c1e17;
  --rand: clamp(20px, 5vw, 64px);
  --sans: "LB Chivo", "DM Sans", system-ui, sans-serif;
  --script: "LB Sansita", "DM Serif Display", Georgia, serif;
  margin: 0; background: var(--hs); color: var(--creme);
  font: 400 17px/1.6 var(--sans); -webkit-font-smoothing: antialiased; overflow-x: clip;
}
body.s-restaurant-d a { color: inherit; }
body.s-restaurant-d ::selection { background: var(--sintel); color: var(--hs); }
body.s-restaurant-d .sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.s-restaurant-d .w { max-width: 1240px; margin: 0 auto; padding: 0 var(--rand); }
body.s-restaurant-d h1, body.s-restaurant-d h2, body.s-restaurant-d h3 { margin: 0; font-weight: inherit; }
body.s-restaurant-d p { margin: 0 0 1em; }
body.s-restaurant-d .ph { min-height: 0; }
body.s-restaurant-d .ph-icoon { opacity: .35; }

/* ── Knoppen en links ─────────────────────────────────────────── */
body.s-restaurant-d .kn { display: inline-flex; align-items: center; gap: 12px; padding: 15px 24px 14px; font: 700 13px/1 var(--sans); letter-spacing: .14em;
        text-transform: uppercase; text-decoration: none; border-radius: 2px; transition: background .2s, color .2s, box-shadow .25s; }
body.s-restaurant-d .kn span { font-size: 17px; letter-spacing: 0; transition: transform .2s; }
body.s-restaurant-d .kn:hover span { transform: translateX(4px); }
body.s-restaurant-d .kn-vuur { background: var(--sintel); color: var(--hs); box-shadow: 0 0 0 0 rgba(255, 154, 74, 0); }
body.s-restaurant-d .kn-vuur:hover { background: var(--gloed); box-shadow: 0 6px 28px -6px rgba(255, 140, 60, .7); }
body.s-restaurant-d .kn-lijn { color: var(--creme); box-shadow: inset 0 0 0 1.5px rgba(241, 232, 216, .55); }
body.s-restaurant-d .kn-lijn:hover { box-shadow: inset 0 0 0 1.5px var(--creme); background: rgba(241, 232, 216, .06); }
body.s-restaurant-d .kn-donker { background: var(--inkt); color: var(--as3); margin-top: 8px; }
body.s-restaurant-d .kn-donker:hover { background: var(--sintel-d); }
body.s-restaurant-d .knoppen { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0 0; }
body.s-restaurant-d .pijl { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; font: 600 15px/1.3 var(--sans); color: var(--sintel);
          text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 4px; }
body.s-restaurant-d .pijl::after { content: "→"; transition: transform .2s; }
body.s-restaurant-d .pijl:hover::after { transform: translateX(4px); }
body.s-restaurant-d .pijl.licht { color: var(--goud); }
body.s-restaurant-d .as .pijl { color: var(--sintel-d); }

/* ── Kop (N4): woordmerk, reserveren, telefoon en het slingerwiel ── */
body.s-restaurant-d .kop { position: relative; background: var(--hs); border-bottom: 1px solid rgba(214, 167, 86, .18); }
body.s-restaurant-d .kop-in { max-width: 1440px; margin: 0 auto; padding: 16px var(--rand); display: flex; align-items: center; justify-content: space-between; gap: 24px; }
body.s-restaurant-d .merk { display: flex; flex-direction: column; text-decoration: none; line-height: 1; }
body.s-restaurant-d .merk-p { font: 700 10.5px/1 var(--sans); letter-spacing: .42em; text-transform: uppercase; color: var(--goud); margin: 0 0 4px 3px; }
body.s-restaurant-d .merk-n { font: 800 34px/.9 var(--script); color: var(--creme); text-shadow: 2px 2px 0 var(--sintel-d); }
body.s-restaurant-d .kop-r { display: flex; align-items: center; gap: 26px; }
body.s-restaurant-d .kop-site { font: 500 14px/1.2 var(--sans); color: var(--creme2); text-decoration: underline; text-decoration-color: rgba(214, 167, 86, .6); text-underline-offset: 5px; }
body.s-restaurant-d .kop-site:hover, body.s-restaurant-d .kop-site.is-hier { color: var(--creme); text-decoration-color: var(--sintel); }
body.s-restaurant-d .kop-tel { display: inline-flex; align-items: center; gap: 8px; font: 600 15px/1 var(--sans); text-decoration: none; color: var(--creme); }
body.s-restaurant-d .kop-tel svg { width: 18px; height: 18px; fill: none; stroke: var(--goud); stroke-width: 1.8; stroke-linejoin: round; }
body.s-restaurant-d .kop-res { font: 700 12px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; color: var(--hs);
             background: var(--sintel); padding: 12px 16px 11px; border-radius: 2px; }
body.s-restaurant-d .kop-res:hover { background: var(--gloed); }
body.s-restaurant-d .menu-tg { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
body.s-restaurant-d .menu-knop { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font: 700 12px/1 var(--sans); letter-spacing: .18em;
               text-transform: uppercase; color: var(--creme); user-select: none; -webkit-tap-highlight-color: transparent; }
body.s-restaurant-d .menu-knop .wiel { width: 42px; height: 42px; color: var(--goud); }
body.s-restaurant-d .wiel-draai { transform-origin: 20px 20px; transition: transform .7s cubic-bezier(.3, .7, .2, 1); }
body.s-restaurant-d .menu-knop:hover .wiel-draai { transform: rotate(60deg); }
body.s-restaurant-d .menu-tg:focus-visible + .menu-knop { outline: 2px solid var(--sintel); outline-offset: 6px; }
body.s-restaurant-d .mk-dicht { display: none; }
body.s-restaurant-d .menu-tg:checked + .menu-knop { position: fixed; top: 20px; right: var(--rand); z-index: 95; }
body.s-restaurant-d .menu-tg:checked + .menu-knop .wiel-draai { transform: rotate(300deg); }
body.s-restaurant-d .menu-tg:checked + .menu-knop .mk-open { display: none; }
body.s-restaurant-d .menu-tg:checked + .menu-knop .mk-dicht { display: inline; }

/* Overlay: het rooster zakt over het scherm, de pagina's zijn inkepingen in de tandheugel */
body.s-restaurant-d .overlay { display: none; position: fixed; inset: 0; z-index: 90; overflow-y: auto; color: var(--creme);
             background:
               radial-gradient(120% 60% at 50% 125%, rgba(255, 122, 48, .55), rgba(166, 61, 24, .25) 38%, transparent 66%),
               repeating-linear-gradient(90deg, rgba(0, 0, 0, .0) 0 22px, rgba(255, 255, 255, .025) 22px 26px),
               var(--hs); }
body.s-restaurant-d .menu-tg:checked ~ .overlay { display: block; animation: lb-zak .5s cubic-bezier(.2, .7, .2, 1); }
@keyframes lb-zak { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
body.s-restaurant-d .ov-in { max-width: 1240px; margin: 0 auto; padding: 110px var(--rand) 64px; display: grid; grid-template-columns: 1.5fr 1fr; gap: 64px; align-items: start; }
body.s-restaurant-d .ov-k { font: 700 12px/1 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--goud); margin: 0 0 28px 46px; }
body.s-restaurant-d .ov-rek { list-style: none; margin: 0; padding: 0 0 0 46px; position: relative; }
body.s-restaurant-d .ov-rek::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 12px; border-radius: 2px;
                    background: repeating-linear-gradient(180deg, var(--goud) 0 4px, transparent 4px 13px), linear-gradient(90deg, transparent 6px, rgba(214, 167, 86, .5) 6px); }
body.s-restaurant-d .ov-i { position: relative; }
body.s-restaurant-d .ov-i::before { content: ""; position: absolute; left: -46px; top: 34px; width: 34px; height: 4px; background: var(--creme2); border-radius: 2px; transition: background .2s, width .2s; }
body.s-restaurant-d .ov-i a { display: block; padding: 10px 0 12px; text-decoration: none; }
body.s-restaurant-d .ov-n { display: block; font: 700 clamp(40px, 6vw, 72px)/1.02 var(--script); transition: color .2s, transform .25s; }
body.s-restaurant-d .ov-o { display: block; font: 400 15px/1.4 var(--sans); color: var(--creme2); margin-top: 4px; }
body.s-restaurant-d .ov-i a:hover .ov-n { color: var(--gloed); transform: translateX(6px); }
body.s-restaurant-d .ov-i:hover::before { background: var(--gloed); }
body.s-restaurant-d .ov-i.is-hier .ov-n { color: var(--sintel); }
body.s-restaurant-d .ov-i.is-hier::before { background: var(--sintel); width: 40px; box-shadow: 0 0 14px 2px rgba(255, 120, 50, .75); }
body.s-restaurant-d .ov-zij { border-left: 1px solid rgba(214, 167, 86, .3); padding: 8px 0 0 40px; font-size: 15px; color: var(--creme2); }
body.s-restaurant-d .ov-zij a { color: var(--creme); }
body.s-restaurant-d .ov-merk { font: 800 44px/1 var(--script); color: var(--creme); text-shadow: 3px 3px 0 var(--sintel-d); margin-bottom: 22px; }
body.s-restaurant-d .ov-tel a { font: 700 26px/1 var(--sans); text-decoration: none; }
body.s-restaurant-d .ov-tijden, body.s-restaurant-d .voet-tijden, body.s-restaurant-d .ct-tijden { list-style: none; margin: 18px 0 26px; padding: 0; }
body.s-restaurant-d .ov-tijden li, body.s-restaurant-d .voet-tijden li, body.s-restaurant-d .ct-tijden li { display: flex; justify-content: space-between; gap: 16px; padding: 7px 0; border-bottom: 1px dashed rgba(214, 167, 86, .25); }
body.s-restaurant-d .ov-site { display: block; margin-top: 22px; font-size: 14px; color: var(--goud) !important; }

/* ── Opening (H10): lage brede panorama, groot tekstblok eronder ── */
body.s-restaurant-d .open { background: var(--hs); }
body.s-restaurant-d .pano { position: relative; height: clamp(240px, 34vw, 520px); overflow: hidden; background: var(--hs2); }
body.s-restaurant-d .open:not(.open-home) .pano { height: clamp(200px, 24vw, 360px); }
body.s-restaurant-d .pano-f { width: 100%; height: 100%; object-fit: cover; }
body.s-restaurant-d .pano::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
                 background: linear-gradient(90deg, var(--sintel-d), var(--gloed) 30%, var(--goud) 55%, transparent 90%); }
body.s-restaurant-d .pano .ph-cap { left: auto; right: var(--rand); bottom: 52px; max-width: 420px; }
body.s-restaurant-d .pano-cap { position: absolute; left: 0; bottom: 3px; margin: 0; padding: 12px var(--rand) 14px; font: 600 12px/1.3 var(--sans); letter-spacing: .16em;
              text-transform: uppercase; color: var(--creme); background: linear-gradient(90deg, rgba(23, 17, 14, .9), rgba(23, 17, 14, 0)); padding-right: 120px; }
body.s-restaurant-d .open-t { max-width: 1240px; margin: 0 auto; padding: clamp(40px, 6vw, 80px) var(--rand) clamp(64px, 8vw, 112px); display: grid; grid-template-columns: 7fr 5fr; gap: clamp(32px, 6vw, 88px); align-items: end; }
body.s-restaurant-d .open-k { font: 700 12px/1.3 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--goud); margin-bottom: 22px; }
body.s-restaurant-d .open h1 { font: 800 clamp(46px, 6.5vw, 104px)/.92 var(--script); letter-spacing: -.01em; color: var(--creme); text-shadow: 3px 3px 0 rgba(166, 61, 24, .55); }
body.s-restaurant-d .open h1 em { font-style: normal; font-weight: 600; color: var(--sintel); text-shadow: none; }
body.s-restaurant-d .open:not(.open-home) h1 { font-size: clamp(42px, 5.6vw, 84px); }
body.s-restaurant-d .open .lead { font: 300 clamp(18px, 1.5vw, 21px)/1.55 var(--sans); color: var(--creme); margin: 0; }
body.s-restaurant-d .open-feit { list-style: none; margin: 36px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
body.s-restaurant-d .open-feit li { border-top: 1px solid rgba(214, 167, 86, .4); padding-top: 12px; font-size: 13px; color: var(--creme2); }
body.s-restaurant-d .open-feit b { display: block; font: 700 16px/1.2 var(--sans); color: var(--creme); margin-bottom: 2px; }
body.s-restaurant-d .open-tel a { font: 800 clamp(34px, 4vw, 52px)/1 var(--script); color: var(--sintel); text-decoration: none; }
body.s-restaurant-d .open-tel { margin: 24px 0 8px; }
body.s-restaurant-d .open-noot { font-size: 14px; color: var(--creme2); margin: 20px 0 0; }
body.s-restaurant-d .sprong { margin-top: 30px; }
body.s-restaurant-d .sprong p { font: 700 11px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--goud); margin-bottom: 10px; }
body.s-restaurant-d .sprong ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body.s-restaurant-d .sprong a { display: inline-flex; gap: 6px; font: 500 14px/1 var(--sans); padding: 9px 13px; border-radius: 99px; text-decoration: none;
              background: rgba(241, 232, 216, .07); color: var(--creme); }
body.s-restaurant-d .sprong a::after { content: "↓"; color: var(--sintel); }
body.s-restaurant-d .sprong a:hover { background: rgba(241, 232, 216, .15); }

/* ── Banden (R1) ─────────────────────────────────────────────── */
body.s-restaurant-d .band { padding: clamp(72px, 9vw, 132px) 0; position: relative; }
body.s-restaurant-d .as { background: var(--as); color: var(--inkt); }
body.s-restaurant-d .hs { background: var(--hs); }
body.s-restaurant-d .hs + .hs { border-top: 1px solid rgba(214, 167, 86, .15); }
body.s-restaurant-d .malbec { background: radial-gradient(90% 70% at 85% 0%, var(--malbec2), transparent 70%), var(--malbec); }
body.s-restaurant-d .sintel { background: radial-gradient(80% 120% at 0% 100%, #c0501f, transparent 70%), var(--sintel-d); }
body.s-restaurant-d .k2 { margin-bottom: 26px; }
body.s-restaurant-d .k2-es { font: 700 clamp(44px, 5.4vw, 80px)/.95 var(--script); color: var(--sintel); margin: 0 0 10px; }
body.s-restaurant-d .as .k2-es { color: var(--sintel-d); }
body.s-restaurant-d .sintel .k2-es { color: var(--creme); }
body.s-restaurant-d .k2 h2 { font: 600 clamp(22px, 2.3vw, 30px)/1.2 var(--sans); letter-spacing: -.01em; max-width: 26ch; }
body.s-restaurant-d .lead-s { font: 300 clamp(17px, 1.4vw, 19px)/1.6 var(--sans); max-width: 58ch; }
body.s-restaurant-d .as .lead-s { color: var(--inkt2); font-weight: 400; }
body.s-restaurant-d .hs .lead-s, body.s-restaurant-d .malbec .lead-s { color: var(--creme2); }
body.s-restaurant-d .split-k { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: end; margin-bottom: clamp(40px, 5vw, 72px); }
body.s-restaurant-d .split-k .k2 { margin: 0; }
body.s-restaurant-d .noot-l { font-size: 14px; color: var(--creme2); margin-top: 26px; }
body.s-restaurant-d .as .noot-l { color: var(--inkt2); }
body.s-restaurant-d .f-cap { font: italic 300 14px/1.4 var(--sans); color: var(--creme2); margin-top: 12px; padding-left: 16px; border-left: 2px solid var(--sintel); }

/* De weg van het vuur */
body.s-restaurant-d .vuurweg { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 28px; position: relative; }
body.s-restaurant-d .vuurweg::before { content: ""; position: absolute; left: 32px; right: 10%; top: 31px; height: 4px;
                     background: radial-gradient(circle, var(--sintel-d) 1.6px, transparent 2.2px) 0 0 / 14px 4px repeat-x; }
body.s-restaurant-d .vw-i { position: relative; }
body.s-restaurant-d .vuur-ico { position: relative; width: 64px; height: 64px; padding: 12px; border-radius: 50%; background: var(--as3); color: var(--inkt);
              box-shadow: 0 0 0 1px rgba(31, 23, 18, .18); margin-bottom: 20px; }
body.s-restaurant-d .vw-i:nth-child(3) .vuur-ico { background: var(--inkt); color: var(--gloed); box-shadow: 0 0 0 5px rgba(224, 102, 47, .25), 0 0 26px rgba(255, 120, 50, .5); }
body.s-restaurant-d .vw-i .vw-es { font: 700 32px/1 var(--script); color: var(--sintel-d); margin-bottom: 6px; }
body.s-restaurant-d .vw-i h3 { font: 700 12px/1.2 var(--sans); letter-spacing: .2em; text-transform: uppercase; margin-bottom: 10px; color: var(--inkt); }
body.s-restaurant-d .vw-i p { font-size: 15px; line-height: 1.55; color: var(--inkt2); margin: 0; }

/* Al peso */
body.s-restaurant-d .ap-grid { display: grid; grid-template-columns: 5fr 7fr; gap: clamp(40px, 6vw, 88px); align-items: start; }
body.s-restaurant-d .ap-foto { position: sticky; top: 24px; }
body.s-restaurant-d .f-staand { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
body.s-restaurant-d .ap-wrap { margin: 32px 0 0; }
body.s-restaurant-d .alpeso { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
body.s-restaurant-d .alpeso thead th { font: 700 11.5px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--goud); text-align: right; padding: 0 0 14px 14px;
                     border-bottom: 1px solid rgba(214, 167, 86, .45); }
body.s-restaurant-d .alpeso thead th:last-child { text-align: left; padding-left: 28px; }
body.s-restaurant-d .ap-compact thead th:last-child { text-align: right; padding-left: 14px; }
body.s-restaurant-d .alpeso tbody th { text-align: left; padding: 18px 12px 18px 0; vertical-align: top; }
body.s-restaurant-d .alpeso td { text-align: right; padding: 22px 0 18px 14px; font: 500 18px/1.2 var(--sans); vertical-align: top; white-space: nowrap; }
body.s-restaurant-d .alpeso tbody tr { border-bottom: 1px solid rgba(241, 232, 216, .12); }
body.s-restaurant-d .alpeso tbody tr:hover { background: linear-gradient(90deg, rgba(224, 102, 47, .08), transparent); }
body.s-restaurant-d .ap-es { display: block; font: 700 29px/1.05 var(--script); color: var(--creme); }
body.s-restaurant-d .ap-nl { display: block; font: 600 11.5px/1.4 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--goud); margin-top: 4px; }
body.s-restaurant-d .ap-u { display: block; font-size: 14.5px; line-height: 1.5; color: var(--creme2); margin-top: 6px; max-width: 34ch; }
body.s-restaurant-d .leeg { color: rgba(241, 232, 216, .3); }
body.s-restaurant-d td.ap-rek { text-align: left; padding-left: 28px; white-space: normal; font: 400 13px/1.45 var(--sans); color: var(--creme2); }
body.s-restaurant-d td.ap-rek { display: table-cell; }
body.s-restaurant-d .ap-rek > span:last-child { display: inline-block; vertical-align: top; }
body.s-restaurant-d .ap-rek b { color: var(--creme); font-weight: 700; }
body.s-restaurant-d .rek { display: inline-block; position: relative; width: 12px; height: 46px; margin-right: 14px; vertical-align: top;
         background: repeating-linear-gradient(180deg, var(--goud) 0 2px, transparent 2px 7px); opacity: .9; }
body.s-restaurant-d .rek::after { content: ""; position: absolute; left: 5px; top: 0; bottom: 0; width: 2px; background: rgba(214, 167, 86, .5); }
body.s-restaurant-d .rek i { position: absolute; left: -6px; width: 24px; height: 3px; border-radius: 2px; background: var(--gloed); box-shadow: 0 0 8px 1px rgba(255, 130, 50, .8); transform: translateY(-50%); z-index: 1; }

/* Garing */
body.s-restaurant-d .punto { margin-top: 44px; }
body.s-restaurant-d .punto-k { font: 700 11.5px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--goud); margin-bottom: 18px; }
body.s-restaurant-d .punto ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
body.s-restaurant-d .punto li b { display: block; font: 700 21px/1.1 var(--script); margin: 12px 0 2px; color: var(--creme); }
body.s-restaurant-d .punto li span:last-child { display: block; font-size: 13.5px; line-height: 1.4; color: var(--creme2); }
body.s-restaurant-d .as .punto li b { color: var(--inkt); }
body.s-restaurant-d .as .punto li span:last-child { color: var(--inkt2); }
body.s-restaurant-d .snit { display: block; position: relative; aspect-ratio: 2.4 / 1; border-radius: 46% 54% 50% 50% / 60% 55% 45% 40%; background: #3b1f12; padding: 5px;
          box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .3); }
body.s-restaurant-d .snit i { display: block; width: 100%; height: 100%; border-radius: inherit; }
body.s-restaurant-d .snit-0 i { background: linear-gradient(180deg, #6e4a36 0, #a5574f 12%, #8f1a2c 30%, #7a0f22 50%, #8f1a2c 70%, #a5574f 88%, #6e4a36 100%); }
body.s-restaurant-d .snit-1 i { background: linear-gradient(180deg, #6e4a36 0, #a5765f 14%, #c65660 32%, #b8323f 50%, #c65660 68%, #a5765f 86%, #6e4a36 100%); }
body.s-restaurant-d .snit-2 i { background: linear-gradient(180deg, #6e4a36 0, #9a7360 20%, #c98a80 40%, #d39a8f 50%, #c98a80 60%, #9a7360 80%, #6e4a36 100%); }
body.s-restaurant-d .snit-3 i { background: linear-gradient(180deg, #5c3f2e 0, #8a6a56 22%, #977662 50%, #8a6a56 78%, #5c3f2e 100%); }

/* Fotoband: asado */
body.s-restaurant-d .fotoband { padding: 0; min-height: 760px; display: flex; align-items: center; background: var(--hs2); }
body.s-restaurant-d .fb-foto { position: absolute; inset: 0; }
body.s-restaurant-d .f-vol { width: 100%; height: 100%; object-fit: cover; }
body.s-restaurant-d .fb-foto .ph-cap { top: 24px; bottom: auto; left: var(--rand); }
body.s-restaurant-d .fb-paneel { position: relative; width: min(540px, 100%); margin: 88px var(--rand) 88px auto; padding: clamp(32px, 4vw, 56px);
               background: rgba(23, 17, 14, .93); box-shadow: 0 30px 80px -20px rgba(0, 0, 0, .6); border-top: 3px solid var(--sintel); }
body.s-restaurant-d .fb-paneel h2 { font: 600 24px/1.25 var(--sans); margin-bottom: 26px; }
body.s-restaurant-d .fb-paneel .k2-es { font-size: clamp(42px, 4.4vw, 62px); }
body.s-restaurant-d .fb-prijs { margin: 26px 0 0; font-size: 14.5px; color: var(--creme2); }
body.s-restaurant-d .fb-prijs b { font: 800 30px/1 var(--script); color: var(--sintel); margin-right: 6px; }
body.s-restaurant-d .asadoreeks { list-style: none; margin: 0; padding: 0 0 0 26px; position: relative; }
body.s-restaurant-d .asadoreeks::before { content: ""; position: absolute; left: 5px; top: 10px; bottom: 18px; width: 2px;
                        background: linear-gradient(180deg, var(--goud), var(--sintel)); opacity: .6; }
body.s-restaurant-d .asadoreeks li { position: relative; padding: 0 0 18px; }
body.s-restaurant-d .asadoreeks li::before { content: ""; position: absolute; left: -26px; top: 6px; width: 12px; height: 12px; border-radius: 50%;
                           background: radial-gradient(circle at 40% 35%, var(--gloed), var(--sintel-d)); box-shadow: 0 0 10px rgba(255, 130, 50, .6); }
body.s-restaurant-d .ar-w { display: block; font: 700 11px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--goud); margin-bottom: 4px; }
body.s-restaurant-d .asadoreeks b { display: block; font: 700 25px/1.1 var(--script); }
body.s-restaurant-d .asadoreeks li > span:last-child { font-size: 15px; color: var(--creme2); }
body.s-restaurant-d .as .asadoreeks li > span:last-child { color: var(--inkt2); }
body.s-restaurant-d .as .ar-w { color: var(--sintel-d); }
body.s-restaurant-d .sintel .ar-w { color: var(--creme); opacity: .85; }
body.s-restaurant-d .sintel .asadoreeks li > span:last-child { color: var(--creme); }
body.s-restaurant-d .sintel .asadoreeks li::before { background: var(--creme); box-shadow: none; }
body.s-restaurant-d .sintel .lead-s { color: var(--creme); }

/* Malbec en het hoogteprofiel */
body.s-restaurant-d .mb-boven { display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: end; margin-bottom: 40px; }
body.s-restaurant-d .mb-boven .k2 { margin: 0; }
body.s-restaurant-d .mb-r { display: grid; grid-template-columns: 1fr 200px; gap: 28px; align-items: end; }
body.s-restaurant-d .mb-r:not(:has(.f-wijn)) { grid-template-columns: 1fr; }
body.s-restaurant-d .f-wijn { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
body.s-restaurant-d .pf-wrap { margin: 12px 0 8px; }
body.s-restaurant-d .profiel { width: 100%; height: auto; display: block; overflow: visible; }
body.s-restaurant-d .pf-berg { fill: rgba(241, 232, 216, .06); stroke: rgba(241, 232, 216, .18); stroke-width: 1.2; stroke-linejoin: round; }
body.s-restaurant-d .pf-s line { stroke: rgba(241, 232, 216, .14); stroke-dasharray: 3 6; }
body.s-restaurant-d .pf-s text { font: 400 13px var(--sans); fill: rgba(241, 232, 216, .55); }
body.s-restaurant-d .pf-lijn { fill: none; stroke: var(--goud); stroke-width: 2; stroke-dasharray: 6 5; }
body.s-restaurant-d .pf-p line { stroke: rgba(214, 167, 86, .35); }
body.s-restaurant-d .pf-p circle { fill: var(--sintel); stroke: var(--creme); stroke-width: 2.5; }
body.s-restaurant-d .pf-p text { font: 700 15px var(--sans); fill: var(--creme); text-anchor: middle; }
body.s-restaurant-d .pf-as { display: flex; justify-content: space-between; font: 600 11.5px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase;
           color: var(--goud); margin: 10px 0 0; border-top: 1px solid rgba(214, 167, 86, .35); padding-top: 12px; }
body.s-restaurant-d .wijnlijst { list-style: none; margin: 40px 0 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; }
body.s-restaurant-d .wijnlijst li { display: flex; flex-direction: column; gap: 3px; font-size: 14.5px; line-height: 1.4; color: var(--creme2);
                  border-top: 1px solid rgba(241, 232, 216, .2); padding-top: 14px; }
body.s-restaurant-d .wl-n { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--sintel); color: var(--hs);
          font: 700 12px/1 var(--sans); margin-bottom: 6px; }
body.s-restaurant-d .wl-h { font: 700 26px/1 var(--script); color: var(--goud); }
body.s-restaurant-d .wijnlijst b { color: var(--creme); font-weight: 600; font-size: 15px; }
body.s-restaurant-d .wl-p { color: var(--creme); font-weight: 500; margin-top: 6px; font-variant-numeric: tabular-nums; }

/* Achterzaal */
body.s-restaurant-d .gp-t { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(32px, 6vw, 96px); align-items: end; }
body.s-restaurant-d .gp-t .k2 { grid-row: span 3; margin: 0; align-self: start; }
body.s-restaurant-d .gp-feit { list-style: none; margin: 8px 0 0; padding: 0; display: flex; gap: 28px; flex-wrap: wrap; font-size: 14px; color: var(--inkt2); }
body.s-restaurant-d .gp-feit b { display: block; font: 800 34px/1 var(--script); color: var(--sintel-d); }
body.s-restaurant-d .tafel { display: block; width: 100%; height: auto; margin: clamp(40px, 5vw, 64px) 0 0; }
body.s-restaurant-d .tf-grill { fill: var(--inkt); }
body.s-restaurant-d .tf-rooster line { stroke: var(--sintel); stroke-width: 2.5; }
body.s-restaurant-d .tf-blad { fill: #c9a77a; stroke: #7a5a3a; stroke-width: 1.5; }
body.s-restaurant-d .tf-stoel circle { fill: var(--as3); stroke: var(--inkt); stroke-width: 1.6; }
body.s-restaurant-d .tf-t { font: 700 13px var(--sans); letter-spacing: .16em; text-transform: uppercase; fill: var(--inkt); text-anchor: middle; }
body.s-restaurant-d .hs .tf-blad { fill: #6b4a30; stroke: #a07a50; }
body.s-restaurant-d .hs .tf-stoel circle { fill: var(--hs2); stroke: var(--creme2); }
body.s-restaurant-d .hs .tf-t { fill: var(--creme); }
body.s-restaurant-d .hs .tf-grill { fill: #3a2a20; }

/* Martín en Sanne */
body.s-restaurant-d .mensen { padding: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 640px; }
body.s-restaurant-d .mn-foto { position: relative; }
body.s-restaurant-d .mn-foto .f-vol { position: absolute; inset: 0; }
body.s-restaurant-d .mn-t { padding: clamp(56px, 8vw, 120px) var(--rand); align-self: center; max-width: 640px; }
body.s-restaurant-d .mn-t blockquote { margin: 0; }
body.s-restaurant-d .mn-t blockquote p { font: 600 clamp(26px, 2.7vw, 38px)/1.2 var(--script); color: var(--creme); }
body.s-restaurant-d .mn-wie { font: 700 12px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--goud); }

/* Slotband: door het rooster naar de kolen */
body.s-restaurant-d .slot { text-align: center; color: var(--creme); overflow: hidden; padding-bottom: clamp(88px, 10vw, 140px);
          background: radial-gradient(70% 75% at 50% 118%, rgba(255, 160, 80, .75), rgba(224, 102, 47, .55) 24%, rgba(138, 44, 16, .45) 46%, transparent 72%), var(--hs); }
body.s-restaurant-d .slot-in { position: relative; max-width: 760px; margin: 0 auto; padding: 0 var(--rand); }
body.s-restaurant-d .slot h2 { font: 800 clamp(44px, 6vw, 88px)/.95 var(--script); text-shadow: 3px 3px 0 var(--sintel-d); margin-bottom: 20px; }
body.s-restaurant-d .slot p { font: 400 18px/1.6 var(--sans); max-width: 52ch; margin: 0 auto; text-shadow: 0 1px 12px rgba(0, 0, 0, .8); }
body.s-restaurant-d .slot .knoppen { justify-content: center; }
body.s-restaurant-d .slot .kn-lijn { background: rgba(23, 17, 14, .7); }

/* ── Aan tafel ───────────────────────────────────────────────── */
body.s-restaurant-d .d-kop { display: grid; grid-template-columns: 1fr 1fr; gap: 0 clamp(32px, 6vw, 96px); }
body.s-restaurant-d .d-kop .k2 { grid-row: span 2; margin: 0; }
body.s-restaurant-d .vinkjes { list-style: none; margin: 18px 0 0; padding: 0; }
body.s-restaurant-d .vinkjes li { position: relative; padding: 6px 0 6px 26px; font-size: 16px; }
body.s-restaurant-d .vinkjes li::before { content: ""; position: absolute; left: 2px; top: 13px; width: 10px; height: 10px; border-radius: 50%;
                        background: radial-gradient(circle at 40% 35%, var(--gloed), var(--sintel-d)); box-shadow: 0 0 8px rgba(255, 130, 50, .55); }
body.s-restaurant-d .snijplan { display: grid; grid-template-columns: 1.6fr 1fr; gap: clamp(28px, 4vw, 64px); align-items: center; margin: clamp(40px, 5vw, 72px) 0 0; }
body.s-restaurant-d .koe { width: 100%; height: auto; display: block; }
body.s-restaurant-d .koe polygon { fill: transparent; stroke: rgba(241, 232, 216, .32); stroke-width: 1.2; transition: fill .25s; }
body.s-restaurant-d .koe .r-1, body.s-restaurant-d .koe .r-2, body.s-restaurant-d .koe .r-3, body.s-restaurant-d .koe .r-4, body.s-restaurant-d .koe .r-5, body.s-restaurant-d .koe .r-6, body.s-restaurant-d .koe .r-7 { fill: rgba(224, 102, 47, .2); }
body.s-restaurant-d .koe .r-2 { fill: rgba(224, 102, 47, .42); }
body.s-restaurant-d .koe .r-x { fill: rgba(241, 232, 216, .03); }
body.s-restaurant-d .koe-lijn { fill: none; stroke: var(--creme); stroke-width: 2.4; stroke-linejoin: round; }
body.s-restaurant-d .koe-hoorn { fill: none; stroke: var(--creme); stroke-width: 2.4; stroke-linecap: round; }
body.s-restaurant-d .koe-oog { fill: var(--creme); }
body.s-restaurant-d .koe .kl { font: 700 22px var(--sans); fill: var(--creme); text-anchor: middle; }
body.s-restaurant-d .koe .kx { font: 600 11px var(--sans); letter-spacing: .14em; text-transform: uppercase; fill: rgba(241, 232, 216, .5); text-anchor: middle; }
body.s-restaurant-d .legenda { list-style: none; margin: 0; padding: 0; }
body.s-restaurant-d .legenda li { display: grid; grid-template-columns: 34px 1fr; column-gap: 12px; padding: 9px 0; border-bottom: 1px solid rgba(241, 232, 216, .12); cursor: default; }
body.s-restaurant-d .lg-n { grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: rgba(224, 102, 47, .2);
          color: var(--creme); font: 700 13px/1 var(--sans); box-shadow: inset 0 0 0 1px var(--sintel); }
body.s-restaurant-d .legenda b { font: 700 22px/1.1 var(--script); }
body.s-restaurant-d .legenda li > span:last-child { font-size: 13px; letter-spacing: .14em; text-transform: uppercase; color: var(--goud); }
body.s-restaurant-d .legenda li:hover .lg-n { background: var(--sintel); color: var(--hs); }
body.s-restaurant-d .snijplan:has(li[data-n="1"]:hover) .r-1, body.s-restaurant-d .snijplan:has(li[data-n="2"]:hover) .r-2, body.s-restaurant-d .snijplan:has(li[data-n="3"]:hover) .r-3,
body.s-restaurant-d .snijplan:has(li[data-n="4"]:hover) .r-4, body.s-restaurant-d .snijplan:has(li[data-n="5"]:hover) .r-5, body.s-restaurant-d .snijplan:has(li[data-n="6"]:hover) .r-6,
body.s-restaurant-d .snijplan:has(li[data-n="7"]:hover) .r-7 { fill: var(--sintel); }
body.s-restaurant-d .d-split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: center; }
body.s-restaurant-d .mini { border-collapse: collapse; margin: 24px 0 10px; min-width: min(360px, 100%); font-variant-numeric: tabular-nums; }
body.s-restaurant-d .mini th { text-align: left; font-weight: 500; padding: 10px 24px 10px 0; border-bottom: 1px solid rgba(31, 23, 18, .2); }
body.s-restaurant-d .mini td { text-align: right; font: 700 18px/1 var(--sans); border-bottom: 1px solid rgba(31, 23, 18, .2); }
body.s-restaurant-d .gm-rij { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 48px 0 28px; }
body.s-restaurant-d .gm { background: var(--as3); padding: 30px 28px 26px; border-radius: 3px; box-shadow: 0 1px 0 rgba(31, 23, 18, .1); position: relative; }
body.s-restaurant-d .gm::before { content: ""; position: absolute; left: 28px; right: 28px; top: 0; height: 3px; background: var(--sintel-d); }
body.s-restaurant-d .gm-p { font-size: 14px; color: var(--inkt2); margin-bottom: 4px; }
body.s-restaurant-d .gm-p b { font: 800 30px/1 var(--script); color: var(--sintel-d); }
body.s-restaurant-d .gm h3 { font: 700 28px/1.1 var(--script); margin-bottom: 14px; }
body.s-restaurant-d .gm ol { margin: 0; padding: 0 0 0 18px; font-size: 15px; color: var(--inkt2); }
body.s-restaurant-d .gm li { padding: 3px 0; }
body.s-restaurant-d .gm-wijn { background: var(--malbec); color: var(--creme); }
body.s-restaurant-d .gm-wijn .gm-p, body.s-restaurant-d .gm-wijn ol { color: var(--creme2); }
body.s-restaurant-d .gm-wijn .gm-p b { color: var(--goud); }
body.s-restaurant-d .gm-wijn::before { background: var(--goud); }

/* ── De kaart ────────────────────────────────────────────────── */
body.s-restaurant-d .kaart-w { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
body.s-restaurant-d .kaart-rijen { list-style: none; margin: 0; padding: 0; }
body.s-restaurant-d .kaart-rijen li { display: grid; grid-template-columns: 1fr auto; column-gap: 24px; padding: 16px 0 15px; border-bottom: 1px solid rgba(31, 23, 18, .16); }
body.s-restaurant-d .kr-n { font: 700 25px/1.15 var(--script); color: var(--inkt); }
body.s-restaurant-d .kr-u { grid-column: 1; font-size: 15px; color: var(--inkt2); }
body.s-restaurant-d .kr-p { grid-column: 2; grid-row: 1 / span 2; align-self: center; font: 600 18px/1 var(--sans); font-variant-numeric: tabular-nums; white-space: nowrap; }
body.s-restaurant-d .kaart-2 { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 96px); }
body.s-restaurant-d .as-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: center; }
body.s-restaurant-d .as-grid .k2 h2 { font-size: clamp(26px, 2.8vw, 36px); }

/* ── Over ons ────────────────────────────────────────────────── */
body.s-restaurant-d .vh-grid { display: grid; grid-template-columns: 1fr 1.25fr; gap: 40px clamp(40px, 6vw, 96px); }
body.s-restaurant-d .vh-r p { font-size: 18px; line-height: 1.7; color: var(--inkt2); }
body.s-restaurant-d .vh-r p:first-child::first-letter { font: 800 76px/.8 var(--script); float: left; margin: 8px 12px 0 0; color: var(--sintel-d); }
body.s-restaurant-d .vh-q { grid-column: 1 / -1; margin: 32px 0 0; padding: 40px 0 0; border-top: 1px solid rgba(31, 23, 18, .2); display: flex; gap: 32px; align-items: baseline; flex-wrap: wrap; }
body.s-restaurant-d .vh-q p { font: 700 clamp(30px, 3.6vw, 52px)/1.1 var(--script); color: var(--inkt); margin: 0; max-width: 24ch; }
body.s-restaurant-d .vh-q footer { font: 700 12px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--sintel-d); }
body.s-restaurant-d .avond { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; position: relative; }
body.s-restaurant-d .avond li { position: relative; padding: 30px 0 0; border-top: 4px solid var(--creme2); }
body.s-restaurant-d .avond li:nth-child(2) { margin-top: 48px; border-color: var(--goud); }
body.s-restaurant-d .avond li:nth-child(3) { margin-top: 96px; border-color: var(--sintel); box-shadow: 0 -6px 18px -8px rgba(255, 120, 50, .8); }
body.s-restaurant-d .ws-h { display: block; font: 700 11.5px/1 var(--sans); letter-spacing: .22em; text-transform: uppercase; color: var(--goud); margin-bottom: 10px; }
body.s-restaurant-d .avond h3 { font: 700 34px/1 var(--script); margin-bottom: 10px; }
body.s-restaurant-d .avond p { color: var(--creme2); margin: 0; }
body.s-restaurant-d .hk-lijst { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 clamp(40px, 6vw, 96px); }
body.s-restaurant-d .hk-lijst li { padding: 26px 0; border-top: 1px solid rgba(31, 23, 18, .2); }
body.s-restaurant-d .hk-lijst h3 { font: 700 30px/1 var(--script); color: var(--sintel-d); margin-bottom: 10px; }
body.s-restaurant-d .hk-lijst p { color: var(--inkt2); margin: 0; }
body.s-restaurant-d .tm-grid { display: grid; grid-template-columns: 1fr 1.5fr; gap: clamp(32px, 6vw, 96px); }
body.s-restaurant-d .tm { list-style: none; margin: 0; padding: 0; }
body.s-restaurant-d .tm li { display: grid; grid-template-columns: 1fr 1fr; gap: 2px 24px; padding: 22px 0; border-top: 1px solid rgba(241, 232, 216, .2); }
body.s-restaurant-d .tm b { font: 700 28px/1.1 var(--script); }
body.s-restaurant-d .tm-r { font: 700 11.5px/1.4 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--goud); align-self: center; }
body.s-restaurant-d .tm li > span:last-child { grid-column: 1 / -1; color: var(--creme2); }

/* ── Contact ─────────────────────────────────────────────────── */
body.s-restaurant-d .ct-grid { display: grid; grid-template-columns: 1.5fr 1fr; gap: clamp(40px, 6vw, 96px); align-items: start; }
body.s-restaurant-d .ct-zij { background: var(--inkt); color: var(--creme); padding: 36px 32px; border-radius: 3px; position: sticky; top: 24px; }
body.s-restaurant-d .ct-blok + .ct-blok { margin-top: 26px; padding-top: 22px; border-top: 1px solid rgba(214, 167, 86, .25); }
body.s-restaurant-d .ct-zij h3 { font: 700 26px/1 var(--script); color: var(--goud); margin-bottom: 10px; }
body.s-restaurant-d .ct-zij p { font-size: 15px; color: var(--creme2); margin: 0 0 8px; }
body.s-restaurant-d .ct-zij a { color: var(--creme); }
body.s-restaurant-d .ct-tijden { margin: 6px 0 12px; font-size: 15px; }
body.s-restaurant-d .res fieldset { border: 0; margin: 0 0 22px; padding: 0; min-width: 0; }
body.s-restaurant-d .res legend, body.s-restaurant-d .veld > span { display: block; font: 700 11.5px/1.3 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--inkt); margin-bottom: 10px; padding: 0; }
body.s-restaurant-d .veld { display: block; margin: 0 0 20px; }
body.s-restaurant-d .veld input, body.s-restaurant-d .veld textarea { width: 100%; font: 400 16px/1.4 var(--sans); color: var(--inkt); background: var(--as3); border: 1px solid rgba(31, 23, 18, .3);
                                 border-radius: 3px; padding: 13px 14px; }
body.s-restaurant-d .veld input:focus, body.s-restaurant-d .veld textarea:focus, body.s-restaurant-d .chip input:focus-visible + span, body.s-restaurant-d .plek input:focus-visible + span { outline: 2px solid var(--sintel-d); outline-offset: 2px; }
body.s-restaurant-d .res-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
body.s-restaurant-d .chips { display: flex; flex-wrap: wrap; gap: 8px; }
body.s-restaurant-d .chip input, body.s-restaurant-d .plek input { position: absolute; opacity: 0; }
body.s-restaurant-d .chip span { display: inline-grid; place-items: center; min-width: 46px; height: 42px; padding: 0 12px; border-radius: 3px; cursor: pointer;
               font: 600 15px/1 var(--sans); background: var(--as3); box-shadow: inset 0 0 0 1px rgba(31, 23, 18, .25); }
body.s-restaurant-d .chip input:checked + span { background: var(--inkt); color: var(--creme); box-shadow: inset 0 -3px 0 var(--sintel); }
body.s-restaurant-d .plekken { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
body.s-restaurant-d .plek span { display: block; height: 100%; padding: 16px 16px 14px; border-radius: 3px; cursor: pointer; font-size: 13.5px; line-height: 1.35; color: var(--inkt2);
               background: var(--as3); box-shadow: inset 0 0 0 1px rgba(31, 23, 18, .25); }
body.s-restaurant-d .plek b { display: block; font: 700 22px/1.1 var(--script); color: var(--inkt); margin-bottom: 4px; }
body.s-restaurant-d .plek input:checked + span { background: var(--inkt); color: var(--creme2); box-shadow: inset 0 -3px 0 var(--sintel); }
body.s-restaurant-d .plek input:checked + span b { color: var(--creme); }
body.s-restaurant-d .res .kn { border: 0; cursor: pointer; margin-top: 4px; }
body.s-restaurant-d .res-noot { font-size: 13.5px; color: var(--inkt2); margin-top: 14px; }
body.s-restaurant-d .vr-grid { display: grid; grid-template-columns: 1fr 1.6fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
body.s-restaurant-d .vragen details { border-bottom: 1px solid rgba(31, 23, 18, .2); }
body.s-restaurant-d .vragen summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 18px; padding: 20px 0; font: 600 18px/1.35 var(--sans); }
body.s-restaurant-d .vragen summary::-webkit-details-marker { display: none; }
body.s-restaurant-d .vragen summary::after { content: "+"; font: 400 26px/1 var(--sans); color: var(--sintel-d); transition: transform .2s; }
body.s-restaurant-d .vragen details[open] summary::after { transform: rotate(45deg); }
body.s-restaurant-d .vragen details p { color: var(--inkt2); margin: -4px 0 22px; max-width: 62ch; }

/* ── Voet ────────────────────────────────────────────────────── */
body.s-restaurant-d .voet { background: var(--hs); color: var(--creme2); position: relative; }
body.s-restaurant-d .voet-rooster { height: 96px;
                  background:
                    linear-gradient(180deg, var(--hs) 0, transparent 40%, transparent 60%, var(--hs) 100%),
                    repeating-linear-gradient(90deg, var(--hs) 0 12px, transparent 12px 30px),
                    radial-gradient(60% 140% at 50% 50%, #ff9a4a, #c4501f 35%, #4a1a0c 70%, var(--hs) 100%); }
body.s-restaurant-d .voet-in { max-width: 1240px; margin: 0 auto; padding: 40px var(--rand) 36px; }
body.s-restaurant-d .voet-merk { text-align: center; margin-bottom: 64px; }
body.s-restaurant-d .voet .vm-p { font: 700 12px/1 var(--sans); letter-spacing: .42em; text-transform: uppercase; color: var(--goud); margin: 0 0 6px; }
body.s-restaurant-d .voet .vm-n { font: 800 clamp(84px, 15vw, 210px)/.9 var(--script); color: var(--creme); text-shadow: 5px 5px 0 var(--sintel-d); margin: 0; }
body.s-restaurant-d .krul { display: block; width: 220px; height: 40px; margin: 6px auto 0; }
body.s-restaurant-d .krul-g path { stroke: var(--goud); stroke-width: 2.4; }
body.s-restaurant-d .krul-s path { stroke: var(--sintel-d); stroke-width: 2.4; }
body.s-restaurant-d .krul-r { fill: var(--goud); }
body.s-restaurant-d .krul-voet { width: 300px; height: 54px; }
body.s-restaurant-d .voet .vm-z { font: 600 22px/1.3 var(--script); color: var(--creme); margin: 14px 0 0; }
body.s-restaurant-d .voet-kol { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: 40px; border-top: 1px solid rgba(214, 167, 86, .3); padding-top: 40px; }
body.s-restaurant-d .voet h2 { font: 700 11.5px/1 var(--sans); letter-spacing: .26em; text-transform: uppercase; color: var(--goud); margin-bottom: 18px; }
body.s-restaurant-d .voet p { font-size: 15px; margin: 0 0 8px; }
body.s-restaurant-d .voet a { color: var(--creme); text-decoration: none; }
body.s-restaurant-d .voet a:hover { color: var(--gloed); }
body.s-restaurant-d .voet-links { list-style: none; margin: 0; padding: 0; columns: 2; column-gap: 24px; }
body.s-restaurant-d .voet-links li { padding: 4px 0; break-inside: avoid; }
body.s-restaurant-d .voet-tel { font: 800 30px/1 var(--script); }
body.s-restaurant-d .voet-tijden { margin: 0 0 10px; font-size: 15px; }
body.s-restaurant-d .voet-noot { font-size: 13px !important; }
body.s-restaurant-d .voet-sgs { margin: 48px 0 0 !important; padding-top: 22px; border-top: 1px solid rgba(241, 232, 216, .12); font-size: 13.5px !important; text-align: center; }
body.s-restaurant-d .voet-sgs a { color: var(--goud); text-decoration: underline; }
body.s-restaurant-d .voet-sgs span { margin: 0 6px; color: rgba(241, 232, 216, .35); }

/* ── Beweging ────────────────────────────────────────────────── */
@media (prefers-reduced-motion: no-preference) {
  body.s-restaurant-d .vw-i:nth-child(3) .vuur-ico, body.s-restaurant-d .ov-i.is-hier::before { animation: lb-gloei 3.2s ease-in-out infinite; }
}
@keyframes lb-gloei { 0%, 100% { filter: brightness(1); } 50% { filter: brightness(1.25); } }
@media (prefers-reduced-motion: reduce) {
  body.s-restaurant-d *, body.s-restaurant-d *::before, body.s-restaurant-d *::after { transition: none !important; animation: none !important; }
}

/* ── Tablet ──────────────────────────────────────────────────── */
@media (max-width: 1080px) {
  body.s-restaurant-d .vuurweg { grid-template-columns: repeat(3, 1fr); row-gap: 44px; }
  body.s-restaurant-d .vuurweg::before { display: none; }
  body.s-restaurant-d .wijnlijst { grid-template-columns: repeat(3, 1fr); }
  body.s-restaurant-d .ap-grid { grid-template-columns: 1fr; }
  body.s-restaurant-d .ap-foto { position: static; max-width: 560px; }
  body.s-restaurant-d .f-staand { aspect-ratio: 3 / 2; }
  body.s-restaurant-d .gm-rij { grid-template-columns: 1fr 1fr; }
  body.s-restaurant-d .snijplan { grid-template-columns: 1fr; }
  body.s-restaurant-d .legenda { columns: 2; column-gap: 32px; }
  body.s-restaurant-d .legenda li { break-inside: avoid; }
}

/* ── Mobiel ──────────────────────────────────────────────────── */
@media (max-width: 760px) {
  body.s-restaurant-d { font-size: 16px; }
  body.s-restaurant-d .kop-in { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "merk menu" "site res"; gap: 12px 16px; padding-top: 14px; padding-bottom: 14px; }
  body.s-restaurant-d .kop-r { display: contents; }
  body.s-restaurant-d .merk { grid-area: merk; }
  body.s-restaurant-d .merk-n { font-size: 30px; }
  body.s-restaurant-d .menu-knop { grid-area: menu; justify-self: end; }
  body.s-restaurant-d .menu-knop .wiel { width: 38px; height: 38px; }
  body.s-restaurant-d .kop-site { grid-area: site; align-self: center; font-size: 13.5px; }
  body.s-restaurant-d .kop-tel { display: none; }
  body.s-restaurant-d .kop-res { grid-area: res; justify-self: end; }
  body.s-restaurant-d .menu-tg:checked + .menu-knop { top: 14px; }
  body.s-restaurant-d .ov-in { grid-template-columns: 1fr; gap: 40px; padding-top: 88px; }
  body.s-restaurant-d .ov-zij { border-left: 0; border-top: 1px solid rgba(214, 167, 86, .3); padding: 28px 0 0; }
  body.s-restaurant-d .ov-k { margin-bottom: 16px; }
  body.s-restaurant-d .ov-i::before { top: 26px; }
  body.s-restaurant-d .ov-n { font-size: 40px; }
  body.s-restaurant-d .pano { height: 300px; }
  body.s-restaurant-d .open:not(.open-home) .pano { height: 220px; }
  body.s-restaurant-d .pano-cap { font-size: 10.5px; letter-spacing: .12em; padding-right: 40px; }
  body.s-restaurant-d .pano .ph-cap { display: none; }
  body.s-restaurant-d .open-t, body.s-restaurant-d .split-k, body.s-restaurant-d .mb-boven, body.s-restaurant-d .gp-t, body.s-restaurant-d .d-kop, body.s-restaurant-d .d-split, body.s-restaurant-d .kaart-w, body.s-restaurant-d .kaart-2, body.s-restaurant-d .as-grid, body.s-restaurant-d .vh-grid, body.s-restaurant-d .tm-grid,
  body.s-restaurant-d .ct-grid, body.s-restaurant-d .vr-grid, body.s-restaurant-d .mensen, body.s-restaurant-d .voet-kol { grid-template-columns: 1fr; }
  body.s-restaurant-d .gp-t .k2, body.s-restaurant-d .d-kop .k2 { grid-row: auto; margin-bottom: 18px; }
  body.s-restaurant-d .open-t { align-items: start; gap: 28px; }
  body.s-restaurant-d .open-feit { grid-template-columns: 1fr 1fr; }
  body.s-restaurant-d .open-feit li:last-child { grid-column: 1 / -1; }
  body.s-restaurant-d .vuurweg { grid-template-columns: 1fr; row-gap: 0; }
  body.s-restaurant-d .vw-i { display: grid; grid-template-columns: 64px 1fr; column-gap: 20px; padding: 0 0 28px; position: relative; }
  body.s-restaurant-d .vw-i:not(:last-child)::after { content: ""; position: absolute; left: 31px; top: 70px; bottom: 6px; width: 3px;
                                    background: radial-gradient(circle, var(--sintel-d) 1.4px, transparent 2px) 0 0 / 3px 11px repeat-y; }
  body.s-restaurant-d .vuur-ico { grid-row: span 3; margin: 0; }
  body.s-restaurant-d .alpeso thead { display: none; }
  body.s-restaurant-d .alpeso, body.s-restaurant-d .alpeso tbody, body.s-restaurant-d .alpeso tr { display: block; }
  body.s-restaurant-d .alpeso tbody tr { display: grid; grid-template-columns: repeat(3, 1fr); padding: 16px 0 18px; }
  body.s-restaurant-d .alpeso tbody th { grid-column: 1 / -1; padding: 0 0 12px; }
  body.s-restaurant-d .alpeso td { display: block; text-align: left; padding: 0; font-size: 17px; }
  body.s-restaurant-d .alpeso td::before { content: attr(data-g); display: block; font: 700 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--goud); margin-bottom: 6px; }
  body.s-restaurant-d td.ap-rek { display: flex; grid-column: 1 / -1; padding: 14px 0 0; align-items: center; }
  body.s-restaurant-d .punto ol { grid-template-columns: 1fr 1fr; row-gap: 24px; }
  body.s-restaurant-d .fotoband { display: block; min-height: 0; }
  body.s-restaurant-d .fb-foto { position: relative; height: 340px; }
  body.s-restaurant-d .fb-paneel { width: auto; margin: -48px 14px 0; }
  body.s-restaurant-d .mb-r { grid-template-columns: 1fr; }
  body.s-restaurant-d .f-wijn { aspect-ratio: 3 / 2; }
  body.s-restaurant-d .profiel .pf-s text { display: none; }
  body.s-restaurant-d .pf-p circle { r: 15; }
  body.s-restaurant-d .pf-p text { font-size: 28px; }
  body.s-restaurant-d .pf-p text { transform: translateY(-14px); }
  body.s-restaurant-d .wijnlijst { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
  body.s-restaurant-d .mensen { min-height: 0; }
  body.s-restaurant-d .mn-foto { height: 380px; }
  body.s-restaurant-d .gm-rij { grid-template-columns: 1fr; }
  body.s-restaurant-d .legenda { columns: 1; }
  body.s-restaurant-d .plekken, body.s-restaurant-d .res-2 { grid-template-columns: 1fr; }
  body.s-restaurant-d .avond { grid-template-columns: 1fr; }
  body.s-restaurant-d .avond li:nth-child(n) { margin-top: 0; }
  body.s-restaurant-d .avond li + li { margin-top: 20px; }
  body.s-restaurant-d .hk-lijst { grid-template-columns: 1fr; }
  body.s-restaurant-d .ct-zij { position: static; }
  body.s-restaurant-d .voet-merk { margin-bottom: 44px; }
  body.s-restaurant-d .krul-voet { width: 230px; height: 42px; }
  body.s-restaurant-d .tafel { margin-left: calc(var(--rand) * -.5); width: calc(100% + var(--rand)); }
}
body.s-restaurant-d .koe-staart { fill: var(--creme); }
body.s-restaurant-d .koe .r-3 + text, body.s-restaurant-d .koe .kl { paint-order: stroke; }

/* Fileteado-krul als naad tussen de opening en een donkere band */
body.s-restaurant-d .open + .band.hs { border-top: 0; }
body.s-restaurant-d .open + .band.hs::before { content: ""; position: absolute; left: 50%; top: 0; width: 220px; height: 40px; transform: translate(-50%, -50%);
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20220%2040%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%20stroke-width%3D%222.4%22%3E%3Cg%20stroke%3D%22%23a63d18%22%20transform%3D%22translate%281.6%201.6%29%22%3E%3Cpath%20d%3D%22M108%2020%20C%20122%206%2C%20150%204%2C%20166%2014%20C%20180%2023%2C%20172%2038%2C%20160%2033%20C%20151%2029%2C%20155%2019%2C%20163%2022%22/%3E%3Cpath%20d%3D%22M130%2021%20C%20140%2026%2C%20150%2027%2C%20158%2024%22/%3E%3Cpath%20d%3D%22M174%2014%20C%20182%208%2C%20190%208%2C%20196%2012%22/%3E%3Cg%20transform%3D%22matrix%28-1%200%200%201%20220%200%29%22%3E%3Cpath%20d%3D%22M108%2020%20C%20122%206%2C%20150%204%2C%20166%2014%20C%20180%2023%2C%20172%2038%2C%20160%2033%20C%20151%2029%2C%20155%2019%2C%20163%2022%22/%3E%3Cpath%20d%3D%22M130%2021%20C%20140%2026%2C%20150%2027%2C%20158%2024%22/%3E%3Cpath%20d%3D%22M174%2014%20C%20182%208%2C%20190%208%2C%20196%2012%22/%3E%3C/g%3E%3C/g%3E%3Cg%20stroke%3D%22%23d6a756%22%3E%3Cpath%20d%3D%22M108%2020%20C%20122%206%2C%20150%204%2C%20166%2014%20C%20180%2023%2C%20172%2038%2C%20160%2033%20C%20151%2029%2C%20155%2019%2C%20163%2022%22/%3E%3Cpath%20d%3D%22M130%2021%20C%20140%2026%2C%20150%2027%2C%20158%2024%22/%3E%3Cpath%20d%3D%22M174%2014%20C%20182%208%2C%20190%208%2C%20196%2012%22/%3E%3Cg%20transform%3D%22matrix%28-1%200%200%201%20220%200%29%22%3E%3Cpath%20d%3D%22M108%2020%20C%20122%206%2C%20150%204%2C%20166%2014%20C%20180%2023%2C%20172%2038%2C%20160%2033%20C%20151%2029%2C%20155%2019%2C%20163%2022%22/%3E%3Cpath%20d%3D%22M130%2021%20C%20140%2026%2C%20150%2027%2C%20158%2024%22/%3E%3Cpath%20d%3D%22M174%2014%20C%20182%208%2C%20190%208%2C%20196%2012%22/%3E%3C/g%3E%3C/g%3E%3Cpath%20fill%3D%22%23d6a756%22%20stroke%3D%22none%22%20d%3D%22M110%2013%20L116%2020%20L110%2027%20L104%2020%20Z%22/%3E%3C/svg%3E") center / contain no-repeat; }
body.s-restaurant-d .open + .band.hs::after { content: ""; position: absolute; top: 0; left: var(--rand); right: var(--rand); height: 1px; z-index: -0;
  background: linear-gradient(90deg, transparent, rgba(214, 167, 86, .35) 30%, transparent 42%, transparent 58%, rgba(214, 167, 86, .35) 70%, transparent); }
body.s-restaurant-d .alpeso tbody th { font-weight: 400; }
