/* DPSG Blog – Einzelbeitrag */
.dpsg-article-wrap {
	--a-accent: #5b2a86;
	--a-ink: #1f1f1f;
	--a-text: #303134;
	--a-muted: #5f6368;
	--a-line: #e3e0e8;
	--a-soft: #f6f4f9;
	background: #fff;
	color: var(--a-ink);
	padding: 32px 16px 64px;
}
.dpsg-article-wrap *, .dpsg-article-wrap *::before, .dpsg-article-wrap *::after { box-sizing: border-box; }
.dpsg-article-wrap a { text-decoration: none; }
.dpsg-article { max-width: 1080px; margin: 0 auto; }

/* Kopf */
.dpsg-article__head { max-width: 760px; margin: 0 auto; display: flex; flex-direction: column; gap: 14px; }
.dpsg-article__back {
	align-self: flex-start; display: inline-flex; gap: 6px; align-items: center; margin-bottom: 10px;
	font-size: 14px; font-weight: 500; color: var(--a-muted) !important; padding: 6px 12px 6px 8px; border-radius: 99px;
	transition: background .15s, color .15s;
}
.dpsg-article__back:hover { background: var(--a-soft); color: var(--a-accent) !important; }
.dpsg-article__title {
	margin: 0 !important; padding: 0; color: var(--a-ink);
	font-size: clamp(32px, 5.2vw, 52px) !important; line-height: 1.12 !important; font-weight: 500 !important; letter-spacing: -.015em;
}
.dpsg-article__lead { margin: 0; font-size: clamp(18px, 2.2vw, 21px); line-height: 1.5; color: var(--a-muted); }
.dpsg-article__meta {
	display: flex; align-items: center; gap: 12px; margin-top: 10px; padding: 16px 0;
	border-top: 1px solid var(--a-line); border-bottom: 1px solid var(--a-line);
}
.dpsg-article__avatar {
	flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center;
	background: linear-gradient(135deg, var(--a-accent), #2b57a5); color: #fff; font-weight: 700; font-size: 17px;
}
.dpsg-article__avatar--lg { width: 56px; height: 56px; font-size: 22px; }
.dpsg-article__meta-text { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }
.dpsg-article__meta-text strong { font-size: 15px; color: var(--a-ink); }
.dpsg-article__meta-text span { font-size: 14px; color: var(--a-muted); }
.dpsg-article__share {
	margin: 0 0 0 auto; display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
	padding: 9px 16px; border-radius: 99px; border: 1px solid #c8c4cf; background: #fff; color: var(--a-ink) !important;
	font: inherit; font-size: 14px; font-weight: 500; letter-spacing: 0; text-transform: none; box-shadow: none;
	transition: background .15s, border-color .15s;
}
.dpsg-article__share:hover { border-color: var(--a-accent); background: var(--a-soft); }
.dpsg-article__share.is-done { border-color: #1f7a44; color: #1f7a44 !important; }

/* Titelbild */
.dpsg-article__hero { margin: 32px auto 0; max-width: 1080px; }
.dpsg-article__hero a { display: block; border-radius: 24px; overflow: hidden; background: var(--a-soft); cursor: zoom-in; }
.dpsg-article__hero img { display: block; width: 100%; height: auto; max-height: min(70vh, 640px); object-fit: contain; margin: 0; }
.dpsg-article__hero figcaption { max-width: 760px; margin: 10px auto 0; font-size: 14px; color: var(--a-muted); }

/* Text */
.dpsg-article__content {
	max-width: 720px; margin: 36px auto 0;
	font-size: 18px; line-height: 1.75; color: var(--a-text);
}
.dpsg-article__content > * { margin-top: 0; margin-bottom: 1.3em; }
.dpsg-article__content > *:last-child { margin-bottom: 0; }
.dpsg-article__content p { font-size: inherit; line-height: inherit; }
.dpsg-article__content a { color: var(--a-accent); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.dpsg-article__content h2, .dpsg-article__content h3, .dpsg-article__content h4 {
	color: var(--a-ink); font-weight: 600; line-height: 1.25; margin-top: 1.8em; margin-bottom: .6em; letter-spacing: -.01em;
}
.dpsg-article__content h2 { font-size: clamp(24px, 3vw, 30px); }
.dpsg-article__content h3 { font-size: 22px; }
.dpsg-article__content ul, .dpsg-article__content ol { padding-left: 1.3em; }
.dpsg-article__content li { margin-bottom: .4em; }

.dpsg-article__content blockquote, .dpsg-article__content .wp-block-quote {
	margin: 2em 0; padding: 4px 0 4px 24px; border: 0; border-left: 4px solid var(--a-accent);
	background: none; font-size: clamp(21px, 2.6vw, 26px); line-height: 1.45; font-style: normal; color: var(--a-ink);
}
.dpsg-article__content blockquote p { margin: 0 0 .4em; font-size: inherit; }
.dpsg-article__content blockquote cite {
	display: block; margin-top: 10px; font-size: 15px; font-style: normal; font-weight: 600; color: var(--a-muted);
}
.dpsg-article__content blockquote cite::before { content: "— "; }
.dpsg-article__content blockquote::before, .dpsg-article__content blockquote::after { display: none !important; }

.dpsg-article__content hr, .dpsg-article__content .wp-block-separator {
	border: 0 !important; height: auto; margin: 2.4em auto; text-align: center; color: var(--a-accent); opacity: 1; background: none;
	width: auto !important; max-width: none !important;
}
.dpsg-article__content hr::after, .dpsg-article__content .wp-block-separator::after { content: "• • •"; letter-spacing: .6em; font-size: 16px; }

/* Bilder & Galerien: etwas breiter als der Text */
.dpsg-article__content figure, .dpsg-article__content .wp-block-image, .dpsg-article__content .wp-block-gallery { margin: 2em 0; }
@media (min-width: 900px) {
	.dpsg-article__content > .wp-block-image, .dpsg-article__content > .wp-block-gallery { margin-left: -60px; margin-right: -60px; }
}
.dpsg-article__content img { border-radius: 18px; height: auto; max-width: 100%; display: block; }
.dpsg-article__content .wp-block-image a, .dpsg-article__content .wp-block-gallery a { cursor: zoom-in; display: block; }
.dpsg-article__content figcaption, .dpsg-article__content .wp-element-caption {
	margin-top: 10px !important; font-size: 14px; line-height: 1.5; color: var(--a-muted); text-align: left !important;
}
.dpsg-article__content .wp-block-gallery.has-nested-images { gap: 10px; }
.dpsg-article__content .wp-block-gallery.has-nested-images figure.wp-block-image img { border-radius: 14px; }
.dpsg-article__content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption {
	background: none; color: #fff; text-shadow: 0 1px 3px rgba(0,0,0,.6);
}
.dpsg-article__content .has-small-font-size { font-size: 15px; color: var(--a-muted); }

/* Fuß */
.dpsg-article__foot { max-width: 720px; margin: 48px auto 0; display: flex; flex-direction: column; gap: 28px; }
.dpsg-article__foot .dpsg-blog__chips { margin: 0; }
.dpsg-article__foot .dpsg-blog__chip {
	padding: 7px 15px; border: 1px solid #c8c4cf; border-radius: 99px; font-size: 14px; background: #fff; color: var(--a-ink) !important;
}
.dpsg-article__foot .dpsg-blog__chip:hover { border-color: var(--a-accent); color: var(--a-accent) !important; }
.dpsg-article__author {
	display: flex; align-items: center; gap: 16px; padding: 22px 24px; border-radius: 20px; background: var(--a-soft);
}
.dpsg-article__author > div { display: flex; flex-direction: column; line-height: 1.35; }
.dpsg-article__author-label { font-size: 13px; color: var(--a-muted); }
.dpsg-article__author strong { font-size: 18px; color: var(--a-ink); }
.dpsg-article__author-sub { font-size: 14px; color: var(--a-muted); }

.dpsg-article__nav { display: grid; grid-template-columns: 1fr; gap: 12px; }
@media (min-width: 600px) { .dpsg-article__nav { grid-template-columns: 1fr 1fr; } }
.dpsg-article__nav-item {
	display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-radius: 16px;
	border: 1px solid var(--a-line); color: var(--a-ink) !important; transition: border-color .15s, background .15s;
}
.dpsg-article__nav-item:hover { border-color: var(--a-accent); background: var(--a-soft); }
.dpsg-article__nav-item span { font-size: 13px; color: var(--a-muted); }
.dpsg-article__nav-item strong { font-size: 16px; font-weight: 500; line-height: 1.35; }
.dpsg-article__nav-item.is-next { text-align: right; grid-column: -2; }

/* Weitere Beiträge */
.dpsg-article__related { max-width: 1080px !important; margin: 72px auto 0 !important; padding-top: 40px; border-top: 1px solid var(--a-line); gap: 24px !important; }
.dpsg-article__related-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.dpsg-article__related-head .dpsg-blog__btn:hover { background: var(--a-ink); color: #fff !important; }

/* Lightbox */
.dpsg-lb {
	position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center;
	background: rgba(12, 10, 16, .97); opacity: 0; transition: opacity .2s; touch-action: pan-y;
}
.dpsg-lb.is-open { opacity: 1; }
.dpsg-lb img { max-width: 94vw; max-height: 86vh; object-fit: contain; border-radius: 8px; user-select: none; -webkit-user-drag: none; }
.dpsg-lb__cap { position: absolute; left: 0; right: 0; bottom: 18px; text-align: center; color: #ddd; font-size: 14px; padding: 0 60px; }
.dpsg-lb button {
	position: absolute; width: 48px; height: 48px; border-radius: 50%; border: 0; margin: 0; padding: 0; cursor: pointer;
	background: rgba(255,255,255,.12); color: #fff; font-size: 24px; line-height: 1; display: grid; place-items: center;
}
.dpsg-lb button:hover { background: rgba(255,255,255,.24); }
.dpsg-lb__close { top: 16px; right: 16px; }
.dpsg-lb__prev { left: 16px; top: 50%; margin-top: -24px !important; }
.dpsg-lb__next { right: 16px; top: 50%; margin-top: -24px !important; }
.dpsg-lb__count { position: absolute; top: 28px; left: 24px; color: #bbb; font-size: 14px; }
@media (max-width: 600px) { .dpsg-lb__prev, .dpsg-lb__next { top: auto; bottom: 56px; margin-top: 0 !important; } }

@media (max-width: 600px) {
	.dpsg-article-wrap { padding-top: 20px; }
	.dpsg-article__content { font-size: 17px; margin-top: 28px; }
	.dpsg-article__hero { margin: 24px -16px 0; }
	.dpsg-article__hero a { border-radius: 0; }
	.dpsg-article__share span { display: none; }
	.dpsg-article__share { padding: 10px; }
}
