/*! Urheber: Steve Wagner, toolranzen.de — 2026. Jede Nutzung außerhalb von toolranzen.de bedarf der Erlaubnis. */

.sw-lesson .lesson-body {
  container-type: inline-size;
  container-name: lektionsspalte;
}

.sw-lesson .ka-tafel {
  margin: var(--space-lg) 0;   /* unten genauso viel wie oben — sonst klebt die Aufgabe am Tafelbild */
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  background: var(--color-surface-warm);
  border: 1px solid var(--color-border);
}
.sw-lesson .ka-tafel__fallback { margin: 0; font-size: var(--text-sm); color: var(--color-text-muted); }
.sw-lesson .ka-tafel.is-bereit .ka-tafel__fallback { display: none; }

.sw-lesson .ka-tafel__buehne {
  display: grid; gap: var(--space-md);
  margin-bottom: var(--space-md);
}
.sw-lesson .ka-tafel__svg {
  display: block; width: 100%; height: auto;
  border-radius: var(--radius-md);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
}

.sw-lesson .ka-tafel__regler {
  display: flex; align-items: center; gap: var(--space-sm) var(--space-md); flex-wrap: wrap;
}
.sw-lesson .ka-tafel__regler:empty { display: none; }
.sw-lesson .ka-tafel__label { font-family: var(--font-display); font-weight: var(--fw-semi); }
.sw-lesson .ka-tafel__range { flex: 1 1 12rem; min-width: 10rem; min-height: 44px; }
.sw-lesson .ka-tafel__wert {
  font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--text-lg);
  font-variant-numeric: tabular-nums; min-width: 6.5rem;
}
.sw-lesson .ka-tafel__lage { margin: var(--space-sm) 0 0; font-size: var(--text-sm); }
.sw-lesson .ka-tafel__lage:empty { display: none; }

.sw-lesson .ka-tafel__knopf {
  min-height: 44px; padding: var(--space-xs) var(--space-md);
  border-radius: var(--radius-full);
  border: 2px solid transparent;
  background: var(--color-primary); color: var(--color-on-primary);
  font-family: var(--font-display); font-weight: var(--fw-semi); font-size: var(--text-sm);
  cursor: pointer;
}
.sw-lesson .ka-tafel__knopf:disabled { opacity: .55; cursor: default; }
.sw-lesson .ka-tafel__knopf--leise {
  background: var(--color-surface); color: var(--color-text);
  border-color: var(--color-border);
}
.sw-lesson .ka-tafel__knopf--schalter,
.sw-lesson .ka-tafel__knopf--tab {
  background: var(--color-surface); color: var(--color-text-muted);
  border-color: var(--color-border);
}
.sw-lesson .ka-tafel__knopf--schalter[aria-pressed="true"],
.sw-lesson .ka-tafel__knopf--tab[aria-selected="true"] {
  background: var(--color-primary); color: var(--color-on-primary);
  border-color: var(--color-primary);
}

.sw-lesson .ka-aufdecker {
  list-style: none; margin: 0; padding: 0;
  display: grid; gap: var(--space-xs);
}
.sw-lesson .ka-aufdecker:empty { display: none; }
.sw-lesson .ka-aufdecker__schritt {
  display: grid; grid-template-columns: 2.2rem 1fr; gap: var(--space-sm); align-items: start;
  padding: var(--space-sm) var(--space-md);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  font-size: var(--text-sm); line-height: var(--lh-normal);
}
.sw-lesson .ka-aufdecker__schritt[hidden] { display: none; }   /* display:grid oben schlägt sonst das UA-[hidden] */
.sw-lesson .ka-aufdecker__schritt.is-aktuell { background: var(--color-primary-pale); }
.sw-lesson .ka-aufdecker__num {
  display: inline-grid; place-items: center;
  width: 2rem; height: 2rem; border-radius: 50%;
  background: var(--color-primary); color: var(--color-on-primary);
  font-family: var(--font-display); font-weight: var(--fw-bold);
}
.sw-lesson .ka-aufdecker__text strong { font-weight: var(--fw-semi); }

