/* The Bad Goats. Gig-Plakat: Asphalt, Knochen, Bockrot. Anton für Namen und Daten, Barlow für Text. Siehe DESIGN.md. */
@font-face { font-family: "Anton"; src: url(/assets/fonts/anton-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Barlow"; src: url(/assets/fonts/barlow-latin-400-normal.woff2) format("woff2"); font-weight: 400; font-display: swap; }
@font-face { font-family: "Barlow"; src: url(/assets/fonts/barlow-latin-500-normal.woff2) format("woff2"); font-weight: 500; font-display: swap; }
@font-face { font-family: "Barlow"; src: url(/assets/fonts/barlow-latin-700-normal.woff2) format("woff2"); font-weight: 700; font-display: swap; }

:root {
  --asphalt: #0e0d0c; --russ: #181716; --knochen: #efe8da; --grau: #a39c90; --linie: #34312d; --rot: #f0502a; --rot-d: #a8300f;
  --a1: 4px; --a2: 8px; --a3: 16px; --a4: 24px; --a5: 40px; --a6: 64px; --a7: 104px;
  --gut: clamp(16px, 4vw, 56px);
  --display: "Anton", Impact, "Arial Narrow Bold", sans-serif;
  --text: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--asphalt); color: var(--knochen); font: 400 1.0625rem/1.6 var(--text); overflow-x: hidden; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-underline-offset: .2em; text-decoration-thickness: 1px; }
a:hover { color: var(--rot); }
:focus-visible { outline: 3px solid var(--rot); outline-offset: 3px; }
h1, h2, h3 { font-family: var(--display); font-weight: 400; text-transform: uppercase; line-height: .98; letter-spacing: .01em; margin: 0 0 var(--a3); }
h1 { font-size: clamp(3rem, 9vw, 7rem); }
h2 { font-size: clamp(2rem, 5vw, 3.75rem); }
h3 { font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1.04; }
p { margin: 0 0 var(--a3); }
ul, ol { margin: 0; padding: 0; }
.wrap { width: min(100% - 2 * var(--gut), 1280px); margin-inline: auto; }
.skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: var(--rot); color: #000; padding: 10px 16px; font-weight: 700; }
.skip:focus { left: 8px; }
.klein, small { font-size: .9rem; color: var(--grau); }
.lead { font-size: clamp(1.1rem, 2vw, 1.4rem); color: var(--grau); max-width: 40em; }
.lesen { max-width: 46rem; }
.lesen a { color: var(--knochen); }
.lesen a:hover { color: var(--rot); }
.leer-text { font-size: 1.2rem; color: var(--grau); max-width: 36em; }

/* Knöpfe und Links */
.knopf { display: inline-flex; align-items: center; gap: 10px; font: 400 1.0625rem/1 var(--display); text-transform: uppercase; letter-spacing: .06em; padding: 18px 26px; background: var(--rot); color: #0e0d0c; border: 2px solid var(--rot); text-decoration: none; cursor: pointer; min-height: 52px; transition: background .18s, color .18s, border-color .18s; }
.knopf:hover { background: var(--knochen); border-color: var(--knochen); color: #0e0d0c; }
.knopf.hell { background: transparent; color: var(--knochen); border-color: var(--knochen); }
.knopf.hell:hover { background: var(--knochen); color: #0e0d0c; }
.knopf.dunkel { background: var(--asphalt); border-color: var(--asphalt); color: var(--knochen); }
.knopf.dunkel:hover { background: transparent; color: var(--asphalt); }
.knopf[disabled] { opacity: .6; cursor: wait; }
.leise { font: 700 .8125rem/1 var(--text); text-transform: uppercase; letter-spacing: .12em; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; padding: 6px 0; }
.leise:hover { color: var(--rot); }

/* Kopf */
.hinweisleiste { background: var(--rot); color: #0e0d0c; text-align: center; padding: 10px var(--gut); font-weight: 700; font-size: .95rem; }
.hinweisleiste a { color: #0e0d0c; }
.kopf { position: sticky; top: 0; z-index: 40; background: var(--asphalt); border-bottom: 1px solid var(--linie); }
.kopf-in { width: min(100% - 2 * var(--gut), 1280px); margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: var(--a4); min-height: 68px; }
.marke { display: flex; align-items: center; gap: 12px; text-decoration: none; font: 400 1.5rem/1 var(--display); letter-spacing: .02em; }
.marke img { width: 54px; height: auto; }
.marke:hover { color: var(--knochen); }
.nav ul { display: flex; gap: clamp(14px, 2.4vw, 36px); list-style: none; }
.nav a { font: 700 .8125rem/1 var(--text); text-transform: uppercase; letter-spacing: .14em; text-decoration: none; padding: 12px 2px; display: block; }
.nav a:hover, .nav a[aria-current] { color: var(--rot); }
.menue-knopf { display: none; align-items: center; gap: 10px; background: none; border: 0; color: var(--knochen); font: 700 .8125rem/1 var(--text); text-transform: uppercase; letter-spacing: .14em; padding: 14px 0 14px 14px; cursor: pointer; min-height: 48px; }
.menue-knopf i { width: 24px; height: 14px; display: block; background: linear-gradient(var(--knochen), var(--knochen)) 0 0 / 100% 2px no-repeat, linear-gradient(var(--knochen), var(--knochen)) 0 100% / 100% 2px no-repeat; }
@media (max-width: 899px) {
  .menue-knopf { display: inline-flex; }
  .nav { position: fixed; inset: 69px 0 0 0; background: var(--asphalt); padding: var(--a4) var(--gut) var(--a6); overflow-y: auto; transform: translateX(100%); visibility: hidden; transition: transform .22s ease, visibility 0s .22s; z-index: 39; }
  .nav.offen { transform: none; visibility: visible; transition: transform .22s ease; }
  .nav ul { flex-direction: column; gap: 0; }
  .nav a { font: 400 clamp(2.4rem, 11vw, 3.6rem)/1.1 var(--display); letter-spacing: .01em; padding: 10px 0; border-bottom: 1px solid var(--linie); }
  body:has(.nav.offen) { overflow: hidden; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }

/* Start: Plakat */
.hero-bild { position: relative; }
.hero-bild::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14,13,12,0) 45%, rgba(14,13,12,.55) 78%, var(--asphalt) 100%); pointer-events: none; }
::selection { background: var(--rot); color: #0e0d0c; }
html { scrollbar-color: var(--linie) var(--asphalt); }
.hero-bild img { width: 100%; height: clamp(360px, 64vh, 780px); object-fit: cover; object-position: 50% 42%; }
.hero-text { position: relative; margin-top: calc(-1 * clamp(2.4rem, 8.4vw, 8rem)); padding-bottom: var(--a5); }
.hero-claim { font: 700 clamp(.75rem, 1.6vw, 1rem)/1.4 var(--text); text-transform: uppercase; letter-spacing: .22em; margin: var(--a4) 0 0; max-width: 34em; }
.hero-name { font-size: clamp(5rem, 21vw, 18rem); line-height: .8; letter-spacing: -.005em; margin: 0; display: flex; flex-direction: column; }
.hero-name span:last-child { color: var(--rot); }

.klein-titel { font: 700 .8125rem/1 var(--text); letter-spacing: .2em; margin-bottom: var(--a4); text-transform: uppercase; }
.naechster { background: var(--knochen); color: var(--asphalt); padding: var(--a5) 0 var(--a6); }
.naechster a:hover { color: var(--rot-d); }
.nae-karte { display: grid; grid-template-columns: auto 1fr auto; gap: var(--a5); align-items: center; }
.nae-datum { display: flex; flex-direction: column; font-family: var(--display); text-transform: uppercase; line-height: .9; }
.nae-datum b { font-weight: 400; font-size: clamp(5.5rem, 14vw, 10rem); }
.nae-datum span { font-size: clamp(1.4rem, 3vw, 2.2rem); color: var(--rot-d); letter-spacing: .04em; }
.nae-datum small { font: 700 .8125rem/1.4 var(--text); letter-spacing: .12em; color: #4b463e; margin-top: var(--a2); }
.nae-text h3 { font-size: clamp(2rem, 5vw, 3.6rem); }
.nae-text p { font-size: 1.15rem; margin: 0; }
.nae-karte.leer { grid-template-columns: 1fr auto; }
.nae-karte.leer p { font-size: 1.4rem; max-width: 30em; margin: 0; }
.nae-weitere { list-style: none; display: flex; flex-wrap: wrap; gap: var(--a2) var(--a5); margin-top: var(--a5); font-weight: 600; }
.nae-weitere time { font-family: var(--display); color: var(--rot-d); margin-right: 6px; }
@media (max-width: 899px) { .nae-karte { grid-template-columns: 1fr; gap: var(--a4); } .nae-karte.leer { grid-template-columns: 1fr; } .naechster .knopf { justify-self: start; } }

.spruch { padding: var(--a7) 0; }
.spruch p { font: 400 clamp(1.9rem, 4.6vw, 4rem)/1.18 var(--display); text-transform: uppercase; max-width: 22em; margin: 0; }
mark { background: var(--rot); color: #0e0d0c; padding: .02em .14em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }

.abschnitt { padding: var(--a6) 0; }
.abschnitt.zwei-dicht { padding-top: 0; }
.zwei { display: grid; grid-template-columns: 1fr; gap: var(--a5); }
@media (min-width: 900px) { .zwei { grid-template-columns: 1.15fr 1fr; align-items: center; gap: var(--a6); } .abschnitt.mit-bild .zwei { grid-template-columns: 1fr 1.1fr; } }
.kopfzeile { display: flex; align-items: baseline; justify-content: space-between; gap: var(--a4); flex-wrap: wrap; margin-bottom: var(--a4); }
.kopfzeile h2 { margin: 0; }
.seitenkopf { padding: var(--a6) 0 var(--a4); }
.seitenkopf h1 { margin-bottom: var(--a3); }
.seitenkopf .knopf { margin-top: var(--a3); }
.weiter-unten { margin-top: var(--a6); }

/* News */
.news-liste { list-style: none; border-top: 1px solid var(--linie); }
.news-zeile { border-bottom: 1px solid var(--linie); }
.news-link.mit-bild { grid-template-columns: 1fr auto; } .news-link.mit-datum { grid-template-columns: 11rem 1fr; } .news-link.mit-datum.mit-bild { grid-template-columns: 11rem 1fr auto; }
.neu-track { margin: 0 0 var(--a4); max-width: 34rem; }
.news-link { display: grid; grid-template-columns: 1fr; gap: var(--a4); padding: var(--a4) 0; text-decoration: none; align-items: center; }
.news-datum { font: 700 .8125rem/1.3 var(--text); text-transform: uppercase; letter-spacing: .14em; color: var(--rot); }
.news-text h3 { margin: 0 0 var(--a2); }
.news-text span { color: var(--grau); display: block; max-width: 44em; }
.news-link:hover .news-text h3 { color: var(--rot); }
.news-bild img { width: 160px; height: 110px; object-fit: cover; filter: grayscale(.2); }
@media (max-width: 699px) { .news-link, .news-link.mit-bild, .news-link.mit-datum, .news-link.mit-datum.mit-bild { grid-template-columns: 1fr; gap: var(--a2); } .news-bild img { width: 100%; height: 180px; } }
.news-seite { padding: var(--a6) 0; }
.news-seite h1 { font-size: clamp(2.4rem, 7vw, 5.5rem); max-width: 14em; }
.news-seite .news-datum { margin-bottom: var(--a3); }
.news-foto { margin: var(--a5) 0; max-width: 56rem; }
.news-medien { margin: var(--a5) 0; display: grid; gap: var(--a4); max-width: 56rem; }
.news-nav { display: flex; justify-content: space-between; gap: var(--a4); margin-top: var(--a6); padding-top: var(--a4); border-top: 1px solid var(--linie); flex-wrap: wrap; }

/* Auftritte */
.termine { list-style: none; border-top: 1px solid var(--linie); }
.termin { display: grid; grid-template-columns: 9rem 1fr auto; gap: var(--a5); padding: var(--a5) 0; border-bottom: 1px solid var(--linie); scroll-margin-top: 90px; }
.termin-datum { display: flex; flex-direction: column; font-family: var(--display); text-transform: uppercase; line-height: .9; }
.termin-datum b { font-weight: 400; font-size: clamp(4.5rem, 9vw, 6.5rem); }
.termin-datum span { font-size: 1.6rem; color: var(--rot); letter-spacing: .04em; }
.termin-datum small { font: 700 .75rem/1.4 var(--text); letter-spacing: .12em; margin-top: var(--a2); }
.termin-text h3 { font-size: clamp(1.9rem, 4vw, 3rem); margin-bottom: var(--a2); }
.termin-orte { font-weight: 600; margin-bottom: var(--a2); }
.termin-beschr p { margin: 0 0 4px; color: var(--grau); }
.termin-eintritt { font-weight: 700; color: var(--rot); margin-top: var(--a2); }
.termin-bild img { width: 240px; height: 170px; object-fit: cover; }
@media (max-width: 799px) { .termin { grid-template-columns: 1fr; gap: var(--a3); } .termin-datum { flex-direction: row; align-items: baseline; gap: 12px; } .termin-datum b { font-size: 4.2rem; } .termin-datum small { margin: 0; } .termin-bild img { width: 100%; height: 200px; } }
.arch-jahr { margin-bottom: var(--a6); }
.arch-jahr h2 { color: var(--rot); }
.arch-gruppe { font-size: 1.4rem; margin: var(--a5) 0 var(--a3); color: var(--knochen); }
.arch-liste { list-style: none; border-top: 1px solid var(--linie); }
.arch-zeile { display: grid; grid-template-columns: 8.5rem 1fr; gap: var(--a4); padding: 14px 0; border-bottom: 1px solid var(--linie); }
.arch-datum { font: 700 .8125rem/1.5 var(--text); letter-spacing: .1em; text-transform: uppercase; color: var(--rot); padding-top: 3px; }
.arch-text b { font-weight: 700; }
.arch-ort { color: var(--grau); margin-left: 6px; }
.arch-beschr { display: block; color: var(--grau); }
.arch-beschr p { margin: 4px 0 0; max-width: 46em; }
@media (max-width: 599px) { .arch-zeile { grid-template-columns: 1fr; gap: 4px; } }

/* Media */
.tracks { display: grid; gap: var(--a3); max-width: 52rem; }
.track { background: var(--russ); padding: var(--a3) var(--a4); }
.track p { font: 400 1.35rem/1.1 var(--display); text-transform: uppercase; letter-spacing: .02em; margin: 0 0 var(--a2); }
audio { width: 100%; height: 44px; color-scheme: dark; }
.video-raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 22rem), 1fr)); gap: var(--a5) var(--a4); }
.video-kachel h3 { font-size: 1.35rem; margin: var(--a3) 0 var(--a2); }
.video-kachel p { color: var(--grau); }
.video-datei { width: 100%; background: #000; aspect-ratio: 16/9; }
.yt { position: relative; aspect-ratio: 16 / 9; background: var(--russ); overflow: hidden; }
.yt img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(.62); }
.yt iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.yt-knopf { position: absolute; inset: 0; width: 100%; background: none; border: 0; color: var(--knochen); cursor: pointer; display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; gap: 6px; padding: var(--a4); text-align: left; font: inherit; }
.yt-knopf:hover .yt-play { background: var(--knochen); }
.yt-play { width: 64px; height: 64px; background: var(--rot); position: relative; transition: background .18s; }
.yt-play::after { content: ""; position: absolute; left: 25px; top: 19px; border-left: 20px solid #0e0d0c; border-top: 13px solid transparent; border-bottom: 13px solid transparent; }
.yt-text { font: 400 1.4rem/1.1 var(--display); text-transform: uppercase; letter-spacing: .02em; }
.yt-knopf { padding-bottom: calc(var(--a3) + 1.6em) !important; }
.yt-hinweis { position: absolute; left: var(--a3); right: var(--a3); bottom: var(--a2); color: var(--knochen); font-size: .8rem; opacity: .85; z-index: 2; pointer-events: none; }
.yt-hinweis a { color: inherit; pointer-events: auto; }
.yt:has(iframe) .yt-hinweis { display: none; }

/* Galerie */
.foto-raster { list-style: none; columns: 1; column-gap: var(--a4); }
@media (min-width: 600px) { .foto-raster { columns: 2; } }
@media (min-width: 1000px) { .foto-raster { columns: 3; } }
.foto-raster li { break-inside: avoid; margin-bottom: var(--a4); }
.foto { display: block; width: 100%; padding: 0; border: 0; background: none; color: inherit; text-align: left; cursor: zoom-in; font: inherit; }
.foto img { width: 100%; height: auto; }
.foto:hover img { outline: 3px solid var(--rot); outline-offset: -3px; }
.foto-titel { display: block; padding-top: 8px; font: 700 .8125rem/1.3 var(--text); letter-spacing: .1em; text-transform: uppercase; color: var(--grau); }
.lb { border: 0; padding: 0; width: 100%; max-width: none; height: 100%; max-height: none; background: rgba(8, 7, 6, .97); color: var(--knochen); }
.lb::backdrop { background: #000; }
.lb[open] { display: grid; grid-template-columns: 64px 1fr 64px; align-items: center; }
.lb figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: var(--a3); padding: var(--a5) 0; max-height: 100vh; }
.lb img { max-height: 76vh; max-width: 100%; width: auto; object-fit: contain; }
.lb figcaption { max-width: 46rem; text-align: left; padding-inline: var(--a3); }
.lb figcaption b { font: 400 1.5rem/1.1 var(--display); text-transform: uppercase; display: block; margin-bottom: 6px; }
.lb figcaption span { color: var(--grau); }
.lb-zu { position: absolute; right: 16px; top: 8px; background: none; border: 0; color: var(--knochen); font-size: 3rem; line-height: 1; cursor: pointer; width: 56px; height: 56px; }
.lb-pfeil { background: none; border: 0; color: var(--knochen); font-size: 4rem; cursor: pointer; height: 100%; min-height: 200px; }
.lb-zu:hover, .lb-pfeil:hover { color: var(--rot); }
@media (max-width: 699px) { .lb[open] { grid-template-columns: 1fr; } .lb-pfeil { position: absolute; bottom: 8px; min-height: 0; height: 56px; width: 64px; font-size: 3rem; } .lb-zurueck { left: 8px; } .lb-weiter { right: 8px; } .lb figure { padding: 64px 0 80px; } }

/* Info */
.mitglieder { list-style: none; border-top: 1px solid var(--linie); }
.mitglieder li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 24px; padding: var(--a3) 0; border-bottom: 1px solid var(--linie); }
.mitglieder b { font: 400 clamp(1.9rem, 5vw, 3.4rem)/1 var(--display); text-transform: uppercase; }
.mitglieder span { color: var(--grau); font-weight: 600; text-transform: uppercase; letter-spacing: .1em; font-size: .85rem; }
.abschnitt.text .lesen h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
.abschnitt.presse .wrap { background: var(--russ); padding: var(--a5) clamp(20px, 5vw, 64px); }
.zitat-block blockquote { margin: 0; }
.zitat-block p { font: 400 clamp(2rem, 5.4vw, 4.6rem)/1.02 var(--display); text-transform: uppercase; max-width: 18em; margin: 0; color: var(--rot); }
.zitat-block footer { margin-top: var(--a3); color: var(--grau); }
.setliste { background: var(--knochen); color: var(--asphalt); padding: var(--a5) clamp(20px, 5vw, 56px) var(--a5) clamp(44px, 7vw, 80px); font: 700 1.1rem/1.5 var(--text); max-width: 56rem; }
.setliste li { padding: 3px 0 3px 6px; break-inside: avoid; }
.setliste li::marker { font-family: var(--display); font-weight: 400; color: var(--rot-d); }
@media (min-width: 760px) { .setliste { column-count: 2; column-gap: var(--a6); } }
.zeilen-block h2 { margin-bottom: var(--a4); }

/* Buchen, Newsletter */
.buchen-band { background: var(--rot); color: #0e0d0c; padding: var(--a6) 0; }
.buchen-band a:hover { color: #0e0d0c; }
.buchen-in h2 { font-size: clamp(2.4rem, 7vw, 5.5rem); max-width: 14em; }
.buchen-in p { font-size: 1.2rem; font-weight: 500; max-width: 34em; }
.buchen-knoepfe { display: flex; flex-wrap: wrap; gap: var(--a3); margin-top: var(--a4); }
.buchen-band .knopf { background: #0e0d0c; border-color: #0e0d0c; color: var(--knochen); }
.buchen-band .knopf:hover { background: transparent; color: #0e0d0c; }
.buchen-band .knopf.hell { background: transparent; color: #0e0d0c; }
.buchen-band .knopf.hell:hover { background: #0e0d0c; color: var(--knochen); }
.newsband { background: var(--russ); padding: var(--a6) 0; }
.newsband-in { display: grid; gap: var(--a5); }
@media (min-width: 900px) { .newsband-in { grid-template-columns: 1fr 1.2fr; gap: var(--a6); align-items: start; } }
.newsband h2 { font-size: clamp(1.8rem, 4vw, 3rem); }
.newsband p { color: var(--grau); max-width: 28em; }

/* Kontakt und Formulare */
.kontakt .zwei { align-items: start; }
.adresse { font-size: 1.15rem; }
.wege { list-style: none; display: grid; gap: var(--a2); margin-top: var(--a4); }
.wege a { display: flex; gap: 14px; text-decoration: none; padding: var(--a3) var(--a4); border: 1px solid var(--linie); background: var(--russ); }
.wege a:hover { border-color: var(--rot); color: var(--knochen); }
.wege b { display: block; font: 700 .75rem/1 var(--text); letter-spacing: .16em; text-transform: uppercase; color: var(--rot); margin-bottom: 6px; }
.wege span { font-size: 1.2rem; font-weight: 500; }
.kontaktform { display: grid; grid-template-columns: 1fr 1fr; gap: var(--a3) var(--a3); background: var(--russ); padding: clamp(20px, 4vw, 40px); }
.kontaktform .ganz, .form-titel { grid-column: 1 / -1; }
.form-titel { font-size: clamp(1.8rem, 3.5vw, 2.6rem); margin-bottom: 0; }
@media (max-width: 599px) { .kontaktform { grid-template-columns: 1fr; } }
.feld label, .legende { display: block; font: 700 .75rem/1.2 var(--text); text-transform: uppercase; letter-spacing: .14em; color: var(--grau); margin-bottom: 8px; padding: 0; }
.feld input, .feld textarea { width: 100%; font: 400 1.0625rem/1.4 var(--text); background: var(--asphalt); color: var(--knochen); border: 1px solid var(--linie); border-radius: 0; padding: 14px 14px; min-height: 52px; }
.feld textarea { resize: vertical; }
.feld input:focus, .feld textarea:focus { border-color: var(--rot); outline: 2px solid var(--rot); outline-offset: 0; }
.feld.ungueltig input, .feld.ungueltig textarea, .feld.ungueltig .zustimmung { border-color: var(--rot); outline: 2px solid var(--rot); }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.wahl { display: flex; flex-wrap: wrap; gap: 8px 8px; }
.wahl label { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--linie); padding: 12px 16px; min-height: 48px; cursor: pointer; font: 500 1rem/1.2 var(--text); text-transform: none; letter-spacing: 0; color: var(--knochen); margin: 0; }
.wahl label:has(input:checked) { border-color: var(--rot); background: var(--asphalt); }
.wahl input { accent-color: var(--rot); width: 18px; height: 18px; }
.zustimmung { display: flex; gap: 12px; align-items: flex-start; font: 400 .95rem/1.5 var(--text) !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--knochen) !important; }
.zustimmung input { width: 22px !important; height: 22px; min-height: 0 !important; margin-top: 3px; accent-color: var(--rot); flex: none; }
.honig { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }
.form-status { margin: 0; min-height: 1.5em; font-weight: 700; }
.form-status.fehler { color: var(--rot); }
.formular-erfolg { grid-column: 1 / -1; font-size: 1.25rem; padding: var(--a4); border: 2px solid var(--rot); }
.news-form { background: var(--asphalt); }
.news-form .knopf { background: var(--knochen); border-color: var(--knochen); color: #0e0d0c; }

.recht { max-width: 50rem; }
.recht h2 { font-size: clamp(1.4rem, 3vw, 2rem); margin-top: var(--a5); }
.recht p, .recht li { color: #d9d2c4; }
.linkliste { list-style: none; display: grid; gap: 10px; font-size: 1.2rem; }

/* Fuß */
.fuss { border-top: 1px solid var(--linie); margin-top: var(--a6); padding-top: var(--a6); }
.fuss-raster { display: grid; gap: var(--a5); grid-template-columns: 1fr; }
@media (min-width: 800px) { .fuss-raster { grid-template-columns: 1.3fr 1fr 1fr 1fr; } }
.fuss-marke img { width: min(240px, 60%); opacity: .95; }
.fuss-marke p { color: var(--grau); margin-top: var(--a3); font-weight: 700; text-transform: uppercase; letter-spacing: .12em; font-size: .8125rem; }
.fuss h2 { font: 700 .8125rem/1 var(--text); letter-spacing: .2em; margin-bottom: var(--a3); color: var(--rot); }
.fuss ul { list-style: none; display: grid; gap: 8px; }
.fuss a { text-decoration: none; }
.fuss a:hover { color: var(--rot); }
.fuss-links a { display: inline-flex; gap: 10px; align-items: center; }
.fuss-unten { display: flex; justify-content: space-between; gap: var(--a4); flex-wrap: wrap; padding: var(--a5) 0 var(--a5); color: var(--grau); font-size: .9rem; }
.fuss-unten ul { display: flex; gap: var(--a4); }
.krumen { display: none; }
.sr { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.lesen a.knopf, .lesen a.knopf:hover { color: #0e0d0c; }
.lesen a.knopf.hell { color: var(--knochen); }
.lesen a.knopf.hell:hover { color: #0e0d0c; }
