/*
Theme Name: Literarisches Kabarett
Theme URI: https://literarisches-kabarett.de
Author: Freunde und Förderer des Literarischen Kabaretts e. V.
Description: Website des Fördervereins im Corporate Design von Simon Schwade. Onepager mit Vorstand, Mitgliedschaft, Spenden und Satzung. Schriften lokal, keine Verbindungen zu Dritten.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: literarisches-kabarett
*/

/* Layout: ruhiges Register des Vereins-CD. Weiß und Bone Grey wechseln als bündige Flächen, Schwarz trägt Mitgliedschaft und Fuß, Rot nur im Logo und in der einen Hauptaktion. Das Muster steht einmal als Band unter dem Einstieg. */
@font-face{font-family:"EB Garamond";font-weight:400;font-style:normal;font-display:swap;src:url(assets/fonts/EBGaramond-Regular.woff2) format("woff2")}
@font-face{font-family:"EB Garamond";font-weight:600;font-style:normal;font-display:swap;src:url(assets/fonts/EBGaramond-SemiBold.woff2) format("woff2")}
:root{
  --schwarz:#000000; --racing-red:#e00202; --bone-grey:#cbc6b6; --weiss:#fefefc;
  --surface:var(--weiss); --surface-bone:var(--bone-grey); --surface-rot:var(--racing-red); --surface-schwarz:var(--schwarz);
  --ink:var(--schwarz); --ink-hell:var(--weiss); --akzent:var(--racing-red); --on-akzent:var(--weiss);
  --linie:var(--schwarz); --fokus:var(--schwarz); --fokus-hell:var(--weiss);
  --font-serif:"EB Garamond",Garamond,Georgia,serif;
  --font-sans:"Helvetica World","Helvetica Neue",Helvetica,Arial,sans-serif;
  --space-1:4px; --space-2:8px; --space-3:16px; --space-4:24px; --space-5:32px; --space-6:48px; --space-7:64px; --space-8:96px;
  --radius-0:0px; --radius-voll:50%; --strich-fein:1px; --strich-fokus:2px;
  --rand:clamp(16px,5vw,48px);
  --abschnitt:clamp(48px,8vw,96px);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
@media (min-width:800px){html{scroll-padding-top:96px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
body{margin:0;background:var(--surface);color:var(--ink);font:400 18px/1.5 var(--font-sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);background:var(--surface);z-index:60}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;font-style:normal;margin:0;text-wrap:balance}
p{margin:0}
a{color:inherit}
img{display:block;max-width:100%;height:auto}
:focus-visible{outline:var(--strich-fokus) solid var(--fokus);outline-offset:2px}
.sts-flaeche--rot :focus-visible,.sts-flaeche--schwarz :focus-visible{outline-color:var(--fokus-hell)}

/* Typografie nach tokens.json */
.titel,.kapitel,.ueberschrift,.unter-ueberschrift,.unterunter-ueberschrift{font-family:var(--font-serif);font-style:normal;text-wrap:balance}
.titel{font-size:clamp(48px,8vw,96px);line-height:.9}
.kapitel{font-size:clamp(40px,5.6vw,64px);line-height:1}
.ueberschrift{font-size:clamp(34px,4.2vw,47px);line-height:1.1}
.unter-ueberschrift{font-size:clamp(28px,3.2vw,37px);line-height:1.15}
.unterunter-ueberschrift{font-size:clamp(24px,2.6vw,29px);line-height:1.2;font-weight:400}
.label{font:700 17px/1.2 var(--font-sans)}
.klein{font:400 14px/1.45 var(--font-sans)}
.fett{font-weight:700}
.lesetext{max-width:36em}
.lesetext > * + *{margin-top:var(--space-3)}

/* Gerüst */
.wrap{max-width:1200px;margin-inline:auto;padding-left:max(var(--rand),env(safe-area-inset-left,0px));padding-right:max(var(--rand),env(safe-area-inset-right,0px))}
.abschnitt{padding-block:var(--abschnitt)}
.kopf-abschnitt{display:grid;gap:var(--space-3);margin-bottom:var(--space-6);max-width:40em}
.skip{position:absolute;left:var(--space-3);top:-100px;z-index:80;background:var(--schwarz);color:var(--weiss);padding:var(--space-2) var(--space-3);font:700 17px/1.2 var(--font-sans)}
.skip:focus{top:calc(var(--space-3) + env(safe-area-inset-top,0px))}

/* Flächen */
.sts-flaeche{background:var(--surface);color:var(--ink)}
.sts-flaeche--bone{background:var(--surface-bone);color:var(--ink)}
.sts-flaeche--schwarz{background:var(--surface-schwarz);color:var(--ink-hell)}

/* Kopfzeile */
.sts-kopf{background:var(--surface);border-bottom:var(--strich-fein) solid var(--linie)}
@media (min-width:800px){.sts-kopf{position:sticky;top:env(safe-area-inset-top,0px);z-index:50}}
.sts-kopf .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3) var(--space-5);padding-block:var(--space-3)}
.sts-kopf__logo{display:block;height:64px;width:auto}
.sts-kopf__nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4);font:700 17px/1.2 var(--font-sans)}
.sts-kopf__nav a:not(.sts-btn){color:var(--ink);text-decoration:none;padding:var(--space-2) 0;border-bottom:var(--strich-fokus) solid transparent}
.sts-kopf__nav a:not(.sts-btn):hover,.sts-kopf__nav a[aria-current]{border-bottom-color:var(--akzent)}

