/* =================================================================
 * Germanic Nachrichten — Magazine layer for GeneratePress
 * Built on the .gn-* namespace. Pure CSS variables, no preprocessor.
 * Mobile-first, BEM-ish, accessible focus rings, reduced-motion safe.
 * ================================================================= */

:root {
	/* Brand palette (codex spec) */
	--gn-black:      #090909;
	--gn-charcoal:   #151515;
	--gn-text:       #1b1b1b;
	--gn-muted:      #666666;
	--gn-border:     #e5e2dc;
	--gn-paper:      #f8f6f1;
	--gn-white:      #ffffff;
	--gn-red:        #c1121f;
	--gn-dark-red:   #8f0d17;
	--gn-gold:       #d6a332;
	--gn-soft-gold:  #f3e1b5;

	/* Type stacks (no external font load) */
	--gn-serif:      Georgia, "Charter", "Source Serif 4", "Times New Roman", serif;
	--gn-sans:       -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	/* Type scale */
	--gn-fs-body:    18px;
	--gn-lh-body:    1.7;
	--gn-fs-meta:    13px;
	--gn-fs-eyebrow: 12px;

	/* Spacing scale */
	--gn-s1:  4px;
	--gn-s2:  8px;
	--gn-s3:  12px;
	--gn-s4:  16px;
	--gn-s5:  24px;
	--gn-s6:  32px;
	--gn-s7:  48px;
	--gn-s8:  64px;

	/* Container widths (codex content-width rules) */
	--gn-w-home:     1240px;
	--gn-w-archive:  1240px;
	--gn-w-article:  760px;
	--gn-w-sidebar-total: 1160px;
	--gn-w-legal:    820px;

	/* Radii / motion */
	--gn-radius:     4px;
	--gn-ease:       cubic-bezier(.2,.7,.2,1);
}

/* ===== Skip link ===== */
.gn-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--gn-black);
	color: var(--gn-white);
	padding: 10px 14px;
	z-index: 9999;
	border-radius: 0 0 var(--gn-radius) 0;
}
.gn-skip-link:focus { left: 0; outline: 2px solid var(--gn-gold); }

/* ===== Top utility bar ===== */
.gn-topbar {
	background: var(--gn-black);
	color: #d8d4cc;
	font-family: var(--gn-sans);
	font-size: 12px;
	line-height: 1.4;
	border-bottom: 1px solid #1a1a1a;
}
.gn-topbar__inner {
	max-width: var(--gn-w-home);
	margin: 0 auto;
	padding: 6px var(--gn-s4);
	display: flex;
	gap: var(--gn-s5);
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
}
.gn-topbar__date time { color: var(--gn-white); font-weight: 600; }
.gn-topbar__claim { color: #b8b2a4; margin-left: var(--gn-s3); }
.gn-topbar__nav ul,
.gn-topbar__menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--gn-s4);
	flex-wrap: wrap;
}
.gn-topbar__nav a {
	color: #d8d4cc;
	text-decoration: none;
	transition: color .15s var(--gn-ease);
}
.gn-topbar__nav a:hover,
.gn-topbar__nav a:focus { color: var(--gn-gold); }
@media (max-width: 640px) {
	.gn-topbar__claim { display: none; }
	.gn-topbar__inner { padding: 6px var(--gn-s3); gap: var(--gn-s3); }
}

/* ===== Site header overrides (GeneratePress) ===== */
.site-header { background: var(--gn-white); border-bottom: 1px solid var(--gn-border); }
.main-title a, .site-logo img { color: var(--gn-black); }
.main-title { font-family: var(--gn-serif); letter-spacing: -.01em; }

