/*
Theme Name: Cannabis-Konkret Custom
Description: Schlankes Custom-Theme für cannabis-konkret.de, portiert aus dem statischen Referenz-Design (12 HTML-Dateien). Rendert front-page.php für die Startseite und page.php für alle Unterseiten. Elementor bleibt installiert, wird von diesem Theme aber nicht verwendet.
Author: Apotheke LUX 99
Version: 1.10
Text Domain: cannabis-konkret
*/

/**
 * Lokal gehostete Google Fonts (Audit 2026-08-31): ersetzt den externen
 * Link zu fonts.googleapis.com. Nur die für eine deutschsprachige Seite
 * nötigen Subsets "latin" + "latin-ext" (deckt äöüß und alle gängigen
 * europäischen Sonderzeichen ab) — cyrillic/greek/vietnamese etc. bewusst
 * weggelassen, das wären sonst 51 statt 8 Font-Dateien. Alle drei Schriften
 * sind Variable Fonts, daher genügt je eine Datei pro Subset+Stil mit
 * font-weight-Bereich statt einer Datei pro Schnitt.
 * Performance- UND DSGVO-Gewinn: keine Verbindung zu Google mehr beim
 * Seitenaufruf (LG München I, 20.01.2022, Az. 3 O 17493/20).
 */
