/*
Theme Name: AKS Blocks
Theme URI: https://aksgmbh.de
Author: AKS Anlagen, Konstruktion und Service GmbH
Description: Gemeinsames Block-Theme für aksgmbh.de und regenprobe.de im Design von aksgmbh.de (Stand 05.11.2026). Farben, Schriften und AKS-Bausteine kommen aus dem Theme; Inhalte, Logo, Menü, Kopf und Fuß bearbeitet jede Website selbst im Block-Editor bzw. unter Design → Editor. Keine Page-Builder, keine Pflicht-Plugins.
Version: 0.5.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: proprietär (AKS GmbH)
Text Domain: aks-blocks
*/

/* Vorbild: aks.css von aksgmbh.de (Design-Vorlage 05.11.2026). Farben, Schriften, Größen
   und Abstände stehen in theme.json; hier nur, was theme.json nicht kann.
   Symbole (--aks-i-…) kommen aus assets/css/symbole.css. */

:root {
	--aks-radius: 6px;
	--aks-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--aks-schatten: 0 22px 50px rgba(15, 23, 70, 0.14);
	--aks-schatten-klein: 0 8px 22px rgba(15, 23, 70, 0.1);
	--aks-kopf-h: 72px;
	--aks-gold: var(--wp--preset--color--gold);
	--aks-navy: var(--wp--preset--color--navy);
	--aks-navy-900: var(--wp--preset--color--navy-900);
	--aks-muted: var(--wp--preset--color--muted);
	--aks-line: var(--wp--preset--color--line);
}

