/* ─────────────────────────────────────────────────────────
   Verkehrsmonitor Deutschland – CSS
   ───────────────────────────────────────────────────────── */

:root {
	--vm-dark:     #0b1628;
	--vm-navy:     #071c3a;
	--vm-accent:   #f0c430;
	--vm-accent-hover: #d4ab20;
	--vm-red:      #e04040;
	--vm-orange:   #e88c30;
	--vm-blue:     #3a8fd4;
	--vm-green:    #108e6c;
	--vm-surface:  #f6f8fa;
	--vm-border:   #dce3e8;
	--vm-text:     #1a2332;
	--vm-muted:    #6b7a8d;
	--vm-radius:   12px;
}

/* ─── Header (Dark) ────────────────────────────────────── */

.vm-header {
	background: var(--vm-dark);
	color: #fff;
	padding: clamp(2rem, 5vw, 3.5rem) 0 clamp(2.5rem, 6vw, 4rem);
}
.vm-header--hero {
	background: url('/wp-content/uploads/2026/06/verkehrsmonitor-deutschland.webp') center/cover no-repeat;
	min-height: 480px;
	display: flex;
	align-items: flex-end;
}
.vm-header--hero .vm-header-action {
	margin: 0;
}

/* Bundesland-Badges */
.vm-bl-badges {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	margin-top: 1.2rem;
}
.vm-bl-badge {
	display: inline-block;
	padding: .35rem .8rem;
	font-size: .82rem;
	font-weight: 500;
	color: var(--vm-text);
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: 20px;
	text-decoration: none;
	transition: border-color .15s, background .15s, color .15s;
}
.vm-bl-badge:hover {
	border-color: var(--vm-navy);
	background: var(--vm-navy);
	color: #fff;
}

/* Intro-Bereich */
.vm-intro {
	padding: 2rem 0 1rem;
}
.vm-intro-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--bs-gutter-x, 1.5rem);
}
.vm-intro .vm-header-title { color: var(--vm-text); }
.vm-intro .vm-header-lead { color: var(--vm-muted); }
.vm-intro .dgt-eyebrow { color: var(--vm-accent); }
.vm-intro .dgt-breadcrumb a { color: var(--vm-muted); }
.vm-intro .dgt-breadcrumb li { color: var(--vm-muted); }
.vm-intro .vm-tile {
	background: var(--vm-surface);
	border-color: var(--vm-border);
}
.vm-intro .vm-tile-label { color: var(--vm-muted); }
.vm-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--bs-gutter-x, 1.5rem);
}
.vm-header .dgt-breadcrumb a { color: rgba(255,255,255,.6); }
.vm-header .dgt-breadcrumb li { color: rgba(255,255,255,.45); }
.vm-header .dgt-eyebrow { color: var(--vm-accent); }
.vm-header-action {
	margin-top: 1.4rem;
}

.vm-header-actions {
	display: flex;
	align-items: center;
	gap: .75rem;
	flex-wrap: wrap;
	margin: 0;
}

.vm-fb-hero-btn {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .55rem 1.15rem;
	font-size: .9rem;
	font-weight: 600;
	color: #fff !important;
	background: #1877f2;
	border-radius: 8px;
	text-decoration: none !important;
	transition: background .2s, transform .15s;
	white-space: nowrap;
}

.vm-fb-hero-btn:hover,
.vm-fb-hero-btn:focus {
	background: #0d65d9;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
}

.vm-fb-hero-btn svg {
	flex-shrink: 0;
}
.vm-header-title {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	font-weight: 800;
	line-height: 1.15;
	margin: .3rem 0 .6rem;
}
.vm-header-sub {
	font-size: 1.1rem;
	color: rgba(255,255,255,.7);
	margin-bottom: 1.2rem;
}
.vm-header-lead {
	font-size: 1.05rem;
	color: rgba(255,255,255,.75);
	max-width: 680px;
	line-height: 1.6;
	margin-bottom: 1.5rem;
}

/* Accent button */
.dgt-btn-accent {
	background: var(--vm-accent);
	color: var(--vm-dark);
	border: none;
	font-weight: 600;
}
.dgt-btn-accent:hover {
	background: var(--vm-accent-hover);
	color: var(--vm-dark);
}

/* ─── Stat Tiles ───────────────────────────────────────── */

.vm-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: .8rem;
	margin: 1.2rem 0;
}
.vm-tile {
	background: rgba(255,255,255,.08);
	border-radius: var(--vm-radius);
	padding: 1rem 1.2rem;
	text-align: center;
	border: 1px solid rgba(255,255,255,.08);
}
.vm-tile-val {
	display: block;
	font-size: 2rem;
	font-weight: 800;
	line-height: 1.1;
}
.vm-tile-label {
	display: block;
	font-size: .82rem;
	color: rgba(255,255,255,.6);
	margin-top: .25rem;
}
.vm-tile--alkohol .vm-tile-val { color: var(--vm-red); }
.vm-tile--drogen  .vm-tile-val { color: var(--vm-orange); }
.vm-tile--unfall  .vm-tile-val { color: var(--vm-blue); }
.vm-tile--fs      .vm-tile-val { color: var(--vm-accent); }
.vm-tile--bak     .vm-tile-val { color: var(--vm-red); font-size: 1.6rem; }

/* Inside light context (sections) */
.dgt-content .vm-tiles .vm-tile {
	background: var(--vm-surface);
	border-color: var(--vm-border);
}
.dgt-content .vm-tile-label { color: var(--vm-muted); }

