/* Grundlage (ersetzt die WordPress-Theme- und Block-Styles): Layout, Spalten, Navigation. grun.css baut darauf auf. */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 0; }
body { margin: 0; min-height: 100vh; font-family: "Archivo", system-ui, sans-serif; font-size: 1rem; line-height: 1.6; color: #140C38; background: #140C38;
	--wp--style--root--padding-top: 0px; --wp--style--root--padding-right: min(6.5rem, 8vw); --wp--style--root--padding-bottom: 0px; --wp--style--root--padding-left: min(6.5rem, 8vw);
	--wp--preset--color--base: #ffffff; --wp--preset--color--contrast: #111111; --wp--style--block-gap: 1.2rem; }
img, video, svg { max-width: 100%; height: auto; }
a { color: inherit; }
h1, h2, h3, h4 { margin: 0; line-height: 1.1; }
p { margin: 0 0 var(--wp--style--block-gap); }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
.wp-site-blocks { display: block; overflow-x: clip; }
main.wp-block-group { display: block; }
/* Begrenzte Breite wie theme.json (contentSize 1200) */
.is-layout-constrained > * { max-width: 1200px; margin-left: auto !important; margin-right: auto !important; }
.is-layout-constrained > .alignwide { max-width: 1240px; }
.is-layout-constrained > .alignfull, .is-layout-constrained .alignfull { max-width: none; }
.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
.has-global-padding > .alignfull { max-width: none; margin-right: calc(var(--wp--style--root--padding-right) * -1) !important; margin-left: calc(var(--wp--style--root--padding-left) * -1) !important; }
.has-global-padding > .alignfull.has-global-padding { padding-right: var(--wp--style--root--padding-right); padding-left: var(--wp--style--root--padding-left); }
.entry-content > * + * { margin-top: var(--wp--style--block-gap); }
.entry-content > .alignfull + .alignfull { margin-top: 0; }
.is-layout-flow > * + * { margin-top: var(--wp--style--block-gap); }
/* Spalten */
.wp-block-columns { display: flex; flex-wrap: wrap; gap: 2em; margin-bottom: 1.75em; align-items: initial; }
.wp-block-column { flex-grow: 1; min-width: 0; word-break: break-word; }
@media (min-width: 782px) { .wp-block-columns { flex-wrap: nowrap; } .wp-block-column { flex-basis: 0; flex-grow: 1; } .wp-block-column[style*="flex-basis"] { flex-grow: 0; } }
@media (max-width: 781px) { .wp-block-column { flex-basis: 100% !important; } }
/* Knöpfe */
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: .5em; }
.wp-block-button__link { display: inline-block; padding: calc(.667em + 2px) calc(1.333em + 2px); border: 0; border-radius: 9999px; background: #140C38; color: #fff; text-decoration: none; text-align: center; font-weight: 600; line-height: 1; }
/* Kopfzeile: Zeile mit Logo, Chip und Navigation */
header.wp-block-template-part > .wp-block-group { padding: 20px var(--wp--style--root--padding-right) 20px var(--wp--style--root--padding-left); }
header .is-layout-flex { display: flex; align-items: center; gap: 1.2em; flex-wrap: wrap; }
header .is-content-justification-space-between { justify-content: space-between; }
header .is-nowrap { flex-wrap: nowrap; }
.wp-block-site-logo { line-height: 0; }
.custom-logo-link { display: inline-block; }
.wp-block-site-title { display: none; }
/* Navigation (nach dem Muster des Core-Blocks) */
.wp-block-navigation { position: relative; display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; }
.wp-block-navigation ul { list-style: none; margin: 0; padding: 0; }
.wp-block-navigation__container { display: flex; flex-wrap: wrap; align-items: center; gap: .5em 2em; }
.wp-block-navigation-item { display: flex; align-items: center; position: relative; }
.wp-block-navigation-item__content { display: block; text-decoration: none; color: inherit; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { background: transparent; border: 0; padding: 0; display: flex; align-items: center; justify-content: center; color: currentColor; cursor: pointer; vertical-align: middle; }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { fill: currentColor; pointer-events: none; display: block; width: 24px; height: 24px; }
.wp-block-navigation__responsive-container { position: fixed; inset: 0; display: none; }
.wp-block-navigation__responsive-container.is-menu-open { display: flex; flex-direction: column; overflow: auto; z-index: 100000; background: #140C38; padding: clamp(1rem, 50px, 20rem) clamp(1rem, var(--wp--style--root--padding-right), 20rem) clamp(1rem, 50px, 20rem) clamp(1rem, var(--wp--style--root--padding-left), 20rem); animation: grun-overlay-in .1s ease-out both; }
@keyframes grun-overlay-in { from { opacity: 0; } to { opacity: 1; } }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: flex; flex-direction: column; flex-wrap: nowrap; overflow: visible; padding-top: 2rem; align-items: flex-start; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-direction: column; align-items: flex-start; gap: 0; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.4rem; padding: .5em 0; }
.wp-block-navigation__responsive-close { width: 100%; position: relative; }
.wp-block-navigation__responsive-dialog { position: relative; }
.wp-block-navigation__responsive-container-close { position: absolute; top: 0; right: 0; z-index: 2; }
html.has-modal-open { overflow: hidden; }
@media (min-width: 600px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) { display: none; }
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: block; position: relative; width: 100%; z-index: auto; background: transparent; }
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: none; }
	.wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__responsive-container-content { display: flex; justify-content: flex-end; }
}
/* Barrierefreiheit */
.grun-sr, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }
