/*
 * Anormic – Ergänzungen zu theme.json.
 * Farben/Schriften immer über die Presets: var(--wp--preset--color--green) usw.
 * Astra-Altlasten (Farbklassen, weiße Kästen) liegen in inc/compat.php.
 *
 * Kontrast-Regel: Wo eine Fläche umgefärbt wird, wird die Schrift im selben Selektor mitgesetzt.
 *
 *  1. Basis, Formulare      6. Inhalte der Unterseiten
 *  2. Header, Menü, Footer  7. WooCommerce
 *  3. 3D-Logo               8. Ultimate Member, Complianz, Galerie
 *  4. Wabenfeld             9. Responsive, Reduced Motion
 *  5. Block-Stile, Landing
 */

:root {
	--anormic-header-top: var(--wp-admin--admin-bar--height, 0px);
	--anormic-section-pad: clamp(48px, 8vw, 96px);
	color-scheme: dark;
}

/* ---------- 1. Basis, Formulare ---------- */

html { scroll-behavior: smooth; }

body {
	overflow-x: clip;
	background:
		radial-gradient(1100px 700px at 75% 18%, #12301a 0%, rgba(9, 14, 10, 0) 60%) no-repeat fixed,
		var(--wp--preset--color--ink);
}

.wp-site-blocks { position: relative; z-index: 1; }

[id] { scroll-margin-top: 90px; }

::selection { background: var(--wp--preset--color--green); color: var(--wp--preset--color--on-green); }

:where(a, button, [role="button"], input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--green);
	outline-offset: 3px;
}

h1 strong, h2 strong { font-weight: 700; color: var(--wp--preset--color--green); }
h1 em, h2 em, h3 em { font-style: normal; color: var(--wp--preset--color--green); }

/* Formularfelder (Spezifität 0: Plugins mit eigenen Farben behalten sie) */
:where(input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="number"], input[type="url"], input[type="date"], select, textarea) {
	background-color: var(--wp--preset--color--ink-2);
	color: var(--wp--preset--color--snow);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 10px;
	padding: 10px 12px;
	font: inherit;
}
:where(input, select, textarea):focus { border-color: var(--wp--preset--color--green); }
::placeholder { color: var(--wp--preset--color--mist); opacity: 1; }

/* Outline-Button */
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background) {
	background: transparent;
	border-color: var(--wp--preset--color--line);
}
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--wp--preset--color--snow); }
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background):hover {
	background: transparent;
	color: var(--wp--preset--color--snow);
	border-color: var(--wp--preset--color--green);
}
.wp-block-button__link { transition: background-color .2s, border-color .2s, color .2s; }

/* Links auf farbigen Flächen nehmen die Schriftfarbe der Fläche an (kein Grün auf Hell) */
.has-background:not(.has-link-color) a:where(:not(.wp-element-button)) { color: inherit; text-decoration: underline; }

/* ---------- 2. Header, Menü, Footer ---------- */

header.wp-block-template-part {
	position: sticky;
	top: var(--anormic-header-top);
	z-index: 50;
	background: linear-gradient(var(--wp--preset--color--ink) 55%, rgba(9, 14, 10, 0));
}

.anormic-header { padding-block: 14px; }
.anormic-header__tools { align-items: center; }

.anormic-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--wp--preset--color--snow);
	text-decoration: none;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 500;
	font-size: 16px;
	letter-spacing: .04em;
	text-transform: lowercase;
}
.anormic-brand:hover { color: var(--wp--preset--color--snow); text-decoration: none; }
.anormic-brand img { width: 28px; height: auto; display: block; }