/* ─── Trend Arrows ─────────────────────────────────────── */

.vm-trend {
	display: inline-block;
	font-size: .75rem;
	font-weight: 600;
	margin-top: .2rem;
	padding: .1rem .4rem;
	border-radius: 4px;
}
.vm-trend--up   { color: var(--vm-red);   background: rgba(224,64,64,.1); }
.vm-trend--down { color: var(--vm-green); background: rgba(16,142,108,.1); }
.vm-trend--flat { color: var(--vm-muted); background: rgba(107,122,141,.1); }

/* ─── Section Titles ───────────────────────────────────── */

.vm-section-title {
	font-size: 1.3rem;
	font-weight: 700;
	margin: 1.8rem 0 1rem;
	color: var(--vm-text);
}
.vm-section-sub {
	color: var(--vm-muted);
	font-size: .92rem;
	margin: -.6rem 0 1rem;
}
.vm-section-count {
	font-weight: 400;
	color: var(--vm-muted);
	font-size: .9rem;
}

/* ─── Incident Cards ───────────────────────────────────── */

.vm-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1rem;
}
.vm-card {
	background: #fff;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	overflow: hidden;
	transition: box-shadow .15s, border-color .15s;
	border-left: 4px solid var(--vm-border);
}
.vm-card:hover {
	border-color: var(--vm-navy);
	box-shadow: 0 4px 16px rgba(11,22,40,.08);
}
.vm-delikt--alkohol { border-left-color: var(--vm-red); }
.vm-delikt--drogen  { border-left-color: var(--vm-orange); }
.vm-delikt--beides  { border-left-color: #c040c0; }
.vm-delikt--sonstig { border-left-color: var(--vm-muted); }

.vm-card-link {
	display: block;
	padding: 1.1rem 1.3rem;
	text-decoration: none;
	color: inherit;
}
.vm-card-badge {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: .15rem .5rem;
	border-radius: 4px;
	margin-bottom: .5rem;
}
.vm-delikt--alkohol .vm-card-badge { background: rgba(224,64,64,.1);  color: var(--vm-red); }
.vm-delikt--drogen  .vm-card-badge { background: rgba(232,140,48,.1); color: var(--vm-orange); }
.vm-delikt--beides  .vm-card-badge { background: rgba(192,64,192,.1); color: #c040c0; }

.vm-card-title {
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	margin: 0 0 .4rem;
	color: var(--vm-text);
}
.vm-card-summary {
	font-size: .88rem;
	color: var(--vm-muted);
	line-height: 1.5;
	margin: 0 0 .5rem;
}
.vm-card-meta {
	font-size: .78rem;
	color: var(--vm-muted);
}

/* ─── Incident Rows (compact list) ─────────────────────── */

.vm-row {
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .8rem 1rem;
	border-bottom: 1px solid var(--vm-border);
	text-decoration: none;
	color: inherit;
	transition: background .1s;
	border-left: 3px solid transparent;
}
.vm-row:hover { background: var(--vm-surface); }
.vm-delikt--alkohol.vm-row { border-left-color: var(--vm-red); }
.vm-delikt--drogen.vm-row  { border-left-color: var(--vm-orange); }

.vm-row-badge {
	flex-shrink: 0;
	font-size: .7rem;
	font-weight: 700;
	text-transform: uppercase;
	padding: .15rem .4rem;
	border-radius: 3px;
	background: var(--vm-surface);
}
.vm-row-title {
	flex: 1;
	font-size: .92rem;
	font-weight: 500;
}
.vm-row-meta {
	flex-shrink: 0;
	font-size: .78rem;
	color: var(--vm-muted);
}

/* ─── Pagination ───────────────────────────────────────── */

.vm-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .3rem;
	margin: 2rem 0;
}
.vm-page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 .6rem;
	border: 1px solid var(--vm-border);
	border-radius: 8px;
	font-size: .88rem;
	text-decoration: none;
	color: var(--vm-text);
	transition: background .1s, border-color .1s;
}
.vm-page-link:hover { background: var(--vm-surface); border-color: var(--vm-navy); }
.vm-page-current { background: var(--vm-navy); color: #fff; border-color: var(--vm-navy); }

/* ─── Bundesland Grid ──────────────────────────────────── */

.vm-bl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
	gap: .6rem;
	margin: 1rem 0;
}
.vm-bl-chip {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: .8rem .5rem;
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	text-decoration: none;
	color: var(--vm-text);
	transition: border-color .15s, box-shadow .15s;
}
.vm-bl-chip:hover {
	border-color: var(--vm-navy);
	box-shadow: 0 2px 8px rgba(11,22,40,.08);
}
.vm-bl-kz {
	font-size: .9rem;
	font-weight: 700;
}
.vm-bl-count {
	font-size: .78rem;
	color: var(--vm-muted);
}

/* ─── Facts Box (Single) ───────────────────────────────── */

.vm-facts {
	margin: 1.5rem 0;
}
.vm-facts-title {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 .8rem;
}
.vm-facts-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .6rem;
}
.vm-fact-card {
	display: flex;
	align-items: stretch;
	overflow: hidden;
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
}
.vm-fact-icon {
	flex-shrink: 0;
	width: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(58,143,212,.1);
	color: var(--vm-blue);
	line-height: 0;
}
.vm-fact-icon svg {
	width: 22px;
	height: 22px;
}
.vm-fact-body {
	display: flex;
	flex-direction: column;
	gap: .1rem;
	padding: .75rem .9rem;
}
.vm-fact-label {
	font-size: .75rem;
	font-weight: 500;
	color: var(--vm-muted);
	text-transform: uppercase;
	letter-spacing: .03em;
}
.vm-fact-value {
	font-size: .92rem;
	font-weight: 600;
	color: var(--vm-text);
}