html { scroll-behavior: smooth; scroll-padding-top: calc(var(--aks-kopf-h) + 12px); }
body { -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4 { text-wrap: balance; overflow-wrap: break-word; }
:focus-visible { outline: 3px solid var(--aks-navy); outline-offset: 3px; border-radius: 2px; }
.has-navy-background-color :focus-visible,
.has-navy-900-background-color :focus-visible,
.aks-dunkel :focus-visible,
.aks-fuss :focus-visible { outline-color: var(--aks-gold); }
/* Abschnitte über die volle Breite stoßen direkt aneinander (sonst weißer Streifen durch den Blockabstand) */
:where(.wp-block-post-content, .entry-content) > .alignfull { margin-block-start: 0; margin-block-end: 0; }
.wp-site-blocks > main, .wp-site-blocks > footer { margin-block-start: 0; }

/* Symbol als Maske: färbt sich mit currentColor */
.is-style-aks-haken > li::before,
.is-style-aks-vertrauen > li::before,
.is-style-aks-symbolliste > li::before,
.is-style-aks-linkliste > li::after,
.is-style-aks-mehr a::after,
.is-style-aks-akkordeon > summary::after,
.aks-kopf-telefon a::before {
	content: ""; display: inline-block; flex: none;
	width: 1em; height: 1em; background: currentColor;
	-webkit-mask: var(--aks-symbol, var(--aks-i-haken)) center / contain no-repeat;
	mask: var(--aks-symbol, var(--aks-i-haken)) center / contain no-repeat;
}
.aks-i-haken { --aks-symbol: var(--aks-i-haken); }
.aks-i-telefon { --aks-symbol: var(--aks-i-telefon); }
.aks-i-mail { --aks-symbol: var(--aks-i-mail); }
.aks-i-ort { --aks-symbol: var(--aks-i-ort); }
.aks-i-uhr { --aks-symbol: var(--aks-i-uhr); }
.aks-i-kalender { --aks-symbol: var(--aks-i-kalender); }
.aks-i-siegel { --aks-symbol: var(--aks-i-siegel); }
.aks-i-fabrik { --aks-symbol: var(--aks-i-fabrik); }
.aks-i-regen { --aks-symbol: var(--aks-i-regen); }
.aks-i-tropfen { --aks-symbol: var(--aks-i-tropfen); }
.aks-i-werkzeug { --aks-symbol: var(--aks-i-werkzeug); }
.aks-i-bus { --aks-symbol: var(--aks-i-bus); }

/* ---------- Links im Fließtext ---------- */
:where(.wp-block-post-content) :where(p, li) a:not([class]) {
	color: var(--aks-navy); text-decoration: underline;
	text-decoration-thickness: 1px; text-underline-offset: 3px;
}
:where(.wp-block-post-content) :where(p, li) a:not([class]):hover {
	text-decoration-color: var(--aks-gold); text-decoration-thickness: 3px;
}
:is(.has-navy-background-color, .has-navy-900-background-color, .aks-dunkel) a:not([class]) { color: #fff; }

/* ---------- Buttons: gelb mit Pfeil, Umriss in Navy ---------- */
.wp-block-button__link {
	display: inline-flex; align-items: center; gap: 0.55em; white-space: nowrap;
	transition: transform 0.2s var(--aks-ease), background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wp-block-button__link:active { transform: translateY(1px); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link::after {
	content: ""; width: 1.1em; height: 1.1em; background: currentColor; flex: none;
	-webkit-mask: var(--aks-i-pfeil) center / contain no-repeat; mask: var(--aks-i-pfeil) center / contain no-repeat;
	transition: transform 0.3s var(--aks-ease);
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover::after { transform: translateX(3px); }
.wp-block-button.is-style-outline .wp-block-button__link[href^="http"]::after {
	content: ""; width: 1em; height: 1em; background: currentColor; flex: none;
	-webkit-mask: var(--aks-i-pfeil-raus) center / contain no-repeat; mask: var(--aks-i-pfeil-raus) center / contain no-repeat;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { background: var(--aks-navy); color: #fff; border-color: var(--aks-navy); }
:is(.has-navy-background-color, .has-navy-900-background-color, .aks-dunkel, .is-style-aks-karte-dunkel) .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, 0.7); }
:is(.has-navy-background-color, .has-navy-900-background-color, .aks-dunkel, .is-style-aks-karte-dunkel) .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--aks-navy-900); }
.wp-block-buttons { gap: 12px; }

/* ---------- Kopfbereich: weiß, halbtransparent, oben fest ---------- */
.aks-kopf-wrap { position: sticky; top: 0; z-index: 50; }
.admin-bar .aks-kopf-wrap { top: var(--wp-admin--admin-bar--height, 32px); }
.aks-kopf { position: relative; isolation: isolate; border-bottom: 1px solid var(--aks-line); }
.aks-kopf::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.aks-kopf-innen { min-height: var(--aks-kopf-h); gap: 24px; }
.aks-kopf .wp-block-site-logo img { max-height: 54px; width: auto; }
/* Marke: AKS-Logo, daneben der Website-Name (Einstellungen → Allgemein → Titel), z. B. „Regenprobe“ */
.aks-marke { gap: 14px; flex: none; }
.aks-marke-logo { margin: 0; }
.aks-marke-logo img { height: 42px !important; width: auto !important; display: block; }
.aks-marke-name { margin: 0; padding-left: 14px; border-left: 1px solid var(--aks-line); line-height: 1; }
.aks-marke-name, .aks-marke-name a {
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.6rem;
	color: var(--aks-navy-900); text-decoration: none; letter-spacing: 0.01em; white-space: nowrap;
}
.aks-marke-name a:hover { color: var(--aks-navy); }
@media (max-width: 600px) {
	.aks-marke { gap: 10px; }
	.aks-marke-logo img { height: 34px !important; }
	.aks-marke-name { padding-left: 10px; }
	.aks-marke-name, .aks-marke-name a { font-size: 1.3rem; }
}
.aks-kopf .wp-block-navigation { gap: 2px; }
.aks-kopf .wp-block-navigation-item__content { padding: 10px 12px; transition: color 0.2s ease; }
.aks-kopf .wp-block-navigation-item__content:hover,
.aks-kopf .current-menu-item > .wp-block-navigation-item__content { color: var(--aks-navy); }
.aks-kopf .current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -3px 0 var(--aks-gold); }
.aks-kopf .wp-block-navigation__submenu-container {
	border: 1px solid var(--aks-line) !important; border-radius: var(--aks-radius); box-shadow: var(--aks-schatten);
	padding: 8px; min-width: 260px !important;
}
.aks-kopf .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--body); font-weight: 400; font-size: 1rem; letter-spacing: 0;
	padding: 9px 12px; border-radius: 4px;
}
.aks-kopf .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--studio); }
.aks-kopf-aktionen { gap: 18px; }
.aks-kopf-telefon { margin: 0; white-space: nowrap; }
.aks-kopf-telefon a {
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.08rem; color: var(--aks-navy);
}
.aks-kopf-telefon a::before { --aks-symbol: var(--aks-i-telefon); width: 1.15em; height: 1.15em; }
@media (max-width: 1180px) { .aks-kopf-telefon { display: none; } }
/* Zwischen Tablet und Desktop (981–1180 px) enger setzen, damit das Menü in einer Zeile bleibt */
@media (min-width: 981px) and (max-width: 1180px) {
	.aks-kopf-innen { gap: 14px; }
	.aks-kopf .wp-block-navigation { flex-wrap: nowrap; }
	.aks-kopf .wp-block-navigation__container { flex-wrap: nowrap !important; gap: 0 !important; }
	.aks-kopf .wp-block-navigation-item__content { padding: 10px 7px; white-space: nowrap; }
	.aks-kopf-aktionen { gap: 12px; }
	.aks-kopf-aktionen .wp-block-button__link { padding-left: 16px; padding-right: 16px; white-space: nowrap; }
	.aks-kopf p.aks-marke-name { font-size: 1.4rem; padding-left: 12px; }
}
/* Menü klappt wie auf aksgmbh.de schon unter 981 px zum Burger zusammen (WordPress selbst erst unter 600 px) */
@media (max-width: 980px) {
	.aks-kopf .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.aks-kopf .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.aks-kopf-aktionen .wp-block-buttons { display: none; }
	.aks-kopf .wp-block-site-logo img { max-height: 46px; }
}
.aks-kopf .wp-block-navigation__responsive-container-open { color: var(--aks-navy); width: 44px; height: 44px; align-items: center; justify-content: center; }
.aks-kopf .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
.aks-kopf .wp-block-navigation__responsive-container.is-menu-open { padding: 16px clamp(16px, 4vw, 32px) 40px; }
.aks-kopf .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; gap: 0 !important; padding-top: 56px; }
.aks-kopf .is-menu-open .wp-block-navigation-item { border-bottom: 1px solid var(--aks-line); width: 100%; align-items: stretch !important; }
.aks-kopf .is-menu-open .wp-block-navigation-item__content { font-size: 1.4rem; padding: 16px 0 !important; box-shadow: none !important; }
.aks-kopf .is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none; padding: 0 0 12px 12px !important; }
.aks-kopf .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.aks-kopf .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 1.05rem; padding: 8px 0 !important; }

