/* menu-sans.css — DM Sans theme: modern café
 * Clean geometric sans-serif. Tighter tracking, larger body text, confident
 * weight contrast. Still black-on-white, still font-driven only.
 */

/* ── Self-hosted fonts: DM Sans (latin + latin-ext for Polish diacritics) ─── */

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/dm-sans-latin-ext-400-normal.woff2') format('woff2');
  /* Polish diacritics: ą ć ę ł ń ó ś ź ż */
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('/fonts/dm-sans-latin-400-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/dm-sans-latin-ext-700-normal.woff2') format('woff2');
  unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB,
                 U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'DM Sans';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('/fonts/dm-sans-latin-700-normal.woff2') format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6,
                 U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122,
                 U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── Typography — Sans / DM Sans (modern café) ───────────────────────────────
 * Voice: section heads stay sentence-case and let WEIGHT do the work (no
 * uppercase, no wide tracking). Web px scale per design/DESIGN-GUEST-MENU.md.
 */

body {
  font-family: 'DM Sans', system-ui, -apple-system, sans-serif;
  font-size: 1rem;       /* 16px item baseline */
  line-height: 1.5;
}

/* Masthead: 34px / 600 / track -.01em */
h1 {
  font-size: 2.125rem;
  font-weight: 600;
  letter-spacing: -0.01em;
}

/* Section head: 17px / 700 / sentence case / track -.01em (weight + size carry it).
 * Bumped from 15px: a sentence-case head must read LARGER than the 16px item name,
 * not just heavier, or it looks like another dish. 17px/700 sits clearly above the
 * 16px/600 names. Still one ink, no uppercase — that's this theme's voice. */
h2 {
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
}

/* Item name: 16px / 600 */
h3 {
  font-size: 1rem;
  font-weight: 600;
}

/* Price: 16px / 500 tabular — lets the item name keep weight dominance */
.menu-item-price {
  font-size: 1rem;
  font-weight: 500;
}

/* Description: 14px / 400 */
.menu-item-description {
  font-size: 0.875rem;
  font-weight: 400;
  line-height: 1.5;
}

/* Allergens: 12px / 400 */
.menu-item-allergens {
  font-size: 0.75rem;
  font-weight: 400;
}

/* Attribution: quiet tracked small-caps, weight 500 */
.menu-attribution small {
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}
