/*
 * blog.css — Phase-4.5f-Split aus main.css ausgegliedert.
 *
 * Enthaelt:
 *   - Phase 4.5: Overrides fuer style.css (PM-1.1.5-Defaults wie z.B.
 *     Branding-Farbe #b79567 -> #d00, font-family Playfair -> Arial,
 *     Archive 4-spaltig statt 2-spaltig, etc.)
 *   - Phase 4.5c: ex custom.css (ehemals WP-Customizer "Zusaetzliches CSS")
 *
 * Wird NUR auf WP-Theme-gerenderten Pages geladen (single.php, archive.php,
 * page.php, etc. — alles was theme/header.php verwendet). Auf Custom-PHP-
 * Pages (koepfe/, karte/, thema/, extra/, suche.php, etc.) braucht's das
 * nicht, weil dort weder PMs style.css laedt noch Themelayout-Pages
 * gerendert werden.
 *
 * Loaded via wp_enqueue_style('dg-blog', ...) in functions.php mit
 * Dependency auf 'dg-main' - laedt also NACH style.css und NACH main.css.
 */


/* ============================================================================
 * Phase 4.5: Overrides fuer theme/style.css (Perfect-Magazine 1.1.5)
 *
 * Davor waren diese Anpassungen direkt in theme/style.css editiert. Mit
 * Phase 4.5 wurde style.css auf pures PM-1.1.5 zurueckgesetzt (Phase-5-Vorbereit-
 * ung: Child-Theme-Split wird sauberer). Alle eigenen Aenderungen leben jetzt
 * hier; main.css laedt via Enqueue-Dependency NACH style.css und ueberschreibt
 * damit zuverlaessig.
 * ============================================================================ */

/* (body / h1, h2, h3, h4, h5, h6 / ul / .container -Overrides aus diesem
 * Block sind in die Original-Definitionen oben in main.css konsolidiert
 * worden - sonst gab es Self-Conflicts in main.css. Insbesondere setzte
 * der originale Override-Block hier ein font-size:24px fuer ALLE Headings,
 * was die expliziten h1=40 / h2=36 / h3=28 / h4=20 / h5=18 / h6=16 ueber-
 * schrieben haette. Bug-Fix.) */

/* (h1 { margin: 1.3em 0 } konsolidiert in den h1-Block oben Z.319) */

/* HR: zusaetzlicher Top-Margin */
hr {
	margin-top: 1.5em;
}

/* Form-Felder: kein dotted Focus-Outline (war PM-Accessibility-Default) */
input[type="text"]:focus,
input[type="text"]:hover,
input[type="email"]:focus,
input[type="email"]:hover,
input[type="url"]:focus,
input[type="url"]:hover,
input[type="password"]:focus,
input[type="password"]:hover,
input[type="search"]:focus,
input[type="search"]:hover,
input[type="number"]:focus,
input[type="number"]:hover,
input[type="tel"]:focus,
input[type="tel"]:hover,
input[type="range"]:focus,
input[type="range"]:hover,
input[type="date"]:focus,
input[type="date"]:hover,
input[type="month"]:focus,
input[type="month"]:hover,
input[type="week"]:focus,
input[type="week"]:hover,
input[type="time"]:focus,
input[type="time"]:hover,
input[type="datetime"]:focus,
input[type="datetime"]:hover,
input[type="datetime-local"]:focus,
input[type="datetime-local"]:hover,
input[type="color"]:focus,
input[type="color"]:hover,
textarea:focus,
textarea:hover {
	outline: none !important;
}

/* (.container-Override ist oben Z.544 in den Original-Block konsolidiert) */

/* PM-Branding-Beige (#b79567) → unser Rot (#d00) */
.ball span,
.entry-meta.entry-meta-bg span.post-category-label a:hover,
.entry-meta.entry-meta-bg span.post-category-label a:focus {
	background: #d00;
}

a:hover, a:focus, a:active,
.post-category-label a:hover,
.post-category-label a:focus {
	color: #d00;
}

.site-content .widget_pages li a:hover,
.site-content .widget_pages li a:focus,
.site-content .widget_archive li a:hover,
.site-content .widget_archive li a:focus,
.site-content .widget_categories li a:hover,
.site-content .widget_categories li a:focus,
.site-content .widget_meta li a:hover,
.site-content .widget_meta li a:focus,
.site-content .widget_nav_menu li a:hover,
.site-content .widget_nav_menu li a:focus,
.site-content .widget_recent_entries li a:hover,
.site-content .widget_recent_entries li a:focus {
	color: #d00;
}

.author-info img {
	border: 4px solid #d00;
}

.author-info .author-details + a {
	color: #d00;
}

