/*
Theme Name:        Fachkräfterat
Description:       Block-Theme des Fachkräfterats: öffentliche Website in dunkler Gestaltung, Mitgliederanmeldung und geschütztes Mitgliederportal. Reines Gutenberg, kein Page Builder.
Version:           0.3.2
Requires at least: 6.6
Requires PHP:      8.2
Author:            Blacksd Global
License:           Proprietär
Text Domain:       fkr-portal-theme
*/

/* ==========================================================================
   Grundraster
   8-px-Raster, Inhaltsbreite 1280 px, Seitenränder fluide 20 bis 64 px.
   ========================================================================== */
:root {
	--fkr-maxw: 1280px;
	--fkr-gutter: clamp(20px, 5vw, 64px);
	--fkr-section: clamp(88px, 10vw, 152px);
	--fkr-header-h: 84px;

	--fkr-night: #020A24;
	--fkr-night-2: #06123A;
	--fkr-night-3: #0B1B4F;
	--fkr-blue: #0036D8;
	--fkr-blue-hover: #1A4DF2;
	--fkr-teal: #2BD6CA;
	--fkr-tx: #FFFFFF;
	--fkr-tx-2: #C5CDE0;
	--fkr-tx-3: #8F9BBA;
	--fkr-rule: rgba(255, 255, 255, .14);
	--fkr-rule-strong: rgba(255, 255, 255, .28);

	--fkr-ease: cubic-bezier(.2, .7, .2, 1);
	--fkr-serif: var(--wp--preset--font-family--noto-serif);
	--fkr-sans: var(--wp--preset--font-family--arimo);
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--fkr-header-h) + 16px); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; }
:where(a, button, summary, input, select, textarea):focus-visible { outline: 2px solid var(--fkr-teal); outline-offset: 3px; }
img { max-width: 100%; height: auto; }

.fkr-skip { position: absolute; left: -9999px; top: 8px; z-index: 1000; background: #fff; color: var(--wp--preset--color--ink); padding: 10px 14px; font-weight: 700; text-decoration: none; }
.fkr-skip:focus { left: 8px; }

/* ==========================================================================
   Dunkle öffentliche Gestaltung
   ========================================================================== */
body.fkr-dark { background: var(--fkr-night); color: var(--fkr-tx-2); font-size: 17px; line-height: 1.7; }
.fkr-dark :is(h1, h2, h3, h4, h5, h6) { color: var(--fkr-tx); }
.fkr-dark h1 { font-family: var(--fkr-serif); font-weight: 600; font-size: clamp(2.5rem, 1.2rem + 4.2vw, 5rem); line-height: 1.05; letter-spacing: -.02em; text-wrap: balance; }
.fkr-dark h2 { font-family: var(--fkr-serif); font-weight: 600; font-size: clamp(2rem, 1.35rem + 2.4vw, 3.5rem); line-height: 1.1; letter-spacing: -.015em; text-wrap: balance; }
.fkr-dark h3 { font-family: var(--fkr-sans); font-weight: 700; font-size: 1.25rem; line-height: 1.35; letter-spacing: 0; }
.fkr-dark a { color: var(--fkr-tx); text-decoration-color: var(--fkr-rule-strong); text-underline-offset: .2em; text-decoration-thickness: 1px; transition: color .2s, text-decoration-color .2s; }
.fkr-dark a:hover { color: var(--fkr-teal); text-decoration-color: currentColor; }
.fkr-dark ::selection { background: var(--fkr-blue); color: #fff; }
.fkr-main { counter-reset: fkr-section; }
.fkr-main > .wp-block-post-content > * { margin-block: 0; }

/* Typografische Bausteine */
.fkr-eyebrow { margin: 0 0 24px !important; font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fkr-teal); }
.fkr-eyebrow a { color: inherit; text-decoration: none; }
.fkr-kicker { display: flex; align-items: center; gap: 16px; margin: 0 0 28px !important; font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fkr-tx); }
.fkr-section .fkr-kicker { counter-increment: fkr-section; }
.fkr-section .fkr-kicker::before { content: counter(fkr-section, decimal-leading-zero); color: var(--fkr-teal); font-variant-numeric: tabular-nums; }
.fkr-kicker::after { content: ""; flex: 0 0 48px; height: 1px; background: var(--fkr-rule-strong); order: 1; }
.fkr-lead { font-size: clamp(1.125rem, 1rem + .45vw, 1.375rem); line-height: 1.55; color: var(--fkr-tx); }
.fkr-statement { font-family: var(--fkr-serif); font-weight: 600; font-size: clamp(1.375rem, 1.1rem + 1vw, 2rem); line-height: 1.35; color: var(--fkr-tx); letter-spacing: -.01em; }
.fkr-more { margin-top: 32px !important; }
.fkr-more a, .fkr-back a { display: inline-flex; align-items: center; gap: 12px; font-weight: 700; text-decoration: none; color: var(--fkr-tx); }
.fkr-more a::after { content: ""; width: 28px; height: 1px; background: currentColor; transition: width .3s var(--fkr-ease); }
.fkr-more a:hover::after { width: 44px; }
.fkr-back a::before { content: ""; width: 28px; height: 1px; background: currentColor; transition: width .3s var(--fkr-ease); }
.fkr-back a:hover::before { width: 44px; }

