/*
Theme Name: PunkteInsider
Description: Swiss Editorial Design System für PunkteInsider nach offizieller Referenz.
Version: 2.0.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: meilen-radar
License: GPL-2.0-or-later
*/

/* Cascade Layers (07-06, D-06): dieselbe Reihenfolge steht am Anfang jeder Stilvorlage der Site. Das Theme nutzt
   reset, base, tokens und layout; Hilfsklassen und die Fokusregel stehen in utilities. Unlayered CSS von WordPress
   (global-styles, block-library) schlägt jede Layer-Regel; Überschneidungen sind deshalb aus theme.json entfernt. */
@layer reset, base, tokens, layout, components, utilities;

@layer tokens {
/* ==========================================================================
   1. GLOBAL RESET & DESIGN TOKENS
   ========================================================================== */
:root {
	--mr-font-sans: 'Plus Jakarta Sans', 'Plus Jakarta Sans Fallback', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
	--mr-font-serif: 'Newsreader', 'Newsreader Fallback', Georgia, 'Times New Roman', serif;
	--mr-font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

	/* Farbwelt «Logbuch» (11-UI-SPEC, D-06): Papier, Navy-Tinte, Petrol aus dem Logo, ein Signal für Zeitkritisches.
	   Die alten Namen bleiben als Träger, damit Plugin-CSS und Tests unverändert lesen. */
	--mr-paper: #F6F3EC;
	--mr-navy: #0B2545;
	--mr-navy-hover: #16365F;
	--mr-navy-deep: #06182E;
	--mr-black: #14202E;
	--mr-black-deep: #06182E;
	--mr-gray-dark: #3D4A5A;
	--mr-gray-mid: #5A6472;
	--mr-gray-light: #8C8577;
	--mr-border: #D8D1C4;
	--mr-border-light: #E6E0D4;
	--mr-bg-light: #EDE8DD;
	--mr-bg-card: #FFFFFF;

	/* Petrol (Markenblau aus dem Logo, für Text abgedunkelt). Name --mr-blue bleibt als Träger. */
	--mr-blue: #0B6670;
	--mr-blue-hover: #08535B;
	--mr-blue-subtle: #E3EEEE;
	--mr-petrol-light: #9FD3D6;

	/* Signal (nur Zeitkritisches: «Läuft bald aus», Promotionsmarker). */
	--mr-signal: #A8361A;
	--mr-signal-subtle: #F6E6DF;

	/* Warnung, Erfolg */
	--mr-amber: #8A5200;
	--mr-amber-subtle: #F5E9D3;
	--mr-green: #1B6B45;

	--mr-radius-sm: 2px;
	--mr-radius-md: 3px;
	--mr-radius-pill: 9999px;

	--mr-radius-lg: 4px;

	/* Semantische Aliase (07-07, D-04, D-05; Werte seit 11 aus der neuen Palette). */
	--mr-text: var(--mr-black);
	--mr-text-muted: var(--mr-gray-dark);
	--mr-text-subtle: var(--mr-gray-mid);
	--mr-surface: var(--mr-bg-card);
	--mr-surface-alt: var(--mr-bg-light);
	--mr-line: var(--mr-border);
	--mr-line-strong: var(--mr-gray-mid);
	--mr-focus: var(--mr-blue);
	--mr-link: var(--mr-blue);
	--mr-error: #B91C1C;
	--mr-warning: var(--mr-amber);
	--mr-teal: var(--mr-blue);

	/* Abstände (UI-SPEC Spacing Scale, Vielfache von 4 px). */
	--mr-space-xs: 0.25rem;
	--mr-space-sm: 0.5rem;
	--mr-space-md: 1rem;
	--mr-space-lg: 1.5rem;
	--mr-space-xl: 2rem;
	--mr-space-2xl: 3rem;
	--mr-space-3xl: 4rem;

	/* Schrift: vier Grössen, zwei Schnitte (07 D-08, 11 D-04); Werte 11-UI-SPEC. */
	--mr-fs-small: 0.875rem;
	--mr-fs-body: 1rem;
	--mr-fs-heading: clamp(1.375rem, 1.15rem + 0.7vw, 1.75rem);
	--mr-fs-display: clamp(1.875rem, 1.05rem + 3.4vw, 3.75rem);
	--mr-lh-body: 1.6;
	--mr-lh-small: 1.5;
	--mr-lh-heading: 1.2;
	--mr-lh-display: 1.08;

	/* Schatten nur für Ebenen (Suche, Banner). */
	--mr-shadow-sm: 0 1px 2px rgb(11 37 69 / 0.06);
	--mr-shadow-md: 0 8px 24px rgb(11 37 69 / 0.14);

	--mr-transition: color 150ms, background-color 150ms, border-color 150ms, box-shadow 150ms;

	--mr-header-h: 8.25rem;
}

@media (max-width: 991px) {
	:root:has(.mr-search[open]) {
		--mr-header-h: 14rem;
	}
}

@media (min-width: 992px) {
	:root {
		--mr-header-h: 4.5rem;
	}
}
} /* @layer tokens */

@layer base {
/* Metrische Rückfallschriften (11, CLS): Georgia und Arial auf die Laufweite von Newsreader und Plus Jakarta Sans
   gebracht (fontTools, Mittel über Titel- und Datentext), damit der Schriftwechsel die Zeilen kaum verschiebt. */
@font-face {
	font-family: 'Newsreader Fallback';
	src: local('Georgia');
	size-adjust: 96%;
	ascent-override: 76.5%;
	descent-override: 27.6%;
	line-gap-override: 0%;
}

@font-face {
	font-family: 'Plus Jakarta Sans Fallback';
	src: local('Arial');
	size-adjust: 104.4%;
	ascent-override: 99.4%;
	descent-override: 21.3%;
	line-gap-override: 0%;
}

html {
	box-sizing: border-box;
	font-family: var(--mr-font-sans);
	color: var(--mr-black);
	background-color: var(--mr-paper);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	/* 07-17 (D-26a): keine Überlaufmaske mehr auf html und body; der Überlauftest auf Dokumentebene kann scheitern. */
	/* D-27: Ziele von Sprunglinks und fokussierte Elemente landen nicht unter Kopfzeile oder Banner. */
	scroll-padding-top: calc(var(--mr-header-h) + var(--mr-space-sm));
	scroll-padding-bottom: var(--mr-consent-h, 0px);
}
} /* @layer base */

@layer reset {
*, *:before, *:after {
	box-sizing: inherit;
}
} /* @layer reset */

@layer base {
body {
	margin: 0;
	padding: 0;
	font-family: inherit;
	/* Früher aus theme.json styles.typography (07-06): unlayered hätte es die Layer-Regeln geschlagen. */
	font-size: var(--mr-fs-body);
	color: inherit;
	background-color: inherit;
	line-height: var(--mr-lh-body);
	width: 100%;
}

/* Früher aus theme.json styles.elements.heading (07-06). Schriftskala 07-07 (D-08): H1 Display, H2 Heading, H3 bis H6
   in Body-Grösse fett; lange deutsche Komposita brechen um statt überzulaufen. */
h1, h2, h3, h4, h5, h6 {
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: var(--mr-lh-heading);
	overflow-wrap: break-word;
	hyphens: auto;
}

/* 11 (UI-SPEC Schrift): H1 und H2 in Newsreader 400 mit optischer Grösse; H3 bis H6 bleiben Jakarta 700. */
h1, h2 {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	font-optical-sizing: auto;
}

h1 {
	font-size: var(--mr-fs-display);
	line-height: var(--mr-lh-display);
	letter-spacing: -0.015em;
}

h2 {
	font-size: var(--mr-fs-heading);
	letter-spacing: -0.01em;
}

h3, h4, h5, h6 {
	font-size: var(--mr-fs-body);
	letter-spacing: 0;
}

h1, h2, h3 {
	text-wrap: balance;
}

p {
	text-wrap: pretty;
}

/* Zwei Gewichte (D-08): Browser setzen strong auf bolder (900 in fetten Eltern). */
b, strong {
	font-weight: 700;
}

::selection {
	background-color: rgb(11 102 112 / 0.18);
	color: var(--mr-black);
}
} /* @layer base */

@layer utilities {
/* Globale Fokusregel (07-07, D-09, FQOS K-02): steht in utilities, der letzten Layer; keine Komponente überschreibt sie,
   deshalb ohne !important. :focus ohne :focus-visible bekommt keinen Ring (Vorgabe des Browsers, keine eigene Regel). */
:focus-visible {
	outline: 2px solid var(--mr-focus);
	outline-offset: 2px;
}

/* Erzwungene Farben: der Ring bleibt eine durchgezogene Kontur in Systemfarbe. */
@media (forced-colors: active) {
	:focus-visible {
		outline-style: solid;
		outline-color: Highlight;
	}
}

/* Reduzierte Bewegung (07-07, D-10): Rückfallnetz auch für Inline-Stile und Fremd-CSS. Eine der drei Stellen, an denen
   !important erlaubt ist (tests/lib/css-gates.mjs, IMPORTANT_ALLOWLIST). */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
} /* @layer utilities */

@layer base {
a {
	color: inherit;
	text-decoration: none;
}

/* Früher aus theme.json styles.elements.link :hover (07-06), Wert unverändert. */
a:where(:not(.wp-element-button)):hover {
	color: var(--wp--preset--color--primary);
}
} /* @layer base */

@layer layout {
/* Container */
.mr-container {
	padding: 0 1.5rem;
	width: 100%;
	box-sizing: border-box;
}
} /* @layer layout */