/* Button */
.sts-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 var(--space-4);border:var(--strich-fein) solid var(--schwarz);border-radius:var(--radius-0);background:var(--schwarz);color:var(--weiss);font:700 17px/1.2 var(--font-sans);text-decoration:none;cursor:pointer}
.sts-btn:hover{background:var(--weiss);color:var(--schwarz)}
.sts-btn--rot{background:var(--akzent);border-color:var(--akzent);color:var(--on-akzent)}
.sts-btn--rot:hover{background:var(--schwarz);border-color:var(--schwarz);color:var(--weiss)}
.sts-btn--linie{background:transparent;color:var(--ink)}
.sts-btn--linie:hover{background:var(--schwarz);color:var(--weiss)}
.sts-btn--hell{background:var(--weiss);border-color:var(--weiss);color:var(--schwarz)}
.sts-btn--hell:hover{background:var(--schwarz);border-color:var(--weiss);color:var(--weiss)}
.sts-flaeche--schwarz .sts-btn--linie{color:var(--weiss);border-color:var(--weiss)}
.sts-flaeche--schwarz .sts-btn--linie:hover{background:var(--weiss);color:var(--schwarz)}
.aktionen{display:flex;flex-wrap:wrap;gap:var(--space-3)}

/* Einstieg */
.einstieg .wrap{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--space-4) var(--space-6);align-items:end}
.einstieg h1{margin-top:var(--space-3)}
.einstieg .rechts{display:grid;gap:var(--space-4);align-content:end}
.band{display:block;width:100%;height:auto}
@media (max-width:860px){.einstieg .wrap{grid-template-columns:minmax(0,1fr)}}

/* Über uns */
.ueber{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:var(--space-5) var(--space-7);align-items:start}
.ueber .zeile{font:400 clamp(24px,2.8vw,29px)/1.25 var(--font-serif);font-weight:400}
.fakten{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-3) var(--space-4);margin:var(--space-5) 0 0;padding-top:var(--space-3);border-top:var(--strich-fein) solid var(--linie)}
.fakten div{display:grid;gap:var(--space-1);align-content:start}
.fakten dt{font:700 17px/1.2 var(--font-sans)}
.fakten dd{margin:0}
@media (max-width:860px){.ueber{grid-template-columns:minmax(0,1fr)}}