/* Hauptmenü (klassisches WP-Menü) */
.anormic-menu__list,
.anormic-menu__list .sub-menu { list-style: none; margin: 0; padding: 0; }
.anormic-menu__list {
	display: flex;
	align-items: center;
	gap: 22px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
}
.anormic-menu__list li { position: relative; }
.anormic-menu__list a { display: block; padding-block: 8px; color: inherit; text-decoration: none; transition: color .2s; }
.anormic-menu__list a:hover,
.anormic-menu__list .current-menu-item > a,
.anormic-menu__list .current-menu-ancestor > a { color: var(--wp--preset--color--green-hi); text-decoration: none; }
.anormic-menu__list > .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-left: 8px;
	border-right: 1px solid;
	border-bottom: 1px solid;
	transform: translateY(-3px) rotate(45deg);
}
.anormic-menu__list .sub-menu {
	position: absolute;
	top: 100%;
	left: -16px;
	z-index: 60;
	min-width: 230px;
	padding: 10px 0;
	background: var(--wp--preset--color--ink-2);
	color: var(--wp--preset--color--snow);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	box-shadow: 0 24px 48px rgba(0, 0, 0, .45);
	font-family: var(--wp--preset--font-family--body);
	font-size: 14px;
	letter-spacing: .01em;
	text-transform: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .2s, transform .2s, visibility .2s;
}
.anormic-menu__list li:hover > .sub-menu,
.anormic-menu__list li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.anormic-menu__list .sub-menu a { padding: 8px 18px; }
/* 3. Ebene (z. B. Shop → Sound → Plug-Ins) eingerückt im selben Panel */
.anormic-menu__list .sub-menu .sub-menu {
	position: static;
	min-width: 0;
	padding: 0 0 4px 14px;
	background: none;
	border: 0;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	transform: none;
	color: var(--wp--preset--color--mist);
}
.anormic-menu__list .sub-menu .sub-menu a { padding-block: 5px; }

.anormic-menu__toggle {
	display: none;
	align-items: center;
	gap: 10px;
	font: 500 11px/1 var(--wp--preset--font-family--mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 9px 12px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--line);
	background: transparent;
	color: var(--wp--preset--color--snow);
	cursor: pointer;
}
.anormic-menu__toggle span,
.anormic-menu__toggle span::before,
.anormic-menu__toggle span::after { display: block; width: 14px; height: 1.5px; background: currentColor; transition: transform .2s; }
.anormic-menu__toggle span { position: relative; }
.anormic-menu__toggle span::before,
.anormic-menu__toggle span::after { content: ""; position: absolute; left: 0; }
.anormic-menu__toggle span::before { top: -5px; }
.anormic-menu__toggle span::after { top: 5px; }
.anormic-menu.is-open .anormic-menu__toggle span { background: transparent; }
.anormic-menu.is-open .anormic-menu__toggle span::before { transform: translateY(5px) rotate(45deg); }
.anormic-menu.is-open .anormic-menu__toggle span::after { transform: translateY(-5px) rotate(-45deg); }

/* Suche (Lupe, klappt auf) */
.anormic-header .wp-block-search__button {
	background: transparent;
	border-color: transparent;
	color: var(--wp--preset--color--mist);
	padding: 8px;
}
.anormic-header .wp-block-search__button:hover { background: transparent; color: var(--wp--preset--color--green-hi); }
.anormic-header .wp-block-search__input { border-radius: 999px; padding: 8px 14px; min-width: 180px; }
.anormic-header .wp-block-search__inside-wrapper { border: 0; padding: 0; background: transparent; }

/* Mini-Warenkorb */
.anormic-header .wc-block-mini-cart__button { color: var(--wp--preset--color--mist); }
.anormic-header .wc-block-mini-cart__button:hover { color: var(--wp--preset--color--green-hi); }
.wc-block-mini-cart__badge {
	background: var(--wp--preset--color--green) !important;
	color: var(--wp--preset--color--on-green) !important;
}

.anormic-toggle {
	font: 500 11px/1 var(--wp--preset--font-family--mono);
	letter-spacing: .14em;
	text-transform: uppercase;
	padding: 9px 12px;
	border-radius: 999px;
	border: 1px solid var(--wp--preset--color--line);
	background: transparent;
	color: var(--wp--preset--color--mist);
	cursor: pointer;
	white-space: nowrap;
}
.anormic-toggle[aria-pressed="true"] { border-color: var(--wp--preset--color--green); color: var(--wp--preset--color--green-hi); }