@layer utilities {
/* Helper Utilities */
.mr-blue, .mr-text-blue {
	color: var(--mr-blue);
}

.mr-muted {
	color: var(--mr-gray-mid);
}

.mr-serif {
	font-family: var(--mr-font-serif);
}

/* Tabellenziffern (07-07, D-08) für Meilen, Punkte, Beträge, Daten, Prozente, Stufentabellen, Bewertung, Zeitleisten. */
.mr-num,
.mr-tier-table,
.mr-data-table,
.mr-program-promos-table,
.mr-valuation__table,
.mr-timeline-top__meta,
.mr-timeline-ticks,
.mr-metric-val,
.mr-table-count,
.mr-dossier-val,
.mr-featured-big-kicker,
.mr-step-digit,
.mr-stand,
.mr-lesson-list__time,
.mr-match-card__validity,
.mr-tool__figure,
.mr-tool__value {
	font-variant-numeric: tabular-nums;
}

/* Lesebreite für Fliesstext (07-07, D-08): 60 bis 75 Zeichen. */
.mr-prose,
.mr-lesson-body,
.mr-course-intro,
.mr-program-body {
	max-inline-size: 68ch;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

/* Fokussierter Sprunglink (07-09, D-29): `clip` dieser Regel blieb im Fokus stehen, der Link war unsichtbar und der
   Treffertest landete auf dem Kopf. Im Fokus sichtbar über Kopf und Banner (z-index aus dem Kern-CSS). */
.screen-reader-text:focus {
	clip: auto;
	clip-path: none;
}
} /* @layer utilities */

@layer layout {
/* ==========================================================================
   2. HEADER & NAVIGATION
   ========================================================================== */
.mr-site-header {
	width: 100%;
	position: sticky;
	top: 0;
	z-index: 1000;
}

.mr-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0.875rem 1.5rem;
	gap: 2rem;
	width: 100%;
	box-sizing: border-box;
}

.mr-brand-wrapper {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.mr-brand-icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

.wp-block-site-title {
	color: var(--mr-black);
}

.wp-block-site-title a {
	text-decoration: none;
}

/* Hauptnavigation (07-09, D-11): sechs Einträge, der Abschnitt der aktuellen Seite trägt aria-current="page" (vom Server). */
.mr-nav-container {
	display: flex;
	align-items: center;
	flex-grow: 1;
	justify-content: flex-end;
	min-width: 0;
}

.mr-nav {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mr-nav li {
	margin: 0;
	padding: 0;
}

.mr-nav a {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.5rem;
	font-size: var(--mr-fs-small);
	font-weight: 400;
	text-decoration: none;
	border-bottom: 2px solid transparent;
}

.mr-nav a:hover,
.mr-nav a:focus-visible {
	color: var(--mr-blue);
	text-decoration: underline;
	text-underline-offset: 0.3em;
}

.mr-nav a[aria-current="page"] {
	font-weight: 700;
}

/* Werkzeuge rechts: Suche und Sprachumschalter */
.mr-header-tools {
	display: flex;
	align-items: center;
	gap: var(--mr-space-sm);
	flex-shrink: 0;
	margin-left: 0.75rem;
	padding-left: 1rem;
	border-left: 1px solid var(--mr-border);
}

/* Suche im Kopf (07-09, D-13): <details>, ohne JavaScript bedienbar, kein Autofokus, keine Fokusfalle. */
.mr-search {
	position: relative;
}

.mr-search__summary {
	display: inline-flex;
	align-items: center;
	gap: var(--mr-space-sm);
	min-block-size: 2.5rem;
	padding: 0 var(--mr-space-sm);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	cursor: pointer;
	list-style: none;
	white-space: nowrap;
}

.mr-search__summary::-webkit-details-marker {
	display: none;
}

.mr-search__summary:hover {
	color: var(--mr-blue);
}

/* Winkel aus zwei Rändern, ohne Animation. */
.mr-search__summary::after {
	content: "";
	inline-size: 0.375rem;
	block-size: 0.375rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

.mr-search[open] > .mr-search__summary::after {
	transform: translateY(2px) rotate(-135deg);
}

.mr-search__icon {
	flex: 0 0 auto;
}

.mr-search__panel {
	position: absolute;
	top: calc(100% + var(--mr-space-sm));
	right: 0;
	z-index: 1;
	inline-size: min(22rem, 100vw - 2rem);
	padding: var(--mr-space-md);
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-border);
	border-radius: var(--mr-radius-lg);
	box-shadow: var(--mr-shadow-md);
}

/* Wiederverwendbares Suchformular (Kopf, Suchergebnisse, 404) */
.mr-search-form {
	display: flex;
	flex-direction: column;
	gap: var(--mr-space-sm);
	margin: 0;
}

.mr-search-form__label {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-text);
}

.mr-search-form__row {
	display: flex;
	gap: var(--mr-space-sm);
	min-width: 0;
}

.mr-search-form__input {
	flex: 1 1 auto;
	min-inline-size: 0;
	min-block-size: 2.75rem;
	padding: 0 var(--mr-space-md);
	font-family: inherit;
	font-size: var(--mr-fs-body);
	color: var(--mr-text);
}

.mr-search-form__submit {
	flex: 0 0 auto;
	min-block-size: 2.75rem;
	padding: 0 var(--mr-space-md);
	font-family: inherit;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	border: 1px solid var(--mr-black);
	cursor: pointer;
}


/* Sprachumschalter (07-09, WCAG 3.1.2); Grösse und aktive Pille in mr.css (components). */
.mr-lang-switcher {
	display: inline-flex;
	align-items: center;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	gap: 0.35rem;
}

.mr-lang-switcher__btn {
	color: var(--mr-gray-mid);
	text-decoration: none;
	padding: 0.2rem 0.55rem;
}

.mr-lang-switcher__btn:hover {
	color: var(--mr-black);
}

.mr-lang-switcher__btn[aria-current="true"] {
	font-weight: 700;
	border-bottom: none;
}

/* Unter 992 px: Marke und Werkzeuge in der ersten Zeile, Navigation als eine waagrecht rollende Zeile (D-12). */
@media (max-width: 991px) {
	.mr-header-inner {
		position: relative;
		flex-wrap: wrap;
		padding: 0.75rem 1rem;
		gap: 0.75rem;
	}
	.mr-brand-wrapper {
		order: 1;
		flex: 1 1 auto;
		min-width: 0;
	}
	.mr-header-tools {
		order: 2;
		flex: 0 0 auto;
		gap: var(--mr-space-xs);
		border-left: none;
		padding-left: 0;
		margin-left: 0;
	}
	.mr-search__summary {
		min-block-size: 2.75rem;
	}
	/* Rückfall ohne ::details-content: Feld als Zeile unter dem Kopf, innerhalb der Fensterbreite. */
	.mr-search {
		position: static;
	}
	.mr-search__panel {
		top: 100%;
		left: 1rem;
		right: 1rem;
		inline-size: auto;
	}
	.mr-nav-container {
		order: 3;
		flex: 0 0 100%;
		width: 100%;
		justify-content: flex-start;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scrollbar-width: none;
		/* Kantenverlauf rechts (24 px): es gibt mehr Einträge. */
		-webkit-mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent);
		mask-image: linear-gradient(to right, #000 calc(100% - 24px), transparent);
	}
	.mr-nav-container::-webkit-scrollbar {
		display: none;
	}
	.mr-nav {
		justify-content: flex-start;
		gap: var(--mr-space-md);
		white-space: nowrap;
		flex-wrap: nowrap;
		padding-inline-end: var(--mr-space-lg);
	}
	.mr-nav a {
		min-block-size: 2.75rem;
	}
}

/* Bis 374 px: Marke, «Suche» und Sprachumschalter passen in eine Zeile (288 px Inhalt bei 320 px); die Lupe entfällt,
   der Text bleibt sichtbar. */
@media (max-width: 374px) {
	.mr-header-inner,
	.mr-brand-wrapper {
		gap: var(--mr-space-sm);
	}
	.mr-search__summary {
		gap: var(--mr-space-xs);
		padding: 0 var(--mr-space-xs);
	}
	.mr-search__icon {
		display: none;
	}
	.mr-lang-switcher__btn {
		padding-inline: var(--mr-space-xs);
	}
}

/* Mit ::details-content ist das Suchfeld eine eigene Zeile im Kopf (order 4) statt einer Überlagerung: der Kopf wird
   höher, nichts läuft bei 320 px über. Werkzeuge und Aufklapper geben ihre Kinder dafür an die Kopfzeile weiter. */
@supports selector(::details-content) {
	@media (max-width: 991px) {
		.mr-header-tools,
		.mr-search {
			display: contents;
		}
		.mr-search__summary,
		.mr-lang-switcher {
			order: 2;
		}
		.mr-search::details-content {
			order: 4;
			flex: 0 0 100%;
		}
		.mr-search:not([open])::details-content {
			display: none;
		}
		.mr-search__panel {
			position: static;
			inline-size: auto;
			padding: 0 0 var(--mr-space-xs);
			border: 0;
			border-radius: 0;
			box-shadow: none;
		}
	}
}

/* ==========================================================================
   3. TOP META BAR & BREADCRUMBS
   ========================================================================== */
.mr-top-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem 1rem;
	align-items: center;
	justify-content: space-between;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	padding: 1.5rem 0 1rem;
	border-bottom: 1px solid var(--mr-border);
	margin-bottom: 2rem;
}

.mr-top-meta__left a {
	color: var(--mr-gray-mid);
}

.mr-top-meta__left a:hover {
	color: var(--mr-black);
}

.mr-top-meta__sep {
	margin: 0 0.35rem;
	color: var(--mr-gray-light);
}

/* Die rechte Metaangabe bleibt rechts, auch wenn links nichts mehr steht (Brotkrumen ab 07-10 in der Vorlage). */
.mr-top-meta__right {
	margin-inline-start: auto;
}

/* Scrollbereich für Datentabellen (07-10, Fe_Table::wrap, UI-SPEC Tables, K-06): role="region", Name aus der caption,
   tabindex="0"; der Fokusrahmen kommt aus der globalen :focus-visible-Regel. Die Seite scrollt nie waagrecht, nur der Bereich. */
.mr-table-scroll:has(> .mr-data-table) {
	margin: 0;
}

.mr-table-scroll > table > thead th {
	position: sticky;
	top: 0;
	background: var(--mr-paper);
}

.mr-data-table th.mr-data-table__end {
	text-align: end;
}

/* Brotkrumen (07-10, D-36, UI-SPEC Breadcrumb): Fe_Breadcrumb, [mr_breadcrumb] als erstes Element in main.
   Breite wie der Seiteninhalt (1180 px mit 1.5rem Rand); inline-size statt max-width, weil die Layoutregeln des Cores
   (ohne Layer) max-width für direkte Kinder von Gruppen mit constrained-Layout setzen. In .mr-container liefert der
   Container Breite und Rand. */
.mr-breadcrumb {
	box-sizing: border-box;
	inline-size: min(100%, 1180px);
	margin-inline: auto;
	margin-block: 0 1rem;
	padding-inline: 1.5rem;
	padding-block: 0.5rem 0;
	font-size: var(--mr-fs-small);
	line-height: 1.5;
	color: var(--mr-gray-mid);
}

.mr-container > .mr-breadcrumb {
	inline-size: auto;
	padding-inline: 0;
}

.mr-breadcrumb__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mr-breadcrumb__item {
	display: inline;
}

/* Trenner nur gezeichnet: Alternativtext leer, damit Screenreader ihn nicht vorlesen. */
.mr-breadcrumb__item + .mr-breadcrumb__item::before {
	content: "/";
	content: "/" / "";
	margin-inline: 0.5rem;
	color: var(--mr-gray-light);
}

/* 24 px Zielhöhe (WCAG 2.5.8) über inneren Abstand; inline-block bricht lange Namen trotzdem um. */
.mr-breadcrumb__item a {
	display: inline-block;
	padding-block: 0.1875rem;
	color: var(--mr-gray-mid);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mr-breadcrumb__item a:hover {
	color: var(--mr-black);
}

.mr-breadcrumb__item[aria-current="page"] {
	color: var(--mr-black);
	font-weight: 700;
}

/* Lange Titel brechen um und scrollen nie (UI-SPEC long-text breadcrumb). */
@media (max-width: 24.375em) {
	.mr-breadcrumb__item,
	.mr-breadcrumb__item a {
		overflow-wrap: anywhere;
	}
}

/* Segmented Toggle (Flug / Hotel) */
.mr-segmented-toggle {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--mr-black);
	border-radius: var(--mr-radius-sm);
	overflow: hidden;
	margin-bottom: 1.5rem;
}

.mr-segmented-btn {
	padding: 0.4rem 1.1rem;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	background: #FFFFFF;
	text-decoration: none;
}

.mr-segmented-btn.is-active {
	background: var(--mr-black);
	color: #FFFFFF;
}

/* ==========================================================================
   4. EDITORIAL HERO SECTION (HOMEPAGE & ARCHIVES)
   ========================================================================== */
.mr-editorial-hero {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: start;
	margin-bottom: 3.5rem;
}

@media (min-width: 900px) {
	.mr-editorial-hero {
		grid-template-columns: 1.35fr 1fr;
		gap: 3.5rem;
	}
}

.mr-editorial-hero__title {
	font-size: var(--mr-fs-display);
	font-weight: 700;
	line-height: var(--mr-lh-display);
	letter-spacing: -0.03em;
	color: var(--mr-black);
	margin: 0;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
}

.mr-editorial-hero__right {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	height: 100%;
	padding-top: 0.5rem;
}

.mr-editorial-hero__text {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	line-height: 1.4;
	color: var(--mr-gray-dark);
	margin: 0 0 1.75rem;
}

.mr-editorial-hero__action {
	margin-top: auto;
}

/* Solid Jet Black Button */
.mr-btn-black {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--mr-black);
	color: #FFFFFF;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	padding: 0.75rem 1.5rem;
	border-radius: var(--mr-radius-sm);
	text-decoration: none;
	border: 1px solid var(--mr-black);
}

.mr-btn-black:hover {
	background: var(--mr-navy-hover);
}

/* Ghost / Border Button */
.mr-btn-outline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: transparent;
	color: var(--mr-black);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	padding: 0.75rem 1.5rem;
	border-radius: var(--mr-radius-sm);
	text-decoration: none;
	border: 1px solid var(--mr-line-strong);
}

.mr-btn-outline:hover {
	border-color: var(--mr-black);
}

/* ==========================================================================
   5. SWISS DATA TABLES & DIRECTORY ROWS
   ========================================================================== */
.mr-table-section {
	margin-bottom: 3.5rem;
}

.mr-table-header-row {
	display: flex;
	justify-content: space-between;
	padding-bottom: 0.5rem;
}

.mr-table-heading {
	font-weight: 700;
	color: var(--mr-black);
	line-height: var(--mr-lh-heading);
	text-wrap: balance;
}

.mr-table-view-all {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	text-decoration: underline;
}

/* Directory Table */
.mr-data-table {
	width: 100%;
	border-collapse: collapse;
	margin: 1rem 0;
	font-size: var(--mr-fs-small);
}

.mr-data-table th {
	text-align: left;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-gray-mid);
	padding: 0.75rem 0.5rem;
	border-top: 1px solid var(--mr-black);
	border-bottom: 1px solid var(--mr-border);
}

.mr-data-table td {
	padding: 1.15rem 0.5rem;
	border-bottom: 1px solid var(--mr-border);
	vertical-align: middle;
}

.mr-table-title {
	font-weight: 700;
	font-size: var(--mr-fs-body);
	color: var(--mr-black);
	text-wrap: balance;
}

.mr-table-title a {
	color: inherit;
	text-decoration: none;
}

.mr-table-title a:hover {
	color: var(--mr-blue);
}

.mr-table-count {
	font-weight: 700;
	font-size: var(--mr-fs-body);
	color: var(--mr-blue);
}

.mr-table-link {
	font-weight: 700;
	color: var(--mr-black);
	white-space: nowrap;
	text-align: right;
}

.mr-table-link a {
	text-decoration: none;
	border-bottom: 1px solid var(--mr-black);
	padding-bottom: 1px;
}

/* Status Dots */
.mr-dot {
	display: inline-block;
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	margin-right: 0.35rem;
	vertical-align: middle;
}

.mr-dot--active {
	background: var(--mr-blue);
}

.mr-dot--upcoming {
	background: var(--mr-black);
}

.mr-dot--expired {
	background: transparent;
	border: 1.5px solid var(--mr-gray-light);
}

.mr-status-pill {
	display: inline-flex;
	align-items: center;
	font-size: var(--mr-fs-small);
	font-weight: 700;
}

.mr-status-pill--active {
	color: var(--mr-black);
}

.mr-status-pill--upcoming {
	color: var(--mr-black);
}

.mr-status-pill--expired {
	color: var(--mr-text-subtle);
}

/* Horizontal Filter Bar */
.mr-filter-bar {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	font-size: var(--mr-fs-small);
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.mr-filter-bar__label {
	color: var(--mr-gray-mid);
	font-weight: 700;
}

.mr-filter-item {
	color: var(--mr-black);
	text-decoration: none;
	font-weight: 400;
	padding-bottom: 2px;
}

.mr-filter-item.is-active {
	font-weight: 700;
	border-bottom: 2px solid var(--mr-black);
}

/* Segmented Buttons Filter Bar (Promotionen Archive) */
.mr-archive-filter-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 2.5rem 0 1.5rem;
	flex-wrap: wrap;
}

.mr-segmented-filter-group {
	display: inline-flex;
	border: 1px solid var(--mr-line-strong);
	border-radius: var(--mr-radius-sm);
	overflow: hidden;
}

.mr-seg-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 1rem;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	background: #FFFFFF;
	text-decoration: none;
	border-right: 1px solid var(--mr-line-strong);
}

.mr-seg-filter-btn:last-child {
	border-right: none;
}

.mr-seg-filter-btn.is-active {
	background: var(--mr-black);
	color: #FFFFFF;
}

.mr-filter-dropdown-wrapper {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
}

.mr-filter-dropdown-wrapper select {
	padding: 0.45rem 1rem;
	font-size: var(--mr-fs-body);
	border: 1px solid var(--mr-line-strong);
	border-radius: var(--mr-radius-sm);
	background: #FFFFFF;
	color: var(--mr-black);
	font-weight: 400;
}

/* ==========================================================================
   6. FEATURED DEAL HERO CARD (PROMOTIONEN ARCHIVE - IMAGE 3 & 6)
   ========================================================================== */
.mr-featured-hero-deal {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	align-items: center;
	border-top: 1px solid var(--mr-black);
	border-bottom: 1px solid var(--mr-black);
	padding: 2.5rem 0;
	margin-bottom: 2rem;
}

@media (min-width: 768px) {
	.mr-featured-hero-deal {
		grid-template-columns: 280px 1fr;
		gap: 3rem;
	}
}

.mr-featured-big-kicker {
	font-size: var(--mr-fs-display);
	font-weight: 700;
	line-height: var(--mr-lh-display);
	letter-spacing: -0.03em;
	color: var(--mr-blue);
}

.mr-featured-meta-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	margin-bottom: 0.5rem;
	flex-wrap: wrap;
}

.mr-featured-program-tag {
	font-weight: 700;
	color: var(--mr-black);
}

.mr-featured-status-tag {
	background: var(--mr-bg-light);
	padding: 2px 8px;
	border-radius: var(--mr-radius-pill);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	letter-spacing: 0.02em;
}

.mr-featured-title {
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mr-black);
	margin: 0 0 0.5rem;
	line-height: var(--mr-lh-heading);
	text-wrap: balance;
}

.mr-featured-desc {
	font-size: var(--mr-fs-body);
	color: var(--mr-gray-dark);
	margin: 0;
}

.mr-featured-desc a {
	color: var(--mr-black);
	font-weight: 700;
	text-decoration: underline;
}

/* ==========================================================================
   7. SINGLE PROMOTION DETAIL PAGE (IMAGE 10)
   ========================================================================== */
.mr-promo-detail-container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 1.5rem 4rem;
}

.mr-promo-kicker {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	margin-bottom: 0.75rem;
	letter-spacing: 0.02em;
}

.mr-promo-hero-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	margin-bottom: 2.5rem;
}

@media (min-width: 900px) {
	.mr-promo-hero-split {
		grid-template-columns: 1.4fr 1fr;
		gap: 3.5rem;
	}
}

.mr-promo-h1 {
	font-weight: 700;
	color: var(--mr-black);
	margin: 0;
	overflow-wrap: break-word;
	hyphens: auto;
	text-wrap: balance;
}

.mr-promo-lead-serif {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	line-height: 1.4;
	color: var(--mr-gray-dark);
	margin: 0;
}

/* Buchungsfenster & Reisefenster Timeline Bar */
.mr-timeline-widget {
	border-top: 1px solid var(--mr-border);
	padding: 1.5rem 0 1.75rem;
	margin-bottom: 1.5rem;
}

.mr-timeline-widget--travel {
	margin-top: -0.5rem;
	margin-bottom: 2rem;
}

.mr-timeline-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--mr-fs-small);
	margin-bottom: 1.25rem;
}

.mr-timeline-top__label {
	font-weight: 700;
	color: var(--mr-black);
	letter-spacing: 0.02em;
	font-size: var(--mr-fs-small);
}

.mr-timeline-top__meta {
	color: var(--mr-gray-mid);
	font-weight: 400;
}

.mr-timeline-track-wrap {
	position: relative;
	padding: 0.5rem 0;
}

.mr-timeline-base-line {
	height: 2px;
	width: 100%;
	position: relative;
}

.mr-timeline-active-line {
	position: absolute;
	height: 3px;
	top: -0.5px;
	left: 0;
	width: 100%;
}

.mr-timeline-tick-pin {
	position: absolute;
	top: -3px;
	width: 1px;
	height: 8px;
	background: var(--mr-gray-mid);
	transform: translateX(-50%);
}

.mr-timeline-tick-pin--blue {
	width: 2px;
}

.mr-timeline-ticks {
	position: relative;
	display: flex;
	justify-content: space-between;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	margin-top: 0.75rem;
	min-height: 2.25rem;
}

.mr-timeline-tick strong {
	display: block;
	color: var(--mr-black);
	font-weight: 700;
}

.mr-timeline-tick--middle {
	position: absolute;
	transform: translateX(-50%);
	text-align: center;
	white-space: nowrap;
}

.mr-timeline-tick--right {
	margin-left: auto;
	text-align: right;
}

/* 4-Metric Grid */
.mr-metrics-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	border-bottom: 1px solid var(--mr-border);
	margin-bottom: 3.5rem;
}

