/* Mission Zulassungsrechner – Styles (Styleguide-Tokens Mission Medizin) */
.mzr {
	--mzr-accent: #FF4203;
	--mzr-navy: #232F3F;
	--mzr-bg: #FFFFFF;
	--mzr-soft: #FAF8F5;
	--mzr-line: #E3DFD8;
	--mzr-muted: #7A8798;
	--mzr-ok: #1E7B4F;
	--mzr-warn: #B0741A;
	max-width: 640px;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.55;
	color: var(--mzr-navy);
}
.mzr * { box-sizing: border-box; }

.mzr-card {
	background: var(--mzr-bg);
	border: 1px solid var(--mzr-line);
	border-radius: 10px;
	padding: 28px 24px;
	margin-bottom: 16px;
	box-shadow: 0 1px 3px rgba(35, 47, 63, 0.06);
}
.mzr-title {
	margin: 0 0 8px;
	font-size: 1.35rem;
	line-height: 1.25;
	color: var(--mzr-navy);
}
.mzr-sub { margin: 0 0 16px; font-size: 0.9rem; color: var(--mzr-muted); }
.mzr-text { margin: 0 0 16px; }

.mzr-progress-outer { margin-bottom: 20px; }
.mzr-progress {
	height: 6px;
	background: var(--mzr-soft);
	border-radius: 999px;
	overflow: hidden;
}
.mzr-progress-bar {
	height: 100%;
	background: var(--mzr-accent);
	border-radius: 999px;
	transition: width 0.25s ease;
}
.mzr-progress-label { margin-top: 6px; font-size: 0.75rem; color: var(--mzr-muted); }

.mzr-opts { display: flex; flex-direction: column; gap: 10px; margin-bottom: 20px; }
.mzr-opt-gruppe {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--mzr-muted);
	margin: 8px 0 -2px;
}
.mzr-opt-gruppe:first-child { margin-top: 0; }
.mzr-opt {
	display: block;
	width: 100%;
	text-align: left;
	padding: 13px 16px;
	background: var(--mzr-soft);
	border: 2px solid var(--mzr-line);
	border-radius: 8px;
	font-size: 1rem;
	font-family: inherit;
	color: var(--mzr-navy);
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}
/* Zustände hart setzen - Themes (BuddyBoss/Elementor) haben globale
   button:hover-Regeln mit weißer Schrift, die den Text sonst unsichtbar machen */
.mzr .mzr-opt,
.mzr .mzr-opt:hover,
.mzr .mzr-opt:focus,
.mzr .mzr-opt:active,
.mzr .mzr-opt:visited {
	color: var(--mzr-navy) !important;
	background-color: var(--mzr-soft) !important;
	text-shadow: none !important;
	opacity: 1 !important;
}
.mzr .mzr-opt:hover { border-color: var(--mzr-navy) !important; }
.mzr-opt:focus-visible { outline: 3px solid var(--mzr-accent); outline-offset: 2px; }
.mzr .mzr-opt.is-selected,
.mzr .mzr-opt.is-selected:hover,
.mzr .mzr-opt.is-selected:focus,
.mzr .mzr-opt.is-selected:active {
	border-color: var(--mzr-accent) !important;
	background-color: #FFF0EA !important;
	color: var(--mzr-navy) !important;
	font-weight: 600;
}

/* Höhe/Zeilenhöhe hart setzen - Themes geben select/input feste Höhen,
   die den Text unten abschneiden */
.mzr .mzr-select,
.mzr .mzr-input {
	display: block;
	width: 100% !important;
	height: auto !important;
	min-height: 52px !important;
	max-height: none !important;
	line-height: 1.4 !important;
	padding: 13px 14px !important;
	margin: 0 0 12px !important;
	border: 2px solid var(--mzr-line) !important;
	border-radius: 8px !important;
	font-size: 1rem !important;
	font-family: inherit !important;
	color: var(--mzr-navy) !important;
	background-color: #FFFFFF !important;
	box-sizing: border-box !important;
	box-shadow: none !important;
}
.mzr .mzr-select:focus,
.mzr .mzr-input:focus { border-color: var(--mzr-accent) !important; outline: none; }

.mzr-nav { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; flex-wrap: wrap; }
.mzr-btn {
	display: inline-block;
	padding: 12px 22px;
	border-radius: 8px;
	border: 2px solid transparent;
	font-size: 1rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	text-decoration: none;
	text-align: center;
	transition: opacity 0.15s ease;
}
.mzr-btn:focus-visible { outline: 3px solid var(--mzr-navy); outline-offset: 2px; }
.mzr .mzr-btn-primary,
.mzr .mzr-btn-primary:hover,
.mzr .mzr-btn-primary:focus,
.mzr .mzr-btn-primary:active,
.mzr .mzr-btn-primary:visited {
	background-color: var(--mzr-accent) !important;
	color: #FFFFFF !important;
	text-shadow: none !important;
}
.mzr .mzr-btn-primary:hover { opacity: 0.9; }
.mzr .mzr-btn-primary:disabled { opacity: 0.4 !important; cursor: not-allowed; }
.mzr .mzr-btn-ghost,
.mzr .mzr-btn-ghost:hover,
.mzr .mzr-btn-ghost:focus,
.mzr .mzr-btn-ghost:active,
.mzr .mzr-btn-ghost:visited {
	background-color: transparent !important;
	color: var(--mzr-navy) !important;
	border-color: var(--mzr-line) !important;
	text-shadow: none !important;
}
.mzr .mzr-btn-ghost:hover { border-color: var(--mzr-navy) !important; }