/* Footer */
.anormic-footer {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-block: 48px 40px;
	border-top: 1px solid var(--wp--preset--color--line);
}
.anormic-footer > * { margin: 0 !important; }
.anormic-footer__bar {
	padding-top: 20px;
	border-top: 1px solid var(--wp--preset--color--line);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
}
.anormic-footer__bar p { margin: 0; }
.anormic-footer__bar a { color: inherit; text-decoration: none; }
.anormic-footer__bar a:hover { color: var(--wp--preset--color--green-hi); text-decoration: none; }
.anormic-footer__links { display: flex; flex-wrap: wrap; gap: 6px 18px; }

/* Social Links (überall gleich: Outline-Pills, ersetzt die bunten Standard-Icons) */
.wp-block-social-links { gap: 10px; }
.wp-block-social-links .wp-social-link {
	background: transparent !important;
	color: var(--wp--preset--color--snow) !important;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	transition: border-color .2s, color .2s;
}
.wp-block-social-links .wp-social-link a { padding: 9px; gap: 8px; color: inherit !important; }
.wp-block-social-links.has-visible-labels .wp-social-link a {
	padding: 9px 14px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.wp-block-social-links .wp-social-link svg { width: 16px; height: 16px; fill: currentColor; }
.wp-block-social-links .wp-social-link:hover {
	border-color: var(--wp--preset--color--green);
	color: var(--wp--preset--color--green-hi) !important;
	transform: none;
}

/* ---------- 3. 3D-Logo ---------- */

.anormic-stage {
	position: relative;
	aspect-ratio: 409 / 422;
	width: 100%;
	max-width: 100%;
	perspective: 1100px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.anormic-stage__halo {
	position: absolute;
	inset: 8%;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(46, 189, 53, .28), rgba(46, 189, 53, 0) 65%);
	filter: blur(22px);
	opacity: .7;
	transition: opacity .3s;
}
.anormic-stage__scene { position: absolute; inset: 0; transform-style: preserve-3d; will-change: transform; }
.anormic-stage__static { position: absolute; inset: 0; width: 100%; height: 100%; }
.anormic-stage__layer {
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
	transform: translateZ(calc(var(--z) * var(--k, 1) * 1px));
}
.anormic-stage__float {
	position: absolute;
	inset: 0;
	transform-style: preserve-3d;
	animation: anormic-bob var(--dur, 7s) ease-in-out var(--del, 0s) infinite;
}
.anormic-stage__float svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
@keyframes anormic-bob {
	0%, 100% { transform: translate3d(0, 0, 0) rotateZ(0deg); }
	50% { transform: translate3d(0, calc(var(--amp, 6) * -1px), calc(var(--amp, 6) * 1.5px)) rotateZ(var(--rot, 0deg)); }
}
.anormic-stage__hint {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -4px;
	text-align: center;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
	pointer-events: none;
}
.anormic-defs { position: absolute; width: 0; height: 0; overflow: hidden; }

/* ---------- 4. Wabenfeld + Klickwelle ---------- */

#anormic-hexfield { position: fixed; inset: 0; z-index: 0; perspective: 900px; overflow: hidden; pointer-events: none; }
.anormic-hx { position: absolute; left: 0; top: 0; transform-style: preserve-3d; will-change: transform; }
.anormic-hx svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }

.anormic-ripple {
	position: fixed;
	z-index: 60;
	width: 24px;
	height: 24px;
	margin: -12px 0 0 -12px;
	border-radius: 50%;
	border: 2px solid var(--wp--preset--color--green);
	pointer-events: none;
	animation: anormic-ripple .9s cubic-bezier(.2, .7, .3, 1) forwards;
}
.anormic-ripple.is-big { border-width: 3px; animation-duration: 1.3s; }
@keyframes anormic-ripple { from { transform: scale(.4); opacity: 1; } to { transform: scale(var(--s, 14)); opacity: 0; } }

/* ---------- 5. Block-Stile, Landing ---------- */

.wp-block-group.is-style-section {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-block: var(--anormic-section-pad);
}

.anormic-head { align-items: flex-end; }
.anormic-head > p { max-width: 48ch; margin: 0; color: var(--wp--preset--color--mist); }

.wp-block-heading.is-style-dot::after { content: "."; color: var(--wp--preset--color--green); }

.wp-block-heading.is-style-statement {
	font-size: var(--wp--preset--font-size--statement);
	font-weight: 300;
	letter-spacing: -.02em;
	line-height: 1.05;
}
.wp-block-heading.is-style-statement em { font-weight: 700; }

