/* Kursübersicht /kurse/ (kurse.php). Bausteine aus startseite.css, hier nur Kurskarten, Preistabelle und Support. */

.ma-ku-hero { padding-bottom: clamp(2rem, 5vw, 3.2rem); }
.ma-ss-zahlen .ma-ku-summe { grid-template-columns: repeat(5, minmax(0, 1fr)); max-width: 980px; margin: 0 auto; }
.ma-ku-meine { padding-bottom: 0; }
.ma-ku-meine .ma-meine h2 { text-align: center; }

/* Kurskarten: Bild links, Text rechts, untereinander */
.ma-ku-liste { display: grid; gap: var(--mm-space-5); max-width: 1080px; margin: 0 auto; }
.ma-ku-karte { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); overflow: hidden; border: 1px solid var(--mm-color-border); border-radius: var(--mm-radius-xl); background: var(--mm-color-surface); scroll-margin-top: 130px; }
.ma-ku-bild { display: block; background: var(--mm-navy-950); }
.ma-ku-bild img { display: block; width: 100%; height: 100%; min-height: 100%; object-fit: cover; aspect-ratio: 16 / 9; }
.ma-ku-text { display: flex; flex-direction: column; padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.25rem); }
.ma-ku-text .ma-ss-land { color: var(--mm-color-brand-action); }
.ma-ku-text h3 { margin: 0 0 var(--mm-space-2); font-size: clamp(1.4rem, 2.4vw, var(--mm-text-h3)); line-height: 1.2; }
.ma-ku-text h3 a { color: var(--mm-color-ink); text-decoration: none; }
.ma-ku-text h3 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.ma-ku-satz { margin: 0 0 var(--mm-space-4); font-family: var(--mm-font-prose); font-size: 1.05rem; line-height: 1.6; color: var(--mm-color-ink-secondary); text-wrap: pretty; }
.ma-ku-zahlen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--mm-space-3); margin: 0 0 var(--mm-space-5); padding: var(--mm-space-3) 0; border-top: 1px solid var(--mm-color-border); border-bottom: 1px solid var(--mm-color-border); list-style: none; }
.ma-ku-zahlen li { display: grid; gap: 2px; align-content: start; }
.ma-ku-zahlen b { font-family: var(--mm-font-display); font-weight: var(--mm-weight-semibold); font-size: 1.6rem; line-height: 1.1; color: var(--mm-color-ink); font-variant-numeric: tabular-nums; }
.ma-ku-zahlen span { font-size: var(--mm-text-small); line-height: 1.4; color: var(--mm-color-ink-secondary); }
.ma-ku-fuss { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--mm-space-3) var(--mm-space-5); margin-top: auto; }
.ma-ku-preis { display: grid; margin: 0; }
.ma-ku-preis b { font-family: var(--mm-font-display); font-size: var(--mm-text-h3); font-weight: var(--mm-weight-semibold); line-height: 1.1; color: var(--mm-color-ink); font-variant-numeric: tabular-nums; }
.ma-ku-preis span { font-size: var(--mm-text-small); color: var(--mm-color-ink-muted); }
.ma-ku-knoepfe { display: flex; flex-wrap: wrap; align-items: center; gap: var(--mm-space-2) var(--mm-space-3); }
.ma-ku-knoepfe .ma-knopf, .ma-ku-knoepfe .ma-knopf-zweit { min-height: 42px; padding: 0 var(--mm-space-4); font-size: var(--mm-text-small); }
.ma-ku-kauf { font-size: var(--mm-text-small); font-weight: var(--mm-weight-semibold); color: var(--mm-color-brand-action); text-decoration: none; }
.ma-ku-kauf:hover { text-decoration: underline; text-underline-offset: 3px; }
.ma-ku-hinweis { margin-top: var(--mm-space-6); text-align: center; }

