/* Angestellt.er
   Farben: Tannengrün und Senf, Ketchup-Rot nur für den Stempel „Im Video“.
   Schriften: Big Shoulders Display für Überschriften und Zahlen, Figtree für Text, IBM Plex Mono für Beschriftungen. */

@font-face{font-family:"Big Shoulders Display";font-weight:800;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Big Shoulders Display";font-weight:800;font-display:swap;src:url(/assets/fonts/big-shoulders-display-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-weight:400;font-display:swap;src:url(/assets/fonts/figtree-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-weight:600;font-display:swap;src:url(/assets/fonts/figtree-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Figtree";font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Figtree";font-weight:700;font-display:swap;src:url(/assets/fonts/figtree-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-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+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-weight:400;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-weight:600;font-display:swap;src:url(/assets/fonts/ibm-plex-mono-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Farben ---------- */
:root{
  --paper:#F1F4EE;--card:#FFF;--field:#FBFCFA;
  --ink:#16301F;--ink-2:#2E4536;--muted:#5A6B5F;
  --line:#DCE2D8;--line-strong:#C3CCBF;
  --senf:#E3A62B;--senf-text:#8C5F00;--on-senf:#16301F;
  --ketchup:#BE3329;--live:#2E8B57;
  --btn:#1D4A33;--btn-fg:#FFF;
  --hl:rgba(227,166,43,.25);--hover:rgba(22,48,31,.035);--shadow:rgba(22,48,31,.35);
  --f-display:"Big Shoulders Display","Arial Narrow","Roboto Condensed",Impact,sans-serif;
  --f-body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root{
  --paper:#0F1A14;--card:#16231C;--field:#0F1A14;
  --ink:#E9EFE5;--ink-2:#C9D4C8;--muted:#97A99B;
  --line:#24342B;--line-strong:#33473B;
  --senf:#E9B23A;--senf-text:#EDBB4B;--on-senf:#13261A;
  --ketchup:#FF7468;--live:#5FD08A;
  --btn:#E9B23A;--btn-fg:#13261A;
  --hl:rgba(233,178,58,.22);--hover:rgba(233,239,229,.04);--shadow:rgba(0,0,0,.7);
  color-scheme:dark;
}}

/* ---------- Grundlagen ---------- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 1rem/1.55 var(--f-body)}
h1,h2,h3,p,ol,ul,dl,dd,address{margin:0}
a{color:inherit;text-decoration-color:var(--senf);text-decoration-thickness:2px;text-underline-offset:3px}
:focus-visible{outline:3px solid var(--senf);outline-offset:2px}
.sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:16px;top:-60px;z-index:2;padding:10px 14px;border-radius:6px;background:var(--btn);color:var(--btn-fg);font-weight:600}
.skip:focus{top:12px}

/* Überschriften und große Zahlen */
h1,h2,.done h3,.offer h3,.rank,.votes .n,dd,.steps li::before{font-family:var(--f-display);font-weight:800;line-height:1;letter-spacing:-.005em;text-wrap:balance}
h1{font-size:clamp(2.6rem,7vw,4.6rem);line-height:.95;max-width:16ch}
h2{font-size:clamp(1.9rem,1.6rem + 1.2vw,2.4rem)}
h3{font-size:1.1rem;font-weight:700;line-height:1.25}
/* Hervorhebung nur als Band hinter den Großbuchstaben, damit die Zeile darüber frei bleibt */
h1 mark{padding:0 .08em;color:var(--on-senf);background:linear-gradient(transparent .13em,var(--senf) .13em,var(--senf) 1.05em,transparent 1.05em);-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* Beschriftungen */
.eyebrow,dt,.opt,.tag,.status{font-family:var(--f-mono);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.meta,.note,.src,footer{font-family:var(--f-mono);font-size:.8rem;color:var(--muted)}
.lede{max-width:52ch;font-size:1.15rem;line-height:1.5;color:var(--ink-2)}
.fine{font-size:.82rem;line-height:1.45;color:var(--muted)}
code{padding:1px 6px;border-radius:3px;background:var(--hl);font:600 1em var(--f-mono)}

/* ---------- Seitenaufbau ---------- */
.wrap{max-width:1180px;margin:0 auto;padding:18px max(clamp(16px,4vw,32px),env(safe-area-inset-right,0px)) 40px max(clamp(16px,4vw,32px),env(safe-area-inset-left,0px))}
main{display:grid;gap:clamp(36px,5vw,56px)}
main>*{min-width:0}
.stack{display:grid;gap:16px}

/* Kopfzeile: auf dem Handy Logo und „Für Lokale“ oben, Menü darunter */
.top{display:flex;flex-wrap:wrap;align-items:center;gap:4px 20px;margin-bottom:clamp(28px,5vw,44px)}
.logo{padding:6px 0;font:800 1.8rem/1 var(--f-display);text-decoration:none}
.logo b{color:var(--senf-text)}
.nav{display:flex;flex-wrap:wrap;gap:0 18px;order:3;flex-basis:100%}
.nav a{padding:10px 0;border-bottom:2px solid transparent;color:var(--ink-2);font-weight:600;font-size:.95rem;text-decoration:none}
.nav a:hover{color:var(--ink);border-color:var(--line-strong)}
.nav a[aria-current=page]{color:var(--ink);border-color:var(--senf)}
.top .btn{margin-left:auto}
.top .btn[aria-current=page]{box-shadow:0 0 0 2px var(--paper),0 0 0 4px var(--senf)}
@media (min-width:640px){.nav{order:0;flex-basis:auto;margin-left:auto}.top .btn{margin-left:0}}

/* ---------- Knöpfe ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 20px;border:2px solid var(--btn);border-radius:6px;background:var(--btn);color:var(--btn-fg);font:600 1rem/1.15 var(--f-body);text-align:center;text-decoration:none;cursor:pointer;transition:filter .15s}
.btn:hover{filter:brightness(1.1)}
.btn:disabled{opacity:.6;cursor:progress}
.btn.ghost{border-color:var(--ink);background:transparent;color:var(--ink)}
.btn.senf{--btn:var(--senf);--btn-fg:var(--on-senf)}
.btn.sm{min-height:40px;padding:8px 14px;font-size:.95rem}
.btn.full{width:100%}
.cta{display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:519px){.cta .btn{flex:1 1 auto}}
.chip{display:inline-flex;align-items:center;gap:7px;min-height:44px;padding:0 14px;border:1.5px solid var(--line-strong);border-radius:6px;background:none;color:var(--ink);font:600 .92rem/1 var(--f-body);text-decoration:none;cursor:pointer}
.chip span{font:400 .78rem var(--f-mono);color:var(--muted)}
.chip[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}
.chip[aria-pressed=true] span{color:inherit;opacity:.75}
a.chip:hover{border-color:var(--senf);background:var(--senf);color:var(--on-senf)}
.linkbtn{padding:6px 0;border:0;background:none;color:var(--muted);font:inherit;font-size:.92rem;text-decoration:underline;cursor:pointer}

/* ---------- Kopfbereich je Seite ---------- */
.hero,.page-head{display:grid;gap:18px;padding-bottom:clamp(28px,4vw,36px);border-bottom:2px solid var(--ink)}
.hero h1{max-width:13ch;font-size:clamp(2.9rem,9vw,6rem)}
.page-head:only-child{padding-bottom:0;border-bottom:0}
.stats{display:flex;flex-wrap:wrap;gap:14px 36px}
.stats div{display:flex;flex-direction:column-reverse;gap:4px}
.stats dd{font-size:2.6rem;font-variant-numeric:tabular-nums}

/* Kasten für Lokale auf der Startseite */
.band{--ink:var(--on-senf);--muted:var(--on-senf);--btn:var(--on-senf);--btn-fg:var(--senf);display:flex;flex-wrap:wrap;align-items:center;gap:16px 28px;padding:22px 24px;border-radius:8px;background:var(--senf);color:var(--ink)}
.band>div:first-child{flex:1 1 320px;min-width:0}
.band .eyebrow{opacity:.75}
.band h2{margin:4px 0 6px;font-size:2.1rem}
.band p:last-child{max-width:60ch}

/* ---------- Startseite: Liste und Seitenspalte ---------- */
.grid{display:grid;gap:44px}
.side{display:grid;gap:36px;align-content:start}
@media (min-width:640px) and (max-width:959px){.side{grid-template-columns:1fr 1fr;align-items:start}}
@media (min-width:960px){.grid{grid-template-columns:minmax(0,1fr) 360px;gap:52px;align-items:start}}

#liste{container-type:inline-size}
.sec-head p{max-width:56ch;margin-top:8px;color:var(--muted)}
.src{display:flex;align-items:center;gap:8px;margin-top:12px!important}
.src::before{content:"";flex:none;width:8px;height:8px;border-radius:50%;background:var(--muted)}
.src.live::before{background:var(--live)}
.controls{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 14px}
.controls input{flex:1 1 240px;min-width:0;width:auto}
.chips{display:flex;flex-wrap:wrap;gap:6px}

.lined{padding:0;list-style:none;border-top:2px solid var(--ink)}
.lined>li{border-bottom:1px solid var(--line)}
.row{display:grid;grid-template-columns:2.8rem minmax(0,1fr) auto;grid-template-areas:"rank main plus" "rank sub plus";gap:8px 14px;align-items:center;padding:14px 4px}
.row:hover{background:var(--hover)}
.rank{grid-area:rank;align-self:start;font-size:1.6rem;color:var(--muted);font-variant-numeric:tabular-nums}
.row.podium .rank{font-size:2.3rem;color:var(--senf-text)}
.main{grid-area:main;min-width:0}
.name{font-size:1.08rem;overflow-wrap:anywhere}
.row.podium .name{font-size:1.2rem}
.meta{overflow-wrap:anywhere}
.name+.meta{margin-top:3px}
.sub{grid-area:sub;display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}
.votes{display:inline-flex;align-items:center;gap:9px}
.votes .n{font-size:1.35rem;font-variant-numeric:tabular-nums}
.tally{display:block}
.row.podium .tally{color:var(--senf-text)}
.status.video{padding:3px 7px;border:2px solid;border-radius:3px;color:var(--ketchup);font-weight:600;transform:rotate(-3deg)}
.plus{grid-area:plus;width:46px;height:46px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--card);color:var(--ink);font:700 1rem/1 var(--f-body);cursor:pointer}
.plus:hover{border-color:var(--senf);background:var(--senf);color:var(--on-senf)}
/* Eine Zeile pro Spot, sobald die Liste breit genug ist */
@container (min-width:600px){
  .row{grid-template-columns:3.4rem minmax(0,1fr) 7rem 7.5rem auto;grid-template-areas:"rank main votes status plus";padding:14px 6px}
  .rank{align-self:center}
  .sub{display:contents}
  .votes{grid-area:votes}
  .status{grid-area:status;justify-self:start}
}
.more{margin-top:16px}
.empty{display:grid;gap:12px;justify-items:start;padding:28px 4px;border-bottom:1px solid var(--line)}

.tg h2{font-size:1.7rem}
.tg .fine{margin-top:6px}
.tg ol{margin-top:12px}
.tg li{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;font:.88rem var(--f-mono)}
.tg li span:first-child{min-width:0;overflow-wrap:anywhere}
.tg li span:last-child{flex:none;color:var(--muted)}

/* ---------- Formulare auf dem „Zettel“ ---------- */
.bon{position:relative;padding:22px 22px 24px;border:1.5px solid var(--line-strong);border-radius:8px;background:var(--card);box-shadow:0 18px 36px -24px var(--shadow)}
.bon h2{margin-top:6px}
.perf{position:relative;margin:18px -22px 20px;border-top:1.5px dashed var(--line-strong)}
.perf::before,.perf::after{content:"";position:absolute;top:-10px;width:19px;height:19px;border:1.5px solid var(--line-strong);border-radius:50%;background:var(--paper)}
.perf::before{left:-11px;clip-path:inset(0 0 0 50%)}
.perf::after{right:-11px;clip-path:inset(0 50% 0 0)}
.hint{margin-bottom:16px;padding:10px 12px;border-radius:6px;background:var(--hl);font-size:.93rem;line-height:1.45}
form{display:grid;gap:16px}
.field{display:grid;gap:6px}
.field label,.choice legend{font-weight:600;font-size:.94rem}
:where(input:not([type=checkbox],[type=radio]),textarea){width:100%;padding:12px 14px;border:1.5px solid var(--line-strong);border-radius:6px;background:var(--field);color:var(--ink);font:inherit}
::placeholder{color:var(--muted);opacity:.85}
:where(input,textarea):focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--hl)}
textarea{min-height:88px;line-height:1.45;resize:vertical}
.req{color:var(--ketchup)}
.opt{margin-left:6px;font-weight:400}
.check,.choice label{display:flex;gap:10px;align-items:center;font-size:.94rem;line-height:1.35;cursor:pointer}
.check{align-items:flex-start;padding:6px 0}
:where(.check,.choice) input{flex:none;width:20px;height:20px;margin:0;accent-color:var(--btn)}
.choice{display:grid;gap:8px;min-width:0;margin:0;padding:0;border:0}
.choice legend{margin-bottom:8px;padding:0}
.choice label{min-height:44px;padding:10px 12px;border:1.5px solid var(--line-strong);border-radius:6px}
.choice label:has(:checked){border-color:var(--ink);background:var(--hl)}
.err{color:var(--ketchup);font-weight:600;font-size:.93rem}
.done{display:grid;gap:12px;justify-items:start}
.done:focus{outline:none}
.done h3{font-size:2.1rem}
.done p{color:var(--ink-2)}
.addr{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;padding:10px 14px;border:1.5px dashed var(--line-strong);border-radius:6px;font:.92rem var(--f-mono);overflow-wrap:anywhere}
.addr span{min-width:0;user-select:all}