/* Primary nav: sticky on scroll if GP "Sticky Nav" is enabled. We restyle the bar. */
.main-navigation {
	background: var(--gn-white);
	border-top: 1px solid var(--gn-border);
	border-bottom: 1px solid var(--gn-border);
}
.main-navigation .main-nav ul li a {
	color: var(--gn-charcoal);
	font-family: var(--gn-sans);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: uppercase;
	padding: 16px 18px;
	transition: color .15s var(--gn-ease), box-shadow .15s var(--gn-ease);
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li a:focus,
.main-navigation .main-nav ul li.current-menu-item > a {
	color: var(--gn-red);
	box-shadow: inset 0 -3px 0 0 var(--gn-red);
}

/* ===== Breaking / Aktuell strip ===== */
.gn-breaking {
	background: var(--gn-paper);
	border-bottom: 1px solid var(--gn-border);
}
.gn-breaking__inner {
	max-width: var(--gn-w-home);
	margin: 0 auto;
	padding: var(--gn-s2) var(--gn-s4);
	display: flex;
	align-items: center;
	gap: var(--gn-s4);
	overflow-x: auto;
	scrollbar-width: thin;
}
.gn-breaking__label {
	flex: 0 0 auto;
	background: var(--gn-red);
	color: var(--gn-white);
	font-family: var(--gn-sans);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 4px 10px;
	border-radius: var(--gn-radius);
}
.gn-breaking__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: var(--gn-s5);
	font-size: 14px;
	min-width: 0;
}
.gn-breaking__item { white-space: nowrap; }
.gn-breaking__link {
	color: var(--gn-text);
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color .15s var(--gn-ease), color .15s var(--gn-ease);
}
.gn-breaking__link:hover,
.gn-breaking__link:focus { color: var(--gn-red); border-bottom-color: var(--gn-red); }

/* ===== Body type + article reading width ===== */
body {
	font-family: var(--gn-sans);
	color: var(--gn-text);
	background: var(--gn-white);
	font-size: var(--gn-fs-body);
	line-height: var(--gn-lh-body);
}
.gn-context-article .inside-article {
	max-width: var(--gn-w-article);
	margin: 0 auto;
}
.gn-context-article.no-sidebar .site-content { max-width: var(--gn-w-article); margin: 0 auto; }
.gn-context-article.both-sidebars .site-content,
.gn-context-article.right-sidebar .site-content,
.gn-context-article.left-sidebar .site-content { max-width: var(--gn-w-sidebar-total); }

h1, h2, h3, h4 { font-family: var(--gn-serif); color: var(--gn-black); line-height: 1.2; }
.entry-title { font-size: clamp(28px, 4vw, 44px); letter-spacing: -.01em; margin-bottom: var(--gn-s3); }

.entry-content p, .entry-content li { font-size: var(--gn-fs-body); line-height: var(--gn-lh-body); }
.entry-content a { color: var(--gn-dark-red); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.entry-content a:hover { color: var(--gn-red); }

blockquote, .entry-content blockquote {
	border-left: 4px solid var(--gn-red);
	margin: var(--gn-s5) 0;
	padding: var(--gn-s2) var(--gn-s5);
	font-family: var(--gn-serif);
	font-size: 22px;
	color: var(--gn-charcoal);
}
blockquote cite { display: block; margin-top: var(--gn-s2); font-size: 13px; color: var(--gn-muted); font-style: normal; }

/* ===== Article eyebrow / breadcrumb / meta ===== */
.gn-article-eyebrow {
	max-width: var(--gn-w-article);
	margin: 0 auto var(--gn-s3);
	padding-top: var(--gn-s4);
	display: flex;
	flex-direction: column;
	gap: var(--gn-s2);
}
.gn-article-eyebrow__cat {
	display: inline-block;
	font-family: var(--gn-sans);
	font-size: var(--gn-fs-eyebrow);
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gn-red);
	text-decoration: none;
}
.gn-article-eyebrow__cat:hover { color: var(--gn-dark-red); }

.gn-breadcrumbs {
	font-family: var(--gn-sans);
	font-size: var(--gn-fs-meta);
	color: var(--gn-muted);
}
.gn-breadcrumbs a { color: var(--gn-muted); text-decoration: none; }
.gn-breadcrumbs a:hover { color: var(--gn-red); }

.gn-article-meta {
	font-family: var(--gn-sans);
	font-size: var(--gn-fs-meta);
	color: var(--gn-muted);
	margin: var(--gn-s2) 0 var(--gn-s5);
	display: flex;
	flex-wrap: wrap;
	gap: var(--gn-s2) var(--gn-s3);
}
.gn-article-meta__label { color: var(--gn-muted); }
.gn-article-meta a { color: var(--gn-text); text-decoration: none; }
.gn-article-meta a:hover { color: var(--gn-red); }
.gn-article-meta__sep { color: var(--gn-border); }