/* ─── Rechtsinfo ───────────────────────────────────────── */

.vm-rechtsinfo {
	background: #fffbeb;
	border: 1px solid #f0c430;
	border-radius: var(--vm-radius);
	padding: 1.2rem 1.4rem;
	margin: 1.5rem 0;
}
.vm-rechtsinfo-title {
	font-size: .95rem;
	font-weight: 700;
	margin: 0 0 .5rem;
	color: var(--vm-text);
}
.vm-rechtsinfo p {
	font-size: .9rem;
	color: var(--vm-text);
	margin: 0;
	line-height: 1.6;
}

/* ─── Single Page (Redesign) ──────────────────────────── */

.vm-s-wrap {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 2rem;
	max-width: 1200px;
	margin: 0 auto;
	padding: 2rem var(--bs-gutter-x, 1.5rem);
}
.vm-s-main { min-width: 0; }

/* Kopfbereich */
.vm-single-badge {
	display: inline-block;
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	padding: .2rem .6rem;
	border-radius: 4px;
}
.vm-single-badge.vm-delikt--alkohol { background: rgba(224,64,64,.12); color: var(--vm-red); }
.vm-single-badge.vm-delikt--drogen  { background: rgba(232,140,48,.12); color: var(--vm-orange); }
.vm-single-badge.vm-delikt--beides  { background: rgba(192,64,192,.12); color: #c040c0; }
.vm-single-date {
	display: inline-block;
	font-size: .85rem;
	color: var(--vm-muted);
	margin-left: .6rem;
}

.vm-s-head { margin-bottom: .5rem; }

.vm-s-title {
	font-size: clamp(1.5rem, 3.5vw, 2rem);
	font-weight: 800;
	line-height: 1.2;
	margin: 0 0 1rem;
	color: var(--vm-text);
}

.vm-s-summary {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--vm-text);
	margin-bottom: 1rem;
}
.vm-s-summary p { margin: 0 0 .5rem; }

.vm-s-meta-line {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	padding: .8rem 0;
	border-top: 1px solid var(--vm-border);
	border-bottom: 1px solid var(--vm-border);
	margin-bottom: 1.5rem;
}
.vm-s-meta-item {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-size: .88rem;
	color: var(--vm-muted);
}
.vm-s-meta-item svg { color: var(--vm-muted); flex-shrink: 0; }

/* Section Titles */
.vm-s-section-title {
	font-size: 1.15rem;
	font-weight: 700;
	margin: 2rem 0 1rem;
	color: var(--vm-text);
}

/* Stat Cards */
.vm-s-stat-cards { margin: 1.5rem 0; }
.vm-s-stat-cards .vm-s-section-title { margin-top: 0; }
.vm-s-stats-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
	gap: .8rem;
}
.vm-s-stat-card {
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 1rem 1.2rem;
	text-align: center;
}
.vm-s-stat-val {
	display: block;
	font-size: 1.8rem;
	font-weight: 800;
	color: var(--vm-navy);
	line-height: 1.1;
}
.vm-s-stat-label {
	display: block;
	font-size: .8rem;
	color: var(--vm-muted);
	margin-top: .3rem;
}

/* Rechtliche Einordnung */
.vm-s-legal {
	display: flex;
	gap: 1rem;
	background: #fffbeb;
	border: 1px solid #f0c430;
	border-radius: var(--vm-radius);
	padding: 1.2rem 1.4rem;
	margin: 1.5rem 0;
}
.vm-s-legal-icon {
	flex-shrink: 0;
	color: #b8860b;
	margin-top: .1rem;
}
.vm-s-legal-title {
	display: block;
	font-size: .95rem;
	margin-bottom: .4rem;
}
.vm-s-legal-body p {
	font-size: .88rem;
	line-height: 1.6;
	color: var(--vm-text);
	margin: 0 0 .3rem;
}
.vm-s-legal-body a {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: dashed;
	text-decoration-color: rgba(0,0,0,.25);
	text-underline-offset: 2px;
	transition: text-decoration-color .15s;
}
.vm-s-legal-body a:hover {
	text-decoration-style: solid;
	text-decoration-color: rgba(0,0,0,.5);
}

/* Suchtberatung Badges (single page) */
.vm-s-sb-badges {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1.5rem;
}
.vm-s-sb-badge {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .45rem 1rem;
	font-size: .85rem;
	font-weight: 500;
	color: var(--vm-green);
	background: rgba(16,142,108,.08);
	border: 1px solid rgba(16,142,108,.2);
	border-radius: 2rem;
	text-decoration: none;
	transition: background .15s, border-color .15s, color .15s;
}
.vm-s-sb-badge:hover {
	background: var(--vm-green);
	border-color: var(--vm-green);
	color: #fff;
}
.vm-s-sb-badge svg {
	flex-shrink: 0;
}

