/* =====================================================================
   Blog – Ergänzungen zu /css/styles.css
   (serverseitig erzeugter Blog: Karten, Pagination, Inhaltsverzeichnis,
   Videos, ähnliche Artikel)
   ===================================================================== */

/* ---------- Übersicht: Karten ---------- */
body.pg-blog-list .post-card-wrap,
body.pg-blog-article .post-card-wrap {
	display:flex;
}
body.pg-blog-list .post-card,
body.pg-blog-article .post-card {
	flex:1;
}
body.pg-blog-list .post-card:hover,
body.pg-blog-article .post-card:hover {
	border-color:var(--teal-border);
	transform:translateY(-2px);
}
body.pg-blog-list .post-card .post-date {
	display:block;
}
body.pg-blog-list h2.post-title {
	letter-spacing:0;
}

/* ---------- Kategorien ---------- */
body.pg-blog-list .blog-cats {
	display:flex;
	flex-wrap:wrap;
	gap:8px;
}
body.pg-blog-list .blog-cats a {
	font-size:.78rem;
	font-weight:600;
	color:var(--body);
	text-decoration:none;
	padding:6px 14px;
	border:1px solid var(--border);
	border-radius:99px;
	transition:border-color .2s,background .2s;
}
body.pg-blog-list .blog-cats a:hover,
body.pg-blog-list .blog-cats a.active {
	border-color:var(--teal-border);
	background:var(--teal-glow);
	color:#fff;
}
body.pg-blog-list .hero-sub a {
	color:var(--teal-lt);
	text-decoration:none;
	font-weight:600;
}

/* ---------- Pagination als Links ---------- */
body.pg-blog-list .blog-pagination a,
body.pg-blog-list .blog-pagination span.disabled {
	background:var(--navy-card);
	border:1px solid var(--border);
	color:#fff;
	padding:11px 22px;
	border-radius:5px;
	font-size:.85rem;
	font-weight:600;
	text-decoration:none;
	transition:border-color .2s,background .2s;
}
body.pg-blog-list .blog-pagination a:hover {
	border-color:var(--teal-border);
	background:var(--teal-glow);
}
body.pg-blog-list .blog-pagination span.disabled {
	opacity:.35;
}
body.pg-blog-list .blog-404-back {
	text-align:center;
	margin-top:40px;
}
body.pg-blog-list .back-link {
	font-size:.85rem;
	font-weight:700;
	color:var(--teal-lt);
	text-decoration:none;
}

/* ---------- Artikel: Kopf ---------- */
body.pg-blog-article .breadcrumb {
	margin-bottom:18px;
}
body.pg-blog-article .breadcrumb span {
	color:var(--muted);
}
body.pg-blog-article .art-date time {
	color:inherit;
}
body.pg-blog-article .art-sep {
	margin:0 6px;
	opacity:.6;
}

/* ---------- Artikel: Inhaltsverzeichnis ---------- */
body.pg-blog-article .art-toc {
	max-width:700px;
	margin:0 auto 44px;
	background:var(--navy-card);
	border:1px solid var(--border);
	border-left:3px solid var(--teal);
	border-radius:0 8px 8px 0;
	padding:22px 26px;
}
body.pg-blog-article .art-toc-title {
	font-size:.7rem;
	font-weight:700;
	letter-spacing:1.3px;
	text-transform:uppercase;
	color:var(--teal-lt);
	margin-bottom:10px;
}
body.pg-blog-article .art-toc ol {
	margin:0 0 0 20px;
	color:var(--muted);
	font-size:.92rem;
	line-height:1.7;
}
body.pg-blog-article .art-toc li {
	margin:4px 0;
}
body.pg-blog-article .art-toc a {
	color:var(--body);
	text-decoration:none;
}
body.pg-blog-article .art-toc a:hover {
	color:var(--teal-lt);
}
body.pg-blog-article .article-body h2,
body.pg-blog-article .article-body h3 {
	scroll-margin-top:24px;
}