/* Schaltflächen */
.fkr-dark .wp-block-buttons.fkr-actions { gap: 16px; margin-top: 40px !important; }
.fkr-dark .wp-element-button, .fkr-dark .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px;
	border: 1px solid var(--fkr-blue); border-radius: 0; background: var(--fkr-blue); color: #fff;
	font-family: var(--fkr-sans); font-weight: 700; font-size: 1rem; letter-spacing: .01em; text-decoration: none;
	transition: background-color .2s, border-color .2s, color .2s;
}
.fkr-dark .wp-block-button__link:hover { background: var(--fkr-blue-hover); border-color: var(--fkr-blue-hover); color: #fff; }
.fkr-dark .is-style-outline .wp-block-button__link { background: transparent; border-color: var(--fkr-rule-strong); color: #fff; }
.fkr-dark .is-style-outline .wp-block-button__link:hover { background: rgba(255, 255, 255, .06); border-color: #fff; color: #fff; }
.fkr-dark .is-style-light .wp-block-button__link { background: #fff; border-color: #fff; color: var(--fkr-blue); }
.fkr-dark .is-style-light .wp-block-button__link:hover { background: var(--fkr-night); border-color: var(--fkr-night); color: #fff; }

/* ==========================================================================
   Kopfleiste
   ========================================================================== */
.fkr-header { position: fixed; inset: 0 0 auto 0; z-index: 100; margin: 0 !important; transition: background-color .35s var(--fkr-ease), border-color .35s, box-shadow .35s; border-bottom: 1px solid transparent; }
.fkr-header.is-scrolled, body:not(.home) .fkr-header { background: rgba(2, 10, 36, .92); backdrop-filter: blur(14px) saturate(140%); -webkit-backdrop-filter: blur(14px) saturate(140%); border-bottom-color: var(--fkr-rule); }
.admin-bar .fkr-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .fkr-header { top: 46px; } }
.fkr-header__inner { max-width: var(--fkr-maxw); height: var(--fkr-header-h); margin: 0 auto !important; padding: 0 var(--fkr-gutter); display: flex; align-items: center; justify-content: space-between; gap: 32px; box-sizing: content-box; }
.fkr-header__logo { display: block; flex: 0 0 auto; line-height: 0; }
.fkr-header__logo img { height: 40px; width: auto; }
.fkr-header .wp-block-navigation { margin: 0 !important; font-size: .9375rem; font-weight: 700; gap: 36px; }
.fkr-header .wp-block-navigation .wp-block-navigation__container { gap: 36px; align-items: center; }
.fkr-header .wp-block-navigation-item__content { color: var(--fkr-tx) !important; text-decoration: none; padding: 8px 0 !important; position: relative; }
.fkr-header .wp-block-navigation-item:not(.fkr-nav-cta) > .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; right: 0; bottom: 2px; height: 1px; background: var(--fkr-teal); transform: scaleX(0); transform-origin: left; transition: transform .3s var(--fkr-ease); }
.fkr-header .wp-block-navigation-item:not(.fkr-nav-cta) > .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }
.fkr-header .fkr-nav-cta > .wp-block-navigation-item__content { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 20px !important; border: 1px solid var(--fkr-rule-strong); transition: background-color .2s, border-color .2s; }
.fkr-header .fkr-nav-cta > .wp-block-navigation-item__content::before { content: ""; width: 12px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M2 6V4a4 4 0 1 1 8 0v2h1a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1.5 0h5V4a2.5 2.5 0 0 0-5 0z'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M2 6V4a4 4 0 1 1 8 0v2h1a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H1a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1zm1.5 0h5V4a2.5 2.5 0 0 0-5 0z'/%3E%3C/svg%3E") center / contain no-repeat; }
.fkr-header .fkr-nav-cta > .wp-block-navigation-item__content:hover { background: var(--fkr-blue); border-color: var(--fkr-blue); }
/* Mobiles Menü */
.fkr-header .wp-block-navigation__responsive-container-open, .fkr-header .wp-block-navigation__responsive-container-close { color: #fff; }
.fkr-header .wp-block-navigation__responsive-container-open svg { width: 28px; height: 28px; }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open { background: var(--fkr-night) !important; color: #fff !important; padding: 24px var(--fkr-gutter) 40px; }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 72px; align-items: flex-start; }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 0; width: 100%; align-items: stretch; }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--fkr-rule); }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--fkr-serif); font-size: 1.75rem; font-weight: 600; padding: 18px 0 !important; }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open .fkr-nav-cta { border-bottom: 0; margin-top: 32px; }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open .fkr-nav-cta > .wp-block-navigation-item__content { font-family: var(--fkr-sans); font-size: 1rem; min-height: 56px; padding: 0 20px !important; justify-content: center; width: 100%; box-sizing: border-box; background: var(--fkr-blue); border-color: var(--fkr-blue); }
.fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container, .fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; }
@media (max-width: 1365px) { .fkr-header .wp-block-navigation, .fkr-header .wp-block-navigation .wp-block-navigation__container { gap: 28px; } }
/* Unterhalb von 1280 px wechselt die Hauptnavigation geschlossen in das Menü (statt unter 600 px wie im Standard) */
@media (max-width: 1279px) {
	.fkr-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.fkr-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.fkr-header .wp-block-navigation__responsive-container.is-menu-open { position: fixed; inset: 0; display: flex; }
	.fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { display: flex; }
	.fkr-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { max-width: var(--fkr-maxw); margin: 0 auto; width: 100%; }
}
@media (max-width: 600px) { :root { --fkr-header-h: 68px; } .fkr-header__logo img { height: 32px; } }

/* ==========================================================================
   Abschnitte
   ========================================================================== */
.fkr-section { position: relative; padding: var(--fkr-section) var(--fkr-gutter); background: var(--fkr-night); }
.fkr-section > * { max-width: var(--fkr-maxw); margin-left: auto !important; margin-right: auto !important; }
.fkr-section--alt { background: var(--fkr-night-2); }
.fkr-section + .fkr-section:not(.fkr-section--alt):not(.fkr-band)::before { content: ""; position: absolute; top: 0; left: var(--fkr-gutter); right: var(--fkr-gutter); max-width: var(--fkr-maxw); margin: 0 auto; height: 1px; background: var(--fkr-rule); }

.fkr-sectionhead { margin-bottom: clamp(48px, 6vw, 80px) !important; }
.fkr-sectionhead > * { max-width: 820px; margin: 0 !important; }
.fkr-sectionhead > h2 + .fkr-lead { margin-top: 28px !important; color: var(--fkr-tx-2); }
.fkr-sectionhead--row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; flex-wrap: wrap; }
.fkr-sectionhead--row > * { max-width: none; }
.fkr-sectionhead--row .fkr-more { margin: 0 0 6px !important; }

/* Zweispaltig: Titel links, Text rechts (5/7) */
.fkr-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: clamp(40px, 6vw, 112px); align-items: start; }
.fkr-split > * { margin: 0 !important; }
.fkr-split__aside > *, .fkr-split__body > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.fkr-split__body > * + * { margin-top: 24px !important; }
.fkr-split__body > .fkr-lead + p, .fkr-split__body > .fkr-statement + p { margin-top: 32px !important; }
.fkr-split__body p { max-width: 680px; }
@media (max-width: 900px) {
	.fkr-split { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.fkr-hero {
	position: relative; isolation: isolate; overflow: hidden; margin: 0 !important;
	min-height: max(100svh, 720px); padding: calc(var(--fkr-header-h) + 64px) var(--fkr-gutter) 0;
	display: flex; flex-direction: column; justify-content: flex-end; box-sizing: border-box;
	background:
		radial-gradient(60% 70% at 78% 40%, rgba(0, 54, 216, .38) 0%, rgba(0, 54, 216, 0) 70%),
		radial-gradient(40% 50% at 10% 100%, rgba(43, 214, 202, .07) 0%, rgba(43, 214, 202, 0) 70%),
		var(--fkr-night);
}
.fkr-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none;
	background-image: linear-gradient(var(--fkr-rule) 1px, transparent 1px), linear-gradient(90deg, var(--fkr-rule) 1px, transparent 1px);
	background-size: 96px 96px; background-position: center top; opacity: .35;
	-webkit-mask-image: radial-gradient(70% 80% at 70% 40%, #000 0%, transparent 75%); mask-image: radial-gradient(70% 80% at 70% 40%, #000 0%, transparent 75%);
}
.fkr-hero > * { width: 100%; max-width: var(--fkr-maxw); margin-left: auto !important; margin-right: auto !important; }
.fkr-hero__content { position: relative; z-index: 2; margin-top: auto !important; margin-bottom: clamp(48px, 7vh, 80px) !important; }
.fkr-hero__content > * { max-width: 1000px; margin-top: 0 !important; margin-bottom: 0 !important; }
.fkr-hero__content h1 { margin-bottom: 32px !important; }
.fkr-hero__content .fkr-lead { max-width: 640px; color: var(--fkr-tx-2); }
.fkr-hero__content .fkr-actions { margin-top: 40px !important; }

/* Bildmarke aus den Formen des Logos (assets/brandmark.svg, Bewegung in der Datei selbst) */
.fkr-hero__art { position: absolute; z-index: 0; top: 50%; right: max(-8vw, calc((100vw - var(--fkr-maxw)) / -2 - 4vw)); width: min(50vw, 760px); aspect-ratio: 1; transform: translate3d(0, calc(-56% + var(--fkr-par, 0px)), 0); pointer-events: none; background: url("assets/brandmark.svg") center / contain no-repeat; }
.fkr-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(90deg, rgba(2, 10, 36, .92) 0%, rgba(2, 10, 36, .7) 34%, rgba(2, 10, 36, 0) 62%), linear-gradient(0deg, rgba(2, 10, 36, 1) 0%, rgba(2, 10, 36, .85) 22%, rgba(2, 10, 36, 0) 52%); }
@media (prefers-reduced-motion: no-preference) {
	.fkr-js .fkr-hero__art { opacity: 0; }
	.fkr-js.fkr-ready .fkr-hero__art { animation: fkr-art-in 1.4s var(--fkr-ease) .15s forwards; }
	.fkr-js .fkr-hero__content > * { opacity: 0; transform: translate3d(0, 24px, 0); }
	.fkr-js.fkr-ready .fkr-hero__content > * { animation: fkr-up .9s var(--fkr-ease) forwards; }
	.fkr-js.fkr-ready .fkr-hero__content > :nth-child(2) { animation-delay: .1s; }
	.fkr-js.fkr-ready .fkr-hero__content > :nth-child(3) { animation-delay: .2s; }
	.fkr-js.fkr-ready .fkr-hero__content > :nth-child(4) { animation-delay: .3s; }
}
@keyframes fkr-art-in { from { opacity: 0; margin-right: -60px; } to { opacity: 1; margin-right: 0; } }
@keyframes fkr-up { to { opacity: 1; transform: none; } }

/* Kennzahlen am unteren Rand */
.fkr-hero .fkr-facts { position: relative; z-index: 2; list-style: none; margin-top: 0 !important; margin-bottom: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--fkr-rule-strong); }
.fkr-facts li { display: flex; align-items: baseline; gap: 16px; margin: 0; padding: 28px 24px 36px 0; color: var(--fkr-tx-2); font-size: .9375rem; line-height: 1.4; }
.fkr-facts li + li { padding-left: 24px; border-left: 1px solid var(--fkr-rule); }
.fkr-facts strong { font-family: var(--fkr-serif); font-weight: 600; font-size: clamp(2rem, 1.6rem + 1.2vw, 2.75rem); line-height: 1; color: var(--fkr-tx); font-variant-numeric: tabular-nums; }

@media (max-width: 782px) {
	.fkr-hero { min-height: auto; padding-top: calc(var(--fkr-header-h) + 160px); }
	.fkr-hero__art { top: calc(var(--fkr-header-h) - 24px); right: -42vw; width: 100vw; transform: translate3d(0, var(--fkr-par, 0px), 0); }
	.fkr-hero::after { background: linear-gradient(0deg, rgba(2, 10, 36, 1) 0%, rgba(2, 10, 36, .9) 45%, rgba(2, 10, 36, .2) 100%); }
	.fkr-hero__content { margin-bottom: 48px !important; }
	.fkr-hero .fkr-facts { grid-template-columns: minmax(0, 1fr); }
	.fkr-facts li { padding: 20px 0; }
	.fkr-facts li + li { padding-left: 0; border-left: 0; border-top: 1px solid var(--fkr-rule); }
}

/* ==========================================================================
   Schwerpunkte: nummeriertes Raster
   ========================================================================== */
.fkr-tiles { list-style: none; padding: 0 !important; margin-top: 0 !important; counter-reset: fkr-tile; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(24px, 3vw, 48px); row-gap: 0; }
.fkr-tiles li { position: relative; counter-increment: fkr-tile; margin: 0; padding: 32px 0 48px; border-top: 1px solid var(--fkr-rule-strong); color: var(--fkr-tx); font-size: 1.125rem; line-height: 1.5; }
.fkr-tiles li::before { content: counter(fkr-tile, decimal-leading-zero); display: block; margin-bottom: 24px; font-size: .8125rem; font-weight: 700; letter-spacing: .16em; color: var(--fkr-teal); font-variant-numeric: tabular-nums; }
.fkr-tiles li::after { content: ""; position: absolute; top: -1px; left: 0; width: 100%; height: 1px; background: var(--fkr-teal); transform: scaleX(0); transform-origin: left; transition: transform .6s var(--fkr-ease); }
.fkr-tiles li:hover::after { transform: scaleX(1); }
@media (max-width: 1080px) { .fkr-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fkr-tiles { grid-template-columns: minmax(0, 1fr); } .fkr-tiles li { padding: 24px 0 32px; } }

/* ==========================================================================
   Arbeitsweise: Prozess mit Fortschrittslinie
   ========================================================================== */
.fkr-steps { position: relative; list-style: none; padding: 0 !important; margin-top: 0 !important; counter-reset: fkr-step; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(24px, 2.4vw, 40px); }
.fkr-steps::before, .fkr-steps::after { content: ""; position: absolute; top: 7px; left: 0; right: 0; height: 1px; }
.fkr-steps::before { background: var(--fkr-rule-strong); }
.fkr-steps::after { background: var(--fkr-teal); transform: scaleX(0); transform-origin: left; transition: transform 1.6s var(--fkr-ease) .2s; }
.fkr-steps.is-in::after, html:not(.fkr-js) .fkr-steps::after { transform: scaleX(1); }
.fkr-steps li { position: relative; counter-increment: fkr-step; margin: 0; padding-top: 40px; color: var(--fkr-tx-2); font-size: 1rem; line-height: 1.6; }
.fkr-steps li::before { content: ""; position: absolute; top: 0; left: 0; width: 15px; height: 15px; box-sizing: border-box; border: 1px solid var(--fkr-teal); background: var(--fkr-night); z-index: 1; }
.fkr-steps strong::before { content: counter(fkr-step, decimal-leading-zero); display: block; margin-bottom: 16px; font-family: var(--fkr-sans); font-size: .8125rem; font-weight: 700; line-height: 1; letter-spacing: .16em; color: var(--fkr-teal); font-variant-numeric: tabular-nums; }
.fkr-steps.is-in li::before, html:not(.fkr-js) .fkr-steps li::before { background: var(--fkr-teal); transition: background-color .3s ease calc(.25s + var(--fkr-d, 0ms) * 3); }
.fkr-steps strong { display: block; margin-bottom: 12px; font-family: var(--fkr-serif); font-size: 1.375rem; font-weight: 600; line-height: 1.25; color: var(--fkr-tx); }
@media (max-width: 1080px) {
	.fkr-steps { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 40px !important; }
	.fkr-steps::before, .fkr-steps::after { top: 0; bottom: 0; left: 7px; right: auto; width: 1px; height: auto; }
	.fkr-steps::after { transform: scaleY(0); transform-origin: top; }
	.fkr-steps.is-in::after, html:not(.fkr-js) .fkr-steps::after { transform: scaleY(1); }
	.fkr-steps li { padding: 0 0 40px; }
	.fkr-steps li:last-child { padding-bottom: 0; }
	.fkr-steps li::before { left: -40px; top: -1px; }
}

/* ==========================================================================
   Gutachten-Band
   ========================================================================== */
.fkr-band { background: radial-gradient(70% 120% at 100% 0%, rgba(0, 54, 216, .45) 0%, rgba(0, 54, 216, 0) 60%), var(--fkr-night-3); overflow: hidden; }
.fkr-band::after { content: ""; position: absolute; right: 0; bottom: 0; width: 56px; height: 56px; background: var(--fkr-teal); }
.fkr-band .fkr-split__body p:not(.fkr-statement) { color: var(--fkr-tx-2); }
@media (max-width: 600px) { .fkr-band::after { width: 32px; height: 32px; } }

/* ==========================================================================
   Zusammensetzung: Bildkarten
   ========================================================================== */
.fkr-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); }
.fkr-cards > * { margin: 0 !important; }
.fkr-card { position: relative; }
.fkr-card > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.fkr-card .wp-block-image { position: relative; overflow: hidden; border-top-right-radius: 40px; background: var(--fkr-night-3); margin-bottom: 24px !important; }
.fkr-card .wp-block-image img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; filter: grayscale(1) contrast(1.05) brightness(.82); transition: transform 1.2s var(--fkr-ease), filter .6s ease; }
.fkr-card .wp-block-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(0, 54, 216, .18) 0%, rgba(2, 10, 36, .55) 100%); mix-blend-mode: multiply; transition: opacity .6s ease; }
.fkr-card:hover .wp-block-image img { transform: scale(1.04); filter: grayscale(.2) contrast(1.02) brightness(.95); }
.fkr-card:hover .wp-block-image::after { opacity: .4; }
.fkr-card h3 { display: flex; align-items: center; gap: 12px; margin-bottom: 8px !important; }
.fkr-card h3::before { content: ""; width: 8px; height: 8px; background: var(--fkr-teal); flex: 0 0 auto; }
.fkr-card p { color: var(--fkr-tx-2); font-size: .9375rem; line-height: 1.6; }
@media (max-width: 1080px) { .fkr-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 48px; } }
@media (max-width: 600px) { .fkr-cards { row-gap: 40px; } .fkr-card .wp-block-image { border-top-right-radius: 24px; margin-bottom: 16px !important; } .fkr-card h3 { font-size: 1.0625rem; } .fkr-card p { font-size: .875rem; } }
@media (max-width: 359px) { .fkr-cards { grid-template-columns: minmax(0, 1fr); } }

