/*
Theme Name: Kultur B Digital Theme
Author: Leicht Digital GmbH
Author URI: https://leicht.digital
Theme URI: https://leicht.digital
Tags: full-site-editing, editor-style, block-styles, block-patterns
Text Domain: kultur-b-digital-theme
Requires at least: 6.3
Requires PHP: 7.4
Tested up to: 6.3
Version: 1.0.2

License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

/* ===========================================
   EINHEITLICHE RESPONSIVE PADDINGS
   Zentrale Definition für konsistente Abstände
   - 1440px+: 120px (Large Desktop)
   - 1440px:  80px
   - 1024px:  40px
   - 768px:   24px
   - 480px:   16px
   =========================================== */

:root {
	--kbd-spacing-page: 120px;
	--kbd-spacing-page-inner: 80px;
}

@media (max-width: 1440px) {
	:root {
		--kbd-spacing-page: 80px;
		--kbd-spacing-page-inner: 60px;
	}
}

@media (max-width: 1024px) {
	:root {
		--kbd-spacing-page: 40px;
		--kbd-spacing-page-inner: 30px;
	}
}

@media (max-width: 768px) {
	:root {
		--kbd-spacing-page: 24px;
		--kbd-spacing-page-inner: 20px;
	}
}

@media (max-width: 480px) {
	:root {
		--kbd-spacing-page: 16px;
		--kbd-spacing-page-inner: 16px;
	}
}

/* ===========================================
   GLOBAL HEADING FONT SIZES
   Match theme.json settings for ALL h1-h6 elements
   (theme.json only applies to core/heading blocks)
   =========================================== */

h1 { font-size: var(--wp--preset--font-size--h-1, 48px); font-weight: 800; }
h2 { font-size: var(--wp--preset--font-size--h-2, 42px); font-weight: 800; }
h3 { font-size: var(--wp--preset--font-size--h-3, 28px); font-weight: 700; }
h4 { font-size: var(--wp--preset--font-size--h-4, 24px); font-weight: 700; }
h5 { font-size: var(--wp--preset--font-size--h-5, 20px); font-weight: 700; }
h6 { font-size: var(--wp--preset--font-size--h-6, 18px); font-weight: 700; }

/* ===========================================
   DEFAULT PADDING FOR GROUP BLOCKS
   Wenn Redaktion Background setzt aber Padding vergisst
   =========================================== */

.wp-block-group.has-background:not([style*="padding"]) {
	padding: 30px;
}

/* ===========================================
   TABLET: Column Stacking
   Stack columns vertically at tablet breakpoint
   =========================================== */

@media (max-width: 1024px) {
	.wp-block-columns {
		flex-direction: column !important;
		gap: 40px !important;
	}

	.wp-block-columns > .wp-block-column {
		flex-basis: 100% !important;
		width: 100% !important;
	}
}

/* Styles intended only for the front.*/
html {
	scroll-behavior: smooth;
}

@media screen and (prefers-reduced-motion: reduce) {

	html {
		scroll-behavior: auto;
	}
}

/* =========================================================
   KBD Card Base (Content-Karten mit Bild)
   Gilt für: Archiv/Suche (.archive-post-card), Single-Card/Neuste-Artikel (.kbd-single-card)
   Ziel: Einheitlicher Hover (Lift + Shadow), keine globalen Underlines
   ========================================================= */