/* ===== Featured image — CLS-safe aspect-ratio reservation ===== */
.featured-image,
.post-image-aligned-center,
.gn-context-article .post-image {
	margin: 0 auto var(--gn-s5);
	max-width: 100%;
}
.featured-image img,
.gn-card__media img,
.gn-context-article .post-image img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	background: var(--gn-paper);
	border-radius: var(--gn-radius);
}

/* ===== Share bar ===== */
.gn-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--gn-s2);
	margin: var(--gn-s5) 0;
	padding: var(--gn-s3) 0;
	border-top: 1px solid var(--gn-border);
	border-bottom: 1px solid var(--gn-border);
	font-family: var(--gn-sans);
	font-size: 13px;
}
.gn-share__label { color: var(--gn-muted); margin-right: var(--gn-s2); font-weight: 600; }
.gn-share__btn {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding: 0 12px;
	background: var(--gn-paper);
	color: var(--gn-text);
	border: 1px solid var(--gn-border);
	border-radius: var(--gn-radius);
	text-decoration: none;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .15s var(--gn-ease), color .15s var(--gn-ease), border-color .15s var(--gn-ease);
}
.gn-share__btn:hover,
.gn-share__btn:focus { background: var(--gn-black); color: var(--gn-white); border-color: var(--gn-black); }
.gn-share__btn--copy[data-gn-copied="1"] { background: var(--gn-soft-gold); color: var(--gn-black); border-color: var(--gn-gold); }

/* ===== Author box ===== */
.gn-author-box {
	display: flex;
	gap: var(--gn-s4);
	margin: var(--gn-s6) 0;
	padding: var(--gn-s5);
	background: var(--gn-paper);
	border: 1px solid var(--gn-border);
	border-radius: var(--gn-radius);
}
.gn-author-box__avatar img { border-radius: 50%; width: 80px; height: 80px; object-fit: cover; }
.gn-author-box__heading {
	font-family: var(--gn-sans);
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--gn-muted);
	margin: 0 0 var(--gn-s2);
}
.gn-author-box__name { font-family: var(--gn-serif); font-size: 20px; margin: 0 0 var(--gn-s2); }
.gn-author-box__name a { color: var(--gn-black); text-decoration: none; }
.gn-author-box__name a:hover { color: var(--gn-red); }
.gn-author-box__bio { margin: 0 0 var(--gn-s2); color: var(--gn-charcoal); }
.gn-author-box__note { margin: 0; font-size: 13px; color: var(--gn-muted); }
@media (max-width: 640px) {
	.gn-author-box { flex-direction: column; }
	.gn-author-box__avatar img { width: 64px; height: 64px; }
}

/* ===== Related / Weitere Nachrichten ===== */
.gn-related {
	margin: var(--gn-s7) 0 0;
	padding-top: var(--gn-s5);
	border-top: 2px solid var(--gn-black);
}
.gn-related__heading { font-family: var(--gn-serif); font-size: 24px; margin: 0 0 var(--gn-s5); }
.gn-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--gn-s4);
}

/* ===== Card primitive — used by homepage hero, category modules, related ===== */
.gn-card { background: var(--gn-white); display: flex; flex-direction: column; gap: var(--gn-s2); }
.gn-card__media { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--gn-paper); border-radius: var(--gn-radius); }
.gn-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s var(--gn-ease); }
.gn-card__media:hover img { transform: scale(1.02); }
.gn-card__body { display: flex; flex-direction: column; gap: var(--gn-s1); padding-top: var(--gn-s2); }
.gn-card__cat {
	font-family: var(--gn-sans);
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--gn-red);
	text-decoration: none;
}
.gn-card__title { font-family: var(--gn-serif); font-size: 18px; line-height: 1.3; margin: 0; }
.gn-card__title a { color: var(--gn-black); text-decoration: none; }
.gn-card__title a:hover { color: var(--gn-red); }
.gn-card__date { font-size: 12px; color: var(--gn-muted); margin: 0; }
.gn-card--large .gn-card__title { font-size: 28px; }
.gn-card--medium .gn-card__title { font-size: 22px; }

