/* Mittagstisch-Termine – Darstellung der Bausteine */
:root {
	--mt-blau: var(--wp--preset--color--lions-blau, #15327E);
	--mt-nacht: var(--wp--preset--color--nachtblau, #0E2259);
	--mt-gelb: var(--wp--preset--color--lions-gelb, #F5C200);
	--mt-text: var(--wp--preset--color--text, #1A1F2E);
	--mt-grau: var(--wp--preset--color--grau, #4A5163);
	--mt-linie: var(--wp--preset--color--linie, #E3E6EE);
	--mt-hell: var(--wp--preset--color--hell, #F5F6FA);
	--mt-display: var(--wp--preset--font-family--archivo, "Archivo", system-ui, sans-serif);
	--mt-radius: 8px;
}

.mt-wrap { max-width: 1240px; margin: 0 auto; padding-left: clamp(16px, 4vw, 32px); padding-right: clamp(16px, 4vw, 32px); box-sizing: border-box; }
.mt-muted { color: var(--mt-grau); }
.mt-strong { font-weight: 600; }
.mt-klein { font-size: 0.875rem; color: var(--mt-grau); }
.mt-eyebrow { font-family: var(--mt-display); font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mt-grau); margin: 0 0 0.5rem; }
.mt-h2 { font-family: var(--mt-display); font-weight: 800; font-size: clamp(1.75rem, 3vw, 2.375rem); line-height: 1.12; color: var(--mt-blau); margin: 0 0 0.75rem; }
.mt-h3 { font-family: var(--mt-display); font-weight: 800; font-size: 1.5rem; color: var(--mt-blau); margin: 0 0 0.5rem; }
.mt-icon { flex-shrink: 0; vertical-align: -0.2em; }

/* Buttons */
.mt-btn { display: inline-flex; align-items: center; gap: 0.5rem; min-height: 44px; box-sizing: border-box; padding: 0.7rem 1.4rem; border-radius: 6px; border: 2px solid var(--mt-blau); background: var(--mt-blau); color: #fff !important; font-weight: 700; text-decoration: none !important; line-height: 1.2; cursor: pointer; font-size: 1rem; font-family: inherit; }
.mt-btn:hover, .mt-btn:focus-visible { background: var(--mt-nacht); border-color: var(--mt-nacht); }
.mt-btn--klein { background: transparent; color: var(--mt-blau) !important; padding: 0.5rem 1rem; font-weight: 600; }
.mt-btn--klein:hover, .mt-btn--klein:focus-visible { background: var(--mt-hell); color: var(--mt-nacht) !important; }
.mt-btn--gelb { background: var(--mt-gelb); border-color: var(--mt-gelb); color: var(--mt-nacht) !important; }
.mt-btn--gelb:hover, .mt-btn--gelb:focus-visible { background: #FFD43B; border-color: #FFD43B; }
.mt-btn--linie { background: transparent; border-color: #fff; color: #fff !important; }
.mt-btn--linie:hover, .mt-btn--linie:focus-visible { background: rgba(255,255,255,0.12); border-color: #fff; }
.mt-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin-top: 1.25rem; }
.mt-link-hell { color: #fff !important; font-weight: 600; }

/* Hero */
.mt-hero { background: var(--mt-blau); color: #fff; }
.mt-hero__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 440px), 1fr)); gap: clamp(28px, 5vw, 56px); align-items: center; padding-top: clamp(40px, 7vw, 72px); padding-bottom: clamp(44px, 7vw, 80px); }
.mt-badge { display: inline-block; background: var(--mt-gelb); color: var(--mt-nacht); font-family: var(--mt-display); font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; padding: 0.35rem 0.75rem; border-radius: 4px; }
.mt-hero__datum { font-family: var(--mt-display); font-weight: 700; font-size: clamp(1.2rem, 2.2vw, 1.625rem); margin: 1.1rem 0 0.6rem; }
.mt-hero__name { font-family: var(--mt-display); font-weight: 800; font-size: clamp(2.25rem, 5vw, 3.75rem); line-height: 1.04; letter-spacing: -0.01em; margin: 0; color: #fff; }
.mt-hero__funktion { font-size: clamp(1.05rem, 1.6vw, 1.3rem); color: #DCE3F5; margin: 0.75rem 0 0; }
.mt-hero__teaser { font-size: 1.15rem; max-width: 36em; margin-top: 1.1rem; }
.mt-hero__teaser p { margin: 0 0 0.75rem; }
.mt-hero__thema { font-size: 1.15rem; font-weight: 600; margin: 0.5rem 0 0; }
.mt-hero__thema span { color: var(--mt-gelb); }
.mt-hero__bild img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: 10px; }
.mt-hero__bild--leer { display: flex; align-items: center; justify-content: center; min-height: 320px; background: #fff; border-radius: 10px; }
.mt-hero__bild--leer img { width: 240px; height: auto; object-fit: contain; }

/* Ablauf-Leiste */
.mt-ablauf { background: var(--mt-hell); border-bottom: 1px solid var(--mt-linie); }
.mt-ablauf__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: 1.5rem; padding-top: 2rem; padding-bottom: 2rem; }
.mt-ablauf__item { display: flex; gap: 0.85rem; align-items: flex-start; }
.mt-ablauf__item .mt-icon { color: var(--mt-blau); margin-top: 2px; }
.mt-ablauf__item .mt-muted { font-size: 0.95rem; }

/* Listen (Termine, Archiv) */
.mt-liste { border-top: 1px solid var(--mt-linie); }
.mt-liste__row { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 2.5rem; padding: 1.15rem 0; border-bottom: 1px solid var(--mt-linie); }
.mt-liste__datum { flex: 0 0 290px; font-family: var(--mt-display); font-weight: 700; font-size: 1.1rem; }
.mt-liste__gaeste { flex: 1 1 340px; min-width: 0; display: flex; flex-direction: column; gap: 0.6rem; }
.mt-liste__row--sonder .mt-liste__datum { color: var(--mt-grau); }
.mt-gast__name { font-weight: 600; font-size: 1.1rem; }
.mt-gast__name a { color: inherit; text-decoration: underline; text-decoration-color: var(--mt-gelb); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.mt-gast__funktion { color: var(--mt-grau); font-size: 0.975rem; }
.mt-tag { align-self: flex-start; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--mt-grau); border: 1px solid var(--mt-linie); border-radius: 4px; padding: 0.1rem 0.5rem; }

/* Podcast */
.mt-podcast__kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.mt-podcast__kopf p { margin: 0; }
.mt-plattformen { display: flex; flex-wrap: wrap; gap: 1.1rem; font-weight: 600; }
.mt-podcast__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 1.5rem; }
.mt-folge { border: 1px solid var(--mt-linie); border-radius: 12px; padding: 1.5rem; display: flex; flex-direction: column; gap: 0.6rem; min-width: 0; }
.mt-folge--gross { grid-column: 1 / -1; background: var(--mt-nacht); color: #fff; border: 0; padding: clamp(1.5rem, 3vw, 2.25rem); }
.mt-folge__label { font-family: var(--mt-display); font-weight: 700; font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--mt-grau); }
.mt-folge--gross .mt-folge__label { color: var(--mt-gelb); }
.mt-folge__titel { font-family: var(--mt-display); font-weight: 800; font-size: 1.25rem; line-height: 1.2; margin: 0; color: var(--mt-text); }
.mt-folge--gross .mt-folge__titel { font-size: clamp(1.5rem, 3vw, 2.125rem); color: #fff; }
.mt-folge__text { margin: 0; color: #DCE3F5; max-width: 48em; }
.mt-folge__meta { font-size: 0.95rem; color: var(--mt-grau); margin-top: auto; }
.mt-folge--gross .mt-folge__meta, .mt-folge--gross .mt-folge__meta a { color: #DCE3F5; }
.mt-audio { width: 100%; max-width: 640px; margin-top: 0.5rem; }

/* Über uns / Highlights */
.mt-highlights { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem 1.75rem; margin-bottom: 1.25rem; }
.mt-highlights .mt-gast__name { font-size: 1rem; }
.mt-highlights .mt-gast__funktion { font-size: 0.9rem; }
.mt-statistik { font-size: 1.1rem; }
.mt-statistik strong { font-family: var(--mt-display); font-size: 1.6rem; color: var(--mt-blau); }
@media (max-width: 520px) { .mt-highlights { grid-template-columns: minmax(0, 1fr); } }

/* Newsletter */
.mt-newsletter { border: 2px solid var(--mt-blau); border-radius: 14px; padding: clamp(1.5rem, 4vw, 2.75rem); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: 2rem; align-items: center; scroll-margin-top: 1rem; }
.mt-newsletter__form label { display: block; font-weight: 600; margin-bottom: 0.5rem; }
.mt-newsletter__felder { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.mt-newsletter__felder input { flex: 1 1 220px; min-height: 48px; font: inherit; padding: 0.7rem 1rem; border: 1px solid #8A92A6; border-radius: 6px; box-sizing: border-box; }

/* Archiv */
.mt-suche { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0 0 1.75rem; max-width: 640px; }
.mt-suche input { flex: 1 1 240px; min-height: 48px; font: inherit; padding: 0.7rem 1rem; border: 1px solid #8A92A6; border-radius: 6px; box-sizing: border-box; }
.mt-pills { display: flex; flex-wrap: wrap; gap: 0.6rem; margin: 0 0 0.85rem; }
.mt-pill { display: inline-flex; align-items: center; min-height: 44px; box-sizing: border-box; padding: 0.5rem 1.2rem; border: 2px solid var(--mt-blau); border-radius: 999px; color: var(--mt-blau) !important; font-weight: 700; text-decoration: none !important; }
.mt-pill:hover, .mt-pill:focus-visible { background: var(--mt-hell); }
.mt-pill.is-aktiv { background: var(--mt-blau); color: #fff !important; }
.mt-pill--klein { min-height: 40px; padding: 0.35rem 0.9rem; font-size: 0.95rem; border-width: 1px; }
.mt-pills--jahre { margin-bottom: 2rem; }
.mt-archiv__kopf { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.5rem; padding-bottom: 0.75rem; border-bottom: 2px solid var(--mt-blau); margin-bottom: 0; }
.mt-archiv__kopf .mt-h2 { margin: 0; }
.mt-archiv .mt-liste { border-top: 0; }
.mt-anfaenge { margin-top: 3rem; background: var(--mt-hell); border-radius: 12px; padding: clamp(1.25rem, 3vw, 2rem); max-width: 820px; }
.mt-anfaenge p:last-child { margin-bottom: 0; }

/* Einzelseite */
.mt-detail { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: clamp(24px, 5vw, 56px); align-items: start; }
.mt-detail__datum { font-family: var(--mt-display); font-weight: 700; font-size: 1.35rem; margin: 0 0 0.5rem; }
.mt-detail__name { font-family: var(--mt-display); font-weight: 800; font-size: clamp(2rem, 4.5vw, 3.25rem); line-height: 1.06; color: var(--mt-blau); margin: 0 0 0.75rem; }
.mt-detail__funktion { font-size: 1.15rem; color: var(--mt-grau); margin: 0 0 0.35rem; }
.mt-detail__thema { font-size: 1.15rem; font-weight: 600; }
.mt-detail__thema span { color: var(--mt-grau); }
.mt-detail__bild img { width: 100%; height: auto; border-radius: 10px; display: block; }
.mt-zurueck { margin-top: 2.5rem; font-weight: 600; }

@media (max-width: 640px) {
	.mt-liste__datum { flex-basis: 100%; }
	.mt-hero__bild { order: -1; }
	.mt-hero__bild img { max-height: 360px; }
	.mt-hero__bild--leer { min-height: 180px; }
}

.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 !important; width: 1px; word-wrap: normal !important; }

/* Bilder und Links (ab 1.1.0) */
.mt-extern { color: inherit; text-decoration: underline; text-decoration-color: var(--mt-gelb); text-decoration-thickness: 2px; text-underline-offset: 4px; }
.mt-extern:hover, .mt-extern:focus-visible { color: var(--mt-blau); }
.mt-liste__datum a { color: inherit; text-decoration: underline; text-decoration-color: var(--mt-linie); text-underline-offset: 5px; }
.mt-liste__datum a:hover { text-decoration-color: var(--mt-blau); }
.mt-mini { flex: 0 0 auto; display: block; width: 56px; height: 56px; border-radius: 50%; overflow: hidden; background: var(--mt-hell); }
.mt-mini img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mt-liste__row .mt-mini { margin-right: -1.5rem; }
.mt-highlight { display: flex; gap: 0.85rem; align-items: flex-start; }
.mt-highlight .mt-mini { width: 64px; height: 64px; }
.mt-bildnachweis { font-size: 0.8125rem; color: inherit; opacity: 0.8; margin: 0.4rem 0 0; }
.mt-impressionen__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 1.25rem; margin-top: 1.5rem; }
.mt-impressionen__bild { margin: 0; }
.mt-impressionen__bild img { display: block; width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; border-radius: 10px; }
.mt-impressionen__bild figcaption { font-size: 0.95rem; color: var(--mt-grau); margin-top: 0.5rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.25rem 1rem; }
.mt-impressionen__bild figcaption span { font-size: 0.8125rem; }
@media (max-width: 640px) { .mt-liste__row .mt-mini { margin-right: 0; width: 48px; height: 48px; } }

/* Podcast mit Bild (ab 1.3.0) */
.mt-folge--mit-bild { display: grid; grid-template-columns: minmax(180px, 300px) minmax(0, 1fr); gap: clamp(1.25rem, 3vw, 2.25rem); align-items: start; }
.mt-folge__bild img { display: block; width: 100%; aspect-ratio: 1 / 1; height: auto; object-fit: cover; border-radius: 10px; }
.mt-folge__inhalt { display: flex; flex-direction: column; gap: 0.6rem; min-width: 0; }
.mt-folge__kopf { display: flex; gap: 0.85rem; align-items: center; }
.mt-folge__kopf .mt-mini { width: 56px; height: 56px; }
@media (max-width: 640px) { .mt-folge--mit-bild { grid-template-columns: minmax(0, 1fr); } .mt-folge__bild img { max-width: 260px; } }

/* Ausgewählte Ehrengäste (ab 1.4.0) */
.mt-auswahl { margin: 0 0 3.5rem; }
.mt-auswahl__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: 1.25rem 2rem; margin: 1.25rem 0 1.5rem; }
.mt-auswahl__karte { display: flex; gap: 0.85rem; align-items: flex-start; padding-top: 1rem; border-top: 1px solid var(--mt-linie); }
.mt-auswahl__karte .mt-mini { width: 64px; height: 64px; }
.mt-auswahl__datum { font-size: 0.875rem; color: var(--mt-grau); margin-bottom: 0.2rem; }
.mt-auswahl__datum a { color: inherit; }
.mt-archiv__titel { margin-bottom: 1.25rem; }
.mt-veranstalter { font-weight: 600; }

/* Porträts: Gesicht im oberen Bilddrittel halten (ab 1.5.0) */
.mt-mini img, .mt-hero__bild img, .mt-folge__img { object-position: 50% 22%; }
.mt-detail__bild img { width: auto; max-width: 100%; }
