/* ===== Fonts (lokal) ===== */
@font-face {
  font-family: "Unbounded";
  src: url("../assets/fonts/unbounded-latin-500-normal.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Unbounded";
  src: url("../assets/fonts/unbounded-latin-800-normal.woff2") format("woff2");
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Space Grotesk";
  src: url("../assets/fonts/space-grotesk-latin-400-normal.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Space Grotesk";
  src: url("../assets/fonts/space-grotesk-latin-700-normal.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}

/* ===== Palette / Tokens =====
   Partnerschafts-Farbwelt: Navy als neutrale Bühne, Best-in-Food-Grün
   für alle Shop-/Action-Rollen (CTAs, Chips, Headline-Gradients),
   STAR-Rot für die Marken-Momente (Sterne, Band, Exklusiv).
   Jede Kategorie-Welt bringt zusätzlich ihre Produkt-Akzente mit. */
:root {
  --bg-deep: #070B16;
  --cream: #F4F7FF;

  /* Best in Food */
  --bif-green: #71BF44;
  --bif-green-light: #8CC63F;
  --bif-green-dark: #5AA332;
  --bif-ink: #0B2306;

  /* STAR / Orlen */
  --star-red: #E30613;
  --star-red-bright: #FF4438;
  --star-yellow: #FFD600;

  --grad-brand: linear-gradient(92deg, var(--bif-green) 6%, var(--bif-green-light) 55%, var(--star-yellow) 100%);
  --grad-star: linear-gradient(92deg, var(--star-red) 10%, #FF5A3C 90%);

  /* Kategorie-Welten */
  --w-energy-bg: #0A0E1A;
  --w-snacks-bg: #23110A;
  --w-snacks-acc: #FF8A3D;
  --w-saucen-bg: #190D13;
  --w-saucen-acc: #FF5252;
  --w-wasser-bg: #EAF7FB;
  --w-wasser-ink: #0A2A3C;
  --w-wasser-acc: #00B0FF;

  --font-display: "Unbounded", system-ui, sans-serif;
  --font-body: "Space Grotesk", system-ui, sans-serif;
}

/* ===== Reset ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: auto; }

body {
  background: var(--bg-deep);
  color: var(--cream);
  font-family: var(--font-body);
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
}

img, canvas, video { display: block; max-width: 100%; }

a { color: inherit; text-decoration: none; }

/* STAR-rote Headline-Variante (Pendant zu .hl-grad in hero.css) —
   Gradient liegt auf Container UND Wort-Spans (Chromium-Falle). */
.hl-star,
.hl-star .hl-word,
.hl-star-static {
  background: var(--grad-star);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
/* Roter Stern für Lockups (Header, Intro) */
.star-glyph { color: var(--star-red-bright); -webkit-text-fill-color: var(--star-red-bright); }

/* ===== Header ===== */
.site-head {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 28px;
  mix-blend-mode: difference;
  pointer-events: none;
}
.wordmark {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 18px;
  letter-spacing: -0.02em;
  color: #fff;
}
.wordmark span { font-weight: 500; opacity: .85; text-transform: lowercase; }
.head-tag {
  font-size: 12px;
  letter-spacing: .28em;
  text-transform: uppercase;
  color: #fff;
  opacity: .8;
}

/* ===== noscript ===== */
.noscript-poster {
  min-height: 100vh;
  display: grid;
  place-content: center;
  gap: 16px;
  text-align: center;
  padding: 32px;
}
.noscript-poster h1 { font-family: var(--font-display); font-size: 64px; color: var(--bif-green); }