.archive-post-card,
.kbd-single-card {
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.archive-post-card:hover,
.archive-post-card:focus-within,
.kbd-single-card:hover,
.kbd-single-card:focus-within {
	transform: translateY(-2px);
	box-shadow: 0 8px 24px rgba(30, 55, 145, 0.12);
	text-decoration: none !important;
}

/* Unterstreichungen global unterdrücken; spezifische Titel/CTA-Regeln bleiben in den Block-Styles */
.archive-post-card:hover *,
.archive-post-card:focus-within *,
.kbd-single-card:hover *,
.kbd-single-card:focus-within * {
	text-decoration: none !important;
}

body {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

/* Prevent horizontal scroll */
html,
body {
	max-width: 100%;
	overflow-x: hidden;
}

.wp-site-blocks {
	max-width: 100%;
	overflow-x: hidden;
}

/* Hide post title */
.wp-block-post-title {
	display: none !important;
}

/* Hide comments completely */
.comments-area,
.comment-form,
.comment-list,
.comment-reply-link,
.comment-respond {
	display: none !important;
}

/* Gap between flow layout elements */
:root :where(.is-layout-flow) > * + * {
	margin-block-start: 60px;
}

/* Default spacing between blocks - can be overridden in editor */
.wp-block-post-content > * + * {
	margin-block-start: 60px;
}

/* ===========================================
   TEXT BLOCK SPACING (Paragraph & Heading)
   Kompaktere Abstände für Text-Inhalte
   Überschreibt blockGap NUR für Text-Blöcke
   =========================================== */

/* Paragraph nach Paragraph: 20px (kompakter) */
.wp-block-post-content > p + p,
.entry-content > p + p,
.wp-block-group > p + p {
	margin-block-start: 20px !important;
}

/* Paragraph nach Heading: 16px (eng zusammen) */
.wp-block-post-content > .wp-block-heading + p,
.entry-content > .wp-block-heading + p,
.wp-block-group > .wp-block-heading + p {
	margin-block-start: 16px !important;
}

/* Heading nach Paragraph: 48px (neue Sektion) */
.wp-block-post-content > p + .wp-block-heading,
.entry-content > p + .wp-block-heading,
.wp-block-group > p + .wp-block-heading {
	margin-block-start: 48px !important;
}

/* Heading nach Heading: 24px */
.wp-block-post-content > .wp-block-heading + .wp-block-heading,
.entry-content > .wp-block-heading + .wp-block-heading,
.wp-block-group > .wp-block-heading + .wp-block-heading {
	margin-block-start: 24px !important;
}

/* Listen nach Paragraph/Heading: 16px */
.wp-block-post-content > p + .wp-block-list,
.wp-block-post-content > .wp-block-heading + .wp-block-list,
.entry-content > p + .wp-block-list,
.entry-content > .wp-block-heading + .wp-block-list,
.wp-block-group > p + .wp-block-list,
.wp-block-group > .wp-block-heading + .wp-block-list {
	margin-block-start: 16px !important;
}

/* Nach Listen: Paragraph 20px, Heading 48px */
.wp-block-post-content > .wp-block-list + p,
.entry-content > .wp-block-list + p,
.wp-block-group > .wp-block-list + p {
	margin-block-start: 20px !important;
}

.wp-block-post-content > .wp-block-list + .wp-block-heading,
.entry-content > .wp-block-list + .wp-block-heading,
.wp-block-group > .wp-block-list + .wp-block-heading {
	margin-block-start: 48px !important;
}

/* ===========================================
   CONTAINER/SECTION SPACING (100px)
   Größerer Abstand für Non-Text Blöcke
   =========================================== */

/* Ausnahme: Heading direkt vor Container → nur 24px */
.wp-block-post-content > .wp-block-heading + .wp-block-columns,
.wp-block-post-content > .wp-block-heading + .wp-block-group,
.wp-block-post-content > .wp-block-heading + .wp-block-image,
.wp-block-post-content > .wp-block-heading + .wp-block-cover,
.wp-block-post-content > .wp-block-heading + .wp-block-media-text,
.wp-block-post-content > .wp-block-heading + .wp-block-gallery,
.wp-block-post-content > .wp-block-heading + .wp-block-video,
.wp-block-post-content > .wp-block-heading + .wp-block-embed,
.wp-block-post-content > .wp-block-heading + .wp-block-buttons,
.wp-block-post-content > .wp-block-heading + .wp-block-table,
.wp-block-post-content > .wp-block-heading + .wp-block-quote,
.wp-block-post-content > .wp-block-heading + figure,
.wp-block-post-content > .wp-block-heading + [class*="wp-block-kultur-b-digital"],
.entry-content > .wp-block-heading + .wp-block-columns,
.entry-content > .wp-block-heading + .wp-block-group,
.entry-content > .wp-block-heading + .wp-block-image,
.entry-content > .wp-block-heading + .wp-block-cover,
.entry-content > .wp-block-heading + .wp-block-media-text,
.entry-content > .wp-block-heading + .wp-block-gallery,
.entry-content > .wp-block-heading + .wp-block-video,
.entry-content > .wp-block-heading + .wp-block-embed,
.entry-content > .wp-block-heading + .wp-block-buttons,
.entry-content > .wp-block-heading + .wp-block-table,
.entry-content > .wp-block-heading + .wp-block-quote,
.entry-content > .wp-block-heading + figure,
.entry-content > .wp-block-heading + [class*="wp-block-kultur-b-digital"] {
	margin-block-start: 24px !important;
}

/* Heading + Sonderblock (Accordion, Textbox, Quote): 40px */
.wp-block-post-content > .wp-block-heading + .wp-block-kultur-b-digital-accordion,
.wp-block-post-content > .wp-block-heading + .wp-block-quote,
.wp-block-post-content > .wp-block-heading + .is-style-textbox-lesetip,
.wp-block-post-content > .wp-block-heading + .is-style-textbox-salmon,
.wp-block-post-content > .wp-block-heading + .is-style-textbox-yellow,
.wp-block-post-content > .wp-block-heading + .is-style-textbox-green,
.entry-content > .wp-block-heading + .wp-block-kultur-b-digital-accordion,
.entry-content > .wp-block-heading + .wp-block-quote,
.entry-content > .wp-block-heading + .is-style-textbox-lesetip,
.entry-content > .wp-block-heading + .is-style-textbox-salmon,
.entry-content > .wp-block-heading + .is-style-textbox-yellow,
.entry-content > .wp-block-heading + .is-style-textbox-green,
.wp-block-group > .wp-block-heading + .wp-block-kultur-b-digital-accordion,
.wp-block-group > .wp-block-heading + .wp-block-quote,
.wp-block-group > .wp-block-heading + .is-style-textbox-lesetip,
.wp-block-group > .wp-block-heading + .is-style-textbox-salmon,
.wp-block-group > .wp-block-heading + .is-style-textbox-yellow,
.wp-block-group > .wp-block-heading + .is-style-textbox-green {
	margin-block-start: 40px !important;
}

/* Spacer: Kein Stacking - Spacer IST der Abstand */
.wp-block-post-content > .wp-block-spacer,
.entry-content > .wp-block-spacer {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Nach Spacer: Kein zusätzlicher Abstand */
.wp-block-post-content > .wp-block-spacer + *,
.entry-content > .wp-block-spacer + * {
	margin-block-start: 0 !important;
}

/* Standard Container-Abstand: 100px */
.wp-block-post-content > .wp-block-columns,
.wp-block-post-content > .wp-block-group,
.wp-block-post-content > .wp-block-image,
.wp-block-post-content > .wp-block-cover,
.wp-block-post-content > .wp-block-media-text,
.wp-block-post-content > .wp-block-gallery,
.wp-block-post-content > .wp-block-video,
.wp-block-post-content > .wp-block-embed,
.wp-block-post-content > .wp-block-separator,
.wp-block-post-content > .wp-block-buttons,
.wp-block-post-content > .wp-block-table,
.wp-block-post-content > .wp-block-quote,
.wp-block-post-content > figure,
.wp-block-post-content > [class*="wp-block-kultur-b-digital"],
.entry-content > .wp-block-columns,
.entry-content > .wp-block-group,
.entry-content > .wp-block-image,
.entry-content > .wp-block-cover,
.entry-content > .wp-block-media-text,
.entry-content > .wp-block-gallery,
.entry-content > .wp-block-video,
.entry-content > .wp-block-embed,
.entry-content > .wp-block-separator,
.entry-content > .wp-block-buttons,
.entry-content > .wp-block-table,
.entry-content > .wp-block-quote,
.entry-content > figure,
.entry-content > [class*="wp-block-kultur-b-digital"] {
	margin-block-start: 100px !important;
}

/* Responsive: Container-Abstand auf Mobile reduzieren */
@media (max-width: 768px) {
	.wp-block-post-content > .wp-block-columns,
	.wp-block-post-content > .wp-block-group,
	.wp-block-post-content > .wp-block-image,
	.wp-block-post-content > .wp-block-cover,
	.wp-block-post-content > .wp-block-media-text,
	.wp-block-post-content > .wp-block-gallery,
	.wp-block-post-content > .wp-block-video,
	.wp-block-post-content > .wp-block-embed,
	.wp-block-post-content > .wp-block-buttons,
	.wp-block-post-content > .wp-block-table,
	.wp-block-post-content > .wp-block-quote,
	.wp-block-post-content > figure,
	.wp-block-post-content > [class*="wp-block-kultur-b-digital"],
	.entry-content > .wp-block-columns,
	.entry-content > .wp-block-group,
	.entry-content > .wp-block-image,
	.entry-content > .wp-block-cover,
	.entry-content > .wp-block-media-text,
	.entry-content > .wp-block-gallery,
	.entry-content > .wp-block-video,
	.entry-content > .wp-block-embed,
	.entry-content > .wp-block-buttons,
	.entry-content > .wp-block-table,
	.entry-content > .wp-block-quote,
	.entry-content > figure,
	.entry-content > [class*="wp-block-kultur-b-digital"] {
		margin-block-start: 70px !important;
	}
}

@media (max-width: 480px) {
	.wp-block-post-content > .wp-block-columns,
	.wp-block-post-content > .wp-block-group,
	.wp-block-post-content > .wp-block-image,
	.wp-block-post-content > .wp-block-cover,
	.wp-block-post-content > .wp-block-media-text,
	.wp-block-post-content > .wp-block-gallery,
	.wp-block-post-content > .wp-block-video,
	.wp-block-post-content > .wp-block-embed,
	.wp-block-post-content > .wp-block-buttons,
	.wp-block-post-content > .wp-block-table,
	.wp-block-post-content > .wp-block-quote,
	.wp-block-post-content > figure,
	.wp-block-post-content > [class*="wp-block-kultur-b-digital"],
	.entry-content > .wp-block-columns,
	.entry-content > .wp-block-group,
	.entry-content > .wp-block-image,
	.entry-content > .wp-block-cover,
	.entry-content > .wp-block-media-text,
	.entry-content > .wp-block-gallery,
	.entry-content > .wp-block-video,
	.entry-content > .wp-block-embed,
	.entry-content > .wp-block-buttons,
	.entry-content > .wp-block-table,
	.entry-content > .wp-block-quote,
	.entry-content > figure,
	.entry-content > [class*="wp-block-kultur-b-digital"] {
		margin-block-start: 50px !important;
	}
}

/* Responsive: Etwas weniger Abstand auf Mobile */
@media (max-width: 768px) {
	.wp-block-post-content > p + .wp-block-heading,
	.entry-content > p + .wp-block-heading,
	.wp-block-group > p + .wp-block-heading,
	.wp-block-post-content > .wp-block-list + .wp-block-heading,
	.entry-content > .wp-block-list + .wp-block-heading,
	.wp-block-group > .wp-block-list + .wp-block-heading {
		margin-block-start: 40px !important;
	}
}

@media (max-width: 480px) {
	.wp-block-post-content > p + .wp-block-heading,
	.entry-content > p + .wp-block-heading,
	.wp-block-group > p + .wp-block-heading,
	.wp-block-post-content > .wp-block-list + .wp-block-heading,
	.entry-content > .wp-block-list + .wp-block-heading,
	.wp-block-group > .wp-block-list + .wp-block-heading {
		margin-block-start: 32px !important;
	}
}

/* ===========================================
   HEADING HYPHENATION
   Automatische Silbentrennung für besseren
   Textumbruch auf kleinen Viewports
   =========================================== */

h1, h2, h3, h4, h5, h6,
.wp-block-heading {
	hyphens: auto;
	-webkit-hyphens: auto;
	overflow-wrap: break-word;
}

/* ===========================================
   MOBILE HEADING SIZES (gestaffelt)
   Große Headings stärker skaliert,
   kleine Headings sanfter
   Desktop → 768px → 480px
   =========================================== */

@media (max-width: 768px) {
	h1,
	h1.wp-block-heading,
	.wp-block-heading h1 {
		font-size: 36px !important;
	}

	h2,
	h2.wp-block-heading,
	.wp-block-heading h2 {
		font-size: 32px !important;
	}

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

	h4,
	h4.wp-block-heading,
	.wp-block-heading h4 {
		font-size: 22px !important;
	}

	h5,
	h5.wp-block-heading,
	.wp-block-heading h5 {
		font-size: 18px !important;
	}

	h6,
	h6.wp-block-heading,
	.wp-block-heading h6 {
		font-size: 16px !important;
	}
}

@media (max-width: 480px) {
	h1,
	h1.wp-block-heading,
	.wp-block-heading h1 {
		font-size: 32px !important;
	}

	h2,
	h2.wp-block-heading,
	.wp-block-heading h2 {
		font-size: 28px !important;
	}

	h3,
	h3.wp-block-heading,
	.wp-block-heading h3 {
		font-size: 22px !important;
	}

	h4,
	h4.wp-block-heading,
	.wp-block-heading h4 {
		font-size: 20px !important;
	}

	h5,
	h5.wp-block-heading,
	.wp-block-heading h5 {
		font-size: 16px !important;
	}

	h6,
	h6.wp-block-heading,
	.wp-block-heading h6 {
		font-size: 14px !important;
	}
}

/* Global list styles moved to assets/css/registered-block-styles.css
   (loaded via style-shared.min.css in both frontend and editor) */

/* Post-Template (Query Loop Cards): keine Pfeil-Bullets */
ul.wp-block-post-template,
.wp-block-post-template {
	padding-left: 0;
}

ul.wp-block-post-template li::before,
.wp-block-post-template li::before {
	content: none;
}

/* Remove margin between full-width blocks (Hero, Newsletter, Hero-Background-Image, Hero-Section, Themen-Grid) */
.wp-block-post-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-hero,
.wp-block-post-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-newsletter,
.wp-block-post-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-hero-background-image,
.wp-block-post-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-hero-section,
.wp-block-post-content > .wp-block-kultur-b-digital-hero + .kbd-hero-background-image,
.wp-block-post-content > .wp-block-kultur-b-digital-hero + .kbd-hero,
.wp-block-post-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-hero,
.wp-block-post-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-newsletter,
.wp-block-post-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-hero-background-image,
.wp-block-post-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-hero-section,
.wp-block-post-content > .wp-block-kultur-b-digital-newsletter + .kbd-hero-background-image,
.wp-block-post-content > .wp-block-kultur-b-digital-newsletter + .kbd-hero,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-hero,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-newsletter,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-hero-background-image,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-hero-section,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-hero,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-newsletter,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-hero-background-image,
.wp-block-post-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-hero-section,
.wp-block-post-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-hero,
.wp-block-post-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-newsletter,
.wp-block-post-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-hero-background-image,
.wp-block-post-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-hero-section,
.wp-block-post-content > .kbd-hero + .wp-block-kultur-b-digital-hero,
.wp-block-post-content > .kbd-hero + .wp-block-kultur-b-digital-newsletter,
.wp-block-post-content > .kbd-hero + .wp-block-kultur-b-digital-hero-background-image,
.wp-block-post-content > .kbd-hero + .wp-block-kultur-b-digital-hero-section,
.wp-block-post-content > .wp-block-kultur-b-digital-themen-grid + .wp-block-kultur-b-digital-newsletter,
.wp-block-post-content > .kbd-themen-grid + .wp-block-kultur-b-digital-newsletter,
.entry-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-hero,
.entry-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-newsletter,
.entry-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-hero-background-image,
.entry-content > .wp-block-kultur-b-digital-hero + .wp-block-kultur-b-digital-hero-section,
.entry-content > .wp-block-kultur-b-digital-hero + .kbd-hero-background-image,
.entry-content > .wp-block-kultur-b-digital-hero + .kbd-hero,
.entry-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-hero,
.entry-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-newsletter,
.entry-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-hero-background-image,
.entry-content > .wp-block-kultur-b-digital-newsletter + .wp-block-kultur-b-digital-hero-section,
.entry-content > .wp-block-kultur-b-digital-newsletter + .kbd-hero-background-image,
.entry-content > .wp-block-kultur-b-digital-newsletter + .kbd-hero,
.entry-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-hero,
.entry-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-newsletter,
.entry-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-hero-background-image,
.entry-content > .wp-block-kultur-b-digital-hero-background-image + .wp-block-kultur-b-digital-hero-section,
.entry-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-hero,
.entry-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-newsletter,
.entry-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-hero-background-image,
.entry-content > .wp-block-kultur-b-digital-hero-section + .wp-block-kultur-b-digital-hero-section,
.entry-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-hero,
.entry-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-newsletter,
.entry-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-hero-background-image,
.entry-content > .kbd-hero-background-image + .wp-block-kultur-b-digital-hero-section,
.entry-content > .kbd-hero + .wp-block-kultur-b-digital-hero,
.entry-content > .kbd-hero + .wp-block-kultur-b-digital-newsletter,
.entry-content > .kbd-hero + .wp-block-kultur-b-digital-hero-background-image,
.entry-content > .kbd-hero + .wp-block-kultur-b-digital-hero-section,
.entry-content > .wp-block-kultur-b-digital-themen-grid + .wp-block-kultur-b-digital-newsletter,
.entry-content > .kbd-themen-grid + .wp-block-kultur-b-digital-newsletter {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

/* Allow override via block spacing settings */
.wp-block-post-content > *[style*="margin-top: 0"] {
	margin-block-start: 0 !important;
}

.wp-block-post-content > *[style*="margin-top: 0px"] {
	margin-block-start: 0 !important;
}

/* Remove margin from wp-site-blocks (for template parts) */
:where(.wp-site-blocks) > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

/* Kein Abstand zwischen Header und nachfolgendem Content */
.kbd-header + *,
.wp-block-group.kbd-header + * {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* Kein Padding oben bei entry-content/post-content direkt nach Header */
.entry-content.wp-block-post-content,
.wp-block-post-content.has-global-padding {
	padding-top: 0 !important;
}

/* Sicherstellen dass das erste Element in post-content keinen Margin hat */
.entry-content.wp-block-post-content > *:first-child,
.wp-block-post-content.has-global-padding > *:first-child {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* ===========================================
   HEADER SPACING FÜR NON-HERO FIRST ELEMENTS
   Wenn das erste Element KEIN Hero-Block ist,
   braucht es Abstand zum Header (100px)
   =========================================== */

/* Standard-Abstand für alle ersten Elemente die keine Hero-Blöcke sind */
.entry-content.wp-block-post-content > *:first-child:not(.wp-block-kultur-b-digital-hero):not(.wp-block-kultur-b-digital-hero-background-image):not(.wp-block-kultur-b-digital-hero-section):not(.kbd-hero):not(.kbd-hero-background-image):not(.wp-block-kultur-b-digital-newsletter-unsubscribe),
.wp-block-post-content.has-global-padding > *:first-child:not(.wp-block-kultur-b-digital-hero):not(.wp-block-kultur-b-digital-hero-background-image):not(.wp-block-kultur-b-digital-hero-section):not(.kbd-hero):not(.kbd-hero-background-image):not(.wp-block-kultur-b-digital-newsletter-unsubscribe) {
	margin-top: 60px !important;
}

/* Responsive: Weniger Abstand auf Tablet */
@media (max-width: 768px) {
	.entry-content.wp-block-post-content > *:first-child:not(.wp-block-kultur-b-digital-hero):not(.wp-block-kultur-b-digital-hero-background-image):not(.wp-block-kultur-b-digital-hero-section):not(.kbd-hero):not(.kbd-hero-background-image):not(.wp-block-kultur-b-digital-newsletter-unsubscribe),
	.wp-block-post-content.has-global-padding > *:first-child:not(.wp-block-kultur-b-digital-hero):not(.wp-block-kultur-b-digital-hero-background-image):not(.wp-block-kultur-b-digital-hero-section):not(.kbd-hero):not(.kbd-hero-background-image):not(.wp-block-kultur-b-digital-newsletter-unsubscribe) {
		margin-top: 40px !important;
	}
}

/* Responsive: Noch weniger Abstand auf Mobile */
@media (max-width: 480px) {
	.entry-content.wp-block-post-content > *:first-child:not(.wp-block-kultur-b-digital-hero):not(.wp-block-kultur-b-digital-hero-background-image):not(.wp-block-kultur-b-digital-hero-section):not(.kbd-hero):not(.kbd-hero-background-image):not(.wp-block-kultur-b-digital-newsletter-unsubscribe),
	.wp-block-post-content.has-global-padding > *:first-child:not(.wp-block-kultur-b-digital-hero):not(.wp-block-kultur-b-digital-hero-background-image):not(.wp-block-kultur-b-digital-hero-section):not(.kbd-hero):not(.kbd-hero-background-image):not(.wp-block-kultur-b-digital-newsletter-unsubscribe) {
		margin-top: 24px !important;
	}
}

/* Fix hero block fullwidth - 100% width, kein äußeres Padding */
.wp-block-kultur-b-digital-hero {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: 100vw !important;
	max-width: 100vw !important;
}

/* Fix hero-background-image block fullwidth */
.wp-block-kultur-b-digital-hero-background-image {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: 100vw !important;
	max-width: 100vw !important;
}

/* Newsletter Block - fullwidth */
.wp-block-kultur-b-digital-newsletter {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: 100vw !important;
	max-width: 100vw !important;
}

/* ===========================================
   CONTENT CONTAINER - Einheitliche Paddings
   Padding nur wenn Viewport kleiner als max-width
   =========================================== */

/* Post Content - zentriert mit max-width */
.wp-block-post-content,
.entry-content {
	max-width: var(--wp--style--global--content-size, 1200px);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* Padding nur wenn Viewport kleiner als Content-Breite + Padding */
@media (max-width: 1440px) {
	.wp-block-post-content,
	.entry-content {
		padding-left: var(--kbd-spacing-page);
		padding-right: var(--kbd-spacing-page);
	}
}

/* Die Desktop-Groesse fuer h2 kommt aus theme.json bzw. der h2-Regel weiter oben.
   Eine zusaetzliche !important-Regel an dieser Stelle stand nach den
   Mobile-Media-Queries und hat deren Groessen in jedem Viewport ueberstimmt (#75). */

/* ============================================
   Global Grid Styles - Links-Ausrichtung
   ============================================ */
.wp-block-group.is-layout-grid {
	justify-items: start !important;
	gap: 20px !important;
}

.wp-block-group.is-layout-grid.wp-container-core-group-is-layout-27ada0b0,
.wp-block-group.wp-block-group-is-layout-grid {
	justify-items: start !important;
	gap: 20px !important;
}

.wp-block-group.is-layout-grid > * {
	justify-self: start !important;
}

.wp-block-group.is-layout-grid .wp-block-group,
.wp-block-group.is-layout-grid .wp-block-column {
	justify-self: start !important;
}

/* Mitarbeiter-Grid: siehe Block-CSS mitarbeiter-card/style.css */

/* Spezifisch für Grid mit allen WordPress-Klassen */
.wp-block-group.is-layout-grid.wp-container-core-group-is-layout-27ada0b0.wp-block-group-is-layout-grid {
	justify-items: start !important;
	gap: 20px !important;
}

/* Überschreibe WordPress inline-Styles für Grid */
.wp-block-group.is-layout-grid[style*="grid-template-columns"] {
	justify-items: start !important;
	gap: 20px !important;
}

.wp-block-group.is-layout-grid[style*="justify-items"] {
	justify-items: start !important;
}

/* Noch spezifischer für alle Grid-Varianten */
.wp-block-post-content .wp-block-group.is-layout-grid,
.entry-content .wp-block-group.is-layout-grid {
	justify-items: start !important;
	gap: 20px !important;
}

/* Image Text Row - Listen ohne Bullets */
.kbd-image-text-row__content ul {
	list-style: none;
	padding-left: 0;
	display: block;
	gap: 0;
}

.kbd-image-text-row__content ul li {
	padding-left: 0;
}

/* ===========================================
   RESPONSIVE BLOCK SPACING
   Reduce spacing between blocks on smaller screens
   =========================================== */

/* Tablet Portrait - Reduce block spacing */
@media (max-width: 768px) {
	:root :where(.is-layout-flow) > * + * {
		margin-block-start: 40px;
	}

	.wp-block-post-content > * + * {
		margin-block-start: 40px;
	}

	/* Spacer blocks should also be smaller */
	.wp-block-spacer {
		height: 40px !important;
	}
}

/* Mobile - Further reduce block spacing */
@media (max-width: 480px) {
	:root :where(.is-layout-flow) > * + * {
		margin-block-start: 24px;
	}

	.wp-block-post-content > * + * {
		margin-block-start: 24px;
	}

	/* Single Card Slider: Grid gap statt WordPress block spacing */
	.kbd-single-card-slider > *,
	div.kbd-single-card-slider > *,
	.wp-block-column .kbd-single-card-slider > * {
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		margin: 0 !important;
	}

	/* Single Card Slider: Regulärer Block Spacing zum Element darüber */
	.kbd-single-card-slider {
		margin-top: 40px !important;
		row-gap: 20px !important;
	}

	/* Spacer blocks should be even smaller */
	.wp-block-spacer {
		height: 24px !important;
	}
}

/* ===========================================
   WORDPRESS ADMIN BAR
   Hide on mobile devices (tablets and smaller)
   =========================================== */

@media (max-width: 768px) {
	#wpadminbar {
		display: none !important;
		position: absolute !important;
		left: -9999px !important;
	}

	/* Reset html margin-top (WordPress adds 32px or 46px here) */
	html {
		margin-top: 0 !important;
	}

	/* Reset body margin-top when admin bar is hidden */
	body {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	/* Also reset any fixed positioning adjustments */
	.admin-bar .kbd-header,
	.kbd-header {
		top: 0 !important;
	}
}
