/* ==========================================================================
   Modell-Lokschuppen Archiv – Farb- und Schriftschema (seit 1.55.0) 1:1 von
   der Originalseite modell-lokschuppen.de übernommen: Überschriften Playfair
   Display (normal), Fließtext Lato, Schrift #333332 / Nebentext #4a4a48 (1.56.7: dunkler als das Original-Grau #81817e, besser lesbar), Links und
   Knöpfe #3986a0, Flächen in Grautönen. Bewusst KEIN Rot und kein Gold.
   (Die Variablennamen "bordeaux", "gold", "creme" sind historisch und
   enthalten heute nur noch Grautöne.)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@400;700&family=Source+Sans+3:wght@400;600&family=Merriweather:wght@400;700&family=Lora:wght@400;700&family=Roboto:wght@400;600;700&family=Open+Sans:wght@400;600;700&family=Montserrat:wght@400;600;700&display=swap');

/* "Von admin / Datum" ausblenden: Astra zeigt auf Einzelseiten unserer
   Beitragstypen (Artikel, Katalog) automatisch Autor+Datum an. Das ist für
   ein privates Sammlerarchiv ohne echte "Autoren" irrelevant. */
.single-mlk_modell .entry-meta,
.single-mlk_katalog .entry-meta,
.single-mlk_modell .entry-header .posted-on,
.single-mlk_modell .entry-header .posted-by,
.single-mlk_katalog .entry-header .posted-on,
.single-mlk_katalog .entry-header .posted-by {
	display: none !important;
}

/* Astra-eigene "Vorheriger/Nächster Beitrag"-Navigation unten auf jeder
   einzelnen Katalogseite (Beitragstyp mlk_katalog) - wird NICHT von unserem
   Plugin erzeugt, sondern automatisch vom Theme. Hier ins selbe einheitliche
   grüne Button-Design gebracht wie alle anderen Buttons im Plugin (#3986a0),
   damit es nicht wie ein Fremdkörper wirkt. Die Klassennamen
   (nav.post-navigation, .nav-links, .nav-previous, .nav-next, .ast-post-nav)
   stammen 1:1 aus der tatsächlichen Astra-Ausgabe (per Browser-Inspektor
   geprüft, nicht geraten) - Farbe hier bewusst fest statt über die
   --mlk-knopf-gruen-Variable, weil dieser Navigationsblock außerhalb jedes
   mlk-*-Wrappers liegt und die Variable dort nicht greifen würde. */