p.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--green);
}
p.is-style-lede { font-size: var(--wp--preset--font-size--medium); color: var(--wp--preset--color--mist); max-width: 46ch; }
p.is-style-lede strong { color: var(--wp--preset--color--snow); font-weight: 500; }
p.is-style-meta {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
}
p.is-style-tag {
	margin-top: auto !important;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--green);
}

/* Kachel-Raster: 1px-Linien zwischen den Kacheln */
.wp-block-group.is-style-hairline-grid {
	display: grid;
	grid-template-columns: repeat(var(--anormic-cols, 4), minmax(0, 1fr));
	gap: 1px;
	background: var(--wp--preset--color--line);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	overflow: hidden;
}
.wp-block-group.is-style-hairline-grid > * { margin: 0 !important; max-width: none !important; }

/* Kachel */
.wp-block-group.is-style-card {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	min-width: 0;
	padding: 24px;
	background: var(--wp--preset--color--ink-2);
	color: var(--wp--preset--color--snow);
	transition: background-color .25s;
}
.wp-block-group.is-style-card > * { margin: 0; }
.wp-block-group.is-style-card::before {
	content: "";
	width: 30px;
	height: 30px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-12 -12 24 24'%3E%3Cpolygon points='11,0 5.5,9.53 -5.5,9.53 -11,0 -5.5,-9.53 5.5,-9.53' fill='rgba(46,189,53,.12)' stroke='%232ebd35' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .4s cubic-bezier(.2, .7, .3, 1);
}
.wp-block-group.is-style-card:hover { background: #13221a; }
.wp-block-group.is-style-card:hover::before { transform: rotate(60deg); }
.wp-block-group.is-style-card p { color: var(--wp--preset--color--mist); font-size: 15px; }
.wp-block-group.is-style-card p.is-style-tag { color: var(--wp--preset--color--green); font-size: 11px; }
/* ganze Kachel klickbar über den Link in der Überschrift */
.wp-block-group.is-style-card h3 a { color: inherit; text-decoration: none; }
.wp-block-group.is-style-card h3 a::after { content: ""; position: absolute; inset: 0; }

.wp-block-group.is-style-discipline {
	border-top: 2px solid var(--wp--preset--color--green);
	padding-top: 16px;
	min-width: 0;
}
.wp-block-group.is-style-discipline > * { margin: 0 0 8px; }
.wp-block-group.is-style-discipline p { color: var(--wp--preset--color--mist); font-size: 14px; }

.wp-block-group.is-style-rows > * {
	margin: 0 !important;
	padding-block: 14px;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.wp-block-group.is-style-rows > :first-child { border-top: 1px solid var(--wp--preset--color--line); }
.wp-block-group.is-style-rows p { margin: 0; }
.wp-block-group.is-style-rows a { color: var(--wp--preset--color--snow); }
.wp-block-group.is-style-rows a:hover { color: var(--wp--preset--color--green-hi); }

/* Landing */
.anormic-hero { padding-block: clamp(16px, 4vw, 40px); }

.anormic-disciplines { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; }
.anormic-disciplines > * { margin: 0 !important; }

.anormic-clients { font-family: var(--wp--preset--font-family--display); font-weight: 300; font-size: clamp(16px, 2vw, 22px); }
.anormic-clients p { margin: 0; }
.anormic-clients p.is-style-meta { font-family: var(--wp--preset--font-family--mono); font-size: 11px; font-weight: 400; }

.anormic-mail {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 500;
	font-size: clamp(22px, 3.4vw, 38px);
	line-height: 1.1;
	color: var(--wp--preset--color--green);
	overflow-wrap: anywhere;
	user-select: all;
}

/* Spaltenzahl für Kachel-Raster und Einbettungen (Klasse anormic-cols-N) */
.anormic-cols-2 { --anormic-cols: 2; }
.anormic-cols-3 { --anormic-cols: 3; }
.anormic-cols-4 { --anormic-cols: 4; }

/* Kachel mit Bild: Bild statt Waben-Icon */
.wp-block-group.is-style-card:has(> .wp-block-image)::before { display: none; }
.wp-block-group.is-style-card > .wp-block-image { margin: -8px -8px 4px; border: 0; background: none; }
.wp-block-group.is-style-card > .wp-block-image img { aspect-ratio: 4 / 3; object-fit: cover; width: 100%; border-radius: 10px; }

/* Listen in Kacheln und Disziplinen: kleine grüne Waben als Punkte */
.wp-block-group:is(.is-style-card, .is-style-discipline) ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--wp--preset--color--mist);
	font-size: 15px;
}
.wp-block-group:is(.is-style-card, .is-style-discipline) li { position: relative; padding-left: 18px; }
.wp-block-group:is(.is-style-card, .is-style-discipline) li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .55em;
	width: 7px;
	height: 7px;
	background: var(--wp--preset--color--green);
	clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}