/* ==========================================================================
   Veröffentlichungen
   ========================================================================== */
.fkr-news .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2vw, 32px); list-style: none; padding: 0; margin: 0; }
.fkr-news .wp-block-post { position: relative; display: flex; flex-direction: column; margin: 0; padding: 32px; min-height: 280px; box-sizing: border-box; background: rgba(255, 255, 255, .03); border: 1px solid var(--fkr-rule); transition: border-color .3s, background-color .3s, transform .4s var(--fkr-ease); }
.fkr-news .wp-block-post:hover { border-color: var(--fkr-rule-strong); background: rgba(255, 255, 255, .05); transform: translateY(-4px); }
.fkr-news .wp-block-post > * { margin: 0 !important; }
.fkr-news .wp-block-post-date { order: -1; margin-bottom: 24px !important; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fkr-teal); }
.fkr-news .wp-block-post-title { font-family: var(--fkr-serif); font-size: 1.5rem; font-weight: 600; line-height: 1.25; margin-bottom: 16px !important; }
.fkr-news .wp-block-post-title a { color: var(--fkr-tx); text-decoration: none; }
.fkr-news .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.fkr-news .wp-block-post-excerpt { color: var(--fkr-tx-2); font-size: .9375rem; line-height: 1.6; }
.fkr-news .wp-block-post-excerpt__excerpt { margin: 0; }
.fkr-news .wp-block-post-excerpt__more-text { display: none; }
.fkr-news .wp-block-post::after { content: ""; position: absolute; right: 32px; bottom: 32px; width: 28px; height: 1px; background: var(--fkr-tx); transition: width .3s var(--fkr-ease), background-color .3s; }
.fkr-news .wp-block-post:hover::after { width: 44px; background: var(--fkr-teal); }
.fkr-news .wp-block-post-excerpt { margin-bottom: 40px !important; }
.fkr-news .wp-block-query-pagination { margin-top: 48px; gap: 24px; font-weight: 700; }
.fkr-news .wp-block-query-pagination a { color: var(--fkr-tx); }
@media (max-width: 1080px) { .fkr-news .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .fkr-news .wp-block-post-template { grid-template-columns: minmax(0, 1fr); } .fkr-news .wp-block-post { padding: 24px; min-height: 0; } }