@media (min-width: 768px) {
	.mr-metrics-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.mr-metric-col {
	padding: 1.25rem 1rem;
	border-right: 1px solid var(--mr-border);
}

.mr-metric-col:last-child {
	border-right: none;
}

.mr-metric-label {
	display: block;
	margin-bottom: 0.25rem;
}

.mr-metric-val {
	display: block;
	letter-spacing: -0.02em;
}

/* 2-Column Split: Article vs Sidebar */
.mr-promo-split-content {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
}

@media (min-width: 992px) {
	.mr-promo-split-content {
		grid-template-columns: 1fr 340px;
		gap: 4rem;
	}
}

/* Section Headings */
.mr-sec-heading {
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mr-black);
	margin: 0 0 0.25rem;
	line-height: var(--mr-lh-heading);
	text-wrap: balance;
}

.mr-sec-subhead {
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	margin: 0 0 1.5rem;
}

/* Evidence Table */
.mr-evidence-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.5rem;
}

.mr-evidence-table td {
	padding: 1rem 0;
	border-bottom: 1px solid var(--mr-border);
	font-size: var(--mr-fs-small);
	color: var(--mr-black);
	vertical-align: middle;
}

.mr-evidence-table td.mr-evidence-status {
	text-align: right;
	white-space: nowrap;
	font-size: var(--mr-fs-small);
	font-weight: 700;
}

/* Amber "Noch offen" Note */
.mr-open-note {
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-gray-dark);
	margin: 1.5rem 0 3.5rem;
}

.mr-open-tag {
	font-weight: 700;
	color: var(--mr-amber);
	margin-right: 0.5rem;
}

/* Terms Quote Box: die Rücksetzung von .mr-terms-box (Fläche, Rand, Innenabstand, Schatten) steht seit 07-17 ohne
   !important im Layer components von assets/mr.css (Abschnitt "Phase 7: Promotionen"). */

.mr-terms-quote {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	line-height: 1.4;
	color: var(--mr-black);
	margin: 0 0 0.75rem;
	font-weight: 400;
}

.mr-terms-source-ref {
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	margin-bottom: 1.5rem;
}

.mr-terms-reading {
	font-size: var(--mr-fs-body);
	line-height: 1.6;
	color: var(--mr-gray-dark);
	margin-bottom: 1rem;
}

.mr-terms-reading strong {
	color: var(--mr-black);
}

.mr-terms-link {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	text-decoration: underline;
}

/* Sidebar Components */
.mr-sidebar-btn-full {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: 100%;
	background: var(--mr-black);
	color: #FFFFFF;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	padding: 0.875rem 1.25rem;
	border-radius: var(--mr-radius-sm);
	text-decoration: none;
	margin-bottom: 2rem;
}

.mr-sidebar-btn-full:hover {
	background: var(--mr-navy-hover);
}

.mr-sidebar-dossier-box {
	padding-top: 1.25rem;
	margin-bottom: 2rem;
}

.mr-sidebar-box-title {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	margin: 0 0 1rem;
}

.mr-dossier-row {
	display: flex;
	justify-content: space-between;
	font-size: var(--mr-fs-small);
	padding: 0.45rem 0;
	border-bottom: 1px solid var(--mr-border-light);
}

.mr-dossier-row:last-of-type {
	border-bottom: none;
}

.mr-dossier-label {
	color: var(--mr-gray-mid);
}

.mr-dossier-val {
	font-weight: 700;
	color: var(--mr-black);
	text-align: right;
}

.mr-dossier-val a {
	color: var(--mr-black);
	text-decoration: underline;
}

.mr-sidebar-note {
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-gray-mid);
	margin: 1rem 0 0;
}

.mr-sidebar-transparency-box {
	border-top: 1px solid var(--mr-border);
	padding-top: 1rem;
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-gray-mid);
}

.mr-sidebar-transparency-box strong {
	color: var(--mr-black);
	display: block;
	margin-bottom: 0.25rem;
}

/* ==========================================================================
   8. ALLIANZEN 3-COLUMN SYSTEM (IMAGE 4)
   ========================================================================== */
.mr-alliances-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
	border-top: 1px solid var(--mr-border);
	padding-top: 2rem;
	margin-bottom: 4rem;
}

@media (min-width: 840px) {
	.mr-alliances-grid {
		grid-template-columns: repeat(3, 1fr);
		gap: 2.5rem;
	}
}

.mr-alliance-card {
	border-right: 1px solid var(--mr-border);
	padding-right: 2rem;
}

.mr-alliance-card:last-child {
	border-right: none;
	padding-right: 0;
}

.mr-alliance-card__meta {
	display: flex;
	justify-content: space-between;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	margin-bottom: 1.5rem;
	border-bottom: 1px solid var(--mr-border);
	padding-bottom: 0.5rem;
}

.mr-alliance-card__title {
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mr-black);
	margin: 0 0 1.25rem;
	line-height: var(--mr-lh-heading);
	text-wrap: balance;
}

.mr-alliance-section-label {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-gray-mid);
	margin-bottom: 0.5rem;
}

/* Status Bars */
.mr-status-bars-group {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.mr-status-bar-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
}

.mr-status-bar-indicator {
	height: 6px;
	border-radius: 3px;
	width: 45px;
}

} /* @layer layout */
@layer tokens {
/* Standardized Status Colors (Requirement A) */
:root {
	--mr-status-gold: #D97706;
	--mr-status-gold-dark: #B45309;
	--mr-status-gold-bg: #FEF3C7;
	--mr-status-gold-border: #FCD34D;
	--mr-status-silver: #94A3B8;
	--mr-status-silver-bg: #F1F5F9;
	--mr-status-silver-border: #CBD5E1;
	--mr-status-platinum: #0E7C86;
	--mr-status-platinum-bg: #F0FDFA;
	--mr-status-platinum-border: #99F6E4;
	--mr-status-emerald: #059669;
	--mr-status-diamond: #059669;
	--mr-status-emerald-bg: #ECFDF5;
	--mr-status-emerald-border: #A7F3D0;
	--mr-status-ruby: #DC2626;
	--mr-status-ruby-bg: #FEF2F2;
	--mr-status-ruby-border: #FECACA;
	--mr-status-sapphire: #2563EB;
	--mr-status-sapphire-bg: #EFF6FF;
	--mr-status-sapphire-border: #BFDBFE;
}
} /* @layer tokens */

@layer layout {
.mr-bar--silver { background: var(--mr-status-silver); }
.mr-bar--gold { background: var(--mr-status-gold); }
.mr-bar--platinum { background: var(--mr-status-platinum); }
.mr-bar--ruby { background: var(--mr-status-ruby); }
.mr-bar--sapphire { background: var(--mr-status-sapphire); }
.mr-bar--emerald { background: var(--mr-status-emerald); }
.mr-bar--diamond { background: var(--mr-status-diamond); }
.mr-bar--elite { background: var(--mr-status-silver); }
.mr-bar--elite-plus { background: #1E3A8A; }

/* Status Badges & Pills */
/* Die Statusstufen-Varianten (.mr-badge--gold usw.) stehen seit 07-06 in assets/mr.css (Layer components). */

.mr-alliance-members-text {
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-gray-dark);
	margin-bottom: 1.5rem;
}

.mr-alliance-programs-list {
	list-style: none;
	padding: 0;
	margin: 0;
	border-top: 1px solid var(--mr-border);
}

.mr-alliance-programs-list li {
	border-bottom: 1px solid var(--mr-border-light);
}

.mr-alliance-programs-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.65rem 0;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	text-decoration: none;
}

.mr-alliance-programs-list a:hover {
	color: var(--mr-blue);
}

/* Consultation Box (Welche Allianz passt zu mir?) */
.mr-alliance-advice-box {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	border-top: 1px solid var(--mr-black);
	padding-top: 2rem;
	margin-bottom: 4rem;
}

@media (min-width: 800px) {
	.mr-alliance-advice-box {
		grid-template-columns: 320px 1fr;
		gap: 3.5rem;
	}
}

.mr-advice-title {
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mr-black);
	margin: 0;
	line-height: var(--mr-lh-heading);
	text-wrap: balance;
}

.mr-advice-body {
	font-size: var(--mr-fs-body);
	line-height: 1.6;
	color: var(--mr-gray-dark);
}

.mr-advice-body a {
	display: inline-block;
	font-weight: 700;
	color: var(--mr-black);
	text-decoration: underline;
	margin-top: 0.75rem;
}

/* ==========================================================================
   9. HOMEPAGE SPECIFIC (IMAGE 5)
   ========================================================================== */
.mr-split-cols-2 {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	margin-bottom: 4rem;
}

@media (min-width: 800px) {
	.mr-split-cols-2 {
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
	}
}

/* Status Matches Table */
.mr-match-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--mr-border);
	font-size: var(--mr-fs-small);
}

.mr-match-pair {
	font-weight: 700;
	color: var(--mr-black);
}

.mr-match-arrow {
	margin: 0 0.5rem;
	color: var(--mr-blue);
	font-weight: 400;
}

/* Guides Numbered List */
.mr-guide-row {
	display: flex;
	gap: 1rem;
	padding: 0.75rem 0;
	font-size: var(--mr-fs-small);
}


.mr-guide-title {
	font-weight: 700;
	color: var(--mr-black);
	flex-grow: 1;
}

/* Wie wir prüfen Box */
.mr-how-we-verify-box {
	padding: 2.5rem;
	margin-bottom: 4rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}

@media (min-width: 840px) {
	.mr-how-we-verify-box {
		grid-template-columns: 300px 1fr;
		gap: 3.5rem;
	}
}

.mr-verify-left h3 {
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mr-black);
	margin: 0 0 0.5rem;
	line-height: var(--mr-lh-heading);
	text-wrap: balance;
}

.mr-verify-left p {
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-gray-dark);
	margin: 0;
}

.mr-verify-steps {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

@media (min-width: 640px) {
	.mr-verify-steps {
		grid-template-columns: repeat(3, 1fr);
		gap: 2rem;
	}
}

.mr-step-col {
	border-top: 1px solid var(--mr-black);
	padding-top: 1rem;
}

.mr-step-digit {
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	color: var(--mr-blue);
	line-height: 1;
	margin-bottom: 0.5rem;
}

.mr-step-heading {
	font-size: var(--mr-fs-body);
	font-weight: 700;
	color: var(--mr-black);
	margin: 0 0 0.35rem;
}

.mr-step-text {
	font-size: var(--mr-fs-small);
	line-height: 1.5;
	color: var(--mr-gray-dark);
	margin: 0;
}

/* Dual Column Programme List */
.mr-programs-dual-section {
	margin-bottom: 4rem;
}

.mr-programs-dual-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	margin-top: 1.5rem;
}

.mr-programs-dual-grid > p {
	display: none;
}

@media (min-width: 768px) {
	.mr-programs-dual-grid {
		grid-template-columns: 1fr 1fr;
		gap: 4rem;
	}
}

.mr-prog-col-header {
	border-bottom: 1px solid var(--mr-border);
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}

.mr-mini-prog-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--mr-border-light);
	font-size: var(--mr-fs-small);
}

.mr-mini-prog-name {
	font-weight: 700;
	color: var(--mr-black);
}

.mr-mini-prog-alliance {
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
}

/* ==========================================================================
   10. MINIMALIST SWISS FOOTER
   ========================================================================== */
.mr-site-footer {
	padding: 2rem 0;
	margin-top: 4rem;
	width: 100%;
}

.mr-footer-inner {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 1.5rem;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	flex-wrap: wrap;
	gap: var(--mr-space-xl);
}

.mr-footer-logo {
	text-decoration: none;
}

/* Fussnavigation (07-09, D-11, UI-SPEC Footer): drei Gruppen als Spalten, bei 768 px und darunter gestapelt. */
.mr-footer-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: var(--mr-space-lg) var(--mr-space-2xl);
	min-width: 0;
	max-width: 100%;
}

.mr-footer-group {
	min-width: 0;
}

.mr-footer-group__title {
	margin: 0 0 var(--mr-space-xs);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	line-height: var(--mr-lh-small);
}

.mr-footer-group__list {
	display: flex;
	flex-direction: column;
	gap: var(--mr-space-xs);
	list-style: none;
	margin: 0;
	padding: 0;
}

.mr-footer-group__list a,
.mr-footer-nav .mr-consent-footer__btn {
	display: inline-flex;
	align-items: center;
	min-block-size: 1.5rem;
}

.mr-footer-nav a {
	color: var(--mr-text-muted);
	text-decoration: none;
}

.mr-footer-nav a:hover,
.mr-footer-nav a:focus-visible {
	color: var(--mr-black);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Der Phase-6-Eintrag bringt einen Trenner mit; in den Gruppen trennt der Abstand. */
.mr-footer-nav .mr-sep {
	display: none;
}

.mr-footer-nav .mr-consent-footer {
	align-self: flex-end;
}

@media (max-width: 768px) {
	.mr-footer-nav {
		flex-direction: column;
		gap: var(--mr-space-md);
		inline-size: 100%;
	}
	.mr-footer-group__list {
		gap: 0;
	}
	.mr-footer-group__list a,
	.mr-footer-nav .mr-consent-footer__btn {
		min-block-size: 2.75rem;
	}
	.mr-footer-nav .mr-consent-footer {
		align-self: flex-start;
	}
}

/* Kurze Seiten (07-09, G4-11): der Seitenrahmen füllt das Fenster, main wächst, der Fuss schliesst unten ab. */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-block-size: 100dvh;
}

.wp-site-blocks > main {
	flex: 1 0 auto;
}

/* ==========================================================================
   11. BACKWARD COMPATIBILITY HELPERS FOR AUTOMATED TESTS
   ========================================================================== */
/* Ensures .mr-card, .mr-tier-table, .mr-terms-box satisfy automated assertions while matching Swiss aesthetic */
.mr-card {
	border-bottom: 1px solid var(--mr-border);
	padding: 1rem 0;
}

.mr-badge {
	display: inline-flex;
	align-items: center;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
}

.mr-badge--success {
	color: var(--mr-blue);
}

.mr-terms-box {
	margin: 2rem 0;
}

.mr-terms-box__quote {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	line-height: 1.4;
	color: var(--mr-black);
	margin: 0.75rem 0;
}

.mr-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	background: var(--mr-black);
	font-weight: 700;
	font-size: var(--mr-fs-small);
	padding: 0.75rem 1.25rem;
	border-radius: var(--mr-radius-sm);
	text-decoration: none;
	border: 1px solid var(--mr-black);
}

.mr-btn:hover {
	background: var(--mr-navy-hover);
}

/* ==========================================================================
   12. SINGLE PROGRAM DETAIL PAGE (SWISS EDITORIAL SYSTEM)
   ========================================================================== */
.mr-program-detail-container {
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 1.5rem 4rem;
	width: 100%;
	box-sizing: border-box;
}

.mr-top-meta__current {
	color: var(--mr-black);
	font-weight: 700;
}

/* Category Kicker */
.mr-program-kicker {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	letter-spacing: 0.02em;
	margin-bottom: 0.75rem;
}

/* Hero Asymmetrical Swiss Split */
.mr-program-hero-split {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
	margin-bottom: 3rem;
	align-items: start;
}

@media (min-width: 900px) {
	.mr-program-hero-split {
		grid-template-columns: 1.35fr 1fr;
		gap: 3.5rem;
	}
}

.mr-program-h1 {
	font-weight: 700;
	color: var(--mr-black);
	margin: 0;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: auto;
}

.mr-program-lead-serif {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	line-height: 1.4;
	color: var(--mr-gray-dark);
	margin: 0;
}

/* Stammdaten 4-Säulen-Matrix / Hairlines */
.mr-program-matrix {
	display: grid;
	grid-template-columns: 1fr;
	border-bottom: 1px solid var(--mr-border);
	background: #FFFFFF;
	margin-bottom: 3.5rem;
	width: 100%;
	box-sizing: border-box;
}

@media (min-width: 640px) {
	.mr-program-matrix {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 900px) {
	.mr-program-matrix {
		grid-template-columns: repeat(4, 1fr);
	}
}

.mr-matrix-col {
	padding: 1.25rem 1rem;
	border-bottom: 1px solid var(--mr-border);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-width: 0;
	word-break: break-word;
	background: #FFFFFF;
}

@media (min-width: 640px) {
	.mr-matrix-col:nth-child(odd) {
		border-right: 1px solid var(--mr-border);
	}
}

@media (min-width: 900px) {
	.mr-matrix-col {
		border-bottom: none;
		border-right: 1px solid var(--mr-border);
	}
	.mr-matrix-col:last-child {
		border-right: none;
	}
}

.mr-matrix-label {
	display: block;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-gray-mid);
	margin-bottom: 0.35rem;
}