/* Link Cards */
.vm-s-link-cards {
	display: flex;
	flex-direction: column;
	gap: .6rem;
	margin-bottom: 1.5rem;
}
.vm-s-link-card {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.1rem 1.3rem;
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	text-decoration: none;
	color: inherit;
	transition: border-color .15s, box-shadow .15s;
}
.vm-s-link-card:hover {
	border-color: var(--vm-navy);
	box-shadow: 0 2px 8px rgba(11,22,40,.06);
}
.vm-s-link-icon {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
}
.vm-s-link-icon--green  { background: rgba(16,142,108,.1); color: var(--vm-green); }
.vm-s-link-icon--blue   { background: rgba(58,143,212,.1); color: var(--vm-blue); }
.vm-s-link-icon--red    { background: rgba(224,64,64,.1); color: var(--vm-red); }
.vm-s-link-icon--purple { background: rgba(128,64,192,.1); color: #8040c0; }
.vm-s-link-body {
	display: flex;
	flex-direction: column;
	gap: .15rem;
	flex: 1;
}
.vm-s-link-body strong {
	font-size: .95rem;
	color: var(--vm-text);
}
.vm-s-link-body > span {
	font-size: .85rem;
	color: var(--vm-muted);
}
.vm-s-link-cta {
	font-size: .85rem;
	font-weight: 600;
	color: var(--dgt-green, #108e6c);
	margin-top: .15rem;
}

/* Source */
.vm-s-origin-link {
	text-align: center;
	margin: 2rem 0 1.5rem !important;
}
.vm-s-origin-link a {
	font-size: .88rem;
	color: var(--vm-muted);
	text-decoration: none;
	transition: color .15s;
}
.vm-s-origin-link a:hover {
	color: var(--vm-blue);
}
.dgt-btn-outline {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .5rem 1rem;
	border: 1px solid var(--vm-border);
	border-radius: 8px;
	font-size: .85rem;
	font-weight: 500;
	color: var(--vm-text);
	text-decoration: none;
	background: #fff;
	transition: border-color .15s;
	white-space: nowrap;
}
.dgt-btn-outline:hover { border-color: var(--vm-navy); }

/* Facebook-Diskussion CTA */
.vm-s-fb-cta {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 1.1rem 1.3rem;
	margin-bottom: 1.5rem;
	background: linear-gradient(135deg, #eff6ff 0%, #f0f4ff 100%);
	border: 1px solid #bfdbfe;
	border-radius: var(--vm-radius);
	transition: border-color .2s, box-shadow .2s;
}
.vm-s-fb-cta:hover {
	border-color: #93bbfc;
	box-shadow: 0 2px 12px rgba(24,119,242,.1);
}
.vm-s-fb-cta-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #1877f2;
	color: #fff;
	border-radius: 12px;
}
.vm-s-fb-cta-body {
	flex: 1;
	min-width: 0;
}
.vm-s-fb-cta-body strong {
	display: block;
	font-size: .95rem;
	color: var(--vm-text);
	line-height: 1.3;
}
.vm-s-fb-cta-body span {
	display: block;
	font-size: .84rem;
	color: var(--vm-muted);
	margin-top: 2px;
}
.vm-s-fb-cta-btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .55rem 1.1rem;
	background: #1877f2;
	color: #fff;
	font-size: .85rem;
	font-weight: 600;
	border-radius: 8px;
	text-decoration: none;
	white-space: nowrap;
	transition: background .15s;
}
.vm-s-fb-cta-btn:hover {
	background: #0d65d9;
	color: #fff;
}

/* Footer: Share + Back */
.vm-s-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.5rem 0;
	border-top: 1px solid var(--vm-border);
	margin-top: 1.5rem;
}
.vm-s-share {
	display: flex;
	align-items: center;
	gap: .5rem;
}
.vm-s-share-label {
	font-size: .85rem;
	color: var(--vm-muted);
}
.vm-s-share-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid var(--vm-border);
	border-radius: 8px;
	color: var(--vm-muted);
	text-decoration: none;
	transition: border-color .15s, color .15s;
}
.vm-s-share-btn:hover {
	border-color: var(--vm-navy);
	color: var(--vm-text);
}

/* ─── Sidebar ─────────────────────────────────────────── */

