/* Mabelle Café – global base (fonts, reset, tokens). Component CSS lives in the class selectors. */
@font-face { font-family: "Montserrat"; font-weight: 400; font-style: normal; font-display: swap; src: url('../assets/montserrat-400.woff2') format('woff2'), url('/cm-design/ws9oqzy0fxnk0xizpfi4/assets/montserrat-400.woff2') format('woff2'); }
@font-face { font-family: "Montserrat"; font-weight: 500; font-style: normal; font-display: swap; src: url('../assets/montserrat-500.woff2') format('woff2'), url('/cm-design/ws9oqzy0fxnk0xizpfi4/assets/montserrat-500.woff2') format('woff2'); }
@font-face { font-family: "Montserrat"; font-weight: 600; font-style: normal; font-display: swap; src: url('../assets/montserrat-600.woff2') format('woff2'), url('/cm-design/ws9oqzy0fxnk0xizpfi4/assets/montserrat-600.woff2') format('woff2'); }
@font-face { font-family: "Montserrat"; font-weight: 700; font-style: normal; font-display: swap; src: url('../assets/montserrat-700.woff2') format('woff2'), url('/cm-design/ws9oqzy0fxnk0xizpfi4/assets/montserrat-700.woff2') format('woff2'); }
@font-face { font-family: "Montserrat"; font-weight: 400; font-style: italic; font-display: swap; src: url('../assets/montserrat-400-italic.woff2') format('woff2'), url('/cm-design/ws9oqzy0fxnk0xizpfi4/assets/montserrat-400-italic.woff2') format('woff2'); }
@font-face { font-family: "Belgian Signature"; font-weight: 400; font-style: normal; font-display: swap; src: url('../assets/belgian-signature.woff2') format('woff2'), url('/cm-design/ws9oqzy0fxnk0xizpfi4/assets/belgian-signature.woff2') format('woff2'); }

:root {
  --mb-red: #ca2130;
  --mb-red-dark: #6e1219;
  --mb-gold: #eccf91;
  --mb-black: #000;
  --mb-white: #fff;
  --mb-grey: #f5f5f5;
  --mb-line: #e4e4e4;
  --mb-font: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mb-script: "Belgian Signature", cursive;
  --mb-header-h: 80px;
  --mb-gutter: clamp(1.25rem, 4vw, 3.75rem);
  --mb-section-space: clamp(3.5rem, 6vw, 5.625rem);
  --mb-radius: 10px;
  --content-width: 1100px;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 100px; }
@media (max-width: 767px) { html { scroll-padding-top: 80px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; font-family: var(--mb-font); font-size: 1rem; font-weight: 500; line-height: 1.5; color: var(--mb-black); background: var(--mb-white); -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6, p, ul, ol, figure { margin: 0; }
h1, h2, h3, h4 { font-weight: 700; line-height: 1.2; text-wrap: balance; }
p { text-wrap: pretty; }
img, svg, video, iframe { display: block; max-width: 100%; }
a { color: inherit; }
b, strong { font-weight: 700; }
button { font: inherit; }
:focus-visible { outline: 2px solid var(--mb-gold); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@keyframes mb-bounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(10px); } }

/* Lenis smooth scroll (desktop wheel only; skipped on the menu PDF page) */
html.lenis, html.lenis body { height: auto; }
html.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis:not(.lenis-autoToggle).lenis-stopped { overflow: clip; }
.lenis [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-smooth iframe { pointer-events: none; }