.wp-block-group.is-style-discipline ul { font-size: 14px; gap: 6px; }

/* Zeilenliste: Titel links, Beschreibung rechts in Grau */
.wp-block-group.is-style-rows p:not(:first-child) { color: var(--wp--preset--color--mist); }
.wp-block-group.is-style-rows p strong { font-weight: 500; }

/* Medienrahmen (Hero-Videos, Bilder) */
.anormic-media {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--ink-2);
}
.anormic-media :is(video, img) { display: block; width: 100%; height: auto; border-radius: 0; }
.anormic-hero .anormic-media { box-shadow: 0 30px 80px -24px rgba(46, 189, 53, .28); }

/* Einbettungen: Raster + dunkle Player */
.anormic-embeds { display: grid; grid-template-columns: repeat(var(--anormic-cols, 3), minmax(0, 1fr)); gap: 16px; }
.anormic-embeds > * { margin: 0 !important; min-width: 0; }
iframe[src*="bandcamp.com/EmbeddedPlayer"] { display: block; max-width: 100%; border: 0; border-radius: var(--wp--custom--radius--card); background: var(--wp--preset--color--ink-2); }
iframe.anormic-bandcamp { width: 100%; height: 470px; }
iframe.anormic-bandcamp.is-compact { height: 120px; }
iframe[src*="w.soundcloud.com/player"] { display: block; width: 100%; height: 320px; border: 0; border-radius: var(--wp--custom--radius--card); }
iframe[src*="youtube.com/embed"] { max-width: 100%; border: 0; border-radius: var(--wp--custom--radius--card); }
iframe[src*="youtube.com/embed"]:not(.wp-block-embed__wrapper iframe) { width: 100%; height: auto; aspect-ratio: 16 / 9; }

/* Platzhalter für hineingezogene Blöcke: leer = unsichtbar */
.anormic-slot:not(:has(*)) { display: none; }

/* ---------- 6. Inhalte der Unterseiten ---------- */

/* Volle Breite wie die Landing Page; Fließtext bleibt lesbar schmal und linksbündig */
.anormic-page .wp-block-post-content > :where(p, ul, ol, h1, h2, h3, h4, h5, h6, .wp-block-table, .wp-block-details, .wp-block-quote) {
	max-width: 760px;
	margin-left: max(0px, calc((100% - 1180px) / 2)) !important;
}

/* Seiten ohne Hero/Cover oben: Abstand zum Header */
.anormic-page .wp-block-post-content > :first-child:not(.alignfull):not(.anormic-hero) { margin-top: var(--anormic-section-pad); }
.anormic-page .wp-block-post-content { padding-bottom: var(--anormic-section-pad); }

.wp-block-cover { border-radius: 0; }
.wp-block-cover:not(.alignfull) { border-radius: var(--wp--custom--radius--card); overflow: hidden; }

.wp-block-separator { border-color: var(--wp--preset--color--line); opacity: 1; }

.wp-block-details {
	border-top: 1px solid var(--wp--preset--color--line);
	padding-block: 14px;
}
.wp-block-details + .wp-block-details { margin-top: 0; }
.wp-block-details summary {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	cursor: pointer;
	list-style: none;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 500;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after { content: "+"; color: var(--wp--preset--color--green); }
.wp-block-details[open] summary::after { content: "–"; }

.wp-block-table :where(th, td) { border-color: var(--wp--preset--color--line); padding: 10px 12px; }
.wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--green); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background: var(--wp--preset--color--ink-2); color: var(--wp--preset--color--snow); }