.mr-matrix-val {
	font-size: var(--mr-fs-body);
	line-height: var(--mr-lh-small);
	color: var(--mr-black);
}

.mr-matrix-val strong {
	font-weight: 700;
	color: var(--mr-black);
	display: block;
}

.mr-matrix-sub {
	display: block;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
	margin-top: 0.2rem;
	font-weight: 400;
	line-height: 1.4;
}

.mr-matrix-note {
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	font-weight: 400;
}

/* Hintergrund, Rahmen, Radius, Innenabstand, Übergang und Hover der Pille stehen seit 07-06 in assets/mr.css. */
.mr-alliance-pill {
	display: inline-flex;
	align-items: center;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	text-decoration: none;
	margin-top: 0.2rem;
}

.mr-matrix-link {
	display: inline-flex;
	align-items: center;
	gap: 0.25rem;
	font-size: var(--mr-fs-body);
	font-weight: 700;
	color: var(--mr-black);
	text-decoration: underline;
	margin-top: 0.15rem;
}

.mr-matrix-link:hover {
	color: var(--mr-blue);
}

/* Wichtigste Vorteile im Überblick */
.mr-program-benefits-section {
	margin-bottom: 3.5rem;
}

.mr-benefits-list {
	border-top: 1px solid var(--mr-border);
	margin: 1.25rem 0 0;
}

.mr-benefit-row {
	display: flex;
	align-items: baseline;
	gap: 0.875rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--mr-border);
	font-size: var(--mr-fs-body);
	color: var(--mr-black);
	line-height: 1.5;
}

.mr-benefit-arrow {
	color: var(--mr-blue);
	font-weight: 700;
	font-size: var(--mr-fs-body);
	line-height: 1;
	flex-shrink: 0;
}

.mr-benefit-text {
	flex: 1 1 auto;
}

/* Stand-Zeile und Regeln und Fakten (Plan 05-05) */

.mr-facts {
	margin-bottom: 3.5rem;
}

.mr-facts__list {
	border-top: 1px solid var(--mr-border);
	margin: 1.25rem 0 0;
}

.mr-fact {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.35rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--mr-border);
	font-size: var(--mr-fs-body);
	line-height: 1.5;
	color: var(--mr-black);
}

@media (min-width: 900px) {
	.mr-fact {
		grid-template-columns: 14rem 1fr;
		gap: 1.5rem;
	}
}

.mr-fact__label {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-gray-dark);
}

.mr-fact__value {
	margin: 0;
}

.mr-fact__head,
.mr-fact__extra,
.mr-fact__detail {
	display: block;
}

.mr-fact__head {
	font-weight: 700;
}

.mr-fact__detail,
.mr-fact__meta,
.mr-fact__empty {
	color: var(--mr-gray-dark);
}

.mr-fact__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mr-fact__list > li + li {
	margin-top: 0.5rem;
}

.mr-fact__market + .mr-fact__market {
	margin-top: 1rem;
}

.mr-fact__market-title {
	font-size: var(--mr-fs-body);
	font-weight: 700;
	margin: 0 0 0.35rem;
}

.mr-fact__empty {
	margin: 0;
}

.mr-fact .mr-source-ref {
	display: block;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

.mr-fact .mr-source-ref a {
	color: inherit;
	text-decoration: underline;
}

/* Kompakter Quellenverweis je Zeile (G2-20, Runde 1): „Quelle 1“ folgt dem Detailtext in derselben Zeile und führt zur
   nummerierten Quellenliste am Ende des Abschnitts; dort stehen Link und Abrufdatum einmal. */
.mr-fact__detail:has(+ .mr-source-ref--compact) {
	display: inline;
}

.mr-fact .mr-source-ref--compact {
	display: inline;
	margin-inline-start: 0.25rem;
	white-space: nowrap;
}

.mr-fact .mr-source-ref--compact a {
	padding-block: 0.25rem;
}

.mr-facts__sources {
	margin-block-start: var(--mr-space-md);
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

.mr-facts__sources-title {
	margin: 0 0 var(--mr-space-xs);
	font-weight: 700;
	color: var(--mr-text);
}

.mr-facts__sources-list {
	margin: 0;
	padding-inline-start: 1.5rem;
}

.mr-facts__source {
	overflow-wrap: anywhere;
}

.mr-facts__source a {
	color: inherit;
	text-decoration: underline;
}

.mr-facts__source:target {
	outline: 2px solid var(--mr-blue);
	outline-offset: 2px;
}

.mr-program-body {
	margin-bottom: 3.5rem;
	max-width: 46rem;
}

/* Comparison Table (Programm Detailseite - Schweizer Typo-Look) */
.mr-comp-heading {
	font-family: var(--mr-font-sans);
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--mr-black);
	margin: 0 0 1rem;
	line-height: var(--mr-lh-heading);
	text-wrap: balance;
}

.mr-table-scroll {
	width: 100%;
	overflow-x: auto;
	margin: 1.5rem 0 3.5rem;
	border: none;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.mr-tier-table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--mr-fs-small);
	background: #FFFFFF;
}

.mr-tier-table thead th {
	border-top: 1px solid var(--mr-black);
	border-bottom: 1px solid var(--mr-border);
	background: #FFFFFF;
	color: var(--mr-black);
	font-weight: 700;
	font-size: var(--mr-fs-small);
	padding: 1rem 0.875rem;
	text-align: left;
	white-space: normal;
}

.mr-tier-table tbody th,
.mr-tier-table tbody td {
	background: #FFFFFF;
	border-bottom: 1px solid var(--mr-border);
	padding: 1rem 0.875rem;
	font-size: var(--mr-fs-small);
	color: var(--mr-black);
	vertical-align: top;
	line-height: 1.5;
}

.mr-tier-table .mr-criterion-col {
	color: var(--mr-black);
	font-weight: 700;
	min-width: 170px;
	width: 22%;
}

.mr-tier-table__rank {
	display: block;
	color: var(--mr-gray-mid);
	font-weight: 400;
	font-size: var(--mr-fs-small);
}

.mr-val-empty {
	color: var(--mr-text-subtle);
	font-style: italic;
}

/* Promotionen für dieses Programm: Tabelle im Scrollbereich (Fe_Table::wrap), Stil im Abschnitt "Phase 7: Programme"
   von assets/mr.css (07-12). */
.mr-program-promos-section {
	margin-bottom: 3.5rem;
	width: 100%;
}

/* Allianzübersicht (.mr-alliances-3col): Raster im Abschnitt "Phase 7: Allianzen" von assets/mr.css (07-13, G2-24). */

/* Zeilen der Promotionstabelle (Programmseite): Rücksetzung von .mr-promo-row steht seit 07-17 ohne !important im
   Layer components von assets/mr.css. */


/* Kurs: Übersicht, Kursseite und Lektionen: Stile im Abschnitt "Phase 7: Kurs und Seiten" von assets/mr.css (07-16). */

.mr-home-course__courses {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
}

/* Bewegung (07-07, D-10, FQOS K-05): Übergänge nur für Farbe, Fläche, Rand und Schatten und nur ohne Wunsch nach
   reduzierter Bewegung. Hover und aktive Zustände bewegen nichts. */
@media (prefers-reduced-motion: no-preference) {
	a,
	.mr-nav a,
	.mr-lang-switcher__btn,
	.mr-segmented-btn,
	.mr-btn-black,
	.mr-btn-outline,
	.mr-seg-filter-btn {
		transition: var(--mr-transition);
	}
}

/* Erzwungene Farben (07-07, D-10): Ränder statt Flächen, kein Zustand nur über die Hintergrundfarbe. */
@media (forced-colors: active) {
	.mr-btn-black,
	.mr-btn-outline,
	.mr-segmented-toggle,
	.mr-segmented-filter-group,
	.mr-sidebar-btn-full,
	.mr-filter-dropdown-wrapper select {
		border: 1px solid ButtonText;
	}
	.mr-segmented-btn.is-active,
	.mr-seg-filter-btn.is-active,
	.mr-filter-item.is-active {
		text-decoration: underline;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.2em;
	}
	.mr-badge,
	.mr-status-pill,
	.mr-featured-status-tag,
	.mr-alliance-pill,
	.mr-dot,
	.mr-tier-mobile-card,
	.mr-how-we-verify-box,
	.mr-lesson-toc {
		border: 1px solid CanvasText;
	}
	.mr-nav a[aria-current="page"] {
		border-bottom-color: Highlight;
		text-decoration: underline;
		text-decoration-color: Highlight;
	}
	.mr-lang-switcher__btn[aria-current="true"] {
		border: 2px solid Highlight;
		text-decoration: underline;
	}
	.mr-search__panel {
		border: 1px solid CanvasText;
	}
	.mr-search-form__input,
	.mr-search-form__submit {
		border: 1px solid ButtonText;
	}
	.mr-nav-container {
		mask-image: none;
		-webkit-mask-image: none;
	}
}

/* ==========================================================================
   Suche, 404 und Seitenrahmen ohne Inline-Stile (07-11, D-07, D-14, UI-SPEC Search und 404)
   ========================================================================== */
/* Abstand von main in den Vorlagen (ersetzt style="padding-top…" der Vorlagen). */
.mr-main {
	padding-block: var(--mr-space-lg) var(--mr-space-3xl);
}

.mr-search-page__title,
.mr-notfound__title {
	margin: 0 0 var(--mr-space-md);
	font-size: var(--mr-fs-display);
	font-weight: 700;
	line-height: var(--mr-lh-display);
	letter-spacing: -0.03em;
	color: var(--mr-text);
	text-wrap: balance;
	overflow-wrap: anywhere;
}

.mr-search-page__status {
	margin: 0 0 var(--mr-space-lg);
	font-size: var(--mr-fs-body);
	color: var(--mr-text-muted);
}

.mr-search-page__form,
.mr-notfound__form {
	max-inline-size: 36rem;
	margin: 0 0 var(--mr-space-2xl);
}

.mr-search-group {
	margin: 0 0 var(--mr-space-2xl);
}

.mr-search-group__heading,
.mr-search-empty__heading {
	margin: 0;
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	line-height: var(--mr-lh-heading);
	color: var(--mr-text);
	overflow-wrap: anywhere;
}

.mr-search-group__heading {
	padding-block-end: var(--mr-space-sm);
	border-block-end: 1px solid var(--mr-line);
}

.mr-search-group__count {
	font-weight: 400;
	color: var(--mr-text-muted);
}

.mr-search-group__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mr-search-result {
	padding-block: var(--mr-space-md);
	border-block-end: 1px solid var(--mr-line);
}

.mr-search-result__title {
	margin: 0;
	font-size: var(--mr-fs-body);
	font-weight: 700;
	line-height: var(--mr-lh-body);
	overflow-wrap: anywhere;
}

.mr-search-result__title a {
	color: var(--mr-text);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mr-search-result__title a:hover {
	color: var(--mr-link);
}

.mr-search-result__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mr-space-sm);
	margin: var(--mr-space-xs) 0 0;
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-text-muted);
}

.mr-search-result__stub {
	padding-inline: var(--mr-space-sm);
	border: 1px solid var(--mr-line-strong);
	border-radius: var(--mr-radius-sm);
}

/* Kurzer Auszug (höchstens 20 Wörter, gekürzt im Renderer). Kein line-clamp: abgeschnittener Text bei erhöhtem
   Zeilen- und Wortabstand verletzt WCAG 1.4.12 (a11y-modes, spacing). */
.mr-search-result__excerpt {
	max-inline-size: 68ch;
	margin: var(--mr-space-xs) 0 0;
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-text-muted);
}

.mr-search-group__overflow {
	margin: var(--mr-space-md) 0 0;
	font-size: var(--mr-fs-small);
	color: var(--mr-text-muted);
}

.mr-search-empty__heading {
	margin-block-end: var(--mr-space-sm);
}

.mr-search-empty__body,
.mr-notfound__body {
	max-inline-size: 68ch;
	margin: 0 0 var(--mr-space-lg);
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	line-height: 1.4;
	color: var(--mr-text-muted);
}

/* Nächste Schritte als Textlinks mit 44 px Zielhöhe (Leerzustand, 404, WCAG 2.5.8). */
.mr-next-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mr-space-sm) var(--mr-space-lg);
	margin: 0 0 var(--mr-space-xl);
	padding: 0;
	list-style: none;
}

.mr-next-link {
	display: inline-flex;
	align-items: center;
	min-block-size: 2.75rem;
	font-weight: 700;
	color: var(--mr-text);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mr-next-link:hover {
	color: var(--mr-link);
}

/* Generische Vorlagen archive.html und single.html ohne Blockstil-Attribute (07-11, D-07). Das Layout-CSS des Cores setzt
   margin-block-end der Flow-Kinder ohne Layer auf 0, deshalb Abstand nach unten über padding. */
.mr-archive-header {
	padding-block-end: var(--mr-space-xl);
}

.mr-archive-card {
	padding: var(--mr-space-md);
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-radius-md);
}

.mr-single-title {
	padding-block-end: var(--mr-space-sm);
}

.mr-single-meta {
	padding-block-end: var(--mr-space-md);
}

/* ==========================================================================
   Startseite (07-11, D-11, UI-SPEC Home, G1-06 bis G1-14, G1-22): Klassen statt Inline-Stile
   ========================================================================== */
.mr-home-hero__kicker {
	margin: 0 0 var(--mr-space-sm);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	line-height: var(--mr-lh-small);
	color: var(--mr-link);
}

/* Lead und Schaltflächen direkt untereinander (G1-07), nicht über die Höhe verteilt. */
.mr-home-hero__right {
	justify-content: flex-start;
	height: auto;
}

.mr-home-hero .mr-editorial-hero__text {
	margin-block-end: var(--mr-space-lg);
}

.mr-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mr-space-md);
}

.mr-home-subhead-row {
	margin-block-end: var(--mr-space-xs);
}

.mr-home-sub {
	line-height: var(--mr-lh-small);
}


.mr-verify-heading {
	margin: 0 0 var(--mr-space-sm);
	font-size: var(--mr-fs-heading);
	font-weight: 700;
	line-height: var(--mr-lh-heading);
	letter-spacing: -0.02em;
	color: var(--mr-text);
}

/* Tabelle «Aktuell gültig»: Spaltenbreiten per Klasse (G1-06); unter 768 px scrollt sie im Bereich aus 07-10. */
.mr-home-promos__program {
	width: 20%;
}

.mr-home-promos__title {
	width: 45%;
}

.mr-home-promos__validity {
	width: 20%;
	font-variant-numeric: tabular-nums;
}

.mr-home-promos__status {
	width: 15%;
}

.mr-data-table td.mr-data-table__end {
	text-align: end;
}

/* Unter 768 px wird jede Zeile von «Aktuell gültig» eine gestapelte Karte (G1-06, Runde 1): Programm als kleine Zeile,
   Aktionstitel als Link in Fliesstextgrösse mit 44 px Zielhöhe, darunter Gültigkeit und Status in einer Zeile. Die
   Spaltenköpfe bleiben für Screenreader im Markup; die Rollen in Fe_Promo halten die Tabellensemantik. */
@media (max-width: 767.98px) {
	.mr-home-promos,
	.mr-home-promos tbody,
	.mr-home-promos td {
		display: block;
		width: auto;
	}

	.mr-home-promos thead {
		display: block;
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	.mr-home-promos tr {
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		align-items: center;
		gap: var(--mr-space-xs) var(--mr-space-md);
		padding-block: var(--mr-space-md);
		border-block-end: 1px solid var(--mr-border);
	}

	.mr-home-promos tbody tr:first-child {
		border-block-start: 1px solid var(--mr-black);
	}

	.mr-home-promos td {
		padding: 0;
		border: 0;
		text-align: start;
	}

	.mr-home-promos__program,
	.mr-home-promos__title {
		grid-column: 1 / -1;
	}

	.mr-home-promos td.mr-home-promos__program {
		font-size: var(--mr-fs-small);
	}

	.mr-home-promos__title a {
		display: inline-flex;
		align-items: center;
		min-block-size: 44px;
	}

	.mr-home-promos td.mr-home-promos__status {
		text-align: end;
	}
}

/* Leerzustände der Startseite (G1-11). */
.mr-home-empty {
	padding-block: var(--mr-space-md);
	border-block-end: 1px solid var(--mr-line);
}

.mr-home-empty__heading {
	margin: 0 0 var(--mr-space-xs);
	font-size: var(--mr-fs-body);
	font-weight: 700;
	color: var(--mr-text);
}

.mr-home-empty__body {
	max-inline-size: 68ch;
	margin: 0;
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-text-muted);
}

