/* =========================================================================
   Toni's Hähnchengrill - Landingpage, Fassung 06.08.2026
   Stil: Marktplakat. Kondensierte Plakatschrift, Signalrot vom Grillwagen,
   helles Papier, große Fotos. Bewusst weg von der dunklen Glut-Fassung.
   Eine Akzentfarbe (Signalrot), ein Radius-System (0 = alles kantig,
   wie Anschlagzettel), ein Thema je Modus.
   ========================================================================= */

@font-face{font-family:PlakatLokal;src:url(schrift/saira-condensed-800.woff2?v=20260806d) format('woff2');
  font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:PlakatLokal;src:url(schrift/saira-condensed-600.woff2?v=20260806d) format('woff2');
  font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:TextLokal;src:url(schrift/figtree-400.woff2?v=20260806d) format('woff2');
  font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:TextLokal;src:url(schrift/figtree-500.woff2?v=20260806d) format('woff2');
  font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:TextLokal;src:url(schrift/figtree-600.woff2?v=20260806d) format('woff2');
  font-weight:600;font-style:normal;font-display:swap}

:root{
  --papier:#f7f6f3;
  --papier-2:#ffffff;
  --tinte:#17161a;          /* 16,7:1 auf Papier */
  --gedaempft:#55535c;      /* 7,0:1 auf Papier */
  --rot:#d8281c;            /* Wagenrot. Weiß darauf 4,95:1 */
  --rot-text:#a81a10;       /* 6,9:1 auf Papier, für Rot als Schrift */
  --kante:#dedbd4;
  --kante-stark:#17161a;
  --schatten:0 18px 50px rgba(23,22,26,.10);
  --rand:clamp(1.1rem,4vw,3.5rem);
  --breite:1320px;
}

@media (prefers-color-scheme:dark){
  :root{
    --papier:#141317;
    --papier-2:#1c1b20;
    --tinte:#f2f0ec;        /* 16,3:1 */
    --gedaempft:#a5a2ac;
    --rot:#ef4a3c;          /* 5,0:1 auf Dunkel */
    --rot-text:#f05a4a;
    --kante:#302e36;
    --kante-stark:#f2f0ec;
    --schatten:0 18px 50px rgba(0,0,0,.5);
  }
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  margin:0;background:var(--papier);color:var(--tinte);
  font-family:TextLokal,system-ui,sans-serif;font-size:clamp(1rem,.97rem + .2vw,1.09rem);
  line-height:1.62;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit}

h1,h2,h3,.plakat{
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;
  text-transform:uppercase;letter-spacing:.005em;line-height:.94;margin:0;
}
h1{font-size:clamp(2.6rem,1.2rem + 4.4vw,4.9rem)}
h2{font-size:clamp(2.1rem,1.3rem + 3.4vw,4rem)}
h3{font-size:clamp(1.25rem,1.1rem + .7vw,1.7rem);line-height:1.02}
p{margin:0 0 1rem}
.fuehrung{max-width:62ch}
.marke{
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:600;text-transform:uppercase;
  letter-spacing:.14em;font-size:.86rem;color:var(--rot-text);display:block;margin-bottom:.7rem;
}

.huelle{max-width:var(--breite);margin-inline:auto;padding-inline:var(--rand)}
.band{padding-block:clamp(3.6rem,2rem + 6vw,7rem)}
.band--papier2{background:var(--papier-2)}
.sprung{position:absolute;left:-9999px}
.sprung:focus{left:1rem;top:1rem;position:fixed;z-index:99;background:var(--rot);color:#fff;padding:.7rem 1rem}

/* ── Kopfleiste ─────────────────────────────────────────────────────────── */
.kopf{
  position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--papier) 92%,transparent);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--kante);
}
.kopf__innen{
  max-width:var(--breite);margin-inline:auto;padding:.85rem var(--rand);
  display:flex;align-items:center;gap:1.6rem;min-height:64px;
}
.wortmarke{
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:1.35rem;letter-spacing:.01em;text-decoration:none;line-height:1;white-space:nowrap;
}
.wortmarke i{color:var(--rot-text);font-style:normal}
.wege{display:none;gap:1.5rem;margin-left:auto;font-size:.95rem;font-weight:500}
.wege a{text-decoration:none;padding-block:.3rem;border-bottom:2px solid transparent}
.wege a:hover,.wege a:focus-visible{border-bottom-color:var(--rot)}
.ruf{
  margin-left:auto;background:var(--rot);color:#fff;text-decoration:none;font-weight:600;
  padding:.62rem 1.05rem;white-space:nowrap;font-size:.95rem;
}
.wege + .ruf{margin-left:0}
.ruf:hover{background:var(--rot-text)}
@media (min-width:900px){.wege{display:flex}}