.wp-block-file:not(.wp-element-button) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
	background: var(--wp--preset--color--ink-2);
	color: var(--wp--preset--color--snow);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
}
.wp-block-file .wp-block-file__button { margin: 0; }

.wp-block-video video,
.wp-block-embed iframe,
.wp-block-image img { border-radius: var(--wp--custom--radius--card); }
.wp-block-image.alignfull img,
.wp-block-cover .wp-block-image img { border-radius: 0; }

.wp-block-quote { border-left: 2px solid var(--wp--preset--color--green); padding-left: 1em; }

/* ---------- 7. WooCommerce ---------- */

/* Shop-Archiv: Kategorie-Leiste, Sortierung */
.anormic-cat-nav ul,
.anormic-cat-nav.wc-block-product-categories ul { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.anormic-cat-nav li { margin: 0; }
.anormic-cat-nav a {
	display: inline-block;
	padding: 9px 14px;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--snow);
	text-decoration: none;
}
.anormic-cat-nav a:hover { border-color: var(--wp--preset--color--green); color: var(--wp--preset--color--green-hi); text-decoration: none; }
.anormic-shop__bar { color: var(--wp--preset--color--mist); font-size: 14px; }
.anormic-shop__bar p { margin: 0; }
.woocommerce-breadcrumb,
.wc-block-breadcrumbs {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--mist);
}
.woocommerce-breadcrumb a { color: inherit; }

/* Produktkacheln (Startseite und Shop) */
.wc-block-product-template { gap: 16px !important; }
.wc-block-product-template > li {
	position: relative;
	background: var(--wp--preset--color--ink-2);
	color: var(--wp--preset--color--snow);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius--card);
	padding: 12px 12px 18px;
	margin: 0;
	transition: border-color .25s, background-color .25s;
}
.wc-block-product-template > li:hover { border-color: var(--wp--preset--color--green); background: #13221a; }
.wc-block-product-template .wc-block-components-product-image { border-radius: 10px; overflow: hidden; margin-bottom: 14px !important; }
.wc-block-product-template .wc-block-components-product-image img { transition: transform .5s cubic-bezier(.2, .7, .3, 1); }
.wc-block-product-template > li:hover .wc-block-components-product-image img { transform: scale(1.04); }
.wc-block-product-template .wp-block-post-title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 15px !important;
	font-weight: 500;
	line-height: 1.3;
	margin: 0 0 6px !important;
}
.wc-block-product-template .wp-block-post-title a { color: var(--wp--preset--color--snow); text-decoration: none; }
.wc-block-product-template .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }

/* Preise */
.wc-block-components-product-price,
.woocommerce .price,
.wc-block-formatted-money-amount { font-family: var(--wp--preset--font-family--mono); font-variant-numeric: tabular-nums; }
.wc-block-components-product-price del,
.woocommerce .price del { color: var(--wp--preset--color--mist); opacity: 1; margin-right: 6px; }
.wc-block-components-product-price ins,
.woocommerce .price ins { color: var(--wp--preset--color--green-hi); text-decoration: none; background: none; }
.wc-block-components-product-sale-badge,
.woocommerce span.onsale {
	background: var(--wp--preset--color--green);
	color: var(--wp--preset--color--on-green);
	border: 0;
	border-radius: 999px;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 11px;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* Klassische Woo-Buttons (Konto, Produktseite) wie Theme-Buttons */
.woocommerce :is(a.button, button.button, input.button, #respond input#submit) {
	background: var(--wp--preset--color--green);
	color: var(--wp--preset--color--on-green);
	border: 1px solid var(--wp--preset--color--green);
	border-radius: 999px;
}
.woocommerce :is(a.button, button.button, input.button):hover {
	background: var(--wp--preset--color--green-hi);
	color: var(--wp--preset--color--on-green);
}

/* Produkt-Tabs: Woo setzt helle Reiter → dunkel mit heller Schrift */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: var(--wp--preset--color--ink-2);
	border-color: var(--wp--preset--color--line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--wp--preset--color--ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { color: var(--wp--preset--color--mist); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--wp--preset--color--snow); }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--wp--preset--color--line); }