/* ===== Homepage hero grid ===== */
.gn-home-hero {
	max-width: var(--gn-w-home);
	margin: var(--gn-s5) auto;
	padding: 0 var(--gn-s4);
}
.gn-home-hero__grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: var(--gn-s5);
}
.gn-home-hero__lead { grid-column: 1; }
.gn-home-hero__side {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: var(--gn-s4);
}
.gn-home-hero__rail {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--gn-s4);
	margin-top: var(--gn-s5);
	padding-top: var(--gn-s5);
	border-top: 1px solid var(--gn-border);
}
@media (max-width: 900px) {
	.gn-home-hero__grid { grid-template-columns: 1fr; }
	.gn-home-hero__rail { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.gn-home-hero__rail { grid-template-columns: 1fr; }
}

/* Homepage section heading */
.gn-section {
	max-width: var(--gn-w-home);
	margin: var(--gn-s7) auto;
	padding: 0 var(--gn-s4);
}
.gn-section__heading {
	font-family: var(--gn-serif);
	font-size: 26px;
	margin: 0 0 var(--gn-s5);
	padding-bottom: var(--gn-s2);
	border-bottom: 2px solid var(--gn-black);
	display: flex;
	align-items: baseline;
	gap: var(--gn-s3);
}
.gn-section__heading a { color: var(--gn-black); text-decoration: none; }
.gn-section__more {
	margin-left: auto;
	font-family: var(--gn-sans);
	font-size: 13px;
	color: var(--gn-red);
	text-decoration: none;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
}

.gn-section__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--gn-s4);
}

/* Category module: 1 featured + secondary links */
.gn-cat-module { display: grid; grid-template-columns: 2fr 1fr; gap: var(--gn-s5); }
.gn-cat-module__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--gn-s3); }
.gn-cat-module__list li { padding-bottom: var(--gn-s2); border-bottom: 1px dotted var(--gn-border); }
.gn-cat-module__list a { color: var(--gn-text); text-decoration: none; font-weight: 600; }
.gn-cat-module__list a:hover { color: var(--gn-red); }
@media (max-width: 720px) {
	.gn-cat-module { grid-template-columns: 1fr; }
}

/* ===== Content boxes (GEO/AIO) ===== */
.gn-summary-box,
.gn-keyfacts-box,
.gn-context-box,
.gn-timeline-box,
.gn-explainer-box {
	background: var(--gn-paper);
	border-left: 4px solid var(--gn-red);
	padding: var(--gn-s4) var(--gn-s5);
	margin: var(--gn-s5) 0;
	border-radius: 0 var(--gn-radius) var(--gn-radius) 0;
}
.gn-summary-box__heading,
.gn-keyfacts-box__heading,
.gn-context-box__heading,
.gn-timeline-box__heading,
.gn-explainer-box__heading {
	font-family: var(--gn-sans);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gn-red);
	margin: 0 0 var(--gn-s3) !important;
}
.gn-context-box { border-left-color: var(--gn-gold); }
.gn-context-box__heading { color: var(--gn-dark-red); }
.gn-timeline-box { border-left-color: var(--gn-charcoal); }
.gn-timeline-box__heading { color: var(--gn-charcoal); }

.gn-correction-box {
	background: #fff8d6;
	border-left: 4px solid var(--gn-gold);
	padding: var(--gn-s3) var(--gn-s4);
	margin: var(--gn-s5) 0;
	border-radius: 0 var(--gn-radius) var(--gn-radius) 0;
}
.gn-correction-box__heading { font-family: var(--gn-sans); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--gn-dark-red); margin: 0 0 var(--gn-s2); }

.gn-transparency-box {
	background: var(--gn-paper);
	border: 1px dashed var(--gn-border);
	padding: var(--gn-s3) var(--gn-s4);
	margin: var(--gn-s5) 0;
	border-radius: var(--gn-radius);
}
.gn-transparency-box__heading { font-family: var(--gn-sans); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--gn-muted); margin: 0 0 var(--gn-s2); }