/* ---------- Für Lokale ---------- */
.card{display:grid;gap:10px;align-content:start;padding:22px;border:1.5px solid var(--line-strong);border-radius:8px;background:var(--card)}
.intro{max-width:62ch;font-size:1.08rem;color:var(--ink-2)}
.clips{display:grid;gap:16px}
@media (min-width:560px){.clips{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1100px){.clips{grid-template-columns:repeat(4,1fr)}}
.clip .stats{gap:8px 22px;margin:6px 0 2px}
.clip dd{font-size:2rem}
.clip>a{justify-self:start;padding:10px 0;font-weight:700}
.offers{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}
.offer.featured{border:2px solid var(--ink);box-shadow:0 18px 36px -24px var(--shadow)}
.offer h3{font-size:2.8rem;font-variant-numeric:tabular-nums}
.offer ul{display:grid;gap:9px;padding:0;list-style:none}
.offer li{position:relative;padding-left:24px}
.offer li::before{content:"";position:absolute;left:3px;top:.42em;width:11px;height:6px;border-left:2px solid var(--senf-text);border-bottom:2px solid var(--senf-text);transform:rotate(-45deg)}
.offer .btn{margin-top:8px}
.two{display:grid;gap:40px}
@media (min-width:900px){.two{grid-template-columns:minmax(0,1fr) 380px;gap:56px;align-items:start}}
.steps{display:grid;gap:22px;padding:0;list-style:none;counter-reset:s}
.steps li{display:grid;grid-template-columns:3rem minmax(0,1fr);gap:4px 14px;counter-increment:s}
.steps li::before{content:counter(s);grid-row:span 2;font-size:2.4rem;line-height:.9;color:var(--senf-text)}
.steps p{color:var(--ink-2)}

/* ---------- Textseiten ---------- */
.prose{max-width:66ch}
.prose>*+*{margin-top:14px}
.prose>h2{margin-top:40px;font-size:clamp(1.5rem,1.2rem + 1.2vw,1.9rem)}
.prose>h2:first-child{margin-top:0}
.prose ul{padding-left:1.25em}
.prose li+li{margin-top:6px}
.prose address{font-style:normal}

/* ---------- Musik ---------- */
.listen{display:grid;gap:20px 32px;align-items:center}
@media (min-width:860px){.listen{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}}
.listen h2{margin-top:6px;font-size:2.6rem}
.listen .meta{margin:4px 0 12px}
.listen a{font-weight:700}
.yt{position:relative;width:100%;aspect-ratio:16/9;min-height:13rem;border-radius:8px;overflow:hidden;background:var(--ink);color:var(--paper)}
.yt>div{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:14px;padding:20px;text-align:center}
.yt p{max-width:46ch;font-size:.9rem;line-height:1.45}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.acts{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr))}
.act h2{font-size:2rem}
.platforms{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none}
.recs li{display:grid;gap:4px;padding:16px 2px}
.recs h3{font-size:1.08rem}
.tag{margin-left:8px;padding:2px 6px;border:1px solid var(--line-strong);border-radius:3px;vertical-align:2px;letter-spacing:.06em}

/* ---------- Fuß ---------- */
footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 28px;margin-top:64px;padding-top:10px;border-top:2px solid var(--ink)}
footer nav{display:flex;flex-wrap:wrap;gap:0 18px}
footer a{display:inline-block;padding:12px 0;color:var(--ink);text-decoration-color:var(--line-strong);text-decoration-thickness:1px}

@media (prefers-reduced-motion:reduce){*{transition:none!important}}