.single-mlk_katalog nav.post-navigation {
	margin: 2.5em 0 0;
	padding-top: 1.2em;
	border-top: 1px solid var(--mlk-linie, #7a7a77);
}
.single-mlk_katalog nav.post-navigation .nav-links {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	gap: 12px;
	flex-wrap: nowrap;
}
.single-mlk_katalog nav.post-navigation .nav-previous,
.single-mlk_katalog nav.post-navigation .nav-next {
	flex: 1 1 0;
	min-width: 0;
}
.single-mlk_katalog nav.post-navigation .nav-next {
	text-align: right;
}
.single-mlk_katalog nav.post-navigation a {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	max-width: 100%;
	box-sizing: border-box;
	text-decoration: none;
	font-family: 'Lato', sans-serif;
	color: #fff;
	background-color: #3986a0;
	border-radius: 18px;
	padding: 10px 22px;
	transition: background-color 0.15s;
}
.single-mlk_katalog nav.post-navigation .nav-next a {
	align-items: flex-end;
}
.single-mlk_katalog nav.post-navigation a:hover {
	background-color: #2e6d83;
	color: #fff;
}
.single-mlk_katalog nav.post-navigation .ast-post-nav {
	font-size: 0.85em;
	letter-spacing: 0.04em;
	opacity: 0.85;
}
.single-mlk_katalog nav.post-navigation a p {
	margin: 0;
	font-weight: 700;
	white-space: normal;
	word-break: break-word;
}

.mlk-preissuche,
.mlk-kataloge-archiv,
.mlk-artikelliste,
.mlk-gaestebuch,
.mlk-kontakt-seite,
.mlk-artikel-kontakt,
.mlk-suche,
.mlk-kataloge-nav,
.mlk-sprungmarken,
.mlk-insider,
.mlk-insider-start,
.mlk-suchleiste,
.mlk-baustein-karte,
.mlk-baustein-pdf,
.mlk-zurueck-button,
.mlk-artikel-nummer-anzeige {
	--mlk-bordeaux: #333332;          /* Überschriften, betonte Texte (Original: #333332) */
	--mlk-bordeaux-dunkel: #212121;   /* dunkelste Fläche (Original-Navigation #212121) */
	--mlk-gold: #999999;              /* Akzentlinien (Original-Hintergrund #999999) */
	--mlk-gold-dunkel: #6b6b69;       /* Rahmen/Hover */
	--mlk-creme: #f6f6f6;             /* helle Flächen (Original-Inhaltsfläche) */
	--mlk-creme-dunkel: #8f8f8c;      /* Rahmen und Trennlinien (1.56.9: dunkler, vorher #e2e2e0) */
	--mlk-linie: #7a7a77;             /* Trennstriche zwischen Einträgen */
	--mlk-text: #333332;
	--mlk-grau: #4a4a48;              /* Nebentexte (früher #81817e – zu hell auf Grau) */
	--mlk-inhalt-grau: #c7c7c7;
	--mlk-rahmen-dunkel: #6b6b69;
	--mlk-tabelle-kopf: #6b6b69;
	--mlk-tabelle-streifen: #f0f0f0;
	--mlk-knopf-gruen: #3986a0;       /* Links und Knöpfe (Original-Linkfarbe) */
	--mlk-knopf-gruen-dunkel: #2e6d83;

	/* Kachelgrößen der drei großen Übersichtsraster (Katalogarchiv,
	   Artikelliste-Kategorien, einzelne Artikel-Kacheln) - jede eigene
	   Mindestbreite, damit sie sich unabhängig voneinander anpassen lassen.
	   Eigene Werte am einfachsten über Design -> Anpassen -> Zusätzliches CSS
	   überschreiben, z.B.:
	   .mlk-kataloge-archiv, .mlk-artikelliste { --mlk-katalog-kachel-breite: 320px; --mlk-kategorie-kachel-breite: 220px; --mlk-artikel-kachel-breite: 180px; } */
	--mlk-katalog-kachel-breite: 260px;
	--mlk-kategorie-kachel-breite: 260px;
	--mlk-artikel-kachel-breite: 200px;

	/* Schriften - als Variable, damit sich jede Seite im Design-Editor
	   (Admin -> Lokschuppen Archiv -> Design-Einstellungen) einzeln oder
	   global umstellen lässt. Die Schriftgröße ist bewusst nur EIN Basiswert:
	   Überschriften nutzen von Haus aus em-Werte relativ zu dieser
	   Basisgröße, skalieren also automatisch proportional mit, ohne dass die
	   h1-h4-Hierarchie verloren geht. */
	--mlk-schriftart-text: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;
	--mlk-schriftart-ueberschrift: 'Playfair Display', Georgia, serif;
	--mlk-schriftgroesse-text: 16px;

	font-family: var(--mlk-schriftart-text);
	font-size: var(--mlk-schriftgroesse-text);
	color: var(--mlk-text);
}

.mlk-preissuche h1, .mlk-preissuche h2, .mlk-preissuche h3, .mlk-preissuche h4,
.mlk-kataloge-archiv h1, .mlk-kataloge-archiv h2, .mlk-kataloge-archiv h3, .mlk-kataloge-archiv h4,
.mlk-artikelliste h1, .mlk-artikelliste h2, .mlk-artikelliste h3, .mlk-artikelliste h4,
.mlk-gaestebuch h1, .mlk-gaestebuch h2, .mlk-gaestebuch h3, .mlk-gaestebuch h4,
.mlk-insider h1, .mlk-insider h2, .mlk-insider h3, .mlk-insider h4,
.mlk-insider-start h1, .mlk-insider-start h2, .mlk-insider-start h3, .mlk-insider-start h4 {
	font-family: var(--mlk-schriftart-ueberschrift);
	color: var(--mlk-bordeaux);
	font-weight: 400; /* wie auf der Originalseite */
}

.mlk-preissuche a, .mlk-kataloge-archiv a, .mlk-artikelliste a, .mlk-gaestebuch a, .mlk-kontakt-seite a, .mlk-insider a, .mlk-insider-start a { color: var(--mlk-knopf-gruen); }
.mlk-preissuche a:hover, .mlk-kataloge-archiv a:hover, .mlk-artikelliste a:hover, .mlk-gaestebuch a:hover, .mlk-kontakt-seite a:hover, .mlk-insider a:hover, .mlk-insider-start a:hover { color: var(--mlk-knopf-gruen-dunkel); }

/* Eigenständige Kontaktseite (kein Artikel drumherum) */
.mlk-kontakt-seite .mlk-artikel-kontakt { max-width: 560px; margin: 0; }

/* Buttons: EIN festes, einheitliches Design für ALLE Buttons im Plugin -
   egal ob <a class="wp-block-button__link"> (z.B. der "Zurück"-Button) oder
   <button class="wp-block-button__link"> (Suchen-Buttons, Kontaktformular-
   Absendung). Grund: Astra/Gutenberg stylen <a> und <button> mit derselben
   Klasse unterschiedlich - ein <a> bekommt automatisch die echte Akzentfarbe
   wie beim "weiter zum Katalogarchiv"-Button auf der Startseite, ein
   <button> fällt dagegen auf ein dunkles Standard-Grau zurück. Deshalb hier
   bewusst fest vorgegeben (Farbe exakt wie der Startseiten-Button, per
   Pixelprobe ermittelt: #3986a0), damit wirklich jeder Button im Plugin
   gleich aussieht. Für jeden neuen Button in Zukunft gilt dieselbe Regel:
   einfach die Klasse "wp-block-button__link" verwenden (ggf. zusätzlich zu
   einer eigenen Klasse), dann greift automatisch dieses einheitliche Design -
   kein Button im Plugin bekommt mehr ein eigenes Extra-Design. */
.mlk-preissuche .wp-block-button__link,
.mlk-suchleiste .wp-block-button__link,
.mlk-suche .wp-block-button__link,
.mlk-artikelliste .wp-block-button__link,
.mlk-kataloge-archiv .wp-block-button__link,
.mlk-insider .wp-block-button__link,
.mlk-insider-start .wp-block-button__link,
.mlk-kontakt-submit {
	display: inline-block;
	cursor: pointer;
	border: none;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	text-decoration: none;
	color: #fff;
	background-color: var(--mlk-knopf-gruen);
	border-radius: 999px;
	padding: 12px 28px;
	transition: background-color 0.15s;
}
.mlk-preissuche .wp-block-button__link:hover,
.mlk-suchleiste .wp-block-button__link:hover,
.mlk-suche .wp-block-button__link:hover,
.mlk-artikelliste .wp-block-button__link:hover,
.mlk-kataloge-archiv .wp-block-button__link:hover,
.mlk-insider .wp-block-button__link:hover,
.mlk-insider-start .wp-block-button__link:hover,
.mlk-kontakt-submit:hover {
	background-color: var(--mlk-knopf-gruen-dunkel);
	color: #fff;
}

/* "Zurück"-Button: erscheint oben auf einer Zielseite (z.B. Preisdatenbank),
   wenn man über einen Link mit Rücksprungziel dorthin gekommen ist (z.B. von
   einer Insider-Modell-Karte aus) - generischer Mechanismus, nicht an einen
   bestimmten Shortcode gebunden. Bekommt sein Design oben über die
   "wp-block-button__link"-Regel, hier nur der Zeilenabstand. */
.mlk-zurueck-button { margin: 0 0 1.2em; }

/* Preisdatenbank */
.mlk-preissuche-form { display: flex; gap: 8px; align-items: flex-end; flex-wrap: wrap; margin-bottom: 1.5em; }
.mlk-preissuche-form label { display: block; font-size: 0.9em; color: var(--mlk-grau); margin-bottom: 4px; }
.mlk-preissuche-form input[type="text"] {
	padding: 9px 10px; font-size: 1em; min-width: 220px;
	border: 1px solid var(--mlk-rahmen-dunkel); border-radius: 3px; background: #fff;
}
.mlk-preissuche-form input[type="text"]:focus { outline: none; border-color: var(--mlk-gold-dunkel); }
.mlk-ergebnis-kopf { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 1em; padding-bottom: 1em; border-bottom: 2px solid var(--mlk-rahmen-dunkel); }
.mlk-ergebnis-kopf h4 { color: var(--mlk-text); margin: 0 0 4px; }
.mlk-ergebnis-text { display: flex; flex-direction: column; }
.mlk-artikelbild { max-height: 220px; max-width: 260px; flex-shrink: 0; border: 1px solid var(--mlk-rahmen-dunkel); padding: 4px; background: #fff; }
.mlk-artikel-bezeichnung { margin: 2px 0 0; color: var(--mlk-grau); font-style: italic; }
.mlk-artikel-hinweis { margin: 6px 0 0; color: var(--mlk-grau); font-size: 0.85em; }
@media (max-width: 480px) {
	.mlk-ergebnis-kopf { flex-direction: column; align-items: flex-start; }
	.mlk-artikelbild { max-width: 100%; }
}
/* Wrapper mit Scrollleiste: auf schmalen Bildschirmen (Handy) ist die Tabelle
   nicht in jedem Fall schmaler als das Display zu quetschen, ohne dass Spalten
   wie "Jahr" oder "MwSt." auf wenige Pixel schrumpfen und ihr Text dadurch
   buchstabenweise umbricht. Stattdessen bekommt die Tabelle über min-width
   eine Mindestbreite, bei der jede Spalte genug Platz hat - ist der
   Bildschirm schmaler, scrollt man hier waagerecht statt dass der Kopf
   unleserlich wird. Nur die Bemerkung-Spalte darf weiterhin frei umbrechen
   (table-layout: fixed), damit sie nicht endlos breit wird. */
.mlk-preistabelle-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.mlk-preistabelle { width: 100%; min-width: 560px; border-collapse: collapse; background: #fff; table-layout: fixed; }
.mlk-preistabelle th {
	padding: 10px; text-align: left; background: var(--mlk-tabelle-kopf); color: #fff;
	font-family: var(--mlk-schriftart-ueberschrift, 'Playfair Display', serif); font-weight: 700; white-space: nowrap;
}
.mlk-preistabelle th:nth-child(1) { width: 9%; }
.mlk-preistabelle th:nth-child(2) { width: 13%; }
.mlk-preistabelle th:nth-child(3) { width: 13%; }
.mlk-preistabelle th:nth-child(4) { width: 9%; }
.mlk-preistabelle th:nth-child(5) { width: 11%; }
.mlk-preistabelle th:nth-child(6) { width: 45%; }
.mlk-preistabelle td:nth-child(1),
.mlk-preistabelle td:nth-child(2),
.mlk-preistabelle td:nth-child(3),
.mlk-preistabelle td:nth-child(4),
.mlk-preistabelle td:nth-child(5) { white-space: nowrap; }
@media (max-width: 480px) {
	/* Auf sehr schmalen Handys lieber die ganze Tabelle etwas verkleinern,
	   bevor man sie waagerecht wegscrollen muss. */
	.mlk-preistabelle { min-width: 480px; font-size: 0.9em; }
	.mlk-preistabelle th, .mlk-preistabelle td { padding: 7px 6px; }
}
.mlk-preistabelle td {
	padding: 8px 10px; border-bottom: 1px solid var(--mlk-linie, #7a7a77); text-align: left;
	white-space: normal; word-break: break-word; overflow-wrap: break-word;
}
.mlk-preistabelle tr:nth-child(even) td { background: var(--mlk-tabelle-streifen); }
.mlk-keine-treffer { color: var(--mlk-text); font-style: italic; }

/* Kataloge */
.mlk-kataloge-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--mlk-katalog-kachel-breite, 260px), 1fr)); gap: 28px; }
.mlk-katalog-karte {
	text-align: left; background: #fff; border: 1px solid var(--mlk-creme-dunkel);
	border-radius: 10px; overflow: hidden; display: flex; flex-direction: column;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.15s, transform 0.15s, border-color 0.15s;
}
.mlk-katalog-karte:hover {
	border-color: var(--mlk-gold-dunkel); box-shadow: 0 8px 22px rgba(0,0,0,0.18); transform: translateY(-3px);
}
.mlk-kataloge-archiv .mlk-katalog-karte-link,
.mlk-kataloge-archiv .mlk-katalog-karte-link:visited,
.mlk-kataloge-archiv .mlk-katalog-karte-link:hover,
.mlk-kataloge-archiv .mlk-katalog-karte-link:focus {
	display: block; text-decoration: none !important; color: inherit;
}
.mlk-katalog-bild {
	position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden;
	background: linear-gradient(135deg, var(--mlk-bordeaux) 0%, var(--mlk-bordeaux-dunkel) 100%);
	display: flex; align-items: center; justify-content: center;
}
.mlk-katalog-bild img { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; }
.mlk-katalog-platzhalter { font-size: 3em; line-height: 1; filter: grayscale(0.1) opacity(0.9); }
.mlk-katalog-text { padding: 16px 18px 4px; }
.mlk-kataloge-archiv .mlk-katalog-karte h4,
.mlk-kataloge-archiv .mlk-katalog-karte-link h4 {
	font-family: var(--mlk-schriftart-ueberschrift, 'Playfair Display', serif); font-size: 1.2em; line-height: 1.25;
	color: var(--mlk-bordeaux); margin: 0 0 6px; text-decoration: none !important;
}
.mlk-katalog-meta { font-size: 0.85em; color: var(--mlk-grau); margin: 0; }
.mlk-katalog-anzahl { font-size: 0.85em; color: var(--mlk-grau); margin: 4px 0 0; }
.mlk-katalog-fuss { padding: 12px 18px 18px; margin-top: auto; }
.mlk-kataloge-archiv .mlk-katalog-link {
	display: inline-block; padding: 8px 18px; font-weight: 600; font-size: 0.92em;
	color: #fff !important; text-decoration: none !important; background-color: var(--mlk-knopf-gruen);
	border-radius: 20px; transition: background-color 0.15s;
}
.mlk-kataloge-archiv .mlk-katalog-link:hover { background-color: var(--mlk-knopf-gruen-dunkel); }