.site-footer a:hover,
.site-footer a:focus {
	color: #d00;
}

/* PM-Typo-Klassen: Playfair → Catamaran */
.full-item-title a,
.full-item-title a:hover,
.full-item-title a:focus,
.entry-title a,
.entry-title a:hover,
.entry-title a:focus,
.comment-respond .comment-reply-title,
.nav-previous a,
.nav-next a {
	font-family: Catamaran, sans-serif;
}

.single .entry-content:before,
.page .entry-content:before {
	font-family: Catamaran, sans-serif;
}

/* Headings + Titles: Spacing-Anpassungen */
.full-item-title {
	margin: 0 auto;
}

/* Archive-Listing: 4-spaltig statt 2-spaltig */
body.archive.no-sidebar #main article {
	width: 25%;
	float: left; /* ex custom.css */
}

/* PM setzt :nth-child(2n+1) { clear:left } fuer sein 2-Spalten-Default-Layout
 * (style.css Z.1998). In unserem 4-Spalten-Override muss das auf 4n+1
 * umgehaengt werden, sonst bricht jede 2. Kachel die Zeile (Effekt: nur
 * noch 2-spaltig). Davor stand das als auskommentiertes
 * `:nth-child(2n+1) { clear:none }` im File unten — Phase 4.5h-Fix. */
body.archive.no-sidebar #main article:nth-child(2n+1) {
	clear: none;
}

body.archive.no-sidebar #main article:nth-child(4n+1) {
	clear: left;
}

body.archive.no-sidebar #main article .article-content {
	height: 220px;
}

/* Bild-Vollbreite: linksbuendig */
.site-content .entry-content .image-full {
	text-align: left;
}

/* Posts-Navigation: ohne Border */
.site-main .posts-navigation,
.site-main .post-navigation {
	border: none;
}

/* Widget-Header: Hintergrund weg */
.homepage-widgetarea .widget {
	padding: 40px 10px;
}

.homepage-widgetarea .widget .widget-header-wrapper {
	background-color: transparent;
}

.homepage-widgetarea .tm-widget:nth-child(even) .widget-header-wrapper {
	background-color: transparent;
}

/* Wide Layouts: kein 1440px-Boxed-Cap bei >1600px Viewport
   (PM hatte das fuer .site-content/.container/.homepage-widgetarea .widget gesetzt) */
@media (min-width: 1600px) {
	.site-content,
	.homepage-widgetarea .widget,
	.home.blog-post .site-content {
		width: auto;
	}
}

/* Gutenberg-Image-Captions */
.wp-element-caption {
	z-index: 10;
}

/* H1 Mobile-Override */
@media only screen and (max-width: 640px) {
	h1 {
		font-size: 22px;
	}
}


/* ============================================================================
 * Phase 4.5c: Ehemals theme/assets/css/custom.css ("Zusaetzliches CSS" aus
 * dem WP-Customizer, am 2026-04-16 hierher exportiert).
 *
 * Diese Regeln liefen vorher als eigenes Stylesheet, geladen via wp_enqueue_
 * style('dg-custom',...) mit Dependency auf dg-main. Jetzt ans Ende main.css
 * gemerged (gleiche Cascade-Position - last wins), eine CSS-Datei weniger.
 * ============================================================================ */


/* Seite ausrichten */

.site-content {
	margin: 0 auto !important;
	max-width: 1200px;
}

/* #content { max-width: 1200px } konsolidiert nach oben Z.548 */

/* Schriften */

/* Phase 4.5c-Audit: Theme-Pages (.static-page, .blog-post werden von
 * theme/header.php auf body gesetzt) bekommen Alegreya Sans als Schriftart,
 * Custom-PHP-Pages bleiben bei Catamaran (Z.107). Frueher gab's das ueber
 * die separate custom.css, die nur via wp_enqueue_style auf Theme-Pages
 * geladen wurde. */
body.static-page,
body.blog-post {
	font-family: 'Alegreya Sans', sans-serif;
}

h1, h2, h3 {
	font-family: 'Catamaran', sans-serif;
	hyphens: none;
	font-weight: 500;
}

ul, ol {
	margin: 0;
}

/* Theme-Page-Paragraphen leicht groesser; Default p (Z.136) bleibt fuer
 * Custom-PHP-Pages. */
body.static-page p,
body.blog-post p {
	font-size: 1.1em;
	margin-bottom: 1.5em;
}


/* Zitate auf Theme-Pages (analog zu body-font: nur dort wo .static-page/
 * .blog-post Body-Klassen sind, sonst gilt der Default oben Z.232 fuer
 * Custom-PHP-Pages mit dunklem Hintergrund). */
body.static-page blockquote,
body.blog-post blockquote {
	color: #333;
	line-height: 1.2em;
}

