/* WSG 81 – Wünsche aus der Mail vom 21.10.2026: Schriften, Vereinsfarben, Kopf mit neuem Wappen,
   niedrigeres Titelbild, Kontrast, Social Media, Mitgliedschaften, Verein, Virtueller Ansprechpartner.
   Wird auf jeder Seite nach styles.css geladen; styles.css selbst bleibt unverändert. */

/* Schriften: Roboto und Roboto Condensed (SIL Open Font License 1.1, siehe /assets/fonts/OFL.txt), lokal ausgeliefert */
@font-face{font-family:"WSG Roboto";src:url('fonts/Roboto-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto";src:url('fonts/Roboto-Medium.ttf') format('truetype');font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto";src:url('fonts/Roboto-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto";src:url('fonts/Roboto-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto";src:url('fonts/Roboto-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto";src:url('fonts/Roboto-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto Condensed";src:url('fonts/RobotoCondensed-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto Condensed";src:url('fonts/RobotoCondensed-Bold.ttf') format('truetype');font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto Condensed";src:url('fonts/RobotoCondensed-ExtraBold.ttf') format('truetype');font-weight:800;font-style:normal;font-display:swap}
@font-face{font-family:"WSG Roboto Condensed";src:url('fonts/RobotoCondensed-Black.ttf') format('truetype');font-weight:900;font-style:normal;font-display:swap}

/* Vereinsfarben laut Mail: Blau RGB 32/49/84 = #203154, Rot RGB 166/30/25 = #A61E19 */
:root{--blue:#203154;--deep:#203154;--red:#a61e19;--red-dunkel:#861812;--wsg-blau:#203154;--wsg-rot:#a61e19;
  --display:"WSG Roboto Condensed","Roboto Condensed","Arial Narrow",sans-serif;--body:"WSG Roboto",Roboto,Arial,sans-serif;
  --kopf:94px;--leiste:76px}
.hero h1,.page-title h1,.sport-detail-copy h1{font-weight:900;letter-spacing:-.01em}
.button.primary:hover{background:var(--red-dunkel)}
.button.white:hover{background:#e8ebf1}
.sport-photo:after{background:linear-gradient(transparent 60%,rgba(32,49,84,.3))}
.notice{background:#eceff5}
.notice strong{color:var(--blue)}
.file-type{border-color:#b7bfcd}
.lightbox{background:#17233d}
.lightbox::backdrop{background:rgba(16,24,42,.92)}
.campaign-hero .hero-shade{background:linear-gradient(90deg,rgba(32,49,84,.84) 0%,rgba(32,49,84,.46) 46%,rgba(32,49,84,.05) 80%),linear-gradient(0deg,rgba(32,49,84,.62),transparent 38%)}

/* Kopf: neues Wappen, rechts daneben „Dein Sportverein in Dahme-Spreewald“, Menüpunkt Kontakt */
.brand img{width:auto;height:72px;max-width:none;object-fit:contain}
.site-header .brand span{font-family:var(--display);font-size:14px;font-weight:800;line-height:1.15;letter-spacing:.03em;text-transform:uppercase;color:var(--blue)}
.footer-brand img{width:auto;height:96px;padding:8px}
.footer-brand span{font-family:var(--body)}
.site-header nav{gap:24px}
.site-header nav a{white-space:nowrap}

/* Kontrast: grauer Text auf blauem Grund im Kasten „Allgemeine Anliegen“ (vorher 1,07:1) */
.contact-overview>.general-contact p{color:#fff}
.contact-overview>.general-contact p.fine{color:#dfe4ee}
.contact-overview>.general-contact .wsg-folgt{color:#fff}

/* Titelbild: so hoch, dass die Leiste „Was hast du vor?“ ohne Bildlauf ganz sichtbar bleibt */
.campaign-hero{height:calc(100svh - var(--kopf) - var(--leiste));min-height:430px;max-height:720px}
.campaign-hero .hero-content{padding-top:clamp(22px,4.2svh,46px)}
.campaign-hero h1{font-size:clamp(60px,min(7vw,11.5svh),124px);line-height:.88;margin:clamp(14px,2.6svh,30px) 0 clamp(14px,2.6svh,28px)}
.campaign-hero .hero-bottom{bottom:20px;padding-top:14px}
.quick-start>a{padding-top:22px;padding-bottom:22px}

/* Platzhalter für Angaben, die der Verein noch liefert */
.wsg-folgt{display:inline-block;font-size:.78em;font-weight:700;letter-spacing:.04em;padding:2px 9px;border:1px dashed currentColor;border-radius:999px;color:var(--muted);white-space:nowrap;vertical-align:.08em}

/* Social Media im Fuß */
.wsg-social{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;padding:0 0 32px}
.wsg-social>p{margin:0;font-size:12px;font-weight:800;color:#fff}
.wsg-social-liste{display:flex;flex-wrap:wrap;gap:12px 24px;margin:0;padding:0;list-style:none}
.wsg-social-eintrag{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:#ccd3e0}
.wsg-social-eintrag svg{width:24px;height:24px}
.wsg-social-eintrag .wsg-folgt{color:#ccd3e0;font-size:10px}
a.wsg-social-eintrag:hover{color:#fff}

/* Mitgliedschaften */
.wsg-mitglied-kurz{display:flex;flex-wrap:wrap;align-items:center;gap:16px 36px;margin-top:50px;padding:26px 30px;background:var(--paper);border-left:4px solid var(--red)}
.wsg-mitglied-kurz .eyebrow{margin:0;color:var(--blue)}
.wsg-mitglied-kurz ul{display:flex;flex-wrap:wrap;gap:8px 30px;margin:0;padding:0;list-style:none;font-size:14px}
.wsg-mitglied-kurz strong{font-family:var(--display);font-size:22px;color:var(--blue);margin-right:6px}
.wsg-mitglied-kurz .text-link{margin-left:auto}
.wsg-beitraege{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px;margin:36px 0 26px}
.wsg-beitrag{border-top:3px solid var(--blue);background:var(--paper);padding:22px}
.wsg-beitrag h3{font-size:24px;margin:0 0 6px}
.wsg-beitrag strong{display:block;font-family:var(--display);font-size:36px;line-height:1.1;color:var(--blue);margin:10px 0 8px}
.wsg-beitrag p{font-size:13px;color:var(--muted);margin:0}
.wsg-beitrag small{font-size:12px;color:var(--muted)}
.wsg-abteilungsbeitraege{width:100%;max-width:760px;border-collapse:collapse;font-size:14px;margin:18px 0 10px}
.wsg-abteilungsbeitraege th,.wsg-abteilungsbeitraege td{text-align:left;padding:12px 10px 12px 0;border-bottom:1px solid var(--line);vertical-align:top}
.wsg-abteilungsbeitraege th{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.wsg-verbaende{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px;margin-top:26px}
.wsg-verband{border:1px solid var(--line);padding:24px}
.wsg-verband h3{font-size:26px;margin:0 0 8px}
.wsg-verband p{font-size:13px;color:var(--muted);margin:0}
.wsg-quelle{font-size:12px;color:var(--muted)}
.wsg-quelle a{color:var(--blue);text-decoration:underline}

/* Verein: Persönlichkeiten und Beauftragte */
.wsg-personen{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.wsg-person-platz{border:2px dashed #b7bfcd;padding:30px;display:grid;grid-template-columns:96px 1fr;gap:24px;align-items:center}
.wsg-person-platz svg{width:96px;height:96px;color:#b7bfcd}
.wsg-person-platz h3{font-size:30px;margin:0 0 10px}
.wsg-person-platz p{font-size:14px;color:var(--muted);margin:0 0 12px}
.wsg-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}
.wsg-chip{min-height:44px;padding:10px 18px;border:1px solid var(--blue);border-radius:999px;background:#fff;color:var(--blue);font:700 13px/1.2 var(--body);transition:background .2s,color .2s}
.wsg-chip:hover,.wsg-chip:focus-visible{background:var(--blue);color:#fff}
.wsg-karte{width:min(460px,calc(100vw - 32px));padding:32px;border:0;border-top:5px solid var(--blue);background:#fff;color:var(--ink);box-shadow:0 22px 60px rgba(32,49,84,.35)}
.wsg-karte::backdrop{background:rgba(32,49,84,.45)}
.wsg-karte h3{font-size:32px;margin:0 0 14px}
.wsg-karte p{font-size:14px;line-height:1.7;margin:0 0 14px}
.wsg-karte a:not(.button){color:var(--blue);text-decoration:underline}
.wsg-schliessen{position:absolute;top:10px;right:10px;width:44px;height:44px;border:0;background:transparent;font-size:28px;line-height:1;color:var(--ink)}

/* Virtueller Ansprechpartner: nur Oberfläche, in Vorbereitung, keine Anbindung */
.wsg-ki-knopf{position:fixed;right:20px;bottom:20px;z-index:40;display:inline-flex;align-items:center;gap:10px;height:56px;padding:0 22px 0 16px;border:0;border-radius:28px;background:var(--red);color:#fff;font:700 13px/1 var(--body);box-shadow:0 0 0 2px #fff,0 10px 26px rgba(32,49,84,.32);transition:opacity .2s,transform .2s,visibility .2s}
.wsg-ki-knopf:hover{background:var(--red-dunkel)}
.wsg-ki-knopf svg{width:26px;height:26px}
.wsg-ki-knopf.wsg-ki-warten{opacity:0;visibility:hidden;transform:translateY(12px)}
body.menu-open .wsg-ki-knopf,body.dialog-open .wsg-ki-knopf{display:none}
.wsg-ki-panel{position:fixed;inset:auto 20px 88px auto;margin:0;width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 120px);overflow:auto;padding:28px;border:0;border-top:5px solid var(--red);background:#fff;color:var(--ink);box-shadow:0 22px 60px rgba(32,49,84,.38)}
.wsg-ki-panel h2{font-size:34px;margin:6px 0 12px;padding-right:30px}
.wsg-ki-panel p{font-size:14px;line-height:1.7;margin:0 0 14px}
.wsg-ki-panel .eyebrow{margin:0;color:var(--red)}
.wsg-ki-panel label{display:block;font-size:12px;font-weight:700;margin:16px 0 6px}
.wsg-ki-panel textarea{display:block;width:100%;min-height:72px;padding:10px 12px;border:1px solid #c3c9d4;background:var(--paper);font:14px/1.5 var(--body);color:var(--muted);resize:none}
.wsg-ki-panel .wsg-ki-senden{margin-top:10px;width:100%;min-height:46px;border:0;background:#c3c9d4;color:#2b3442;font:700 13px var(--body);cursor:not-allowed}
.wsg-ki-wege{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:6px;font-size:13px;font-weight:700}
.wsg-ki-wege a{color:var(--blue);text-decoration:underline}
footer{padding-bottom:96px}

@media(min-width:1600px){.campaign-hero{max-height:760px}}
@media(max-width:1200px){.site-header .brand span{display:block;font-size:12px}
.site-header{gap:16px}
.site-header nav{gap:16px}
.site-header nav a{font-size:12px}}
@media(max-width:1100px){:root{--leiste:126px}}
@media(max-width:1024px){.site-header .brand span{display:none}}
@media(max-width:900px){:root{--kopf:80px}
.brand img{height:60px}
.site-header nav{gap:12px}
.site-header nav a{font-size:11px}
.wsg-ki-knopf{padding:0;width:56px;justify-content:center}
.wsg-ki-knopf .wsg-ki-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.wsg-personen{grid-template-columns:1fr}}
@media(min-width:901px) and (max-width:1000px){.site-header{gap:12px}
.site-header nav{gap:10px}
.site-header nav a{font-size:11.5px}}
@media(min-width:681px) and (max-width:800px){.site-header{gap:10px}
.site-header nav{gap:7px}
.site-header nav a{font-size:10px}}
@media(min-width:681px) and (max-width:740px){.site-header nav{gap:5px}
.site-header nav a{font-size:9.5px}
.brand img{height:52px}}
@media(max-width:680px){:root{--kopf:76px;--leiste:200px}
.brand img{height:56px}
.site-header .brand span{display:block;font-size:11px;max-width:120px;line-height:1.2}
.site-header nav a{font-size:22px}
.campaign-hero{min-height:420px;max-height:none}
.campaign-hero h1{font-size:clamp(52px,15.5vw,92px);line-height:.9}
.wsg-mitglied-kurz{padding:22px;margin-top:36px}
.wsg-mitglied-kurz .text-link{margin-left:0}
.wsg-person-platz{grid-template-columns:64px 1fr;padding:22px;gap:16px}
.wsg-person-platz svg{width:64px;height:64px}
.wsg-person-platz h3{font-size:26px}
.wsg-ki-knopf{right:16px;bottom:16px}
.wsg-ki-panel{inset:auto 16px 84px 16px;width:auto}
.wsg-karte{padding:28px 22px}}
@media(max-width:360px){.site-header .brand span{display:none}}
@media(prefers-reduced-motion:reduce){.wsg-ki-knopf{transition:none}}