/* ── Knöpfe ─────────────────────────────────────────────────────────────── */
.knopf,.knopf--leer{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-family:TextLokal,sans-serif;font-weight:600;font-size:1rem;line-height:1.1;
  padding:.95rem 1.5rem;text-decoration:none;white-space:nowrap;border:2px solid var(--rot);
  transition:transform .12s ease,background-color .18s ease,color .18s ease;
}
.knopf{background:var(--rot);color:#fff}
.knopf:hover{background:var(--rot-text);border-color:var(--rot-text)}
.knopf--leer{background:transparent;color:var(--tinte);border-color:var(--kante-stark)}
.knopf--leer:hover{background:var(--kante-stark);color:var(--papier)}
.knopf:active,.knopf--leer:active{transform:translateY(1px)}
.knopfreihe{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.9rem}

/* ── Aufmacher ──────────────────────────────────────────────────────────── */
.auf{padding-block:clamp(2.2rem,1rem + 4vw,4.4rem) clamp(3rem,2rem + 4vw,5.5rem)}
.auf__gitter{display:grid;gap:clamp(1.8rem,4vw,3.4rem);align-items:center}
@media (min-width:960px){.auf__gitter{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr)}}
.auf h1 span{color:var(--rot-text);display:block}
.auf p{font-size:clamp(1.05rem,1rem + .35vw,1.22rem);color:var(--gedaempft);max-width:34ch;margin-top:1.3rem}
.auf__bild{position:relative}
.auf__bild img{width:100%;aspect-ratio:4/3;object-fit:cover}
.auf__stempel{
  position:absolute;left:0;bottom:0;background:var(--rot);color:#fff;
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(1rem,.9rem + .5vw,1.35rem);line-height:1;padding:.8rem 1.1rem;letter-spacing:.02em;
}

/* ── Wochenplan ─────────────────────────────────────────────────────────── */
.plan{border-top:3px solid var(--kante-stark);border-bottom:3px solid var(--kante-stark)}
.plan__kopf{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem}
.plan__tage{display:flex;flex-wrap:wrap;gap:.55rem;margin:2rem 0 0}
.tag{
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(1rem,.9rem + .5vw,1.3rem);letter-spacing:.02em;
  padding:.6rem 1.15rem;border:2px solid var(--kante);background:transparent;color:var(--tinte);
  cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease;
}
.tag:hover{border-color:var(--kante-stark)}
.tag[aria-selected="true"]{background:var(--rot);border-color:var(--rot);color:#fff}
.tag em{font-style:normal;font-size:.62em;display:block;letter-spacing:.1em;opacity:.75;font-weight:600}
.plan__orte{
  margin-top:2.2rem;display:grid;gap:0 2.2rem;
  grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));
  border-top:1px solid var(--kante);
}
.ort{
  padding:1.05rem 0;border-bottom:1px solid var(--kante);
  display:flex;flex-direction:column;gap:.15rem;min-width:0;
}
.ort b{
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(1.3rem,1.05rem + .8vw,1.75rem);line-height:1.02;
  overflow-wrap:anywhere;hyphens:auto;
}
.ort span{color:var(--gedaempft);font-size:.88rem}
.plan__fein{margin-top:1.6rem;color:var(--gedaempft);font-size:.95rem;max-width:60ch}