/* Hinweise (klassisch + Blöcke): Fläche und Schrift zusammen */
.woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error),
.wc-block-components-notice-banner {
	background: var(--wp--preset--color--ink-2);
	color: var(--wp--preset--color--snow);
	border-color: var(--wp--preset--color--line);
}
.woocommerce .woocommerce-message,
.wc-block-components-notice-banner.is-success { border-top-color: var(--wp--preset--color--green); }

/* Tabellen (Warenkorb klassisch, Bestellungen) */
.woocommerce table.shop_table,
.woocommerce table.shop_table :is(td, th) { border-color: var(--wp--preset--color--line); }

/* Konto-Navigation */
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li a { display: block; padding: 10px 0; border-bottom: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--snow); }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--wp--preset--color--green-hi); }

/* Warenkorb/Kasse (Blöcke): Woo setzt Felder weiß → Fläche + Schrift dunkel/hell zusammen */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-combobox .wc-block-components-combobox-control input,
.wc-block-components-quantity-selector {
	background-color: var(--wp--preset--color--ink-2) !important;
	color: var(--wp--preset--color--snow) !important;
	border-color: var(--wp--preset--color--line) !important;
}
.wc-block-components-quantity-selector input,
.wc-block-components-quantity-selector button { color: var(--wp--preset--color--snow) !important; background: transparent !important; }
.wc-block-components-text-input label,
.wc-blocks-components-select__label,
.wc-block-components-combobox .wc-block-components-combobox-control label { color: var(--wp--preset--color--mist) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-radio-control__input {
	background-color: var(--wp--preset--color--ink-2) !important;
	border-color: var(--wp--preset--color--mist) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--wp--preset--color--green-hi) !important; }
.wc-block-components-radio-control__input:checked::before { background: var(--wp--preset--color--green-hi) !important; }
.wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wc-block-components-radio-control__option,
.wc-block-components-radio-control-accordion-option,
.wc-block-cart-items,
.wc-block-cart-items td { border-color: var(--wp--preset--color--line) !important; }

/* Mini-Warenkorb-Schublade */
.wc-block-mini-cart__drawer .components-modal__content,
.wc-block-components-drawer {
	background: var(--wp--preset--color--ink) !important;
	color: var(--wp--preset--color--snow) !important;
}
.wc-block-components-drawer__close { color: var(--wp--preset--color--snow) !important; }

/* Varianten-Swatches (Plugin) */
.variable-items-wrapper .variable-item:not(.radio-variable-item) {
	background: var(--wp--preset--color--ink-2) !important;
	color: var(--wp--preset--color--snow) !important;
	box-shadow: 0 0 0 1px var(--wp--preset--color--line) !important;
}
.variable-items-wrapper .variable-item.selected:not(.radio-variable-item) { box-shadow: 0 0 0 2px var(--wp--preset--color--green) !important; }

/* ---------- 8. Ultimate Member, Complianz, Galerie ---------- */

/*
 * Ultimate Member bringt durchgehend helle Karten/Formulare mit dunkler Schrift mit.
 * Statt jede Farbe einzeln zu drehen, bekommen UM-Bereiche eine helle Fläche:
 * so bleiben alle Plugin-Farben lesbar.
 */