/* ---------- Seitenkopf / Hero: Studio-Verlauf mit weißer Karte ---------- */
.aks-seitenkopf .wp-block-columns { align-items: stretch; }
.aks-seitenkopf .wp-block-columns > .wp-block-column:first-child { align-self: center; }
.aks-seitenkopf .wp-block-column > .is-style-aks-bild-schatten,
.aks-seitenkopf .wp-block-column > .is-style-aks-bild-schatten img { height: 100%; margin: 0; }
.aks-seitenkopf .is-style-aks-bild-schatten img { min-height: 380px; object-fit: cover; }
.aks-seitenkopf .is-style-aks-freigestellt img { aspect-ratio: 1 / 1; }
@media (max-width: 781px) {
	.aks-seitenkopf .is-style-aks-bild-schatten img { min-height: 0; aspect-ratio: 4 / 3; }
}
.aks-seitenkopf h1 { margin-block: 18px 16px; hyphens: manual; }
/* Titel passt sich wie auf aksgmbh.de der Kartenbreite an */
.aks-seitenkopf .is-style-aks-karte-weiss { container-type: inline-size; }
.aks-seitenkopf .is-style-aks-karte-weiss h1 { font-size: clamp(1.9rem, 10cqi, 4rem); }
.aks-seitenkopf .has-large-font-size { color: var(--aks-muted); }
.is-style-aks-pfad { font-size: 0.95rem; color: var(--aks-muted); margin: 0; }
.is-style-aks-pfad a { color: var(--aks-navy); text-decoration: none; }
.is-style-aks-pfad a:hover { text-decoration: underline; }