/* ==========================================================================
   Mitgliederbereich-Band
   ========================================================================== */
.fkr-cta { padding: 0 var(--fkr-gutter) var(--fkr-section); background: var(--fkr-night); margin: 0 !important; }
.fkr-cta__box {
	position: relative; overflow: hidden; max-width: var(--fkr-maxw); margin: 0 auto !important; box-sizing: border-box;
	padding: clamp(40px, 6vw, 88px); border-top-right-radius: 64px;
	display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 48px;
	background: linear-gradient(120deg, #0036D8 0%, #0029A6 100%);
}
.fkr-cta__box > * { position: relative; z-index: 1; margin: 0 !important; }
.fkr-cta__text > * { margin-top: 0 !important; margin-bottom: 0 !important; max-width: 680px; }
.fkr-cta__text .fkr-eyebrow { color: #fff; opacity: .85; margin-bottom: 20px !important; }
.fkr-cta__text h2 { font-size: clamp(1.75rem, 1.3rem + 1.6vw, 2.75rem); }
.fkr-cta__text p:not(.fkr-eyebrow) { margin-top: 20px !important; color: rgba(255, 255, 255, .88); }
.fkr-cta .fkr-actions { margin-top: 0 !important; }
@media (max-width: 600px) {
	.fkr-dark .wp-block-buttons.fkr-actions { flex-direction: column; align-items: stretch; gap: 12px; }
	.fkr-dark .fkr-actions .wp-block-button { width: 100%; }
	.fkr-dark .fkr-actions .wp-block-button__link { width: 100%; box-sizing: border-box; }
}
@media (max-width: 782px) { .fkr-cta__box { grid-template-columns: minmax(0, 1fr); gap: 32px; border-top-right-radius: 40px; } }

/* ==========================================================================
   Unterseiten und Beiträge
   ========================================================================== */
.fkr-pagehero { position: relative; overflow: hidden; margin: 0 !important; padding: calc(var(--fkr-header-h) + clamp(64px, 9vw, 128px)) var(--fkr-gutter) clamp(48px, 6vw, 80px); background: radial-gradient(50% 120% at 100% 0%, rgba(0, 54, 216, .35) 0%, rgba(0, 54, 216, 0) 70%), var(--fkr-night); border-bottom: 1px solid var(--fkr-rule); }
.fkr-pagehero > * { max-width: var(--fkr-maxw); margin-left: auto !important; margin-right: auto !important; margin-top: 0 !important; margin-bottom: 0 !important; }
.fkr-pagehero h1, .fkr-pagehero .wp-block-post-title { font-size: clamp(2.25rem, 1.4rem + 3.2vw, 4.25rem); }
.fkr-pagehero .fkr-lead { margin-top: 28px !important; color: var(--fkr-tx-2); }
.fkr-pagehero .fkr-more { margin-top: 40px !important; }
.fkr-pagehero__meta { margin-top: 32px !important; font-size: .8125rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--fkr-tx-3); }
.fkr-pagehero--article h1 { font-size: clamp(2rem, 1.3rem + 2.6vw, 3.5rem); padding-right: max(0px, calc(100% - 1000px)); box-sizing: border-box; }
.fkr-pagehero--full { min-height: 70vh; display: flex; flex-direction: column; justify-content: flex-end; border-bottom: 0; }
.fkr-pagehero--full > * { width: 100%; }

.fkr-page { padding: clamp(48px, 6vw, 88px) var(--fkr-gutter) var(--fkr-section); }
.fkr-page > * { max-width: var(--fkr-maxw); margin-left: auto !important; margin-right: auto !important; }
.fkr-page .wp-block-post-content > * { max-width: 760px; margin-top: 0; margin-bottom: 0; }
.fkr-page .wp-block-post-content > * + * { margin-top: 24px; }
.fkr-page .wp-block-post-content > .fkr-lead:first-child { color: var(--fkr-tx); }
.fkr-page .wp-block-post-content > :is(h2, h3) { margin-top: 56px; margin-bottom: -4px; }
.fkr-page .wp-block-post-content > h2 { font-size: clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem); }
.fkr-page .wp-block-post-content > .wp-block-query { max-width: none; margin-top: 56px; }
.fkr-article > :not(.wp-block-post-content) { max-width: var(--fkr-maxw); }
.fkr-article > .fkr-back { max-width: var(--fkr-maxw); }
.fkr-page .wp-block-quote { margin: 48px 0; padding: 8px 0 8px 32px; border-left: 2px solid var(--fkr-teal); }
.fkr-page .wp-block-quote p { font-family: var(--fkr-serif); font-size: clamp(1.25rem, 1.1rem + .7vw, 1.75rem); font-weight: 600; line-height: 1.4; color: var(--fkr-tx); }
.fkr-page .wp-block-quote cite { display: block; margin-top: 20px; font-style: normal; font-size: .875rem; font-weight: 700; letter-spacing: .04em; color: var(--fkr-tx-3); }
.fkr-page :is(ul, ol):not(.wp-block-post-template) { padding-left: 1.25em; }
.fkr-page li + li { margin-top: 8px; }
.fkr-article .wp-block-post-featured-image { margin-bottom: 48px; }
.fkr-back { margin-top: 64px !important; padding-top: 32px; border-top: 1px solid var(--fkr-rule); }
.fkr-article > .fkr-back { width: 100%; max-width: 760px !important; margin-left: max(0px, calc((100% - var(--fkr-maxw)) / 2)) !important; box-sizing: border-box; }
.fkr-article > .wp-block-post-content { max-width: var(--fkr-maxw); font-size: 1.125rem; line-height: 1.75; }