@font-face{
  font-family:'Newsreader';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('assets/fonts/newsreader-normal-latin.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:'Newsreader';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('assets/fonts/newsreader-normal-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Newsreader';
  font-style:italic;
  font-weight:400 500;
  font-display:swap;
  src:url('assets/fonts/newsreader-italic-latin.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:'Newsreader';
  font-style:italic;
  font-weight:400 500;
  font-display:swap;
  src:url('assets/fonts/newsreader-italic-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Manrope';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/manrope-latin.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:'Manrope';
  font-style:normal;
  font-weight:400 800;
  font-display:swap;
  src:url('assets/fonts/manrope-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:'Outfit';
  font-style:normal;
  font-weight:500 700;
  font-display:swap;
  src:url('assets/fonts/outfit-latin.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:'Outfit';
  font-style:normal;
  font-weight:500 700;
  font-display:swap;
  src:url('assets/fonts/outfit-latin-ext.woff2') format('woff2');
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

:root{
  --paper:#FAFBF6;
  --paper-alt:#EEF5E9;
  --ink:#1F2E22;
  --ink-soft:#5B6B53;
  --green:#6FA35C;
  /* --green-deep/--green-darker/--contrast-deep 2026-08-31 (SEO/A11y-Audit):
     leicht abgedunkelt, damit Text auf --paper/--paper-alt WCAG-AA (4.5:1)
     erreicht (vorher 2.19–4.31:1). Farbwirkung bleibt erkennbar gleich. */
  --green-deep:#46743D;
  --green-darker:#2B4A26;
  --contrast:#F2B84E;
  --contrast-deep:#865D18;
  --line:rgba(31,46,34,0.13);
  --radius:18px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:auto;}
section[id]{scroll-margin-top:120px;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Manrope',-apple-system,BlinkMacSystemFont,sans-serif;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
.container{max-width:1180px;margin:0 auto;padding:0 28px;}
h1,h2,h3{
  font-family:'Newsreader',Georgia,serif;
  font-weight:500;
  color:var(--ink);
  letter-spacing:-0.01em;
}
em{font-style:normal;color:var(--green-deep);}
.eyebrow{
  font-family:'Manrope',sans-serif;
  font-size:12.5px;
  letter-spacing:0.14em;
  text-transform:uppercase;
  color:var(--green-deep);
}
.mono{font-family:'Manrope',sans-serif;}

/* Buttons */
.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 26px;
  border-radius:999px;
  font-weight:700;
  font-size:15px;
  border:1px solid transparent;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.btn-gold{background:var(--contrast); color:var(--green-darker);}
.btn-gold:hover{background:var(--contrast-deep); transform:translateY(-1px);}
.btn-outline{background:transparent; border-color:var(--line); color:var(--ink);}
.btn-outline:hover{border-color:var(--contrast-deep); color:var(--contrast-deep);}
.btn-small{padding:10px 18px; font-size:13.5px;}

/* Nav */
header{
  position:sticky; top:0; z-index:60;
  background:rgba(250,251,246,0.86);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex; align-items:center; justify-content:space-between; padding:18px 0; flex-wrap:wrap; row-gap:12px;}
.logo{
  font-family:'Outfit',sans-serif;
  font-size:44px;
  font-weight:600;
  color:var(--green-deep);
  transition:color .15s ease;
}
.logo:hover{color:var(--contrast-deep);}
.nav-links{display:flex; gap:32px; font-size:14.5px; font-weight:600;}
.nav-links a{color:var(--ink-soft); transition:color .15s;}
.nav-links a:hover{color:var(--contrast-deep);}
.nav-links a.active{color:var(--contrast-deep); font-weight:800;}
@media (max-width:820px){ .nav{justify-content:center;} .logo{width:100%; text-align:center; justify-content:center; font-size:32px;} .nav-links{width:100%; justify-content:center; gap:12px 22px; font-size:13px; flex-wrap:wrap;} }
@media (max-width:400px){ .logo{font-size:27px;} }

/* Hero (Startseite) */
.hero{padding:76px 0 60px;}
.hero-inner{display:grid; grid-template-columns:1.05fr 0.95fr; gap:56px; align-items:center;}
.lux99-logo-link{display:inline-block; margin-bottom:18px; opacity:1; transition:opacity .15s ease;}
.lux99-logo-link:hover{opacity:.75;}
.lux99-logo{height:40px; width:auto; display:block;}
.hero-eyebrow-row{display:flex; align-items:flex-start; gap:10px; margin-bottom:22px;}
.hero-eyebrow-row .dot{width:6px; height:6px; border-radius:50%; background:var(--green); flex:none; margin-top:7px;}
.hero-eyebrow-row .eyebrow{flex:1; min-width:0;}
h1.hero-title{font-size:clamp(36px,4.6vw,58px); line-height:1.08; margin-bottom:22px;}
.hero-lead{font-size:17.5px; color:var(--ink-soft); max-width:46ch; margin-bottom:32px;}
.hero-ctas{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px;}
.hero-meta{display:flex; gap:22px; flex-wrap:wrap; font-size:13.5px; color:var(--ink-soft);}
.hero-meta b{color:var(--ink); font-weight:700;}

.hero-visual{position:relative; display:flex; justify-content:center;}
.ring-wrap{position:relative; width:100%; max-width:420px;}
.ring-wrap svg{width:100%; height:auto; display:block;}
.ring-center-year{font-family:'Manrope',sans-serif; font-weight:500;}
.ring-center-label{font-family:'Manrope',sans-serif;}
.floating-card{
  position:absolute;
  background:var(--paper);
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 18px;
  box-shadow:0 14px 34px rgba(31,46,34,0.10);
}
.floating-card.card-top{top:-6px; left:-18px;}
.floating-card.card-bottom{bottom:-4px; right:-22px; max-width:230px;}
.floating-card .fc-num{font-family:'Newsreader',serif; font-size:26px; color:var(--green-deep); line-height:1;}
.floating-card .fc-label{font-size:12px; color:var(--ink-soft); margin-top:4px;}
.floating-card .fc-eyebrow{font-family:'Manrope',sans-serif; font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--contrast-deep); margin-bottom:6px; display:block;}
.floating-card a{font-weight:700; font-size:13px; color:var(--green-deep); transition:color .15s ease;}
.floating-card a:hover{color:var(--contrast-deep);}
@media (max-width:900px){
  .hero-inner{grid-template-columns:1fr; text-align:left;}
  .floating-card{position:static; margin-top:14px; max-width:none;}
  .ring-wrap{max-width:320px; margin:0 auto;}
}

/* Divider */
.divider{padding:6px 0 0;}
.divider-line{height:0; border-top:2px dotted var(--line); margin:0 0;}

/* Sections */
section{padding:88px 0;}
.section-alt{background:var(--paper-alt);}
.page-intro{padding-bottom:56px;}
.section-head{max-width:720px; margin:0 auto 52px; text-align:center;}
.section-head.left{margin:0 0 44px; text-align:left;}
.section-head h1, .section-head h2{font-size:clamp(28px,3.2vw,40px); margin-top:12px;}
.section-head p{color:var(--ink-soft); margin-top:14px; font-size:16px;}

/* Termine (Startseite) */
.termin-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:34px 32px;}
.termin-card-single{max-width:640px; margin:0 auto;}
.termin-date-row{display:flex; align-items:center; gap:22px; margin-bottom:28px;}
.termin-date-badge{flex:none; width:74px; height:74px; border-radius:16px; background:var(--paper-alt); display:flex; flex-direction:column; align-items:center; justify-content:center;}
.tdb-day{font-family:'Newsreader',serif; font-size:26px; color:var(--green-deep); line-height:1;}
.tdb-month{font-family:'Manrope',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-top:4px;}
.termin-card h3{font-size:22px; margin-bottom:4px;}
.termin-tag{margin-bottom:8px; display:block;}
.termin-topic{font-family:'Manrope',sans-serif; font-weight:600; font-size:15.5px; color:var(--green-deep); margin-bottom:4px;}
.termin-location{color:var(--ink-soft); font-size:14.5px;}
.termin-agenda{background:var(--paper-alt); border-radius:14px; padding:6px 20px; margin-bottom:28px;}
.termin-step{display:grid; grid-template-columns:96px 1fr; gap:16px; padding:14px 0; border-top:1px solid var(--line);}
.termin-step:first-child{border-top:none;}
.termin-time{font-family:'Manrope',sans-serif; font-size:13px; color:var(--green-deep); font-weight:600;}
.termin-desc{font-size:14.5px; color:var(--ink-soft);}
.termin-calendar-row{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 16px; padding-top:22px; border-top:1px solid var(--line); margin-bottom:22px;}
.termin-footnote{font-size:13px; color:var(--ink-soft); text-align:center;}
.termin-footnote a{color:var(--green-deep); font-weight:700; transition:color .15s ease;}
.termin-footnote a:hover{color:var(--contrast-deep);}
.upcoming-preview{max-width:640px; margin:32px auto 0; text-align:center;}
.upcoming-note{color:var(--ink-soft); font-size:13.5px; margin-bottom:18px;}
.upcoming-grid{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.upcoming-item{background:var(--paper-alt); border-radius:12px; padding:12px 20px; display:flex; flex-direction:column; gap:3px; min-width:150px;}
.upcoming-month{font-family:'Manrope',sans-serif; font-size:11px; text-transform:uppercase; letter-spacing:.06em; color:var(--contrast-deep); font-weight:700;}
.upcoming-topic{font-size:14px; color:var(--ink); font-weight:600;}
.calendar-cta{font-family:'Manrope',sans-serif; font-size:15px; font-weight:700; color:var(--contrast-deep);}
.calendar-actions{display:flex; gap:10px; flex-wrap:wrap;}
@media (max-width:560px){ .termin-calendar-row{justify-content:center; text-align:center;} .termin-date-row{align-items:flex-start;} }

/* Aufzeichnungen: Zwei-Klick-Einbindung. Der Platzhalter ist bewusst reines CSS
   ohne Bilddatei — ein Standbild von Twitch wäre selbst schon ein Drittanbieter-
   Abruf vor der Einwilligung und würde den Zweck aufheben. */
.video-list{display:grid; gap:26px; max-width:640px; margin:0 auto;}
.video-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:18px 18px 14px;}
.video-frame{position:relative; aspect-ratio:16/9; border-radius:12px; overflow:hidden;}
.video-frame iframe{position:absolute; inset:0; width:100%; height:100%; border:0;}
.video-placeholder{position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:4px; padding:24px; background:linear-gradient(135deg, var(--green-deep), var(--green-darker));}
.video-placeholder .eyebrow{color:#fff; margin-bottom:4px;}
.video-placeholder h3{font-size:20px; color:#fff; line-height:1.3; max-width:26ch;}
.video-datum{font-family:'Manrope',sans-serif; font-size:14px; color:#fff;}
/* font-family:inherit ist nötig, weil .btn keine Schriftart setzt, sondern
   sie vom body erbt. Ein <button> erbt sie im Gegensatz zu einem <a> nicht
   und fällt sonst auf die Systemschrift zurück. */
.video-load{margin-top:16px; font-family:inherit;}
.video-hinweis{font-size:12.5px; color:var(--ink-soft); text-align:center; margin-top:12px; line-height:1.55;}
.video-hinweis a{color:var(--green-deep); font-weight:700; transition:color .15s ease;}
.video-hinweis a:hover{color:var(--contrast-deep);}
@media (max-width:560px){ .video-card{padding:12px 12px 10px;} .video-placeholder{padding:16px;} .video-placeholder h3{font-size:17px;} .video-datum{font-size:13px;} }

/* Stats */
.stats-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px;}
.stat-card{background:var(--paper); border-radius:var(--radius); padding:34px 28px; text-align:center; border:1px solid var(--line);}
.stat-num{font-family:'Newsreader',serif; font-size:46px; color:var(--green-deep); line-height:1;}
.stat-label{margin-top:10px; color:var(--ink-soft); font-size:14.5px;}
@media (max-width:760px){ .stats-grid{grid-template-columns:1fr;} }

/* Benefit cards */
.benefit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.benefit-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:28px 24px;}
.benefit-icon{width:40px; height:40px; border-radius:11px; background:var(--paper-alt); display:flex; align-items:center; justify-content:center; margin-bottom:16px; color:var(--green-deep);}
.benefit-card h3{font-size:17px; margin-bottom:8px; font-family:'Manrope',sans-serif; font-weight:700;}
.benefit-card p{font-size:14px; color:var(--ink-soft);}
@media (max-width:920px){ .benefit-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .benefit-grid{grid-template-columns:1fr;} }

/* Team */
.team-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:820px; margin:0 auto;}
.team-card{background:var(--paper-alt); border-radius:var(--radius); padding:28px 22px; text-align:center;}
.team-avatar{width:84px; height:84px; border-radius:50%; margin:0 auto 16px; display:block; object-fit:cover; box-shadow:0 0 0 3px var(--paper), 0 0 0 4px var(--line);}
.team-card h3{font-size:16.5px; font-family:'Manrope',sans-serif; font-weight:700;}
.team-card .role{font-size:13px; color:var(--green-deep); margin-top:4px; font-weight:600;}
@media (max-width:760px){ .team-grid{grid-template-columns:1fr;} }
.luxdocs-card{margin-top:28px; background:var(--paper);}
.luxdocs-icon{background:var(--green); color:#fff;}

/* Podcast-Card-Layout (hier wiederverwendet für die LuxDocs-Karte) */
.podcast-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:40px; display:grid; grid-template-columns:auto 1fr auto; gap:28px; align-items:center;}
.podcast-icon{width:58px; height:58px; border-radius:50%; background:var(--contrast); color:var(--green-darker); display:flex; align-items:center; justify-content:center; flex:none;}
.podcast-card h3{font-size:21px; margin-bottom:6px;}
.podcast-card p{color:var(--ink-soft); font-size:14.5px;}
@media (max-width:760px){ .podcast-card{grid-template-columns:1fr; text-align:center;} .podcast-icon{margin:0 auto;} }

/* FAQ */
.faq-list{max-width:820px; margin:0 auto; display:flex; flex-direction:column; gap:0;}
.faq-item{border-top:1px solid var(--line);}
.faq-item:last-child{border-bottom:1px solid var(--line);}
.faq-item summary{cursor:pointer; list-style:none; padding:22px 4px; display:flex; align-items:center; justify-content:space-between; font-weight:700; font-size:16px; font-family:'Manrope',sans-serif;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary .plus{font-family:'Manrope',sans-serif; font-size:20px; color:var(--green-deep); transition:transform .2s; flex:none; margin-left:16px;}
.faq-item[open] summary .plus{transform:rotate(45deg);}
.faq-item .faq-a{padding:0 4px 22px; color:var(--ink-soft); font-size:14.75px; max-width:70ch;}

/* CTA-Section */
.cta-section{text-align:center;}
.cta-section .eyebrow{display:block; margin-bottom:16px;}
.cta-section h2{font-size:clamp(28px,4vw,42px); max-width:16ch; margin:0 auto 18px;}
.cta-section p{color:var(--ink-soft); max-width:52ch; margin:0 auto 30px;}
.cta-section .hero-ctas{justify-content:center;}

/* Footer */
footer{padding:56px 0 32px; border-top:1px solid var(--line);}
.footer-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:36px; margin-bottom:36px;}
.footer-grid h3{font-size:13px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-bottom:14px; font-family:'Manrope',sans-serif; font-weight:500;}
.footer-grid p, .footer-grid a{font-size:14.5px; color:var(--ink-soft); display:block; margin-bottom:8px;}
.footer-grid a:hover{color:var(--contrast-deep);}
.footer-grid a.btn{display:inline-flex; margin-top:6px; margin-bottom:0;}
.footer-grid a.btn-gold, .footer-grid a.btn-gold:hover{color:var(--green-darker);}
.footer-bottom{display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-top:24px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-soft);}
.footer-legal{display:flex; flex-wrap:wrap; gap:18px;}
@media (max-width:760px){ .footer-grid{grid-template-columns:1fr;} }
.link-accent{color:var(--green-deep); font-weight:700; transition:color .15s ease;}
.link-accent:hover{color:var(--contrast-deep);}

/* Artikel-Seiten (Wissen-Detailartikel) */
.article-header{padding:56px 0 8px;}
.back-link{display:inline-flex; align-items:center; gap:6px; font-size:13.5px; font-weight:700; color:var(--green-deep); margin-bottom:22px;}
.back-link:hover{color:var(--contrast-deep);}
.article-eyebrow{display:block; margin-bottom:14px;}
.article-title{font-size:clamp(30px,4vw,44px); max-width:22ch;}
.article-lead{color:var(--ink-soft); font-size:17px; max-width:65ch; margin-top:18px;}
.article-body{max-width:720px; margin:0 auto; padding:32px 0 88px;}
.article-body h2{font-size:22px; margin:38px 0 14px;}
.article-body h2:first-child{margin-top:0;}
.article-body p{color:var(--ink-soft); font-size:15.5px; margin-bottom:14px;}
.article-body ul{margin:0 0 18px 0; display:flex; flex-direction:column; gap:10px; list-style:none;}
.article-body ul li{color:var(--ink-soft); font-size:15px; display:flex; gap:10px; align-items:flex-start;}
.article-body ul li b{color:var(--ink); font-weight:700;}
.article-body ul li svg{flex:none; margin-top:3px; color:var(--green-deep);}
.table-wrap{overflow-x:auto; margin:6px 0 22px;}
.article-table{width:100%; border-collapse:collapse; font-size:14px; min-width:480px;}
.article-table th, .article-table td{text-align:left; padding:10px 14px; border-bottom:1px solid var(--line); white-space:nowrap;}
.article-table td:nth-child(2){white-space:normal;}
.article-table th{color:var(--ink-soft); font-weight:700; font-size:12px; text-transform:uppercase; letter-spacing:.05em;}
.article-cta{background:var(--paper-alt); border-radius:var(--radius); padding:32px 30px; margin-top:40px; text-align:center;}
.article-cta h3{font-size:21px; margin-bottom:10px;}
.article-cta p{color:var(--ink-soft); font-size:14.5px; margin-bottom:20px; max-width:52ch; margin-left:auto; margin-right:auto;}
.article-cta-links{display:flex; gap:14px; justify-content:center; flex-wrap:wrap;}
.article-disclaimer{margin-top:28px; font-size:12.5px; color:var(--ink-soft);}

/* Wissen-Übersicht (Karten-Grid) */
.wissen-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:22px;}
.wissen-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:26px 24px; transition:border-color .15s ease, transform .15s ease;}
.wissen-card:hover{border-color:var(--contrast-deep); transform:translateY(-2px);}
.wissen-card:hover .arrow{color:var(--contrast-deep);}
.wissen-card .num{font-family:'Newsreader',serif; font-size:15px; color:var(--contrast-deep); margin-bottom:12px; display:block;}
.wissen-card h3{font-size:18px; margin-bottom:8px; line-height:1.25;}
.wissen-card p{font-size:13.5px; color:var(--ink-soft);}
.wissen-card .arrow{margin-top:16px; font-weight:700; color:var(--green-deep); font-size:13px; display:block;}
@media (max-width:980px){ .wissen-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:560px){ .wissen-grid{grid-template-columns:1fr;} }
.wissen-note{max-width:760px; margin:52px auto 0; text-align:center; color:var(--ink-soft); font-size:13.5px; padding-top:32px; border-top:1px dotted var(--line);}

/* Ihre Fragen (Veranstaltungen-Liste + Q&A) */
.veranstaltungen-list{display:flex; flex-direction:column; gap:24px; max-width:760px; margin:0 auto;}
.veranstaltung-card{background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:32px 34px;}
.va-head{display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-bottom:8px;}
.va-date-badge{flex:none; width:70px; height:70px; border-radius:16px; background:var(--paper-alt); display:flex; flex-direction:column; align-items:center; justify-content:center;}
.va-day{font-family:'Newsreader',serif; font-size:24px; color:var(--green-deep); line-height:1;}
.va-month{font-family:'Manrope',sans-serif; font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-top:4px;}
.va-meta{flex:1; min-width:200px;}
.va-meta h3{font-size:21px; margin-bottom:4px;}
.va-meta p{color:var(--ink-soft); font-size:14.5px;}
.status-pill{display:inline-flex; align-items:center; gap:6px; padding:6px 14px; border-radius:999px; font-size:11.5px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; flex:none;}
.status-upcoming{background:var(--paper-alt); color:var(--green-deep);}
.status-answered{background:var(--contrast); color:var(--green-darker);}
.va-body{margin-top:22px; padding-top:22px; border-top:1px solid var(--line);}
.va-placeholder{color:var(--ink-soft); font-size:14.5px;}
.qa-list{display:flex; flex-direction:column;}
.qa-item{border-top:1px solid var(--line);}
.qa-item:first-child{border-top:none;}
.qa-item summary{cursor:pointer; list-style:none; padding:16px 2px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:700; font-size:15px;}
.qa-item summary::-webkit-details-marker{display:none;}
.qa-item summary .plus{font-size:18px; color:var(--green-deep); transition:transform .2s; flex:none;}
.qa-item[open] summary .plus{transform:rotate(45deg);}
.qa-item .qa-a{padding:0 2px 16px; color:var(--ink-soft); font-size:14.5px;}
.empty-state{max-width:760px; margin:40px auto 0; text-align:center; color:var(--ink-soft); font-size:14.5px; padding-top:32px; border-top:1px dotted var(--line);}
@media (max-width:560px){ .va-head{flex-direction:column; align-items:flex-start;} .status-pill{margin-left:92px;} }

/* Impressum */
.page-intro{padding:76px 0 20px;}
.page-intro .eyebrow{display:block; margin-bottom:12px;}
.page-intro h1{font-size:clamp(30px,4vw,44px);}
.legal{padding:20px 0 88px;}
.legal-block{max-width:760px; margin:0 auto 44px; padding-bottom:44px; border-bottom:1px solid var(--line);}
.legal-block:last-child{border-bottom:none; margin-bottom:0; padding-bottom:0;}
.legal-block h2{font-size:21px; margin-bottom:18px;}
.legal-row{display:grid; grid-template-columns:220px 1fr; gap:8px 20px; padding:8px 0; font-size:14.5px;}
.legal-row dt{color:var(--ink-soft);}
.legal-row dd{color:var(--ink);}
.legal-row dd a{color:var(--green-deep); font-weight:600;}
.legal-block p{font-size:14.5px; color:var(--ink-soft); margin-bottom:14px;}
.legal-block p:last-child{margin-bottom:0;}
.legal-list{margin:0 0 0 20px; padding:0; font-size:14.5px; color:var(--ink-soft);}
.legal-list li{margin-bottom:6px;}
@media (max-width:600px){
  .legal-row{grid-template-columns:1fr;}
  .legal-row dt{font-weight:700; color:var(--ink);}
}