.vm-s-sidebar {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.vm-s-sb-card {
	background: #fff;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 1.2rem;
}
.vm-s-sb-title {
	font-size: .95rem;
	font-weight: 700;
	margin: 0 0 .8rem;
	color: var(--vm-text);
}
.vm-s-sb-text {
	font-size: .85rem;
	color: var(--vm-muted);
	line-height: 1.5;
	margin: 0 0 .6rem;
}
.vm-s-sb-small {
	font-size: .82rem;
	color: var(--vm-muted);
}
a.vm-law-ref {
	color: inherit;
	text-decoration: underline;
	text-decoration-style: dashed;
	text-decoration-color: rgba(0,0,0,.2);
	text-underline-offset: 2px;
	transition: text-decoration-color .15s, color .15s;
}
a.vm-law-ref:hover {
	color: var(--vm-text);
	text-decoration-style: solid;
	text-decoration-color: rgba(0,0,0,.45);
}
.vm-s-sb-link {
	display: inline-block;
	font-size: .85rem;
	font-weight: 600;
	color: var(--dgt-green, #108e6c);
	text-decoration: none;
	margin-top: .3rem;
}
.vm-s-sb-link:hover { text-decoration: underline; }

/* Sidebar: Facebook Teaser (compact) */
.vm-fb-compact {
	background: linear-gradient(135deg, #1a2744 0%, #0b1628 100%);
	border-color: transparent;
}
.vm-fb-compact .vm-s-sb-title {
	color: #fff;
	margin: 0;
}
.vm-fb-compact-head {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .6rem;
}
.vm-fb-compact-head svg { flex-shrink: 0; }
.vm-fb-compact-text {
	font-size: .84rem;
	line-height: 1.55;
	color: rgba(255,255,255,.7);
	margin: 0 0 .8rem;
}
.vm-fb-compact-btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .5rem 1rem;
	font-size: .84rem;
	font-weight: 600;
	color: #fff !important;
	background: #1877f2;
	border-radius: 7px;
	text-decoration: none !important;
	transition: background .2s, transform .15s;
}
.vm-fb-compact-btn:hover,
.vm-fb-compact-btn:focus {
	background: #0d65d9;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
}
.vm-fb-compact-btn svg { flex-shrink: 0; }

/* Sidebar: Produkte */
.vm-s-prod-item {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding: .6rem 0;
	text-decoration: none !important;
	color: var(--vm-text);
	transition: background .15s;
	border-radius: 6px;
}
.vm-s-prod-item + .vm-s-prod-item {
	border-top: 1px solid var(--vm-border);
}
.vm-s-prod-item:hover {
	color: var(--vm-text);
}
.vm-s-prod-item:hover .vm-s-prod-name {
	color: var(--dgt-green, #108e6c);
}
.vm-s-prod-img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	border-radius: 6px;
	background: #f6f8fa;
	flex-shrink: 0;
}
.vm-s-prod-body {
	flex: 1;
	min-width: 0;
}
.vm-s-prod-name {
	display: block;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.3;
	color: var(--vm-text);
	transition: color .15s;
}
.vm-s-prod-price {
	display: block;
	font-size: .8rem;
	color: var(--dgt-green, #108e6c);
	font-weight: 600;
	margin-top: .15rem;
}
.vm-s-prod-arrow {
	flex-shrink: 0;
	color: var(--vm-muted);
	transition: transform .15s;
}
.vm-s-prod-item:hover .vm-s-prod-arrow {
	transform: translateX(3px);
	color: var(--dgt-green, #108e6c);
}
.vm-s-prod-hint {
	display: block;
	font-size: .7rem;
	color: var(--vm-muted);
	margin-top: .5rem;
}

/* Sidebar: Delikte */
.vm-s-sb-delikt {
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .6rem 0;
}
.vm-s-sb-delikt + .vm-s-sb-delikt {
	border-top: 1px solid var(--vm-border);
}
.vm-s-sb-delikt strong {
	font-size: .9rem;
	color: var(--vm-text);
}
.vm-s-sb-delikt-icon {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	flex-shrink: 0;
}
.vm-s-sb-delikt-icon--alk { background: rgba(224,64,64,.1); color: var(--vm-red); }
.vm-s-sb-delikt-icon--drg { background: rgba(232,140,48,.1); color: var(--vm-orange); }

/* Sidebar: Stats */
.vm-s-sb-stat {
	display: flex;
	align-items: flex-start;
	gap: .8rem;
	padding: .6rem 0;
}
.vm-s-sb-stat + .vm-s-sb-stat {
	border-top: 1px solid var(--vm-border);
}
.vm-s-sb-stat-icon {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 8px;
	flex-shrink: 0;
}
.vm-s-sb-stat-icon--up   { background: rgba(224,64,64,.1); color: var(--vm-red); }
.vm-s-sb-stat-icon--down { background: rgba(16,142,108,.1); color: var(--vm-green); }
.vm-s-sb-stat-icon--info { background: rgba(58,143,212,.1); color: var(--vm-blue); }
.vm-s-sb-stat-val {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--vm-text);
}
.vm-s-sb-trend {
	color: var(--vm-green);
	font-weight: 600;
}

/* ─── Bar Chart ────────────────────────────────────────── */

.vm-bars {
	margin: 1rem 0;
}
.vm-bar-row {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin-bottom: .5rem;
}
.vm-bar-label {
	flex: 0 0 140px;
	font-size: .85rem;
	color: var(--vm-text);
	font-weight: 500;
	text-align: right;
}
.vm-bar-track {
	flex: 1;
	height: 22px;
	background: var(--vm-surface);
	border-radius: 4px;
	overflow: hidden;
}
.vm-bar-fill {
	height: 100%;
	background: var(--vm-navy);
	border-radius: 4px;
	transition: width .4s ease;
}
.vm-bar-val {
	flex: 0 0 40px;
	font-size: .82rem;
	font-weight: 600;
	color: var(--vm-text);
}

/* ─── Substance Tiles ──────────────────────────────────── */

.vm-sub-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: .8rem;
	margin: 1rem 0;
}
.vm-sub-tile {
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 1rem;
	text-align: center;
}
.vm-sub-name {
	display: block;
	font-size: .82rem;
	font-weight: 600;
	color: var(--vm-text);
	margin-bottom: .3rem;
}
.vm-sub-val {
	display: block;
	font-size: 1.5rem;
	font-weight: 800;
	color: var(--vm-navy);
}
.vm-sub-pct {
	font-size: .78rem;
	color: var(--vm-muted);
}

/* ─── Cities Chips ─────────────────────────────────────── */

.vm-cities { margin: 1.2rem 0; }
.vm-cities-label {
	font-size: .88rem;
	font-weight: 600;
	color: var(--vm-muted);
	margin-right: .5rem;
}
.vm-cities-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-top: .5rem;
}
.vm-city-chip {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .3rem .7rem;
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: 20px;
	font-size: .82rem;
	text-decoration: none;
	color: var(--vm-text);
	transition: border-color .1s;
}
.vm-city-chip:hover { border-color: var(--vm-navy); }
.vm-city-chip span {
	font-size: .72rem;
	color: var(--vm-muted);
}

/* ─── Hub Links ────────────────────────────────────────── */

.vm-hub-links {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 1.5rem;
	margin: 1.5rem 0;
}
.vm-hub-link-group h3 {
	font-size: .9rem;
	font-weight: 700;
	color: var(--vm-text);
	margin: 0 0 .5rem;
	text-transform: uppercase;
	letter-spacing: .04em;
}
.vm-hub-link-group ul {
	list-style: none;
	padding: 0;
	margin: 0;
}
.vm-hub-link-group li {
	margin-bottom: .3rem;
}
.vm-hub-link-group a {
	font-size: .9rem;
	color: var(--dgt-green, #108e6c);
	text-decoration: none;
}
.vm-hub-link-group a:hover { text-decoration: underline; }

/* ─── CTA Box ──────────────────────────────────────────── */

.vm-cta {
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 1.5rem 1.8rem;
	text-align: center;
	margin: 1.5rem 0;
}
.vm-cta-text {
	font-size: .95rem;
	color: var(--vm-muted);
	margin: 0 0 .8rem;
}

/* ─── Facebook Teaser (Hub) ───────────────────────────── */

.vm-fb-teaser {
	margin: 1.5rem 0;
}
.vm-fb-teaser-bubble {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	background: linear-gradient(135deg, #1a2744 0%, #0b1628 100%);
	border-radius: 18px;
	padding: 1.8rem 2.4rem;
}
.vm-fb-teaser-bubble::after {
	content: '';
	position: absolute;
	bottom: -10px;
	left: 28px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 12px 0 0;
	border-color: #0b1628 transparent transparent transparent;
}
.vm-fb-teaser-body {
	flex: 1;
	min-width: 0;
}
.vm-fb-teaser-title {
	display: flex;
	align-items: center;
	gap: .45rem;
	font-size: 1.05rem;
	font-weight: 700;
	color: #fff;
	margin: 0 0 .35rem;
}
.vm-fb-teaser-title svg { flex-shrink: 0; }
.vm-fb-teaser-text {
	font-size: .9rem;
	line-height: 1.6;
	color: rgba(255,255,255,.72);
	margin: 0;
}
.vm-fb-teaser-btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .6rem 1.3rem;
	font-size: .88rem;
	font-weight: 600;
	color: #fff !important;
	background: #1877f2;
	border-radius: 8px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .2s, transform .15s;
}
.vm-fb-teaser-btn:hover,
.vm-fb-teaser-btn:focus {
	background: #0d65d9;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
}
.vm-fb-teaser-btn svg { flex-shrink: 0; }

/* ─── Zeitraum-Tabs ────────────────────────────────────── */

.vm-zeitraum {
	display: flex;
	gap: .4rem;
	margin: 0 0 1.5rem;
	flex-wrap: wrap;
}
.vm-zeitraum-btn {
	padding: .4rem .9rem;
	border: 1px solid var(--vm-border);
	border-radius: 8px;
	font-size: .85rem;
	text-decoration: none;
	color: var(--vm-text);
	transition: all .1s;
}
.vm-zeitraum-btn:hover { border-color: var(--vm-navy); }
.vm-zeitraum-active {
	background: var(--vm-navy);
	color: #fff;
	border-color: var(--vm-navy);
}

/* ─── Report Nav ───────────────────────────────────────── */

.vm-report-nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 2rem 0 1rem;
	font-size: .9rem;
}
.vm-report-nav a {
	color: var(--dgt-green, #108e6c);
	text-decoration: none;
}
.vm-report-nav a:hover { text-decoration: underline; }

.vm-report-intro {
	max-width: 720px;
	font-size: 1.05rem;
	line-height: 1.7;
	color: rgba(255,255,255,.85);
	margin-bottom: 1.2rem;
}

/* ─── Archiv Months ────────────────────────────────────── */

.vm-archiv-months {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin: 0 0 1.5rem;
}
.vm-archiv-month {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .4rem .8rem;
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: 8px;
	font-size: .85rem;
	text-decoration: none;
	color: var(--vm-text);
}
.vm-archiv-month:hover { border-color: var(--vm-navy); }
.vm-archiv-month span {
	font-size: .75rem;
	color: var(--vm-muted);
}

/* ─── Misc ─────────────────────────────────────────────── */

.vm-back { margin: 1.5rem 0; }
.vm-more { margin: 1.2rem 0; }
.vm-empty {
	text-align: center;
	color: var(--vm-muted);
	padding: 2rem 0;
	font-size: .95rem;
}

.vm-cross-link {
	margin: 1.5rem 0;
	padding: 1rem 1.3rem;
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
}
.vm-cross-link a {
	color: var(--dgt-green, #108e6c);
	font-weight: 500;
	text-decoration: none;
}
.vm-cross-link a:hover { text-decoration: underline; }

.vm-fazit {
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 1.3rem 1.5rem;
}
.vm-fazit p {
	font-size: .95rem;
	line-height: 1.6;
	color: var(--vm-text);
}

.vm-bak-summary p {
	font-size: .95rem;
	color: var(--vm-muted);
}
.vm-bak-summary strong {
	color: var(--vm-text);
}

/* ─── Cross-Link Teaser ───────────────────────────────── */

.vm-xlink-teaser {
	display: flex;
	align-items: center;
	gap: 1.2rem;
	background: linear-gradient(135deg, #e9f4ef 0%, #f0f7f4 100%);
	border: 1px solid #c8e0d4;
	border-radius: var(--vm-radius);
	padding: 1.4rem 1.8rem;
	margin: 1.5rem 0;
}
.vm-xlink-icon {
	flex-shrink: 0;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(16,142,108,.12);
	border-radius: 12px;
	color: var(--vm-green);
}
.vm-xlink-body {
	flex: 1;
	min-width: 0;
}
.vm-xlink-title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--vm-text);
	margin: 0 0 .25rem;
}
.vm-xlink-text {
	font-size: .88rem;
	line-height: 1.55;
	color: var(--vm-muted);
	margin: 0;
}
.vm-xlink-btn {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .55rem 1.2rem;
	font-size: .88rem;
	font-weight: 600;
	color: #fff !important;
	background: var(--vm-green);
	border-radius: 8px;
	text-decoration: none !important;
	white-space: nowrap;
	transition: background .2s, transform .15s;
}
.vm-xlink-btn:hover,
.vm-xlink-btn:focus {
	background: #0d7a5c;
	color: #fff !important;
	text-decoration: none !important;
	transform: translateY(-1px);
}
.vm-xlink-btn svg { flex-shrink: 0; }

@media (max-width: 767px) {
	.vm-xlink-teaser { flex-direction: column; align-items: flex-start; gap: .8rem; padding: 1.2rem 1.3rem; }
}

/* ─── Hub SEO Content ─────────────────────────────────── */

.vm-seo {
	background: #fff;
	padding: 3rem 0 2.5rem;
	border-top: 1px solid var(--vm-border);
}
.vm-seo-inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 var(--bs-gutter-x, 1.5rem);
}
.vm-seo-title {
	font-size: clamp(1.4rem, 3vw, 1.75rem);
	font-weight: 800;
	line-height: 1.25;
	color: var(--vm-text);
	margin: 0 0 1.2rem;
}
.vm-seo-block {
	margin-bottom: 2rem;
}
.vm-seo-block p {
	font-size: .95rem;
	line-height: 1.75;
	color: var(--vm-text);
	margin: 0 0 .8rem;
}
.vm-seo-block p:last-child { margin-bottom: 0; }
.vm-seo-block a {
	color: var(--dgt-green, #108e6c);
	text-decoration: none;
	font-weight: 500;
	border-bottom: 1px solid rgba(16,142,108,.25);
	transition: color .15s, border-color .15s;
}
.vm-seo-block a:hover {
	color: var(--vm-navy);
	border-bottom-color: var(--vm-navy);
}
.vm-seo-block--highlight {
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
	padding: 1.5rem 1.8rem;
}
.vm-seo-block-title {
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--vm-text);
	margin: 0 0 .8rem;
}

.vm-seo-cols {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem;
	margin-bottom: 2rem;
}
.vm-seo-col {
	padding: 1.5rem 1.6rem;
	background: #fff;
	border: 1px solid var(--vm-border);
	border-radius: var(--vm-radius);
}
.vm-seo-col p {
	font-size: .95rem;
	line-height: 1.75;
	color: var(--vm-text);
	margin: 0;
}
.vm-seo-col a {
	color: var(--dgt-green, #108e6c);
	text-decoration: none;
	font-weight: 500;
	border-bottom: 1px solid rgba(16,142,108,.25);
	transition: color .15s, border-color .15s;
}
.vm-seo-col a:hover {
	color: var(--vm-navy);
	border-bottom-color: var(--vm-navy);
}
.vm-seo-icon-wrap {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	margin-bottom: .8rem;
}
.vm-seo-icon--red    { background: rgba(224,64,64,.1);  color: var(--vm-red); }
.vm-seo-icon--orange { background: rgba(232,140,48,.1); color: var(--vm-orange); }
.vm-seo-col-title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--vm-text);
	margin: 0 0 .6rem;
}