/* ── Zahlenband (Catering-Bedingungen) ──────────────────────────────────── */
.catering__gitter{display:grid;gap:clamp(1.8rem,4vw,3.2rem)}
@media (min-width:960px){.catering__gitter{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
.catering__bild img{width:100%;aspect-ratio:16/10;object-fit:cover}
.zahlen{display:grid;gap:0;margin-top:1.8rem;border-top:1px solid var(--kante)}
.zahl{padding:1.15rem 0;border-bottom:1px solid var(--kante);display:flex;align-items:baseline;gap:1rem}
.zahl b{
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;color:var(--rot-text);
  font-size:clamp(2rem,1.5rem + 1.8vw,3rem);line-height:.9;min-width:5.2ch;
}
.zahl span{color:var(--gedaempft);font-size:.98rem}
.zahl span b{all:unset;font-weight:600;color:var(--tinte)}

/* ── Karte / Speisen ────────────────────────────────────────────────────── */
.speisen{display:grid;gap:1px;background:var(--kante);margin-top:2.4rem;
  grid-template-columns:minmax(0,1fr)}
@media (min-width:640px){.speisen{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1040px){.speisen{grid-template-columns:repeat(4,minmax(0,1fr))}}
.speise{background:var(--papier);padding:1.5rem 1.3rem 1.7rem;display:flex;flex-direction:column;gap:.45rem}
.speise b{
  font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;text-transform:uppercase;
  font-size:clamp(1.3rem,1.1rem + .8vw,1.75rem);line-height:1;
}
.speise span{color:var(--gedaempft);font-size:.94rem;line-height:1.5}
.speise--bild{padding:0}
.speise--bild img{width:100%;height:100%;min-height:210px;object-fit:cover}
.speise--rot{background:var(--rot);color:#fff}
.speise--rot span{color:rgba(255,255,255,.9)}

/* ── Haltung / Qualität ─────────────────────────────────────────────────── */
.haltung{background:var(--kante-stark);color:var(--papier)}
.haltung h2{max-width:18ch}
.haltung p{color:color-mix(in srgb,var(--papier) 78%,transparent);max-width:56ch;margin-top:1.4rem}
.haltung .marke{color:var(--rot)}
@media (prefers-color-scheme:dark){
  .haltung{background:var(--papier-2);color:var(--tinte)}
  .haltung p{color:var(--gedaempft)}
}
.belege{display:grid;gap:1.6rem 2.4rem;margin-top:2.8rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.beleg b{display:block;font-family:PlakatLokal,'Arial Narrow',sans-serif;font-weight:800;
  text-transform:uppercase;font-size:1.15rem;margin-bottom:.35rem}
.beleg span{font-size:.95rem;opacity:.82;line-height:1.55}

/* ── Zuschriften ────────────────────────────────────────────────────────── */
.stimmen{display:grid;gap:2rem;margin-top:2.6rem;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.stimme{border-top:3px solid var(--rot);padding-top:1.2rem}
.stimme p{font-size:1.06rem;line-height:1.55}
.stimme cite{font-style:normal;color:var(--gedaempft);font-size:.92rem;display:block}

/* ── Kontakt ────────────────────────────────────────────────────────────── */
.kontakt__gitter{display:grid;gap:clamp(1.8rem,4vw,3.2rem)}
@media (min-width:960px){.kontakt__gitter{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)}}
.daten{display:grid;gap:0;margin-top:1.6rem;border-top:1px solid var(--kante)}
.daten div{padding:1rem 0;border-bottom:1px solid var(--kante);display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.daten dt{font-weight:600;min-width:8.5rem;margin:0}
.daten dd{margin:0;color:var(--gedaempft)}
.daten a{color:var(--rot-text);text-decoration:underline;text-underline-offset:3px}
.merkzettel{background:var(--papier-2);border:1px solid var(--kante);padding:1.6rem 1.5rem}
.merkzettel ul{margin:1rem 0 0;padding-left:1.1rem;color:var(--gedaempft)}
.merkzettel li{margin-bottom:.45rem}

/* ── Fuß ────────────────────────────────────────────────────────────────── */
.fuss{border-top:1px solid var(--kante);padding-block:2.4rem 3rem;font-size:.92rem;color:var(--gedaempft)}
.fuss__innen{display:flex;flex-wrap:wrap;gap:1rem 2rem;justify-content:space-between;align-items:center}
.fuss a{color:inherit}

/* ── Bewegung: nur Einblenden, nur wenn gewünscht ───────────────────────── */
/* Der versteckte Zustand gilt NUR, wenn das Skript ihn selbst setzt (html.js).
   Ohne JavaScript, bei Fehlern oder im Druck bleibt jeder Abschnitt sichtbar. */
@media (prefers-reduced-motion:no-preference){
  html.js .auf-ein{opacity:0;transform:translateY(18px);
    transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}
  html.js .auf-ein.da{opacity:1;transform:none}
}

:focus-visible{outline:3px solid var(--rot);outline-offset:3px}
