/* =====================================================================
   Kurse & Termine (/kurse). Nutzt die Farben/Variablen aus style.css, die
   Formular-Bausteine aus pages.css und die Datum-Kachel aus theorie.css.
   Logische Abstände (inline/block) für RTL.
   ===================================================================== */
.ku-page{max-inline-size:980px}
.ku-cards{display:grid;gap:10px;margin-block-end:30px}
.ku-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px;padding-inline-end:14px;border-radius:calc(var(--rk,1px) * 16);border:1px solid var(--home-line);background:linear-gradient(150deg,var(--home-card),var(--home-panel));color:var(--home-text);text-decoration:none;transition:border-color .15s,transform .15s}
.ku-card:hover,.ku-card:focus-visible{border-color:var(--brand-accent)}
.ku-card:focus-visible{outline:3px solid var(--brand-accent);outline-offset:2px}
/* Kurs-Symbole: Kachel mit eingebautem Symbol (Linien in Akzentfarbe) oder eigenem Bild/Foto */
.ku-sym{--ks:44px;display:inline-grid;place-items:center;flex:none;inline-size:var(--ks);block-size:var(--ks);border-radius:calc(var(--rk,1px) * 13);overflow:hidden;color:var(--accent-ink,var(--brand-accent));border:1px solid var(--home-line-strong);background:linear-gradient(135deg,var(--home-deep-2,#0a3152),var(--home-deep,#031a2e));box-shadow:0 8px 18px -12px rgba(0,0,0,.7)}
.ku-sym svg{inline-size:58%;block-size:58%}
.ku-sym-pic{padding:0}
.ku-sym-pic img{inline-size:100%;block-size:100%;object-fit:cover;display:block}
.ku-sym-pic.is-flat{padding:calc(var(--ks) * .15)}
.ku-sym-pic.is-flat img{object-fit:contain}
.ku-sym-s{--ks:34px;border-radius:calc(var(--rk,1px) * 10)}
.ku-sym-m{--ks:64px}
.ku-sym-l{--ks:76px;display:grid;margin-block-end:12px}
.ku-type-head h2{display:flex;align-items:center;gap:10px}
.ku-home-name{display:flex;align-items:center;gap:8px}
.ku-home-name .ku-sym{--ks:26px;border-radius:8px;box-shadow:none}
.ku-card-body{display:grid;gap:2px;min-inline-size:0;line-height:1.3;grid-column:2}
.ku-card-body strong{font-size:calc(16px * var(--font-scale,1));font-weight:900}
.ku-card-body span{font-size:calc(13px * var(--font-scale,1));color:var(--home-muted)}
.ku-card-body small{font-size:calc(11px * var(--font-scale,1));font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-ink,var(--brand-accent))}
.ku-type{margin-block-end:34px;scroll-margin-block-start:84px}
.ku-type-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 14px;margin-block-end:8px}
.ku-type-head h2{margin:0;font-size:calc(22px * var(--font-scale,1))}
.ku-type-price{font-size:calc(17px * var(--font-scale,1));font-weight:900;color:var(--accent-ink,var(--brand-accent))}
.ku-text{max-inline-size:700px;color:var(--home-muted);font-size:calc(14.5px * var(--font-scale,1));line-height:1.55}
.ku-text p{margin-block:0 10px}
.ku-facts{display:grid;gap:8px;margin-block:10px 0;max-inline-size:700px}
.ku-facts>div{padding-block:9px;padding-inline:12px;border-radius:calc(var(--rk,1px) * 12);border:1px solid var(--home-line);background:var(--home-panel)}
.ku-facts dt{font-size:calc(10.5px * var(--font-scale,1));font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink,var(--brand-accent))}
.ku-facts dd{margin:2px 0 0;font-size:calc(13.5px * var(--font-scale,1))}
.ku-h3{margin-block:18px 10px;font-size:calc(16px * var(--font-scale,1))}
.ku-terms{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.ku-term{display:grid;grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:12px;padding-block:10px;padding-inline:10px 12px;border-radius:calc(var(--rk,1px) * 16);border:1px solid var(--home-line);background:linear-gradient(150deg,var(--home-card),var(--home-panel))}
.ku-term.is-chosen{border-color:var(--brand-accent);box-shadow:0 0 0 1px var(--brand-accent)}
.ku-term.is-schluss{opacity:.72}
.ku-date{align-self:start;display:grid;justify-items:center;padding-block:6px;border-radius:calc(var(--rk,1px) * 11);background:linear-gradient(135deg,var(--home-deep-2,#0a3152),var(--home-deep,#031a2e));line-height:1.1;text-align:center}
.ku-date small{font-size:calc(9.5px * var(--font-scale,1));font-weight:800;letter-spacing:.04em;color:var(--home-muted);text-transform:uppercase}
.ku-date b{font-size:calc(21px * var(--font-scale,1));font-weight:900}
.ku-days{list-style:none;margin:0;padding:0;font-size:calc(14.5px * var(--font-scale,1));font-weight:800;line-height:1.4}
.ku-place{margin:2px 0 0;font-size:calc(13px * var(--font-scale,1));color:var(--home-muted)}
.ku-note,.ku-deadline{margin:3px 0 0;font-size:calc(12.5px * var(--font-scale,1));color:var(--home-muted)}
.ku-note{color:var(--home-text)}
.ku-term-side{display:grid;justify-items:end;gap:4px;text-align:end}
.ku-price{font-size:calc(15px * var(--font-scale,1));font-weight:900}
.ku-price small{font-weight:600;color:var(--home-muted);font-size:calc(12px * var(--font-scale,1))}
.ku-seats{font-size:calc(11.5px * var(--font-scale,1));font-weight:900;letter-spacing:.03em;color:var(--ok-ink,#6fe3a3)}
.ku-seats.is-wenige{color:var(--accent-ink,var(--brand-accent))}
.ku-seats.is-voll,.ku-seats.is-schluss{color:var(--err-ink,#ffb4b4)}
.ku-btn{padding-block:8px;padding-inline:14px;font-size:calc(13px * var(--font-scale,1));white-space:nowrap}
.ku-none{color:var(--home-muted);font-size:calc(14px * var(--font-scale,1));display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.ku-book{margin-block-end:34px;scroll-margin-block-start:84px}
.ku-book h2{margin-block:0 10px}
.ku-chosen{display:grid;gap:2px;margin-block:8px 14px;padding-block:12px;padding-inline:14px;border-radius:calc(var(--rk,1px) * 14);border:1px solid var(--home-line);background:var(--field-bg,rgba(var(--home-tint,3,20,36),.45))}
.ku-chosen>strong{font-size:calc(17px * var(--font-scale,1));font-weight:900}
.ku-chosen .ku-price{margin:6px 0 0}
.ku-chosen .ku-seats{margin:0}
.ku-hint{margin-block:0 12px;color:var(--home-muted);font-size:calc(13px * var(--font-scale,1))}
.ku-fields{display:grid;gap:0 12px}
.ku-guardian{margin-block:4px 14px;padding-block:10px 0;padding-inline:14px;border-radius:calc(var(--rk,1px) * 14);border:1px dashed var(--home-line)}
.ku-guardian legend{padding-inline:6px;font-size:calc(12px * var(--font-scale,1));font-weight:800;color:var(--home-muted)}
.ku-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-block-start:6px}
@media(max-width:560px){
  .ku-term{grid-template-columns:52px minmax(0,1fr)}
  .ku-term-side{grid-column:1 / -1;grid-auto-flow:column;justify-content:space-between;justify-items:start;align-items:center;text-align:start}
  .ku-term-side .ku-btn{grid-row:1 / span 2;grid-column:2;justify-self:end}
}
@media(min-width:640px){
  .ku-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ku-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ku-facts{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ku-f-street{grid-column:1}
}
@media(min-width:900px){
  .ku-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ku-type-head h2{font-size:calc(26px * var(--font-scale,1))}
}

/* Überschrift der Kursart führt zur eigenen Seite /kurse/<kursart> */
.ku-type-head h2 a{color:inherit;text-decoration:none}
.ku-type-head h2 a:hover,.ku-type-head h2 a:focus-visible{text-decoration:underline}