/* ---------- Karten ---------- */
.is-style-aks-karte-weiss {
	background: #fff; border-radius: var(--aks-radius); box-shadow: var(--aks-schatten-klein);
	padding: clamp(20px, 3vw, 36px);
}
.is-style-aks-karte { background: var(--wp--preset--color--studio); border-radius: var(--aks-radius); padding: clamp(24px, 3vw, 40px); }
.has-studio-background-color .is-style-aks-karte { background: #fff; }
.is-style-aks-karte-dunkel {
	background: radial-gradient(120% 100% at 85% 0%, var(--aks-navy) 0%, var(--wp--preset--color--navy-700) 45%, var(--aks-navy-900) 100%);
	color: var(--wp--preset--color--on-dark); border-radius: var(--aks-radius); padding: clamp(24px, 3vw, 36px);
}
.is-style-aks-karte-dunkel :is(h1, h2, h3, h4) { color: #fff; }
.is-style-aks-karte-dunkel a:not([class]) { color: #fff; font-weight: 600; text-decoration: none; }
.is-style-aks-karte-dunkel a:not([class]):hover { color: var(--aks-gold); }
.is-style-aks-hinweis {
	background: #fff; border-left: 5px solid var(--aks-gold); border-radius: var(--aks-radius);
	padding: clamp(22px, 2.6vw, 32px); box-shadow: var(--aks-schatten-klein);
}
.is-style-aks-hinweis :is(h2, h3) { font-size: 1.6rem; }
.is-style-aks-hinweis p { color: var(--aks-muted); }

/* ---------- Überschriften und Dachzeile ---------- */
.is-style-aks-strich::before {
	content: ""; display: block; width: 56px; height: 4px; margin-bottom: 14px;
	background: var(--aks-gold); border-radius: 2px;
}
.has-text-align-center.is-style-aks-strich::before { margin-inline: auto; }
p.is-style-aks-dachzeile {
	display: inline-flex; align-items: center; gap: 12px; margin-bottom: 0;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 0.98rem;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--aks-navy);
}
p.is-style-aks-dachzeile::before { content: ""; width: 28px; height: 3px; background: var(--aks-gold); border-radius: 2px; flex: none; }
:is(.has-navy-background-color, .has-navy-900-background-color, .is-style-aks-karte-dunkel) p.is-style-aks-dachzeile { color: var(--aks-gold); }

/* ---------- Listen ---------- */
ul.is-style-aks-haken, ul.is-style-aks-symbolliste, ul.is-style-aks-linkliste, ul.is-style-aks-vertrauen { list-style: none; padding-left: 0; }
/* Listen mit Symbol: Symbol absolut links, damit Text, Zeilenumbrüche und Links im Punkt normal fließen */
.is-style-aks-haken { display: grid; gap: 10px; }
.is-style-aks-haken > li { position: relative; padding-left: 2.1em; font-weight: 500; }
.is-style-aks-haken > li::before { position: absolute; left: 0; top: 0.02em; width: 1.45em; height: 1.45em; color: var(--aks-navy); }
.is-style-aks-symbolliste { display: grid; gap: 14px; }
.is-style-aks-symbolliste > li { position: relative; padding-left: 40px; }
.is-style-aks-symbolliste > li::before { position: absolute; left: 0; top: 0.1em; width: 1.4em; height: 1.4em; color: var(--aks-navy); }
.is-style-aks-karte-dunkel .is-style-aks-symbolliste > li::before,
.aks-fuss .is-style-aks-symbolliste > li::before { color: var(--aks-gold); }
.aks-fuss .is-style-aks-symbolliste { gap: 6px; }
.aks-fuss .is-style-aks-symbolliste > li { padding-left: 30px; }
.aks-fuss .is-style-aks-symbolliste > li::before { width: 1.2em; height: 1.2em; }
.is-style-aks-linkliste { border-top: 1px solid var(--aks-line); }
.is-style-aks-linkliste > li {
	position: relative; display: flex; flex-direction: column; justify-content: center;
	padding: 18px 40px 18px 0; border-bottom: 1px solid var(--aks-line); color: var(--aks-muted);
}
.is-style-aks-linkliste > li > a {
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.3rem;
	color: var(--aks-navy-900); text-decoration: none;
}
.is-style-aks-linkliste > li > a::before { content: ""; position: absolute; inset: 0; }
.is-style-aks-linkliste > li::after {
	--aks-symbol: var(--aks-i-pfeil); position: absolute; right: 4px; top: 50%; margin-top: -0.6em;
	width: 1.2em; height: 1.2em; color: var(--aks-navy); transition: transform 0.35s var(--aks-ease);
}
.is-style-aks-linkliste > li:hover::after { transform: translateX(5px); }
.is-style-aks-vertrauen { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; }
.is-style-aks-vertrauen > li {
	display: flex; align-items: center; gap: 12px; padding: 22px 12px;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.15rem; color: var(--wp--preset--color--ink);
}
.is-style-aks-vertrauen > li + li { border-left: 1px solid var(--aks-line); padding-left: 24px; }
.is-style-aks-vertrauen > li::before { width: 1.65em; height: 1.65em; color: var(--aks-navy); }
@media (max-width: 781px) {
	.is-style-aks-vertrauen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.is-style-aks-vertrauen > li { font-size: 1rem; gap: 8px; min-width: 0; hyphens: auto; overflow-wrap: anywhere; padding-inline: 8px; }
	.is-style-aks-vertrauen > li:nth-child(odd) { border-left: 0; padding-left: 12px; }
	.is-style-aks-vertrauen > li:nth-child(n+3) { border-top: 1px solid var(--aks-line); }
}
/* Aufzählungen im Fließtext: kurzer Goldstrich wie in den Rechtstexten */
:where(.wp-block-post-content) ul:not([class*="is-style-"]) { list-style: none; padding-left: 0; }
:where(.wp-block-post-content) ul:not([class*="is-style-"]) > li { position: relative; padding: 4px 0 4px 22px; }
:where(.wp-block-post-content) ul:not([class*="is-style-"]) > li::before {
	content: ""; position: absolute; left: 0; top: 0.95em; width: 10px; height: 3px; background: var(--aks-gold); border-radius: 2px;
}

/* ---------- Textseiten (Vorlage „Seite“, z. B. Impressum, Datenschutz) ---------- */
.aks-inhalt h2 { font-size: clamp(1.7rem, 2.6vw, 2.2rem); margin-block: clamp(32px, 4vw, 48px) 12px; }
.aks-inhalt h3 { font-size: 1.3rem; margin-block: 26px 8px; }
.aks-inhalt > :first-child { margin-top: 0; }

/* ---------- „Mehr erfahren“-Link ---------- */
.is-style-aks-mehr a {
	display: inline-flex; align-items: center; gap: 8px; text-decoration: none;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.08rem; color: var(--aks-navy);
}
.is-style-aks-mehr a::after { --aks-symbol: var(--aks-i-pfeil); transition: transform 0.35s var(--aks-ease); }
.is-style-aks-mehr a:hover::after { transform: translateX(5px); }
:is(.is-style-aks-kachel, .is-style-aks-karte-dunkel, .has-navy-900-background-color, .aks-dunkel) .is-style-aks-mehr a { color: var(--aks-gold); }

/* ---------- Kacheln (Titelbild-Block mit Foto) ---------- */
.wp-block-cover.is-style-aks-kachel {
	border-radius: var(--aks-radius); overflow: hidden; align-items: flex-end;
	padding: clamp(22px, 2.4vw, 32px); min-height: 420px;
}
.wp-block-cover.is-style-aks-kachel .wp-block-cover__inner-container { width: 100%; color: #fff; position: static; }
.wp-block-cover.is-style-aks-kachel .wp-block-cover__inner-container > * { position: relative; z-index: 2; }
.wp-block-cover.is-style-aks-kachel h3 { color: #fff; font-size: clamp(1.7rem, 2.3vw, 2.2rem); }
.wp-block-cover.is-style-aks-kachel p:not(.is-style-aks-mehr) { color: var(--wp--preset--color--studio-2); max-width: 38ch; margin-top: 0.45rem; }
.wp-block-cover.is-style-aks-kachel .wp-block-cover__image-background { transition: transform 0.9s var(--aks-ease); }
.wp-block-cover.is-style-aks-kachel:hover .wp-block-cover__image-background { transform: scale(1.04); }
/* ganze Kachel klickbar über den „Mehr erfahren“-Link */
.wp-block-cover.is-style-aks-kachel .is-style-aks-mehr { position: static; }
.wp-block-cover.is-style-aks-kachel .is-style-aks-mehr a::before { content: ""; position: absolute; inset: 0; z-index: 3; }
@media (max-width: 781px) { .wp-block-cover.is-style-aks-kachel { min-height: 340px; } }

/* ---------- Bilder ---------- */
.is-style-aks-bild-schatten img { border-radius: var(--aks-radius); box-shadow: var(--aks-schatten); width: 100%; object-fit: cover; }
.is-style-aks-bild-hoch img { aspect-ratio: 4 / 5; object-fit: cover; object-position: center 20%; border-radius: var(--aks-radius); box-shadow: var(--aks-schatten); width: 100%; }
.is-style-aks-freigestellt img {
	border-radius: 0 !important; box-shadow: none; object-fit: contain;
	filter: drop-shadow(0 0 2px #fff) drop-shadow(0 6px 10px rgba(15, 23, 70, 0.22)) drop-shadow(0 30px 34px rgba(15, 23, 70, 0.2));
}
.wp-block-image.is-style-aks-portraet img { width: 84px; height: 84px; aspect-ratio: 1; border-radius: 50% !important; object-fit: cover; object-position: center 15%; }
/* KI-Kennzeichnung (Art. 50 Abs. 4 KI-VO): Zusatzklasse „aks-ki“ an Bild oder Kachel */
.aks-ki { position: relative; }
figure.aks-ki::after { content: "KI"; display: block; margin-top: 4px; text-align: right; font-size: 0.7rem; line-height: 1.2; letter-spacing: 0.04em; color: var(--aks-muted); }
.wp-block-cover.aks-ki::after { content: "KI"; position: absolute; right: 10px; bottom: 6px; z-index: 3; font-size: 0.7rem; color: rgba(255, 255, 255, 0.7); }

/* ---------- Ansprechpartner ---------- */
.wp-block-media-text.is-style-aks-person {
	background: #fff; border-radius: var(--aks-radius); overflow: hidden; box-shadow: var(--aks-schatten-klein);
}
.wp-block-media-text.is-style-aks-person .wp-block-media-text__media { align-self: stretch; height: 100%; }
.wp-block-media-text.is-style-aks-person .wp-block-media-text__media img { height: 100%; min-height: 300px; object-fit: cover; object-position: center 25%; }
.wp-block-media-text.is-style-aks-person .wp-block-media-text__content { padding: 26px 24px; }
.wp-block-media-text.is-style-aks-person h3 { font-weight: 700; font-size: 1.55rem; line-height: 1.1; }
.wp-block-media-text.is-style-aks-person p { font-size: 0.98rem; }
.aks-rolle { color: var(--aks-muted); line-height: 1.35; margin-top: 2px !important; }
.aks-person-karte { background: #fff; border-radius: var(--aks-radius); padding: 16px; box-shadow: var(--aks-schatten-klein); gap: 16px; }
.aks-person-karte h3 { font-size: 1.3rem; }
.aks-person-karte p { margin: 0; font-size: 0.95rem; color: var(--aks-muted); line-height: 1.4; }
.aks-person-karte .wp-block-image { flex: none; margin: 0; }

/* ---------- Kennzahlen-Band ---------- */
.is-style-aks-kennzahlen { gap: 0 !important; }
.is-style-aks-kennzahlen > .wp-block-column { padding: 8px clamp(16px, 2.4vw, 32px); }
.is-style-aks-kennzahlen > .wp-block-column + .wp-block-column { border-left: 1px solid rgba(255, 255, 255, 0.14); }
.is-style-aks-kennzahlen .aks-zahl {
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: clamp(2.8rem, 4.6vw, 4rem);
	line-height: 1; color: var(--aks-gold); white-space: nowrap; margin: 0;
}
.is-style-aks-kennzahlen .aks-zahl + p { margin-top: 10px; color: var(--wp--preset--color--on-dark); font-size: 1.05rem; }
@media (max-width: 781px) {
	.is-style-aks-kennzahlen { display: grid !important; grid-template-columns: 1fr 1fr; row-gap: 28px !important; }
	.is-style-aks-kennzahlen > .wp-block-column:nth-child(odd) { border-left: 0; }
}

/* ---------- Karte mit Bild oben, Bildreihe ---------- */
.aks-medienkarte { display: flex; flex-direction: column; height: 100%; }
.aks-medienkarte > .wp-block-image { margin: 0 0 6px; }
.aks-medienkarte > .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }
.aks-medienkarte h3 { font-size: clamp(1.4rem, 1.9vw, 1.7rem); }
.aks-medienkarte p { color: var(--aks-muted); }
.aks-galerie .wp-block-image { margin: 0; }
.aks-galerie .wp-block-image img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--aks-radius); box-shadow: var(--aks-schatten-klein); }
.aks-imagefilm { max-width: 1240px; }

/* ---------- Ablauf (drei Schritte) ---------- */
.aks-schritt { display: flex; flex-direction: column; }
.aks-schritt .wp-block-image img { max-width: 340px; margin-inline: auto; object-fit: contain; }
.aks-schritt p { color: var(--aks-muted); }

/* ---------- Aufklapper (Details-Block) ---------- */
.wp-block-details.is-style-aks-akkordeon { border-bottom: 1px solid var(--aks-line); margin: 0; }
.wp-block-details.is-style-aks-akkordeon > summary {
	display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 22px 0; cursor: pointer; list-style: none;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: clamp(1.3rem, 1.8vw, 1.5rem); color: var(--aks-navy-900);
}
.wp-block-details.is-style-aks-akkordeon > summary::-webkit-details-marker { display: none; }
.wp-block-details.is-style-aks-akkordeon > summary::after { --aks-symbol: var(--aks-i-plus); width: 1.1em; height: 1.1em; color: var(--aks-navy); transition: transform 0.35s var(--aks-ease); }
.wp-block-details.is-style-aks-akkordeon[open] > summary::after { transform: rotate(45deg); }
.wp-block-details.is-style-aks-akkordeon > :not(summary) { color: var(--aks-muted); max-width: 58ch; }
.wp-block-details.is-style-aks-akkordeon > :last-child:not(summary) { padding-bottom: 22px; }
.wp-block-details.is-style-aks-akkordeon + .wp-block-details.is-style-aks-akkordeon { margin-top: 0; }

/* ---------- Fußbereich ---------- */
.aks-fuss { font-size: 0.94rem; }
.aks-fuss a { color: inherit; text-decoration: none; transition: color 0.2s ease; }
.aks-fuss a:hover { color: var(--aks-gold); }
.aks-fuss strong { color: #fff; font-weight: 600; }
.aks-fuss-titel {
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.05rem;
	letter-spacing: 0.06em; text-transform: uppercase; color: #fff; margin-bottom: 11px !important;
}
.aks-fuss ul.aks-fuss-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; }
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }

/* ---------- Anfrageformular [aks_anfrage] ---------- */
.aks-formular { margin-top: 18px; }
.aks-formular-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.aks-feld { margin: 0 0 14px; }
.aks-feld label { display: block; font-weight: 600; font-size: 0.92rem; color: var(--aks-navy-900); margin-bottom: 5px; }
.aks-feld label span { color: var(--aks-navy); }
.aks-feld input, .aks-feld select, .aks-feld textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--aks-navy-900);
	padding: 10px 12px; border: 1px solid var(--aks-muted); border-radius: 8px; background: #fff;
}
.aks-feld input[type="file"] { padding: 8px; background: var(--wp--preset--color--studio); }
.aks-feld input:focus, .aks-feld select:focus, .aks-feld textarea:focus { outline: 2px solid var(--aks-gold); outline-offset: 1px; border-color: var(--aks-navy); }
.aks-feld textarea { resize: vertical; min-height: 120px; }
.aks-falle { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.aks-formular-hinweis { font-size: 0.88rem; color: var(--aks-muted); margin: 4px 0 16px; }
.aks-formular-hinweis a { color: var(--aks-navy); }
.aks-formular-meldung { border-left: 4px solid var(--wp--preset--color--fehler); background: var(--wp--preset--color--studio); color: var(--wp--preset--color--fehler); font-weight: 600; padding: 10px 14px; border-radius: 4px; margin: 0 0 16px; }
.aks-formular button[type="submit"] { cursor: pointer; border: 0; }
@media (max-width: 600px) { .aks-formular-raster { grid-template-columns: 1fr; } }

/* Spartenname neben dem Logo im Fuß (R4.02), wie im Kopf mit feinem Trennstrich */
.aks-fuss-marke { gap: 14px; }
.aks-fuss-marke .wp-block-image { margin: 0; }
.aks-fuss-sparte {
	margin: 0; padding-left: 14px; border-left: 1px solid rgba(255, 255, 255, 0.24); line-height: 1;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.6rem; color: #fff; white-space: nowrap;
}
.aks-fuss-unten { border-top: 1px solid rgba(255, 255, 255, 0.12); color: var(--wp--preset--color--on-dark-muted); font-size: 0.88rem; }
.aks-fuss-unten p { margin: 0; }
@media (max-width: 781px) {
	.aks-fuss-spalten { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 20px !important; }
	.aks-fuss-spalten > .wp-block-column:first-child { grid-column: 1 / -1; }
}

/* ---------- Mobil ---------- */
@media (max-width: 600px) {
	.aks-kopf .wp-block-site-logo img { max-height: 42px; }
	.wp-block-button__link { white-space: normal; }
}

/* ---------- Karte erst nach Klick (assets/js/aks.js) ---------- */
.aks-karte-laden {
	display: grid; place-items: center; align-content: center; gap: 16px; text-align: center;
	aspect-ratio: 21 / 9; min-height: 280px; padding: clamp(20px, 3vw, 36px);
	background: radial-gradient(120% 90% at 80% 40%, #fff 0%, var(--wp--preset--color--studio) 55%, var(--wp--preset--color--studio-2) 100%);
	border: 1px solid var(--aks-line); border-radius: var(--aks-radius);
}
.aks-karte-laden p { max-width: 52ch; margin: 0; color: var(--aks-muted); }
.aks-karte-laden p strong { color: var(--aks-navy-900); font-family: var(--wp--preset--font-family--display); font-size: 1.3rem; font-weight: 600; }
.aks-karte-laden button { cursor: pointer; }
.aks-karte-laden.ist-geladen { display: block; padding: 0; overflow: hidden; }
.aks-karte-laden iframe { width: 100%; height: 100%; min-height: 280px; border: 0; display: block; }
@media (max-width: 600px) { .aks-karte-laden { aspect-ratio: 4 / 5; } }

/* Karte mit Kundenlogo (z. B. Referenzen): Logo ganz zeigen, auf Weiß mit Rand */
.aks-logo-karte > .wp-block-image img { object-fit: contain; background: #fff; padding: clamp(16px, 3vw, 32px); border: 1px solid var(--aks-line); }

/* Karten nebeneinander immer gleich hoch (Tobias 05.11.2026) */
.wp-block-column > :is(.is-style-aks-karte, .is-style-aks-karte-weiss, .is-style-aks-karte-dunkel, .is-style-aks-hinweis, .aks-person-karte):only-child { height: 100%; box-sizing: border-box; }
/* Kundenlogo ohne Rahmen */
.aks-logo-karte > .wp-block-image img { border: 0; }

/* ---------- Sprachumschalter DE | EN (Absatz mit Zusatzklasse „aks-sprache“, füllt functions.php) ---------- */
.aks-sprache { margin: 0; display: inline-flex; align-items: center; gap: 6px; white-space: nowrap;
	font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.02rem; color: var(--aks-muted); }
.aks-sprache a { color: var(--aks-muted); text-decoration: none; padding: 4px 2px; }
.aks-sprache a:hover { color: var(--aks-navy); }
.aks-sprache a[aria-current] { color: var(--aks-navy); box-shadow: inset 0 -2px 0 var(--aks-gold); }
.aks-sprache span { color: var(--aks-line); }
.aks-marke-name a { color: inherit; text-decoration: none; }
p.aks-marke-name { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 1.6rem; color: var(--aks-navy-900); }
@media (max-width: 600px) { p.aks-marke-name { font-size: 1.3rem; } .aks-sprache { font-size: 0.95rem; } }

/* LinkedIn im Kopf wie aksgmbh.de (Block „Social Icons“ mit Zusatzklasse aks-kopf-social) */
.aks-kopf-social { margin: 0 !important; gap: 0 !important; }
.aks-kopf-social .wp-social-link { margin: 0 !important; }
.aks-kopf-social .wp-block-social-link-anchor { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; padding: 0 !important; border-radius: 8px; }
.aks-kopf-social .wp-block-social-link-anchor:hover { background: var(--wp--preset--color--studio); }
.aks-kopf-social svg { width: 22px; height: 22px; }
@media (max-width: 1100px) { .aks-kopf-social { display: none !important; } }

/* ---------- Handy und Tablet wie aksgmbh.de: im Kopf nur Logo und Menü-Symbol rechts ----------
   Button, Telefon, LinkedIn und Sprache stehen dann im aufgeklappten Menü (Menüpunkte mit Zusatzklasse „aks-nur-mobil“). */
.aks-kopf .wp-block-navigation-item.aks-nur-mobil { display: none; }
@media (max-width: 980px) {
	.aks-kopf-aktionen { display: none !important; }
	.aks-kopf .is-menu-open .wp-block-navigation-item.aks-nur-mobil { display: flex; border-bottom: 0; }
	.aks-kopf .is-menu-open .aks-nur-mobil .wp-block-navigation-item__content { font-size: 1.12rem; padding: 8px 0 !important; color: var(--aks-navy); }
	.aks-kopf .is-menu-open .aks-menue-knopf { margin-top: 24px; margin-bottom: 8px; width: auto !important; align-self: flex-start !important; }
	.aks-kopf .is-menu-open .aks-menue-knopf .wp-block-navigation-item__content {
		display: inline-flex; align-items: center; gap: 0.55em; width: auto; padding: 0.72em 1.45em !important;
		background: var(--aks-gold); color: var(--aks-navy-900); border-radius: var(--aks-radius); font-size: 1.14rem;
	}
	.aks-kopf .is-menu-open .aks-menue-knopf .wp-block-navigation-item__content::after {
		content: ""; width: 1.1em; height: 1.1em; background: currentColor;
		-webkit-mask: var(--aks-i-pfeil) center / contain no-repeat; mask: var(--aks-i-pfeil) center / contain no-repeat;
	}
}