/* ─── Daten-Hinweis ───────────────────────────────────── */

.vm-data-note {
	display: flex;
	gap: 1rem;
	background: var(--vm-surface);
	border: 1px solid var(--vm-border);
	border-left: 4px solid var(--vm-accent);
	border-radius: var(--vm-radius);
	padding: 1.25rem 1.5rem;
}
.vm-data-note-icon {
	flex-shrink: 0;
	color: var(--vm-accent);
	margin-top: 1px;
}
.vm-data-note-body {
	min-width: 0;
}
.vm-data-note-title {
	display: block;
	font-size: .95rem;
	font-weight: 700;
	color: var(--vm-text);
	margin-bottom: .5rem;
}
.vm-data-note p {
	font-size: .88rem;
	line-height: 1.7;
	color: var(--vm-muted);
	margin: 0 0 .5rem;
}
.vm-data-note p:last-child { margin-bottom: 0; }
.vm-data-note p strong {
	color: var(--vm-text);
	font-weight: 600;
}

/* ─── Responsive ───────────────────────────────────────── */

@media (max-width: 960px) {
	.vm-s-wrap {
		grid-template-columns: 1fr;
	}
	.vm-s-sidebar {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	}
}

@media (max-width: 767px) {
	.vm-header--hero {
		min-height: 0;
		padding: 0;
		background-size: 100% auto;
		background-position: top center;
		background-color: transparent;
	}
	.vm-header--hero .vm-header-inner {
		padding-top: calc(40vw + .5rem);
		padding-bottom: .75rem;
	}
	.vm-header-actions {
		flex-direction: column;
	}
	.vm-header-actions .btn,
	.vm-header-actions .vm-fb-hero-btn {
		width: 100%;
		justify-content: center;
		box-sizing: border-box;
	}
	.vm-tiles { grid-template-columns: repeat(2, 1fr); }
	.vm-cards { grid-template-columns: 1fr; }
	.vm-bl-grid { grid-template-columns: repeat(4, 1fr); }
	.vm-bar-label { flex: 0 0 90px; font-size: .78rem; }
	.vm-facts-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-row { flex-wrap: wrap; }
	.vm-row-meta { width: 100%; }
	.vm-s-footer { flex-direction: column; align-items: stretch; text-align: center; }
	.vm-s-share { justify-content: center; }
	.vm-s-stats-grid { grid-template-columns: repeat(2, 1fr); }
	.vm-s-link-card { flex-direction: column; }
	.vm-s-fb-cta { flex-direction: column; text-align: center; }
	.vm-s-fb-cta-btn { align-self: stretch; justify-content: center; }
	.vm-s-legal { flex-direction: column; }
	.vm-seo-cols { grid-template-columns: 1fr; gap: 1rem; }
	.vm-seo-block--highlight { padding: 1.2rem 1.3rem; }
	.vm-fb-teaser-bubble { flex-direction: column; gap: 1rem; padding: 1.3rem 1.3rem; align-items: flex-start; }
}