.sw-lesson .ka-treppe__wrap { display: grid; gap: var(--space-md); }
@container lektionsspalte (min-width: 40rem) {
  .sw-lesson .ka-treppe__wrap { grid-template-columns: minmax(0, 1.4fr) minmax(14rem, 1fr); align-items: start; }
  .sw-lesson .ka-treppe__detail { position: sticky; top: var(--space-md); }
}
.sw-lesson .ka-treppe { display: grid; gap: 3px; }
.sw-lesson .ka-treppe__stufe {
  --ka-stufe: 0;
  display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-xs) var(--space-sm);
  min-height: 44px; padding: var(--space-xs) var(--space-sm);
  margin-inline: calc(var(--ka-stufe) * 4%);
  border: 0; border-radius: var(--radius-md);
  background: var(--color-surface); color: var(--color-text);
  font: inherit; text-align: left; cursor: pointer;
}
.sw-lesson .ka-treppe__stufe[aria-pressed="true"] { background: var(--color-primary); color: var(--color-on-primary); }
.sw-lesson .ka-treppe__stufe.is-aequator { background: var(--color-accent-soft); }
.sw-lesson .ka-treppe__stufe.is-aequator[aria-pressed="true"] { background: var(--color-primary); }
.sw-lesson .ka-treppe__nr {
  font-family: var(--font-display); font-weight: var(--fw-bold); font-size: var(--text-sm);
  opacity: .8;
}
.sw-lesson .ka-treppe__name { font-family: var(--font-display); font-weight: var(--fw-semi); font-size: var(--text-sm); }
.sw-lesson .ka-treppe__nr { flex: 0 0 1.6rem; }
.sw-lesson .ka-treppe__name { flex: 1 1 8rem; }
.sw-lesson .ka-treppe__monate { display: inline-flex; gap: 2px; margin-left: auto; }
.sw-lesson .ka-treppe__monate i,
.sw-lesson .ka-treppe__punkt {
  display: inline-block; width: 9px; height: 9px; border-radius: 50%;
  background: currentColor; opacity: .18;
}
.sw-lesson .ka-treppe__monate i.is-nass,
.sw-lesson .ka-treppe__punkt.is-nass { background: #5b8fb9; opacity: 1; }
.sw-lesson .ka-treppe__stufe[aria-pressed="true"] .ka-treppe__monate i.is-nass { background: var(--color-on-primary); }
.sw-lesson .ka-treppe__detail {
  padding: var(--space-md);
  border-radius: var(--radius-md);
  background: var(--color-surface);
  font-size: var(--text-sm);
}
.sw-lesson .ka-treppe__detail h3 { margin: 0 0 var(--space-xs); font-size: var(--text-lg); }
.sw-lesson .ka-treppe__detail p { margin: 0 0 var(--space-xs); }
.sw-lesson .ka-treppe__detail-kicker { color: var(--color-text-muted); font-size: var(--text-xs); text-transform: uppercase; letter-spacing: .04em; }
.sw-lesson .ka-treppe__station { color: var(--color-text-muted); }
.sw-lesson .ka-treppe__legende { margin: 0; font-size: var(--text-sm); color: var(--color-text-muted); }

.sw-lesson .ka-diagramm__tabs { display: flex; gap: var(--space-xs); flex-wrap: wrap; }
.sw-lesson .ka-diagramm__monat { margin: 0; font-size: var(--text-sm); font-weight: var(--fw-semi); min-height: 1.4em; }
.sw-lesson .ka-diagramm__monat:empty { display: none; }

.sw-lesson .ka-tafel:fullscreen {
  display: grid; grid-template-rows: 1fr auto auto; gap: var(--space-md);
  padding: var(--space-lg); margin: 0; border: 0; border-radius: 0;
  background: var(--color-surface-warm);
}
.sw-lesson .ka-tafel:fullscreen .ka-tafel__buehne { min-height: 0; margin: 0; }
.sw-lesson .ka-tafel:fullscreen .ka-diagramm__bild { min-height: 0; height: 100%; display: grid; place-items: center; }
.sw-lesson .ka-tafel:fullscreen .ka-tafel__svg { width: auto; max-width: 100%; max-height: 78vh; }

.sw-lesson .ka-karte__wrap { display: grid; gap: var(--space-md); }
@container lektionsspalte (min-width: 40rem) {
  .sw-lesson .ka-karte__wrap { grid-template-columns: minmax(0, 1.5fr) minmax(12rem, 1fr); align-items: start; }
}
.sw-lesson .ka-karte__svg { background: var(--color-surface); }
.sw-lesson .ka-karte__punkt { cursor: pointer; }
.sw-lesson .ka-karte__punkt:focus-visible circle { stroke: var(--color-primary); stroke-width: 4; }
.sw-lesson .ka-karte__punkt.is-aktiv circle { r: 10; }
.sw-lesson .ka-karte__detail {
  padding: var(--space-md); border-radius: var(--radius-md);
  background: var(--color-surface); font-size: var(--text-sm);
}
.sw-lesson .ka-karte__detail h3 { margin: 0 0 var(--space-xs); font-size: var(--text-lg); }
.sw-lesson .ka-karte__detail p { margin: 0 0 var(--space-xs); }

.sw-lesson .ka-landschaften { display: grid; gap: var(--space-md); margin: 0 0 var(--space-md); }
@container lektionsspalte (min-width: 34rem) { .sw-lesson .ka-landschaften { grid-template-columns: repeat(3, 1fr); } }
@container lektionsspalte (min-width: 34rem) { .sw-lesson .ka-landschaften--zwei { grid-template-columns: repeat(2, 1fr); } }
.sw-lesson .ka-landschaften figure { margin: 0; }
.sw-lesson .ka-landschaften img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--radius-md); }
.sw-lesson .ka-landschaften figcaption { margin-top: var(--space-xs); font-size: var(--text-sm); }
.sw-lesson .ka-landschaften figcaption b { display: block; font-family: var(--font-display); font-weight: var(--fw-semi); }

.sw-lesson .ka-quelle { margin: var(--space-xs) 0 0; font-size: var(--text-xs); color: var(--color-text-muted); }


/* Urheber: Steve Wagner, toolranzen.de — 2026. Jede Nutzung außerhalb von toolranzen.de bedarf der Erlaubnis. */