/* Karte */
.sts-karte{display:grid;grid-template-columns:minmax(0,1fr);background:var(--surface-bone);color:var(--ink);align-content:start}
.sts-karte--linie{background:var(--surface);border:var(--strich-fein) solid var(--linie)}
.sts-karte__inhalt{padding:var(--space-4)}
.sts-karte__inhalt > *{margin:0}
.sts-karte__inhalt > * + *{margin-top:var(--space-2)}
.sts-karte__link{display:inline-block;margin-top:var(--space-3);padding:0;border:0;background:none;color:var(--ink);font:700 17px/1.2 var(--font-sans);text-decoration:underline;text-decoration-thickness:var(--strich-fokus);text-underline-offset:5px;cursor:pointer}
.karten{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-4)}
.karten--drei{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1000px){.karten{grid-template-columns:repeat(2,minmax(0,1fr))}.karten--drei{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.karten,.karten--drei{grid-template-columns:minmax(0,1fr)}}
.mehr{margin-top:var(--space-2)}
.mehr > * + *{margin-top:var(--space-2)}

/* Vorstand */
.vorstand-liste{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-5) var(--space-4);list-style:none;margin:var(--space-6) 0 0;padding:0}
.vorstand-liste li{border-top:var(--strich-fein) solid var(--linie);padding-top:var(--space-3);display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--space-3);align-items:center}
.vorstand-liste .namen{display:grid;gap:var(--space-1);min-width:0}
.vorstand-liste .unterunter-ueberschrift{font-size:24px;line-height:1.15}
.portrait,.avatar{display:block;width:96px;height:96px;border-radius:var(--radius-voll);background:var(--bone-grey);object-fit:cover}
.avatar{display:grid;place-items:center;color:var(--ink);font:600 32px/1 var(--font-serif);letter-spacing:.02em}

/* Mitgliedschaft */
.mitglied{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6) var(--space-7);align-items:start}
.preis{display:grid;gap:var(--space-4)}
.preis .betrag{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3)}
.preis .betrag strong{font:600 clamp(64px,9vw,96px)/.9 var(--font-serif);font-variant-numeric:tabular-nums}
.vorteile{list-style:none;margin:0;padding:0}
.vorteile li{padding:var(--space-3) 0;border-top:var(--strich-fein) solid var(--weiss)}
.vorteile li:last-child{border-bottom:var(--strich-fein) solid var(--weiss)}
.schritte{list-style:none;margin:0 0 var(--space-5);padding:0;counter-reset:schritt}
.schritte li{counter-increment:schritt;display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) 0;border-top:var(--strich-fein) solid var(--weiss)}
.schritte li::before{content:counter(schritt);font:600 37px/1 var(--font-serif)}
.schritte h3{margin-bottom:var(--space-1)}
@media (max-width:860px){.mitglied{grid-template-columns:minmax(0,1fr)}}

/* Spenden */
.spenden{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:var(--space-6) var(--space-7);align-items:start}
.konto{background:var(--surface);color:var(--ink);border:var(--strich-fein) solid var(--linie);padding:var(--space-4);display:grid;gap:var(--space-3)}
.konto dl{margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-2) var(--space-4)}
.konto dt{font:700 17px/1.4 var(--font-sans)}
.konto dd{margin:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.konto .iban{font-weight:700;letter-spacing:.02em}
@media (max-width:860px){.spenden{grid-template-columns:minmax(0,1fr)}}

/* Kontakt */
.kontakt{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5) var(--space-4)}
.kontakt > div{border-top:var(--strich-fein) solid var(--linie);padding-top:var(--space-3);display:grid;gap:var(--space-2);align-content:start}
.textlink{color:var(--ink);text-decoration:underline;text-decoration-thickness:var(--strich-fokus);text-underline-offset:5px;overflow-wrap:anywhere}
@media (max-width:800px){.kontakt{grid-template-columns:minmax(0,1fr)}}

/* Fuß */
.fuss .wrap{display:grid;gap:var(--space-5);padding-block:var(--space-7) var(--space-5)}
.fuss__oben{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-6);justify-content:space-between;align-items:flex-start}
.fuss__logo{height:72px;width:auto}
.fuss__links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);list-style:none;margin:0;padding:0}
.fuss__links a,.fuss__links button{padding:0;border:0;background:none;color:var(--weiss);font:700 17px/1.2 var(--font-sans);text-decoration:underline;text-decoration-thickness:var(--strich-fokus);text-underline-offset:5px;cursor:pointer}
.fuss__unten{border-top:var(--strich-fein) solid var(--weiss);padding-top:var(--space-4);display:grid;gap:var(--space-1)}

/* Dialog */
.dlg{width:min(720px,calc(100% - 32px));max-height:calc(100% - 32px);padding:0;border:0;background:var(--surface);color:var(--ink)}
.dlg::backdrop{background:rgba(0,0,0,.72)}
.dlg__innen{padding:var(--space-5);display:grid;gap:var(--space-3)}
.dlg h3{margin-top:var(--space-3)}
.dlg p,.dlg li{font-size:17px}
.dlg ul{margin:0;padding-left:var(--space-4)}
.dlg .entwurf{font:700 17px/1.2 var(--font-sans)}
.dlg .offen{background:var(--bone-grey);padding:0 var(--space-1)}