.um {
	background: #f3f7f3;
	color: #141413;
	border-radius: var(--wp--custom--radius--card);
	padding: clamp(16px, 3vw, 32px) !important;
	color-scheme: light;
}
.um a { color: #1b7a21; }
.um :where(input, select, textarea) { background-color: #fff; color: #141413; border-color: #cfd8cf; }
body .um .um-button,
body .um input[type="submit"].um-button {
	background: var(--wp--preset--color--green) !important;
	color: var(--wp--preset--color--on-green) !important;
	border-radius: 999px !important;
}
body .um .um-button.um-alt,
body .um input[type="submit"].um-button.um-alt {
	background: transparent !important;
	color: #141413 !important;
	border: 1px solid #cfd8cf !important;
}

/* Complianz: Farben über die Plugin-Variablen, Paare immer gemeinsam */
:root:root {
	--cmplz_banner_background_color: #0f1811;
	--cmplz_banner_border_color: #1e2d21;
	--cmplz_text_color: #eef6ef;
	--cmplz_hyperlink_color: #6fe476;
	--cmplz_button_accept_background_color: #2ebd35;
	--cmplz_button_accept_border_color: #2ebd35;
	--cmplz_button_accept_text_color: #041006;
	--cmplz_button_deny_background_color: transparent;
	--cmplz_button_deny_border_color: #1e2d21;
	--cmplz_button_deny_text_color: #eef6ef;
	--cmplz_button_settings_background_color: transparent;
	--cmplz_button_settings_border_color: #1e2d21;
	--cmplz_button_settings_text_color: #eef6ef;
	--cmplz_slider_active_color: #2ebd35;
	--cmplz_slider_inactive_color: #1e2d21;
	--cmplz_slider_bullet_color: #eef6ef;
	--cmplz_category_header_always_active_color: #6fe476;
}

/* Simply Gallery: graue Ladeplatzhalter dunkel */
.sgb-square { background: var(--wp--preset--color--ink-2) !important; }

/* ---------- 9. Responsive, Reduced Motion ---------- */

/* Letzte Kachel füllt die Reihe, damit im Raster keine leeren Felder bleiben */
@media (min-width: 961px) {
	.is-style-hairline-grid.anormic-cols-3 > :last-child:nth-child(3n+2) { grid-column: span 2; }
	.is-style-hairline-grid.anormic-cols-3 > :last-child:nth-child(3n+1) { grid-column: span 3; }
	.is-style-hairline-grid.anormic-cols-4 > :last-child:nth-child(4n+3) { grid-column: span 2; }
	.is-style-hairline-grid.anormic-cols-4 > :last-child:nth-child(4n+2) { grid-column: span 3; }
	.is-style-hairline-grid.anormic-cols-4 > :last-child:nth-child(4n+1) { grid-column: span 4; }
}
@media (min-width: 541px) and (max-width: 960px) {
	.is-style-hairline-grid > :last-child:nth-child(odd) { grid-column: span 2; }
}

@media (max-width: 960px) {
	.anormic-cols-3,
	.anormic-cols-4 { --anormic-cols: 2; }
	.anormic-disciplines { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	/* Menü als Vollbild-Panel */
	.anormic-menu__toggle { display: inline-flex; }
	.anormic-menu__panel { display: none; }
	.anormic-menu.is-open .anormic-menu__panel {
		display: block;
		position: fixed;
		top: var(--anormic-header-top);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: -1;
		overflow-y: auto;
		padding: 90px clamp(16px, 4vw, 40px) 40px;
		background: var(--wp--preset--color--ink);
		color: var(--wp--preset--color--snow);
	}
	.anormic-menu__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
		font-family: var(--wp--preset--font-family--display);
		font-size: clamp(24px, 7vw, 34px);
		letter-spacing: -.01em;
		text-transform: none;
		color: var(--wp--preset--color--snow);
	}
	.anormic-menu__list > .menu-item-has-children > a::after { display: none; }
	.anormic-menu__list .sub-menu,
	.anormic-menu__list .sub-menu .sub-menu {
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		min-width: 0;
		padding: 0 0 10px 16px;
		background: none;
		border: 0;
		box-shadow: none;
		font-size: 16px;
		color: var(--wp--preset--color--mist);
	}
	.anormic-menu__list .sub-menu a { padding: 5px 0; }
	body.anormic-menu-open { overflow: hidden; }
}

@media (max-width: 781px) {
	/* Logo über dem Text, wie im Mockup */
	.anormic-hero .wp-block-column:has(.anormic-stage) { order: -1; }
	.anormic-hero .anormic-stage { max-width: 460px; margin-inline: auto; }
}

@media (max-width: 600px) {
	.anormic-toggle { display: none; }
	.anormic-header .wp-block-search__input { min-width: 0; width: 140px; }
}

@media (max-width: 540px) {
	.anormic-cols-2,
	.anormic-cols-3,
	.anormic-cols-4 { --anormic-cols: 1; }
	.anormic-disciplines { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.anormic-stage__float { animation: none; }
	.anormic-ripple { display: none; }
}