.gn-pullquote {
	border-left: none;
	border-top: 2px solid var(--gn-red);
	border-bottom: 2px solid var(--gn-red);
	margin: var(--gn-s6) 0;
	padding: var(--gn-s4) 0;
	text-align: center;
	font-family: var(--gn-serif);
	font-size: 24px;
	line-height: 1.4;
}

/* ===== Newsletter CTA ===== */
.gn-newsletter-cta {
	background: var(--gn-black);
	color: var(--gn-white);
	padding: var(--gn-s6) var(--gn-s5);
	margin: var(--gn-s7) 0;
	text-align: center;
	border-radius: var(--gn-radius);
}
.gn-newsletter-cta__heading { color: var(--gn-white); font-family: var(--gn-serif); font-size: 26px; margin: 0 0 var(--gn-s3); }
.gn-newsletter-cta p { color: #c9c5bd; max-width: 540px; margin: 0 auto var(--gn-s4); }
.gn-newsletter-cta .wp-block-button__link {
	background: var(--gn-red);
	color: var(--gn-white);
	border-radius: var(--gn-radius);
	padding: 12px 24px;
	font-weight: 700;
}
.gn-newsletter-cta .wp-block-button__link:hover { background: var(--gn-dark-red); }

/* ===== Trust microcopy under article ===== */
.gn-trust-note {
	margin: var(--gn-s5) 0;
	padding: var(--gn-s3) 0;
	border-top: 1px solid var(--gn-border);
	font-size: 13px;
	color: var(--gn-muted);
	font-family: var(--gn-sans);
}
.gn-trust-note p { margin: 0 0 var(--gn-s2); }
.gn-trust-note__links a {
	color: var(--gn-dark-red);
	margin-right: var(--gn-s4);
	text-decoration: none;
}
.gn-trust-note__links a:hover { text-decoration: underline; }

/* ===== Footer authority architecture ===== */
.gn-footer-authority {
	background: var(--gn-black);
	color: #c9c5bd;
	margin-top: var(--gn-s7);
	padding: var(--gn-s7) var(--gn-s4);
	font-family: var(--gn-sans);
	font-size: 14px;
	line-height: 1.6;
}
.gn-footer-authority__inner {
	max-width: var(--gn-w-home);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1.6fr 1fr 1fr 1fr;
	gap: var(--gn-s6);
}
.gn-footer-authority__brand-name { font-family: var(--gn-serif); font-size: 22px; color: var(--gn-white); margin: 0 0 var(--gn-s3); letter-spacing: -.01em; }
.gn-footer-authority__desc { margin: 0 0 var(--gn-s3); }
.gn-footer-authority__trust { font-size: 12px; color: #a8a298; margin: 0; font-style: italic; }
.gn-footer-authority__heading {
	font-family: var(--gn-sans);
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gn-gold);
	margin: 0 0 var(--gn-s4);
}
.gn-footer-authority__list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: var(--gn-s2); }
.gn-footer-authority__list a {
	color: #c9c5bd;
	text-decoration: none;
	transition: color .15s var(--gn-ease);
}
.gn-footer-authority__list a:hover { color: var(--gn-white); }
@media (max-width: 960px) {
	.gn-footer-authority__inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px) {
	.gn-footer-authority__inner { grid-template-columns: 1fr; gap: var(--gn-s5); }
}

/* GP default footer bottom — make it match */
.site-info { background: var(--gn-charcoal); color: #a8a298; font-family: var(--gn-sans); font-size: 12px; }
.site-info a { color: var(--gn-gold); }

/* ===== Empty states (404 + empty search) ===== */
.gn-empty-state {
	max-width: var(--gn-w-legal);
	margin: var(--gn-s7) auto;
	padding: var(--gn-s7) var(--gn-s4);
	text-align: center;
}
.gn-empty-state__heading { font-family: var(--gn-serif); font-size: clamp(32px, 5vw, 56px); margin: 0 0 var(--gn-s3); }
.gn-empty-state__lead { font-size: 18px; color: var(--gn-muted); margin: 0 0 var(--gn-s5); }
.gn-empty-state__actions { margin: 0 0 var(--gn-s6); }
.gn-empty-state__search { max-width: 420px; margin: 0 auto var(--gn-s5); }
.gn-empty-state__sub { font-family: var(--gn-sans); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--gn-muted); margin: var(--gn-s5) 0 var(--gn-s3); }
.gn-empty-state__list { list-style: none; padding: 0; margin: 0; max-width: 520px; margin-inline: auto; text-align: left; }
.gn-empty-state__list li { padding: var(--gn-s2) 0; border-bottom: 1px dotted var(--gn-border); }
.gn-empty-state__list a { color: var(--gn-text); text-decoration: none; }
.gn-empty-state__list a:hover { color: var(--gn-red); }