/* Status Matches: eine Zeile als ein Link «von Quelle nach Ziel», Datum darunter (G1-10). */
.mr-home-match {
	flex-direction: column;
	align-items: flex-start;
	gap: var(--mr-space-xs);
}

.mr-home-match__link {
	font-size: var(--mr-fs-body);
	text-underline-offset: 0.2em;
}


.mr-home-match__arrow {
	font-weight: 400;
}

.mr-home-alliances .mr-alliance-col {
	padding: var(--mr-space-lg);
}

.mr-home-alliances__title {
	hyphens: manual;
	overflow-wrap: break-word;
}


/* Kursteaser: Kurse als erkennbare Links (G1-14). */
.mr-home-course__courses a,
.mr-guide-title a,
.mr-home-course__more a {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mr-home-course__more {
	margin: var(--mr-space-md) 0 0;
	font-size: var(--mr-fs-small);
	font-weight: 700;
}

/* Allianzkarten: keine zweite Linie unter der Kopfzeile, kein Restabstand unten (G1-22). */
.mr-home-alliances .mr-home-alliances__grid {
	margin: var(--mr-space-lg) 0 0;
	padding-block-start: 0;
	border-block-start: 0;
	gap: var(--mr-space-lg);
}


.mr-home-alliances__title a {
	text-underline-offset: 0.2em;
}

.mr-home-alliances__members {
	margin: 0 0 var(--mr-space-md);
	font-size: var(--mr-fs-small);
	color: var(--mr-text-muted);
}

.mr-home-alliances__more {
	display: inline-flex;
	align-items: center;
	min-block-size: 1.5rem;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Band «Mehr bei PunkteInsider» (G1-12, S-34). Es schliesst die Startseite ab: kein Bodenabstand, und main verzichtet
   dann auf seinen unteren Innenabstand, damit vor der Fusszeile nur deren eigener Abstand bleibt (G1-22, Runde 1). */
.mr-home-more-band {
	margin: 0;
}

.mr-main:has(> .mr-home-more-band:last-child) {
	padding-block-end: 0;
}

.mr-home-more-band__list {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
	gap: var(--mr-space-lg);
	margin: var(--mr-space-lg) 0 0;
	padding: 0;
	list-style: none;
}

.mr-home-more-band__item {
	padding-block-start: var(--mr-space-md);
	border-block-start: 1px solid var(--mr-line-strong);
}

.mr-home-more-band__title {
	margin: 0 0 var(--mr-space-xs);
	font-size: var(--mr-fs-body);
	font-weight: 700;
	line-height: var(--mr-lh-body);
}

.mr-home-more-band__title a {
	display: inline-flex;
	align-items: center;
	min-block-size: 1.5rem;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mr-home-more-band__title a:hover,
.mr-home-alliances__title a:hover {
	color: var(--mr-link);
}

.mr-home-more-band__text {
	margin: 0;
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-text-muted);
}

/* Links «Alle …»: 24 px Zielhöhe, auf Mobil 44 px (G1-14, WCAG 2.5.8). */
.mr-table-view-all {
	display: inline-flex;
	align-items: center;
	min-block-size: 1.5rem;
}

@media (max-width: 767px) {
	.mr-table-view-all,
	.mr-home-alliances__more {
		min-block-size: 2.75rem;
	}
}
} /* @layer layout */

/* ==========================================================================
   Ausserhalb der Layer (07-06, D-06, Research Pattern 1)
   WordPress gibt sein Layout-CSS ohne Layer aus (global-styles: Blockabstand der Flow- und Constrained-Layouts,
   max-width der Constrained-Layouts aus contentSize und wideSize). Ungelayertes CSS schlägt jede Layer-Regel, auch
   bei kleinerer Spezifität. Nur die Deklarationen, die dieses Layout-CSS überschreiben müssen, stehen deshalb hier;
   sie stehen in keinem Layer ein zweites Mal. Die Selektoren sind im CSS-Gate festgehalten
   (tests/lib/css-gates.mjs, UNLAYERED_ALLOWLIST); die Liste darf nur kürzer werden.
   ========================================================================== */
.mr-container {
	max-width: 1180px;
	margin: 0 auto;
}

.wp-block-site-title {
	margin: 0;
}

.mr-stand {
	margin: var(--mr-space-sm) 0 var(--mr-space-lg);
}


@layer components {
/* ==========================================================================
   PHASE 11: EDITORIAL-HAUT «LOGBUCH» (11-UI-SPEC)
   Steht am Ende der zuletzt geladenen Stilvorlage in components und legt das neue Bild über die bestehenden
   Komponenten, ohne Klassen umzubenennen (D-03). Nur die vier Schriftgrössen-Tokens und die Schnitte 400 und 700.
   ========================================================================== */

/* --- 11.1 Typografie: Serifen für Schlagzeilen, Jakarta für Labels -------------------------------------------- */
.mr-editorial-hero__title,
.mr-program-h1,
.mr-promo-h1,
.mr-notfound__title,
.mr-search-page__title,
.mr-featured-promo__title,
.mr-table-heading,
.mr-sec-heading,
.mr-verify-heading,
.mr-course-section__title,
.mr-list-empty__heading,
.mr-promo-empty__heading,
.mr-search-empty__heading,
.mr-search-group__heading,
.mr-how-we-rate-section__title,
.mr-featured-review__title,
.mr-review-details__title,
.mr-tool__title,
.mr-promo-row__title,
.mr-news-item__title,
.mr-match-card__title,
.mr-stub-programs__title,
.mr-stub__airlines-title,
.mr-tier-details-heading,
.mr-comp-heading {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	font-optical-sizing: auto;
	color: var(--mr-navy);
}

/* H2, die als kleine Beschriftung dienen (Seitenleisten, Zeitleiste, Fuss, Kästen): Jakarta, klein, fett. */
.mr-timeline-top__label,
.mr-sidebar-box-title,
.mr-footer-group__title,
.mr-lesson__aside-title,
.mr-matches-aside__title,
.mr-box__title,
.mr-consent__title {
	font-family: var(--mr-font-sans);
	font-weight: 700;
	font-size: var(--mr-fs-small);
	letter-spacing: 0.02em;
}

/* Rubrik: Versalien, klein, fett, gesperrt. Petrol auf Papier 6.02:1. */
.mr-home-hero__kicker,
.mr-featured-promo__kicker,
.mr-promo-kicker,
.mr-program-kicker,
.mr-featured-big-kicker,
.mr-category-kicker,
.mr-home-news__program {
	font-family: var(--mr-font-sans);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-blue);
}

/* Lead-Absätze in Newsreader (Heading-Token), Tinte statt Grau. */
.mr-editorial-hero__text,
.mr-promo-lead-serif,
.mr-program-lead-serif {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	color: var(--mr-gray-dark);
}

/* Links im Text: immer unterstrichen (WCAG 1.4.1), Petrol. */
.mr-prose a,
.mr-lesson-body a,
.mr-program-body a,
.mr-promo-prose a {
	color: var(--mr-link);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.mr-prose a:hover,
.mr-lesson-body a:hover,
.mr-program-body a:hover,
.mr-promo-prose a:hover {
	color: var(--mr-blue-hover);
	text-decoration-thickness: 2px;
}

/* --- 11.2 Masthead-Kopf ------------------------------------------------------------------------------------- */
.mr-site-header {
	background: var(--mr-paper);
	border-bottom: 1px solid var(--mr-border);
	box-shadow: inset 0 3px 0 var(--mr-navy);
}

.mr-brand-icon {
	color: var(--mr-navy);
}

.wp-block-site-title {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1;
}

.wp-block-site-title a {
	color: var(--mr-navy);
}

.mr-nav a {
	color: var(--mr-black);
}

.mr-nav a:hover {
	color: var(--mr-blue);
}

.mr-nav a[aria-current="page"] {
	color: var(--mr-navy);
	border-bottom-color: var(--mr-blue);
}

.mr-search__summary {
	border-radius: var(--mr-radius-sm);
}

/* Ab 992 px ist das Suchfeld eine Ebene unter dem Kopf; darunter eine Zeile im Kopf ohne eigenen Rahmen (header.spec). */
@media (min-width: 992px) {
	.mr-search__panel {
		background: var(--mr-bg-card);
		border: 1px solid var(--mr-border);
		border-top: 2px solid var(--mr-navy);
		border-radius: 0 0 var(--mr-radius-lg) var(--mr-radius-lg);
		box-shadow: var(--mr-shadow-md);
	}
}

.mr-search-form__input {
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-gray-mid);
	border-radius: var(--mr-radius-sm);
}

.mr-search-form__submit {
	background: var(--mr-navy);
	color: #FFFFFF;
	border-radius: var(--mr-radius-sm);
}

.mr-search-form__submit:hover {
	background: var(--mr-navy-hover);
}

.mr-lang-switcher__list {
	border-radius: var(--mr-radius-sm);
	border-color: var(--mr-line-strong);
	background: transparent;
}

.mr-lang-switcher__btn {
	border-radius: var(--mr-radius-sm);
}

.mr-lang-switcher__btn.is-active {
	background: var(--mr-navy);
	color: #FFFFFF;
}

/* --- 11.3 Knöpfe, Badges, Status --------------------------------------------------------------------------- */
.mr-btn,
.mr-btn-black,
.mr-sidebar-btn-full,
.wp-element-button {
	background: var(--mr-navy);
	color: #FFFFFF;
	border-radius: var(--mr-radius-sm);
}

.mr-btn:hover,
.mr-btn-black:hover,
.mr-sidebar-btn-full:hover {
	background: var(--mr-navy-hover);
	color: #FFFFFF;
}

.mr-btn:active,
.mr-btn-black:active,
.mr-sidebar-btn-full:active {
	background: var(--mr-navy-deep);
}

.mr-btn--secondary,
.mr-btn-outline {
	background: transparent;
	color: var(--mr-navy);
	border: 1px solid var(--mr-navy);
	border-radius: var(--mr-radius-sm);
}

.mr-btn--secondary:hover,
.mr-btn-outline:hover {
	background: var(--mr-bg-light);
	color: var(--mr-navy);
}

.mr-status-pill,
.mr-badge {
	border-radius: var(--mr-radius-sm);
}

.mr-status-pill {
	background: transparent;
	border-color: var(--mr-line-strong);
	color: var(--mr-black);
}

.mr-status-pill--active { --mr-pill-dot: var(--mr-green); }
.mr-status-pill--confirmed { --mr-pill-dot: var(--mr-green); }
.mr-status-pill--expiring,
.mr-status-pill--leaving { --mr-pill-dot: var(--mr-signal); }

.mr-status-pill--expiring {
	color: var(--mr-signal);
	border-color: var(--mr-signal);
}

/* --- 11.4 Rubrikkopf ---------------------------------------------------------------------------------------- */
.mr-table-header-row {
	border-top: 2px solid var(--mr-navy);
	border-bottom: 0;
	padding-top: var(--mr-space-sm);
	margin-bottom: var(--mr-space-md);
	align-items: baseline;
	flex-wrap: wrap;
	column-gap: var(--mr-space-md);
}

.mr-table-heading {
	font-size: var(--mr-fs-heading);
	letter-spacing: -0.01em;
	margin: 0;
}

.mr-table-view-all,
.mr-home-more .mr-table-view-all {
	gap: 0.3em;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-blue);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mr-table-view-all:hover {
	color: var(--mr-blue-hover);
	text-decoration-thickness: 2px;
}

/* Nebenrubrik: Haarlinie statt Navy-Linie. */
.mr-home-subhead-row {
	border-top: 1px solid var(--mr-line-strong);
}

/* --- 11.5 Startseite: Masthead ------------------------------------------------------------------------------ */
.mr-home {
	padding-top: var(--mr-space-xl);
}

.mr-home-masthead {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: var(--mr-space-md) var(--mr-space-2xl);
	align-items: end;
	padding: 0 0 var(--mr-space-lg);
	margin: 0 0 var(--mr-space-xl);
	border-bottom: 1px solid var(--mr-border);
	min-height: 0;
}

.mr-home-masthead .mr-home-hero__kicker {
	margin: 0 0 var(--mr-space-sm);
}

.mr-home-masthead .mr-editorial-hero__title {
	font-size: var(--mr-fs-heading);
	line-height: var(--mr-lh-heading);
	letter-spacing: -0.01em;
	margin: 0;
	max-width: none;
}

.mr-home-masthead .mr-editorial-hero__right {
	display: block;
	padding: 0;
}

.mr-home-masthead .mr-editorial-hero__text {
	font-family: var(--mr-font-sans);
	font-size: var(--mr-fs-small);
	line-height: var(--mr-lh-small);
	color: var(--mr-gray-dark);
	margin: 0 0 var(--mr-space-sm);
	max-inline-size: 60ch;
}

.mr-home-masthead .mr-home-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mr-space-xs) var(--mr-space-lg);
	margin: 0;
}

.mr-home-hero__link {
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
	min-block-size: 24px;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-blue);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.mr-home-hero__link:hover {
	color: var(--mr-blue-hover);
	text-decoration-thickness: 2px;
}

/* --- 11.6 Startseite: Titelseite -------------------------------------------------------------------------- */
.mr-front {
	display: grid;
	grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
	grid-template-areas:
		"lead aside"
		"news matches";
	grid-template-rows: auto auto;
	gap: var(--mr-space-2xl) var(--mr-space-2xl);
	margin-bottom: var(--mr-space-3xl);
}

.mr-front > .mr-featured-promo { grid-area: lead; }
.mr-front > .mr-home-news { grid-area: news; }
.mr-front > .mr-home-matches { grid-area: matches; }

.mr-front > .mr-home-current,
.mr-front > .mr-home-matches {
	padding-left: var(--mr-space-2xl);
	border-left: 1px solid var(--mr-border);
}

.mr-front > .mr-home-current { grid-area: aside; }

.mr-front > section {
	margin: 0;
	min-width: 0;
}

/* Hauptmeldung mit Radar-Cover. */
.mr-featured-promo {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--mr-space-xl);
	align-items: stretch;
	margin: 0;
	padding: 0 0 var(--mr-space-2xl);
	border-top: 0;
	border-bottom: 1px solid var(--mr-border);
}

.mr-featured-promo__cover {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 18rem;
	padding: var(--mr-space-lg);
	background: var(--mr-navy);
	color: var(--mr-petrol-light);
	overflow: hidden;
	border-radius: var(--mr-radius-lg);
}

.mr-featured-promo__radar {
	position: absolute;
	inset-block-start: 0;
	inset-inline-end: 0;
	width: 77%;
	height: auto;
	opacity: 0.55;
}

.mr-featured-promo__cover-name {
	position: relative;
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	line-height: var(--mr-lh-heading);
	font-weight: 400;
	color: #FFFFFF;
	border-top: 1px solid rgb(255 255 255 / 0.35);
	padding-top: var(--mr-space-sm);
	width: 100%;
}

.mr-featured-promo__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
}

.mr-featured-promo__kicker {
	margin: 0 0 var(--mr-space-sm);
}

.mr-featured-promo__sep {
	margin-inline: 0.5em;
	color: var(--mr-gray-mid);
}

.mr-featured-promo__program {
	color: var(--mr-navy);
}

.mr-featured-promo__title {
	font-size: var(--mr-fs-display);
	line-height: var(--mr-lh-display);
	letter-spacing: -0.015em;
	margin: 0 0 var(--mr-space-md);
}

.mr-featured-promo__title a {
	color: var(--mr-navy);
	text-decoration: none;
}

.mr-featured-promo__title a:hover {
	color: var(--mr-blue);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.12em;
}

