/*
Theme Name:   MEIN09
Theme URI:    https://mein09.de/
Description:  Child-Theme für mein09.de auf Basis von GeneratePress. Setzt Layout, Farben und Schriften; die Bausteine (Radio, Spieltag, Tabelle, Fanartikel) kommen aus den MEIN09-Plugins und dem Affiliate Hub.
Author:       Przemyslaw Bürger
Template:     generatepress
Version:      0.2.7
Requires PHP: 7.4
Text Domain:  mein09
License:      GPL-2.0-or-later
*/

/* ---------- Grundlagen ---------- */
:root {
	--m09-yellow: #FDE100;
	--m09-black: #0D0D0D;
	--m09-ink: #111111;
	--m09-panel: #161616;
	--m09-ground: #F3F2EE;
	--m09-card: #FFFFFF;
	--m09-line: #DAD8D0;
	--m09-muted: #5F5F5A;
	--m09-accent-text: #5C4F00;
	--m09-radius: 14px;
	--m09-display: "Barlow Condensed", "Arial Narrow", sans-serif;
	--m09-body: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}

body {
	background: var(--m09-ground);
	color: var(--m09-ink);
	font-family: var(--m09-body);
	font-size: 17px;
	line-height: 1.6;
}

a { color: var(--m09-ink); }
a:hover, a:focus { color: var(--m09-accent-text); }

h1, h2, h3, h4,
.entry-title, .page-title {
	font-family: var(--m09-display);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: 0.2px;
	color: var(--m09-ink);
}

:focus-visible { outline: 3px solid var(--m09-yellow); outline-offset: 2px; }

.m09-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; box-sizing: border-box; }