.gn-btn {
	display: inline-block;
	padding: 12px 24px;
	font-weight: 700;
	text-decoration: none;
	border-radius: var(--gn-radius);
	border: 1px solid transparent;
	transition: background-color .15s var(--gn-ease), color .15s var(--gn-ease);
}
.gn-btn--primary { background: var(--gn-red); color: var(--gn-white); }
.gn-btn--primary:hover { background: var(--gn-dark-red); color: var(--gn-white); }

/* ===== Search form ===== */
.gn-search-form {
	display: flex;
	gap: 0;
	border: 1px solid var(--gn-border);
	border-radius: var(--gn-radius);
	overflow: hidden;
	background: var(--gn-white);
}
.gn-search-input {
	flex: 1;
	border: none;
	padding: 10px 14px;
	font-size: 15px;
	background: transparent;
	color: var(--gn-text);
}
.gn-search-input:focus { outline: 2px solid var(--gn-gold); outline-offset: -2px; }
.gn-search-submit {
	background: var(--gn-black);
	color: var(--gn-white);
	border: none;
	padding: 0 18px;
	font-weight: 700;
	cursor: pointer;
}
.gn-search-submit:hover { background: var(--gn-red); }

/* ===== Read-more link ===== */
.gn-read-more { color: var(--gn-red); font-weight: 600; text-decoration: none; }
.gn-read-more:hover { text-decoration: underline; }

/* ===== Eyebrow utility ===== */
.gn-eyebrow {
	font-family: var(--gn-sans);
	font-size: var(--gn-fs-eyebrow);
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gn-muted);
}

/* ===== Ads — "Anzeige" label + reserved space ===== */
.gn-ad,
.wp-insert-ad-block {
	display: block;
	margin: var(--gn-s5) auto;
	min-height: 90px;
	max-width: 100%;
	background: var(--gn-paper);
	border: 1px dashed var(--gn-border);
	position: relative;
}
.gn-ad::before,
.wp-insert-ad-block::before {
	content: 'Anzeige';
	position: absolute;
	top: 4px;
	left: 6px;
	font-family: var(--gn-sans);
	font-size: 10px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--gn-muted);
}

/* ===== Archive (category) ===== */
.gn-context-archive .site-main { max-width: var(--gn-w-archive); margin: 0 auto; padding: var(--gn-s5) var(--gn-s4); }
.gn-context-archive .page-header { margin-bottom: var(--gn-s5); padding-bottom: var(--gn-s4); border-bottom: 2px solid var(--gn-black); }
.gn-context-archive .page-title { font-family: var(--gn-serif); font-size: clamp(28px, 4vw, 40px); margin: 0 0 var(--gn-s2); }
.gn-context-archive .archive-description { color: var(--gn-muted); font-size: 16px; max-width: 720px; }

/* ===== Static legal pages width ===== */
.page-template-default:not(.gn-context-home) .inside-article,
body.page:not(.gn-context-home) .inside-article { max-width: var(--gn-w-legal); margin: 0 auto; }

/* ===== Focus rings (a11y) ===== */
:focus-visible { outline: 2px solid var(--gn-gold); outline-offset: 2px; border-radius: 2px; }

/* ===== Reduced motion ===== */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* ===== Print friendliness ===== */
@media print {
	.gn-topbar, .gn-breaking, .gn-share, .gn-newsletter-cta, .gn-footer-authority, .main-navigation, .site-info { display: none !important; }
	body { font-size: 12pt; color: #000; background: #fff; }
}