.mr-featured-promo__summary {
	font-size: var(--mr-fs-body);
	color: var(--mr-gray-dark);
	margin: 0 0 var(--mr-space-lg);
	max-inline-size: 60ch;
}

.mr-featured-promo__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mr-space-sm) var(--mr-space-md);
	margin: 0;
	padding-top: var(--mr-space-md);
	border-top: 1px dashed var(--mr-line-strong);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
}

/* Märkte (CH, DE, AT, International). */
.mr-markets {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mr-space-xs) var(--mr-space-sm);
	margin-top: var(--mr-space-sm);
}

.mr-markets__label {
	margin: 0;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

.mr-markets__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mr-space-xs);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mr-markets__item {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	line-height: 1.5;
	padding: 0 0.4em;
	border: 1px solid var(--mr-line-strong);
	border-radius: var(--mr-radius-sm);
	color: var(--mr-black);
	font-variant-numeric: tabular-nums;
}

/* Neuigkeiten. */
.mr-home-news__list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 var(--mr-space-xl);
}

.mr-home-news__item {
	padding: var(--mr-space-md) 0;
	border-bottom: 1px solid var(--mr-border);
}

.mr-home-news__item:first-child {
	grid-column: 1 / -1;
}

.mr-home-news__program {
	margin: 0 0 var(--mr-space-xs);
}

.mr-home-news__title {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	font-size: var(--mr-fs-heading);
	line-height: var(--mr-lh-heading);
	margin: 0 0 var(--mr-space-xs);
}

.mr-home-news__item:not(:first-child) .mr-home-news__title {
	font-family: var(--mr-font-sans);
	font-size: var(--mr-fs-body);
	font-weight: 700;
}

.mr-home-news__title a {
	color: var(--mr-navy);
}

.mr-home-news__title a:hover {
	color: var(--mr-blue);
	text-decoration: underline;
}

.mr-home-news__date {
	margin: 0;
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
}

/* Seitenspalte: «Aktuell gültig» als gestapelte Einträge bei jeder Breite (Rollen halten die Tabellensemantik). */
.mr-home-current .mr-table-scroll {
	overflow: visible;
	border: 0;
}

.mr-home-current .mr-home-promos,
.mr-home-current .mr-home-promos tbody,
.mr-home-current .mr-home-promos td {
	display: block;
	width: auto;
}

.mr-home-current .mr-home-promos thead {
	display: block;
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

.mr-home-current .mr-home-promos tr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--mr-space-xs) var(--mr-space-sm);
	padding: var(--mr-space-md) 0 var(--mr-space-md) var(--mr-space-md);
	border-block-end: 1px solid var(--mr-border);
	border-inline-start: 3px solid var(--mr-green);
}

.mr-home-current .mr-home-promos tbody tr:first-child {
	border-block-start: 0;
}

.mr-home-current .mr-home-promos td {
	padding: 0;
	border: 0;
	text-align: start;
	background: transparent;
}

.mr-home-current .mr-home-promos__program,
.mr-home-current .mr-home-promos__title {
	grid-column: 1 / -1;
}

.mr-home-current .mr-home-promos td.mr-home-promos__program {
	font-size: var(--mr-fs-small);
}

.mr-home-current .mr-home-promos td.mr-home-promos__program a {
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-blue);
}

.mr-home-current .mr-home-promos td.mr-home-promos__title a {
	font-family: var(--mr-font-sans);
	font-weight: 700;
	color: var(--mr-navy);
}

.mr-home-current .mr-home-promos td.mr-home-promos__title a:hover {
	color: var(--mr-blue);
	text-decoration: underline;
}

.mr-home-current .mr-home-promos td.mr-home-promos__validity {
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

.mr-home-current .mr-home-promos td.mr-home-promos__status {
	text-align: end;
}

.mr-home-more {
	margin: var(--mr-space-md) 0 0;
}

.mr-home-sub {
	margin: 0 0 var(--mr-space-sm);
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

/* Status Matches unter den Neuigkeiten: drei Spalten. */

.mr-home-matches .mr-home-match {
	padding: var(--mr-space-md) 0;
	border-bottom: 1px solid var(--mr-border);
}

.mr-home-match__link {
	color: var(--mr-navy);
	text-decoration: none;
	font-weight: 400;
}

.mr-home-match__link:hover {
	color: var(--mr-blue);
	text-decoration: underline;
}

.mr-home-match__arrow {
	color: var(--mr-blue);
}

.mr-home-match__date {
	display: block;
	margin-top: var(--mr-space-xs);
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-mid);
	font-variant-numeric: tabular-nums;
}

/* --- 11.7 Startseite: Wissen, Programme, Allianzen, Mehr ---------------------------------------------------- */
.mr-home-knowledge {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: var(--mr-space-2xl);
	margin-bottom: var(--mr-space-3xl);
	align-items: start;
}

.mr-home-knowledge > section {
	margin: 0;
}

.mr-guide-row {
	align-items: baseline;
	border-bottom: 1px solid var(--mr-border);
}

.mr-guide-num {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	color: var(--mr-blue);
	min-width: 2.25rem;
}

.mr-guide-title a {
	color: var(--mr-navy);
	font-weight: 700;
}

.mr-home-course__courses a {
	color: var(--mr-blue);
	font-weight: 700;
}

/* Prüfband auf Navy: nur Weiss, Papier und Petrol hell. */
.mr-how-we-verify-box {
	background: var(--mr-navy);
	color: var(--mr-paper);
	border: 0;
	border-radius: var(--mr-radius-lg);
	margin: 0;
}

.mr-how-we-verify-box .mr-verify-heading {
	color: #FFFFFF;
}

.mr-how-we-verify-box p,
.mr-how-we-verify-box .mr-step-text {
	color: var(--mr-paper);
}

.mr-how-we-verify-box .mr-step-heading {
	color: #FFFFFF;
}

.mr-how-we-verify-box .mr-step-digit {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	color: var(--mr-petrol-light);
}

.mr-how-we-verify-box .mr-step-col {
	border-top-color: rgb(255 255 255 / 0.3);
}

/* Fokus auf Navy: der globale Ring (utilities) liest --mr-focus; hier Petrol hell, 9.35:1 auf Navy. */
.mr-how-we-verify-box {
	--mr-focus: var(--mr-petrol-light);
}

.mr-home-knowledge .mr-how-we-verify-box {
	grid-template-columns: 1fr;
}

.mr-home-network {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: var(--mr-space-2xl);
	margin-bottom: var(--mr-space-3xl);
}

.mr-home-network > section {
	margin: 0;
}

.mr-home-network .mr-alliances-grid {
	grid-template-columns: 1fr;
	gap: 0;
}

.mr-home-network .mr-card.mr-alliance-col {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--mr-border);
	border-radius: 0;
	padding: var(--mr-space-md) 0;
	box-shadow: none;
}

.mr-home-alliances__title {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	line-height: var(--mr-lh-heading);
	margin: 0 0 var(--mr-space-xs);
}

.mr-home-alliances__title a {
	color: var(--mr-navy);
	text-decoration: none;
}

.mr-home-alliances__title a:hover {
	color: var(--mr-blue);
	text-decoration: underline;
}

.mr-home-alliances__more {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-blue);
}

.mr-mini-prog-name a {
	color: var(--mr-navy);
}

.mr-prog-col-header {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-blue);
}

.mr-home-more-band {
	border-top: 1px solid var(--mr-line-strong);
	padding-top: var(--mr-space-md);
}

.mr-home-more-band .mr-table-header-row {
	border-top: 0;
	padding-top: 0;
}

.mr-home-more-band__item {
	border-top-color: var(--mr-border);
}

.mr-home-more-band__title a {
	color: var(--mr-navy);
}

/* --- 11.8 Karten und Flächen ------------------------------------------------------------------------------- */
.mr-card {
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-border);
	border-radius: var(--mr-radius-lg);
	box-shadow: none;
	/* Innenabstand wie die Dossier-Karten der Promotionen (Betreiber-UAT 2026-11-07: Text lag an der Kante). */
	padding: var(--mr-space-md) var(--mr-space-lg);
}

.mr-card:hover {
	border-color: var(--mr-line-strong);
	box-shadow: none;
}

/* Suchzeile der Programmübersicht: Abstand zwischen Beschriftung und Feld, Feld und Knopf gleich hoch. */
.mr-programs-search {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--mr-space-sm);
	margin-block: var(--mr-space-lg);
}

.mr-programs-search__label {
	flex: 1 0 100%;
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-text);
}

.mr-programs-search input[type="search"] {
	flex: 0 1 22rem;
	min-inline-size: 0;
	min-block-size: 2.75rem;
	padding: 0 var(--mr-space-md);
	font-family: inherit;
	font-size: var(--mr-fs-body);
	color: var(--mr-text);
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-gray-mid);
	border-radius: var(--mr-radius-sm);
}

.mr-programs-search .mr-btn {
	flex: 0 0 auto;
	min-block-size: 2.75rem;
	padding-block: 0;
}

/* --- 11.9 Fuss auf Navy ------------------------------------------------------------------------------------- */
/* Fokus auf Navy über --mr-focus (globaler Ring in utilities), Petrol hell 9.35:1. */
.mr-site-footer {
	--mr-focus: var(--mr-petrol-light);
	background: var(--mr-navy);
	color: var(--mr-paper);
	border-top: 0;
}

.mr-site-footer a {
	color: var(--mr-paper);
}

.mr-site-footer a:hover {
	color: #FFFFFF;
	text-decoration: underline;
}

.mr-footer-logo {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	color: #FFFFFF;
}

.mr-footer-group__title {
	color: var(--mr-petrol-light);
	letter-spacing: 0.02em;
}

/* Fussknopf «Cookie-Einstellungen» (consent.css) auf Navy: Papier statt Grau (2.56:1), Fokus Petrol hell. */
.mr-site-footer .mr-consent-footer__btn {
	color: var(--mr-paper);
}

.mr-site-footer .mr-consent-footer__btn:hover {
	color: #FFFFFF;
	text-decoration: underline;
}

.mr-site-footer .mr-consent-footer__btn:focus-visible {
	outline-color: var(--mr-petrol-light);
}

/* --- 11.11 Promotionen: Archiv mit Dossier-Karten ------------------------------------------------------------ */
.mr-featured-promo__radar {
	width: min(77%, 18rem);
}

.mr-promo-filters .mr-tab-link,
.mr-chip-list .mr-tab-link {
	border-radius: var(--mr-radius-sm);
	background: transparent;
	border-color: var(--mr-line-strong);
}

.mr-tab-link[aria-current="true"],
.mr-tab-link.is-active {
	background: var(--mr-navy);
	border-color: var(--mr-navy);
	color: #FFFFFF;
}

.mr-promo-program-form__select {
	background-color: var(--mr-bg-card);
	border-color: var(--mr-gray-mid);
	border-radius: var(--mr-radius-sm);
}

.mr-promo-results {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-gray-dark);
}

.mr-promo-list {
	display: grid;
	gap: var(--mr-space-md);
	border-block-start: 0;
}

li.mr-promo-row {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 13rem;
	grid-template-areas:
		"meta stub"
		"title stub"
		"markets stub";
	column-gap: 0;
	padding: 0;
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-border);
	border-inline-start: 3px solid var(--mr-green);
	border-radius: var(--mr-radius-lg);
}

li.mr-promo-row:has(.mr-status-pill--expiring) {
	border-inline-start-color: var(--mr-signal);
}

li.mr-promo-row:has(.mr-status-pill--expired),
li.mr-promo-row:has(.mr-status-pill--upcoming),
li.mr-promo-row:has(.mr-status-pill--withdrawn) {
	border-inline-start-color: var(--mr-gray-mid);
}

li.mr-promo-row:hover {
	border-color: var(--mr-line-strong);
}

li.mr-promo-row .mr-promo-row__meta {
	grid-area: meta;
	padding: var(--mr-space-md) var(--mr-space-lg) 0;
	margin: 0;
}

li.mr-promo-row .mr-promo-row__program {
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-blue);
}

li.mr-promo-row .mr-promo-row__title {
	grid-area: title;
	padding: var(--mr-space-xs) var(--mr-space-lg) var(--mr-space-md);
	margin: 0;
	font-size: var(--mr-fs-heading);
	line-height: var(--mr-lh-heading);
}

li.mr-promo-row .mr-promo-row__title a {
	color: var(--mr-navy);
}

/* Ganze Karte klickbar über den Titellink; Fokusring bleibt am Link (UI-SPEC Review 6). */
li.mr-promo-row .mr-promo-row__title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

li.mr-promo-row .mr-promo-row__title a:hover {
	color: var(--mr-blue);
}

li.mr-promo-row > .mr-markets {
	grid-area: markets;
	margin: 0;
	padding: 0 var(--mr-space-lg) var(--mr-space-md);
}

li.mr-promo-row > .mr-markets .mr-markets__label {
	font-size: var(--mr-fs-small);
}

/* Abriss: Gültigkeit als Stub rechts, getrennt durch eine Perforation. */
li.mr-promo-row .mr-promo-row__validity {
	grid-area: stub;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	margin: 0;
	padding: var(--mr-space-md) var(--mr-space-lg);
	border-inline-start: 1px dashed var(--mr-line-strong);
	background: var(--mr-paper);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-black);
	border-start-end-radius: var(--mr-radius-lg);
	border-end-end-radius: var(--mr-radius-lg);
}

.mr-badge.mr-promo-row__kind {
	border-radius: var(--mr-radius-sm);
}

.mr-badge--announcement {
	background: var(--mr-amber-subtle);
	color: var(--mr-amber);
	border: 1px solid var(--mr-amber);
}

.mr-badge--promo,
.mr-badge--promotion {
	background: var(--mr-blue-subtle);
	color: var(--mr-blue-hover);
	border: 1px solid var(--mr-blue);
}

/* --- 11.12 Promotion: Detailseite --------------------------------------------------------------------------- */
.mr-promo-h1 {
	font-size: var(--mr-fs-display);
	line-height: var(--mr-lh-display);
	letter-spacing: -0.015em;
}

.mr-promo-h1 .mr-blue {
	color: var(--mr-blue);
}

.mr-promo-head {
	border-bottom: 1px solid var(--mr-border);
}

.mr-promo-head__checked {
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

.mr-timeline-widget {
	border-color: var(--mr-border);
}

.mr-timeline-base-line {
	background: var(--mr-border);
}

.mr-timeline-active-line {
	background: var(--mr-navy);
}

.mr-timeline-tick-pin--blue {
	background: var(--mr-blue);
}

.mr-metrics-grid {
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-border);
	border-top: 2px solid var(--mr-navy);
	border-radius: 0 0 var(--mr-radius-lg) var(--mr-radius-lg);
}

.mr-metric-col {
	border-color: var(--mr-border);
}

.mr-metric-label {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-gray-dark);
}

.mr-metric-val {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	color: var(--mr-navy);
}

.mr-promo-prose h2,
.mr-prose h2 {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	color: var(--mr-navy);
}

.mr-prose ul li::marker,
.mr-promo-prose ul li::marker,
.mr-lesson-body ul li::marker {
	color: var(--mr-blue);
}

.mr-prose blockquote,
.mr-terms-quote {
	border-inline-start: 3px solid var(--mr-blue);
	background: transparent;
	font-family: var(--mr-font-serif);
	color: var(--mr-gray-dark);
}

.mr-promo-sidebar .mr-sidebar-btn-full {
	min-block-size: 48px;
	border-radius: var(--mr-radius-sm);
}

.mr-sidebar-dossier-box {
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-border);
	border-top: 2px solid var(--mr-navy);
	border-radius: 0 0 var(--mr-radius-lg) var(--mr-radius-lg);
	padding: var(--mr-space-md) var(--mr-space-lg);
}

.mr-dossier-row {
	border-bottom-color: var(--mr-border);
}

.mr-sidebar-transparency-box {
	background: var(--mr-bg-light);
	border: 0;
	border-radius: var(--mr-radius-lg);
	padding: var(--mr-space-md) var(--mr-space-lg);
}

.mr-open-note {
	background: var(--mr-amber-subtle);
	border-inline-start: 3px solid var(--mr-amber);
	border-radius: 0;
}

.mr-box,
.mr-terms-box {
	border-radius: var(--mr-radius-lg);
}