/* ─── Gallery & Lightbox ─────────────────────────────── */

.vm-s-gallery {
	margin: 1.8rem 0 0;
}
.vm-s-gallery-title {
	font-size: 1.1rem;
	font-weight: 700;
	margin: 0 0 .8rem;
	color: var(--vm-navy, #071c3a);
}
.vm-s-gallery-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: .75rem;
}
.vm-s-gallery-grid img {
	width: 100%;
	border-radius: 10px;
	display: block;
	aspect-ratio: 4/3;
	object-fit: cover;
	border: 1px solid var(--dgt-border, #e5ecef);
}
.vm-s-gallery-single img {
	max-width: 100%;
	border-radius: 10px;
	display: block;
	border: 1px solid var(--dgt-border, #e5ecef);
}
.vm-s-gallery-link {
	display: block;
	cursor: zoom-in;
}
.vm-s-gallery-grid .vm-s-gallery-link img {
	transition: transform .15s;
}
.vm-s-gallery-grid .vm-s-gallery-link:hover img {
	transform: scale(1.03);
}

.vm-lightbox {
	position: fixed;
	inset: 0;
	z-index: 100200;
	background: rgba(0,0,0,.88);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
}
.vm-lightbox-img {
	max-width: 92vw;
	max-height: 88vh;
	border-radius: 8px;
	box-shadow: 0 8px 40px rgba(0,0,0,.5);
	user-select: none;
}
.vm-lightbox-close {
	position: absolute;
	top: 1rem;
	right: 1.2rem;
	background: none;
	border: none;
	color: #fff;
	font-size: 2.2rem;
	cursor: pointer;
	line-height: 1;
	opacity: .8;
}
.vm-lightbox-close:hover { opacity: 1; }
.vm-lightbox-prev,
.vm-lightbox-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: rgba(255,255,255,.15);
	border: none;
	color: #fff;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	font-size: 1.4rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background .15s;
}
.vm-lightbox-prev:hover,
.vm-lightbox-next:hover { background: rgba(255,255,255,.3); }
.vm-lightbox-prev { left: 1rem; }
.vm-lightbox-next { right: 1rem; }
.vm-lightbox-counter {
	position: absolute;
	bottom: 1.2rem;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255,255,255,.7);
	font-size: .85rem;
}

