/* Local fonts – assets/fonts/... */

@font-face {
  font-family: "Federo";
  src: url("./fonts/01_federo/Federo-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src:
    url("./fonts/02_inter/Inter-VariableFont_opsz,wght.ttf") format("truetype-variations"),
    url("./fonts/02_inter/Inter-VariableFont_opsz,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Inter";
  src:
    url("./fonts/02_inter/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype-variations"),
    url("./fonts/02_inter/Inter-Italic-VariableFont_opsz,wght.ttf") format("truetype");
  font-weight: 100 900;
  font-style: italic;
  font-display: swap;
}

@font-face {
  font-family: "Spell Of Asia";
  src: url("./fonts/03_spell_of_asia/SpellOfAsia.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Safari (macOS) ↔ Chrome: gleiche Kantenglättung, keine synthetischen Schnitte */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  font-synthesis: none;
  font-optical-sizing: none;
}

/* Federo / Spell Of Asia: nur Regular – verhindert Faux-Bold in Safari */
:is(
  .hero__text h1,
  .section-title,
  .menu-deal__title,
  .menu-item__title,
  .menu-item__name,
  .story__title,
  .features__headline,
  .gallery__title,
  .qa__title,
  .dish-overlay__deal-title,
  .dish-overlay__section-title,
  .dish-overlay__name,
  .dish-overlay__num,
  .gate__title,
  .privacy-document h1,
  .privacy-document h2,
  .menu-item__num,
  .menu-item__price,
  .menu-deal__price,
  .dish-overlay__deal-price,
  .dish-overlay__price
) {
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
}

/* Inter: feste wght/opsz-Achse (Variable Font sonst browserabhängig) */
@supports (font-variation-settings: normal) {
  :where(
    body,
    .menu-item__desc,
    .menu-deal__desc,
    .hero__cta,
    .nav__link,
    .story__text,
    .qa__answer,
    .footer--site__text,
    .dish-overlay__desc,
    .dish-overlay__list,
    .privacy-document p,
    .privacy-document li,
    .gate__hint,
    .gate__label,
    .gate__input
  ) {
    font-variation-settings: "wght" 400, "opsz" 16;
  }

  :where(
    .menu-item__desc .menu-desc__accent,
    .dish-overlay__desc .menu-desc__accent,
    .dish-overlay__deal-desc .menu-desc__accent,
    .menu-item__desc .menu-desc__key,
    .dish-overlay__desc .menu-desc__key,
    .dish-overlay__deal-desc .menu-desc__key,
    .menu-item__desc .menu-desc__option,
    .dish-overlay__desc .menu-desc__option,
    .dish-overlay__deal-desc .menu-desc__option
  ) {
    font-variation-settings: "wght" 600, "opsz" 16;
  }

  :where(
    .menu-item__desc .menu-desc__label,
    .dish-overlay__desc .menu-desc__label,
    .dish-overlay__deal-desc .menu-desc__label
  ) {
    font-variation-settings: "wght" 400, "opsz" 16;
  }

  :where(
    .menu-item__desc .menu-desc__price,
    .dish-overlay__desc .menu-desc__price,
    .dish-overlay__deal-desc .menu-desc__price
  ) {
    font-variation-settings: "wght" 600, "opsz" 16;
  }

  :where(
    .hero__cta,
    .menu-deal__price-note,
    .menu-item__codes,
    .dish-overlay__codes,
    .menu-legend__item,
    .qa__question,
    .cookie-banner__text strong,
    .cookie-banner__btn,
    .cookie-banner__privacy-link,
    .privacy-overlay__fullpage,
    .privacy-document__updated,
    .dish-overlay__deal-price-note,
    .dish-overlay__section--allergens .dish-overlay__allergen-intro,
    .dish-overlay__allergen-tag,
    .dish-overlay__code-tag,
    .dish-overlay__code-tag-sep,
    .gate__submit,
    .gate__privacy-btn
  ) {
    font-variation-settings: "wght" 600, "opsz" 16;
  }

  :where(.footer__contact-item p) {
    font-variation-settings: "wght" 500, "opsz" 16;
  }

  :where(
    .nav__link--active,
    .menu-deal__eyebrow-text,
    .dish-overlay__deal-eyebrow-text,
    .dish-overlay__code-tag-key
  ) {
    font-variation-settings: "wght" 700, "opsz" 16;
  }
}