/* ---------- Artikel: Fliesstext ---------- */
body.pg-blog-article .article-body p {
	margin:0 0 20px;
}
body.pg-blog-article .article-body h4 {
	color:#fff;
	font-size:1.05rem;
	font-weight:700;
	margin:28px 0 10px;
}
body.pg-blog-article .article-body strong {
	color:#fff;
}
body.pg-blog-article .article-body figure img {
	margin:0;
}
body.pg-blog-article .article-body .callout {
	background:var(--teal-glow);
	border:1px solid var(--teal-border);
	border-radius:8px;
	padding:18px 22px;
	margin:28px 0;
}

/* ---------- Artikel: YouTube/Vimeo responsiv ---------- */
body.pg-blog-article .article-body .video-embed {
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	margin:28px 0;
	border-radius:8px;
	overflow:hidden;
	background:var(--navy-card);
	border:1px solid var(--border);
}
body.pg-blog-article .article-body .video-embed iframe {
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	border:0;
}
body.pg-blog-article .article-body figure .video-embed {
	margin:0;
}

/* ---------- Artikel: Fussbereich & ähnliche Artikel ---------- */
body.pg-blog-article .art-brand {
	font-size:.8rem;
	color:var(--muted);
}
body.pg-blog-article .art-brand a {
	color:var(--teal-lt);
	text-decoration:none;
}
body.pg-blog-article .art-related {
	border-top:1px solid var(--border);
}
body.pg-blog-article .art-related-title {
	font-family:'Playfair Display',serif;
	font-size:1.6rem;
	color:#fff;
	margin-bottom:28px;
}
body.pg-blog-article .art-related .blog-grid {
	display:grid;
	grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
	gap:24px;
}
body.pg-blog-article .post-card {
	background:var(--navy-card);
	border:1px solid var(--border);
	border-radius:8px;
	overflow:hidden;
	display:flex;
	flex-direction:column;
	transition:border-color .2s,transform .2s;
	text-decoration:none;
	color:inherit;
}
body.pg-blog-article .post-card .thumb {
	width:100%;
	aspect-ratio:16/10;
	background:var(--navy-mid);
	overflow:hidden;
}
body.pg-blog-article .post-card .thumb img {
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
body.pg-blog-article .post-card .thumb.placeholder {
	display:flex;
	align-items:center;
	justify-content:center;
	color:var(--muted);
	font-size:.75rem;
	letter-spacing:1px;
	text-transform:uppercase;
}
body.pg-blog-article .post-card .body {
	padding:20px 22px 24px;
	display:flex;
	flex-direction:column;
	flex:1;
}
body.pg-blog-article .post-date {
	display:block;
	font-size:.7rem;
	font-weight:700;
	letter-spacing:1.3px;
	text-transform:uppercase;
	color:var(--teal-lt);
	margin-bottom:8px;
}
body.pg-blog-article .post-title {
	font-family:'Playfair Display',serif;
	font-size:1.12rem;
	font-weight:700;
	color:#fff;
	line-height:1.35;
	margin-bottom:10px;
}
body.pg-blog-article .post-excerpt {
	font-size:.85rem;
	color:var(--body);
	line-height:1.68;
	flex:1;
}
body.pg-blog-article .post-more {
	margin-top:16px;
	font-size:.8rem;
	font-weight:700;
	color:var(--teal-lt);
}

/* ---------- Vorschau-Hinweis (nur für eingeloggte Admins) ---------- */
.blog-preview-bar {
	background:#f59e0b;
	color:#0a1628;
	text-align:center;
	font:600 .85rem/1.4 'Inter',sans-serif;
	padding:10px 16px;
}
.blog-preview-bar a {
	color:#0a1628;
}

/* Bilder mit width/height-Attributen proportional skalieren */
body.pg-blog-article .art-cover img,
body.pg-blog-article .article-body img {
	height:auto;
}