/* Werkzeuge: Kopf als eigener Abschnitt, die Schaustücke folgen auf demselben Sandgrund */
.ma-ku-werkzeuge-kopf { padding-bottom: 0; }
.ma-ku-werkzeuge-kopf .ma-ss-kopf { margin-bottom: 0; }
.ma-ku-werkzeuge-kopf + .ma-ss-schau { padding-top: clamp(2.4rem, 5vw, 3.6rem); }
.ma-ss-schau.ma-ss-sand + .ma-ss-schau.ma-ss-sand { padding-top: 0; }

/* Preistabelle */
.ma-ku-tabelle { max-width: 900px; margin: 0 auto var(--mm-space-5); overflow-x: auto; border: 1px solid var(--mm-color-border); border-radius: var(--mm-radius-lg); background: var(--mm-color-surface); }
.ma-ku-tabelle table { width: 100%; border-collapse: collapse; font-size: var(--mm-text-small); }
.ma-ku-tabelle th, .ma-ku-tabelle td { padding: var(--mm-space-3) var(--mm-space-4); border-bottom: 1px solid var(--mm-color-border); text-align: left; vertical-align: top; }
.ma-ku-tabelle thead th { font-size: var(--mm-text-label); font-weight: var(--mm-weight-bold); letter-spacing: var(--mm-tracking-label); text-transform: uppercase; color: var(--mm-color-ink-muted); background: var(--mm-color-surface-subtle); }
.ma-ku-tabelle tbody tr:last-child > * { border-bottom: 0; }
.ma-ku-tabelle tbody th { font-weight: var(--mm-weight-semibold); }
.ma-ku-tabelle tbody th a { color: var(--mm-color-ink); }
.ma-ku-tabelle td:nth-child(2), .ma-ku-tabelle td:nth-child(3) { white-space: nowrap; font-variant-numeric: tabular-nums; }
.ma-ku-erklaerung { max-width: 46rem; margin: 0 auto var(--mm-space-5); font-family: var(--mm-font-prose); font-size: 1.05rem; line-height: 1.62; color: var(--mm-color-ink-secondary); text-align: center; text-wrap: pretty; }

/* Support-Formular aus Mission Auth: schmale Spalte in der Mitte */
.ma-ku-support .ma-ss-rahmen > * { max-width: 760px; margin-left: auto; margin-right: auto; }

@media (max-width: 900px) {
	.ma-ss-zahlen .ma-ku-summe { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ma-ku-karte { grid-template-columns: minmax(0, 1fr); }
	.ma-ku-bild img { height: auto; }
}
@media (max-width: 560px) {
	.ma-ss-zahlen .ma-ku-summe { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ma-ku-zahlen { grid-template-columns: minmax(0, 1fr); gap: var(--mm-space-2); }
	.ma-ku-zahlen li { grid-template-columns: 4.2rem minmax(0, 1fr); align-items: baseline; gap: var(--mm-space-2); }
	.ma-ku-zahlen b { font-size: 1.3rem; }
	.ma-ku-fuss { flex-direction: column; align-items: stretch; }
	.ma-ku-knoepfe .ma-knopf, .ma-ku-knoepfe .ma-knopf-zweit { flex: 1 1 auto; justify-content: center; }
	/* Tabelle als gestapelte Zeilen: Kurs und Preise oben, Laufzeit darunter über die ganze Breite */
	.ma-ku-tabelle thead { display: none; }
	.ma-ku-tabelle table, .ma-ku-tabelle tbody { display: block; }
	.ma-ku-tabelle tr { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 2px var(--mm-space-3); padding: var(--mm-space-3) var(--mm-space-4); border-bottom: 1px solid var(--mm-color-border); }
	.ma-ku-tabelle tbody tr:last-child { border-bottom: 0; }
	.ma-ku-tabelle th, .ma-ku-tabelle td { padding: 0; border: 0; }
	.ma-ku-tabelle td.ma-ku-monat:not(:empty)::after { content: " im Monat"; color: var(--mm-color-ink-muted); }
	.ma-ku-tabelle td:last-child { grid-column: 1 / -1; color: var(--mm-color-ink-muted); }
	.ma-ku-tabelle td[colspan] { grid-column: span 2; text-align: right; }
}