.wp-block-quote {
	border-radius: 0
}

.wp-block-list {
	margin-left: 20px;
}

/* Phase 4.5h: Gutenberg-Bloecke vor unseren generischen Tag-Defaults schuetzen.
 * Unser p/blockquote/img-Default in main.css + widgets-icons.css ueberschreibt
 * sonst Block-internes Spacing/Layout (Beispiel /gremien/ wp-block-media-text).
 *
 * wp-block-media-text ist Grid-Layout mit Bild + Text-Spalten — Bilder duerfen
 * NICHT mit object-fit:cover gecrop't werden, p-Spacing soll Block-Default
 * folgen (margin:0 auf erstem/letzten Child, sonst block-konformes Spacing). */
.wp-block-media-text__media img,
.wp-block-image img,
.wp-block-cover img,
.wp-block-gallery img {
	object-fit: initial;
	height: auto;
}

.wp-block-media-text__content > p,
.wp-block-media-text__content > h1,
.wp-block-media-text__content > h2,
.wp-block-media-text__content > h3,
.wp-block-media-text__content > h4,
.wp-block-media-text__content > h5,
.wp-block-media-text__content > h6 {
	margin-top: 0;
	margin-bottom: 1em;
}

.wp-block-media-text__content > *:last-child {
	margin-bottom: 0;
}

/* Block-Spacing fuer Top-Level-Gutenberg-Bloecke in Theme-Pages.
 * Classic-Themes ohne theme.json bekommen KEIN automatisches block-gap;
 * WP-Core setzt keinen Default-Margin auf .wp-block-media-text & Co., und
 * --wp--style--block-gap greift nicht. Bloecke ohne <hr>-Separator kleben
 * sonst direkt aneinander (Beispiel /gremien/ Connemann -> Kauder = 0px Lücke).
 *
 * Wir setzen das gezielt auf .entry-content > Direkt-Children der gaengigen
 * Top-Level-Bloecke. Inline-Kinder (.wp-block-media-text__content) sind
 * nicht betroffen, ebensowenig <hr class="wp-block-separator"> der seinen
 * eigenen Abstand mitbringt. */
.entry-content > .wp-block-media-text,
.entry-content > .wp-block-image,
.entry-content > .wp-block-gallery,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-columns,
.entry-content > .wp-block-group,
.entry-content > .wp-block-buttons,
.entry-content > .wp-block-embed,
.entry-content > .wp-block-video {
	margin-block: 1.5em;
}

/* Phase 4.5h: wp-block-button Text-Farbe in :visited / :active fixen.
 * PMs style.css Z.562 setzt `a:active, a:visited { color: #434343 }`
 * mit Spezifizitaet 0,1,1 — WP-Core stylt Block-Buttons aber nur ueber
 * `:where(.wp-element-button, .wp-block-button__link)` (Spezifizitaet
 * 0,0,0), so dass besuchte Buttons in dunklem Grau auf dunklem Default-
 * Hintergrund (#32373c) komplett unlesbar werden. Wir setzen Text auf
 * Weiss fuer alle Link-States. .is-style-outline ist ausgenommen, weil
 * Outline-Buttons Text in Akzentfarbe statt Weiss tragen sollen. */
.wp-block-button:not(.is-style-outline) .wp-block-button__link,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:link,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:visited,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:focus,
.wp-block-button:not(.is-style-outline) .wp-block-button__link:active {
	color: #fff;
}

h1.wp-block-heading {
	margin-top: 0.1em;
	margin-bottom: 0.1em;
	line-height: 1.2;
	font-size: 24px;
}

h2.wp-block-heading {
	margin-top: 0;
	font-size: 24px;
	line-height: 24px;
}

h2.wp-block-heading.has-medium-font-size {
	margin-top: 1.5em;
	line-height: 1;
}

h3.wp-block-heading {
	font-size: 24px;
}

blockquote p {
	hyphens: auto;
}

@media (max-width: 499px) {
	blockquote p {
		font-size: 20px;
	}
}

@media (min-width: 500px) {
	blockquote p {
		font-size: 2em;
	}
}


/* Header */

@media (max-width: 399px) {
	.site-branding {
		width: 35%;
	}

	h2, h3 {
		font-size: 20px;
	}

	p {
		font-size: 14px;
	}

	.article-content-1 {
		background: #fff;
		border-bottom: 20px solid #fff;
	}
}

@media (min-width: 400px) {
	.site-branding {
		width: 17%;
	}
}

.site-branding {
	text-align: left;
	margin-left: 20px
}

/* @media (max-width: 399px) .header-middle konsolidiert nach oben */

/* @media (min-width: 400px) .header-middle konsolidiert nach oben */

