/* WIDA Lübeck – gemeinsame Stile für alle Seiten */

/* Farben angelehnt an luebeck.de – bei Bedarf hier zentral anpassen */
:root{
  --rot:#c8102e;        /* Lübeck-Rot */
  --rot-dunkel:#9e0c24;
  --text:#222222;
  --grau:#5f5f5f;
  --hell:#f2f2f2;       /* hellgraue Flächen */
  --linie:#dcdcdc;
  --weiss:#ffffff;
  --max:1100px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--weiss);color:var(--text);
  font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;font-size:17px;line-height:1.6}
a{color:var(--rot)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
h1,h2,h3{line-height:1.25;margin:0 0 .6em}

/* Kopfzeile */
header{border-bottom:4px solid var(--rot);background:var(--weiss)}
.kopf{display:flex;align-items:center;justify-content:space-between;min-height:72px;gap:16px}
.marke{font-weight:700;font-size:1.3rem;color:var(--text);text-decoration:none}
.marke span{color:var(--rot)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:24px}
nav a,.zurueck{color:var(--text);text-decoration:none;font-weight:600;font-size:.95rem}
nav a:hover,.zurueck:hover{color:var(--rot)}
@media (max-width:720px){
  .kopf{flex-direction:column;align-items:flex-start;gap:6px;padding:14px 20px}
  nav ul{flex-wrap:wrap;gap:4px 18px}
}

/* Fußzeile */
footer{background:#333;color:#ddd;font-size:.9rem;padding:24px 0}
.fuss{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}
.fuss-links{display:flex;flex-wrap:wrap;gap:18px}
footer a{color:#fff}

/* ---------- Startseite ---------- */
h2{font-size:1.75rem;color:var(--text)}
h3{font-size:1.15rem}
section{padding:56px 0}
section.grau{background:var(--hell)}

/* Einstieg */
.intro{background:var(--rot);color:var(--weiss);padding:64px 0}
.intro h1{font-size:clamp(1.9rem,4.5vw,2.8rem);max-width:22ch}
.intro p{font-size:1.15rem;max-width:58ch;margin:0 0 28px}
.knopf{display:inline-block;padding:13px 22px;font-weight:700;text-decoration:none;border:2px solid var(--rot);background:var(--rot);color:var(--weiss)}
.knopf:hover{background:var(--rot-dunkel);border-color:var(--rot-dunkel)}
.knopf.hell{background:var(--weiss);color:var(--rot);border-color:var(--weiss)}
.knopf.hell:hover{background:var(--hell)}

/* Termin */
.termin{display:grid;grid-template-columns:160px 1fr;border:1px solid var(--linie);border-left:6px solid var(--rot)}
.termin .datum{background:var(--hell);padding:24px;text-align:center;font-weight:700}
.termin .datum .tag{font-size:2.6rem;line-height:1;color:var(--rot)}
.termin .info{padding:24px}
.termin .info p{margin:0 0 6px}
.termin .info p.hinweis{margin-top:14px}
.termin.leer{grid-template-columns:1fr}
@media (max-width:600px){.termin{grid-template-columns:1fr}}
#weitere-termine{margin-top:36px}

.zwei{display:grid;grid-template-columns:1fr 1fr;gap:48px}
@media (max-width:800px){.zwei{grid-template-columns:1fr;gap:24px}}

.liste{margin:0;padding:0;list-style:none}
.liste li{padding:12px 0 12px 22px;border-bottom:1px solid var(--linie);position:relative}
.liste li::before{content:"";position:absolute;left:0;top:21px;width:9px;height:9px;background:var(--rot)}

.kacheln{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media (max-width:800px){.kacheln{grid-template-columns:1fr}}
.kachel{background:var(--weiss);border-top:4px solid var(--rot);padding:22px}
.kachel p{margin:0;color:var(--grau)}

.partner{display:grid;grid-template-columns:1fr 1fr;gap:20px}
@media (max-width:800px){.partner{grid-template-columns:1fr}}
.partner div{border:1px solid var(--linie);padding:24px}
.partner .klein{font-size:.85rem;color:var(--grau);text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.partner p{color:var(--grau)}

.abschluss{background:var(--rot);color:var(--weiss);text-align:center;padding:56px 0}
.abschluss h2{color:var(--weiss)}
.abschluss p{max-width:56ch;margin:0 auto 24px}

/* ---------- Impressum & Datenschutz ---------- */
.rechtlich{--max:860px}
.rechtlich main{padding:48px 0 64px}
.rechtlich h1{font-size:2rem;margin:0 0 24px}
.rechtlich h2{font-size:1.2rem;margin:32px 0 8px;padding-top:20px;border-top:1px solid var(--linie)}
.rechtlich h1 + h2{border-top:0;padding-top:0;margin-top:0}
.rechtlich address{font-style:normal}
.rechtlich ul{padding-left:20px}
.rechtlich li{margin-bottom:4px}
.kurz{background:var(--hell);border-left:6px solid var(--rot);padding:18px 22px;margin:24px 0}
.kurz p{margin:0}
.stand{color:var(--grau);font-size:.95rem;margin-top:40px}