/* ==========================================================================
   Fußbereich
   ========================================================================== */
.fkr-footer { margin: 0 !important; padding: clamp(64px, 8vw, 112px) var(--fkr-gutter) 32px; background: #000; color: var(--fkr-tx-3); font-size: .9375rem; }
.fkr-footer > * { max-width: var(--fkr-maxw); margin-left: auto !important; margin-right: auto !important; }
.fkr-footer a { color: var(--fkr-tx-2); text-decoration: none; }
.fkr-footer a:hover { color: var(--fkr-teal); }
.fkr-footer__grid { display: grid; grid-template-columns: minmax(0, 5fr) repeat(3, minmax(0, 2fr)); gap: 48px; padding-bottom: clamp(48px, 6vw, 88px); }
.fkr-footer__grid > * { margin: 0 !important; }
.fkr-footer__grid > * > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.fkr-footer__logo { display: inline-block; line-height: 0; }
.fkr-footer__logo img { height: 44px; width: auto; }
.fkr-footer__claim { margin-top: 32px !important; max-width: 340px; font-family: var(--fkr-serif); font-size: clamp(1.375rem, 1.2rem + .6vw, 1.75rem); font-weight: 600; line-height: 1.3; color: #fff; }
.fkr-footer__title { margin-bottom: 20px !important; font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: #fff; }
.fkr-footer__links { list-style: none; padding: 0 !important; }
.fkr-footer__links li { margin: 0; }
.fkr-footer__links li + li { margin-top: 12px; }
.fkr-footer__legal { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 16px 32px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .14); font-size: .8125rem; }
.fkr-footer__legal p { margin: 0 !important; }
.fkr-footer__legal a + a { margin-left: 28px; }
@media (max-width: 900px) { .fkr-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .fkr-footer__brand { grid-column: 1 / -1; } }
@media (max-width: 560px) { .fkr-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; } }

/* ==========================================================================
   Einblenden (nur mit JavaScript, ohne Bewegungsreduktion)
   ========================================================================== */
@media (prefers-reduced-motion: no-preference) {
	.fkr-js .fkr-r { opacity: 0; transform: translate3d(0, 24px, 0); transition: opacity .9s var(--fkr-ease) var(--fkr-d, 0ms), transform .9s var(--fkr-ease) var(--fkr-d, 0ms); }
	.fkr-js .fkr-r.is-in { opacity: 1; transform: none; }
	.fkr-js .fkr-news .wp-block-post.fkr-r.is-in:hover { transform: translateY(-4px); }
}

/* ==========================================================================
   Anmeldung (geteilte Ansicht): links Marke, rechts helle Arbeitsfläche
   ========================================================================== */
body.fkr-authpage { background: #fff; color: var(--wp--preset--color--ink); }
.fkr-auth { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); min-height: 100vh; min-height: 100svh; margin: 0 !important; }
.fkr-auth > * { margin: 0 !important; }
.fkr-auth__visual {
	position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between;
	padding: 48px clamp(32px, 5vw, 80px); color: #fff;
	background: radial-gradient(70% 70% at 80% 40%, rgba(0, 54, 216, .4) 0%, rgba(0, 54, 216, 0) 70%), var(--fkr-night);
}
.fkr-auth__visual::before { content: ""; position: absolute; inset: 0; z-index: -1; background-image: linear-gradient(var(--fkr-rule) 1px, transparent 1px), linear-gradient(90deg, var(--fkr-rule) 1px, transparent 1px); background-size: 80px 80px; opacity: .3; -webkit-mask-image: radial-gradient(70% 70% at 70% 45%, #000, transparent 75%); mask-image: radial-gradient(70% 70% at 70% 45%, #000, transparent 75%); }
.fkr-auth__visual::after { content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(0deg, rgba(2, 10, 36, .95) 0%, rgba(2, 10, 36, .4) 45%, rgba(2, 10, 36, 0) 70%); }
.fkr-auth__logo { position: relative; z-index: 2; display: inline-block; line-height: 0; align-self: flex-start; }
.fkr-auth__logo img { height: 40px; width: auto; }
.fkr-auth__art { top: 44%; right: -18%; width: 92%; transform: translate3d(0, -50%, 0); }
.fkr-auth__art { opacity: 1 !important; animation: none !important; }
.fkr-auth__claim { position: relative; z-index: 2; max-width: 520px; }
.fkr-auth__claim > * { margin: 0; }
.fkr-auth__statement { font-family: var(--fkr-serif); font-weight: 600; font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.75rem); line-height: 1.15; letter-spacing: -.015em; color: #fff; }
.fkr-auth__sub { margin-top: 20px !important; color: var(--fkr-tx-2); font-size: 1rem; line-height: 1.6; }
.fkr-auth__claim .fkr-eyebrow { margin-bottom: 20px !important; }

.fkr-auth__panel { display: flex; flex-direction: column; min-height: 100%; padding: 40px clamp(24px, 5vw, 80px) 32px; background: #fff; color: var(--wp--preset--color--ink); box-sizing: border-box; }
.fkr-auth__panel > * { margin: 0 !important; }
.fkr-auth__top { display: flex; align-items: center; justify-content: flex-end; min-height: 40px; }
.fkr-auth__mobilelogo { display: none; line-height: 0; margin-right: auto; }
.fkr-auth__mobilelogo img { height: 32px; width: auto; }
.fkr-auth__home { display: inline-flex; align-items: center; gap: 10px; font-size: .875rem; font-weight: 700; color: var(--wp--preset--color--ink); text-decoration: none; }
.fkr-auth__home::before { content: ""; width: 20px; height: 1px; background: currentColor; transition: width .3s var(--fkr-ease); }
.fkr-auth__home:hover { color: var(--fkr-blue); }
.fkr-auth__home:hover::before { width: 32px; }
.fkr-auth__body { flex: 1; display: flex; flex-direction: column; justify-content: center; width: 100%; max-width: 440px; margin: 0 auto !important; padding: 56px 0; }
.fkr-auth__body > .wp-block-post-content > * { margin: 0; }
.fkr-auth__body .fkr-block { color: var(--wp--preset--color--ink); }
.fkr-auth__legal { display: flex; gap: 24px; justify-content: center; flex-wrap: wrap; font-size: .8125rem; color: var(--wp--preset--color--muted); }
.fkr-auth__legal a { color: inherit; text-decoration: none; }
.fkr-auth__legal a:hover { color: var(--fkr-blue); }

.fkr-auth__head { margin-bottom: 32px; }
.fkr-auth__head > * { margin: 0; }
.fkr-auth__kicker { font-size: .8125rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; color: var(--fkr-blue); }
.fkr-auth__head h1 { margin-top: 16px; font-family: var(--fkr-serif); font-weight: 600; font-size: clamp(2rem, 1.6rem + 1.2vw, 2.5rem); line-height: 1.1; letter-spacing: -.015em; color: var(--wp--preset--color--ink); }
.fkr-auth__lead { margin-top: 16px !important; color: var(--wp--preset--color--muted); font-size: 1rem; line-height: 1.6; }
.fkr-auth__msg { margin-bottom: 24px; padding: 14px 16px; border-left: 3px solid var(--fkr-teal); background: #F3F5F9; font-size: .9375rem; line-height: 1.5; }
.fkr-auth__msg--error { border-left-color: var(--wp--preset--color--danger); background: #FDF2F1; color: #7A1A12; }
.fkr-auth__form { display: grid; gap: 20px; }
.fkr-auth__field { display: grid; gap: 8px; }
.fkr-auth__field label, .fkr-auth__labelrow label { font-size: .875rem; font-weight: 700; color: var(--wp--preset--color--ink); }
.fkr-auth__labelrow { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.fkr-auth__labelrow a { font-size: .875rem; color: var(--fkr-blue); text-decoration: none; }
.fkr-auth__labelrow a:hover { text-decoration: underline; }
.fkr-auth__field input { width: 100%; box-sizing: border-box; height: 52px; padding: 0 16px; border: 1px solid #9AA6BF; border-radius: 0; background: #fff; color: var(--wp--preset--color--ink); font: inherit; font-size: 1rem; transition: border-color .2s, box-shadow .2s; }
.fkr-auth__field input:hover { border-color: var(--wp--preset--color--ink); }
.fkr-auth__field input:focus { outline: none; border-color: var(--fkr-blue); box-shadow: 0 0 0 3px rgba(0, 54, 216, .18); }
.fkr-auth__code { letter-spacing: .4em; font-variant-numeric: tabular-nums; font-size: 1.25rem !important; }
.fkr-auth__pw { position: relative; }
.fkr-auth__pw input { padding-right: 104px; }
.fkr-auth__reveal { position: absolute; top: 6px; right: 6px; height: 40px; padding: 0 14px; border: 0; background: transparent; color: var(--fkr-blue); font: inherit; font-size: .875rem; font-weight: 700; cursor: pointer; }
.fkr-auth__reveal:hover { background: #F3F5F9; }
.fkr-auth__check { display: flex; align-items: center; gap: 12px; font-size: .9375rem; }
.fkr-auth__check input { width: 18px; height: 18px; margin: 0; accent-color: var(--fkr-blue); }
.fkr-auth__submit { display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 52px; margin-top: 8px; padding: 0 24px; border: 0; border-radius: 0; background: var(--fkr-blue); color: #fff; font: inherit; font-size: 1rem; font-weight: 700; letter-spacing: .01em; text-decoration: none; cursor: pointer; transition: background-color .2s; box-sizing: border-box; }
.fkr-auth__submit:hover { background: var(--wp--preset--color--primary-dark); color: #fff; }
.fkr-auth__submit--link { width: auto; }
.fkr-auth__alt { margin-top: 24px !important; font-size: .9375rem; }
.fkr-auth__alt a, .fkr-auth__link { color: var(--fkr-blue); text-decoration: none; font-weight: 700; }
.fkr-auth__link { padding: 0; border: 0; background: none; font: inherit; cursor: pointer; }
.fkr-auth__alt a:hover, .fkr-auth__link:hover { text-decoration: underline; }
.fkr-auth__note { margin-top: 40px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--line); font-size: .875rem; line-height: 1.6; color: var(--wp--preset--color--muted); }
.fkr-auth__note p { margin: 0; }
.fkr-auth__note strong { color: var(--wp--preset--color--ink); }
/* Einladungsseite in derselben Ansicht */
.fkr-auth__body .fkr-pagehead h1 { font-family: var(--fkr-serif); font-weight: 600; font-size: clamp(2rem, 1.6rem + 1.2vw, 2.5rem); }
.fkr-auth__body .fkr-panel { padding: 0; border: 0; box-shadow: none; background: transparent; }

@media (max-width: 960px) {
	.fkr-auth { grid-template-columns: minmax(0, 1fr); }
	.fkr-auth__visual { display: none; }
	.fkr-auth__mobilelogo { display: inline-block; }
	.fkr-auth__top { justify-content: space-between; }
	.fkr-auth__panel { min-height: 100vh; min-height: 100svh; padding-top: 24px; }
	.fkr-auth__body { padding: 48px 0; }
}

/* ==========================================================================
   Portal-Rahmen (angemeldeter Bereich, helle Arbeitsfläche)
   ========================================================================== */
.fkr-shell { display: grid; grid-template-columns: 252px minmax(0, 1fr); min-height: 100vh; background: var(--wp--preset--color--surface); }
.fkr-shell__side { background: var(--wp--preset--color--night); color: #fff; padding: 22px 14px; position: sticky; top: 0; height: 100vh; overflow-y: auto; box-sizing: border-box; min-width: 0; }
.fkr-shell__brand { display: block; padding: 4px 12px 20px; border-bottom: 1px solid rgba(255, 255, 255, .14); margin-bottom: 16px; text-decoration: none; }
.fkr-shell__brand img { display: block; width: 100%; max-width: 200px; height: auto; }
.fkr-shell__brand span { display: block; font-size: .72rem; color: var(--wp--preset--color--accent); text-transform: uppercase; letter-spacing: .12em; margin-top: 10px; font-weight: 700; }
.fkr-shell__side .fkr-block { color: #fff; }
.fkr-shell__side .fkr-nav a[aria-current="page"] { border-left-color: var(--wp--preset--color--accent); }
.fkr-shell__main { display: flex; flex-direction: column; min-width: 0; }
.fkr-shell__top { background: #fff; border-bottom: 1px solid var(--wp--preset--color--line); padding: 10px var(--fkr-gutter); display: flex; justify-content: flex-end; align-items: center; min-height: 56px; box-sizing: border-box; }
.fkr-shell__top .fkr-btn { min-height: 36px; padding: 6px 14px; }
.fkr-shell__content { padding: clamp(20px, 3vw, 40px); max-width: 1320px; width: 100%; box-sizing: border-box; flex: 1; }
.fkr-shell__foot { padding: 16px var(--fkr-gutter); font-size: .8rem; color: var(--wp--preset--color--muted); border-top: 1px solid var(--wp--preset--color--line); }
.fkr-shell__foot p { margin: 0; }
.fkr-shell__foot a { color: inherit; }
@media (max-width: 781px) {
	.fkr-shell { grid-template-columns: minmax(0, 1fr); }
	.fkr-shell__side { position: static; height: auto; padding: 12px; }
	.fkr-shell__brand { padding: 0 4px 10px; margin-bottom: 8px; }
	.fkr-shell__brand img { max-width: 160px; }
}

/* Block-Theme-Abstände zwischen Kopf, Inhalt und Fuß neutralisieren (Raster wird von den Bausteinen selbst gesetzt) */
.wp-site-blocks > * { margin-block: 0 !important; }
.fkr-auth__body .fkr-pagehead { text-align: left; margin-bottom: 32px; }
.fkr-auth__body .fkr-pagehead h1 { margin: 0; line-height: 1.1; letter-spacing: -.015em; color: var(--wp--preset--color--ink); }
.fkr-shell > *, .fkr-shell__main > * { margin-block: 0 !important; }
.fkr-auth__body .fkr-pagehead h1, .fkr-auth__body .fkr-pagehead p { text-align: left; }