/* Hinweis */
.hinweis{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));z-index:90;background:var(--schwarz);color:var(--weiss);padding:var(--space-3) var(--space-4);font:700 17px/1.3 var(--font-sans);max-width:calc(100% - 32px)}

/* Satzung */
.kopf-satzung{display:grid;gap:var(--space-3);padding-block:var(--space-7) var(--space-6)}
.zurueck{justify-self:start;color:var(--ink);font:700 17px/1.2 var(--font-sans);text-decoration:underline;text-decoration-thickness:var(--strich-fokus);text-underline-offset:5px}
.stand{max-width:36em}
.satzung{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:var(--space-7);align-items:start;padding-block:var(--space-7) var(--abschnitt)}
.toc{position:sticky;top:calc(96px + env(safe-area-inset-top,0px));align-self:start;max-height:calc(100vh - 128px);overflow:auto;padding-right:var(--space-2)}
.toc summary{font:700 17px/1.2 var(--font-sans);cursor:pointer;padding:var(--space-2) 0;border-bottom:var(--strich-fein) solid var(--linie)}
.toc ol{list-style:none;margin:0;padding:var(--space-2) 0 0}
.toc li a{display:grid;grid-template-columns:48px minmax(0,1fr);gap:var(--space-2);padding:var(--space-2) 0;color:var(--ink);text-decoration:none;font:400 15px/1.35 var(--font-sans)}
.toc li a:hover{text-decoration:underline;text-decoration-thickness:var(--strich-fokus);text-underline-offset:4px}
.toc__nr{font-weight:700}
.par{padding-block:var(--space-5);border-top:var(--strich-fein) solid var(--linie);scroll-margin-top:calc(96px + env(safe-area-inset-top,0px))}
.par:first-child{border-top:0;padding-top:0}
.par h2{margin:var(--space-1) 0 var(--space-4)}
.par__text{max-width:40em;display:grid;gap:var(--space-3)}
.par__text p{margin:0}
.abs,.buchst li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--space-2)}
.nr{font-weight:700;font-variant-numeric:tabular-nums}
.punkte,.buchst{margin:0;padding:0;list-style:none;display:grid;gap:var(--space-3)}
.punkte{padding-left:44px}
.punkte li{position:relative;padding-left:var(--space-4)}
.punkte li::before{content:"–";position:absolute;left:0}
.buchst{padding-left:0}
@media (max-width:860px){
  .satzung{grid-template-columns:minmax(0,1fr);gap:var(--space-5)}
  .toc{position:static;max-height:none;overflow:visible}
  .toc li a{font-size:17px}
}
@media (max-width:480px){.abs,.buchst li{grid-template-columns:36px minmax(0,1fr)}.punkte{padding-left:36px}}

/* WordPress */
body.admin-bar .sts-kopf{top:32px}
@media (max-width:782px){body.admin-bar .sts-kopf{top:46px}}
.screen-reader-text,.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.seite{padding-block:var(--space-7) var(--abschnitt)}
.inhalt{max-width:40em}
.inhalt > * + *{margin-top:var(--space-3)}
.inhalt h2{font-size:clamp(28px,3.2vw,37px);line-height:1.15;margin-top:var(--space-6)}
.inhalt h2:first-child{margin-top:0}
.inhalt h3{font-size:clamp(24px,2.6vw,29px);line-height:1.2;font-weight:400;margin-top:var(--space-5)}
.inhalt ul,.inhalt ol{padding-left:var(--space-5)}
.inhalt a{color:var(--ink);text-decoration:underline;text-decoration-thickness:var(--strich-fokus);text-underline-offset:5px}
.satzung-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
.nav-seiten{margin-top:var(--space-6)}
.nav-seiten .nav-links{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-3)}
.nav-seiten a,.nav-seiten span{display:inline-flex;min-height:48px;min-width:48px;align-items:center;justify-content:center;padding:0 var(--space-3);border:var(--strich-fein) solid var(--linie);color:var(--ink);text-decoration:none;font:700 17px/1.2 var(--font-sans)}
.nav-seiten .current{background:var(--schwarz);color:var(--weiss)}