/* Einzelkataloge (innerhalb einer Sammlung) */
.mlk-einzelkataloge-ueberschrift { margin-top: 2em; }
.mlk-einzelkataloge-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 16px; margin-top: 1em; }
.mlk-einzelkatalog-karte {
	display: block; text-align: center; text-decoration: none; color: inherit;
	border: 1px solid var(--mlk-creme-dunkel); border-radius: 4px; padding: 12px; background: #fff;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.mlk-einzelkatalog-karte:hover { border-color: var(--mlk-gold-dunkel); box-shadow: 0 2px 10px rgba(0,0,0,0.12); }
.mlk-einzelkatalog-karte img { max-width: 100%; height: auto; }
.mlk-einzelkatalog-platzhalter {
	display: flex; align-items: center; justify-content: center; height: 100px;
	background: var(--mlk-creme); color: var(--mlk-bordeaux); font-weight: bold; border-radius: 4px;
}
.mlk-einzelkatalog-jahr { display: block; margin-top: 8px; font-weight: 600; color: var(--mlk-bordeaux); }

/* Seitenweite Such-Leiste (Shortcode [mlk_suchleiste], automatisch auf
   Artikelseiten, Katalogarchiv, Artikelliste, Preisdatenbank und den
   Insider-Übersichten eingebunden) samt Abgrenzungsstrich danach. */
.mlk-suchleiste { margin: 0 0 1.2em; }
.mlk-suchleiste-form {
	display: flex; gap: 8px; flex-wrap: wrap; align-items: center;
}
.mlk-suchleiste-form input[type="text"] {
	padding: 9px 10px; font-size: 1em; min-width: 260px; flex: 1 1 260px;
	border: 1px solid var(--mlk-creme-dunkel); border-radius: 3px; background: #fff;
}
.mlk-suchleiste-form input[type="text"]:focus { outline: none; border-color: var(--mlk-gold-dunkel); }
.mlk-suchleiste-trenner {
	border: none; border-top: 1px solid var(--mlk-linie, #7a7a77);
	margin: 0 0 1.5em;
}

/* Unauffälliger "Nebenbei"-Knopf (z.B. "Zurück zur vorherigen Seite" /
   "Suche zurücksetzen" neben dem Suchfeld) - bewusst zurückhaltender als
   die kräftigen grünen Haupt-Buttons, aber trotzdem klar im Seitendesign
   (Bordeaux/Gold) statt als reiner Textlink. */
.mlk-leiser-knopf {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 8px 16px; border-radius: 20px;
	background: transparent; border: 1px solid var(--mlk-grau);
	color: var(--mlk-grau) !important; font-weight: 600; font-size: 0.92em;
	text-decoration: none !important; white-space: nowrap;
	transition: border-color 0.15s, color 0.15s, background-color 0.15s;
}
.mlk-leiser-knopf:hover {
	border-color: var(--mlk-bordeaux); color: var(--mlk-bordeaux) !important;
	background: var(--mlk-creme);
}

/* "Bausteine für eigene Seiten" (Block-Patterns, siehe class-mlk-bausteine.php) -
   für von Hand aus normalen WordPress-Bausteinen zusammengesetzte Seiten
   (z. B. Signalbücher), damit sie optisch zum Rest der Seite passen, obwohl
   sie nicht über einen [mlk_...]-Shortcode erzeugt werden. */
.mlk-baustein-karte {
	background: #fff; border: 1px solid var(--mlk-creme-dunkel); border-radius: 10px;
	overflow: hidden; box-shadow: 0 2px 8px rgba(0,0,0,0.08);
	transition: box-shadow 0.15s, transform 0.15s, border-color 0.15s;
}
.mlk-baustein-karte:hover {
	border-color: var(--mlk-gold-dunkel); box-shadow: 0 8px 22px rgba(0,0,0,0.18); transform: translateY(-3px);
}
.mlk-baustein-karte > * { margin-left: 18px; margin-right: 18px; }
.mlk-baustein-karte > *:last-child { margin-bottom: 18px; }
.mlk-baustein-karte .mlk-baustein-bild {
	margin: 0 0 12px; aspect-ratio: 4/3; overflow: hidden;
	background: linear-gradient(135deg, var(--mlk-bordeaux) 0%, var(--mlk-bordeaux-dunkel) 100%);
	display: flex; align-items: center; justify-content: center;
}
.mlk-baustein-bild img { width: 100%; height: 100%; object-fit: cover; display: block; margin: 0; }
/* Noch kein Bild ausgewählt: Platzhalter-Symbol statt leerer Fläche. */
.mlk-baustein-bild:empty::before {
	content: "🚂"; font-size: 2.4em; color: rgba(255,255,255,0.85);
}
.mlk-baustein-karte .wp-block-heading { color: var(--mlk-bordeaux); margin-top: 0; }
.mlk-baustein-karte .wp-block-buttons { margin-left: 18px; margin-right: 18px; }

.mlk-baustein-pdf {
	background: var(--mlk-creme); border: 1px solid var(--mlk-creme-dunkel); border-radius: 10px;
	padding: 18px 20px;
}
.mlk-baustein-pdf .wp-block-heading { color: var(--mlk-bordeaux); margin-top: 0; }

/* Artikelliste */
.mlk-artikelliste-filter { display: flex; gap: 8px; margin-bottom: 1.5em; flex-wrap: wrap; align-items: center; }
.mlk-artikelliste-filter input[type="text"] {
	padding: 9px 10px; font-size: 1em; min-width: 260px;
	border: 1px solid var(--mlk-creme-dunkel); border-radius: 3px; background: #fff;
}
.mlk-artikelliste-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--mlk-artikel-kachel-breite, 200px), 1fr)); gap: 24px; }
.mlk-artikelliste .mlk-artikel-karte,
.mlk-artikelliste .mlk-artikel-karte:visited,
.mlk-artikelliste .mlk-artikel-karte:hover {
	display: block; text-decoration: none !important; color: inherit;
	background: #fff; border: 1px solid var(--mlk-creme-dunkel); border-radius: 10px; overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.15s, transform 0.15s, border-color 0.15s;
}
.mlk-artikel-karte:hover {
	border-color: var(--mlk-gold-dunkel); box-shadow: 0 8px 22px rgba(0,0,0,0.18); transform: translateY(-3px);
}
.mlk-artikel-bild {
	position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden;
	background: linear-gradient(135deg, var(--mlk-bordeaux) 0%, var(--mlk-bordeaux-dunkel) 100%);
	display: flex; align-items: center; justify-content: center;
}
.mlk-artikel-bild img { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; }
.mlk-artikel-platzhalter { font-size: 2.6em; line-height: 1; filter: grayscale(0.1) opacity(0.9); }
.mlk-artikel-text { padding: 14px 16px 18px; }
.mlk-artikelliste .mlk-artikel-karte h4 {
	font-family: var(--mlk-schriftart-ueberschrift, 'Playfair Display', serif); font-size: 1.05em; line-height: 1.25;
	margin: 0 0 4px; color: var(--mlk-bordeaux); text-decoration: none !important;
}
.mlk-artikelnummer { font-size: 0.8em; color: var(--mlk-grau); }
.mlk-artikel-nummer-anzeige {
	display: inline-block; margin: 0 0 1em; padding: 4px 12px; font-size: 0.95em;
	color: var(--mlk-bordeaux); background: var(--mlk-creme); border-radius: 3px;
}

/* Seitenbaum: Themen-Kacheln (Dampfloks, Güterwagen, …) – eckig, im
   neuen Grau/Dunkel-Schema der Seite (statt Bordeaux/Creme/rund). */
.mlk-kategorie-kacheln { display: grid; grid-template-columns: repeat(auto-fill, minmax(var(--mlk-kategorie-kachel-breite, 260px), 1fr)); gap: 28px; margin-top: 1em; }
.mlk-artikelliste .mlk-kategorie-kachel,
.mlk-artikelliste .mlk-kategorie-kachel:visited,
.mlk-artikelliste .mlk-kategorie-kachel:hover {
	display: block; text-decoration: none !important; color: inherit;
	background: #fff; border: 1px solid var(--mlk-creme-dunkel); border-radius: 10px; overflow: hidden;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08); transition: box-shadow 0.15s, transform 0.15s, border-color 0.15s;
}
.mlk-kategorie-kachel:hover {
	border-color: var(--mlk-gold-dunkel); box-shadow: 0 8px 22px rgba(0,0,0,0.18); transform: translateY(-3px);
}
.mlk-kategorie-bild {
	position: relative; width: 100%; aspect-ratio: 4 / 3; overflow: hidden;
	background: linear-gradient(135deg, var(--mlk-bordeaux) 0%, var(--mlk-bordeaux-dunkel) 100%);
	display: flex; align-items: center; justify-content: center;
}
.mlk-kategorie-bild img { width: 100%; height: 100%; object-fit: cover; display: block; border: 0; }
.mlk-kategorie-platzhalter { font-size: 3em; line-height: 1; filter: grayscale(0.1) opacity(0.9); }
.mlk-kategorie-text { padding: 16px 18px 20px; }
.mlk-artikelliste .mlk-kategorie-kachel h4 {
	font-family: var(--mlk-schriftart-ueberschrift, 'Playfair Display', serif); margin: 0 0 6px; color: var(--mlk-bordeaux); font-size: 1.2em; text-decoration: none !important;
}
.mlk-kategorie-anzahl { font-size: 0.85em; color: var(--mlk-grau); margin: 0; }