/* @media (max-width: 399px) .startblock-* konsolidiert nach oben */

/* @media (min-width: 400px) .startblock-* konsolidiert nach oben */

/* Navigation */

.home .navigation-area {
	border-bottom: 1px solid #ccc
}

.main-navigation .menu > ul {
	text-align: right;
}

/* Block auf Startseite */

.startblock {
	text-align: center;
}


/* Kacheln Startseite */

.entry-footer {
	display: none;
}

/* Einzelbeitrga Meta */

.entry-meta {
	display: none;
}

/* Text-Body und Randspalte Abstand */

aside#secondary {
	padding-left: 40px;
}

/* Einzel-Seiten */


.page.no-sidebar .site-content article.hentry {
	max-width: 800px;
	margin: 0 auto;
}

h1.entry-title {
	width: 100%;
	line-height: 2em;
	margin-bottom: 20px;
	line-height: 1.3;
	font-weight: 600;
	font-size: 42px;
	letter-spacing: 0.16px;
	margin-top: 0.1em;
	padding-bottom: 0;
}

h2.entry-title {
	padding-top: 0;
	padding-bottom: 0;
	line-height: 1em;
	font-size: 24px;
}

/* nav prev-next */

.nav-previous, .nav-next {
	background-color: #f5f5f5
}

.single-post .post-navigation {
	display: none;
}

/* Startseiten-Widget-Border */

.article-content-1 {
	border: 0;
	height: 280px; /* ex zweiter .article-content-1-Block */
}

/* @media (max-width: 399px) .article-content-1 konsolidiert nach oben */


/* @media (min-width: 400px) .widget-* konsolidiert nach oben */


.article-content, .homepage-widgetarea .widget-header-wrapper, .category .widget-header-wrapper {
	background: #f5f5f5;
	border-bottom: 1px solid #aaa;
}

.homepage-widgetarea .tm-widget:nth-child(even) {

	background: #fff;
}

.widget-header-wrapper .widget-title {
	margin-top: 10px
}

.widget-title {
	text-transform: none;
	font-family: Catamaran, sans-serif;
	font-size: 35px;
}

/* grauer Hintergrund */

/* #content { background-color, padding-top } konsolidiert nach oben Z.548 */

#content {
	background-color: #fff;
	padding-top: 30px;
}

/* (.site-content margin steht oben Z.2045 mit !important, dieser Block hier
 * waere ohne !important sowieso ignoriert worden) */

.article-vertical-list {
	height: 100%;
	border-bottom: 1px solid #aaa;
	background-color: #f5f5f5;
}

/* Widgets in der Randspalte */
aside .widget {
	background-color: #fff;
}

.widget p, .widget .full-item-content {
	padding: 0 20px
}

.widget h3 {
	padding-top: 20px
}

.widget .post-description {
	border-bottom: 30px solid #fff;
	margin-bottom: 30px
}

.item-metadata {
	display: none
}

/* Excerpte in Widgets */

.home .widget p {
	padding: 0;
}

.tm-recent-widget .widget p {
	padding: 0 20px 20px 20px
}

/* Kommentare */

#comments {
	display: none;
}

/* Bildunterschriften */

.caption {
	font-size: 0.7em;
	padding-top: 4px
}

/* Paginierung auf Category-Seiten */

.navigation.posts-navigation {
	clear: both;
}

/* Padding für Artikel-Seiten */
.entry-content {
	padding: 10px;
	max-width: 950px; /* ex custom.css */
}

.entry-content ul,
.entry-content ol {
	margin-left: 20px;
}

/* grau outline für Randspalte */

#secondary .widget-title, .item-title, #secondary h4 {
	text-transform: none;
	color: #333;
	font-family: Catamaran, sans-serif;
	font-weight: 500;
}


#secondary .widget-title, .widget .full-item-content {
	background-color: #f5f5f5;
	border-bottom: 1px solid #aaa;
}

.widget .full-item-content {
	padding-bottom: 20px;
	border-bottom: 1px solid #aaa;
}

.widget .full-item-content h3 {
	font-weight: 600;
}

/* Blog-Übersichtsseiten */

.category {
	font-size: 100%
}

/* body.archive.no-sidebar #main article { float:left } konsolidiert in
 * den Block oben Z.148. clear-Override (:nth-child(4n+1) statt 2n+1) ist
 * mit Phase 4.5h ebenfalls in den oberen Block gewandert. */

/* .article-content-1 { height:280px } konsolidiert nach oben */

body.archive .tm-image-archive img {
	height: 176px;
	object-fit: cover;
}

.widget-header-wrapper {
	padding-bottom: 0px;
}

/* .entry-content { max-width:950px } konsolidiert nach oben */