/* ---------- Kopfbereich ---------- */
.site-header { background: var(--m09-black); color: #FFFFFF; }
.site-header .inside-header { padding-top: 10px; padding-bottom: 10px; align-items: center; gap: 16px; flex-wrap: wrap; }
.site-header a { color: #FFFFFF; }

.m09-brand { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: #FFFFFF !important; }
.m09-brand__mark {
	display: inline-flex; align-items: center; justify-content: center;
	width: 44px; height: 44px; border-radius: 6px;
	background: var(--m09-yellow); color: var(--m09-black);
	font-family: var(--m09-display); font-weight: 800; font-size: 28px; line-height: 1;
}
.m09-brand__name { font-family: var(--m09-display); font-weight: 800; font-size: 30px; letter-spacing: 0.5px; line-height: 1; }
.main-title { margin: 0; font-size: inherit; }

.main-navigation, .main-navigation ul ul { background: transparent; }
.main-navigation .main-nav ul li a {
	color: #FFFFFF; font-weight: 600; font-size: 15px;
	padding-left: 14px; padding-right: 14px; line-height: 56px;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a,
.main-navigation .main-nav ul li.current-menu-ancestor > a { color: var(--m09-yellow); background: transparent; }
.main-navigation .main-nav ul ul { background: var(--m09-panel); }
.main-navigation .main-nav ul ul li a { line-height: 1.4; padding-top: 12px; padding-bottom: 12px; }
.main-navigation .menu-toggle, .main-navigation .menu-bar-item > a { color: #FFFFFF; }
.has-inline-mobile-toggle #site-navigation.toggled { background: var(--m09-panel); }

/* Radio-Leiste */
.m09-radio-pill {
	display: inline-flex; align-items: center; gap: 10px;
	background: #1E1E1E; border: 1px solid var(--m09-yellow); border-radius: 999px;
	padding: 5px 16px 5px 5px; color: #FFFFFF !important; text-decoration: none;
	min-height: 46px; box-sizing: border-box;
}
.m09-radio-pill:hover { background: #262626; }
.m09-radio-pill__play {
	width: 36px; height: 36px; border-radius: 50%; flex: none;
	background: var(--m09-yellow); display: inline-flex; align-items: center; justify-content: center;
}
.m09-radio-pill__text { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.m09-radio-pill__label { color: var(--m09-yellow); font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.m09-radio-pill__song { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
.m09-radio-pill__eq { display: flex; align-items: flex-end; gap: 2px; height: 16px; }
.m09-radio-pill__eq span { width: 3px; background: var(--m09-yellow); border-radius: 1px; }
.m09-radio-pill__eq span:nth-child(1) { height: 8px; }
.m09-radio-pill__eq span:nth-child(2) { height: 15px; }
.m09-radio-pill__eq span:nth-child(3) { height: 11px; }

@media (max-width: 768px) {
	/* Logo links, Menü-Knopf rechts – eine Zeile statt zwei */
	.site-header .inside-header {
		padding-left: 16px; padding-right: 16px;
		display: flex; flex-wrap: wrap; align-items: center;
		flex-direction: row; justify-content: space-between; text-align: left;
	}
	.site-header .main-navigation:not(.toggled) { width: auto !important; }
	.site-header .main-navigation .inside-navigation { justify-content: flex-end; }
	.site-header .site-branding { flex: 1 1 auto; margin: 0; }
	.site-header .main-navigation { order: 2; width: auto; flex: 0 0 auto; background: transparent; }
	.site-header .main-navigation .menu-toggle { padding: 0 8px; line-height: 44px; min-height: 44px; background: transparent; }
	.site-header .main-navigation.toggled { order: 20; width: 100%; flex: 1 1 100%; }
	.site-header .main-navigation.toggled .main-nav ul li a { line-height: 48px; }
	.m09-brand__mark { width: 38px; height: 38px; font-size: 22px; }
	.m09-brand__name { font-size: 24px; }
	.m09-radio-pill {
		order: 10; flex: 1 1 100%; border-radius: 10px; border-width: 0 0 1px;
		background: #1E1E1E; margin: 4px -16px -10px; width: calc(100% + 32px); padding: 6px 16px;
	}
	.m09-radio-pill__song { max-width: none; }
	.m09-radio-pill__eq { margin-left: auto; }
}

/* ---------- Spieltags-Leiste ---------- */
.m09-matchday { background: var(--m09-panel); color: #FFFFFF; border-bottom: 4px solid var(--m09-yellow); }
.m09-matchday__inner { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding-top: 24px; padding-bottom: 24px; }
.m09-matchday__card { flex: 1 1 520px; min-width: 0; }
.m09-matchday__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.m09-matchday .mein09-game-card { background: transparent; border: 0; box-shadow: none; color: #FFFFFF; padding: 0; margin: 0; }
.m09-matchday .mein09-game-card * { color: inherit; }
.m09-matchday .mein09-module-head { color: var(--m09-yellow); }
.m09-matchday .mein09-game-card__teams strong { font-family: var(--m09-display); font-weight: 800; font-size: 32px; line-height: 1; }
.m09-matchday .mein09-game-card__vs { color: var(--m09-yellow); font-family: var(--m09-display); font-weight: 800; font-size: 26px; }
.m09-matchday .mein09-game-card__meta { color: #C9C9C9; }

/* Buttons */
.m09-btn {
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
	font-weight: 700; font-size: 14px; padding: 12px 16px; border-radius: 8px; min-height: 44px; box-sizing: border-box;
}
.m09-btn--yellow { background: var(--m09-yellow); color: var(--m09-black) !important; }
.m09-btn--yellow:hover { background: #FFEA4D; }
.m09-btn--ghost { border: 1px solid #4A4A4A; color: #FFFFFF !important; }
.m09-btn--ghost:hover { border-color: var(--m09-yellow); }
.m09-btn--outline { border: 2px solid var(--m09-ink); color: var(--m09-ink) !important; }

/* ---------- Startseite ---------- */
.m09-front #page.grid-container,
.m09-front .site.grid-container { max-width: none; padding: 0; }
.m09-front .site-content { display: block; padding: 0; }
.m09-front-main { padding-top: 32px; padding-bottom: 48px; display: flex; flex-direction: column; gap: 40px; }

.m09-kicker {
	display: inline-block; background: var(--m09-yellow); color: var(--m09-black);
	font-weight: 700; font-size: 12px; text-transform: uppercase; letter-spacing: 0.8px;
	padding: 4px 8px; border-radius: 4px;
}
.m09-meta { font-size: 13px; color: var(--m09-muted); }
.m09-label { font-size: 12px; font-weight: 700; color: var(--m09-accent-text); text-transform: uppercase; letter-spacing: 0.6px; }

.m09-top { display: flex; flex-wrap: wrap; gap: 24px; }
.m09-lead {
	flex: 2 1 560px; min-width: 0; background: var(--m09-card); border-radius: var(--m09-radius);
	overflow: hidden; display: flex; flex-direction: column; text-decoration: none;
}
.m09-lead__img { aspect-ratio: 16 / 9; background: #1A1A1A; overflow: hidden; }
.m09-lead__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m09-lead__body { padding: 22px 24px 26px; display: flex; flex-direction: column; gap: 10px; }
.m09-lead__title { margin: 0; font-size: 44px; }
.m09-side-list { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 16px; }

.m09-mini {
	background: var(--m09-card); border-radius: 12px; padding: 14px;
	display: flex; gap: 14px; text-decoration: none; color: var(--m09-ink);
}
.m09-mini__img { width: 112px; height: 84px; flex: none; border-radius: 8px; overflow: hidden; background: #1A1A1A; }
.m09-mini__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m09-mini__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.m09-mini__title { font-weight: 700; font-size: 16px; line-height: 1.3; }

.m09-section-head {
	display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px;
	border-bottom: 3px solid var(--m09-ink); padding-bottom: 8px; margin-bottom: 8px;
}
.m09-section-head h2 { margin: 0; font-size: 32px; }
.m09-section-head a { font-weight: 600; font-size: 14px; }

.m09-cols { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.m09-feed { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; }
.m09-aside { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 24px; }
.m09-box { background: var(--m09-card); border-radius: var(--m09-radius); padding: 20px; }

.m09-row {
	display: flex; gap: 18px; padding: 14px 0; border-bottom: 1px solid var(--m09-line);
	text-decoration: none; color: var(--m09-ink);
}
.m09-row__img { width: 180px; height: 110px; flex: none; border-radius: 10px; overflow: hidden; background: #1A1A1A; }
.m09-row__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m09-row__body { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.m09-row__title { font-weight: 700; font-size: 20px; line-height: 1.25; }
.m09-more { align-self: center; margin-top: 18px; }

/* Song-Block */
.m09-song {
	background: var(--m09-black); color: #FFFFFF; border-radius: 16px; padding: 28px;
	display: flex; flex-wrap: wrap; gap: 28px; align-items: center;
}
.m09-song__info { flex: 1 1 380px; min-width: 0; display: flex; flex-direction: column; gap: 14px; }
.m09-song__eyebrow { color: var(--m09-yellow); font-weight: 700; font-size: 13px; letter-spacing: 1.2px; text-transform: uppercase; }
.m09-song__title { margin: 0; font-size: 48px; color: #FFFFFF; }
.m09-song__play {
	width: 60px; height: 60px; border-radius: 50%; background: var(--m09-yellow);
	display: inline-flex; align-items: center; justify-content: center; flex: none; text-decoration: none;
}
.m09-song__row { display: flex; align-items: center; gap: 16px; color: #C9C9C9; font-size: 14px; }
.m09-song__cover { flex: 0 1 360px; min-width: 0; aspect-ratio: 1 / 1; border-radius: 12px; overflow: hidden; background: #1F1F1F; }
.m09-song__cover img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* Werbeflächen: nur sichtbar, wenn ein Anzeigenblock hinterlegt ist */
.m09-ad { text-align: center; min-height: 90px; }
.m09-ad__label { display: block; font-size: 11px; color: var(--m09-muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 4px; }

/* Fanartikel */
.m09-fan__note { font-size: 12px; color: var(--m09-muted); }

@media (max-width: 768px) {
	.m09-front-main { padding-top: 20px; gap: 28px; }
	.m09-lead__title { font-size: 30px; }
	.m09-lead__body { padding: 16px; }
	.m09-row__img { width: 96px; height: 72px; }
	.m09-row__title { font-size: 16px; }
	.m09-song { padding: 18px; }
	.m09-song__title { font-size: 34px; }
	.m09-section-head h2 { font-size: 26px; }
	.m09-matchday .mein09-game-card__teams strong { font-size: 22px; }
	.m09-matchday__actions .m09-btn { flex: 1 1 100%; justify-content: center; }
}

/* ---------- Artikel, Archiv, Seiten ---------- */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.separate-containers .paging-navigation,
.one-container .site-content,
.inside-page-header { background: var(--m09-card); border-radius: var(--m09-radius); }
.separate-containers .site-main > *, .separate-containers .inside-right-sidebar .widget { margin-bottom: 24px; }
.sidebar .widget { background: var(--m09-card); border-radius: var(--m09-radius); }

.entry-title { font-size: 48px; }
.entry-content h2 { font-size: 34px; margin-top: 1.4em; }
.entry-content h3 { font-size: 26px; margin-top: 1.2em; }
.entry-meta, .entry-meta a { color: var(--m09-muted); font-size: 14px; }
.cat-links a, .tags-links a { color: var(--m09-accent-text); font-weight: 600; }
.featured-image img, .post-image img { border-radius: 12px; }
.entry-content a { text-decoration: underline; text-decoration-color: var(--m09-yellow); text-decoration-thickness: 3px; text-underline-offset: 3px; }
blockquote { border-left: 4px solid var(--m09-yellow); background: var(--m09-ground); padding: 16px 20px; font-style: normal; }

button, html input[type="button"], input[type="reset"], input[type="submit"],
a.button, a.wp-block-button__link:not(.has-background) {
	background: var(--m09-black); color: #FFFFFF; border-radius: 8px; font-weight: 700;
}
button:hover, html input[type="button"]:hover, input[type="submit"]:hover, a.button:hover { background: #2A2A2A; color: var(--m09-yellow); }

@media (max-width: 768px) {
	body { font-size: 16px; }
	.entry-title { font-size: 34px; }
	.entry-content h2 { font-size: 28px; }
}

/* ---------- Fußbereich ---------- */
.site-footer, .site-info, .footer-widgets { background: var(--m09-black); color: #C9C9C9; }
.site-info a, .footer-widgets a { color: #FFFFFF; }
.footer-widgets .widget { background: transparent; }
.footer-widgets .widget-title, .footer-widgets h2, .footer-widgets h3 { color: var(--m09-yellow); font-size: 24px; }
.footer-widgets .textwidget { color: #C9C9C9; font-size: 15px; }
.m09-footer { display: flex; flex-wrap: wrap; gap: 24px 40px; justify-content: space-between; align-items: flex-start; text-align: left; font-size: 14px; }
.m09-footer__about { max-width: 380px; display: flex; flex-direction: column; gap: 10px; }
.m09-footer nav { display: flex; flex-wrap: wrap; gap: 16px; }
.m09-footer nav a { color: #FFFFFF; text-decoration: none; }
.m09-footer nav a:hover { color: var(--m09-yellow); }

/* ---------- Social-Leiste ---------- */
.m09-social { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.m09-social__link {
	display: inline-flex; align-items: center; gap: 8px; min-height: 44px; min-width: 44px; padding: 0 12px;
	border-radius: 999px; text-decoration: none; font-weight: 600; font-size: 14px; box-sizing: border-box; justify-content: center;
}
.m09-social__icon { display: inline-flex; width: 22px; height: 22px; align-items: center; justify-content: center; }
.m09-social__img { width: 22px; height: 22px; object-fit: contain; display: block; }
.m09-social--dark .m09-social__link { background: #1E1E1E; color: #FFFFFF !important; border: 1px solid #333333; }
.m09-social--dark .m09-social__link:hover { border-color: var(--m09-yellow); color: var(--m09-yellow) !important; }
.m09-social--light .m09-social__link { background: var(--m09-card); color: var(--m09-ink) !important; border: 1px solid var(--m09-line); }
.m09-social--light .m09-social__link:hover { border-color: var(--m09-ink); }
.m09-song .m09-social { margin-top: 4px; }

.m09-follow { display: flex; flex-wrap: wrap; gap: 24px; align-items: stretch; }
.m09-follow__social, .m09-follow__news { flex: 1 1 340px; min-width: 0; background: var(--m09-card); border-radius: var(--m09-radius); padding: 22px 24px; box-sizing: border-box; }
.m09-follow__title { margin: 0 0 14px; font-size: 28px; }

/* =========================================================
   0.1.4 – Spieltagskarte, Kacheln, kompakte Seitenleiste
   ========================================================= */

/* Logo: mehr Luft zwischen 09-Marke und Schriftzug */
.m09-brand { gap: 14px; }
.site-header .site-branding { margin-right: 24px; }

/* Spieltagskarte: kompakt und mittig statt volle Breite */
.m09-matchday { background: var(--m09-black); border-bottom: 0; padding: 28px 16px 32px; }
.m09-match {
	max-width: 720px; margin: 0 auto; box-sizing: border-box;
	background: linear-gradient(180deg, #1B1B1B 0%, #121212 100%);
	border: 1px solid #2E2E2E; border-top: 4px solid var(--m09-yellow); border-radius: 18px;
	padding: 20px 24px 22px; color: #FFFFFF; text-align: center;
}
.m09-match__top { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 14px; align-items: baseline; }
.m09-match__kicker { color: var(--m09-yellow); font-weight: 800; font-size: 12px; letter-spacing: 1.4px; text-transform: uppercase; }
.m09-match__meta { color: #BDBDBD; font-size: 14px; }
.m09-match__teams { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 16px; margin: 18px 0 16px; }
.m09-match__team { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 0; }
.m09-match__team strong { font-family: var(--m09-display); font-weight: 800; font-size: 26px; line-height: 1.05; }
.m09-match__team .mein09-club-badge { width: 54px; height: 54px; margin: 0; border-radius: 14px; font-size: 13px; }
.m09-match__vs { font-family: var(--m09-display); font-weight: 800; font-size: 22px; color: var(--m09-black); background: var(--m09-yellow); border-radius: 999px; width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; }

.m09-countdown { display: flex; justify-content: center; gap: 8px; margin: 0 0 18px; flex-wrap: wrap; }
.m09-countdown__cell { min-width: 64px; padding: 8px 6px 6px; background: #0A0A0A; border: 1px solid #2E2E2E; border-radius: 10px; }
.m09-countdown__cell b { display: block; font-family: var(--m09-display); font-weight: 800; font-size: 32px; line-height: 1; color: var(--m09-yellow); font-variant-numeric: tabular-nums; }
.m09-countdown__cell small { display: block; margin-top: 3px; font-size: 11px; color: #A8A8A8; text-transform: uppercase; letter-spacing: .8px; }
.m09-countdown.is-live .m09-countdown__cell { display: none; }
.m09-countdown__live { margin: 0; font-weight: 800; color: var(--m09-yellow); }

.m09-match__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.m09-match__link {
	display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 10px;
	border-radius: 10px; border: 1px solid #3A3A3A; background: #1E1E1E; color: #FFFFFF !important;
	font-weight: 700; font-size: 14px; text-decoration: none;
}
.m09-match__link:hover { border-color: var(--m09-yellow); }
.m09-match__link.is-main { background: var(--m09-yellow); border-color: var(--m09-yellow); color: var(--m09-black) !important; }
.m09-match__link.is-main:hover { background: #FFEA4D; }
.m09-match__link.is-soon { color: #8A8A8A !important; border-style: dashed; cursor: default; }

@media (max-width: 600px) {
	.m09-matchday { padding: 16px 12px 20px; }
	.m09-match { padding: 16px 14px 16px; border-radius: 14px; }
	.m09-match__team strong { font-size: 19px; }
	.m09-match__team .mein09-club-badge { width: 44px; height: 44px; }
	.m09-countdown__cell { min-width: 56px; }
	.m09-countdown__cell b { font-size: 26px; }
	.m09-match__links { grid-template-columns: 1fr 1fr; }
	.m09-match__link.is-main { grid-column: 1 / -1; }
}

/* News als Kacheln: schwarz – gelb – hell im Wechsel */
.m09-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.m09-tiles__ad { grid-column: 1 / -1; }
.m09-tile {
	display: flex; flex-direction: column; border-radius: 14px; overflow: hidden; text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}
.m09-tile:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.12); }
.m09-tile__img { aspect-ratio: 16 / 9; background: #1A1A1A; overflow: hidden; }
.m09-tile__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.m09-tile__body { padding: 14px 16px 18px; display: flex; flex-direction: column; gap: 8px; flex: 1 1 auto; }
.m09-tile__label { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; }
.m09-tile__title { margin: 0; font-family: var(--m09-body); font-weight: 700; font-size: 18px; line-height: 1.35; letter-spacing: 0; }
.m09-tile.is-dark { background: var(--m09-black); }
.m09-tile.is-dark .m09-tile__title { color: #FFFFFF; }
.m09-tile.is-dark .m09-tile__label { color: var(--m09-yellow); }
.m09-tile.is-yellow { background: var(--m09-yellow); }
.m09-tile.is-yellow .m09-tile__title, .m09-tile.is-yellow .m09-tile__label { color: var(--m09-black); }
.m09-tile.is-light { background: var(--m09-card); border: 1px solid var(--m09-line); }
.m09-tile.is-light .m09-tile__title { color: var(--m09-ink); }
.m09-tile.is-light .m09-tile__label { color: var(--m09-accent-text); }
.m09-feed .m09-more { margin-top: 20px; }

/* Seitenleiste schmaler und Tabellen kompakter */
.m09-cols { gap: 28px; }
.m09-aside { flex: 0 1 300px; }
.m09-aside .m09-box { padding: 0; overflow: hidden; background: transparent; }
.m09-aside .mein09-blt--compact { margin: 0; max-width: none; border-radius: 12px; overflow: hidden; }
.m09-aside .mein09-blt--compact .mein09-blt__header { padding: 10px 14px; }
.m09-aside .mein09-blt--compact .mein09-blt__header h2 { font-size: 16px; }
.m09-aside .mein09-blt--compact .mein09-blt__brand { font-size: 8px; margin-bottom: 2px; }
.m09-aside .mein09-blt--compact .mein09-blt__season { font-size: 10px; padding: 3px 7px; }
.m09-aside .mein09-blt__table--compact th, .m09-aside .mein09-blt__table--compact td { padding: 6px 6px; font-size: 12px; }
.m09-aside .mein09-blt__table--compact th { font-size: 9px; }
.m09-aside .mein09-blt__table--compact .mein09-club-badge { width: 22px; height: 22px; border-radius: 6px; font-size: 7px; margin-right: 6px; }
.m09-aside .mein09-blt__compact-foot { padding: 8px 12px; }
.m09-aside .mein09-blt--compact .mein09-blt__button { padding: 6px 10px; font-size: 11px; }
.m09-aside .mein09-form-card { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 12px; }
.m09-aside .mein09-form-card .mein09-module-head { font-size: 13px; margin-bottom: 8px; }
.m09-aside .mein09-form-row { gap: 6px; }
.m09-aside .mein09-form-item { gap: 3px; font-size: 11px; padding: 6px 2px; }
.m09-aside .mein09-form-item .mein09-club-badge { width: 22px; height: 22px; border-radius: 6px; font-size: 7px; margin: 0; }
.m09-aside .mein09-form-badge { width: 20px; height: 20px; font-size: 10px; line-height: 20px; }

@media (max-width: 900px) {
	.m09-aside { flex: 1 1 100%; display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 16px; }
}

/* Nächste Spiele unter der Spieltagskarte – klein und dezent */
.m09-match__next { list-style: none; margin: 16px 0 0; padding: 12px 0 0; border-top: 1px solid #2E2E2E; display: flex; flex-direction: column; gap: 6px; text-align: left; }
.m09-match__next li { display: grid; grid-template-columns: 90px minmax(0, 1fr) auto; align-items: baseline; gap: 2px 10px; font-size: 13px; color: #A8A8A8; }
.m09-match__when { color: var(--m09-yellow); font-weight: 700; }
.m09-match__what { color: #E6E6E6; font-weight: 600; }
.m09-match__comp { font-size: 12px; text-align: right; }
@media (max-width: 600px) { .m09-match__next li { grid-template-columns: 76px minmax(0, 1fr); } .m09-match__comp { grid-column: 2; text-align: left; } }

/* ---------- 0.1.8: Artikel – Werbung, Fanartikel, Teilen ---------- */
.entry-content .m09-ad--article { margin: 28px 0; min-height: 120px; }
.m09-product { margin: 32px 0; padding: 14px; border: 1px solid var(--m09-line); border-radius: 12px; background: var(--m09-ground); }
.m09-product__label { display: block; font-size: 11px; font-weight: 700; letter-spacing: .6px; text-transform: uppercase; color: var(--m09-muted); margin-bottom: 8px; }
.m09-product .afh-box { margin: 0; box-shadow: none; }
.m09-product a, .m09-share a, .entry-content .m09-share a, .entry-content .m09-product a { text-decoration: none; }

.m09-share { margin: 36px 0 8px; padding-top: 18px; border-top: 1px solid var(--m09-line); display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.m09-share__label { font-family: var(--m09-display); font-weight: 800; font-size: 20px; text-transform: uppercase; letter-spacing: .3px; }
.m09-share__list { display: flex; flex-wrap: wrap; gap: 8px; }
.m09-share__btn { display: inline-flex; align-items: center; gap: 7px; min-height: 40px; padding: 0 14px; border: 1.5px solid var(--m09-black); border-radius: 999px; background: #fff; color: var(--m09-black) !important; font: 600 14px/1 var(--m09-body); cursor: pointer; transition: background .15s, color .15s; }
.m09-share__btn:hover, .m09-share__btn:focus-visible { background: var(--m09-black); color: var(--m09-yellow) !important; }
.m09-share__btn--link { background: var(--m09-yellow); border-color: var(--m09-yellow); }
@media (max-width: 560px) {
	.m09-share__btn span { display: none; }
	.m09-share__btn { width: 44px; height: 44px; padding: 0; justify-content: center; }
	.m09-share__btn--link { width: auto; padding: 0 14px; }
	.m09-share__btn--link span { display: inline; }
}

/* ---------- 0.1.8: Kommentare ---------- */
.comments-area { padding: 28px 32px; }
.comments-title, .comment-reply-title { font-family: var(--m09-display); font-weight: 800; font-size: 28px; text-transform: uppercase; margin: 0 0 12px; }
.comment-notes, .logged-in-as, .required-field-message { font-size: 14px; color: var(--m09-muted); }
.logged-in-as a { color: var(--m09-ink); }
.comment-form textarea, .comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"] { width: 100%; border: 1.5px solid var(--m09-line); border-radius: 12px; background: var(--m09-ground); padding: 12px 14px; font: 16px/1.5 var(--m09-body); color: var(--m09-ink); transition: border-color .15s, background .15s; }
.comment-form textarea { min-height: 130px; height: 130px; resize: vertical; }
.comment-form textarea:focus, .comment-form input:focus { outline: none; border-color: var(--m09-black); background: #fff; box-shadow: 0 0 0 3px var(--m09-yellow); }
.comment-form .form-submit { margin: 12px 0 0; }
.comment-form input[type="submit"] { background: var(--m09-yellow); color: var(--m09-black); border: 0; border-radius: 10px; min-height: 46px; padding: 0 22px; font-weight: 700; font-size: 15px; cursor: pointer; }
.comment-form input[type="submit"]:hover { background: var(--m09-black); color: var(--m09-yellow); }
.comment-list { list-style: none; margin: 0 0 24px; padding: 0; }
.comment-list .comment { margin: 0 0 14px; }
.comment-list .comment-body, .comment-list article.comment-body { padding: 14px 16px; border-radius: 12px; background: var(--m09-ground); }
.comment-list .children { list-style: none; margin: 12px 0 0 24px; padding: 0; border-left: 3px solid var(--m09-yellow); padding-left: 14px; }
.comment-author .avatar { border-radius: 50%; }
.comment-author cite, .comment-author .fn { font-style: normal; font-weight: 700; }
.comment-meta a, .comment-metadata a { color: var(--m09-muted); font-size: 13px; }
.reply a, .comment-reply-link { font-size: 13px; font-weight: 700; color: var(--m09-accent-text); }
@media (max-width: 560px) { .comments-area { padding: 20px 16px; } }

/* ---------- 0.1.8: Seitenleiste „Neueste News“ ---------- */
.m09-recent { list-style: none; margin: 0; padding: 0; }
.m09-recent__item { margin: 0; border-bottom: 1px solid var(--m09-line); }
.m09-recent__item:last-child { border-bottom: 0; }
.m09-recent__link { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 8px; margin: 0 -8px; border-radius: 10px; color: var(--m09-ink) !important; text-decoration: none; transition: background .15s; }
.m09-recent__thumb { width: 64px; height: 64px; border-radius: 8px; overflow: hidden; background: var(--m09-black); display: block; }
.m09-recent__img { width: 64px; height: 64px; object-fit: cover; display: block; transition: transform .25s; }
.m09-recent__ph { display: flex; width: 100%; height: 100%; align-items: center; justify-content: center; color: var(--m09-yellow); font: 800 22px/1 var(--m09-display); }
.m09-recent__title { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; font-weight: 600; line-height: 1.35; }
.m09-recent__date { display: block; margin-top: 3px; font-size: 12px; color: var(--m09-muted); }
.m09-recent__link:hover, .m09-recent__link:focus-visible { background: var(--m09-yellow); }
.m09-recent__link:hover .m09-recent__title { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 2px; }
.m09-recent__link:hover .m09-recent__date { color: var(--m09-ink); }
.m09-recent__link:hover .m09-recent__img { transform: scale(1.08); }
.m09-recent__item.is-current .m09-recent__link { box-shadow: inset 3px 0 0 var(--m09-black); background: var(--m09-ground); }

/* ---------- 0.1.9: Spieltag in drei Spalten (Letztes Spiel | Countdown | Danach) ---------- */
.m09-matchday__grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; }
.m09-matchday__grid .m09-match { width: 100%; }
.m09-side { box-sizing: border-box; background: #141414; border: 1px solid #2A2A2A; border-radius: 16px; padding: 16px 18px; color: #E6E6E6; max-width: 720px; width: 100%; margin: 0 auto; }
.m09-side__head { margin: 0 0 10px; font-family: var(--m09-display); font-weight: 800; font-size: 18px; letter-spacing: .4px; text-transform: uppercase; color: var(--m09-yellow); }
.m09-side__meta { margin: -4px 0 10px; font-size: 13px; color: #A8A8A8; }
.m09-side .m09-match__next { margin: 0; padding: 0; border: 0; gap: 0; }
.m09-side .m09-match__next li { display: block; padding: 10px 0; border-top: 1px solid #262626; }
.m09-side .m09-match__next li:first-child { border-top: 0; padding-top: 0; }
.m09-side .m09-match__when { display: block; font-size: 12px; text-transform: uppercase; letter-spacing: .6px; }
.m09-side .m09-match__what { display: block; font-size: 15px; line-height: 1.3; margin: 2px 0; }
.m09-side .m09-match__comp { display: block; text-align: left; font-size: 12px; }
.m09-score { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 12px; align-items: center; padding: 12px 14px; background: #0A0A0A; border: 1px solid #262626; border-radius: 12px; }
.m09-score__team { font-weight: 600; font-size: 15px; line-height: 1.25; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.m09-score__goals { font-family: var(--m09-display); font-weight: 800; font-size: 30px; line-height: 1; color: var(--m09-yellow); font-variant-numeric: tabular-nums; }
.m09-side__link { display: inline-block; margin-top: 12px; font-weight: 700; font-size: 14px; color: var(--m09-yellow) !important; text-decoration: none; }
.m09-side__link:hover { text-decoration: underline; text-underline-offset: 3px; }
.m09-form { display: flex; align-items: center; gap: 6px; margin-top: 14px; }
.m09-form__label { font-size: 12px; text-transform: uppercase; letter-spacing: .6px; color: #A8A8A8; margin-right: 4px; }
.m09-form__dot { position: relative; width: 28px; height: 28px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--m09-display); font-weight: 800; font-size: 15px; cursor: help; }
.m09-form__dot.is-s { background: var(--m09-yellow); color: var(--m09-black); }
.m09-form__dot.is-u { background: #3A3A3A; color: #FFFFFF; }
.m09-form__dot.is-n { background: #FFFFFF; color: var(--m09-black); }
.m09-form__dot::after { content: attr(data-tip); position: absolute; bottom: calc(100% + 8px); left: 50%; transform: translateX(-50%); width: max-content; max-width: 220px; white-space: normal; text-align: center; padding: 6px 9px; border-radius: 8px; background: #FFFFFF; color: var(--m09-black); font: 600 12px/1.35 var(--m09-body); box-shadow: 0 6px 18px rgba(0,0,0,.35); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .15s; z-index: 20; }
.m09-form__dot:hover::after, .m09-form__dot:focus::after { opacity: 1; visibility: visible; }
.m09-form__dot:focus { outline: 2px solid var(--m09-yellow); outline-offset: 2px; }
@media (min-width: 1080px) {
	.m09-matchday__grid { grid-template-columns: minmax(220px, 1fr) minmax(0, 720px) minmax(220px, 1fr); grid-template-areas: "last match next"; align-items: stretch; gap: 20px; }
	.m09-matchday__grid .m09-match { grid-area: match; }
	.m09-side { max-width: none; margin: 0; display: flex; flex-direction: column; }
	.m09-side--next { grid-area: next; }
	.m09-side--last { grid-area: last; }
	.m09-side--last .m09-form { margin-top: auto; padding-top: 14px; }
	.m09-matchday__grid > .m09-match:only-child { grid-column: 1 / -1; margin: 0 auto; }
}

/* ---------- 0.1.9: Links im Artikel kräftiger ---------- */
.entry-content a:not(.afh-btn):not(.m09-share__btn):not(.wp-block-button__link) {
	color: var(--m09-ink);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: var(--m09-yellow);
	text-decoration-thickness: 5px;
	text-underline-offset: 1px;
	text-decoration-skip-ink: none;
	transition: background-color .15s;
}
.entry-content a:not(.afh-btn):not(.m09-share__btn):not(.wp-block-button__link):hover {
	background: var(--m09-yellow);
	text-decoration-color: var(--m09-black);
}

/* ---------- 0.2.1: Affiliate Hub im MEIN09-Look (v2) ---------- */
/* „body“ davor, damit die Farben aus den Affiliate-Hub-Einstellungen (Inline-CSS) überschrieben werden. */
body .afh-box, body .afh-list, body .afh-table-wrap, body .afh-carousel, body .afh-disclaimer, body .afh-admin-notice {
	--afh-accent: #FDE100;
	--afh-accent-hover: #FFEA4D;
	--afh-accent-text: #0D0D0D;
	--afh-deal: #0D0D0D;
	--afh-ok: #FDE100;
	--afh-border: #DAD8D0;
	--afh-muted: #5F5F5A;
	--afh-surface: #FFFFFF;
	--afh-soft: #F3F2EE;
	--afh-radius: 16px;
	font-family: var(--m09-body);
}

/* Box: schwarze Karte wie die Spieltags-Karte */
body .afh-box {
	--afh-muted: #A8A8A8;
	grid-template-columns: 220px minmax(0, 1fr); gap: 26px; padding: 22px;
	background: linear-gradient(180deg, #1B1B1B 0%, #121212 100%); color: #FFFFFF;
	border: 1px solid #2E2E2E; border-top: 4px solid var(--m09-yellow); border-radius: 18px; box-shadow: 0 10px 30px rgba(0, 0, 0, .12);
}
body .afh-box__media { background: #FFFFFF; border-radius: 12px; padding: 14px; aspect-ratio: 1 / 1; align-self: start; }
body .afh-box__media .afh-img { max-height: 100%; border-radius: 6px; }
body .afh-box .afh-brand { color: var(--m09-yellow); font-weight: 700; font-size: 12px; letter-spacing: 1.2px; }
body .afh-box .afh-title { font-family: var(--m09-display); font-weight: 800; font-size: 26px; line-height: 1.08; margin: 2px 0 12px; }
body .afh-box .afh-title a { color: #FFFFFF !important; }
body .afh-box .afh-title a:hover { color: var(--m09-yellow) !important; }
body .afh-box .afh-features { color: #D6D6D6; font-size: 14px; }
body .afh-box .afh-features > div::before { border-color: var(--m09-yellow); }
body .afh-box .afh-price { color: var(--m09-yellow); font-size: 40px; }
body .afh-box .afh-list-price { color: #A8A8A8; }
body .afh-box .afh-meta { color: #8A8A8A; }
body .afh-box a.afh-btn { min-height: 50px; padding: 0 24px; font-size: 16px; }
body .afh-box .afh-badge { top: -13px; left: 20px; background: var(--m09-yellow); color: var(--m09-black); font-family: var(--m09-display); font-weight: 800; font-size: 14px; letter-spacing: .6px; text-transform: uppercase; padding: 3px 12px; box-shadow: 0 0 0 3px var(--m09-ground); }

/* Preis, Ersparnis, Knöpfe */
.afh-price { font-family: var(--m09-display); font-weight: 800; letter-spacing: 0; }
.afh-price sup { font-family: var(--m09-body); }
.afh-savings { display: inline-block; align-self: flex-start; background: var(--m09-yellow); color: var(--m09-black) !important; border-radius: 6px; padding: 2px 8px; font-weight: 700; }
a.afh-btn { border-radius: 10px; font-weight: 800; letter-spacing: .2px; box-shadow: 0 3px 0 #B8A200; transition: transform .12s, box-shadow .12s, background .15s; }
a.afh-btn:hover { transform: translateY(-1px); box-shadow: 0 4px 0 #B8A200; }
a.afh-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 #B8A200; }

/* Liste: Kopf schwarz, große Platzziffern */
.afh-list__heading { font-family: var(--m09-display); font-weight: 800; text-transform: uppercase; font-size: 28px; letter-spacing: .3px; }
body .afh-list__items { border: 1px solid var(--m09-line); border-top: 4px solid var(--m09-yellow); border-radius: 16px; }
body .afh-list__item { grid-template-columns: 44px 88px minmax(0, 1fr) auto; gap: 18px; padding: 16px 20px; transition: background .15s; }
body .afh-list__item:hover { background: #FFFBE0; }
body .afh-rank { width: 44px; height: 44px; border-radius: 12px; background: var(--m09-black); color: #FFFFFF; font-family: var(--m09-display); font-size: 24px; }
body .afh-rank--top { background: var(--m09-yellow); color: var(--m09-black); }
body .afh-list__media { background: #FFFFFF; border: 1px solid #ECEBE6; border-radius: 10px; padding: 6px; }
body .afh-list__title { font-weight: 700; font-size: 16px; line-height: 1.3; }
body .afh-list__body .afh-price { font-size: 26px; color: var(--m09-black); }
body .afh-list__cta a.afh-btn { background: var(--m09-black); color: var(--m09-yellow) !important; box-shadow: 0 3px 0 #444; }
body .afh-list__cta a.afh-btn:hover { background: #262626; box-shadow: 0 4px 0 #444; }
body .afh-list__item:first-child .afh-list__cta a.afh-btn { background: var(--m09-yellow); color: var(--m09-black) !important; box-shadow: 0 3px 0 #B8A200; }

/* Karussell: helle Karten mit Bildfläche */
body .afh-card { box-shadow: none; border: 1px solid var(--m09-line); border-radius: 16px; padding: 0 0 14px; overflow: hidden; gap: 12px; transition: transform .15s, border-color .15s; }
body .afh-card:hover { transform: translateY(-3px); border-color: var(--m09-black); }
body .afh-card__media { background: #FFFFFF; border-bottom: 4px solid var(--m09-yellow); height: 180px; padding: 12px; }
body .afh-card__title, body .afh-card__foot { padding: 0 14px; }
body .afh-card__title { font-weight: 700; }
body .afh-card .afh-price { font-size: 28px; }
body .afh-card a.afh-btn { background: var(--m09-black); color: var(--m09-yellow) !important; box-shadow: none; }
body .afh-card a.afh-btn:hover { background: var(--m09-yellow); color: var(--m09-black) !important; }
body .afh-badge--card { top: 10px; left: 10px; background: var(--m09-black); color: var(--m09-yellow); }
.afh-carousel__heading { font-family: var(--m09-display); font-weight: 800; text-transform: uppercase; }
.afh-carousel__btn:hover:not(:disabled) { background: var(--m09-black); color: var(--m09-yellow); border-color: var(--m09-black); }

/* Vergleichstabelle */
body .afh-table { border-top: 4px solid var(--m09-yellow); }
body .afh-table th.afh-hl { box-shadow: inset 0 4px 0 var(--m09-black); }
body .afh-table .afh-hl { background: #FFFBE0; }
.afh-disclaimer, .afh-meta { color: var(--m09-muted); }

@media (max-width: 600px) {
	body .afh-box { grid-template-columns: 1fr; padding: 18px; }
	body .afh-box__media { max-width: 220px; margin: 0 auto; width: 100%; }
	body .afh-box .afh-title { font-size: 22px; }
	body .afh-list__item { grid-template-columns: 40px 64px minmax(0, 1fr); padding: 14px; gap: 12px; }
	body .afh-rank { width: 36px; height: 36px; font-size: 20px; }
}

/* Produkt-Links nicht wie Textlinks markieren */
.entry-content .afh-box a:not(.afh-btn), .entry-content .afh-list a:not(.afh-btn), .entry-content .afh-carousel a:not(.afh-btn), .entry-content .afh-table a:not(.afh-btn) { text-decoration: none !important; background: none !important; font-weight: inherit !important; }

/* Saison: Akzent statt Gelb am oberen Rand */
body.m09-season .afh-box, body.m09-season .afh-list__items, body.m09-season .afh-table { border-top-color: var(--m09-season); }
.m09-side__before { list-style: none; margin: 12px 0 0; padding: 0; }
.m09-side__before li { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 2px; border-top: 1px solid #262626; font-size: 14px; font-weight: 600; }
.m09-side__before li:first-child { border-top: 0; }
.m09-side__before small { display: block; font-size: 12px; font-weight: 400; color: #A8A8A8; }
.m09-side__before b { font-family: var(--m09-display); font-size: 18px; padding: 2px 8px; border-radius: 6px; background: #262626; }
.m09-side__before b.is-s { color: var(--m09-yellow); }
@media (max-width: 1079px) { .m09-side__before { display: none; } }

/* ---------- 0.2.0: Spieltag – Karte mittig füllen, Tipp-Trend ---------- */
@media (min-width: 1080px) {
	.m09-matchday__grid .m09-match { display: flex; flex-direction: column; justify-content: center; }
}
.m09-trend { margin-top: 16px; padding-top: 14px; border-top: 1px solid #2A2A2A; text-align: left; }
.m09-trend__head { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; margin-bottom: 8px; }
.m09-trend__head span { font-weight: 700; font-size: 13px; letter-spacing: .8px; text-transform: uppercase; color: var(--m09-yellow); }
.m09-trend__head small { font-size: 12px; color: #A8A8A8; }
.m09-trend__bar { display: flex; height: 12px; border-radius: 999px; overflow: hidden; background: #262626; }
.m09-trend__bar span { display: block; height: 100%; min-width: 0; transition: width .4s; }
.m09-trend .is-home { background: #FFFFFF; }
.m09-trend .is-draw { background: #6A6A6A; }
.m09-trend .is-away { background: var(--m09-yellow); }
.m09-trend__legend { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 14px; margin-top: 8px; font-size: 13px; color: #D6D6D6; }
.m09-trend__legend i { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; }
.m09-trend__empty { margin: 0; font-size: 14px; color: #C9C9C9; }
.m09-trend__empty a { color: var(--m09-yellow) !important; font-weight: 700; text-decoration: none; }

/* ---------- 0.2.0: Song-Block – Infos | Cover | Charts ---------- */
.m09-song { display: grid; grid-template-columns: minmax(0, 1fr); gap: 24px; align-items: center; }
.m09-song__cover { width: 100%; max-width: 340px; margin: 0 auto; box-shadow: 0 10px 40px rgba(253, 225, 0, .12); }
.m09-song__chart { min-width: 0; align-self: stretch; display: flex; flex-direction: column; }
.m09-song__chart-head { margin: 0 0 8px; font-family: var(--m09-display); font-weight: 800; font-size: 22px; text-transform: uppercase; color: var(--m09-yellow); letter-spacing: .3px; }
.m09-chart { list-style: none; margin: 0; padding: 0; counter-reset: none; }
.m09-chart__item { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid #222; font-size: 14px; }
.m09-chart__item:last-child { border-bottom: 0; }
.m09-chart__rank { font-family: var(--m09-display); font-weight: 800; font-size: 18px; color: #8A8A8A; text-align: center; }
.m09-chart__item:nth-child(-n+3) .m09-chart__rank { color: var(--m09-black); background: var(--m09-yellow); border-radius: 6px; line-height: 24px; }
.m09-chart__title { font-weight: 600; color: #F0F0F0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.m09-chart__item.is-new .m09-chart__title::after { content: "NEU"; margin-left: 8px; font-size: 10px; font-weight: 800; letter-spacing: .6px; color: var(--m09-black); background: var(--m09-yellow); border-radius: 4px; padding: 1px 5px; vertical-align: 1px; }
.m09-chart__plays { font-size: 12px; color: #8A8A8A; font-variant-numeric: tabular-nums; }
.m09-song__chart-link { margin-top: auto; padding-top: 12px; font-weight: 700; font-size: 14px; color: var(--m09-yellow) !important; text-decoration: none; }
.m09-song__chart-link:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 760px) {
	.m09-song { grid-template-columns: minmax(0, 1fr) minmax(0, 300px); }
	.m09-song__chart { grid-column: 1 / -1; }
}
@media (min-width: 1080px) {
	.m09-song { grid-template-columns: minmax(0, 1fr) minmax(240px, 320px) minmax(0, 1fr); gap: 32px; }
	.m09-song__chart { grid-column: auto; }
}

/* ---------- 0.2.0: Saison-Look ---------- */
.m09-brand__mark { position: relative; }
.m09-brand__deco { position: absolute; left: -13px; top: -19px; width: 42px; height: 36px; transform: rotate(-18deg); pointer-events: none; filter: drop-shadow(0 2px 2px rgba(0,0,0,.5)); }
.m09-brand__deco svg { display: block; width: 100%; height: 100%; }
.m09-season--ostern .m09-brand__deco { left: 2px; top: -26px; transform: none; z-index: -1; }
.m09-brand__img { display: block; height: 52px; width: auto; }
.site-header { position: relative; }
.m09-season .site-header .inside-header > *:not(.m09-season-fx) { position: relative; z-index: 1; }
.m09-season .site-header .inside-header { padding-top: 18px; }
.m09-season .site-header { box-shadow: inset 0 -3px 0 var(--m09-season); }
.m09-season .m09-match { border-top-color: var(--m09-season); box-shadow: 0 -1px 24px -8px var(--m09-season); }
.m09-season .m09-product { border-color: var(--m09-season); border-style: dashed; }
.m09-season .m09-product__label { color: var(--m09-ink); }
.m09-season .m09-fan .m09-section-head h2::before { content: ""; display: inline-block; width: 10px; height: 10px; border-radius: 50%; background: var(--m09-season); margin-right: 10px; vertical-align: 6px; }
.m09-season-greet { font-family: var(--m09-display); font-weight: 800; font-size: 15px; letter-spacing: .4px; text-transform: uppercase; color: var(--m09-season); white-space: nowrap; }
@media (max-width: 1180px) { .m09-season-greet { display: none; } }

.m09-season-fx { position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 0; }
.m09-season-fx i { position: absolute; left: var(--x); top: -10px; display: block; }
/* Schnee */
.m09-season-fx--weihnachten i { width: var(--s); height: var(--s); border-radius: 50%; background: #FFFFFF; opacity: .75; animation: m09-snow var(--d) linear var(--del) infinite; }
@keyframes m09-snow { from { transform: translate(0, 0); } to { transform: translate(18px, 120px); } }
/* Funkeln */
.m09-season-fx--silvester i { top: calc(var(--x) * .9); width: var(--s); height: var(--s); border-radius: 50%; background: #F5C542; box-shadow: 0 0 8px 2px rgba(245, 197, 66, .7); opacity: 0; animation: m09-twinkle var(--d) ease-in-out var(--del) infinite; }
@keyframes m09-twinkle { 0%, 100% { opacity: 0; transform: scale(.4); } 50% { opacity: 1; transform: scale(1.4); } }
/* Fledermäuse */
.m09-season-fx--halloween i { top: calc(10px + var(--s) * 8px); left: -40px; opacity: .85; animation: m09-bat var(--d) linear var(--del) infinite; }
.m09-season-fx--halloween i svg { display: block; animation: m09-flap .35s ease-in-out infinite alternate; }
@keyframes m09-bat { from { transform: translateX(0) translateY(0); } 50% { transform: translateX(55vw) translateY(14px); } to { transform: translateX(110vw) translateY(0); } }
@keyframes m09-flap { from { transform: scaleY(1); } to { transform: scaleY(.55); } }
.m09-season--halloween .site-header { background-image: radial-gradient(ellipse 60% 120% at 50% 130%, rgba(255, 122, 26, .22), transparent 70%); }
@media (prefers-reduced-motion: reduce) { .m09-season-fx i, .m09-season-fx i svg { animation: none !important; } .m09-season-fx--halloween i, .m09-season-fx--weihnachten i { display: none; } }

.m09-chart.is-latest .m09-chart__rank { background: none !important; color: #8A8A8A !important; }
@media (min-width: 1080px) { .m09-song:not(:has(.m09-song__cover)) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } }
.m09-season-fx--halloween i svg { width: 46px; height: 18px; }

/* ---------- 0.2.2: „Folge MEIN09“ mit Fan-Zahlen + gelber Newsletter ---------- */
.m09-follow { display: grid; grid-template-columns: minmax(0, 1fr); gap: 20px; }
@media (min-width: 900px) { .m09-follow { grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); } }
.m09-follow__social { background: var(--m09-black); color: #FFFFFF; border-radius: 18px; padding: 24px; position: relative; overflow: hidden; }
.m09-follow__social::after { content: "09"; position: absolute; right: -10px; bottom: -46px; font-family: var(--m09-display); font-weight: 800; font-size: 190px; line-height: 1; color: rgba(253, 225, 0, .06); pointer-events: none; }
.m09-follow__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 16px; margin-bottom: 16px; }
.m09-follow__social .m09-follow__title { margin: 0; color: #FFFFFF; font-size: 32px; }
.m09-follow__total { margin: 0; font-size: 14px; color: #BDBDBD; }
.m09-follow__total b { color: var(--m09-yellow); font-family: var(--m09-display); font-size: 20px; }
.m09-fcards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
@media (min-width: 560px) { .m09-fcards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.m09-fcard { --brand: var(--m09-yellow); display: grid; grid-template-columns: 40px minmax(0, 1fr); grid-template-rows: auto auto auto; column-gap: 10px; align-items: center; padding: 12px; border-radius: 14px; background: #171717; border: 1px solid #2A2A2A; color: #FFFFFF !important; text-decoration: none !important; transition: transform .15s, border-color .15s, background .15s; }
.m09-fcard:hover, .m09-fcard:focus-visible { transform: translateY(-2px); border-color: var(--brand); background: #1E1E1E; }
.m09-fcard__icon { grid-row: 1 / 3; width: 40px; height: 40px; border-radius: 12px; display: inline-flex; align-items: center; justify-content: center; background: var(--brand); color: #FFFFFF; }
.m09-fcard__icon svg { width: 22px; height: 22px; }
.m09-fcard__img { width: 24px; height: 24px; object-fit: contain; }
.m09-fcard__name { font-weight: 700; font-size: 15px; line-height: 1.2; }
.m09-fcard__count { font-size: 12px; color: #BDBDBD; line-height: 1.3; }
.m09-fcard__count b { font-family: var(--m09-display); font-weight: 800; font-size: 20px; color: #FFFFFF; margin-right: 2px; }
.m09-fcard__cta { grid-column: 1 / -1; margin-top: 10px; font-size: 13px; font-weight: 700; color: var(--brand); }
.m09-fcard--youtube { --brand: #FF0033; }
.m09-fcard--facebook { --brand: #1877F2; }
.m09-fcard--instagram { --brand: #E1306C; }
.m09-fcard--instagram .m09-fcard__icon { background: linear-gradient(45deg, #F58529, #DD2A7B 55%, #8134AF); }
.m09-fcard--tiktok { --brand: #25F4EE; }
.m09-fcard--tiktok .m09-fcard__icon { background: #000000; box-shadow: inset 0 0 0 2px #25F4EE, 2px 2px 0 #FE2C55; }
.m09-fcard--spotify { --brand: #1DB954; }
.m09-fcard--spotify .m09-fcard__icon { color: #000000; }
.m09-fcard--applemusic { --brand: #FA2D48; }

.m09-follow__news { background: var(--m09-yellow); color: var(--m09-black); border-radius: 18px; padding: 24px; position: relative; overflow: hidden; }
.m09-follow__news::before { content: ""; position: absolute; right: -30px; top: -30px; width: 140px; height: 140px; border-radius: 50%; border: 18px solid rgba(13, 13, 13, .07); pointer-events: none; }
.m09-follow__news .m09nl__title { font-family: var(--m09-display); font-weight: 800; font-size: 32px; text-transform: none; }
.m09-follow__news .m09nl__text { color: #2A2A2A; }
.m09-follow__news .m09nl__input { border-color: var(--m09-black); background: #FFFFFF; }
.m09-follow__news .m09nl__input:focus { outline-color: var(--m09-black); }
.m09-follow__news .m09nl__btn { background: var(--m09-black); color: var(--m09-yellow); }
.m09-follow__news .m09nl__btn:hover { background: #262626; }
.m09-follow__news .m09nl__legal { color: #3A3A3A; }
.m09-follow__news .m09nl__legal a { color: var(--m09-black); font-weight: 600; }
.m09-follow__news .m09nl__notice { background: #FFFFFF; }

/* Affiliate Hub ohne API: „Preis prüfen“ klein statt riesig */
body .afh-box .afh-price--check, body .afh-price--check { font-family: var(--m09-body); font-size: 14px; font-weight: 600; color: #BDBDBD; }
body .afh-list .afh-price--check, body .afh-card .afh-price--check { color: var(--m09-muted); }
.m09-fcard { grid-template-columns: 40px minmax(0, 1fr); row-gap: 0; align-content: start; }
.m09-fcard__icon { grid-row: auto; }
.m09-fcard__count { grid-column: 1 / -1; margin-top: 10px; }
.m09-fcard__count b { font-size: 24px; }
.m09-fcard__cta { margin-top: 8px; }

/* ---------- 0.2.3: YouTube neben dem Top-Thema ---------- */
.m09-yt { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; background: var(--m09-black); border-radius: var(--m09-radius); padding: 12px; color: #FFFFFF; }
.m09-yt__head { display: flex; align-items: center; gap: 8px; margin: 2px 4px 10px; font-family: var(--m09-display); font-weight: 800; font-size: 18px; text-transform: uppercase; letter-spacing: .3px; }
.m09-yt__dot { width: 10px; height: 10px; border-radius: 50%; background: #FF0033; box-shadow: 0 0 0 4px rgba(255, 0, 51, .2); }
.m09-yt__frame { position: relative; flex: 1 1 auto; min-height: 200px; aspect-ratio: 16 / 9; border-radius: 10px; overflow: hidden; background: radial-gradient(circle at 30% 20%, #2A2A2A, #0A0A0A 70%); }
.m09-yt__frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.m09-yt__play { position: absolute; inset: 0; width: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 16px; border: 0; background: transparent; color: #FFFFFF; cursor: pointer; text-align: center; font: inherit; }
.m09-yt__play::before { content: "09"; position: absolute; right: 8px; bottom: -28px; font-family: var(--m09-display); font-weight: 800; font-size: 130px; line-height: 1; color: rgba(253, 225, 0, .07); }
.m09-yt__btn { width: 64px; height: 64px; border-radius: 50%; background: var(--m09-yellow); display: inline-flex; align-items: center; justify-content: center; transition: transform .15s; }
.m09-yt__play:hover .m09-yt__btn, .m09-yt__play:focus-visible .m09-yt__btn { transform: scale(1.08); }
.m09-yt__label { font-weight: 700; font-size: 16px; }
.m09-yt__note { max-width: 300px; font-size: 12px; line-height: 1.4; color: #A8A8A8; }

/* ---------- 0.2.4: Tag-/Nacht-Modus ---------- */
.m09-mode { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0; margin-left: 6px; border: 1px solid #3A3A3A; border-radius: 50%; background: transparent; color: #FFFFFF; cursor: pointer; transition: border-color .15s, color .15s, transform .2s; }
.m09-mode:hover, .m09-mode:focus-visible { border-color: var(--m09-yellow); color: var(--m09-yellow); }
.m09-mode:active { transform: rotate(-20deg); }
.m09-mode__sun { display: none; }
html[data-theme="dark"] .m09-mode__sun { display: block; }
html[data-theme="dark"] .m09-mode__moon { display: none; }
.main-navigation .menu-bar-items { display: flex; align-items: center; }
.m09-mode-item { display: inline-flex; align-items: center; }

html[data-theme="dark"] {
	--m09-ground: #101010;
	--m09-card: #1A1A1A;
	--m09-ink: #EDEDE8;
	--m09-line: #2E2E2E;
	--m09-muted: #A3A39C;
	--m09-accent-text: #FDE100;
	color-scheme: dark;
}
html[data-theme="dark"] body { background: var(--m09-ground); color: var(--m09-ink); }
html[data-theme="dark"] h1, html[data-theme="dark"] h2, html[data-theme="dark"] h3, html[data-theme="dark"] h4, html[data-theme="dark"] h5, html[data-theme="dark"] h6,
html[data-theme="dark"] .entry-title, html[data-theme="dark"] .entry-title a, html[data-theme="dark"] .entry-content, html[data-theme="dark"] .page-header h1 { color: var(--m09-ink); }
html[data-theme="dark"] a { color: var(--m09-ink); }
html[data-theme="dark"] .entry-content a:not(.afh-btn):not(.m09-share__btn):not(.wp-block-button__link):hover { color: var(--m09-black); }
html[data-theme="dark"] .site-content .inside-article, html[data-theme="dark"] .comments-area, html[data-theme="dark"] .sidebar .widget, html[data-theme="dark"] .inside-page-header, html[data-theme="dark"] .paging-navigation { background: var(--m09-card); color: var(--m09-ink); }
html[data-theme="dark"] input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), html[data-theme="dark"] textarea, html[data-theme="dark"] select { background: #121212; color: var(--m09-ink); border-color: var(--m09-line); }
html[data-theme="dark"] .m09-follow__news input { background: #FFFFFF !important; color: #111111 !important; border-color: var(--m09-black) !important; }
html[data-theme="dark"] blockquote { background: #141414; }
html[data-theme="dark"] .m09-tile.is-light { border-color: var(--m09-line); }
html[data-theme="dark"] .m09-share__btn { background: transparent; color: var(--m09-ink) !important; border-color: #4A4A4A; }
html[data-theme="dark"] .m09-share__btn:hover { background: var(--m09-yellow); color: var(--m09-black) !important; border-color: var(--m09-yellow); }
html[data-theme="dark"] .m09-share__btn--link { background: var(--m09-yellow); color: var(--m09-black) !important; border-color: var(--m09-yellow); }
html[data-theme="dark"] .comment-form textarea:focus, html[data-theme="dark"] .comment-form input:focus { background: #121212; border-color: var(--m09-yellow); }
html[data-theme="dark"] .comment-form input[type="submit"]:hover { background: #FFFFFF; color: var(--m09-black); }
html[data-theme="dark"] .m09-recent__link:hover .m09-recent__title, html[data-theme="dark"] .m09-recent__link:hover .m09-recent__date { color: var(--m09-black); }
html[data-theme="dark"] .m09-recent__item.is-current .m09-recent__link { box-shadow: inset 3px 0 0 var(--m09-yellow); background: #222222; }
html[data-theme="dark"] .m09-product { background: #141414; }
html[data-theme="dark"] .entry-meta, html[data-theme="dark"] .entry-meta a, html[data-theme="dark"] .cat-links a, html[data-theme="dark"] .tags-links a { color: var(--m09-muted); }
html[data-theme="dark"] .m09-ad { background: #161616 !important; border-color: #333 !important; color: #8A8A8A !important; }
/* Affiliate Hub: helle Flächen abdunkeln, Produktbilder bleiben auf Weiß */
html[data-theme="dark"] body .afh-list, html[data-theme="dark"] body .afh-carousel, html[data-theme="dark"] body .afh-table-wrap, html[data-theme="dark"] body .afh-disclaimer { --afh-surface: #1A1A1A; --afh-border: #2E2E2E; --afh-muted: #A3A39C; --afh-soft: #242424; color: var(--m09-ink); }
html[data-theme="dark"] body .afh-box { box-shadow: none; border-color: #2E2E2E; }
html[data-theme="dark"] body .afh-list__item:hover, html[data-theme="dark"] body .afh-table .afh-hl { background: #23210F; }
html[data-theme="dark"] body .afh-rank { background: #2E2E2E; }
html[data-theme="dark"] body .afh-rank--top { background: var(--m09-yellow); }
html[data-theme="dark"] body .afh-list__body .afh-price { color: var(--m09-ink); }
html[data-theme="dark"] body .afh-list__cta a.afh-btn, html[data-theme="dark"] body .afh-card a.afh-btn { background: #2A2A2A; box-shadow: 0 3px 0 #000; }
html[data-theme="dark"] body .afh-card:hover { border-color: var(--m09-yellow); }
/* Tippspiel */
html[data-theme="dark"] .m09t-game, html[data-theme="dark"] .m09t-login, html[data-theme="dark"] .m09t-table, html[data-theme="dark"] .m09t-winners li { background: var(--m09-card); border-color: var(--m09-line); color: var(--m09-ink); }
html[data-theme="dark"] .m09t-table td { border-color: var(--m09-line); }
html[data-theme="dark"] .m09t-table tr.is-me td { background: #2B2808; }
html[data-theme="dark"] .m09t-goal { background: #121212; color: var(--m09-ink); border-color: #5A5A5A; }
html[data-theme="dark"] .m09t-game.is-saved { border-color: var(--m09-yellow); }
html[data-theme="dark"] .m09t-game__meta { color: var(--m09-yellow); }
html[data-theme="dark"] .m09t-rules, html[data-theme="dark"] .m09t-table td small { color: var(--m09-muted); }
html[data-theme="dark"] .m09t-btn--ghost { border-color: var(--m09-ink); color: var(--m09-ink) !important; }
html[data-theme="dark"] .m09t-test { background: #2B2808; border-color: #8A7A00; }
html[data-theme="dark"] .comment-list .m09t-comment--winner > .comment-body, html[data-theme="dark"] .comment-list .m09t-comment--winner > article { background: #2B2808; }
/* Sanfter Wechsel */
html.m09-mode-anim body, html.m09-mode-anim .inside-article, html.m09-mode-anim .widget, html.m09-mode-anim .m09-tile, html.m09-mode-anim .m09-mini, html.m09-mode-anim .m09-lead { transition: background-color .25s, color .25s; }
html[data-theme="dark"] .m09-tile.is-dark, html[data-theme="dark"] .m09-yt, html[data-theme="dark"] .m09-follow__social, html[data-theme="dark"] .m09-song { box-shadow: inset 0 0 0 1px #262626; }
html[data-theme="dark"] .m09-follow__news h2, html[data-theme="dark"] .m09-follow__news .m09nl__title, html[data-theme="dark"] .m09-follow__news a, html[data-theme="dark"] .m09-follow__news .m09nl__msg { color: #0D0D0D !important; }
html[data-theme="dark"] .m09-tile.is-yellow, html[data-theme="dark"] .m09-tile.is-yellow * { color: #0D0D0D; }
.inside-navigation { display: flex; align-items: center; }
.inside-navigation .m09-mode-item { order: 20; margin-left: 4px; }
.inside-navigation .menu-toggle { order: 10; }
@media (max-width: 768px) { .inside-navigation .m09-mode-item { order: 5; } }
/* Nachtmodus: Fußball-Datencenter (Tabelle, Form) und Weiter-Knopf */
html[data-theme="dark"] .mein09-blt, html[data-theme="dark"] .mein09-form-card, html[data-theme="dark"] .mein09-form-item { background: #1A1A1A !important; color: var(--m09-ink) !important; border-color: #2E2E2E !important; }
html[data-theme="dark"] .mein09-blt th { background: #222222 !important; color: #A3A39C !important; }
html[data-theme="dark"] .mein09-blt td { border-color: #2A2A2A !important; color: var(--m09-ink); }
html[data-theme="dark"] .mein09-blt tr.is-highlight { background: #3A3405 !important; }
html[data-theme="dark"] .mein09-blt__compact-foot { background: #161616 !important; color: #A3A39C !important; }
html[data-theme="dark"] .mein09-form-card * { color: inherit; }
html[data-theme="dark"] .paging-navigation a, html[data-theme="dark"] .m09-more, html[data-theme="dark"] .m09-btn--ghost { color: var(--m09-ink) !important; border-color: #5A5A5A !important; }

/* Leere Werbeplätze (Google liefert nichts) ganz ausblenden – kein verwaistes „Anzeige“ */
.m09-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none !important; }