/* Artikelgalerie (weitere Fotos auf der Einzelartikelseite) */
.mlk-artikel-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin: 1.5em 0; }
.mlk-galerie-bild { display: block; border: 1px solid var(--mlk-creme-dunkel); border-radius: 4px; overflow: hidden; background: #fff; }
.mlk-galerie-bild img { width: 100%; height: auto; display: block; }

/* Kontaktformular am Ende jeder Artikelseite */
.mlk-artikel-kontakt {
	margin-top: 2.5em; padding: 1.5em; max-width: 480px;
	background: var(--mlk-inhalt-grau); border: 1px solid var(--mlk-rahmen-dunkel);
	border-radius: 4px;
}
.mlk-artikel-kontakt h3 { margin: 0 0 0.6em; font-family: var(--mlk-schriftart-ueberschrift, 'Playfair Display', serif); color: var(--mlk-bordeaux); }
.mlk-kontakt-formular p { margin: 0.75em 0; }
.mlk-kontakt-formular input[type="text"],
.mlk-kontakt-formular input[type="email"],
.mlk-kontakt-formular textarea {
	width: 100%; padding: 8px; font-size: 1em; box-sizing: border-box;
	border: 1px solid var(--mlk-rahmen-dunkel); border-radius: 3px; background: #fff;
}
.mlk-hp-feld { position: absolute !important; left: -9999px !important; top: -9999px !important; }
.mlk-kontakt-erfolg { color: var(--mlk-text); font-weight: 700; border-left: 4px solid var(--mlk-knopf-gruen); padding-left: 10px; }
.mlk-kontakt-fehler { color: var(--mlk-text); font-weight: 700; border-left: 4px solid var(--mlk-bordeaux); padding-left: 10px; }

/* Bildanzeige (Lightbox/Slider) für die Artikelgalerie */
.mlk-lightbox {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 100000;
	background: #000;
	align-items: center;
	justify-content: center;
}
.mlk-lightbox.ist-offen { display: flex; }
.mlk-lightbox-buehne {
	max-width: 92vw;
	max-height: 86vh;
	display: flex;
	align-items: center;
	justify-content: center;
}
.mlk-lightbox-bild {
	max-width: 92vw;
	max-height: 86vh;
	display: block;
	border: none;
	background: transparent;
	box-shadow: none;
}
.mlk-lightbox-schliessen,
.mlk-lightbox-zurueck,
.mlk-lightbox-weiter {
	position: fixed;
	background: transparent;
	color: #fff;
	border: none;
	cursor: pointer;
	font-size: 2em;
	line-height: 1;
	padding: 10px 14px;
	opacity: 0.85;
	transition: opacity 0.15s;
}
.mlk-lightbox-schliessen:hover,
.mlk-lightbox-zurueck:hover,
.mlk-lightbox-weiter:hover { opacity: 1; }
.mlk-lightbox-schliessen { top: 20px; right: 20px; }
.mlk-lightbox-zurueck { left: 20px; top: 50%; transform: translateY(-50%); }
.mlk-lightbox-weiter { right: 20px; top: 50%; transform: translateY(-50%); }
.mlk-lightbox-zaehler {
	position: fixed;
	top: 20px;
	left: 20px;
	color: #fff;
	background: transparent;
	padding: 4px 12px;
	font-size: 0.9em;
	opacity: 0.85;
}
@media (max-width: 600px) {
	.mlk-lightbox-schliessen, .mlk-lightbox-zurueck, .mlk-lightbox-weiter { font-size: 1.6em; padding: 8px 10px; }
}

/* Gästebuch */
.mlk-gaestebuch-liste { list-style: none; padding: 0; }
.mlk-gaestebuch-liste li { border-bottom: 1px solid var(--mlk-linie, #7a7a77); padding: 14px 0; }
.mlk-gaestebuch-datum { color: var(--mlk-grau); font-size: 0.85em; margin-left: 8px; }
.mlk-gaestebuch-anzahl { color: var(--mlk-grau); }
.mlk-gaestebuch-intro { margin-bottom: 1.2em; }
/* Seitenzahlen: dezent, gut lesbar – dünner Rahmen, kein Farbklotz.
   Bei Mouse-Kontakt goldenes Glühen, aktive Seite einfach fett. */
.mlk-gaestebuch-pager { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin: 1.5em 0; }
.mlk-gaestebuch-pager a, .mlk-gaestebuch-pager-aktiv {
	display: inline-block; min-width: 28px; text-align: center; box-sizing: border-box;
	padding: 5px 10px; font-size: 0.9em; text-decoration: none;
	border: 1px solid var(--mlk-rahmen-dunkel); border-radius: 3px; background: #fff;
}
.mlk-gaestebuch-pager a { color: var(--mlk-bordeaux); transition: box-shadow 0.15s, border-color 0.15s; }
.mlk-gaestebuch-pager a:hover {
	border-color: var(--mlk-gold-dunkel);
	box-shadow: 0 0 6px var(--mlk-gold);
}
.mlk-gaestebuch-pager-aktiv { color: var(--mlk-text); font-weight: 700; font-size: 1.15em; }

/* Suche (WordPress-eigene Suche, oben auf z.B. jeder Katalogseite einbindbar) */
.mlk-suche { margin: 0 0 1.5em; }
.mlk-suche .search-form { display: flex; gap: 8px; flex-wrap: wrap; }
.mlk-suche .search-field {
	flex: 1; min-width: 200px; padding: 9px 10px; font-size: 1em;
	border: 1px solid var(--mlk-rahmen-dunkel); border-radius: 3px; background: #fff;
}
.mlk-suche .search-submit {
	cursor: pointer; border: none; font-family: 'Lato', sans-serif;
}

/* Vor/Zurück-Navigation zwischen den Katalog-Sammlungsseiten */
.mlk-kataloge-nav {
	display: flex; justify-content: space-between; align-items: center; gap: 12px;
	flex-wrap: wrap; margin: 2em 0; padding-top: 1em;
	border-top: 1px solid var(--mlk-linie, #7a7a77);
}
.mlk-kataloge-nav a {
	color: var(--mlk-bordeaux); text-decoration: none; font-weight: 600;
}
.mlk-kataloge-nav a:hover { color: var(--mlk-gold-dunkel); }
.mlk-kataloge-nav-next { margin-left: auto; text-align: right; }

/* Astras "Nach oben scrollen"-Button farblich ans Seiten-Design angleichen
   (statt des Standard-Blau) - falls die Customizer-Einstellung dafür nicht
   ausreicht oder nicht gefunden wird. */
#scroll-top .ast-scroll-top-icon,
.ast-scroll-top-icon {
	background-color: var(--mlk-grau) !important;
}
#scroll-top:hover .ast-scroll-top-icon,
.ast-scroll-top-icon:hover {
	background-color: var(--mlk-bordeaux) !important;
}

/* Sprungmarken-Leiste oben auf einer Katalogseite (Liste "1927  1929  1930  …") */
.mlk-sprungmarken {
	display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 1.5em;
	padding: 8px 0; background: transparent; border: none;
}
.mlk-sprungmarken a {
	color: var(--mlk-grau); text-decoration: none; font-size: 0.92em; font-weight: 700; white-space: nowrap;
}
.mlk-sprungmarken a:hover { color: var(--mlk-bordeaux); text-decoration: underline; }

/* Insider-Modelle: Karte mit Bild links (falls vorhanden) und Fakten +
   Beschreibung rechts. Ohne Bild rutscht der Text einfach nach links auf,
   kein Platzhalter/kein kaputtes Bild-Icon. */
.mlk-insider-karte {
	display: flex; gap: 20px; align-items: flex-start;
	background: #fff; border: 1px solid var(--mlk-rahmen-dunkel); border-radius: 4px;
	padding: 18px; margin-bottom: 20px;
}
.mlk-insider-bild { flex: 0 0 200px; }
.mlk-insider-bild img { width: 100%; height: auto; display: block; border: 1px solid var(--mlk-creme-dunkel); }
.mlk-insider-zusatzbilder { flex: 0 0 200px; display: flex; flex-wrap: wrap; gap: 6px; }
.mlk-insider-zusatzbild { display: block; border: 1px solid var(--mlk-creme-dunkel); border-radius: 4px; overflow: hidden; }
.mlk-insider-zusatzbild img { width: 60px; height: 60px; object-fit: cover; display: block; }
.mlk-insider-inhalt { flex: 1; min-width: 0; }
.mlk-insider-kopf { margin: 0 0 4px; display: flex; flex-wrap: wrap; gap: 4px 10px; font-size: 0.85em; color: var(--mlk-grau); }
.mlk-insider-jahr { font-weight: 700; color: var(--mlk-bordeaux); }
.mlk-insider-inhalt h4 { margin: 0 0 8px; }
.mlk-insider-beschreibung { line-height: 1.5; }
.mlk-insider-beschreibung p:first-child { margin-top: 0; }
.mlk-insider-fakten { margin: 10px 0 0; font-size: 0.85em; color: var(--mlk-grau); }
.mlk-insider-preislink { margin: 10px 0 0; }
@media (max-width: 600px) {
	.mlk-insider-karte { flex-direction: column; }
	.mlk-insider-bild { flex-basis: auto; max-width: 260px; }
	.mlk-insider-zusatzbilder { flex-basis: auto; }
}

/* Insider-Modelle: präsentative Eingangsseite ([mlk_insider_start]) – zwei
   große klickbare Kacheln (Insider-Modelle / Jahreswagen) mit Bildvorschau
   und Kennzahlen, statt eines bloßen Suchfelds. */
.mlk-insider-start-intro { max-width: 760px; margin: 0 0 1.8em; }
.mlk-insider-start-intro p { line-height: 1.6; font-size: 1.05em; }
.mlk-insider-start-kacheln {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 24px;
}
.mlk-insider-start-kachel {
	display: block; text-decoration: none; color: inherit;
	background: #fff; border: 1px solid var(--mlk-rahmen-dunkel); border-radius: 4px;
	padding: 22px; border-top: 4px solid var(--mlk-bordeaux);
	transition: box-shadow 0.15s, transform 0.15s, border-top-color 0.15s;
}
.mlk-insider-start-kachel:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.18); transform: translateY(-2px); border-top-color: var(--mlk-gold-dunkel);
}
.mlk-insider-start-kachel-leer { border-top-color: var(--mlk-inhalt-grau); cursor: default; }
.mlk-insider-start-kachel-leer:hover { box-shadow: none; transform: none; border-top-color: var(--mlk-inhalt-grau); }
.mlk-insider-start-vorschau {
	display: flex; gap: 6px; margin-bottom: 14px;
}
.mlk-insider-start-vorschau img {
	flex: 1 1 0; width: 100%; height: 86px; object-fit: cover;
	border: 1px solid var(--mlk-creme-dunkel); border-radius: 3px; background: var(--mlk-creme);
}
.mlk-insider-start-kachel h3 { margin: 0 0 6px; }
.mlk-insider-start-stat { margin: 0 0 12px; color: var(--mlk-grau); font-size: 0.95em; }
.mlk-insider-start-link {
	display: inline-block; font-weight: 700; color: var(--mlk-bordeaux);
	border-bottom: 2px solid var(--mlk-gold);
}
.mlk-insider-start-link-deaktiviert {
	color: var(--mlk-grau); border-bottom-color: var(--mlk-inhalt-grau); font-weight: 600; font-style: italic;
}
@media (max-width: 480px) {
	.mlk-insider-start-vorschau img { height: 64px; }
}


/* Stichwortsuche in der Preisdatenbank (seit 1.51.0) */
.mlk-stichwort-info { color: var(--mlk-grau); margin: 0.5em 0; }
.mlk-stichwort-treffer { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--mlk-rahmen-dunkel); }
.mlk-stichwort-treffer li { margin: 0; border-bottom: 1px solid var(--mlk-linie, #7a7a77); }
.mlk-stichwort-treffer a { display: flex; gap: 0.9em; align-items: center; padding: 0.6em 0.4em; text-decoration: none; color: var(--mlk-text); }
.mlk-stichwort-treffer a:hover { background: var(--mlk-tabelle-streifen); }
.mlk-stichwort-bild { flex: 0 0 72px; height: 54px; display: flex; align-items: center; justify-content: center; background: #f4f4f4; }
.mlk-stichwort-bild img { max-width: 72px; max-height: 54px; object-fit: contain; }
.mlk-stichwort-text { display: flex; flex-direction: column; min-width: 0; }
.mlk-stichwort-text strong { color: var(--mlk-bordeaux); }
.mlk-stichwort-name { overflow-wrap: anywhere; }
.mlk-stichwort-meta { font-size: 0.85em; color: var(--mlk-grau); }

/* ===== Preisdatenbank: Suchleiste und Artikel-Steckbrief (seit 1.54.0) ===== */
.mlk-screenreader { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mlk-preissuche-form { display: block; margin-bottom: 1.5em; }
.mlk-suchfeld {
	display: flex; align-items: center; gap: 0;
	background: #fff; border: 2px solid var(--mlk-rahmen-dunkel); border-radius: 999px;
	padding: 4px 4px 4px 16px; box-shadow: 0 2px 6px rgba(0,0,0,.08); transition: border-color .15s, box-shadow .15s;
}
.mlk-suchfeld:focus-within { border-color: var(--mlk-knopf-gruen); box-shadow: 0 0 0 4px rgba(57,134,160,.18); }
.mlk-suchfeld-lupe { color: var(--mlk-grau); flex: 0 0 auto; }
.mlk-preissuche-form .mlk-suchfeld input[type="search"] {
	flex: 1 1 auto; min-width: 0; border: 0 !important; outline: 0 !important; box-shadow: none !important; background: transparent;
	font-size: 1.1em; padding: 10px 12px; color: var(--mlk-text); -webkit-appearance: none; appearance: none;
}
.mlk-suchfeld-knopf {
	flex: 0 0 auto; cursor: pointer; border: 0; border-radius: 999px; padding: 11px 26px;
	background: var(--mlk-knopf-gruen); color: #fff; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 1em;
	transition: background-color .15s;
}
.mlk-suchfeld-knopf:hover, .mlk-suchfeld-knopf:focus { background: var(--mlk-knopf-gruen-dunkel); color: #fff; }
.mlk-such-vorschlaege { margin: .7em 0 0 18px; font-size: .9em; color: var(--mlk-grau); }
.mlk-such-vorschlaege a { display: inline-block; margin: 2px 4px 2px 0; padding: 2px 10px; border-radius: 999px; background: #fff; border: 1px solid #dcdcdc; text-decoration: none; }
.mlk-such-vorschlaege a:hover { border-color: #8a8a8a; }

.mlk-steckbrief {
	--mlk-sb-hell: var(--mlk-creme); --mlk-sb-hell2: #ebebea; --mlk-sb-linie: var(--mlk-creme-dunkel); --mlk-sb-mittel: var(--mlk-gold); --mlk-sb-dunkel: var(--mlk-bordeaux); --mlk-sb-kopf: var(--mlk-tabelle-kopf);
	container-type: inline-size; container-name: steckbrief; background: #fff; border-radius: 10px; box-shadow: 0 2px 10px rgba(0,0,0,.08); overflow: hidden; margin: 0 0 1.5em; }
.mlk-steckbrief-kopf { padding: 22px 26px 18px; border-bottom: 3px solid var(--mlk-sb-mittel); background: var(--mlk-sb-hell); }
.mlk-steckbrief-nummer {
	display: inline-block; font-family: var(--mlk-schriftart-ueberschrift); font-weight: 700; font-size: 1.05em; letter-spacing: .03em;
	color: #fff; background: var(--mlk-sb-dunkel); border-radius: 4px; padding: 3px 12px; margin-bottom: 10px;
}
.mlk-preissuche .mlk-steckbrief-titel { margin: 0; color: var(--mlk-text); font-size: 1.45em; line-height: 1.3; overflow-wrap: anywhere; }

.mlk-steckbrief-haupt { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 28px; padding: 24px 26px; }
.mlk-steckbrief-haupt.ohne-bild { grid-template-columns: 1fr; }
.mlk-steckbrief-hauptbild { position: relative; display: block; border-radius: 8px; overflow: hidden; background: var(--mlk-sb-hell); border: 1px solid var(--mlk-sb-linie); }
.mlk-steckbrief-hauptbild img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; cursor: zoom-in; }
.mlk-steckbrief-bildzahl { position: absolute; right: 10px; bottom: 10px; background: rgba(0,0,0,.75); color: #fff; font-size: .8em; padding: 3px 10px; border-radius: 999px; }
.mlk-steckbrief-thumbs { display: flex; gap: 10px; margin-top: 10px; overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
.mlk-steckbrief-thumbs a { flex: 0 0 96px; height: 72px; border-radius: 6px; overflow: hidden; border: 1px solid var(--mlk-sb-linie); background: var(--mlk-sb-hell); }
.mlk-steckbrief-thumbs a:hover { border-color: var(--mlk-sb-mittel); }
.mlk-steckbrief-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }

.mlk-steckbrief-daten { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.mlk-steckbrief-fakten { margin: 0; display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--mlk-sb-linie); }
.mlk-steckbrief-fakten > div { display: grid; grid-template-columns: 130px 1fr; gap: 10px; padding: 9px 0; border-bottom: 1px solid var(--mlk-sb-linie); }
.mlk-steckbrief-fakten dt { margin: 0; color: var(--mlk-grau); font-size: .9em; }
.mlk-steckbrief-fakten dd { margin: 0; font-weight: 600; color: var(--mlk-text); overflow-wrap: anywhere; }

.mlk-steckbrief-preise-kurz { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 10px; }
.mlk-steckbrief-preise-kurz > div { background: var(--mlk-sb-hell); border-radius: 8px; padding: 10px 12px; display: flex; flex-direction: column; }
.mlk-kz-label { font-size: .78em; text-transform: uppercase; letter-spacing: .05em; color: var(--mlk-grau); }
.mlk-kz-wert { font-family: var(--mlk-schriftart-ueberschrift); font-weight: 700; font-size: 1.2em; color: var(--mlk-sb-dunkel); white-space: nowrap; }
.mlk-kz-zusatz { font-size: .82em; color: var(--mlk-grau); }

.mlk-steckbrief-tags { margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.mlk-steckbrief-tags a { font-size: .88em; padding: 3px 10px; border-radius: 999px; background: var(--mlk-sb-hell2); color: var(--mlk-sb-dunkel); text-decoration: none; }
.mlk-steckbrief-tags a:hover { background: #dcdcda; color: var(--mlk-text); }
.mlk-preissuche .mlk-steckbrief-link a { color: var(--mlk-sb-dunkel); }
.mlk-preissuche .mlk-steckbrief-link a:hover { color: var(--mlk-text); }
.mlk-steckbrief-link { margin: 0; font-weight: 600; }

.mlk-steckbrief-preise { padding: 0 26px 26px; }
.mlk-preissuche .mlk-steckbrief-preise h4 { margin: 0 0 10px; font-size: 1.15em; color: var(--mlk-sb-dunkel); }
.mlk-steckbrief .mlk-preistabelle th { background: var(--mlk-sb-kopf); border-color: var(--mlk-sb-kopf); color: #fff; }
.mlk-preistabelle-responsiv { min-width: 0; }
.mlk-preistabelle .mlk-pt-leer { color: #6b6b69; }

/* Schmaler Inhaltsbereich (Tablet, schmale Theme-Spalte): Bild über den Daten */
@container steckbrief (max-width: 720px) {
	.mlk-steckbrief-haupt { grid-template-columns: 1fr; gap: 20px; }
	.mlk-steckbrief-hauptbild img { max-height: 340px; }
	.mlk-steckbrief-fakten { grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); column-gap: 24px; }
}

/* Handy: kompakter, Preistabelle als Karten */
@media (max-width: 600px) {
	.mlk-suchfeld { padding-left: 12px; }
	.mlk-preissuche-form .mlk-suchfeld input[type="search"] { font-size: 1em; padding: 9px 8px; }
	.mlk-suchfeld-knopf { padding: 10px 16px; }
	.mlk-such-vorschlaege { margin-left: 4px; }
	.mlk-steckbrief { border-radius: 8px; margin-left: -4px; margin-right: -4px; }
}
@container steckbrief (max-width: 560px) {
	.mlk-steckbrief-kopf { padding: 16px 16px 14px; }
	.mlk-preissuche .mlk-steckbrief-titel { font-size: 1.15em; }
	.mlk-steckbrief-haupt { padding: 16px; }
	.mlk-steckbrief-thumbs a { flex-basis: 76px; height: 58px; }
	.mlk-steckbrief-fakten > div { grid-template-columns: 110px 1fr; }
	.mlk-steckbrief-preise-kurz { grid-template-columns: 1fr; gap: 6px; }
	.mlk-steckbrief-preise-kurz > div { flex-direction: row; align-items: baseline; flex-wrap: wrap; gap: 0 8px; padding: 8px 12px; }
	.mlk-steckbrief-preise-kurz .mlk-kz-label { flex: 1 1 auto; }
	.mlk-steckbrief-preise-kurz .mlk-kz-wert { font-size: 1.05em; }
	.mlk-steckbrief-preise { padding: 0 12px 16px; }

	.mlk-preistabelle-responsiv, .mlk-preistabelle-responsiv tbody { display: block; width: 100%; min-width: 0; background: transparent; }
	.mlk-preistabelle-responsiv thead { display: none; }
	.mlk-preistabelle-responsiv tr {
		display: grid; grid-template-columns: auto 1fr auto; column-gap: 12px; row-gap: 2px; align-items: baseline;
		padding: 10px 12px; margin: 0 0 8px; border: 1px solid var(--mlk-sb-linie); border-radius: 8px; background: #fff;
	}
	.mlk-preistabelle-responsiv tr:nth-child(even) td { background: transparent; }
	.mlk-preistabelle-responsiv td { display: block; padding: 0 !important; border: 0 !important; background: transparent; white-space: normal !important; }
	.mlk-preistabelle-responsiv td.mlk-pt-jahr { grid-column: 1; grid-row: 1; font-family: var(--mlk-schriftart-ueberschrift); font-weight: 700; color: var(--mlk-sb-dunkel); }
	.mlk-preistabelle-responsiv td:nth-child(2), .mlk-preistabelle-responsiv td:nth-child(3) { grid-row: 1; text-align: right; font-weight: 700; }
	.mlk-preistabelle-responsiv td:nth-child(2) { grid-column: 2; }
	.mlk-preistabelle-responsiv td:nth-child(3) { grid-column: 3; }
	.mlk-preistabelle-responsiv td:nth-child(2)::after { content: " €"; }
	.mlk-preistabelle-responsiv td:nth-child(3)::after { content: " DM"; }
	.mlk-preistabelle-responsiv td.mlk-pt-leer:nth-child(2), .mlk-preistabelle-responsiv td.mlk-pt-leer:nth-child(3) { display: none; }
	.mlk-preistabelle-responsiv td:nth-child(4), .mlk-preistabelle-responsiv td:nth-child(5) { grid-row: 2; font-size: .9em; color: var(--mlk-grau); }
	.mlk-preistabelle-responsiv td:nth-child(4) { grid-column: 1 / 3; }
	.mlk-preistabelle-responsiv td:nth-child(5) { grid-column: 3; text-align: right; }
	.mlk-preistabelle-responsiv td:nth-child(4)::before { content: "MwSt. "; }
	.mlk-preistabelle-responsiv td:nth-child(5)::before { content: "Katalogseite "; }
	.mlk-preistabelle-responsiv td.mlk-pt-leer:nth-child(4), .mlk-preistabelle-responsiv td.mlk-pt-leer:nth-child(5) { visibility: hidden; }
	.mlk-preistabelle-responsiv td.mlk-pt-bemerkung { grid-column: 1 / -1; grid-row: 3; font-size: .9em; margin-top: 4px; }
	.mlk-preistabelle-responsiv td.mlk-pt-bemerkung.mlk-pt-leer { display: none; }
}

/* ===== Katalogseiten: einheitliche Einträge (seit 1.56.0) =====
   Jeder Katalogeintrag im Seiteninhalt ist ein <div id="…"> mit Bild (oft in
   einem Link) und Text. Egal wie die Einträge ursprünglich formatiert waren
   (Zeile mit Bild links, Kachel wie bei Fleischmann, Bild quer oder hochkant):
   Bild immer in einem gleich großen Rahmen auf 1/3 der Breite, Text rechts. */
.single-mlk_katalog .entry-content div:not([id]):has(> div[id] > a > img, > div[id] > img) {
	display: block !important; /* Kachel-Raster (z. B. Fleischmann) zu Zeilen machen */
}
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	column-gap: 32px; row-gap: 4px;
	align-items: start;
	width: auto !important; max-width: none !important;
	text-align: left !important;
	margin: 0 0 28px !important; padding: 0 0 28px !important;
	border-bottom: 1px solid var(--mlk-linie, #7a7a77);
	scroll-margin-top: 90px;
}
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > a,
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > img {
	grid-column: 1; grid-row: 1;
	display: flex !important; align-items: center; justify-content: center;
	aspect-ratio: 4 / 3; width: 100%;
	background: #f6f6f6; border: 1px solid #e2e2e0; border-radius: 6px;
	overflow: hidden; box-sizing: border-box; padding: 8px;
}
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > a img,
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag) > img {
	max-width: 100% !important; max-height: 100% !important; width: auto !important; height: auto !important;
	object-fit: contain; border: 1px solid #c7c7c7 !important; box-shadow: 0 1px 4px rgba(0,0,0,.12);
	background: #fff; margin: 0 !important;
}
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag) > img { padding: 8px; object-fit: contain; width: 100% !important; height: 100% !important; border: 1px solid #e2e2e0 !important; box-shadow: none; background: #f6f6f6; }
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img) > a:hover { border-color: #999999; }
/* Text rechts */
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > :not(a):not(img) {
	grid-column: 2; grid-row: 1; min-width: 0 !important; flex: none !important; margin: 0 !important;
	font-size: 1em !important; text-align: left !important;
}
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) p { margin: 0 0 6px !important; color: #333332 !important; line-height: 1.5; }
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) p strong,
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > p:first-of-type:only-of-type {
	display: block; font-family: 'Playfair Display', Georgia, serif !important; font-weight: 400 !important; font-size: 1.3em !important; line-height: 1.3; color: #333332 !important;
}
.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > div > p + p { color: var(--mlk-grau, #4a4a48) !important; }

/* ===== Handy-Feinschliff (seit 1.56.1) ===== */
@media (max-width: 600px) {
	/* Sprungmarken (z. B. 33 Links auf einer Katalogseite) nicht als
	   halbseitiger Block, sondern als eine wischbare Zeile mit Tipp-Flächen. */
	.mlk-sprungmarken {
		flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
		gap: 8px; padding: 4px 0 10px; margin-bottom: 1.2em;
		-webkit-mask-image: linear-gradient(to right, #000 85%, transparent); mask-image: linear-gradient(to right, #000 85%, transparent);
		scrollbar-width: none;
	}
	.mlk-sprungmarken::-webkit-scrollbar { display: none; }
	.mlk-sprungmarken a {
		flex: 0 0 auto; scroll-snap-align: start; white-space: nowrap;
		padding: 7px 14px; border-radius: 999px; font-size: .9em; line-height: 1.2;
		background: #f6f6f6; border: 1px solid #e2e2e0; color: var(--mlk-text, #333332) !important; text-decoration: none !important;
	}
	/* Vor-/Zurück-Knöpfe unter Katalogseiten untereinander statt gequetscht */
	.single-mlk_katalog nav.post-navigation .nav-links { flex-direction: column; }
	.single-mlk_katalog nav.post-navigation .nav-next { text-align: left; }
	.single-mlk_katalog nav.post-navigation a { width: 100%; }
	.single-mlk_katalog nav.post-navigation .nav-next a { align-items: flex-end; }

}
}

/* ===== Katalogseiten: Einträge ohne PDF-Link markieren (seit 1.56.3) =====
   Nur für angemeldete Benutzer (body.logged-in) sichtbar – Besucher sehen nichts
   davon. Erfasst Einträge, deren Bild nicht verlinkt ist oder deren Link leer
   bzw. nur "#" ist. */
body.logged-in.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> img),
body.logged-in.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img):not(:has(> a[href^="http"])) {
	outline: 3px dashed #3986a0; outline-offset: 6px; border-radius: 4px;
}
body.logged-in.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> img)::after,
body.logged-in.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img):not(:has(> a[href^="http"]))::after {
	content: "Kein PDF-Link hinterlegt – Bild ist nicht anklickbar (Hinweis nur für dich sichtbar)";
	grid-column: 1 / -1; grid-row: 2; margin-top: 10px;
	padding: 6px 10px; border-radius: 4px; background: #3986a0; color: #fff; font-size: .85em; font-weight: 700;
}

/* ===== Katalogeinträge auf dem Handy (seit 1.56.4) =====
   Wie auf der alten Seite: zentrierte Überschrift, darunter die Beschreibung,
   darunter das Cover in voller Breite (statt Bild links / Text rechts). */
@media (max-width: 600px) {
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) {
		grid-template-columns: minmax(0, 1fr) !important; row-gap: 14px;
		margin: 0 0 26px !important; padding: 0 0 26px !important;
	}
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > :not(a):not(img) { grid-column: 1; grid-row: 1; }
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > a,
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > img {
		grid-column: 1; grid-row: 2; aspect-ratio: auto; width: 100% !important; height: auto !important;
		padding: 0; background: transparent; border: 0; border-radius: 0; display: block !important;
	}
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > a img,
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag) > img {
		display: block; width: 100% !important; height: auto !important; max-height: none !important;
		padding: 0 !important; background: transparent; border: 1px solid #c7c7c7 !important;
	}
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) p strong,
	.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img, > img) > p:first-of-type:only-of-type {
		text-align: center; font-size: 1.45em !important; line-height: 1.25; margin-bottom: 6px;
	}
	/* Hinweis "kein PDF-Link" unter dem Bild */
	body.logged-in.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> img)::after,
	body.logged-in.single-mlk_katalog .entry-content div[id]:not(.mlk-katalog-eintrag):has(> a > img):not(:has(> a[href^="http"]))::after { grid-row: 3; }
}

/* ===== Handy-Ansicht aller Seiten (seit 1.56.5) =====
   Grundsatz: auf dem Handy nicht das Desktop-Layout verkleinern, sondern eine
   Spalte – Überschrift oben, Bild in voller Breite, Text darunter, Knöpfe
   groß genug zum Antippen, Eingabefelder mind. 16 px (sonst zoomt das iPhone). */
@media (max-width: 600px) {
	/* Suchleiste (Artikelliste, Katalogarchiv, Artikel-, Katalog- und Insiderseiten) */
	.mlk-suchleiste-form { flex-wrap: wrap; gap: 8px; }
	.mlk-suchleiste-form input[type="text"] {
		flex: 1 1 100%; min-width: 0; box-sizing: border-box; font-size: 16px;
		padding: 12px 18px; border: 2px solid #6b6b69; border-radius: 999px;
	}
	.mlk-suchleiste-form .wp-block-button__link,
	.mlk-suchleiste-form .mlk-leiser-knopf { flex: 1 1 0; justify-content: center; text-align: center; padding: 11px 16px; white-space: normal; }

	/* Kachel-Übersichten: eine Karte pro Zeile, Bild groß oben, Titel darunter */
	.mlk-artikelliste-grid, .mlk-kategorie-kacheln, .mlk-kataloge-grid { grid-template-columns: 1fr !important; gap: 18px !important; }
	.mlk-artikel-karte:hover, .mlk-kategorie-kachel:hover, .mlk-katalog-karte:hover { transform: none; }
	.mlk-artikel-text, .mlk-kategorie-text { padding: 14px 16px 16px; }
	.mlk-katalog-text { padding: 14px 16px 4px; }
	.mlk-artikelliste .mlk-artikel-karte h4,
	.mlk-artikelliste .mlk-kategorie-kachel h4,
	.mlk-kataloge-archiv .mlk-katalog-karte h4,
	.mlk-kataloge-archiv .mlk-katalog-karte-link h4 { font-size: 1.25em; line-height: 1.3; }
	.mlk-katalog-fuss { padding: 10px 16px 16px; }
	.mlk-katalog-fuss a { display: block; text-align: center; }

	/* Einzelkataloge einer Sammlung und Artikelgalerie: zwei große Spalten */
	.mlk-einzelkataloge-grid, .mlk-artikel-galerie { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }

	/* Insider-Modelle: Kopf + Titel oben, Bild in voller Breite, dann Text */
	.mlk-insider-karte { display: flex; flex-direction: column; align-items: stretch; gap: 12px; padding: 16px; }
	.mlk-insider-inhalt { display: contents; }
	.mlk-insider-kopf { order: 1; justify-content: center; margin: 0; }
	.mlk-insider-inhalt h4 { order: 2; text-align: center; font-size: 1.3em; line-height: 1.3; margin: 0; }
	.mlk-insider-bild { order: 3; flex: none; max-width: none; width: 100%; }
	.mlk-insider-zusatzbilder { order: 4; flex: none; flex-wrap: nowrap; overflow-x: auto; gap: 8px; }
	.mlk-insider-zusatzbild { flex: 0 0 auto; }
	.mlk-insider-zusatzbild img { width: 84px; height: 84px; }
	.mlk-insider-beschreibung { order: 5; }
	.mlk-insider-fakten { order: 6; margin: 0; }
	.mlk-insider-preislink { order: 7; margin: 0; }
	.mlk-insider-preislink .wp-block-button, .mlk-insider-preislink .wp-block-button__link { display: block; width: 100%; text-align: center; box-sizing: border-box; }

	/* Preisdatenbank: Artikel-Kopf zentriert wie die Katalogeinträge */
	.mlk-steckbrief-kopf { text-align: center; }
	.mlk-preissuche .mlk-steckbrief-titel { font-size: 1.3em !important; }
	/* Stichwort-Treffer: größere Vorschaubilder */
	.mlk-stichwort-bild { flex-basis: 96px; height: 72px; }
	.mlk-stichwort-bild img { max-width: 96px; max-height: 72px; }
	.mlk-preissuche-form .mlk-suchfeld input[type="search"] { font-size: 16px; }

	/* Gästebuch: Formular in voller Breite, Seitenzahlen gut antippbar */
	.mlk-gaestebuch .comment-form label { display: block; margin-bottom: 4px; }
	.mlk-gaestebuch .comment-form input[type="text"],
	.mlk-gaestebuch .comment-form input[type="email"],
	.mlk-gaestebuch .comment-form input[type="url"],
	.mlk-gaestebuch .comment-form textarea { display: block; width: 100% !important; max-width: 100%; box-sizing: border-box; font-size: 16px; padding: 10px; }
	.mlk-gaestebuch-pager a, .mlk-gaestebuch-pager-aktiv { min-width: 40px; padding: 9px 12px; }
	.mlk-gaestebuch .comment-form input[type="submit"] {
		width: 100%; cursor: pointer; border: 0; border-radius: 999px; padding: 12px 20px;
		background: var(--mlk-knopf-gruen); color: #fff; font-family: 'Lato', sans-serif; font-weight: 700; font-size: 1em;
	}

	/* Kontaktformulare */
	.mlk-artikel-kontakt { padding: 1.1em; max-width: none; }
	.mlk-kontakt-formular input[type="text"], .mlk-kontakt-formular input[type="email"], .mlk-kontakt-formular textarea { font-size: 16px; padding: 10px; }
	.mlk-kontakt-formular .mlk-kontakt-submit, .mlk-kontakt-formular button[type="submit"] { width: 100%; }
}

/* ===== "Nach oben"-Pfeil (seit 1.56.6, 1.56.7 ohne "hängenbleibende" Farbe) =====
   Theme-Regeln für button:hover/:focus (Astra: dunkler Grund, gelbe Schrift)
   werden bewusst überschrieben. Auf Touch-Geräten gibt es keinen Hover – die
   dunklere Farbe erscheint nur im Moment des Antippens (:active). */
button.mlk-nach-oben,
button.mlk-nach-oben:hover,
button.mlk-nach-oben:focus,
button.mlk-nach-oben:visited {
	position: fixed; right: 16px; bottom: 20px; z-index: 9990;
	width: 46px; height: 46px; padding: 0; border: 0 !important; border-radius: 10px; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	background: #6b6b69 !important; color: #fff !important; box-shadow: 0 3px 10px rgba(0,0,0,.25) !important;
	outline: none; -webkit-tap-highlight-color: transparent;
}
button.mlk-nach-oben {
	opacity: 0; visibility: hidden; transform: translateY(12px);
	transition: opacity .2s, transform .2s, visibility .2s, background-color .12s;
}
button.mlk-nach-oben.ist-sichtbar { opacity: .92; visibility: visible; transform: none; }
button.mlk-nach-oben svg { stroke: #fff; color: #fff; }
@media (hover: hover) {
	button.mlk-nach-oben:hover { background: #333332 !important; opacity: 1; }
}
button.mlk-nach-oben:active { background: #333332 !important; }
button.mlk-nach-oben:focus-visible { outline: 3px solid #3986a0; outline-offset: 2px; }
@media (max-width: 600px) {
	button.mlk-nach-oben, button.mlk-nach-oben:hover, button.mlk-nach-oben:focus { right: 14px; bottom: calc(18px + env(safe-area-inset-bottom, 0px)); width: 48px; height: 48px; }
}
@media print { .mlk-nach-oben { display: none !important; } }

/* ===== Gesamtsuche über die ganze Seite (seit 1.56.8) ===== */
.mlk-gesamtsuche-sprung { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 1.4em; }
.mlk-gesamtsuche-sprung a {
	padding: 6px 14px; border-radius: 999px; background: #f6f6f6; border: 1px solid #e2e2e0;
	color: var(--mlk-text, #333332) !important; text-decoration: none !important; font-size: .95em;
}
.mlk-gesamtsuche-sprung a:hover { border-color: #6b6b69; }
.mlk-artikelliste .mlk-gesamtsuche-bereich { margin: 1.6em 0 .7em; padding-bottom: 6px; border-bottom: 2px solid #999999; scroll-margin-top: 90px; }
.mlk-gesamtsuche .mlk-stichwort-treffer { margin-bottom: 1em; border-top: 0; }
.mlk-gesamtsuche .mlk-stichwort-text strong { color: var(--mlk-text, #333332); }
@media (max-width: 600px) {
	.mlk-gesamtsuche-sprung a { flex: 1 1 100%; text-align: center; padding: 9px 14px; }
}

/* ===== Katalogeinträge als Datensätze (seit 1.57.0) – [mlk_kataloge_liste] =====
   PC/Tablet: Cover links (1/3), Text rechts. Handy: Überschrift zentriert,
   Beschreibung, Cover in voller Breite darunter. */
.mlk-katalog-liste { margin: 0 0 2em; }
.mlk-katalog-liste .mlk-ke-abschnitt { margin: 1.6em 0 .9em; padding-bottom: 6px; border-bottom: 2px solid var(--mlk-linie, #7a7a77); font-family: var(--mlk-schriftart-ueberschrift, 'Playfair Display', serif); font-weight: 400; color: var(--mlk-text, #333332); }
.mlk-ke-zwischentext { margin: 1.4em 0 1em; }
.mlk-katalog-eintrag {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); column-gap: 32px; align-items: start;
	margin: 0 0 28px; padding: 0 0 28px; border-bottom: 1px solid var(--mlk-linie, #7a7a77); scroll-margin-top: 90px;
}
.mlk-katalog-eintrag .mlk-ke-bild {
	display: flex; align-items: center; justify-content: center; aspect-ratio: 4 / 3; width: 100%;
	background: #f6f6f6; border: 1px solid var(--mlk-creme-dunkel, #8f8f8c); border-radius: 6px; overflow: hidden; box-sizing: border-box; padding: 8px;
}
.mlk-katalog-eintrag a.mlk-ke-bild:hover { border-color: var(--mlk-text, #333332); }
.mlk-katalog-eintrag .mlk-ke-bild img {
	max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; display: block; margin: 0;
	border: 1px solid #c7c7c7; box-shadow: 0 1px 4px rgba(0,0,0,.12); background: #fff;
}
.mlk-katalog-eintrag .mlk-ke-text { grid-column: 2; min-width: 0; }
.mlk-katalog-eintrag .mlk-ke-titel {
	margin: 0 0 6px; font-family: var(--mlk-schriftart-ueberschrift, 'Playfair Display', serif); font-weight: 400;
	font-size: 1.35em; line-height: 1.3; color: var(--mlk-text, #333332);
}
.mlk-katalog-eintrag .mlk-ke-titel a { color: inherit !important; text-decoration: none !important; }
.mlk-katalog-eintrag .mlk-ke-titel a:hover { text-decoration: underline !important; }
.mlk-katalog-eintrag .mlk-ke-beschreibung { color: var(--mlk-grau, #4a4a48); line-height: 1.55; }
.mlk-katalog-eintrag .mlk-ke-pdf { margin: 10px 0 0; }
.mlk-katalog-eintrag .mlk-ke-pdf a {
	display: inline-block; padding: 7px 18px; border-radius: 999px; background: var(--mlk-knopf-gruen, #3986a0);
	color: #fff !important; text-decoration: none !important; font-weight: 700; font-size: .92em;
}
.mlk-katalog-eintrag .mlk-ke-pdf a:hover { background: var(--mlk-knopf-gruen-dunkel, #2e6d83); }
.mlk-katalog-eintrag .mlk-ke-hinweis { margin: 10px 0 0; padding: 6px 10px; border-radius: 4px; background: #3986a0; color: #fff; font-size: .85em; font-weight: 700; }
.mlk-katalog-eintrag .mlk-ke-hinweis a { color: #fff !important; }
@media (max-width: 600px) {
	.mlk-katalog-eintrag { grid-template-columns: minmax(0, 1fr); row-gap: 14px; margin-bottom: 26px; padding-bottom: 26px; }
	.mlk-katalog-eintrag .mlk-ke-text { grid-column: 1; grid-row: 1; }
	.mlk-katalog-eintrag .mlk-ke-bild { grid-column: 1; grid-row: 2; aspect-ratio: auto; padding: 0; background: transparent; border: 0; border-radius: 0; display: block; }
	.mlk-katalog-eintrag .mlk-ke-bild img { width: 100%; height: auto; max-height: none; }
	.mlk-katalog-eintrag .mlk-ke-titel { text-align: center; font-size: 1.45em; }
	.mlk-katalog-eintrag .mlk-ke-pdf { text-align: center; }
	.mlk-katalog-eintrag .mlk-ke-pdf a { display: block; padding: 11px 18px; }
	.mlk-katalog-liste .mlk-ke-abschnitt { text-align: center; }
}

/* ===== Von der alten Seite übernommene Seiten (seit 1.58.0) ===== */
.mlk-alt-inhalt { color: var(--mlk-text, #333332); line-height: 1.6; }
.mlk-alt-inhalt h2 { font-family: 'Playfair Display', Georgia, serif; font-weight: 400; margin: 1.2em 0 .5em; }
.mlk-alt-inhalt hr.mlk-alt-linie { border: 0; border-top: 1px solid var(--mlk-linie, #7a7a77); margin: 1.6em 0; clear: both; }
.mlk-alt-inhalt img { max-width: 100%; height: auto; }
.mlk-alt-inhalt .mlk-alt-bild { margin: 0 0 1em; }
.mlk-alt-inhalt .mlk-alt-bild-neben { float: left; max-width: 38%; margin: 0 24px 12px 0; }
.mlk-alt-inhalt .mlk-alt-bild figcaption { font-size: .9em; color: var(--mlk-grau, #4a4a48); margin-top: 4px; }
.mlk-alt-inhalt .mlk-alt-clear { clear: both; }
.mlk-alt-inhalt .mlk-alt-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin: 0 0 1em; }
.mlk-alt-inhalt .mlk-alt-galerie img { width: 100%; height: 140px; object-fit: cover; border: 1px solid var(--mlk-creme-dunkel, #8f8f8c); }
.mlk-alt-inhalt .mlk-alt-raster { display: flex; flex-wrap: nowrap; gap: 14px; align-items: flex-start; margin: 0 0 .8em; }
.mlk-alt-inhalt .mlk-alt-spalte { flex: 1 1 0; min-width: 0; }
.mlk-alt-inhalt .mlk-alt-bild img { width: 100%; }
.mlk-alt-inhalt .mlk-alt-spalte > :last-child { margin-bottom: 0; }
.mlk-alt-inhalt .mlk-alt-spalte .mlk-alt-bild { margin: 0; }
.mlk-alt-inhalt a { overflow-wrap: anywhere; }
@media (max-width: 600px) {
	.mlk-alt-inhalt .mlk-alt-bild-neben { float: none; max-width: 100%; margin: 0 0 12px; }
	.mlk-alt-inhalt .mlk-alt-raster { flex-direction: column; gap: 6px; }
	.mlk-alt-inhalt .mlk-alt-spalte { flex: none !important; width: 100%; }
	.mlk-alt-inhalt .mlk-alt-galerie { grid-template-columns: repeat(2, 1fr); }
	.mlk-alt-inhalt .mlk-alt-galerie img { height: 120px; }
	.mlk-alt-inhalt h2 { font-size: 1.35em; }
}
.mlk-alt-inhalt .mlk-alt-pdf { margin: 8px 0 0; }
.mlk-alt-inhalt .mlk-alt-pdf a { display: inline-block; background: var(--mlk-knopf-gruen, #3986a0); color: #fff !important; text-decoration: none !important; padding: 7px 16px; border-radius: 999px; font-weight: 600; font-size: .92em; }
.mlk-alt-inhalt .mlk-alt-pdf a:hover { background: var(--mlk-knopf-gruen-dunkel, #2e6d83); }
@media (max-width: 600px) { .mlk-alt-inhalt .mlk-alt-pdf a { display: block; text-align: center; padding: 10px 16px; } }

/* ==========================================================================
   1.62.0 – Umschaltleiste der Insider-Seiten
   ========================================================================== */
.mlk-insider-umschalter {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 22px;
}
.mlk-insider-umschalter a,
.mlk-insider-umschalter span {
	display: inline-block;
	padding: 8px 18px;
	border-radius: 999px;
	font-family: var(--mlk-schriftart-text);
	font-size: 16px;
	line-height: 1.3;
	text-decoration: none;
	border: 1px solid var(--mlk-knopf-gruen, #3986a0);
}
.mlk-insider-umschalter a { color: var(--mlk-knopf-gruen, #3986a0); background: #f6f6f6; }
.mlk-insider-umschalter a:hover,
.mlk-insider-umschalter a:focus { color: #fff; background: var(--mlk-knopf-gruen, #3986a0); }
.mlk-insider-umschalter-aktiv { color: #fff; background: var(--mlk-knopf-gruen-dunkel, #2e6d83); border-color: var(--mlk-knopf-gruen-dunkel, #2e6d83) !important; }
@media (max-width: 600px) {
	.mlk-insider-umschalter { flex-direction: column; }
	.mlk-insider-umschalter a,
	.mlk-insider-umschalter span { display: block; text-align: center; padding: 12px 16px; }
}

/* ==========================================================================
   1.62.0 – Hauptmenü (Astra) in den Farben der Originalseite
   Leiste #212121, Schrift hellgrau, aktiver Punkt weiß mit blauer Linie
   (#3986a0) – kein Gelb/Gold. Untermenüs dunkel statt weiß.
   ========================================================================== */
@media (min-width: 922px) {
	.main-header-menu .menu-item > .menu-link,
	.ast-builder-menu-1 .main-header-menu .menu-item > .menu-link {
		color: #e6e6e4;
	}
	.main-header-menu .menu-item:hover > .menu-link,
	.main-header-menu .menu-item > .menu-link:focus,
	.main-header-menu .current-menu-item > .menu-link,
	.main-header-menu .current-menu-ancestor > .menu-link,
	.main-header-menu .current_page_item > .menu-link,
	.main-header-menu .current_page_ancestor > .menu-link,
	.ast-builder-menu-1 .main-header-menu .menu-item:hover > .menu-link,
	.ast-builder-menu-1 .main-header-menu .current-menu-item > .menu-link,
	.ast-builder-menu-1 .main-header-menu .current-menu-ancestor > .menu-link {
		color: #ffffff !important;
	}
	.main-header-menu .menu-item .ast-menu-toggle,
	.main-header-menu .menu-item .dropdown-menu-toggle { color: inherit; }

	/* aktiver Punkt: weiße Schrift + blaue Linie unten statt gelber Schrift */
	.ast-builder-menu-1 .main-header-menu > .menu-item > .menu-link { box-shadow: inset 0 -3px 0 transparent; transition: box-shadow .15s, color .15s; }
	.ast-builder-menu-1 .main-header-menu > .current-menu-item > .menu-link,
	.ast-builder-menu-1 .main-header-menu > .current-menu-ancestor > .menu-link,
	.ast-builder-menu-1 .main-header-menu > .current_page_item > .menu-link,
	.ast-builder-menu-1 .main-header-menu > .current_page_ancestor > .menu-link,
	.ast-builder-menu-1 .main-header-menu > .menu-item:hover > .menu-link {
		box-shadow: inset 0 -3px 0 var(--mlk-knopf-gruen, #3986a0);
	}
	/* Untermenü: dunkel wie die Leiste, gut lesbar */
	.ast-builder-menu-1 .main-header-menu .sub-menu,
	.main-header-menu .sub-menu {
		background: #212121 !important;
		border: 0 !important;
		border-top: 3px solid var(--mlk-knopf-gruen, #3986a0) !important;
		box-shadow: 0 6px 16px rgba(0, 0, 0, .35);
		min-width: 260px;
		padding: 6px 0;
	}
	.ast-builder-menu-1 .main-header-menu .sub-menu .menu-item > .menu-link,
	.main-header-menu .sub-menu .menu-item > .menu-link {
		color: #e6e6e4 !important;
		background: transparent !important;
		padding: 10px 20px;
		line-height: 1.35;
		white-space: normal;
		border: 0 !important;
	}
	.ast-builder-menu-1 .main-header-menu .sub-menu .menu-item:hover > .menu-link,
	.ast-builder-menu-1 .main-header-menu .sub-menu .menu-item > .menu-link:focus,
	.main-header-menu .sub-menu .menu-item:hover > .menu-link {
		color: #ffffff !important;
		background: #333332 !important;
	}
	.ast-builder-menu-1 .main-header-menu .sub-menu .current-menu-item > .menu-link,
	.ast-builder-menu-1 .main-header-menu .sub-menu .current_page_item > .menu-link,
	.main-header-menu .sub-menu .current-menu-item > .menu-link {
		color: #ffffff !important;
		background: #333332 !important;
		box-shadow: inset 3px 0 0 var(--mlk-knopf-gruen, #3986a0);
	}
}

/* Handy-Menü: aktiver Punkt in Linkblau statt Gelb, Untermenü eingerückt */
@media (max-width: 921px) {
	.ast-mobile-header-content .main-header-menu .current-menu-item > .menu-link,
	.ast-mobile-header-content .main-header-menu .current-menu-ancestor > .menu-link,
	.ast-mobile-header-content .main-header-menu .current_page_item > .menu-link,
	.ast-builder-menu-mobile .main-header-menu .current-menu-item > .menu-link {
		color: var(--mlk-knopf-gruen, #3986a0) !important;
		font-weight: 700;
	}
	.ast-mobile-header-content .main-header-menu .sub-menu .menu-link { padding-left: 32px; }
}

/* ==========================================================================
   1.63.0 – Mehrfach vergebene Nummern
   ========================================================================== */
.mlk-varianten-hinweis {
	background: #f6f6f6;
	border-left: 4px solid var(--mlk-knopf-gruen, #3986a0);
	padding: 10px 14px;
	margin: 0 0 14px;
	font-size: 15px;
}
.mlk-varianten-hinweis p { margin: 0 0 6px; }
.mlk-varianten-hinweis ul { margin: 0; padding-left: 18px; }
.mlk-varianten-hinweis li { margin: 2px 0; }
.mlk-varianten-zeit { display: inline-block; min-width: 92px; font-weight: 700; }
.mlk-varianten-extra { color: var(--mlk-grau, #4a4a48); }
.mlk-preistabelle tr.mlk-pt-variante td {
	background: #e9eef0 !important;
	color: var(--mlk-text, #333332);
	font-weight: 700;
	font-family: var(--mlk-schriftart-ueberschrift);
	border-top: 2px solid var(--mlk-knopf-gruen, #3986a0) !important;
}
@media (max-width: 600px) {
	.mlk-preistabelle-responsiv tr.mlk-pt-variante { display: block; border: 0; background: transparent; padding: 14px 0 4px; margin: 0; }
	.mlk-preistabelle-responsiv tr.mlk-pt-variante td { display: block; background: transparent !important; border: 0 !important; border-bottom: 2px solid var(--mlk-knopf-gruen, #3986a0) !important; padding: 0 0 4px !important; }
	.mlk-varianten-zeit { display: block; min-width: 0; }
}