@media (min-width: 992px) {
	.mr-promo-split-content {
		grid-template-columns: minmax(0, 1fr) 320px;
		align-items: start;
	}
}

/* Keine mitlaufenden Spalten (consent-a11y, WCAG 2.4.11): ein klebendes Element kann nicht unter dem Consent-Banner
   hervorgescrollt werden, seine unteren Links blieben verdeckt. */

/* --- 11.13 Detailköpfe: Titel, darunter der Vorspann (Standfirst) ------------------------------------------ */
.mr-program-hero-split,
.mr-promo-hero-split {
	display: block;
}

.mr-program-hero-split > div + div,
.mr-promo-hero-split__aside {
	margin-top: var(--mr-space-md);
	max-inline-size: 46rem;
	padding: 0;
	border: 0;
}

.mr-program-lead-serif,
.mr-promo-lead-serif {
	font-size: var(--mr-fs-heading);
	line-height: 1.4;
	margin: 0;
}

.mr-program-h1 {
	font-size: var(--mr-fs-display);
	line-height: var(--mr-lh-display);
	letter-spacing: -0.015em;
	margin-bottom: 0;
}

.mr-stand {
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

/* Stand unter dem Promotion-Detail: gleiche Innenkante wie der Artikel darüber. */
.mr-promo-detail-container + .mr-stand {
	padding-inline: 1.5rem;
}

.mr-jump-nav {
	border-block: 1px solid var(--mr-border);
}

.mr-jump-nav__title {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-gray-dark);
}

.mr-jump-nav__link {
	color: var(--mr-blue);
}

.mr-program-matrix,
.mr-matrix-col {
	background: var(--mr-bg-card);
	border-color: var(--mr-border);
}

.mr-program-matrix {
	border-top: 2px solid var(--mr-navy);
}

.mr-tier-table thead th,
.mr-table-scroll > table > thead th {
	background: var(--mr-paper);
	border-bottom: 2px solid var(--mr-navy);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-navy);
}

.mr-data-table th {
	border-bottom-color: var(--mr-navy);
}

.mr-breadcrumb a {
	color: var(--mr-gray-mid);
}

.mr-breadcrumb a:hover {
	color: var(--mr-blue);
}

/* Archivköpfe: H1 links, Vorspann rechts, Haarlinie unten (bestehendes Raster, neue Linie). */
.mr-editorial-hero:not(.mr-home-masthead) {
	border-bottom: 2px solid var(--mr-navy);
}

/* --- 11.14 Seiten (Über uns, Methodik, Recht, Rechner) ----------------------------------------------------- */
.mr-page .mr-page__title,
:is(.mr-page-kind--impressum, .mr-page-kind--datenschutz, .mr-page-kind--offenlegung, .mr-page-kind--ueber-uns, .mr-page-kind--methodik, .mr-page-kind--rechner) .mr-page__body h2 {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	color: var(--mr-navy);
}

.mr-page .mr-page__title {
	letter-spacing: -0.015em;
}

/* --- 11.15 Radar-Motiv für 404 und Leerzustände (Zierde, CSS-Maske, keine Information) ------------------- */
.mr-notfound {
	position: relative;
	isolation: isolate;
	padding-block: var(--mr-space-2xl);
}

.mr-notfound::after {
	content: "";
	position: absolute;
	z-index: -1;
	inset-block-start: var(--mr-space-3xl);
	inset-inline-end: 0;
	width: min(32vw, 22rem);
	aspect-ratio: 1;
	background: var(--mr-border);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Ccircle cx='100' cy='100' r='92'/%3E%3Ccircle cx='100' cy='100' r='64' stroke-dasharray='3 6'/%3E%3Ccircle cx='100' cy='100' r='36'/%3E%3Cpath d='M100 100 L165 35' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='100' cy='100' r='5' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='%23000' stroke-width='1.5'%3E%3Ccircle cx='100' cy='100' r='92'/%3E%3Ccircle cx='100' cy='100' r='64' stroke-dasharray='3 6'/%3E%3Ccircle cx='100' cy='100' r='36'/%3E%3Cpath d='M100 100 L165 35' stroke-width='2.5' stroke-linecap='round'/%3E%3Ccircle cx='100' cy='100' r='5' fill='%23000'/%3E%3C/svg%3E") center / contain no-repeat;
	pointer-events: none;
}

@media (forced-colors: active) {
	.mr-notfound::after {
		display: none;
	}
}

/* --- 11.10 Mobil und Tablet ------------------------------------------------------------------------------- */
@media (max-width: 991.98px) {
	.mr-front {
		grid-template-columns: 1fr;
		grid-template-areas: "lead" "aside" "news" "matches";
		grid-template-rows: auto;
		gap: var(--mr-space-2xl);
	}

	.mr-front > .mr-home-current,
	.mr-front > .mr-home-matches {
		padding-left: 0;
		border-left: 0;
	}

	.wp-block-site-title {
		font-size: var(--mr-fs-body);
	}

	.mr-home-knowledge,
	.mr-home-network {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767.98px) {
	.mr-home {
		padding-top: var(--mr-space-md);
	}

	/* Karten auf Mobil wie die Dossier-Karten: Innenkante --mr-space-md. */
	.mr-card {
		padding-inline: var(--mr-space-md);
	}

	.mr-programs-search input[type="search"] {
		flex: 1 1 0;
	}

	.mr-home-masthead {
		grid-template-columns: 1fr;
		gap: var(--mr-space-sm);
		padding-bottom: var(--mr-space-md);
		margin-bottom: var(--mr-space-lg);
	}

	.mr-home-hero__link {
		min-block-size: 44px;
	}

	.mr-featured-promo {
		grid-template-columns: 1fr;
		gap: var(--mr-space-md);
		padding-bottom: var(--mr-space-xl);
	}

	.mr-featured-promo__cover {
		min-height: 4.5rem;
		padding: var(--mr-space-sm) var(--mr-space-md);
	}

	.mr-featured-promo__radar {
		width: 37%;
		height: 100%;
	}

	.mr-home-news__list {
		grid-template-columns: 1fr;
	}

	/* Vorspann unter dem H1 auf Mobil in Body-Grösse, damit der Titel führt. */
	.mr-program-lead-serif,
	.mr-promo-lead-serif,
	.mr-editorial-hero__text {
		font-size: var(--mr-fs-body);
		line-height: var(--mr-lh-body);
	}

	.mr-notfound::after {
		inset-block-start: auto;
		inset-block-end: 0;
		width: 10rem;
		opacity: 0.7;
	}

	li.mr-promo-row {
		grid-template-columns: 1fr;
		grid-template-areas: "meta" "title" "markets" "stub";
	}

	.mr-metrics-grid .mr-metric-col {
		border-right: 0;
		border-bottom: 1px solid var(--mr-border);
	}

	.mr-metrics-grid .mr-metric-col:last-child {
		border-bottom: 0;
	}

	li.mr-promo-row .mr-promo-row__validity {
		border-inline-start: 0;
		border-block-start: 1px dashed var(--mr-line-strong);
		border-start-end-radius: 0;
		border-end-start-radius: var(--mr-radius-lg);
		padding: var(--mr-space-sm) var(--mr-space-md);
	}

	li.mr-promo-row .mr-promo-row__meta,
	li.mr-promo-row .mr-promo-row__title,
	li.mr-promo-row > .mr-markets {
		padding-inline: var(--mr-space-md);
	}

	.mr-home-current .mr-home-promos td.mr-home-promos__title a {
		display: inline-flex;
		align-items: center;
		min-block-size: 44px;
	}
}

/* --- 11.16 Schlussprüfung (11-REVIEW-FINAL, 11-06) ------------------------------------------------------------ */

/* B-01 Lektionsliste ohne Nummernspalte (Meilenkurs): Titel und Kurzfassung, Lesezeit rechts; auf Mobil eine Spalte. */
.mr-lesson-list--plain .mr-lesson-list__item {
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: var(--mr-space-lg);
	padding: var(--mr-space-md) var(--mr-space-sm);
}

.mr-lesson-list--plain .mr-lesson-list__link {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	line-height: var(--mr-lh-heading);
	color: var(--mr-navy);
}

.mr-lesson-list--plain .mr-lesson-list__summary {
	max-inline-size: 68ch;
	margin-block-start: var(--mr-space-xs);
}

.mr-course-section .mr-module__title {
	margin-block: var(--mr-space-xl) var(--mr-space-sm);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-blue);
}

/* m-01 Kurskarte: Titel im Heading-Token (Newsreader). */
.mr-course-card__title {
	font-family: var(--mr-font-serif);
	font-weight: 400;
	letter-spacing: 0;
}

.mr-course-card__title a {
	color: var(--mr-navy);
}

/* M-01 Datentabellen in Lektionen: keine Trennung mitten im Wort oder in Zahlen; die Tabelle wird breiter als die Spalte
   und rollt im benannten Scrollbereich (tabindex 0), die Seite selbst nie. Der Umbruch langer Adressen bleibt im Text. */
.mr-lesson-body .mr-table-scroll {
	max-inline-size: 100%;
	overflow-x: auto;
	overflow-wrap: normal;
}

.mr-lesson-body .mr-prose-table {
	inline-size: 100%;
	border-collapse: collapse;
}

.mr-lesson-body .mr-prose-table th,
.mr-lesson-body .mr-prose-table td {
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	vertical-align: top;
}

/* 11-07 (R2-M-01): Tabellen mit bis zu drei Spalten passen in die Spalte und brechen an Wortgrenzen um. Erst ab vier
   Spalten gilt eine Mindestbreite nach Spaltenzahl; die erste Spalte (Bezeichnung) bekommt dann 8rem. */
.mr-lesson-body .mr-prose-table:has(tr > :nth-child(4)) {
	min-inline-size: 34rem;
}

.mr-lesson-body .mr-prose-table:has(tr > :nth-child(5)) {
	min-inline-size: 40rem;
}

.mr-lesson-body .mr-prose-table:has(tr > :nth-child(6)) {
	min-inline-size: 46rem;
}

.mr-lesson-body .mr-prose-table:has(tr > :nth-child(7)) {
	min-inline-size: 52rem;
}

.mr-lesson-body .mr-prose-table:has(tr > :nth-child(4)) :is(th, td):first-child {
	min-inline-size: 8rem;
}

/* Hinweis auf weiteren Inhalt: Schatten an der Kante, nur solange dort noch Inhalt liegt (Abdeckung rollt mit dem
   Inhalt, Schatten bleibt an der Kante). Farben aus den Tokens. */
.mr-lesson-body .mr-table-scroll {
	background:
		linear-gradient(to right, var(--mr-paper) 40%, transparent) left center / 2rem 100% no-repeat local,
		linear-gradient(to left, var(--mr-paper) 40%, transparent) right center / 2rem 100% no-repeat local,
		linear-gradient(to right, color-mix(in srgb, var(--mr-navy) 28%, transparent), transparent) left center / 0.875rem 100% no-repeat scroll,
		linear-gradient(to left, color-mix(in srgb, var(--mr-navy) 28%, transparent), transparent) right center / 0.875rem 100% no-repeat scroll;
	background-color: var(--mr-paper);
}

.mr-lesson-body .mr-table-scroll > table > thead th {
	background: transparent;
}

.mr-lesson-body .mr-prose-table td[align="right"],
.mr-lesson-body .mr-prose-table th[align="right"],
.mr-lesson-body .mr-prose-table td[align="center"] {
	white-space: nowrap;
}

.mr-lesson-body .mr-prose-table a {
	overflow-wrap: anywhere;
}

/* m-05 Eine Zeilenlinie für die ganze Zeile. */
.mr-prose-table tbody tr,
.mr-alliance-tier-programs__table tbody tr {
	border-block-end: 1px solid var(--mr-line);
}

.mr-prose-table tbody :is(th, td),
.mr-alliance-tier-programs__table tbody :is(th, td) {
	border-block-end: 0;
}

/* M-04 Vorhandene Tabellenüberschrift links, 14 px fett. */
.mr-prose-table caption,
.mr-data-table caption {
	caption-side: top;
	padding: 0 0 var(--mr-space-sm);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	text-align: start;
	color: var(--mr-text);
}

/* M-02 Hinweiskästen: eine Grundform, Varianten über Kante und Fläche aus der Palette. */
.mr-box {
	padding: var(--mr-space-lg);
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-line);
	border-inline-start: 3px solid var(--mr-line-strong);
	border-radius: var(--mr-radius-lg);
	box-shadow: none;
	color: var(--mr-text);
}

.mr-box .mr-box__title {
	margin: 0 0 var(--mr-space-sm);
	font-family: var(--mr-font-sans);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-navy);
}

.mr-box .mr-box__content > :first-child {
	margin-block-start: 0;
}

.mr-box .mr-box__content > :last-child {
	margin-block-end: 0;
}

.mr-box--tip {
	background: var(--mr-blue-subtle);
	border-color: var(--mr-blue-subtle);
	border-inline-start-color: var(--mr-blue);
}

.mr-box--tip .mr-box__title {
	color: var(--mr-blue);
}

.mr-box--key {
	background: var(--mr-paper);
	border-color: var(--mr-line);
	border-inline-start-color: var(--mr-navy);
}

.mr-box--key .mr-box__content {
	font-family: var(--mr-font-serif);
	color: var(--mr-navy);
}

.mr-box--calc {
	border-inline-start-color: var(--mr-navy);
	font-variant-numeric: tabular-nums;
}

.mr-box--calc .mr-box__title {
	margin: calc(-1 * var(--mr-space-lg)) calc(-1 * var(--mr-space-lg)) var(--mr-space-md);
	padding: var(--mr-space-sm) var(--mr-space-lg);
	background: var(--mr-navy);
	color: var(--mr-bg-card);
}

.mr-box--check {
	border-inline-start-color: var(--mr-green);
}

.mr-box--warning,
.mr-box--error {
	background: var(--mr-amber-subtle);
	border-color: var(--mr-amber-subtle);
	border-inline-start-color: var(--mr-amber);
	color: var(--mr-text);
}

.mr-box--warning .mr-box__title,
.mr-box--error .mr-box__title {
	color: var(--mr-amber);
}

.mr-box--neutral {
	background: var(--mr-bg-light);
	border-color: var(--mr-line);
	border-inline-start-color: var(--mr-line);
}

/* M-03 Inhaltsverzeichnis: Nummernspalte fest breit (1.10 bis 1.14 rücken nicht ein), leer ohne Nummer; Glossar als
   waagrechte Buchstabenleiste. m-06: fester Abstand je Eintrag statt Mindesthöhe. */
.mr-lesson-toc__list {
	gap: var(--mr-space-xs);
}

.mr-lesson-toc__no {
	flex: 0 0 auto;
	min-inline-size: 4ch;
}

@media (min-width: 769px) {
	.mr-lesson-toc__link {
		min-block-size: 24px;
		padding-block: 2px;
	}
}

.mr-lesson-toc--letters .mr-lesson-toc__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mr-space-xs);
}

.mr-lesson-toc--letters .mr-lesson-toc__link {
	justify-content: center;
	min-inline-size: 2.75rem;
	min-block-size: 2.75rem;
	padding: 0 var(--mr-space-sm);
	border: 1px solid var(--mr-line);
	border-radius: var(--mr-radius-sm);
	background: var(--mr-bg-card);
	font-weight: 700;
	text-decoration: none;
}

.mr-lesson-toc--letters .mr-lesson-toc__link:hover {
	border-color: var(--mr-blue);
	text-decoration: underline;
}

/* m-04 Gliederung der Lektionen: H2 mit mehr Luft, H3 in Navy mit Abstand. */
.mr-lesson-body h2 {
	margin-block-start: var(--mr-space-2xl);
}

.mr-lesson-body h3 {
	margin-block-start: var(--mr-space-lg);
	color: var(--mr-navy);
}

/* m-03 Link zur Grafik in voller Grösse. */
.mr-figure__more {
	margin: 0 0 var(--mr-space-md);
	font-size: var(--mr-fs-small);
}

/* M-09 Listen in Lektionen (Quellen): Abstand zwischen den Einträgen, Links mit genügend Zielfläche. */
.mr-lesson-body li a,
.mr-lesson__aside li a {
	padding-block: 2px;
}