/* Teaser */
.mzr-teaser-list { display: flex; flex-direction: column; gap: 8px; margin: 16px 0 20px; }
.mzr-teaser-row {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border-radius: 8px;
	border: 1px solid var(--mzr-line);
}
.mzr-teaser-open { background: #F0F9F4; border-color: var(--mzr-ok); font-weight: 600; }
.mzr-teaser-locked { background: var(--mzr-soft); color: var(--mzr-muted); }
.mzr-teaser-row .mzr-check { margin-left: auto; color: var(--mzr-ok); font-weight: 700; }
.mzr-teaser-row .mzr-lock { margin-left: auto; }

/* Ergebnis */
.mzr-result .mzr-title { font-size: 1.5rem; }
.mzr-path { position: relative; }
.mzr-path-first { border-color: var(--mzr-accent); border-width: 2px; }
.mzr-path-head { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 10px; }
.mzr-rank {
	flex: 0 0 auto;
	width: 32px;
	height: 32px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--mzr-navy);
	color: #fff;
	font-weight: 700;
	font-size: 0.95rem;
}
.mzr-path-first .mzr-rank { background: var(--mzr-accent); }
.mzr-path-titles { flex: 1 1 auto; }
.mzr-path-title { margin: 0; font-size: 1.15rem; line-height: 1.3; }
.mzr-path-land {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mzr-muted);
	font-weight: 700;
	margin-top: 2px;
}
.mzr-stufe {
	flex: 0 0 auto;
	font-size: 0.75rem;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
	white-space: nowrap;
}
.mzr-stufe-realistisch { background: #F0F9F4; color: var(--mzr-ok); }
.mzr-stufe-machbar { background: #FDF6EC; color: var(--mzr-warn); }
.mzr-stufe-unwahrscheinlich { background: var(--mzr-soft); color: var(--mzr-muted); }
.mzr-offer { margin-top: 4px; }
.mzr-details {
	margin: 0 0 14px;
	padding-left: 18px;
	font-size: 0.88rem;
	color: var(--mzr-ink, #232F3F);
}
/* Feedback-Karte am Ende des Ergebnisses */
.mzr-fb-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}
.mzr-fb-pill.is-active {
	background: #232F3F;
	color: #FFFFFF;
	border-color: #232F3F;
}
.mzr-fb-text {
	width: 100%;
	min-height: 74px;
	resize: vertical;
	margin: 0 0 12px;
	font-family: inherit;
}

/* Wunsch-Standorte: Frage im Funnel + Karte im Ergebnis */
.mzr-wunsch-suche { margin-bottom: 10px; }
.mzr-wunsch-liste {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 14px;
}
.mzr-wunsch-chip .mzr-wunsch-land,
.mzr-wunsch-kopf .mzr-wunsch-land {
	font-size: 0.78em;
	color: var(--mzr-ink-2, #6B7A8E);
	font-weight: 400;
}
.mzr-wunsch-karte .mzr-wunsch-row {
	padding: 10px 0 6px;
	border-top: 1px solid #E9EEF5;
}
.mzr-wunsch-karte .mzr-wunsch-kopf { margin-bottom: 6px; font-size: 1.02rem; }

/* Hinweis, wenn ein Weg nur über die Sprach-Lernbereitschaft offen ist */
.mzr-lang-hinweis {
	margin: 0 0 14px;
	padding: 10px 14px;
	border-left: 3px solid #232F3F;
	background: #FDF9F4;
	font-size: 0.88rem;
	line-height: 1.5;
	color: var(--mzr-ink, #232F3F);
	border-radius: 0 8px 8px 0;
}
.mzr-details li { margin-bottom: 6px; }
.mzr-laender { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.mzr-land-row {
	font-size: 0.85rem;
	background: var(--mzr-soft);
	border: 1px solid var(--mzr-line);
	border-radius: 6px;
	padding: 8px 12px;
	line-height: 1.45;
}
.mzr-land-row strong { color: var(--mzr-navy); }
.mzr-land-more { font-size: 0.8rem; color: var(--mzr-muted); padding: 2px 4px; }
.mzr-standorte { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.mzr-standorte-title {
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--mzr-muted);
	margin-top: 4px;
}
.mzr-restart { margin: 8px 0 16px; }
.mzr-disclaimer {
	font-size: 0.75rem;
	color: var(--mzr-muted);
	border-top: 1px solid var(--mzr-line);
	padding-top: 12px;
}

/* MedAT-Rechner */
.mzr-medat-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 10px;
	flex-wrap: wrap;
}
.mzr-medat-label { flex: 1 1 220px; font-size: 0.92rem; font-weight: 600; }
.mzr-medat-label span { font-weight: 400; color: var(--mzr-muted); }
.mzr-medat-input { flex: 0 0 110px; margin-bottom: 0; }
.mzr-medat-out { margin-top: 14px; font-size: 0.95rem; }
.mzr-medat-out ul { margin: 8px 0 0; padding-left: 18px; }
.mzr-medat-err { color: #B3261E; }
.mzr-medat-vergleich {
	font-size: 0.9rem;
	background: #FFF0EA;
	border-left: 4px solid var(--mzr-accent);
	border-radius: 0 8px 8px 0;
	padding: 12px 16px;
	margin-bottom: 14px;
	line-height: 1.5;
}

.mzr-region-wrap { margin: 0; }

/* ---------- Ergebnisbereich im Kontobereich-Stil ---------- */
.mzr-dash-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	flex-wrap: wrap;
	background: var(--mzr-navy);
	color: #FFFFFF;
	border-radius: 12px;
	padding: 26px 26px 22px;
	margin-bottom: 16px;
}
.mzr .mzr-dash-greet { font-size: 0.85rem; opacity: 0.75; margin-bottom: 2px; color: #FFFFFF !important; }
.mzr .mzr-dash-title, h2.mzr-dash-title { margin: 0 0 6px !important; font-size: 1.5rem !important; line-height: 1.2 !important; color: #FFFFFF !important; }
.mzr .mzr-dash-sub { margin: 0 !important; font-size: 0.9rem; opacity: 0.85; max-width: 46ch; color: #FFFFFF !important; }
.mzr-dash-badge {
	flex: 0 0 auto;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.3);
	color: #FFFFFF;
	font-size: 0.78rem;
	font-weight: 600;
	padding: 6px 12px;
	border-radius: 999px;
	white-space: nowrap;
}
.mzr-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }

/* Bereichs-Navigation im Ergebnis */
.mzr-tabs {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
	border-bottom: 2px solid var(--mzr-line);
	margin-bottom: 18px;
}
.mzr .mzr-tab,
.mzr .mzr-tab:hover,
.mzr .mzr-tab:focus,
.mzr .mzr-tab:active {
	background: transparent !important;
	border: none !important;
	border-bottom: 3px solid transparent !important;
	color: var(--mzr-muted) !important;
	font-size: 0.92rem !important;
	font-weight: 600;
	font-family: inherit;
	padding: 10px 16px !important;
	cursor: pointer;
	margin-bottom: -2px;
	line-height: 1.3 !important;
	height: auto !important;
	min-height: 0 !important;
	border-radius: 0 !important;
}
.mzr .mzr-tab.is-active {
	color: var(--mzr-navy) !important;
	border-bottom-color: var(--mzr-accent) !important;
}
.mzr-panel { animation: mzr-slide 0.2s ease; }
.mzr-heimat-block {
	border-top: 1px solid var(--mzr-line);
	padding-top: 12px;
	margin-top: 12px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}
.mzr-heimat-text { font-size: 0.88rem !important; margin-bottom: 4px !important; }
.mzr-chip {
	font-size: 0.8rem;
	background: var(--mzr-bg);
	border: 1px solid var(--mzr-line);
	border-radius: 999px;
	padding: 5px 14px 5px 6px;
	color: var(--mzr-navy);
	display: inline-flex;
	align-items: center;
	gap: 8px;
}
.mzr-chip b {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--mzr-navy);
	color: #FFFFFF;
	font-size: 0.72rem;
}
.mzr-chip-first b { background: var(--mzr-accent); }
.mzr-chip-first { border-color: var(--mzr-accent); }

.mzr .mzr-offer-small,
.mzr .mzr-offer-small:hover,
.mzr .mzr-offer-small:focus,
.mzr .mzr-offer-small:visited {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mzr-accent) !important;
	background: transparent !important;
	text-decoration: none;
	margin-top: 2px;
}
.mzr .mzr-offer-small:hover { text-decoration: underline; }

/* Terminleiste */
.mzr-termine .mzr-termin-group { margin-bottom: 12px; }
.mzr-termin-row {
	font-size: 0.88rem;
	padding: 7px 12px;
	border-left: 3px solid var(--mzr-accent);
	background: var(--mzr-soft);
	border-radius: 0 6px 6px 0;
	margin-bottom: 5px;
}

/* Interaktives Uni-Ranking */
.mzr-uniranking { margin: 0 0 14px; }
.mzr-ur-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 8px;
}
.mzr-ur-controls { display: flex; gap: 6px; }
.mzr .mzr-ur-btn,
.mzr .mzr-ur-btn:hover,
.mzr .mzr-ur-btn:focus,
.mzr .mzr-ur-btn:active {
	background-color: var(--mzr-bg) !important;
	color: var(--mzr-navy) !important;
	border: 1px solid var(--mzr-line) !important;
	border-radius: 999px !important;
	font-size: 0.78rem !important;
	font-weight: 600;
	font-family: inherit;
	padding: 5px 14px !important;
	cursor: pointer;
	line-height: 1.3 !important;
	height: auto !important;
	min-height: 0 !important;
}
.mzr .mzr-ur-btn.is-active {
	background-color: var(--mzr-navy) !important;
	color: #FFFFFF !important;
	border-color: var(--mzr-navy) !important;
}
.mzr .mzr-ur-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.mzr .mzr-ur-more { margin-top: 8px; }
.mzr-ur-list { display: flex; flex-direction: column; gap: 6px; }
.mzr-ur-row {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--mzr-soft);
	border: 1px solid var(--mzr-line);
	border-radius: 8px;
	padding: 9px 12px;
	transition: border-color 0.12s ease;
}
.mzr-ur-row:hover { border-color: var(--mzr-navy); }
.mzr-ur-badge {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--mzr-navy);
	color: #FFFFFF;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}
.mzr-ur-mid { flex: 1 1 auto; min-width: 0; }
.mzr-ur-name {
	font-size: 0.88rem;
	font-weight: 600;
	color: var(--mzr-navy);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.mzr-ur-bar { height: 5px; background: #ECE7DF; border-radius: 999px; margin-top: 5px; overflow: hidden; }
.mzr-ur-fill { height: 100%; background: var(--mzr-accent); border-radius: 999px; }
.mzr-ur-right { flex: 0 0 auto; text-align: right; }
.mzr-ur-plaetze { font-size: 0.82rem; font-weight: 600; color: var(--mzr-navy); font-variant-numeric: tabular-nums; }
.mzr-ur-km { font-size: 0.75rem; color: var(--mzr-muted); font-variant-numeric: tabular-nums; }

/* Chancen-Check + Ampel */
.mzr-ur-check { margin-bottom: 10px; }
.mzr-ur-check-row { display: flex; gap: 8px; flex-wrap: wrap; }
.mzr .mzr-ur-note { flex: 1 1 180px; margin-bottom: 6px !important; }
.mzr .mzr-ur-bl { flex: 1 1 200px; margin-bottom: 6px !important; }
.mzr-ur-ampel {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 600;
	padding: 2px 8px;
	border-radius: 999px;
	margin-top: 3px;
}
.mzr-ur-ampel-gruen { background: #E6F5EC; color: var(--mzr-ok); }
.mzr-ur-ampel-gelb { background: #FDF3E0; color: var(--mzr-warn); }
.mzr-ur-ampel-grau { background: #EFEDE9; color: var(--mzr-muted); }
.mzr-ur-clickable { cursor: pointer; }
.mzr-ur-holder { display: flex; flex-direction: column; }
.mzr-ur-details {
	font-size: 0.8rem;
	color: var(--mzr-ink, #232F3F);
	background: #FFFFFF;
	border: 1px solid var(--mzr-line);
	border-top: none;
	border-radius: 0 0 8px 8px;
	padding: 8px 12px 9px 58px;
	line-height: 1.5;
}
.mzr-ur-scale-hint { display: block; font-size: 0.72rem; color: var(--mzr-muted); margin-top: 3px; }
.mzr-ur-logo {
	flex: 0 0 auto;
	width: 34px;
	height: 34px;
	object-fit: contain;
	border-radius: 6px;
	background: #FFFFFF;
}

/* Pro-Test-Häufigkeit (Wiederholer) */
.mzr-pc-row {
	background: var(--mzr-soft);
	border: 1px solid var(--mzr-line);
	border-radius: 8px;
	padding: 12px 14px;
	margin-bottom: 10px;
}
.mzr-pc-label { font-weight: 600; font-size: 0.95rem; margin-bottom: 8px; }
.mzr-pc-seg { display: flex; gap: 6px; flex-wrap: wrap; }
.mzr .mzr-pc-btn,
.mzr .mzr-pc-btn:hover,
.mzr .mzr-pc-btn:focus,
.mzr .mzr-pc-btn:active {
	background-color: #FFFFFF !important;
	color: var(--mzr-navy) !important;
	border: 2px solid var(--mzr-line) !important;
	border-radius: 999px !important;
	font-size: 0.85rem !important;
	font-weight: 600;
	font-family: inherit;
	padding: 6px 16px !important;
	cursor: pointer;
	line-height: 1.3 !important;
	height: auto !important;
	min-height: 0 !important;
}
.mzr .mzr-pc-btn.is-selected {
	border-color: var(--mzr-accent) !important;
	background-color: #FFF0EA !important;
}
.mzr-pc-extra { display: flex; gap: 8px; margin-top: 8px; }
.mzr .mzr-pc-input { flex: 1 1 auto; margin-bottom: 0 !important; min-height: 44px !important; font-size: 0.88rem !important; }
.mzr .mzr-pc-jahr { flex: 0 0 90px; }
.mzr .mzr-pc-ort { margin: 8px 0 0 !important; min-height: 44px !important; font-size: 0.88rem !important; }

/* Europa-Uni-Finder */
.mzr-eu-controls { display: flex; flex-direction: column; gap: 8px; margin-bottom: 10px; }
.mzr .mzr-eu-land { margin-bottom: 0 !important; }
.mzr-eu-row { align-items: flex-start; }
.mzr-eu-sub { font-size: 0.78rem; color: var(--mzr-muted); margin-top: 2px; }
.mzr .mzr-eu-link,
.mzr .mzr-eu-link:hover,
.mzr .mzr-eu-link:visited {
	color: var(--mzr-navy) !important;
	text-decoration: none;
	background: transparent !important;
}
.mzr .mzr-eu-link:hover { text-decoration: underline; }
.mzr-eu-badges { display: flex; gap: 5px; margin-top: 5px; flex-wrap: wrap; }
.mzr-eu-badge {
	font-size: 0.68rem;
	font-weight: 700;
	padding: 1px 8px;
	border-radius: 999px;
	background: var(--mzr-navy);
	color: #FFFFFF;
}
.mzr-eu-badge-de { background: var(--mzr-accent); }
.mzr-eu-badge-frei { background: #E6F5EC; color: var(--mzr-ok, #1E7B4F); }
.mzr-eu-badge-fach { background: #EFEDE9; color: var(--mzr-muted); cursor: help; }
.mzr-eu-badge-warn { background: #FBEAE8; color: #B3261E; cursor: help; }
.mzr-fach-hint { display: block; font-size: 0.76rem; color: var(--mzr-muted); margin-top: 4px; }
.mzr-fach-warn { display: block; font-size: 0.78rem; font-weight: 600; color: #B3261E; margin-top: 4px; }
.mzr-land-row-warn { border-color: #E5B5B0; }

/* Exakte Noten-Eingabe */
.mzr .mzr-note-input {
	font-size: 1.6rem !important;
	font-weight: 600;
	text-align: center;
	max-width: 180px;
	margin: 0 auto 14px !important;
	font-variant-numeric: tabular-nums;
}
.mzr .mzr-note-unknown { max-width: 320px; }

/* Budget-Regler */
.mzr-slider-value {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--mzr-navy);
	text-align: center;
	margin-bottom: 14px;
	font-variant-numeric: tabular-nums;
}
.mzr .mzr-slider {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	height: 8px;
	border-radius: 999px;
	background: var(--mzr-line);
	outline: none;
	margin: 6px 0 4px;
	padding: 0 !important;
	border: none !important;
}
.mzr .mzr-slider::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--mzr-accent);
	border: 3px solid #FFFFFF;
	box-shadow: 0 1px 4px rgba(35, 47, 63, 0.3);
	cursor: pointer;
}
.mzr .mzr-slider::-moz-range-thumb {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background: var(--mzr-accent);
	border: 3px solid #FFFFFF;
	box-shadow: 0 1px 4px rgba(35, 47, 63, 0.3);
	cursor: pointer;
}
.mzr-slider-scale { display: flex; justify-content: space-between; font-size: 0.75rem; color: var(--mzr-muted); margin-bottom: 12px; }
.mzr-slider-th {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--mzr-navy);
	background: var(--mzr-soft);
	border: 1px solid var(--mzr-line);
	border-radius: 8px;
	padding: 10px 14px;
	text-align: center;
	margin-bottom: 8px;
}

/* ---------- Funnel-Modus: ablenkungsfreier Vollbild-Overlay ---------- */
html.mzr-scroll-lock,
html.mzr-scroll-lock body { overflow: hidden !important; }

.mzr.mzr-funnel-on {
	position: fixed;
	inset: 0;
	z-index: 999999;
	max-width: none;
	margin: 0;
	background: linear-gradient(180deg, var(--mzr-soft) 0%, #FFFFFF 55%);
	overflow-y: auto;
	padding: 84px 20px 48px;
	-webkit-overflow-scrolling: touch;
}
.mzr.mzr-funnel-on .mzr-card,
.mzr.mzr-funnel-on .mzr-result {
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}
.mzr.mzr-funnel-on > .mzr-card {
	border: none;
	box-shadow: none;
	background: transparent;
	padding: 0;
	animation: mzr-slide 0.3s ease;
}
.mzr.mzr-funnel-on .mzr-title {
	font-size: 1.7rem;
	margin-bottom: 12px;
	text-wrap: balance;
}
.mzr.mzr-funnel-on .mzr-sub { font-size: 0.95rem; margin-bottom: 20px; }
.mzr.mzr-funnel-on .mzr-opt,
.mzr.mzr-funnel-on .mzr-opt:hover,
.mzr.mzr-funnel-on .mzr-opt:focus,
.mzr.mzr-funnel-on .mzr-opt:active {
	background-color: #FFFFFF !important;
	color: var(--mzr-navy) !important;
	padding: 16px 18px;
	font-size: 1.05rem;
	box-shadow: 0 1px 3px rgba(35, 47, 63, 0.07);
}
.mzr.mzr-funnel-on .mzr-opt.is-selected,
.mzr.mzr-funnel-on .mzr-opt.is-selected:hover,
.mzr.mzr-funnel-on .mzr-opt.is-selected:focus,
.mzr.mzr-funnel-on .mzr-opt.is-selected:active {
	background-color: #FFF0EA !important;
	color: var(--mzr-navy) !important;
}
.mzr.mzr-funnel-on .mzr-select,
.mzr.mzr-funnel-on .mzr-input { background: #FFFFFF; padding: 14px 16px; }

/* Fortschritt klebt im Funnel ganz oben */
.mzr.mzr-funnel-on .mzr-progress-outer {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	margin: 0;
	z-index: 2;
}
.mzr.mzr-funnel-on .mzr-progress { border-radius: 0; background: #EDE9E2; }
.mzr.mzr-funnel-on .mzr-progress-label { padding: 8px 16px; margin: 0; }

/* Dezenter Ausstieg statt Wegklick-Falle */
.mzr-funnel-exit {
	position: fixed;
	top: 10px;
	right: 12px;
	z-index: 3;
	background: none;
	border: none;
	color: var(--mzr-muted);
	font-size: 0.82rem;
	font-family: inherit;
	text-decoration: underline;
	cursor: pointer;
	padding: 8px 10px;
}
.mzr-funnel-exit:hover { color: var(--mzr-navy); }

/* Ergebnis- und Teaser-Karten behalten im Funnel ihre Karten-Optik */
.mzr.mzr-funnel-on .mzr-path,
.mzr.mzr-funnel-on .mzr-medat,
.mzr.mzr-funnel-on .mzr-teaser {
	background: #FFFFFF;
	border: 1px solid var(--mzr-line);
	padding: 26px 24px;
	box-shadow: 0 1px 4px rgba(35, 47, 63, 0.08);
	animation: mzr-slide 0.3s ease;
}
.mzr.mzr-funnel-on .mzr-path-first { border-color: var(--mzr-accent); border-width: 2px; }

@keyframes mzr-slide {
	from { opacity: 0; transform: translateY(14px); }
	to { opacity: 1; transform: none; }
}

@media (max-width: 480px) {
	.mzr-card { padding: 20px 16px; }
	.mzr-nav { flex-direction: column-reverse; }
	.mzr-btn { width: 100%; }
	.mzr-path-head { flex-wrap: wrap; }
	.mzr.mzr-funnel-on { padding: 72px 14px 32px; }
	.mzr.mzr-funnel-on .mzr-title { font-size: 1.4rem; }
}
@media (prefers-reduced-motion: reduce) {
	.mzr-progress-bar, .mzr-opt, .mzr-btn { transition: none; }
	.mzr.mzr-funnel-on > .mzr-card,
	.mzr.mzr-funnel-on .mzr-path,
	.mzr.mzr-funnel-on .mzr-medat,
	.mzr.mzr-funnel-on .mzr-teaser { animation: none; }
}

/* ===== v1.20.0 ===== */

/* Beschreibungszeile in Options-Buttons (z. B. Liste anerkannter Ausbildungen) */
.mzr .mzr-opt-desc {
	display: block;
	font-size: 0.76rem;
	font-weight: 400;
	color: var(--mzr-muted) !important;
	line-height: 1.45;
	margin-top: 4px;
}
.mzr .mzr-opt.is-selected .mzr-opt-desc,
.mzr .mzr-opt:hover .mzr-opt-desc { color: var(--mzr-muted) !important; }

/* Zusätzlich gewählte Sonderwege (Militär/ÖGD/Landarzt) */
.mzr-card.mzr-path-bind { border: 1px dashed var(--mzr-accent); background: #FFF9F6; }
.mzr .mzr-rank-plus { background: var(--mzr-accent) !important; }

/* Conversion-CTA */
.mzr-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
	background: var(--mzr-navy);
	border-radius: 14px;
	padding: 18px 20px;
	margin: 14px 0 18px;
}
.mzr-cta-kicker {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mzr-accent);
	margin-bottom: 3px;
}
.mzr-cta-line { font-size: 0.95rem; color: #FFFFFF; line-height: 1.5; }
.mzr-cta-line strong { color: #FFFFFF; }
.mzr .mzr-cta-btn,
.mzr .mzr-cta-btn:visited {
	display: inline-block;
	background: var(--mzr-accent) !important;
	color: #FFFFFF !important;
	font-size: 1rem;
	font-weight: 700;
	padding: 13px 26px;
	border-radius: 10px;
	text-decoration: none !important;
	white-space: nowrap;
	box-shadow: 0 4px 14px rgba(255, 66, 3, 0.35);
	transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.mzr .mzr-cta-btn:hover,
.mzr .mzr-cta-btn:focus {
	background: var(--mzr-accent) !important;
	color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(255, 66, 3, 0.45);
}
@media (max-width: 560px) {
	.mzr-cta { flex-direction: column; align-items: stretch; text-align: center; }
	.mzr .mzr-cta-btn { text-align: center; white-space: normal; }
}

/* Multi-Quoten-Chancen-Check */
.mzr .mzr-ur-ausb { flex: 0 0 auto; margin-bottom: 6px; }
.mzr-ur-qline {
	font-size: 0.82rem;
	padding: 5px 10px;
	border-radius: 6px;
	margin-bottom: 4px;
	background: var(--mzr-bg);
	color: var(--mzr-muted);
}
.mzr-ur-q-gruen { background: #E6F5EC; color: var(--mzr-ok); }
.mzr-ur-q-gelb { background: #FDF3E0; color: var(--mzr-warn); }
.mzr-ur-q-grau { background: #EFEDE9; color: var(--mzr-muted); }
/* ===== v1.21.0 Design-Pass ===== */

/* Karten: weicher, tiefer, lebendiger */
.mzr-card {
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(35, 47, 63, 0.04), 0 10px 28px -14px rgba(35, 47, 63, 0.14);
	transition: transform 0.14s ease, box-shadow 0.14s ease;
}
.mzr-card.mzr-path:hover {
	transform: translateY(-2px);
	box-shadow: 0 2px 4px rgba(35, 47, 63, 0.05), 0 18px 36px -14px rgba(35, 47, 63, 0.2);
}
.mzr-path-first { background: linear-gradient(135deg, #FFF6F1 0%, #FFFFFF 55%); }

/* Rank-Badges mit Verlauf */
.mzr-rank { background: linear-gradient(135deg, #37465E, var(--mzr-navy)); }
.mzr-path-first .mzr-rank {
	background: linear-gradient(135deg, #FF6A2B, var(--mzr-accent));
	box-shadow: 0 4px 12px rgba(255, 66, 3, 0.4);
}

/* Stufen-Pills mit Status-Punkt */
.mzr-stufe::before {
	content: '';
	display: inline-block;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	margin-right: 6px;
	background: currentColor;
	vertical-align: 1px;
}

/* Tabs als Segmented Control */
.mzr .mzr-tabs {
	display: inline-flex;
	flex-wrap: wrap;
	background: var(--mzr-soft);
	border: 1px solid var(--mzr-line);
	border-bottom: 1px solid var(--mzr-line);
	border-radius: 999px;
	padding: 4px;
	gap: 2px;
	margin-bottom: 18px;
}
.mzr .mzr-tab,
.mzr .mzr-tab:hover,
.mzr .mzr-tab:focus,
.mzr .mzr-tab:active {
	border: none !important;
	border-bottom: none !important;
	border-radius: 999px !important;
	padding: 9px 18px !important;
	margin-bottom: 0;
}
.mzr .mzr-tab:hover { color: var(--mzr-navy) !important; }
.mzr .mzr-tab.is-active,
.mzr .mzr-tab.is-active:hover,
.mzr .mzr-tab.is-active:focus {
	background: var(--mzr-navy) !important;
	color: #FFFFFF !important;
	box-shadow: 0 2px 10px rgba(35, 47, 63, 0.3);
}

/* Dashboard-Kopf mit Verlauf + Akzent-Glow */
.mzr-dash-head {
	background: linear-gradient(135deg, #2D3C52 0%, var(--mzr-navy) 60%);
	border-radius: 16px;
	position: relative;
	overflow: hidden;
}
.mzr-dash-head::after {
	content: '';
	position: absolute;
	right: -70px;
	top: -70px;
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 66, 3, 0.3), transparent 68%);
	pointer-events: none;
}

/* Chips */
.mzr-chip {
	background: #FFFFFF;
	box-shadow: 0 1px 4px rgba(35, 47, 63, 0.08);
	padding: 6px 16px 6px 7px;
}

/* Uni-Ranking: Zeilen als Karten */
.mzr-ur-row {
	background: #FFFFFF;
	border-radius: 12px;
	padding: 12px 14px;
	box-shadow: 0 1px 3px rgba(35, 47, 63, 0.06);
	transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.mzr-ur-row:hover {
	transform: translateY(-1px);
	border-color: var(--mzr-line);
	box-shadow: 0 8px 18px -8px rgba(35, 47, 63, 0.22);
}
.mzr-ur-badge { background: linear-gradient(135deg, #37465E, var(--mzr-navy)); }
.mzr-ur-bar { height: 6px; }
.mzr-ur-fill {
	background: linear-gradient(90deg, #FF6A2B, var(--mzr-accent));
	transition: width 0.5s ease;
}
.mzr-ur-plaetze { font-size: 0.95rem; font-weight: 800; }

/* Ampeln als Pills mit Status-Punkt */
.mzr-ur-ampel { border-radius: 999px; padding: 4px 12px; font-weight: 600; }
.mzr-ur-ampel::before {
	content: '';
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	margin-right: 7px;
	background: currentColor;
	vertical-align: 0;
}

/* Weitere Wege: kompakte Karten unter Trennzeile */
.mzr-more-title {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--mzr-muted);
	margin: 24px 0 6px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.mzr-more-title::after { content: ''; flex: 1; height: 1px; background: var(--mzr-line); }
.mzr-card.mzr-path-more { padding: 14px 18px; }
.mzr-path-more .mzr-path-title { font-size: 1rem; }
.mzr .mzr-rank-more {
	background: var(--mzr-soft) !important;
	color: var(--mzr-muted) !important;
	width: 28px;
	height: 28px;
	font-size: 0.85rem;
	box-shadow: none;
}
/* v1.23.0 */
.mzr-punkte-echo {
	font-size: .9rem;
	background: var(--mzr-soft);
	border: 1px solid var(--mzr-line);
	border-radius: 8px;
	padding: 10px 13px;
	margin-bottom: 10px;
	min-height: 0;
}
.mzr-punkte-echo:empty { display: none; }
.mzr-note-fallback { margin-bottom: 8px; }
.mzr .mzr-linkbtn,
.mzr .mzr-linkbtn:hover,
.mzr .mzr-linkbtn:focus {
	display: inline-block;
	background: transparent !important;
	border: none !important;
	padding: 4px 0 !important;
	margin-bottom: 10px;
	font-family: inherit;
	font-size: .88rem;
	font-weight: 600;
	color: var(--mzr-accent) !important;
	text-decoration: underline;
	cursor: pointer;
}
.mzr-zs-summe {
	font-size: .95rem;
	background: var(--mzr-soft);
	border-left: 3px solid var(--mzr-accent);
	border-radius: 0 8px 8px 0;
	padding: 11px 14px;
	margin: 4px 0 12px;
}
/* v1.24.0 Chancen-Sortierung */
.mzr-ur-sorthint {
	font-size: 0.83rem;
	color: var(--mzr-muted);
	background: var(--mzr-soft);
	border-radius: 8px;
	padding: 9px 13px;
	margin-bottom: 10px;
	line-height: 1.5;
}
.mzr-ur-sorthint strong { color: var(--mzr-navy); }
.mzr-ur-row.mzr-ur-top {
	border-color: var(--mzr-ok);
	box-shadow: 0 0 0 1px var(--mzr-ok), 0 8px 18px -10px rgba(30, 123, 79, 0.4);
}
.mzr-ur-topbadge {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	background: #E9F4ED;
	color: var(--mzr-ok);
	border-radius: 99px;
	padding: 2px 9px;
	margin-left: 8px;
	vertical-align: 1px;
}
.mzr .mzr-ur-btn:disabled {
	opacity: 0.35 !important;
	cursor: not-allowed;
}
/* v1.25.0 Europa-Finder mit Filtergrid */
.mzr-eu-filter {
	display: grid;
	grid-template-columns: 1fr;
	gap: 10px 14px;
	margin-bottom: 12px;
}
@media (min-width: 520px) { .mzr-eu-filter { grid-template-columns: 1fr 1fr; } }
.mzr-eu-feld { display: flex; flex-direction: column; }
.mzr-eu-label {
	font-size: 0.72rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--mzr-muted);
	margin-bottom: 4px;
}
.mzr-eu-feld .mzr-select { margin-bottom: 0 !important; }
.mzr-eu-pills { flex-wrap: wrap; margin-bottom: 10px; }
.mzr .mzr-eu-reset,
.mzr .mzr-eu-reset:hover {
	margin-left: auto;
	color: var(--mzr-muted) !important;
	border-style: dashed !important;
}
.mzr-eu-count {
	font-size: 0.85rem;
	color: var(--mzr-muted);
	background: var(--mzr-soft);
	border-radius: 8px;
	padding: 9px 13px;
	margin-bottom: 10px;
	line-height: 1.5;
}
.mzr-eu-count strong { color: var(--mzr-navy); }
/* v1.26.0 Angaben-Panel */
.mzr-ang-liste { display: flex; flex-direction: column; gap: 8px; margin-bottom: 16px; }
.mzr-ang-row {
	display: flex;
	align-items: center;
	gap: 14px;
	background: var(--mzr-soft);
	border: 1px solid var(--mzr-line);
	border-radius: 10px;
	padding: 11px 14px;
}
.mzr-ang-links { flex: 1 1 auto; min-width: 0; }
.mzr-ang-frage { font-size: 0.78rem; color: var(--mzr-muted); line-height: 1.35; }
.mzr-ang-wert {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--mzr-navy);
	margin-top: 2px;
	line-height: 1.4;
	overflow-wrap: anywhere;
}
.mzr-ang-wert.is-leer { color: var(--mzr-muted); font-weight: 400; font-style: italic; }
.mzr-ang-row .mzr-ur-btn { flex: 0 0 auto; }
/* v1.28.0 Europa-Filter: Chips + Regler */
.mzr-eu-feld-weit { grid-column: 1 / -1; }
.mzr-eu-labelrow {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 5px;
}
.mzr-eu-labelrow .mzr-eu-label { margin-bottom: 0; }
.mzr-eu-reglerwert {
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--mzr-navy);
	font-variant-numeric: tabular-nums;
}
.mzr .mzr-eu-alle,
.mzr .mzr-eu-alle:hover,
.mzr .mzr-eu-alle:focus {
	background: transparent !important;
	border: none !important;
	padding: 0 !important;
	font-family: inherit;
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--mzr-muted) !important;
	text-decoration: underline;
	cursor: pointer;
}
.mzr .mzr-eu-alle.is-active { color: var(--mzr-accent) !important; text-decoration: none; }
.mzr-chipset { display: flex; flex-wrap: wrap; gap: 6px; }
.mzr-chipset-scroll {
	max-height: 116px;
	overflow-y: auto;
	padding: 8px;
	border: 1px solid var(--mzr-line);
	border-radius: 10px;
	background: #FFFFFF;
}
.mzr .mzr-chip-btn,
.mzr .mzr-chip-btn:hover,
.mzr .mzr-chip-btn:focus,
.mzr .mzr-chip-btn:active {
	font-family: inherit;
	font-size: 0.82rem !important;
	line-height: 1.2;
	padding: 6px 12px !important;
	border-radius: 999px !important;
	border: 1px solid var(--mzr-line) !important;
	background: var(--mzr-soft) !important;
	color: var(--mzr-navy) !important;
	cursor: pointer;
	white-space: nowrap;
	transition: background 0.12s ease, border-color 0.12s ease;
}
.mzr .mzr-chip-btn:hover { border-color: var(--mzr-navy) !important; }
.mzr .mzr-chip-btn.is-active,
.mzr .mzr-chip-btn.is-active:hover,
.mzr .mzr-chip-btn.is-active:focus {
	background: var(--mzr-navy) !important;
	border-color: var(--mzr-navy) !important;
	color: #FFFFFF !important;
	font-weight: 600;
}
.mzr .mzr-eu-regler { margin: 4px 0 0 !important; width: 100% !important; }
/* v1.29.0 Kurs-Deeplinks */
.mzr-linkzeile { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: baseline; margin-top: 4px; }
.mzr-linkzeile-oben { margin: 0 0 10px; }
.mzr .mzr-kurslink,
.mzr .mzr-kurslink:hover,
.mzr .mzr-kurslink:focus,
.mzr .mzr-kurslink:visited {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--mzr-navy) !important;
	background: transparent !important;
	text-decoration: none;
	border-bottom: 1px solid var(--mzr-line);
}
.mzr .mzr-kurslink:hover { border-bottom-color: var(--mzr-navy); }
.mzr .mzr-kursmini,
.mzr .mzr-kursmini:hover,
.mzr .mzr-kursmini:focus,
.mzr .mzr-kursmini:visited {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--mzr-accent) !important;
	background: var(--mzr-accent-soft, #FFF0EA) !important;
	border-radius: 999px;
	padding: 1px 8px;
	text-decoration: none;
	vertical-align: 1px;
	white-space: nowrap;
}
.mzr .mzr-kursmini:hover { background: #FFE2D6 !important; }
.mzr .mzr-cta-sub,
.mzr .mzr-cta-sub:hover,
.mzr .mzr-cta-sub:focus,
.mzr .mzr-cta-sub:visited {
	display: block;
	flex-basis: 100%;
	font-size: 0.85rem;
	font-weight: 600;
	color: #FFFFFF !important;
	opacity: 0.82;
	text-decoration: underline;
	background: transparent !important;
	margin-top: 2px;
}
.mzr .mzr-cta-sub:hover { opacity: 1; }
/* v1.30.0 */
.mzr-eu-zulassung {
	font-size: 0.8rem;
	color: var(--mzr-muted);
	line-height: 1.45;
	margin-top: 3px;
}
.mzr-eu-zulassung strong { color: var(--mzr-navy); font-weight: 600; }
/* v1.31.0 Europa-Uni-Karten */
.mzr-eu-card {
	background: #FFFFFF;
	border: 1px solid var(--mzr-line);
	border-radius: 12px;
	padding: 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	box-shadow: 0 1px 3px rgba(35, 47, 63, 0.06);
	transition: transform 0.12s ease, box-shadow 0.12s ease;
}
.mzr-eu-card:hover {
	transform: translateY(-1px);
	box-shadow: 0 8px 18px -8px rgba(35, 47, 63, 0.22);
}
.mzr-eu-kopf { display: flex; flex-direction: column; gap: 2px; }
.mzr-eu-titel { font-size: 1rem; font-weight: 700; line-height: 1.35; color: var(--mzr-navy); }
.mzr .mzr-eu-titel .mzr-eu-link,
.mzr .mzr-eu-titel .mzr-eu-link:hover,
.mzr .mzr-eu-titel .mzr-eu-link:visited {
	color: var(--mzr-navy) !important;
	background: transparent !important;
	text-decoration: none;
	border-bottom: 1px solid var(--mzr-line);
}
.mzr .mzr-eu-titel .mzr-eu-link:hover { border-bottom-color: var(--mzr-accent); }
.mzr-eu-ort { font-size: 0.82rem; color: var(--mzr-muted); }
.mzr-eu-km { color: var(--mzr-muted); }

.mzr-eu-preis {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
	background: var(--mzr-soft);
	border-left: 3px solid var(--mzr-accent);
	border-radius: 0 8px 8px 0;
	padding: 8px 12px;
}
.mzr-eu-preis.is-frei { border-left-color: var(--mzr-ok); background: #F0F9F4; }
.mzr-eu-betrag { font-size: 1.05rem; font-weight: 800; color: var(--mzr-navy); font-variant-numeric: tabular-nums; }
.mzr-eu-preis.is-frei .mzr-eu-betrag { color: var(--mzr-ok); }
.mzr-eu-pa { font-size: 0.78rem; font-weight: 500; color: var(--mzr-muted); }
.mzr-eu-schiene { font-size: 0.78rem; color: var(--mzr-muted); }

.mzr-eu-card .mzr-eu-badges { display: flex; flex-wrap: wrap; gap: 5px; margin: 0; }
.mzr-eu-badge-spr { background: var(--mzr-soft); color: var(--mzr-muted); }
.mzr-eu-badge-spr.is-aktiv { background: var(--mzr-navy); color: #FFFFFF; }
.mzr-eu-badge-test { background: #FDF3E0; color: var(--mzr-warn); }
.mzr-eu-zulassung, .mzr-eu-bew, .mzr-eu-gebtext {
	font-size: 0.82rem;
	color: var(--mzr-muted);
	line-height: 1.5;
}
.mzr-eu-zulassung strong, .mzr-eu-bew strong { color: var(--mzr-navy); font-weight: 600; }
.mzr-eu-gebtext { font-size: 0.78rem; font-style: italic; }
.mzr-ur-list .mzr-eu-card { margin-bottom: 0; }
/* v1.32.0 Melde-Knopf, Preis-Tag, externe Links */
.mzr .mzr-melden,
.mzr .mzr-melden:hover,
.mzr .mzr-melden:focus {
	align-self: flex-start;
	background: transparent !important;
	border: none !important;
	padding: 2px 0 !important;
	margin-top: 2px;
	font-family: inherit;
	font-size: 0.74rem;
	color: var(--mzr-muted) !important;
	text-decoration: underline;
	cursor: pointer;
}
.mzr .mzr-melden:hover { color: var(--mzr-accent) !important; }
.mzr .mzr-melden.is-gemeldet,
.mzr .mzr-melden.is-gemeldet:hover {
	color: var(--mzr-ok) !important;
	text-decoration: none;
	cursor: default;
}
.mzr-preistag {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	background: var(--mzr-soft);
	color: var(--mzr-muted);
	border-radius: 999px;
	padding: 1px 8px;
	margin-left: 6px;
	vertical-align: 1px;
}
.mzr .mzr-extlink,
.mzr .mzr-extlink:hover,
.mzr .mzr-extlink:visited {
	color: var(--mzr-accent) !important;
	background: transparent !important;
	text-decoration: none;
	border-bottom: 1px solid rgba(255, 66, 3, 0.35);
	overflow-wrap: anywhere;
}
.mzr .mzr-extlink:hover { border-bottom-color: var(--mzr-accent); }
/* v1.33.0 Ausweich-Buttons und Jahres-Warnung */
.mzr-ausweich { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.mzr .mzr-opt-klein,
.mzr .mzr-opt-klein:hover,
.mzr .mzr-opt-klein:focus {
	width: auto !important;
	flex: 1 1 220px;
	padding: 10px 14px !important;
	font-size: 0.9rem !important;
	text-align: center;
}
.mzr-pc-warn {
	font-size: 0.8rem;
	color: #B3261E;
	background: #FBEAE8;
	border-radius: 6px;
	padding: 6px 10px;
	margin-top: 4px;
	line-height: 1.45;
}
/* v1.34.0 Ergebnis nutzt die volle Breite des Bereichs */
.mzr.mzr-breit { max-width: 1100px; }
@media (min-width: 900px) {
	.mzr-breit .mzr-eu-filter { grid-template-columns: 1fr 1fr 1fr; }
	.mzr-breit .mzr-eu-feld-weit { grid-column: span 3; }
	/* Uni-Karten in Europa zweispaltig, sobald Platz da ist */
	.mzr-breit .mzr-eu .mzr-ur-list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		align-items: start;
	}
	.mzr-breit .mzr-chipset-scroll { max-height: 150px; }
	.mzr-breit .mzr-dash-head { padding: 30px 32px 26px; }
	.mzr-breit .mzr-card { padding: 26px 30px; }
}
@media (min-width: 1180px) {
	.mzr-breit .mzr-eu .mzr-ur-list { grid-template-columns: 1fr 1fr 1fr; }
}
/* Im Profil-Reiter den Bereich vollständig ausnutzen */
.mzr[data-mode="profil"] { max-width: 100%; }
.mzr[data-mode="profil"].mzr-breit { max-width: 100%; }
/* v1.36.0 Meldezeile, Pflichtsprachen */
.mzr-meldezeile { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: baseline; margin-top: 2px; }
.mzr-eu-plus { font-size: 0.72rem; color: var(--mzr-muted); font-weight: 700; align-self: center; }
.mzr .mzr-eu-badge-spr.is-pflicht {
	border: 1px solid var(--mzr-navy);
	background: #FFFFFF;
	color: var(--mzr-navy);
	font-weight: 600;
}
.mzr-ur-mid .mzr-melden { margin-top: 4px; }
/* ===== v1.37.0 PDF: Bildschirm ===== */
.mzr-nur-print { display: none; }
.mzr-dash-right { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.mzr .mzr-pdf-btn,
.mzr .mzr-pdf-btn:hover,
.mzr .mzr-pdf-btn:focus {
	background: rgba(255, 255, 255, 0.12) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	color: #FFFFFF !important;
	font-size: 0.85rem;
	padding: 8px 16px;
	white-space: nowrap;
}
.mzr .mzr-pdf-btn:hover { background: rgba(255, 255, 255, 0.22) !important; }

/* ===== v1.37.0 PDF: Druck ===== */

/* ============================================================
   Ergebnisseite, gestaltet statt gestapelt (v1.41).
   Drei Eingriffe: eine Bühne oben, ein Fokus auf den besten Weg,
   und Ruhe in den Karten - keine Kästen in Kästen mehr.
   Schriften nach Styleguide: Fraunces für Titel, Source Serif für
   Lesetext, Inter für alles Bedienbare.
   ============================================================ */
.mzr {
	--mzr-serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
	--mzr-prosa: "Source Serif 4", "Iowan Old Style", Georgia, serif;
	--mzr-ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	--mzr-sand: #FDF9F4;
	--mzr-sand2: #F7F1E9;
	--mzr-akzent-text: #D63500;
}

/* ---------- Bühne ---------- */
.mzr-hero {
	position: relative;
	overflow: hidden;
	border-radius: 18px;
	padding: 34px 32px 30px;
	margin-bottom: 22px;
	display: flex;
	gap: 24px;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	color: #F5F3EC;
	min-height: 200px;
}
.mzr-hero-bild { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.mzr-hero-text { position: relative; z-index: 1; flex: 1 1 320px; }
.mzr-hero-aktion { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.mzr .mzr-hero-greet {
	font-family: var(--mzr-ui); font-size: 0.78rem; font-weight: 700;
	letter-spacing: 0.16em; text-transform: uppercase; color: #FF8A5C !important;
	margin-bottom: 6px;
}
.mzr .mzr-hero-title, .mzr h2.mzr-hero-title {
	font-family: var(--mzr-serif) !important;
	font-size: 2.15rem !important; line-height: 1.08 !important;
	margin: 0 0 10px !important; color: #F5F3EC !important; font-weight: 600;
}
.mzr .mzr-hero-sub {
	font-family: var(--mzr-ui); font-size: 0.92rem; line-height: 1.5;
	margin: 0 !important; color: #B9C0CB !important; max-width: 48ch;
}
.mzr .mzr-hero-aktion .mzr-btn-ghost,
.mzr .mzr-hero-aktion .mzr-btn-ghost:hover {
	background-color: rgba(245, 243, 236, 0.12) !important;
	color: #F5F3EC !important;
	border-color: rgba(245, 243, 236, 0.38) !important;
	font-family: var(--mzr-ui); font-size: 0.85rem; padding: 9px 16px;
}
.mzr-hero-badge { font-family: var(--mzr-ui); font-size: 0.72rem; color: #9FB0C4; }

/* ---------- Fokus: der beste Weg ---------- */
.mzr-spot {
	background: #FFFFFF;
	border: 1px solid var(--mzr-line);
	border-left: 5px solid var(--mzr-accent);
	border-radius: 16px;
	padding: 24px 28px 22px;
	margin-bottom: 18px;
	box-shadow: 0 10px 28px rgba(35, 47, 63, 0.08);
}
.mzr-spot-kopf { display: flex; align-items: center; gap: 12px; }
.mzr-spot-kicker {
	font-family: var(--mzr-ui); font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.16em; text-transform: uppercase; color: var(--mzr-akzent-text);
}
.mzr .mzr-spot-titel {
	font-family: var(--mzr-serif); font-weight: 600;
	font-size: 1.65rem; line-height: 1.18; margin: 10px 0 2px;
}
.mzr-spot-land {
	font-family: var(--mzr-ui); font-size: 0.7rem; font-weight: 700;
	letter-spacing: 0.12em; text-transform: uppercase; color: var(--mzr-muted);
}
.mzr .mzr-spot-text {
	font-family: var(--mzr-prosa); font-size: 1.06rem; line-height: 1.62;
	margin: 14px 0 18px; max-width: 62ch; color: #2A3644;
}
.mzr-spot-aktion { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.mzr .mzr-spot-btn { font-family: var(--mzr-ui); padding: 13px 24px; border-radius: 10px; }
.mzr-spot-preis { font-family: var(--mzr-ui); font-size: 0.8rem; color: var(--mzr-muted); }
.mzr .mzr-spot-sub { font-family: var(--mzr-ui); font-size: 0.85rem; color: var(--mzr-akzent-text) !important; }

/* ---------- Sprungmarken ---------- */
.mzr-chips { display: flex; gap: 10px; flex-wrap: wrap; margin: 0 0 20px; }
.mzr .mzr-chip {
	display: inline-flex; align-items: center; gap: 9px;
	background-color: #FFFFFF !important;
	border: 1px solid var(--mzr-line) !important;
	border-radius: 999px; padding: 7px 16px 7px 7px;
	font-family: var(--mzr-ui); font-size: 0.85rem; font-weight: 500;
	color: var(--mzr-navy) !important; cursor: pointer;
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}
.mzr .mzr-chip:hover {
	border-color: var(--mzr-navy) !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(35, 47, 63, 0.08);
}
.mzr .mzr-chip b {
	width: 24px; height: 24px; border-radius: 50%;
	background: var(--mzr-navy); color: #FFFFFF;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 0.75rem; font-weight: 700;
}
.mzr .mzr-chip-first b { background: var(--mzr-accent); }

/* ---------- Reiter: schlanke Segmentleiste, bleibt beim Scrollen oben ---------- */
.mzr-tabsbar {
	position: sticky; top: 0; z-index: 5;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--mzr-line);
	padding: 10px 0; margin: 0 0 20px;
}
.mzr-tabs { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; }
.mzr-tabs::-webkit-scrollbar { display: none; }
.mzr .mzr-tab {
	font-family: var(--mzr-ui); font-size: 0.88rem; font-weight: 600;
	padding: 9px 17px; border-radius: 999px;
	border: 1px solid transparent !important;
	background-color: transparent !important;
	color: var(--mzr-muted) !important;
	white-space: nowrap; cursor: pointer;
}
.mzr .mzr-tab:hover { background-color: var(--mzr-sand2) !important; color: var(--mzr-navy) !important; }
.mzr .mzr-tab.is-active,
.mzr .mzr-tab.is-active:hover {
	background-color: var(--mzr-navy) !important; color: #FFFFFF !important;
}

/* ---------- Karten: mehr Luft, klare Hierarchie ---------- */
.mzr-result .mzr-card {
	border-radius: 16px;
	padding: 28px 30px;
	margin-bottom: 18px;
	box-shadow: 0 2px 10px rgba(35, 47, 63, 0.05);
	transition: box-shadow 0.18s ease, transform 0.18s ease;
}
.mzr-result .mzr-card:hover { box-shadow: 0 8px 24px rgba(35, 47, 63, 0.09); }
.mzr-result .mzr-path-first {
	border-color: var(--mzr-line);
	border-left: 5px solid var(--mzr-accent);
	border-width: 1px 1px 1px 5px;
}
.mzr .mzr-path-title {
	font-family: var(--mzr-serif); font-weight: 600;
	font-size: 1.32rem; line-height: 1.22;
}
.mzr .mzr-text {
	font-family: var(--mzr-prosa); font-size: 1.02rem; line-height: 1.62;
	color: #2A3644; max-width: 68ch;
}
.mzr-path-head { align-items: center; gap: 16px; margin-bottom: 14px; }
.mzr-rank { width: 38px; height: 38px; font-size: 1.05rem; }
.mzr-path-land { font-size: 0.68rem; letter-spacing: 0.12em; margin-top: 3px; }
.mzr .mzr-stufe { font-family: var(--mzr-ui); font-size: 0.72rem; padding: 5px 12px; }

/* ---------- Schluss mit Kästen in Kästen ---------- */
.mzr-result .mzr-land-row,
.mzr-result .mzr-standorte .mzr-land-row {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--mzr-line);
	border-radius: 0;
	padding: 11px 0 11px 16px;
	position: relative;
	font-size: 0.92rem;
	line-height: 1.55;
}
.mzr-result .mzr-land-row::before {
	content: ""; position: absolute; left: 0; top: 19px;
	width: 6px; height: 6px; border-radius: 50%;
	background: var(--mzr-accent); opacity: 0.55;
}
.mzr-result .mzr-land-row-warn::before { opacity: 1; }
.mzr-result .mzr-laender, .mzr-result .mzr-standorte { gap: 0; }
.mzr-result .mzr-standorte-title {
	font-family: var(--mzr-ui); font-size: 0.7rem; letter-spacing: 0.14em;
	margin: 22px 0 6px; color: var(--mzr-muted);
}
.mzr-result .mzr-land-more, .mzr-result .mzr-fach-hint {
	font-family: var(--mzr-ui); font-size: 0.75rem; line-height: 1.45;
	color: var(--mzr-muted); padding: 8px 0 0;
}
.mzr-result .mzr-details { font-family: var(--mzr-prosa); font-size: 0.98rem; line-height: 1.6; }

/* ---------- Uni-Ranking ruhiger ---------- */
.mzr-result .mzr-ur-row {
	border-radius: 12px;
	padding: 14px 16px;
	gap: 14px;
}
.mzr-result .mzr-ur-name { font-family: var(--mzr-ui); font-weight: 700; font-size: 0.98rem; }
.mzr-result .mzr-ur-ampel { font-family: var(--mzr-ui); font-size: 0.82rem; border-radius: 8px; }
.mzr-result .mzr-ur-plaetze { font-family: var(--mzr-ui); font-weight: 700; }
.mzr-result .mzr-ur-btn { font-family: var(--mzr-ui); border-radius: 999px; }

/* ---------- Abschnittsüberschrift zwischen den Blöcken ---------- */
.mzr-result .mzr-more-title {
	font-family: var(--mzr-ui); font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.16em; text-transform: uppercase; color: var(--mzr-muted);
	margin: 34px 0 12px; padding-bottom: 8px;
	border-bottom: 1px solid var(--mzr-line);
}

/* ---------- Links und Knöpfe am Kartenfuß ---------- */
.mzr-result .mzr-linkzeile {
	display: flex; flex-wrap: wrap; align-items: center; gap: 18px;
	margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--mzr-line);
}
.mzr-result .mzr-offer-small, .mzr-result .mzr-kurslink {
	font-family: var(--mzr-ui); font-size: 0.88rem; font-weight: 600;
}

/* Feinschliff nach dem ersten Blick auf die neue Ergebnisseite */
.mzr-hero { min-height: 230px; align-items: center; }
.mzr-hero-aktion { justify-content: center; }
.mzr-result .mzr-melden {
	font-family: var(--mzr-ui); font-size: 0.72rem; color: var(--mzr-muted) !important;
	text-decoration: none !important; border: 0; background: none; cursor: pointer; padding: 0;
}
.mzr-result .mzr-melden:hover { color: var(--mzr-navy) !important; text-decoration: underline !important; }
.mzr-result .mzr-preistag {
	font-family: var(--mzr-ui); font-size: 0.7rem; font-weight: 600;
	background: var(--mzr-sand2); color: var(--mzr-muted);
	padding: 3px 9px; border-radius: 999px; margin-left: 6px;
}

/* Balken im Uni-Ranking: dein Punktwert am erreichbaren Maximum, mit
   Markierung auf der letzten Zulassungsgrenze - nicht mehr die Uni-Größe */
.mzr-result .mzr-ur-bar {
	position: relative; height: 9px; margin-top: 10px;
	background: var(--mzr-sand2); border-radius: 999px; overflow: visible;
}
.mzr-result .mzr-ur-fill { height: 100%; border-radius: 999px; background: #C9D2DC; }
.mzr-result .mzr-ur-fill-gruen { background: #246E3A; }
.mzr-result .mzr-ur-fill-gelb { background: #DCA81C; }
.mzr-result .mzr-ur-fill-grau { background: #B7C0CB; }
.mzr-ur-grenze {
	position: absolute; top: -4px; width: 2px; height: 17px;
	background: var(--mzr-navy); border-radius: 2px; transform: translateX(-1px);
}
.mzr-ur-grenze::after {
	content: ""; position: absolute; left: -3px; top: -4px;
	border-left: 4px solid transparent; border-right: 4px solid transparent;
	border-top: 5px solid var(--mzr-navy);
}
.mzr-ur-skala {
	font-family: var(--mzr-ui); font-size: 0.74rem; color: var(--mzr-muted); margin-top: 7px;
}
.mzr-ur-skala strong { color: var(--mzr-navy); font-size: 0.82rem; }
.mzr-result .mzr-ur-right { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.mzr-result .mzr-ur-right .mzr-melden { margin-top: 2px; }

/* ---------- Was wäre wenn: Regler für das Testergebnis ---------- */
.mzr-sim {
	background: linear-gradient(180deg, #FFF6F2 0%, #FDF9F4 100%);
	border: 1px solid #F3D9CC;
	border-radius: 14px;
	padding: 18px 20px 16px;
	margin: 18px 0;
}
.mzr-sim-kopf { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.mzr-sim-kicker {
	font-family: var(--mzr-ui); font-size: 0.68rem; font-weight: 700;
	letter-spacing: 0.16em; text-transform: uppercase; color: var(--mzr-akzent-text);
}
.mzr-sim-frage { font-family: var(--mzr-serif); font-size: 1.12rem; font-weight: 600; }
.mzr-sim-zeile { display: flex; align-items: center; gap: 14px; }
.mzr .mzr-sim-regler { flex: 1 1 auto; margin: 0; }
.mzr-sim-wert {
	flex: 0 0 auto; font-family: var(--mzr-ui); font-size: 0.85rem; font-weight: 700;
	color: var(--mzr-navy); background: #FFFFFF; border: 1px solid #F0DCD1;
	border-radius: 999px; padding: 5px 12px; white-space: nowrap;
}
.mzr-sim-text { font-family: var(--mzr-prosa); font-size: 0.98rem; line-height: 1.55; margin-top: 12px; }
.mzr-sim-text strong { color: var(--mzr-akzent-text); }
.mzr-sim-hinweis { display: block; font-family: var(--mzr-ui); font-size: 0.74rem; color: var(--mzr-muted); margin-top: 6px; }
.mzr-sim-liste { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 12px; }
.mzr-sim-listet {
	flex: 0 0 100%; font-family: var(--mzr-ui); font-size: 0.7rem; font-weight: 700;
	letter-spacing: 0.12em; text-transform: uppercase; color: var(--mzr-muted); margin-bottom: 2px;
}
.mzr-sim-chip {
	font-family: var(--mzr-ui); font-size: 0.8rem; font-weight: 600;
	background: #FFFFFF; border: 1px solid #E8D3C7; color: var(--mzr-navy);
	border-radius: 999px; padding: 5px 12px;
}
.mzr-sim-mehr { font-family: var(--mzr-ui); font-size: 0.78rem; color: var(--mzr-muted); }
.mzr-sim-chip.is-neu { border-color: var(--mzr-accent); background: #FFF1EA; }
.mzr-sim-chip.is-neu b { font-size: 0.66rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; color: var(--mzr-akzent-text); margin-left: 4px; }
.mzr-sim-fuss { margin-top: 14px; }
.mzr .mzr-sim-btn {
	display: inline-block; font-family: var(--mzr-ui); font-size: 0.88rem; font-weight: 700;
	color: #FFFFFF !important; background: var(--mzr-accent);
	padding: 10px 20px; border-radius: 10px; text-decoration: none !important;
}
.mzr .mzr-sim-btn:hover { opacity: 0.92; }

/* ---------- So entscheiden andere ---------- */
.mzr-verg {
	background: #FFFFFF;
	border: 1px solid var(--mzr-line);
	border-radius: 14px;
	padding: 20px 22px 18px;
	margin: 0 0 18px;
}
.mzr-verg-kicker {
	font-family: var(--mzr-ui); font-size: 0.68rem; font-weight: 700;
	letter-spacing: 0.16em; text-transform: uppercase; color: var(--mzr-muted);
}
.mzr .mzr-verg-text {
	font-family: var(--mzr-prosa); font-size: 1rem; line-height: 1.55;
	margin: 8px 0 16px; max-width: 62ch;
}
.mzr-verg-text strong { color: var(--mzr-navy); font-size: 1.15rem; }
.mzr-verg-liste { display: flex; flex-direction: column; gap: 8px; }
.mzr-verg-z { display: flex; align-items: center; gap: 12px; }
.mzr-verg-name {
	flex: 0 0 40%; font-family: var(--mzr-ui); font-size: 0.85rem;
	color: var(--mzr-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.mzr-verg-z.is-meiner .mzr-verg-name { color: var(--mzr-navy); font-weight: 700; }
.mzr-verg-bahn { flex: 1 1 auto; height: 10px; background: var(--mzr-sand2); border-radius: 999px; overflow: hidden; }
.mzr-verg-fuell { display: block; height: 100%; background: #C9D2DC; border-radius: 999px; }
.mzr-verg-z.is-meiner .mzr-verg-fuell { background: var(--mzr-accent); }
.mzr-verg-pct {
	flex: 0 0 auto; font-family: var(--mzr-ui); font-size: 0.8rem; font-weight: 700;
	color: var(--mzr-muted); min-width: 42px; text-align: right;
}
.mzr-verg-z.is-meiner .mzr-verg-pct { color: var(--mzr-navy); }
.mzr-verg-fuss { font-family: var(--mzr-ui); font-size: 0.72rem; color: var(--mzr-muted); margin-top: 14px; }

@media (max-width: 720px) {
	.mzr-verg-name { flex-basis: 34%; font-size: 0.78rem; }
	.mzr-sim-zeile { flex-wrap: wrap; }
	.mzr .mzr-sim-btn { display: block; text-align: center; }
}

/* Kurzer Hinweis unter dem PDF-Knopf: der Druckdialog laesst sich nicht
   ueberspringen, aber das Ziel kann man verwechseln */
.mzr-druckhinweis {
	font-family: var(--mzr-ui); font-size: 0.72rem; line-height: 1.35;
	color: #F5F3EC; background: rgba(245, 243, 236, 0.14);
	border: 1px solid rgba(245, 243, 236, 0.3);
	border-radius: 8px; padding: 7px 10px; margin-top: 6px; max-width: 220px;
}
.mzr-druckhinweis strong { color: #FF8A5C; }

/* Bereichsfehler an Zahlenfeldern: rot + Klartext, was moeglich ist */
.mzr .mzr-input.is-fehler {
	border-color: #AB2800 !important;
	background-color: #FDF3F0 !important;
}
.mzr-feld-fehler {
	font-family: var(--mzr-ui, inherit); font-size: 0.78rem; font-weight: 600;
	color: #AB2800; margin: -6px 0 10px;
}
.mzr-um-feld { margin-bottom: 4px; }
.mzr-um-label { display: block; font-size: 0.8rem; font-weight: 600; color: var(--mzr-muted); margin: 8px 0 4px; }

/* Legende der Ergebnis-Landkarte */
.mzr-karte-legende {
	display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 10px 0 12px;
	font-family: var(--mzr-ui); font-size: 0.76rem; color: var(--mzr-muted);
}
.mzr-karte-leg { display: inline-flex; align-items: center; gap: 6px; }
.mzr-karte-legpunkt {
	width: 9px; height: 9px; border-radius: 50%;
	background: var(--mzr-accent); opacity: 0.92; display: inline-block;
}
.mzr-karte-legpunkt.is-dach {
	background: var(--mzr-accent); opacity: 1;
	box-shadow: 0 0 0 2px var(--mzr-navy);
}
.mzr-karte-legpunkt.is-raus { background: var(--mzr-navy); opacity: 0.16; }

/* Alleinstehende Karte als Blickfang, z. B. auf der Startseite.
   Die Karte ist hochformatig (1000 zu 1153) - in einem breiten flachen
   Kasten bliebe rechts und links nur Leere. Deshalb ab Tablet zwei
   Spalten: Text links, Karte rechts. */
.mzr-atlas-solo { max-width: 1240px; margin: 0 auto; }
.mzr-atlas-solo .mzr-karte { margin: 0; }
.mzr-atlas-solo .mzr-karte-svg { max-height: 660px; }
@media (min-width: 900px) {
	.mzr-atlas-solo {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.85fr);
		gap: 40px;
		align-items: center;
	}
	.mzr-atlas-solo .mzr-atlas-kopf { text-align: left; margin-bottom: 0; }
	.mzr-atlas-solo .mzr-atlas-cta { text-align: left; margin-top: 22px; }
}
.mzr-atlas-kopf { text-align: center; margin-bottom: 14px; }
.mzr-atlas-kicker {
	font-family: var(--mzr-ui); font-size: 0.74rem; font-weight: 700;
	letter-spacing: 0.1em; text-transform: uppercase; color: var(--mzr-accent);
}
.mzr-atlas-titel {
	font-family: var(--mzr-serif); font-size: clamp(1.5rem, 4vw, 2.1rem);
	color: var(--mzr-navy); margin: 4px 0 6px; line-height: 1.15;
}
.mzr-atlas-sub { font-family: var(--mzr-prosa); color: var(--mzr-muted); margin: 0; }
.mzr-atlas-cta { text-align: center; margin-top: 16px; }
/* Bühne: Karte plus Zoomknöpfe */
.mzr-karte-buehne { position: relative; }
.mzr-karte-svg { touch-action: none; cursor: grab; }
.mzr-karte.is-gezoomt .mzr-karte-svg { cursor: grab; }
.mzr-karte-zoom {
	position: absolute; top: 8px; right: 8px;
	display: flex; flex-direction: column; gap: 4px;
}
.mzr-karte-zbtn {
	width: 30px; height: 30px; line-height: 1;
	font-family: var(--mzr-ui); font-size: 1rem; font-weight: 600;
	color: var(--mzr-navy); background: rgba(255, 255, 255, 0.92);
	border: 1px solid var(--mzr-line); border-radius: 7px;
	cursor: pointer; padding: 0;
}
.mzr-karte-zbtn:hover { background: #fff; border-color: var(--mzr-accent); color: var(--mzr-accent); }
.mzr-karte-ort.is-gewaehlt {
	stroke: var(--mzr-navy); stroke-width: 2; paint-order: stroke; opacity: 1;
}
.mzr-karte-fernort.is-gewaehlt { border-color: var(--mzr-accent); color: var(--mzr-accent); }
.mzr-karte-fernort { cursor: pointer; background: none; font-family: var(--mzr-ui); }

/* Infokarte zu einem angeklickten Standort */
.mzr-karte-info {
	position: relative; margin-top: 10px; padding: 14px 16px;
	background: var(--mzr-sand2); border: 1px solid var(--mzr-line);
	border-left: 3px solid var(--mzr-accent); border-radius: 10px;
}
.mzr-karte-infoschliessen {
	position: absolute; top: 6px; right: 8px;
	background: none; border: 0; cursor: pointer;
	font-size: 1.2rem; line-height: 1; color: var(--mzr-muted); padding: 4px;
}
.mzr-karte-infotitel {
	font-family: var(--mzr-serif); font-size: 1rem; margin: 0 24px 2px 0; color: var(--mzr-navy);
}
.mzr-karte-infoort {
	font-family: var(--mzr-ui); font-size: 0.76rem; color: var(--mzr-muted);
	text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 8px;
}
.mzr-karte-infowarn {
	font-family: var(--mzr-ui); font-size: 0.8rem; color: var(--mzr-akzent-text);
	margin-bottom: 8px; font-weight: 600;
}
.mzr-karte-inforow {
	display: flex; gap: 10px; align-items: baseline;
	font-family: var(--mzr-ui); font-size: 0.82rem;
	padding: 3px 0; border-top: 1px solid var(--mzr-line);
}
.mzr-karte-infok { flex: 0 0 42%; color: var(--mzr-muted); }
.mzr-karte-infov { flex: 1; color: var(--mzr-navy); }
.mzr-karte-infolinks { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 9px; }
.mzr-karte-hinweis {
	font-family: var(--mzr-ui); font-size: 0.74rem; color: var(--mzr-muted); margin-top: 6px;
}
/* ---------- Standortkarte ---------- */
.mzr-karte { margin: 0 0 18px; }
.mzr-karte-svg {
	display: block; width: 100%; height: auto;
	background: var(--mzr-sand); border: 1px solid var(--mzr-line);
	border-radius: 12px;
}
.mzr-karte.is-klein .mzr-karte-svg { max-height: 380px; }
/* Keine stroke-width hier: die setzt das Skript an der Gruppe und rechnet
   sie gegen den Zoom - stuende sie in der Regel, gewaenne CSS gegen den
   geerbten Wert, und die Grenzen wuerden beim Hineinzoomen zu Baendern. */
.mzr-karte-land { fill: #EBE3D6; stroke: #DACEBC; }
/* Vermilion heisst "steht dir offen" - deshalb leuchten am Anfang alle 398.
   Die Heimatregion traegt zusaetzlich einen Navy-Ring, damit die Farbe ihre
   eine Bedeutung behaelt. */
.mzr-karte-ort {
	fill: var(--mzr-accent); opacity: 0.92;
	transform-box: fill-box; transform-origin: center;
	transition: opacity 0.5s cubic-bezier(.22,.61,.36,1),
	            transform 0.5s cubic-bezier(.34,1.56,.64,1),
	            fill 0.5s ease, r 0.5s cubic-bezier(.22,.61,.36,1);
}
/* Auftrittszustand: nur solange die Klasse am Container haengt. Faellt die
   Transition aus, steht der Punkt sofort im sichtbaren Ruhezustand - er
   verschwindet nie dauerhaft. */
.mzr-karte.is-eintritt .mzr-karte-ort { opacity: 0; transform: scale(0.1); }
.mzr-karte-ort.is-dach { stroke: var(--mzr-navy); stroke-width: 1.6; paint-order: stroke; }
.mzr-karte-ort.is-raus { opacity: 0.13; fill: var(--mzr-navy); stroke: none; }
.mzr-karte-ort.is-treffer { fill: var(--mzr-accent); opacity: 0.95; }
.mzr-karte-ort.is-neutral { fill: var(--mzr-navy); opacity: 0.2; stroke: none; }
/* ---- Schaukarte (Startseite) ----
   Hier steht keine Auswertung dahinter, also darf die Farbe etwas anderes
   erzaehlen als in der Auswertung: Deutschland, Oesterreich und die Schweiz
   sind das Zuhause dieser Seite, das uebrige Europa ist der Ausweg. Getrennt
   wird ueber die beiden Markenfarben - Vermilion und Navy -, nicht ueber
   einen dritten Farbton: der Styleguide kennt genau diese zwei.
   Wichtig: Diese Regeln haengen alle an .is-schau. In der Auswertung bedeutet
   Vermilion "erreichbar" und Navy "faellt weg" - waere das hier auch so,
   stuende auf der Startseite, halb Europa sei fuer dich gestorben. */
/* Die drei Laender liegen heller auf dem Kontinent und tragen einen
   kraeftigeren Umriss - die Markierung wirkt schon, bevor man die Namen
   liest. Der Ton ist die hellste Stufe der Markenfarbe (Vermilion 50) und
   NICHT das Sandweiss des Hintergrunds: sonst saehen die drei Laender aus
   wie ein Loch im Kontinent, weil das Meer dieselbe Farbe hat. */
.mzr-karte.is-schau .mzr-karte-land.is-dach {
	fill: #FFF4F2; stroke: #6B7A8E; stroke-opacity: 0.9;
}
/* Marke je Land: Flagge, Name, Zahl der Standorte - dauerhaft sichtbar und
   ein Weg in den Studienfuehrer. Sie liegt in Bildschirmpunkten ueber der
   Karte, das Skript setzt links und oben bei jedem Zoomen neu. */
/* Der Kasten faengt keine Zeigereingaben ab - sonst laege eine unsichtbare
   Scheibe ueber der ganzen Karte und niemand koennte mehr einen Standort
   antippen. Die Marken selbst nehmen sie wieder an. */
.mzr-schau-marken { position: absolute; inset: 0; pointer-events: none; }
.mzr-schau-marke {
	position: absolute; pointer-events: auto;
	display: flex; align-items: center; gap: 9px;
	background: #FFFFFF; color: var(--mzr-navy); text-decoration: none;
	font-family: var(--mzr-ui); font-size: 0.76rem; line-height: 1.25;
	padding: 6px 11px 6px 8px; border-radius: 9px; white-space: nowrap;
	border: 1px solid var(--mzr-line);
	box-shadow: 0 3px 10px rgba(35, 47, 63, 0.13);
	transition: box-shadow 0.16s ease, transform 0.16s ease;
	z-index: 3;
}
/* Wohin die Marke von ihrem Land aus rueckt, rechnet das Skript aus und
   setzt links und oben. Bewusst KEINE Verschiebung per transform: die musste
   sonst fuer die Reihe unter der Karte wieder zurueckgenommen werden, und
   zwei Regeln um dieselbe Eigenschaft streiten zu lassen, endet immer
   irgendwann falsch. Das Skript kennt die gemessene Groesse ohnehin - es
   haelt die Marke damit auch im Kartenausschnitt. */
a.mzr-schau-marke:hover, a.mzr-schau-marke:focus-visible {
	box-shadow: 0 6px 16px rgba(35, 47, 63, 0.2); border-color: var(--mzr-navy);
}
/* Schmale Karte: aus den drei Marken wird eine Reihe darunter. Auf der Karte
   bleiben dann nur die Punkte - das ist dort ohnehin alles, was hinpasst. */
.mzr-karte.is-markenreihe .mzr-schau-marken {
	position: static; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px;
}
.mzr-karte.is-markenreihe .mzr-schau-marke { position: static; }
/* Eine Regel fuer alle Flaggen - auf der Marke wie in der Liste. Der feine
   Rahmen ist noetig, damit die weissen Anteile (Finnland, Malta, Zypern) auf
   hellem Grund nicht auslaufen. */
.mzr-flagge {
	display: block; flex: none; border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(35, 47, 63, 0.18);
}
/* Der farbige Strich links verbindet die Marke mit den Punkten ihres
   Landes - sonst waeren die drei Farben auf der Karte unerklaert. */
.mzr-marke-text {
	border-left: 3px solid var(--mzr-line); padding-left: 8px;
}
.mzr-schau-marke.is-de .mzr-marke-text { border-left-color: #FF4203; }
.mzr-schau-marke.is-at .mzr-marke-text { border-left-color: #AB2800; }
.mzr-schau-marke.is-ch .mzr-marke-text { border-left-color: #DCA81C; }
.mzr-marke-text strong { display: block; font-weight: 600; }
.mzr-marke-text span { display: block; color: var(--mzr-muted); font-size: 0.94em; }
/* Standorte: jedes der drei Laender in eigener Farbe, das uebrige Europa in
   ruhigem Navy. Alle drei Farben stammen aus den Styleguide-Tokens
   (Vermilion 500, Vermilion 700, Amber); ein Blau oder Gruen kaeme hier
   nicht in Frage, das liest sich auf einer Karte sofort als Ausschluss.
   Gemeint ist mit allen vieren dasselbe - "hier kann man Medizin studieren".
   Der Unterschied ist die Naehe, nicht die Chance. */
.mzr-karte.is-schau .mzr-karte-ort.is-treffer {
	fill: #6B7A8E; opacity: 0.88;
}
.mzr-karte.is-schau .mzr-karte-ort.is-dach {
	fill: var(--mzr-accent); opacity: 1;
	stroke: var(--mzr-navy); stroke-width: 1.4; paint-order: stroke;
}
.mzr-karte.is-schau .mzr-karte-ort.is-dach.is-at { fill: #AB2800; }
.mzr-karte.is-schau .mzr-karte-ort.is-dach.is-ch { fill: #DCA81C; }
/* Legende der Schaukarte - dieselben zwei Zeichen wie auf der Karte */
.mzr-schau-legende {
	display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0;
	font-family: var(--mzr-ui); font-size: 0.78rem; color: var(--mzr-muted);
}
.mzr-schau-leg { display: inline-flex; align-items: center; gap: 7px; }
.mzr-schau-punkt {
	width: 10px; height: 10px; border-radius: 50%; display: inline-block;
	background: #6B7A8E;
}

/* Unsichtbare, grosszuegige Fangflaeche ueber jedem Punkt */
.mzr-karte-fang { fill: transparent; pointer-events: all; cursor: pointer; }
/* Der Zähler zuckt kurz, wenn sich die Zahl ändert */
.mzr-karte-zahl { transition: color 0.3s ease; }
.mzr-karte-zahl.is-neu { animation: mzrZahlPuls 0.5s ease; }
@keyframes mzrZahlPuls {
	0% { color: var(--mzr-navy); }
	35% { color: var(--mzr-accent); transform: translateY(-1px); }
	100% { color: var(--mzr-navy); }
}
@media (prefers-reduced-motion: reduce) {
	.mzr-karte-ort { transition: none; }
	.mzr-karte.is-eintritt .mzr-karte-ort { opacity: 0.92; transform: none; }
	.mzr-karte-zahl.is-neu { animation: none; }
}
/* Europa-Bereich: Treffer der Liste leuchten, DACH bleibt zur Orientierung da */
.mzr-karte-ort.is-treffer { fill: var(--mzr-accent); opacity: 0.95; }
.mzr-karte-ort.is-neutral { fill: var(--mzr-navy); opacity: 0.16; }
.mzr-karte-fuss {
	font-family: var(--mzr-ui); font-size: 0.8rem; color: var(--mzr-muted);
	margin-top: 7px; line-height: 1.45;
}
.mzr-karte-zahl { color: var(--mzr-navy); font-weight: 700; }
.mzr-karte-fern {
	display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px;
}
.mzr-karte-fernort {
	font-family: var(--mzr-ui); font-size: 0.7rem; color: var(--mzr-muted);
	border: 1px solid var(--mzr-line); border-radius: 999px; padding: 1px 8px;
	transition: opacity 0.45s ease;
}
.mzr-karte-fernort.is-raus { opacity: 0.3; text-decoration: line-through; }
/* Auftritt: die Karten kommen gestaffelt herein statt alle auf einmal */
@keyframes mzr-rise {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: none; }
}
.mzr-result .mzr-hero,
.mzr-result .mzr-spot,
.mzr-result .mzr-chips,
.mzr-result .mzr-panel > .mzr-card {
	animation: mzr-rise 0.42s cubic-bezier(0.2, 0.7, 0.3, 1) both;
}
.mzr-result .mzr-spot { animation-delay: 0.06s; }
.mzr-result .mzr-chips { animation-delay: 0.12s; }
.mzr-result .mzr-panel > .mzr-card:nth-child(1) { animation-delay: 0.16s; }
.mzr-result .mzr-panel > .mzr-card:nth-child(2) { animation-delay: 0.22s; }
.mzr-result .mzr-panel > .mzr-card:nth-child(3) { animation-delay: 0.28s; }
.mzr-result .mzr-panel > .mzr-card:nth-child(n+4) { animation-delay: 0.32s; }
@media (prefers-reduced-motion: reduce) {
	.mzr-result .mzr-hero, .mzr-result .mzr-spot,
	.mzr-result .mzr-chips, .mzr-result .mzr-panel > .mzr-card,
	.mzr-panel { animation: none !important; }
}

@media (max-width: 720px) {
	.mzr-hero {
		padding: 24px 20px;
		min-height: 0; height: auto;
		flex-direction: column; align-items: stretch;
		justify-content: flex-start; gap: 16px;
		background-color: #232F3F;
	}
	/* Im Spaltenfluss wirkt flex-basis auf die Höhe - sonst wird der Kopf
	   plötzlich 320 Pixel hoch */
	.mzr-hero-text { flex: 0 0 auto; }
	/* Auf dem Handy tritt das Motiv zurück, sonst liegt es unter dem Text */
	.mzr-hero-bild { opacity: 0.45; }
	.mzr .mzr-hero-title, .mzr h2.mzr-hero-title { font-size: 1.55rem !important; }
	.mzr-hero-aktion { align-items: flex-start; flex-direction: row; gap: 12px; flex-wrap: wrap; }
	.mzr-spot { padding: 20px 18px 18px; border-left-width: 4px; }
	.mzr .mzr-spot-titel { font-size: 1.3rem; }
	.mzr .mzr-spot-btn { width: 100%; }
	.mzr-spot-aktion { gap: 10px; }
	.mzr-result .mzr-card { padding: 22px 18px; }
	.mzr-chips { gap: 8px; }
	.mzr .mzr-chip { font-size: 0.8rem; }
}

/* ============================================================
   PDF-Dokument. Wird beim Drucken frisch gebaut (.mm-doc) und
   ersetzt die Bildschirm-Ansicht komplett. Farben, Schriften und
   Abstände nach dem Styleguide Mission Medizin.
   ============================================================ */
.mm-doc { display: none; }

@media print {
	@page { size: A4; margin: 18mm 20mm 16mm; }

	/* --- Isolierung: nur das Dokument, nichts vom Theme ---
	   Die Klassen setzt das Skript vor dem Druck: mzr-druck-pfad sind die
	   Eltern-Container bis zum body, mzr-druck-weg deren Geschwister. */
	.mzr-druck-weg { display: none !important; }
	.mzr-druck-pfad {
		display: block !important;
		position: static !important;
		float: none !important;
		width: auto !important; max-width: none !important;
		margin: 0 !important; padding: 0 !important;
		border: 0 !important; background: none !important;
		overflow: visible !important; height: auto !important; min-height: 0 !important;
	}
	body { background: #fff !important; }
	#mzr-app { display: block !important; position: static !important; max-width: none !important; }
	/* Die Bildschirm-Ansicht wird nicht gedruckt - das PDF ist ein eigenes Dokument */
	#mzr-app > *:not(.mm-doc) { display: none !important; }

	/* Beim Drucken läuft keine Zeit: Einblend-Animationen blieben sonst
	   bei opacity 0 stehen - Seiten mit Höhe, aber ohne sichtbaren Inhalt. */
	*, *::before, *::after {
		animation: none !important;
		transition: none !important;
		opacity: 1 !important;
	}

	/* ---------- Grundlage ---------- */
	.mm-doc {
		--ink: #232F3F;
		--ink-2: #4F5E72;
		--ink-3: #6B7A8E;
		--akzent: #FF4203;
		--akzent-t: #D63500;
		--sand-1: #FDF9F4;
		--sand-2: #F9F3EB;
		--linie: #EFE6DC;
		--ok: #246E3A;
		--warn: #B0741A;
		--serif: "Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
		--prosa: "Source Serif 4", "Iowan Old Style", Georgia, serif;
		--ui: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

		display: block !important;
		font-family: var(--prosa);
		font-size: 10.5pt;
		line-height: 1.5;
		color: var(--ink) !important;
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
	.mm-doc * { box-sizing: border-box; }
	.mm-doc a { color: inherit !important; text-decoration: none !important; }
	.mm-doc button, .mm-doc input, .mm-doc select,
	.mm-doc .mzr-linkzeile, .mm-doc .mzr-kurslink, .mm-doc .mzr-meldezeile,
	.mm-doc .mzr-melden, .mm-doc .mzr-kursmini { display: none !important; }

	.mm-p { margin: 0 0 8pt; max-width: 135mm; }
	.mm-lead {
		margin: 0 0 12pt; max-width: 135mm;
		font-size: 11.5pt; line-height: 1.5; color: var(--ink-2) !important;
	}
	.mm-klein { margin: 0 0 8pt; font-family: var(--ui); font-size: 8pt; color: var(--ink-3) !important; max-width: 135mm; }
	.mm-h3 {
		font-family: var(--serif); font-size: 13pt; font-weight: 600;
		margin: 16pt 0 6pt; break-after: avoid;
	}
	.mm-doc .mm-grau { color: var(--ink-3) !important; }
	.mm-r { text-align: right; white-space: nowrap; }

	/* ---------- Deckblatt: randlos, mit Bergmotiv ---------- */
	/* Deckblatt randlos: eigene benannte Druckseite ohne Ränder. Das kennt
	   Chrome seit Version 110 - @page :first dagegen nicht. */
	@page deckblatt { size: A4; margin: 0; }
	/* Grundfassung: gerahmtes Plakat im Satzspiegel - funktioniert überall */
	.mm-cover {
		position: relative; overflow: hidden;
		height: 250mm;
		padding: 15mm 15mm 11mm;
		break-after: page; break-inside: avoid;
		display: flex; flex-direction: column;
		color: #F5F3EC !important;
	}
	/* Randlos nur, wo benannte Druckseiten unterstützt werden - das Skript
	   setzt dafür die Klasse mm-randlos */
	.mm-randlos .mm-cover {
		page: deckblatt;
		width: 210mm; height: 296mm;
		margin: 0;
		padding: 22mm 20mm 16mm;
	}
	.mm-cover-bild {
		position: absolute; top: 0; left: 0;
		width: 100%; height: 100%; z-index: 0;
	}
	/* Falls ein Theme Hintergründe abschaltet, trägt die Fläche trotzdem */
	.mm-doc .mm-cover { background: #232F3F !important; }
	/* Im gerahmten Notfall-Layout ist das Blatt kürzer - Motiv nach unten
	   schieben, sonst steht der Gipfel im letzten Weg */
	.mm-doc:not(.mm-randlos) .mm-cover-bild { top: 16%; height: 84%; }
	/* Sammelfall: auf dem dunklen Deckblatt ist ALLES hell - Themes setzen
	   Textfarben direkt auf div/p/span und schlagen sonst jede Vererbung */
	.mm-doc .mm-cover, .mm-doc .mm-cover * { color: #F5F3EC !important; }

	.mm-cover-marke, .mm-cover-inner { position: relative; z-index: 1; }
	.mm-wortmarke { display: block; width: 64mm; height: auto; }
	.mm-cover-inner { padding-top: 20mm; flex: 1 1 auto; display: flex; flex-direction: column; }
	.mm-doc .mm-cover .mm-cover-kicker {
		font-family: var(--ui); font-size: 8.5pt; font-weight: 700;
		letter-spacing: 0.2em; text-transform: uppercase; color: #FF8A5C !important;
	}
	.mm-doc .mm-cover .mm-cover-titel {
		font-family: var(--serif); font-size: 38pt; font-weight: 600;
		line-height: 1.04; margin: 8pt 0 10pt; color: #F5F3EC !important;
	}
	.mm-doc .mm-cover .mm-cover-wer { font-family: var(--ui); font-size: 10pt; color: #B9C0CB !important; margin: 0 0 16mm; }

	.mm-cover-wege { border-top: 1px solid rgba(245, 243, 236, 0.30); padding-top: 8pt; }
	.mm-doc .mm-cover .mm-cover-wege-h {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.16em; text-transform: uppercase; color: #8FA0B4 !important; margin-bottom: 6pt;
	}
	.mm-cover-weg {
		display: flex; align-items: center; gap: 10pt;
		padding: 7pt 0; border-bottom: 1px solid rgba(245, 243, 236, 0.16);
	}
	.mm-cover-nr {
		flex: 0 0 auto; width: 20pt; height: 20pt; border-radius: 50%;
		background: rgba(245, 243, 236, 0.16); color: #F5F3EC !important;
		font-family: var(--ui); font-size: 9.5pt; font-weight: 700;
		display: flex; align-items: center; justify-content: center;
	}
	.mm-cover-weg.is-erst .mm-cover-nr { background: #FF4203; color: #FFFFFF !important; }
	.mm-cover-wegtext { flex: 1 1 auto; }
	.mm-doc .mm-cover .mm-cover-wegtitel { font-family: var(--serif); font-size: 12.5pt; font-weight: 600; line-height: 1.25; color: #F5F3EC !important; }
	.mm-doc .mm-cover .mm-cover-wegland {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.1em; text-transform: uppercase; color: #8FA0B4 !important;
	}
	/* Einstufung auf dunklem Grund: nur Kontur, keine hellen Flächen */
	.mm-cover .mm-stufe { background: transparent !important; }
	.mm-cover .mm-stufe-realistisch { color: #7FCB9B !important; border-color: #7FCB9B !important; }
	.mm-cover .mm-stufe-machbar { color: #E7B95C !important; border-color: #E7B95C !important; }
	.mm-cover .mm-stufe-unwahrscheinlich { color: #9AA8B8 !important; border-color: #9AA8B8 !important; }
	.mm-doc .mm-cover .mm-cover-fuss, .mm-doc .mm-cover .mm-cover-fuss-t {
		margin-top: auto; padding-top: 12mm;
		font-family: var(--ui); font-size: 7.5pt; color: #8FA0B4 !important;
	}
	.mm-cover .mm-qr-label { color: #8FA0B4 !important; }

	/* Einstufungs-Pille: mit Rahmen, damit sie auch ohne Hintergrundfarben trägt */
	.mm-stufe {
		flex: 0 0 auto; font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		padding: 2pt 7pt; border-radius: 999px; white-space: nowrap; border: 1px solid;
	}
	.mm-stufe-realistisch { color: var(--ok) !important; border-color: var(--ok) !important; background: #EEF6F0; }
	.mm-stufe-machbar { color: var(--warn) !important; border-color: var(--warn) !important; background: #FBF4E8; }
	.mm-stufe-unwahrscheinlich { color: var(--ink-3) !important; border-color: #D8D2C8 !important; background: var(--sand-2); }

	/* ---------- Einleitung ---------- */
	.mm-intro { break-after: page; }
	.mm-intro h2 {
		font-family: var(--serif); font-size: 20pt; font-weight: 600;
		margin: 0 0 10pt; line-height: 1.15;
	}
	.mm-toc { margin-top: 14mm; border-top: 2px solid var(--ink); padding-top: 8pt; }
	.mm-toc-h {
		font-family: var(--ui); font-size: 8pt; font-weight: 700;
		letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-3) !important; margin-bottom: 6pt;
	}
	.mm-toc-z { display: flex; gap: 10pt; padding: 4.5pt 0; border-bottom: 1px solid var(--linie); }
	.mm-toc-nr { font-family: var(--ui); font-size: 9pt; font-weight: 700; color: var(--akzent-t) !important; width: 14pt; }
	.mm-toc-t { font-family: var(--prosa); font-size: 11pt; }

	/* ---------- Kapitel ---------- */
	.mm-kap { break-before: page; }
	.mm-kap-kopf { border-bottom: 2px solid var(--ink); padding-bottom: 6pt; margin-bottom: 12pt; break-after: avoid; }
	.mm-kap-nr {
		font-family: var(--ui); font-size: 8pt; font-weight: 700;
		letter-spacing: 0.18em; text-transform: uppercase; color: var(--akzent-t) !important;
	}
	.mm-kap-titel { font-family: var(--serif); font-size: 21pt; font-weight: 600; line-height: 1.12; margin: 3pt 0 0; }

	/* ---------- Faktentafel ---------- */
	.mm-fakten { display: flex; flex-wrap: wrap; gap: 0 14pt; }
	.mm-fakt {
		flex: 0 0 calc(50% - 7pt); padding: 5pt 0;
		border-bottom: 1px solid var(--linie); break-inside: avoid;
	}
	.mm-fakt-k {
		font-family: var(--ui); font-size: 7pt; font-weight: 700;
		letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3) !important;
	}
	.mm-fakt-v { font-size: 10pt; line-height: 1.35; margin-top: 1pt; }

	/* ---------- Wege ---------- */
	.mm-weg {
		border: 1px solid var(--linie); border-left: 3pt solid var(--ink);
		background: var(--sand-1); border-radius: 0 5pt 5pt 0;
		padding: 10pt 12pt; margin-bottom: 10pt;
	}
	.mm-weg.is-erst { border-left-color: var(--akzent) !important; }
	.mm-weg-kopf { display: flex; align-items: flex-start; gap: 9pt; margin-bottom: 6pt; }
	.mm-weg-nr {
		flex: 0 0 auto; width: 18pt; height: 18pt; border-radius: 50%;
		background: var(--ink); color: #fff !important;
		font-family: var(--ui); font-size: 9pt; font-weight: 700;
		display: flex; align-items: center; justify-content: center;
	}
	.mm-weg.is-erst .mm-weg-nr { background: var(--akzent); }
	.mm-weg-titel-box { flex: 1 1 auto; }
	.mm-weg-titel { font-family: var(--serif); font-size: 14pt; font-weight: 600; margin: 0; line-height: 1.2; }
	.mm-weg-land {
		font-family: var(--ui); font-size: 7pt; font-weight: 700;
		letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3) !important; margin-top: 1pt;
	}
	.mm-weg .mm-p { margin-bottom: 6pt; max-width: none; }
	.mm-liste { margin: 0 0 6pt; padding-left: 14pt; font-size: 9.5pt; }
	.mm-liste li { margin-bottom: 3pt; }

	.mm-schritt-box {
		margin-top: 8pt; padding: 6pt 9pt;
		border: 1px solid var(--akzent); border-radius: 4pt; background: #FFF6F2;
	}
	.mm-schritt-k {
		font-family: var(--ui); font-size: 7pt; font-weight: 700;
		letter-spacing: 0.12em; text-transform: uppercase; color: var(--akzent-t) !important;
	}
	.mm-schritt-t { font-size: 10pt; font-weight: 600; margin-top: 1pt; }
	.mm-schritt-u, .mm-cta-u, .mm-url {
		font-family: var(--ui); font-size: 8pt; color: var(--ink-2) !important; word-break: break-all;
	}

	.mm-mehr { display: flex; flex-wrap: wrap; gap: 6pt; }
	.mm-mehr-z {
		flex: 0 0 calc(50% - 3pt); border: 1px solid var(--linie);
		border-radius: 4pt; padding: 6pt 8pt; break-inside: avoid;
	}
	.mm-mehr-t { font-family: var(--ui); font-size: 9pt; font-weight: 700; }
	.mm-mehr-t span {
		font-weight: 400; font-size: 7.5pt; text-transform: uppercase;
		letter-spacing: 0.08em; color: var(--ink-3) !important; display: block;
	}
	.mm-mehr-b { font-size: 9pt; color: var(--ink-2) !important; margin-top: 2pt; }

	/* ---------- Tabellen ---------- */
	.mm-tab { width: 100%; border-collapse: collapse; font-size: 9.5pt; margin-bottom: 10pt; }
	.mm-tab thead th {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3) !important;
		text-align: left; padding: 0 6pt 4pt 0; border-bottom: 1.5pt solid var(--ink);
	}
	.mm-tab tbody td { padding: 4.5pt 6pt 4.5pt 0; border-bottom: 1px solid var(--linie); vertical-align: top; }
	.mm-tab tbody tr { break-inside: avoid; }
	.mm-tab-nr { font-family: var(--ui); font-weight: 700; color: var(--ink-3) !important; width: 16pt; }
	.mm-tab-uni { font-weight: 600; }
	.mm-tr-gruen .mm-tab-uni { color: var(--ok) !important; }
	.mm-tab-ang th {
		text-align: left; font-weight: 400; color: var(--ink-2) !important; width: 46%;
		padding: 4.5pt 8pt 4.5pt 0; border-bottom: 1px solid var(--linie); vertical-align: top;
	}
	.mm-tab-ang td { font-weight: 600; }

	/* ---------- Quoten-Details (aus dem Rechenkern) ---------- */
	.mm-quote { margin-bottom: 8pt; break-inside: avoid; }
	.mm-quote-uni { font-family: var(--ui); font-size: 9.5pt; font-weight: 700; margin-bottom: 3pt; }
	.mm-doc .mzr-ur-qline {
		font-size: 9pt; line-height: 1.4; padding: 4pt 7pt; margin-bottom: 3pt;
		background: var(--sand-2); border-radius: 3pt; border-left: 2pt solid #D8D2C8;
	}
	.mm-doc .mzr-ur-q-gruen { background: #EEF6F0; border-left-color: var(--ok) !important; }
	.mm-doc .mzr-ur-q-gelb { background: #FBF4E8; border-left-color: var(--warn) !important; }
	.mm-doc .mzr-ur-scale-hint,
	.mm-doc .mzr-fach-hint,
	.mm-doc .mzr-land-more {
		display: block; font-family: var(--ui); font-size: 7pt;
		line-height: 1.35; color: var(--ink-3) !important; margin-top: 3pt;
	}

	.mm-methode { margin-top: 6pt; break-inside: avoid; }

	/* ---------- Übernommene Bausteine der Ergebnisseite ---------- */
	.mm-doc .mzr-standorte { margin: 8pt 0 0; }
	.mm-doc .mzr-standorte-title {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.1em; text-transform: uppercase; color: var(--ink-3) !important; margin: 8pt 0 4pt;
	}
	.mm-doc .mzr-land-row {
		font-size: 9.5pt; line-height: 1.45; padding: 5pt 8pt; margin-bottom: 4pt;
		background: var(--sand-2); border: 1px solid var(--linie); border-radius: 3pt;
		break-inside: avoid;
	}
	.mm-doc .mzr-land-row-warn { border-left: 2pt solid var(--akzent); }
	.mm-doc .mzr-medat-vergleich {
		font-size: 9.5pt; padding: 6pt 8pt; margin: 6pt 0;
		border: 1px solid var(--akzent); border-radius: 3pt; background: #FFF6F2;
	}
	.mm-doc .mzr-eu-badge {
		font-family: var(--ui); font-size: 7pt; font-weight: 700;
		padding: 1pt 5pt; border: 1px solid var(--ok); color: var(--ok) !important;
		border-radius: 999px; white-space: nowrap;
	}

	/* ---------- Europa-Unis ---------- */
	.mm-uni {
		border: 1px solid var(--linie); border-radius: 4pt;
		padding: 8pt 10pt; margin-bottom: 7pt;
	}
	.mm-uni-kopf { border-bottom: 1px solid var(--linie); padding-bottom: 4pt; margin-bottom: 5pt; }
	.mm-uni-name { font-family: var(--serif); font-size: 12pt; font-weight: 600; line-height: 1.2; }
	.mm-uni-ort {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3) !important; margin-top: 1pt;
	}
	.mm-uni-daten { display: grid; grid-template-columns: 34mm 1fr; gap: 2.5pt 8pt; font-size: 9.5pt; }
	.mm-uni-k {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.06em; text-transform: uppercase; color: var(--ink-3) !important; padding-top: 1.5pt;
	}
	.mm-uni-v { word-break: break-word; }

	/* ---------- Bewerbungsanleitung ---------- */
	.mm-bew { margin-bottom: 14pt; }
	.mm-bew-titel {
		font-family: var(--serif); font-size: 14pt; font-weight: 600;
		margin: 0 0 6pt; break-after: avoid;
	}
	.mm-bew-meta {
		display: grid; grid-template-columns: 20mm 1fr; gap: 3pt 8pt;
		padding: 7pt 9pt; background: var(--sand-2); border-radius: 4pt; margin-bottom: 8pt;
		font-size: 9.5pt;
	}
	.mm-bew-k {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.08em; text-transform: uppercase; color: var(--ink-3) !important; padding-top: 1.5pt;
	}
	.mm-schritte { margin: 0 0 8pt; padding-left: 0; list-style: none; counter-reset: mms; }
	.mm-schritte li {
		position: relative; padding-left: 20pt; margin-bottom: 5pt;
		font-size: 10pt; line-height: 1.45; break-inside: avoid; counter-increment: mms;
	}
	.mm-schritte li::before {
		content: counter(mms);
		position: absolute; left: 0; top: 0.5pt;
		width: 13pt; height: 13pt; border-radius: 50%;
		border: 1px solid var(--akzent); color: var(--akzent-t) !important;
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		display: flex; align-items: center; justify-content: center;
	}
	.mm-hinweis {
		border-left: 3pt solid var(--akzent); background: var(--sand-1);
		padding: 6pt 9pt; break-inside: avoid;
	}
	.mm-hinweis-t {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.1em; text-transform: uppercase; color: var(--akzent-t) !important;
	}
	.mm-hinweis-x { font-size: 9.5pt; line-height: 1.45; margin-top: 1pt; }

	/* ---------- Fahrplan ---------- */
	.mm-zeit-gruppe { margin-bottom: 10pt; break-inside: avoid; }
	.mm-zeit-h {
		font-family: var(--ui); font-size: 8pt; font-weight: 700;
		letter-spacing: 0.12em; text-transform: uppercase; color: var(--akzent-t) !important;
		border-bottom: 1px solid var(--linie); padding-bottom: 3pt; margin-bottom: 5pt;
	}
	.mm-zeit-z {
		position: relative; padding-left: 14pt; margin-bottom: 4pt;
		font-size: 10pt; line-height: 1.4;
	}
	.mm-zeit-z::before {
		content: ""; position: absolute; left: 0; top: 4.5pt;
		width: 5pt; height: 5pt; border-radius: 50%; background: var(--akzent);
	}

	/* ---------- Checkliste und Abschluss ---------- */
	.mm-check { list-style: none; margin: 0 0 12pt; padding: 0; }
	.mm-check li {
		position: relative; padding-left: 18pt; margin-bottom: 6pt;
		font-size: 10.5pt; line-height: 1.45; break-inside: avoid;
	}
	.mm-check li::before {
		content: ""; position: absolute; left: 0; top: 2.5pt;
		width: 9pt; height: 9pt; border: 1px solid var(--ink-3); border-radius: 2pt;
	}
	.mm-cta {
		border: 1.5pt solid var(--ink); border-radius: 4pt;
		padding: 9pt 11pt; break-inside: avoid;
	}
	.mm-cta-k {
		font-family: var(--ui); font-size: 7.5pt; font-weight: 700;
		letter-spacing: 0.12em; text-transform: uppercase; color: var(--akzent-t) !important;
	}
	.mm-cta-t { font-size: 10.5pt; margin: 2pt 0 3pt; }

	.mm-fuss {
		margin-top: 14pt; padding-top: 8pt; border-top: 1px solid var(--linie);
		font-family: var(--ui); font-size: 7.5pt; line-height: 1.45; color: var(--ink-3) !important;
		break-inside: avoid;
	}
	.mm-fuss-t { font-weight: 700; color: var(--ink-2) !important; text-transform: uppercase; letter-spacing: 0.1em; }
	.mm-fuss p { margin: 3pt 0 0; }

	/* ---------- QR-Codes ----------
	   Damit ein ausgedrucktes PDF nicht in der Sackgasse endet. Als SVG-Pfad
	   gezeichnet, also unabhängig von der Option "Hintergrundgrafiken". */
	.mm-qr { flex: 0 0 auto; width: 22mm; text-align: center; }
	.mm-qr-bild { display: block; width: 22mm; height: 22mm; }
	.mm-qr-label {
		font-family: var(--ui); font-size: 6.5pt; font-weight: 700;
		letter-spacing: 0.06em; text-transform: uppercase;
		color: var(--ink-3) !important; margin-top: 2pt; line-height: 1.2;
	}
	.mm-schritt-box { display: flex; align-items: center; gap: 10pt; }
	.mm-schritt-text { flex: 1 1 auto; }
	.mm-cta { display: flex; align-items: center; gap: 12pt; }
	.mm-cta-text { flex: 1 1 auto; }
	.mm-bew-zeile { display: flex; align-items: flex-start; gap: 10pt; }
	.mm-bew-zeile .mm-bew-meta { flex: 1 1 auto; margin-bottom: 0; }
	.mm-bew-zeile .mm-qr { padding-top: 2pt; }
	.mm-bew { break-inside: avoid; }
	.mm-uni { display: flex; align-items: flex-start; gap: 10pt; }
	.mm-uni-inhalt { flex: 1 1 auto; min-width: 0; }
	.mm-uni .mm-qr { width: 20mm; }
	.mm-uni .mm-qr-bild { width: 20mm; height: 20mm; }
	.mm-doc .mm-cover .mm-cover-fuss, .mm-doc .mm-cover .mm-cover-fuss-t { display: flex; align-items: flex-end; justify-content: space-between; gap: 12pt; }
	.mm-cover-fuss-t { flex: 1 1 auto; }
	.mm-cover-fuss .mm-qr { width: 24mm; }
	.mm-cover-fuss .mm-qr-bild { width: 24mm; height: 24mm; }

	/* Nur Blöcke zusammenhalten, die auf eine Seite passen - setzt das Skript */
	.mzr-druck-block { break-inside: avoid; }
}

/* ---------- Ergebnis-Layout: nebeneinander statt Stapel ---------- */
/* Der Halter unter dem Banner traegt Kurzwahl und Reiterleiste. */
.mzr-navhalter { margin: 0 0 18px; }
.mzr-navhalter .mzr-tabsbar { margin-top: 10px; }

/* Vorspann: Fokusweg, Wunschorte und Vergleich stehen nebeneinander,
   sobald die Spalte breit genug ist. Darunter bleibt alles gestapelt. */
.mzr-vorspann { display: grid; gap: 14px; margin-bottom: 14px; }
@media (min-width: 860px) {
	/* auto-fit statt fester Spalten: allein stehende Karten fuellen die
	   Reihe, und nichts schrumpft je unter die Mindestbreite. */
	.mzr-breit .mzr-vorspann.mzr-zwei {
		grid-template-columns: repeat(auto-fit, minmax(460px, 1fr));
		align-items: start;
	}
	/* Der beste Weg bekommt die ganze Breite - er ist die Hauptaussage. */
	.mzr-breit .mzr-vorspann.mzr-zwei > .mzr-spot { grid-column: 1 / -1; }
}
/* Die Landkarte steht ueber allem und darf hoch sein. */
.mzr-karte-card { margin-bottom: 18px; }
@media (min-width: 860px) {
	.mzr-breit .mzr-karte-card .mzr-karte-svg { max-height: 620px; }
	/* Legende und Zaehler nebeneinander statt untereinander */
	.mzr-breit .mzr-karte-legende { justify-content: flex-start; }
}
/* Wegkarten zweispaltig, wenn Platz ist - fuenf Empfehlungen untereinander
   sind eine lange Rutschpartie. */
@media (min-width: 860px) {
	.mzr-breit .mzr-panel-wege {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(460px, 1fr));
		gap: 16px; align-items: start;
	}
	/* Diese tragen die Hauptaussage und bekommen die volle Breite. */
	.mzr-breit .mzr-panel-wege > .mzr-vorspann,
	.mzr-breit .mzr-panel-wege > .mzr-path-first,
	.mzr-breit .mzr-panel-wege > h3,
	.mzr-breit .mzr-panel-wege > .mzr-weitere,
	.mzr-breit .mzr-panel-wege > .mzr-cta { grid-column: 1 / -1; }
}

/* Handlungsteil der Infokarte: erst unser Angebot, dann der Kurs, ganz
   zuletzt klein die amtlichen Seiten. */
.mzr-karte-infonote {
	font-family: var(--mzr-prosa); font-size: 0.84rem; line-height: 1.5;
	color: var(--mzr-navy); margin: 0 0 10px;
}
.mzr-karte-aktion {
	display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 12px;
}
.mzr-karte-abo { white-space: nowrap; }
.mzr-karte-preis { font-family: var(--mzr-ui); font-size: 0.78rem; color: var(--mzr-muted); }
.mzr-karte-amtlich {
	display: flex; flex-wrap: wrap; gap: 12px; margin-top: 10px;
	padding-top: 8px; border-top: 1px solid var(--mzr-line);
}
.mzr-karte-amtlich a {
	font-family: var(--mzr-ui); font-size: 0.72rem; color: var(--mzr-muted);
	text-decoration: underline;
}
.mzr-karte-amtlich a:hover { color: var(--mzr-accent); }

/* Beruhigungszeile unter dem Startknopf - nimmt die Hemmschwelle */
.mzr-atlas-hinweis {
	font-family: var(--mzr-ui); font-size: 0.78rem; color: var(--mzr-muted);
	margin: 10px 0 0; max-width: 34em;
}
@media (min-width: 900px) { .mzr-atlas-solo .mzr-atlas-hinweis { margin-top: 12px; } }
/* Der Startknopf im Blickfang darf groesser sein als ein normaler Knopf */
.mzr-atlas-cta .mzr-btn-primary { font-size: 1.02rem; padding: 14px 26px; }

/* In der Kurslektion darf der Rechner die volle Seitenbreite nutzen. Ohne
   Deckel entstuenden daraus vier, fuenf Spalten mit Silbentrennung - lesbar
   ist das nicht mehr. Deshalb ein grosszuegiger, aber fester Rahmen. */
.mzr[data-mode="profil"].mzr-breit { max-width: 1320px; margin-left: auto; margin-right: auto; }
.mzr-breit .mzr-karte-card,
.mzr-breit .mzr-navhalter { max-width: 1320px; margin-left: auto; margin-right: auto; }

/* ---------- Bereich "Deine Standorte": Karte und Listen als ein Werkzeug ---------- */
/* Die große Atlas-Sektion (Karte + Steuerpult). Eigene Klasse, weil
   .mzr-standorte auch für die kleinen Standortlisten in den Empfehlungen
   benutzt wird - die sollen dieses Zweispalten-Raster NICHT erben. */
.mzr-atlas { display: grid; gap: 18px; }
@media (min-width: 1000px) {
	.mzr-breit .mzr-atlas { grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); align-items: start; }
	/* Die Karte laeuft beim Blaettern in der Liste mit */
	.mzr-breit .mzr-standorte-karte { position: sticky; top: 16px; }
}
.mzr-standorte-listen { display: grid; gap: 16px; min-width: 0; }
.mzr-standorte-karte .mzr-karte-svg { max-height: 520px; }

/* Verknuepfte Zeilen zeigen, dass sie anfassbar sind */
.mzr-verknuepft { cursor: pointer; }
.mzr-verknuepft:hover { background: var(--mzr-sand2); }
.mzr-verknuepft.is-gewaehlt {
	background: var(--mzr-sand2);
	box-shadow: inset 3px 0 0 var(--mzr-accent);
}
.mzr-karte-ort.is-betont { stroke: var(--mzr-navy); stroke-width: 2.5; paint-order: stroke; opacity: 1; }

/* ---------- Ergebnis mit einer Mail sichern ---------- */
.mzr-mail {
	margin: 18px 0 6px; padding: 16px 18px;
	background: var(--mzr-sand2); border: 1px solid var(--mzr-line);
	border-left: 3px solid var(--mzr-accent); border-radius: 10px;
}
.mzr-mail-label {
	display: block; font-family: var(--mzr-ui); font-size: 0.86rem;
	font-weight: 700; color: var(--mzr-navy); margin-bottom: 8px;
}
.mzr-mail-reihe { display: flex; flex-wrap: wrap; gap: 8px; }
.mzr-mail-feld { flex: 1 1 240px; min-width: 0; }
.mzr-mail-reihe .mzr-btn { white-space: nowrap; }
.mzr-mail-meldung { font-family: var(--mzr-ui); font-size: 0.8rem; margin-top: 8px; }
.mzr-mail-meldung.is-fehler { color: #AB2800; font-weight: 600; }
.mzr-mail-klein {
	font-family: var(--mzr-ui); font-size: 0.74rem; color: var(--mzr-muted);
	margin: 10px 0 0; line-height: 1.5;
}
.mzr-teaser-alt { font-size: 0.86rem; }
.mzr-mail-ok { border-left: 3px solid var(--mzr-ok); }

/* Privatunis: gleiche Farblogik, aber mit Ring in Navy und etwas groesser,
   damit sie sich von den staatlichen Standorten unterscheiden lassen */
.mzr-karte-ort.is-privat { stroke: var(--mzr-navy); stroke-width: 1.2; stroke-dasharray: 2 1.5; }

.mzr-standorte-hinweis {
	font-family: var(--mzr-ui); font-size: 0.8rem; color: var(--mzr-muted);
	margin: 0 0 14px; padding: 9px 12px;
	background: var(--mzr-sand); border: 1px solid var(--mzr-line); border-radius: 8px;
}

/* Karte zieht in den Standorte-Bereich um: dort steht sie neben der Liste */
.mzr-karte-card.is-neben { margin-bottom: 0; }
.mzr-karte-card.is-neben .mzr-karte-svg { max-height: 560px; }
@media (min-width: 1000px) {
	.mzr-breit .mzr-karte-card.is-neben { position: sticky; top: 16px; }
}
/* Umschalter Deutschland / Europa */
.mzr-umschalter {
	display: inline-flex; gap: 4px; padding: 4px;
	background: var(--mzr-sand2); border: 1px solid var(--mzr-line);
	border-radius: 999px; margin-bottom: 4px;
}
.mzr-um-btn {
	font-family: var(--mzr-ui); font-size: 0.86rem; font-weight: 600;
	color: var(--mzr-muted); background: none; border: 0; cursor: pointer;
	padding: 7px 18px; border-radius: 999px; transition: background 0.2s ease, color 0.2s ease;
}
.mzr-um-btn:hover { color: var(--mzr-navy); }
.mzr-um-btn.is-active { background: var(--mzr-navy); color: #fff; }

/* Luft zwischen Banner, Kurzwahl, Reitern und Inhalt */
.mzr-dash-head { margin-bottom: 22px; }
.mzr-navhalter { margin: 0 0 26px; }
.mzr-navhalter .mzr-tabsbar { margin-top: 14px; }
.mzr-atlas { gap: 22px; }
.mzr-standorte-listen { gap: 18px; }
/* Regler im Was-wäre-wenn: Beschriftung, Schiene, Wert in einer Zeile */
.mzr-sim-zeile { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.mzr-sim-marke {
	font-family: var(--mzr-ui); font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.04em; text-transform: uppercase; color: var(--mzr-muted);
	flex: 0 0 62px;
}
.mzr-sim-zeile .mzr-slider { flex: 1 1 auto; min-width: 0; }
.mzr-sim-wert { flex: 0 0 auto; font-family: var(--mzr-ui); font-size: 0.8rem; font-weight: 600; color: var(--mzr-navy); }
.mzr-ur-skala { flex: 1 1 190px; }
.mzr-input:disabled { background: var(--mzr-sand2); color: var(--mzr-muted); }

/* Mehr Luft zwischen Karte und Liste */
@media (min-width: 1000px) {
	.mzr-breit .mzr-atlas { grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr); gap: 34px; }
}
/* Der Zeugnisregler steht im Chancen-Check, nicht im Was-wäre-wenn */
.mzr-ur-check .mzr-sim-zeile { margin: 12px 0 4px; }
.mzr-ur-sys { flex: 1 1 220px; }
.mzr-ur-notewert { min-width: 148px; text-align: right; }

/* Bundesland als ruhige Zeile statt als Auswahlfeld */
.mzr-ur-blzeile {
	display: inline-flex; align-items: baseline; gap: 8px;
	font-family: var(--mzr-ui); font-size: 0.84rem; color: var(--mzr-navy);
	padding: 10px 2px;
}
.mzr-ur-bllink {
	background: none; border: 0; padding: 0; cursor: pointer;
	font-family: var(--mzr-ui); font-size: 0.78rem; color: var(--mzr-accent);
	text-decoration: underline;
}
.mzr-ur-bllink:hover { color: var(--mzr-akzent-text); }

/* "Noch nicht gemacht": Regler tritt zurück, Schalter zeigt den Zustand */
.mzr-sim-aus { font-size: 0.74rem; padding: 5px 12px; white-space: nowrap; }
.mzr-sim-zeile.is-aus .mzr-slider { opacity: 0.35; }
.mzr-sim-zeile.is-aus .mzr-sim-wert { opacity: 0.4; text-decoration: line-through; }

/* Herkunftshinweis, wenn kein deutsches Abitur vorliegt */
.mzr-ur-herkunft {
	font-family: var(--mzr-ui); font-size: 0.8rem; color: var(--mzr-muted);
	align-self: center; padding: 8px 2px;
}

/* ---------- Akkordeon der Empfehlungen ---------- */
.mzr-acc { margin: 0 0 26px; display: grid; gap: 10px; }
.mzr-acc-item {
	background: var(--mzr-bg); border: 1px solid var(--mzr-line);
	border-radius: 999px; overflow: hidden;
	transition: border-radius 0.2s ease, box-shadow 0.2s ease;
}
.mzr-acc-item.is-offen {
	border-radius: 16px;
	box-shadow: 0 10px 28px rgba(35, 47, 63, 0.07);
	border-color: var(--mzr-accent);
}
.mzr-acc-kopf {
	display: flex; align-items: center; gap: 12px; width: 100%;
	background: none; border: 0; cursor: pointer; text-align: left;
	padding: 12px 18px; font-family: var(--mzr-ui);
}
.mzr-acc-kopf:hover { background: var(--mzr-sand); }
.mzr-acc-titel { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 1px; }
.mzr-acc-name { font-family: var(--mzr-serif); font-size: 1.02rem; font-weight: 600; color: var(--mzr-navy); }
.mzr-acc-land {
	font-size: 0.7rem; letter-spacing: 0.06em; text-transform: uppercase;
	color: var(--mzr-muted);
}
.mzr-acc-pfeil { color: var(--mzr-muted); transition: transform 0.2s ease; }
.mzr-acc-item.is-offen .mzr-acc-pfeil { transform: rotate(180deg); color: var(--mzr-accent); }
.mzr-acc-detail { padding: 4px 20px 18px 20px; border-top: 1px solid var(--mzr-line); }
.mzr-acc-detail > .mzr-text:first-child { margin-top: 12px; }
.mzr-acc-more .mzr-acc-name { font-size: 0.94rem; font-weight: 500; }
.mzr-acc .mzr-more-title { margin: 14px 0 2px; }

/* ---------- Steuerpult-Gruppen neben der Karte ---------- */
.mzr-grp {
	background: var(--mzr-bg); border: 1px solid var(--mzr-line);
	border-radius: 12px; overflow: hidden;
}
.mzr-grp-kopf {
	display: flex; justify-content: space-between; align-items: center;
	width: 100%; background: var(--mzr-sand); border: 0; cursor: pointer;
	padding: 12px 16px; text-align: left;
	font-family: var(--mzr-ui); font-size: 0.9rem; font-weight: 700; color: var(--mzr-navy);
}
.mzr-grp.is-offen .mzr-grp-kopf { border-bottom: 1px solid var(--mzr-line); }
.mzr-grp-pfeil { color: var(--mzr-muted); transition: transform 0.2s ease; }
.mzr-grp.is-offen .mzr-grp-pfeil { transform: rotate(180deg); }
.mzr-grp-korpus { padding: 14px 16px; }
.mzr-grp-korpus .mzr-sim { margin-top: 12px; }

/* ---------- Versteckte Listen ---------- */
.mzr-listen-toggle { margin: 18px 0 0; }
.mzr-listenbox { display: grid; gap: 16px; margin-top: 14px; }

/* ---------- Abschluss ---------- */
.mzr-abschluss { border-left: 3px solid var(--mzr-accent); margin-top: 26px; }
.mzr-abschluss-aktion { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; }
.mzr-abschluss-pdf { font-size: 1.02rem; padding: 14px 26px; }
.mzr-angaben-card { margin-top: 18px; }

/* ---- Persönliches Urteil in der Karten-Infokarte ---- */
.mzr-karte-urteil {
	margin: 10px 0 12px;
	padding: 10px 12px;
	border-radius: 10px;
	border-left: 4px solid var(--mm-ink-2, #5b6572);
	background: rgba(35, 47, 63, 0.05);
}
.mzr-karte-urteilkopf {
	font-weight: 700;
	font-size: 0.92rem;
	margin-bottom: 2px;
}
.mzr-karte-urteiltxt {
	font-size: 0.85rem;
	line-height: 1.45;
	color: var(--mm-ink-2, #5b6572);
}
.mzr-urteil-gruen { border-left-color: #1d9e57; background: rgba(29, 158, 87, 0.08); }
.mzr-urteil-gruen .mzr-karte-urteilkopf { color: #16713f; }
.mzr-urteil-gelb { border-left-color: #d98e04; background: rgba(217, 142, 4, 0.09); }
.mzr-urteil-gelb .mzr-karte-urteilkopf { color: #915f03; }
.mzr-urteil-grau { border-left-color: #8a94a3; background: rgba(138, 148, 163, 0.10); }
.mzr-urteil-grau .mzr-karte-urteilkopf { color: #4a5462; }
/* "Noch nicht bewertet" ist keine Warnung: gestrichelte Kante wie der hohle
   Kartenring, neutrale Farbe - Vermilion las sich wie eine Absage. */
.mzr-urteil-info {
	border-left-color: #8a94a3; border-left-style: dashed;
	background: rgba(35, 47, 63, 0.04);
}
.mzr-urteil-info .mzr-karte-urteilkopf { color: #3c4655; }

/* ---- Nutzenliste auf der Startseite (statt Karte) ---- */
.mzr-nutzen { margin: 18px 0 10px; display: grid; gap: 10px; }
.mzr-nutzen-zeile { display: flex; gap: 10px; align-items: baseline; }
.mzr-nutzen-hak {
	color: #FF4203;
	font-weight: 800;
	flex: 0 0 auto;
}
.mzr-nutzen-text { font-size: 0.95rem; line-height: 1.5; }
.mzr-nutzen-text strong { color: var(--mm-ink, #232F3F); }

/* ---- Passwort-Karte nach dem ersten Link-Login ---- */
.mzr-linklike {
	background: none;
	border: none;
	padding: 0;
	margin-top: 8px;
	color: var(--mm-ink-2, #5b6572);
	font-size: 0.85rem;
	text-decoration: underline;
	cursor: pointer;
}
.mzr-linklike:hover { color: #FF4203; }

/* ---- Wunschstandorte als Klappzeile in der Empfehlungsliste ---- */
.mzr-wunsch-karte.is-innen { padding: 0; border: none; background: none; box-shadow: none; }
.mzr-acc-wunsch .mzr-rank { color: var(--mzr-accent); background: none; }

/* Knopfreihe im Banner: eine gemeinsame rechte Kante, Konto-Zeile darunter */
.mzr-hero-btns { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; gap: 8px; }
@media (max-width: 720px) { .mzr-hero-btns { justify-content: flex-start; } }

/* ---- Dritter Kartenzustand: noch nicht bewertet ---- */
.mzr-karte-ort.is-offen {
	fill: none; stroke: var(--mzr-accent); stroke-width: 1.6; opacity: 0.55;
}
.mzr-karte-legpunkt.is-offen {
	background: none; border: 2px solid var(--mzr-accent); opacity: 0.75;
}
/* ---- Umschalter Karte / Liste ---- */
.mzr-ansicht { display: inline-flex; gap: 0; margin: 0 0 12px; border: 1px solid var(--mzr-line); border-radius: 999px; overflow: hidden; }
.mzr-ansicht button {
	font-family: var(--mzr-ui); font-size: 0.84rem; font-weight: 600;
	padding: 7px 16px; border: 0; background: none; color: var(--mzr-muted); cursor: pointer;
}
.mzr-ansicht button.is-active { background: var(--mzr-navy); color: #fff; }
.mzr-ansicht-zeile { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.mzr-zurueck-btn { font-size: 0.82rem; padding: 6px 14px; }

/* ---- Listenansicht: volle Breite, Steuerpult darunter ---- */
@media (min-width: 1000px) {
	.mzr-breit .mzr-atlas.is-liste { grid-template-columns: minmax(0, 1fr); }
	.mzr-breit .mzr-atlas.is-liste .mzr-standorte-karte { position: static; }
}
.mzr-standorte-karte { min-width: 0; }
.mzr-atlas.is-liste .mzr-karte-card { background: none; border: 0; box-shadow: none; padding: 0; }
.mzr-listenbox { min-width: 0; display: grid; gap: 16px; }

/* ---- Länderübergreifende Trefferliste über den Ranglisten ---- */
.mzr-treffer-gruppe { margin-top: 14px; }
.mzr-treffer-land {
	display: flex; align-items: center; gap: 7px;
	font-family: var(--mzr-ui); font-size: 0.72rem; font-weight: 700;
	letter-spacing: 0.1em; text-transform: uppercase; color: var(--mzr-muted);
	margin: 0 0 6px;
}
/* Die Flagge traegt keine Sperrung mit - sonst rutscht sie vom Namen weg. */
.mzr-treffer-land .mzr-flagge { letter-spacing: normal; }
.mzr-treffer-liste { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 6px; }
.mzr-treffer-z {
	display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 8px 11px;
	border: 1px solid var(--mzr-line); border-radius: 10px; background: #fff; cursor: pointer;
}
.mzr-treffer-z:hover { border-color: var(--mzr-accent); }
.mzr-treffer-name { font-weight: 600; font-size: 0.9rem; }
.mzr-treffer-info { font-size: 0.78rem; color: var(--mzr-muted); }
.mzr-treffer-leer { font-size: 0.9rem; line-height: 1.5; color: var(--mzr-muted); }
.mzr-treffer-offen { margin-top: 12px; font-size: 0.82rem; color: var(--mzr-muted); line-height: 1.6; }

/* Aufklappbare Infokarte in der Trefferliste */
.mzr-treffer-zelle { min-width: 0; }
.mzr-treffer-z.is-offen-zeile { border-color: var(--mzr-accent); }
.mzr-treffer-detail { margin-top: 6px; }
.mzr-treffer-abschnitt { margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--mzr-line); }
.mzr-treffer-h4 { font-family: var(--mzr-serif); font-size: 1.05rem; margin: 0 0 4px; }
.mzr-treffer-z.is-offen { border-style: dashed; background: none; }
.mzr-treffer-z.is-offen .mzr-treffer-name { font-weight: 500; }

/* Gleich hohe Kacheln: Sonst starten die aufgeklappten Infokarten einer
   Reihe auf unterschiedlichen Höhen, weil manche Uni-Namen zweizeilig sind. */
.mzr-treffer-liste { align-items: start; }
.mzr-treffer-zelle { display: flex; flex-direction: column; }
.mzr-treffer-z { min-height: 64px; justify-content: center; }
.mzr-treffer-name {
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
	overflow: hidden; line-height: 1.25;
}
/* Infozeile einzeilig: hält jede Kachel exakt gleich hoch. Die vollen
   Angaben stehen ohnehin einen Klick weiter in der Infokarte. */
.mzr-treffer-info {
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	max-width: 100%; display: block;
}
/* Der Name belegt immer zwei Zeilen - kurze wie lange Uni-Namen ergeben
   damit exakt gleich hohe Kacheln, egal wie die Reihe umbricht. */
.mzr-treffer-name { min-height: 2.5em; }
.mzr-treffer-z { min-height: 76px; }

/* ---------- Empfehlung: Erklärung links, Handlung rechts ----------
   Vorher lief der Fließtext auf halber Breite aus und die Knöpfe standen
   unter den Modulen - man musste suchen, was man als Nächstes tun soll. */
.mzr-weg-kopf { display: grid; gap: 22px; align-items: start; margin-bottom: 18px; }
@media (min-width: 900px) {
	.mzr-weg-kopf { grid-template-columns: minmax(0, 1fr) 300px; }
}
.mzr-weg-prosa { min-width: 0; }
.mzr-weg-prosa .mzr-text { max-width: none; margin-bottom: 12px; }
.mzr-weg-aktion {
	background: var(--mzr-sand2);
	border: 1px solid var(--mzr-line);
	border-radius: 14px;
	padding: 16px 18px 18px;
}
.mzr-weg-aktion.is-erster { border-color: var(--mzr-accent); background: rgba(255, 66, 3, 0.05); }
.mzr-weg-aktion-kicker {
	font-family: var(--mzr-ui); font-size: 0.7rem; font-weight: 700;
	letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--mzr-muted); margin-bottom: 10px;
}
.mzr-weg-aktion .mzr-weg-btn { display: block; width: 100%; text-align: center; }
.mzr-weg-preis { font-size: 0.78rem; color: var(--mzr-muted); margin-top: 7px; }
.mzr-weg-kurs {
	display: block; margin-top: 14px; padding-top: 12px;
	border-top: 1px solid var(--mzr-line);
	font-family: var(--mzr-ui); font-size: 0.88rem; font-weight: 700;
	color: var(--mzr-navy); text-decoration: none;
}
.mzr-weg-kurs:hover { color: var(--mzr-accent); }
/* Module unter dem Kopf laufen über die ganze Breite */
.mzr-acc-detail .mzr-ur-list,
.mzr-acc-detail .mzr-land-more { max-width: none; }
/* Grenzwert- und Standortlisten in den Empfehlungen: zweispaltig und eng
   gesetzt. Einspaltig lief die Liste ewig nach unten, mit Standardabstand
   klafften große Lücken zwischen den Zeilen. */
@media (min-width: 900px) {
	.mzr-acc-detail .mzr-ur-list {
		display: grid; grid-template-columns: 1fr 1fr; gap: 8px; align-items: start;
	}
}
.mzr-acc-detail .mzr-ur-row { padding: 9px 12px; }
.mzr-acc-detail .mzr-ur-list .mzr-ur-mid { min-width: 0; }
/* Standort- und Grenzwertlisten in den Empfehlungen: zwei gleich breite
   Spalten. Vorher erbten sie das 0,85/1,15-Raster der Atlas-Sektion. */
@media (min-width: 900px) {
	.mzr-acc-detail .mzr-standorte {
		display: grid; grid-template-columns: 1fr 1fr; gap: 4px 24px; align-items: start;
	}
	.mzr-acc-detail .mzr-standorte .mzr-standorte-title { grid-column: 1 / -1; }
}

/* ---------- Fokus: das Theme malt fokussierte Knöpfe ein ----------
   BuddyBoss färbt jeden button:focus mit der Akzentfarbe. Bei unseren
   schlichten Leisten (Empfehlungszeile, Steuerpult-Gruppe, Umschalter)
   blieb nach dem Klick ein roter Balken mit dunkler Schrift zurück -
   unleserlich und hässlich. Diese Knöpfe behalten deshalb immer ihr
   eigenes Aussehen; sichtbar bleibt der Fokus über einen sauberen
   Rahmen, aber nur bei Tastaturbedienung (:focus-visible). */
.mzr .mzr-acc-kopf,
.mzr .mzr-acc-kopf:focus,
.mzr .mzr-acc-kopf:active,
.mzr .mzr-grp-kopf,
.mzr .mzr-grp-kopf:focus,
.mzr .mzr-grp-kopf:active,
.mzr .mzr-ansicht button:focus,
.mzr .mzr-ansicht button:active,
.mzr .mzr-karte-zbtn:focus,
.mzr .mzr-karte-infoschliessen:focus,
.mzr .mzr-linklike:focus {
	background-color: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
}
.mzr .mzr-acc-kopf:focus .mzr-acc-name,
.mzr .mzr-acc-kopf:active .mzr-acc-name { color: var(--mzr-navy) !important; }
.mzr .mzr-acc-kopf:focus .mzr-acc-land,
.mzr .mzr-acc-kopf:active .mzr-acc-land { color: var(--mzr-muted) !important; }
/* Der aktive Umschalter behält seine dunkle Füllung auch mit Fokus */
.mzr .mzr-ansicht button.is-active,
.mzr .mzr-ansicht button.is-active:focus,
.mzr .mzr-ansicht button.is-active:active {
	background-color: var(--mzr-navy) !important; color: #fff !important;
}
.mzr .mzr-acc-kopf:hover { background-color: var(--mzr-sand) !important; }
.mzr .mzr-acc-kopf:focus-visible,
.mzr .mzr-grp-kopf:focus-visible { outline: 3px solid var(--mzr-navy); outline-offset: -3px; }
/* Auch unten bündig: Die Zelle füllt die Zeilenhöhe, die aufgeklappte
   Infokarte streckt sich mit. Sonst enden nebeneinander liegende Karten
   je nach Textmenge auf verschiedenen Höhen. */
.mzr-treffer-liste { align-items: stretch; }
.mzr-treffer-zelle { height: 100%; }
.mzr-treffer-detail { flex: 1 1 auto; }
/* Nichts darf aus der Spalte laufen: Lange Knopfbeschriftungen wie
   "Griechenland im Kurs nachlesen" erzwangen sonst die Breite und die
   Karte schwappte über die Nachbarspalte. */
.mzr-treffer-detail,
.mzr-treffer-detail * { min-width: 0; }
.mzr-treffer-detail { max-width: 100%; overflow-wrap: anywhere; }
.mzr-treffer-detail .mzr-btn {
	white-space: normal; width: 100%; text-align: center;
	box-sizing: border-box; line-height: 1.3;
}
.mzr-treffer-detail .mzr-karte-aktion { display: block; }
.mzr-treffer-detail .mzr-karte-preis { display: block; margin-top: 6px; }
.mzr-treffer-detail .mzr-karte-infok { flex: 0 0 40%; }

/* Nachtrag zum Fokus-Fix: Das Theme setzt beim Hover auch die SCHRIFT auf
   Weiß. Weil wir nur den Hintergrund neutralisiert hatten, verschwand der
   Text auf hellem Grund. Farben deshalb überall selbst festlegen - und die
   Gruppenleiste behält ihren Sandton, den die Sammelregel geschluckt hatte. */
.mzr .mzr-grp-kopf,
.mzr .mzr-grp-kopf:hover,
.mzr .mzr-grp-kopf:focus,
.mzr .mzr-grp-kopf:active {
	background-color: var(--mzr-sand) !important;
	color: var(--mzr-navy) !important;
}
.mzr .mzr-grp-kopf:hover { filter: brightness(0.97); }
.mzr .mzr-acc-kopf,
.mzr .mzr-acc-kopf:hover,
.mzr .mzr-acc-kopf:focus,
.mzr .mzr-acc-kopf:active { color: var(--mzr-navy) !important; }
.mzr .mzr-acc-kopf:hover .mzr-acc-name,
.mzr .mzr-acc-kopf:focus .mzr-acc-name { color: var(--mzr-navy) !important; }
.mzr .mzr-acc-kopf:hover .mzr-acc-land,
.mzr .mzr-acc-kopf:focus .mzr-acc-land { color: var(--mzr-muted) !important; }
.mzr .mzr-acc-kopf:hover .mzr-acc-pfeil,
.mzr .mzr-grp-kopf:hover .mzr-grp-pfeil { color: var(--mzr-muted) !important; }
.mzr .mzr-ansicht button:hover:not(.is-active) {
	background-color: var(--mzr-sand) !important; color: var(--mzr-navy) !important;
}
.mzr .mzr-karte-zbtn:hover,
.mzr .mzr-karte-infoschliessen:hover,
.mzr .mzr-linklike:hover { color: var(--mzr-accent) !important; }

/* Luft vor der Feedback-Karte - sie klebte an der Trefferliste */
.mzr-result .mzr-fb { margin-top: 26px; }

/* Sicherungskarte: hervorgehoben, wenn jemand ohne Konto das PDF anfordert */
.mzr-sicherung.is-betont {
	border-color: var(--mzr-accent);
	box-shadow: 0 0 0 3px rgba(255, 66, 3, 0.12);
}

/* ---------- Einheitlicher Abstand zwischen allen Blöcken ----------
   Statt an jeder Karte einzeln einen Rand zu setzen (und ihn beim nächsten
   neuen Block wieder zu vergessen), bekommt die Ergebnisseite einen festen
   vertikalen Rhythmus. Neue Karten sitzen damit automatisch richtig. */
.mzr-result { display: flex; flex-direction: column; gap: 26px; }
.mzr-result > * { margin-top: 0 !important; margin-bottom: 0 !important; }

/* ---------- Startansicht auf der Kursseite ----------
   Die Bühne benutzt die Hero-Klassen; hier nur, was sich unterscheidet:
   Sie sitzt bündig in der Karte und der Text bleibt schmal genug, damit
   ihn das Bergmotiv nicht überlagert. */
.mzr-intro { padding: 0 !important; overflow: hidden; }
.mzr-intro-buehne {
	border-radius: 0; margin-bottom: 0; min-height: 0;
	align-items: flex-start;
}
.mzr-intro-buehne .mzr-hero-text { max-width: 620px; }
.mzr-intro .mzr-nutzen { padding: 24px 34px 0; margin: 0; }
.mzr-intro .mzr-karte-hinweis { padding: 14px 34px 0; }
.mzr-intro > .mzr-btn,
.mzr-intro > .mzr-text,
.mzr-intro > .mzr-land-more { margin: 18px 34px 0; }
.mzr-intro > .mzr-btn:last-child { margin-bottom: 30px; }
@media (max-width: 720px) {
	.mzr-intro-buehne { padding: 24px 20px 22px; }
	.mzr-intro-buehne .mzr-hero-title { font-size: 1.5rem !important; }
	.mzr-intro .mzr-nutzen, .mzr-intro .mzr-karte-hinweis { padding-left: 20px; padding-right: 20px; }
	.mzr-intro > .mzr-btn { margin-left: 20px; margin-right: 20px; }
}

/* ---------- Kompaktansicht: Aufklapper unter dem Banner ---------- */
.mzr-kompakt-knopf { align-self: flex-start; }
.mzr-kompakt-hinweis {
	font-family: var(--mzr-ui); font-size: 0.85rem; color: var(--mzr-muted);
	margin: 0 !important; line-height: 1.5;
}
.mzr-kompakt-korpus { display: flex; flex-direction: column; gap: 26px; }

/* Schmaler Inhaltsbereich (z. B. Kursseite mit rechter Spalte): Karte und
   Steuerpult untereinander statt nebeneinander - zwei Spalten hätten dort
   je gut 250 Pixel, und der Text bräche silbenweise um. */
.mzr-breit .mzr-atlas.is-schmal,
.mzr-atlas.is-schmal { grid-template-columns: minmax(0, 1fr) !important; }
.mzr-breit .mzr-atlas.is-schmal .mzr-standorte-karte { position: static !important; }
.mzr-atlas.is-schmal .mzr-karte-svg { max-height: 420px; }

/* Auftritt eines neu passenden Standorts im Fragebogen: kurz aufpoppen,
   danach normaler Ruhezustand. Bewusst über eine Transition mit Rücknahme
   der Klasse - eine Animation mit fill-mode würde den Punkt dauerhaft
   verändern, wenn sie im Hintergrundtab nie läuft. */
.mzr-karte-ort.is-auftritt {
	transform: scale(2.2);
	transition: transform 0.18s cubic-bezier(.34, 1.56, .64, 1), fill 0.2s ease;
}

/* ---------- Aufklappen statt zweite Karte ----------
   Die Zeile wird beim Öffnen selbst zur Karte: Kopf oben, Inhalt darunter,
   ein Rahmen, ein Hintergrund. Vorher lag eine fremd gestaltete Infokarte
   in der weißen Zeile und wiederholte den Uni-Namen. */
.mzr-treffer-zelle.is-auf {
	border: 1px solid var(--mzr-accent);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}
.mzr-treffer-zelle.is-auf .mzr-treffer-z {
	border: 0;
	border-radius: 0;
	background: rgba(255, 66, 3, 0.05);
}
.mzr-treffer-zelle.is-auf .mzr-treffer-detail {
	margin: 0;
	border: 0;
	border-radius: 0;
	border-top: 1px solid var(--mzr-line);
	background: none;
	padding: 12px 14px 14px;
}
/* Der Schließen-Knopf entfällt im Aufklapper - ein zweiter Klick auf die
   Zeile schließt sie ohnehin. */
.mzr-treffer-detail .mzr-karte-infoschliessen { display: none; }