/* ─── Highlights ─────────────────────────────────────── */

.vm-highlights {
	margin-bottom: 2.5rem;
}
.vm-highlights-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 1rem;
}
.vm-highlight-card {
	display: flex;
	flex-direction: column;
	border-radius: 12px;
	overflow: hidden;
	border: 2px solid #f0c430;
	background: #fff;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .15s, transform .15s;
}
.vm-highlight-card:hover {
	box-shadow: 0 6px 24px rgba(240,196,48,.25);
	transform: translateY(-2px);
}
.vm-highlight-img {
	width: 100%;
	aspect-ratio: 16/9;
	object-fit: cover;
	display: block;
}
.vm-highlight-noimg {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 16/9;
	background: #f3f4f6;
	color: #9ca3af;
}
.vm-highlight-body {
	padding: .9rem 1rem;
	display: flex;
	flex-direction: column;
	gap: .3rem;
}
.vm-highlight-badge {
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #f0c430;
}
.vm-highlight-title {
	font-size: .95rem;
	line-height: 1.35;
	color: var(--vm-navy, #071c3a);
}
.vm-highlight-meta {
	font-size: .78rem;
	color: var(--vm-muted, #6b7280);
}

/* ─── Highlight Card (inline) ────────────────────────── */

.vm-card--highlight {
	grid-column: span 2;
	border-left-color: #f0c430 !important;
	border-color: #f0c430;
}
.vm-card-link--highlight {
	display: flex;
	gap: 0;
}
.vm-card-highlight-img {
	width: 280px;
	min-height: 100%;
	object-fit: cover;
	flex-shrink: 0;
	display: block;
}
.vm-card-highlight-body {
	padding: 1.2rem 1.4rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.vm-card--highlight .vm-card-title {
	font-size: 1.1rem;
}
.vm-card--highlight .vm-card-summary {
	flex: 1;
}
@media (max-width: 700px) {
	.vm-card--highlight { grid-column: span 1; }
	.vm-card-link--highlight { flex-direction: column; }
	.vm-card-highlight-img { width: 100%; max-height: 180px; }
}