.mr-lesson-body ol li + li,
.mr-lesson-body ul li + li,
.mr-lesson__aside li + li {
	margin-block-start: var(--mr-space-sm);
}

/* M-05 Startseite ohne Hauptmeldung (z. B. EN ohne Promotion): keine leere Fläche oben links. */
@media (min-width: 992px) {
	.mr-front:not(:has(> .mr-featured-promo)) {
		grid-template-areas:
			"news aside"
			"matches aside";
		align-items: start;
	}

	.mr-front:not(:has(> .mr-featured-promo)) > .mr-home-matches {
		padding-left: 0;
		border-left: 0;
	}

	.mr-front:not(:has(> .mr-featured-promo)) > .mr-home-current {
		align-self: stretch;
	}
}

/* Phase 19: Startseite ohne Status Matches (Rubrik ausgeschaltet). «Aktuell gültig» reicht rechts über beide Zeilen,
   damit kein leeres Feld rechts unten bleibt; mobil entfällt die letzte Zeile samt Abstand. */
.mr-front.mr-front--no-matches {
	grid-template-areas:
		"lead aside"
		"news aside";
}

.mr-front.mr-front--no-matches > .mr-home-current {
	align-self: start;
}

@media (max-width: 991.98px) {
	.mr-front.mr-front--no-matches {
		grid-template-areas: "lead" "aside" "news";
	}
}

@media (min-width: 992px) {
	.mr-front.mr-front--no-matches:not(:has(> .mr-featured-promo)) {
		grid-template-areas: "news aside";
	}
}

/* M-06 Statusstufen im Detail wie «Regeln und Fakten»: Raster Begriff und Wert, Haarlinien, Quellen klein darunter. */
.mr-tier-detail {
	max-inline-size: 45rem;
	margin-block: var(--mr-space-xl);
}

.mr-tier-detail__title {
	margin: 0 0 var(--mr-space-sm);
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	color: var(--mr-navy);
}

.mr-tier-detail__sub {
	margin: var(--mr-space-lg) 0 var(--mr-space-sm);
	font-size: var(--mr-fs-small);
	font-weight: 700;
	letter-spacing: 0.02em;
	color: var(--mr-gray-dark);
}

.mr-benefit-list,
.mr-qual__list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-block-start: 1px solid var(--mr-line);
}

.mr-benefit {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--mr-space-xs);
	padding: var(--mr-space-sm) 0;
	border-block-end: 1px solid var(--mr-line);
}

@media (min-width: 768px) {
	.mr-benefit {
		grid-template-columns: 10rem minmax(0, 1fr);
		gap: var(--mr-space-lg);
	}
}

.mr-benefit__label {
	font-size: var(--mr-fs-small);
	font-weight: 700;
	color: var(--mr-gray-dark);
}

.mr-benefit__value {
	margin: 0;
}

.mr-qual__logic {
	margin: 0 0 var(--mr-space-xs);
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

.mr-qual__item {
	padding: var(--mr-space-sm) 0;
	border-block-end: 1px solid var(--mr-line);
}

.mr-tier-detail .mr-source-ref {
	display: block;
	margin-block-start: var(--mr-space-xs);
	font-size: var(--mr-fs-small);
	color: var(--mr-gray-dark);
}

.mr-tier-detail .mr-source-ref a {
	color: inherit;
}

/* M-08 Stufen und Status ohne Pillen und Pastell: eckige Badges (Radius 2 px, Rahmen --mr-line-strong), Stufenfarbe
   nur als kleiner Punkt. Stufenpalette (dokumentiert): Silber Grau, Gold Amber, Rubin Signal, Saphir Navy,
   Smaragd Grün, Platin Petrol, sonst Grau. */
.mr-tier-chip {
	border-color: var(--mr-line-strong);
	border-radius: var(--mr-radius-sm);
	background: var(--mr-bg-card);
}

.mr-tier-chip::before {
	inline-size: 0.5rem;
	block-size: 0.5rem;
}

.mr-tier-chip--neutral { --mr-chip-dot: var(--mr-gray-light); }
.mr-tier-chip--silver { --mr-chip-dot: var(--mr-gray-light); }
.mr-tier-chip--gold { --mr-chip-dot: var(--mr-amber); }
.mr-tier-chip--ruby { --mr-chip-dot: var(--mr-signal); }
.mr-tier-chip--sapphire { --mr-chip-dot: var(--mr-navy); }
.mr-tier-chip--emerald { --mr-chip-dot: var(--mr-green); }

.mr-tier-chip:hover,
.mr-tier-chip[aria-current="page"] {
	border-color: var(--mr-navy);
}

.mr-badge.mr-match-badge {
	--mr-chip-dot: var(--mr-gray-light);
	gap: var(--mr-space-sm);
	background: var(--mr-bg-card);
	border: 1px solid var(--mr-line-strong);
	border-radius: var(--mr-radius-sm);
	color: var(--mr-text);
}

.mr-badge.mr-match-badge::before {
	content: "";
	flex: none;
	inline-size: 0.5rem;
	block-size: 0.5rem;
	border-radius: 50%;
	background: var(--mr-chip-dot);
}

.mr-badge.mr-match-badge.mr-badge--gold { --mr-chip-dot: var(--mr-amber); }
.mr-badge.mr-match-badge.mr-badge--silver { --mr-chip-dot: var(--mr-gray-light); }
.mr-badge.mr-match-badge.mr-badge--platinum { --mr-chip-dot: var(--mr-blue); }
.mr-badge.mr-match-badge.mr-badge--sapphire { --mr-chip-dot: var(--mr-navy); }
.mr-badge.mr-match-badge.mr-badge--ruby { --mr-chip-dot: var(--mr-signal); }
.mr-badge.mr-match-badge:is(.mr-badge--emerald, .mr-badge--diamond, .mr-badge--success) { --mr-chip-dot: var(--mr-green); }
.mr-badge.mr-match-badge.mr-badge--warning { --mr-chip-dot: var(--mr-amber); }

/* Übrige Badge-Töne aus der Palette statt Pastell (Allianz-Chip der Programmkarten u. a.). */
.mr-badge--success {
	background: var(--mr-blue-subtle);
	border-color: var(--mr-blue-subtle);
	color: var(--mr-blue);
}

.mr-badge--warning {
	background: var(--mr-amber-subtle);
	border-color: var(--mr-amber-subtle);
	color: var(--mr-text);
}

.mr-badge--danger {
	background: var(--mr-signal-subtle);
	border-color: var(--mr-signal-subtle);
	color: var(--mr-signal);
}

.mr-alliance-pill,
.mr-alliance-tier-badge {
	border-radius: var(--mr-radius-sm);
}

/* m-08 Programmübersicht: aktiver Reiter in Navy, «Suchen» als gefüllter Primärknopf. */
.mr-segmented .mr-segmented-btn.is-active,
.mr-segmented .mr-segmented-btn[aria-current="page"] {
	background: var(--mr-navy);
	border-color: var(--mr-navy);
	color: var(--mr-bg-card);
}

@media (max-width: 768px) {
	.mr-segmented .mr-segmented-btn {
		border-color: var(--mr-navy);
	}
}

.mr-programs-search .mr-btn {
	background: var(--mr-navy);
	border: 1px solid var(--mr-navy);
	border-radius: var(--mr-radius-sm);
	box-shadow: none;
	color: var(--mr-bg-card);
}

.mr-programs-search .mr-btn:hover {
	background: var(--mr-navy-hover);
	box-shadow: none;
}

/* m-07 Startseite: Allianzname der Programmliste bricht nicht um. */
.mr-mini-prog-alliance {
	white-space: nowrap;
}

/* m-09 Programmdetail: Kicker ohne Versalien. */
.mr-program-kicker {
	text-transform: none;
}

/* m-10 Programmkarten überall gleich: Aktion als Textlink unten. m-11 Kartentitel der Allianzen im Gewicht 400. */
.mr-card .mr-card__footer .mr-btn,
.mr-card .mr-card__footer .mr-btn-black {
	min-block-size: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
	color: var(--mr-black);
	font-weight: 700;
}

.mr-alliance-col__title {
	font-weight: 400;
}

/* m-13 Rechnerkarten: Polster rundum gleich, Titel ohne Aussenabstand oben. */
.mr-tool {
	padding: var(--mr-space-lg);
}

.mr-page__body .mr-tool .mr-tool__title,
.mr-tool .mr-tool__title {
	margin-block-start: 0;
}

/* m-14 Consent-Banner: Primärknöpfe in Navy, Titel im Heading-Token. Nur Aussehen, kein Verhalten. */
.mr-consent .mr-consent__btn {
	background: var(--mr-navy);
	border-color: var(--mr-navy);
}

.mr-consent .mr-consent__title {
	font-family: var(--mr-font-serif);
	font-size: var(--mr-fs-heading);
	font-weight: 400;
	letter-spacing: 0;
	color: var(--mr-navy);
}

/* m-16 404: Vorspann neben dem Radar-Motiv begrenzt. */
@media (min-width: 992px) {
	.mr-notfound .mr-notfound__body {
		max-inline-size: min(68ch, 58%);
	}
}

/* m-20 Mobile Navigation: Kantenverlauf auch links, sobald gerollt (Klasse aus mr-nav.js). */
@media (max-width: 991.98px) {
	.mr-nav-container.is-scrolled {
		-webkit-mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
		mask-image: linear-gradient(to right, transparent, #000 24px, #000 calc(100% - 24px), transparent);
	}
}

/* m-21 Kursverweis auf Allianzseiten als sichtbarer Link. */
.mr-alliance-course a {
	color: var(--mr-link);
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Mobil: Kästen mit 20 px, Rechner mit 16 px Polster, Lektionsliste eine Spalte. */
@media (max-width: 767.98px) {
	.mr-box {
		padding: 1.25rem;
	}

	.mr-box--calc .mr-box__title {
		margin: -1.25rem -1.25rem var(--mr-space-md);
		padding-inline: 1.25rem;
	}

	.mr-tool {
		padding: var(--mr-space-md);
	}

	.mr-lesson-list--plain .mr-lesson-list__item {
		grid-template-columns: minmax(0, 1fr);
	}

	.mr-lesson-list--plain .mr-lesson-list__time {
		grid-column: 1;
	}

}


/* m-17 Eine Linie je Übergang: unter dem Rubrikkopf keine zweite Haarlinie, Promotionskopf ohne eigene Linie, wenn
   die Zeitleiste folgt. */
.mr-editorial-hero + .mr-list-empty {
	border-block-start: 0;
}

.mr-promo-head:has(+ .mr-timeline-widget) {
	border-block-end: 0;
}



/* Reflow mit WCAG-Textabständen bei 320 px: Verzeichniseinträge und Kurskarten-Fakten brechen um. */
.mr-lesson-toc__list li {
	min-inline-size: 0;
}

.mr-lesson-toc__link {
	min-inline-size: 0;
	overflow-wrap: anywhere;
}

.mr-course-card__facts li {
	min-inline-size: 0;
	white-space: normal;
}


/* --- 11.17 Schlussprüfung Runde 2 (11-REVIEW-FINAL-R2, 11-07) -------------------------------------------------- */

/* R2-m-01 Zeilenköpfe im Tabellenkörper ohne die alte Tintenlinie oben: eine Haarlinie je Zeile. */
.mr-prose-table tbody th,
.mr-alliance-tier-programs__table tbody th {
	border-block-start: 0;
}

/* R2-m-03 Eine Regel für H2 im Fliesstext aller Vorlagen: oben deutlich mehr Luft als unten. */
:is(.mr-lesson-body, .mr-page__body, .mr-prose, .mr-promo-prose, .mr-match-prose, .mr-program-body)[class] > h2 {
	margin-block: var(--mr-space-2xl) var(--mr-space-sm);
}

:is(.mr-lesson-body, .mr-page__body, .mr-prose, .mr-promo-prose, .mr-match-prose, .mr-program-body)[class] > h2:first-child {
	margin-block-start: 0;
}

@media (max-width: 767.98px) {
	:is(.mr-lesson-body, .mr-page__body, .mr-prose, .mr-promo-prose, .mr-match-prose, .mr-program-body)[class] > h2 {
		margin-block-start: var(--mr-space-xl);
	}

	:is(.mr-lesson-body, .mr-page__body, .mr-prose, .mr-promo-prose, .mr-match-prose, .mr-program-body)[class] > h2:first-child {
		margin-block-start: 0;
	}
}

/* R2-m-05 Typ-Chips in der Promotionstabelle des Programms ohne Versalien, wie im Archiv. */
.mr-badge.mr-program-promos-table__cat {
	text-transform: none;
	letter-spacing: 0.02em;
}

/* R2-m-06 Programmkarten: die Kurzfassung beginnt immer im selben Abstand unter dem Titelblock. */
.mr-program-card .mr-card__meta {
	margin: var(--mr-space-xs) 0 0;
}

.mr-program-card .mr-card__body {
	margin-block-start: var(--mr-space-md);
}

/* R2-m-07 Startseite ohne News: Status Matches breit unter der Hauptmeldung (Einträge in drei Spalten), der
   Leerzustand der News schmal rechts. */
@media (min-width: 992px) {
	.mr-front:has(> .mr-featured-promo):has(.mr-home-news__empty) {
		grid-template-areas:
			"lead aside"
			"matches news";
	}

	.mr-front:has(> .mr-featured-promo):has(.mr-home-news__empty) > .mr-home-matches {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: var(--mr-space-xl);
		align-content: start;
		padding-left: 0;
		border-left: 0;
	}

	.mr-front:has(> .mr-featured-promo):has(.mr-home-news__empty) > .mr-home-matches > :not(.mr-home-match) {
		grid-column: 1 / -1;
	}

	.mr-front:has(> .mr-featured-promo):has(.mr-home-news__empty) > .mr-home-news {
		padding-left: var(--mr-space-2xl);
		border-left: 1px solid var(--mr-border);
	}
}

/* R2-m-09 404 auf Mobil ohne Radar-Motiv hinter den Links. */
@media (max-width: 767.98px) {
	.mr-notfound::after {
		display: none;
	}
}

/* R2-m-10 Pfeil-Links mit gleichem Abstand vor dem Pfeil. */
.mr-home-alliances__more,
.mr-table-view-all,
.mr-home-hero__link {
	display: inline-flex;
	align-items: baseline;
	gap: 0.3em;
}

/* R2-m-11 Köpfe der Übersichten: Abstände aus der Skala, keine grossen Lücken auf Mobil. */
.mr-editorial-hero + .mr-top-meta {
	margin-block-start: 0;
	padding-block-start: var(--mr-space-md);
}

@media (max-width: 767.98px) {
	.mr-editorial-hero {
		margin-block-end: var(--mr-space-md);
	}

	.mr-alliance-detail-container {
		padding-block-start: 0;
	}

	.mr-alliance-detail-container > .mr-alliance-head:first-child {
		margin-block-start: 0;
	}
}

/* R2-m-12 Lektionsliste bündig zu Linie und Teilüberschrift. */
.mr-lesson-list--plain .mr-lesson-list__item {
	padding-inline: 0;
}

/* R2-m-13 Sprachumschalter auf Mobil zurückhaltend: Text, aktiver Wert unterstrichen, Ziel 44 px über Polster. */
@media (max-width: 991.98px) {
	.mr-lang-switcher__list {
		border-color: transparent;
	}

	.mr-lang-switcher__btn.is-active,
	.mr-lang-switcher__btn[aria-current="true"] {
		background: transparent;
		color: var(--mr-navy);
		text-decoration: underline;
		text-decoration-thickness: 2px;
		text-underline-offset: 0.3em;
	}
}


/* R2-M-01 Mobil: Tabellen im Label-Token (14 px) mit schmaleren Zellen, damit zwei und drei Spalten ohne Rollen passen. */
@media (max-width: 767.98px) {
	.mr-lesson-body .mr-prose-table {
		font-size: var(--mr-fs-small);
		line-height: var(--mr-lh-small);
	}

	.mr-lesson-body .mr-prose-table th,
	.mr-lesson-body .mr-prose-table td {
		padding-inline: 0.375rem;
	}

	.mr-lesson-body .mr-prose-table :is(th, td):first-child {
		padding-inline-start: 0;
	}
}

} /* @layer components */
