/**
 * False color mode (Falschfarben) – high-contrast black/yellow/green look.
 */
html.false-colors {
	--fc-bg: #000000;
	--fc-text: #ffffff;
	--fc-link: #ffff00;
	--fc-accent: #00925b;
	--fc-surface: #ffffff;
	--fc-on-surface: #000000;
	--fc-focus: #ffff00;
}

html.false-colors,
html.false-colors body {
	background-color: var(--fc-bg) !important;
	color: var(--fc-text) !important;
}

html.false-colors *:not(img):not(video):not(iframe):not(svg):not(canvas):not(picture) {
	background-color: transparent !important;
	color: var(--fc-text) !important;
	border-color: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

html.false-colors body,
html.false-colors main,
html.false-colors header,
html.false-colors footer,
html.false-colors .content-info,
html.false-colors section,
html.false-colors article,
html.false-colors aside,
html.false-colors nav,
html.false-colors div,
html.false-colors ul,
html.false-colors ol,
html.false-colors li,
html.false-colors p,
html.false-colors span,
html.false-colors h1,
html.false-colors h2,
html.false-colors h3,
html.false-colors h4,
html.false-colors h5,
html.false-colors h6 {
	background-color: var(--fc-bg) !important;
	color: var(--fc-text) !important;
}

/* Links: bright yellow, underlined */
html.false-colors a,
html.false-colors a:visited,
html.false-colors a span,
html.false-colors a strong,
html.false-colors a i {
	color: var(--fc-link) !important;
	text-decoration: underline !important;
	background-color: transparent !important;
	border: none !important;
}

html.false-colors a:hover,
html.false-colors a:focus {
	color: var(--fc-link) !important;
	outline: 2px solid var(--fc-focus) !important;
	outline-offset: 2px;
}

/* Primary buttons / submit: green with white text */
html.false-colors button,
html.false-colors input[type="button"],
html.false-colors input[type="submit"],
html.false-colors input[type="reset"],
html.false-colors .btn,
html.false-colors [role="button"] {
	background-color: var(--fc-accent) !important;
	color: var(--fc-text) !important;
	border: 3px solid var(--fc-link) !important;
	outline: 2px solid var(--fc-accent) !important;
	outline-offset: 0 !important;
	text-decoration: none !important;
	font-weight: 400 !important;
	padding-inline: 0.85rem !important;
	padding-block: 0.45rem !important;
}

html.false-colors button *,
html.false-colors input[type="button"] *,
html.false-colors input[type="submit"] *,
html.false-colors [role="button"] * {
	color: var(--fc-text) !important;
	background-color: transparent !important;
	border-color: transparent !important;
	text-decoration: none !important;
}

/*
 * Link-styled buttons must beat the generic `a` rules:
 * solid green surface + white label + clear frame.
 */
html.false-colors a.button,
html.false-colors a.btn,
html.false-colors a.buttontext,
html.false-colors .button,
html.false-colors .buttontext,
html.false-colors .wp-block-button__link,
html.false-colors .wp-element-button,
html.false-colors a.wp-block-button__link,
html.false-colors a.wp-element-button,
html.false-colors .wp-block-button .wp-block-button__link,
html.false-colors .is-style-outline .wp-block-button__link,
html.false-colors .is-style-outline .wp-element-button {
	display: inline-block !important;
	background-color: var(--fc-accent) !important;
	color: var(--fc-text) !important;
	border: 3px solid var(--fc-link) !important;
	outline: 2px solid var(--fc-accent) !important;
	outline-offset: 0 !important;
	text-decoration: none !important;
	font-weight: 400 !important;
	padding: 0.5rem 1rem !important;
	box-shadow: none !important;
}

html.false-colors a.button *,
html.false-colors a.btn *,
html.false-colors a.buttontext *,
html.false-colors .button *,
html.false-colors .buttontext *,
html.false-colors .wp-block-button__link *,
html.false-colors .wp-element-button * {
	color: var(--fc-text) !important;
	background-color: transparent !important;
	border: none !important;
	text-decoration: none !important;
}

html.false-colors a.button:hover,
html.false-colors a.button:focus,
html.false-colors a.btn:hover,
html.false-colors a.btn:focus,
html.false-colors a.buttontext:hover,
html.false-colors a.buttontext:focus,
html.false-colors .button:hover,
html.false-colors .button:focus,
html.false-colors .wp-block-button__link:hover,
html.false-colors .wp-block-button__link:focus,
html.false-colors .wp-element-button:hover,
html.false-colors .wp-element-button:focus {
	background-color: var(--fc-link) !important;
	color: var(--fc-on-surface) !important;
	border-color: var(--fc-link) !important;
	outline: 3px solid var(--fc-text) !important;
	outline-offset: 2px !important;
	text-decoration: none !important;
}

html.false-colors a.button:hover *,
html.false-colors a.button:focus *,
html.false-colors a.buttontext:hover *,
html.false-colors a.buttontext:focus *,
html.false-colors .wp-block-button__link:hover *,
html.false-colors .wp-block-button__link:focus *,
html.false-colors .wp-element-button:hover *,
html.false-colors .wp-element-button:focus * {
	color: var(--fc-on-surface) !important;
}

/* Header icon toggles (Suche, Menü, Kontrast): no green chrome while idle */
html.false-colors header button,
html.false-colors .main-head button,
html.false-colors .searchbar-wrapper > button,
html.false-colors .mobilemenu-wrapper button,
html.false-colors .a11y-high-contrast-mode {
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

html.false-colors header button *,
html.false-colors .main-head button *,
html.false-colors .searchbar-wrapper > button *,
html.false-colors .mobilemenu-wrapper button * {
	color: var(--fc-text) !important;
	background-color: transparent !important;
}

/* Form fields: white surface, black text – no forced green border by default */
html.false-colors input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
html.false-colors textarea,
html.false-colors select {
	background-color: var(--fc-surface) !important;
	color: var(--fc-on-surface) !important;
	border: none !important;
	box-shadow: none !important;
}

/* Closed header search: never show green chrome on the field or its wrapper */
html.false-colors .searchbar[aria-expanded="false"],
html.false-colors .searchbar[aria-expanded="false"] *,
html.false-colors .searchbar[aria-hidden="true"],
html.false-colors .searchbar[aria-hidden="true"] *,
html.false-colors .searchbar[style*="display: none"],
html.false-colors .searchbar[style*="display:none"] {
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
}

/* Open header search: green border on the input only */
html.false-colors .searchbar[aria-expanded="true"] input,
html.false-colors .searchbar[aria-hidden="false"] input {
	border: 2px solid var(--fc-accent) !important;
}

/* Visible page forms (outside closed header search): green border */
html.false-colors main input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]),
html.false-colors main textarea,
html.false-colors main select {
	border: 2px solid var(--fc-accent) !important;
}

html.false-colors input:focus,
html.false-colors textarea:focus,
html.false-colors select:focus,
html.false-colors button:focus {
	outline: 3px solid var(--fc-focus) !important;
	outline-offset: 2px;
}

html.false-colors .searchbar[aria-expanded="false"] input:focus,
html.false-colors .searchbar[aria-hidden="true"] input:focus,
html.false-colors header button:focus,
html.false-colors .searchbar-wrapper > button:focus {
	outline: none !important;
}

/* Header main nav tiles only (not footer) */
html.false-colors header .nav-primary a,
html.false-colors header .megamenu-wrapper .nav-primary a,
html.false-colors .main-head .nav-primary a {
	background-color: var(--fc-surface) !important;
	color: var(--fc-on-surface) !important;
	text-decoration: underline !important;
	border: none !important;
}

html.false-colors header .nav-primary a *,
html.false-colors .main-head .nav-primary a * {
	color: var(--fc-on-surface) !important;
	background-color: transparent !important;
}

/* Footer: force black bg, yellow links – no white li/a bars */
html.false-colors footer,
html.false-colors footer *,
html.false-colors .content-info,
html.false-colors .content-info * {
	background-color: transparent !important;
	border-color: transparent !important;
}

html.false-colors footer,
html.false-colors .content-info {
	background-color: var(--fc-bg) !important;
	color: var(--fc-text) !important;
}

html.false-colors footer ul,
html.false-colors footer ol,
html.false-colors footer li,
html.false-colors .content-info ul,
html.false-colors .content-info ol,
html.false-colors .content-info li {
	background-color: transparent !important;
	color: var(--fc-text) !important;
	border: none !important;
}

html.false-colors footer a,
html.false-colors footer a:visited,
html.false-colors footer a span,
html.false-colors footer a strong,
html.false-colors footer a i,
html.false-colors .content-info a,
html.false-colors .content-info a:visited,
html.false-colors .content-info a span,
html.false-colors .content-info a strong,
html.false-colors .content-info a i {
	background-color: transparent !important;
	color: var(--fc-link) !important;
	text-decoration: underline !important;
	border: none !important;
}

html.false-colors footer h1,
html.false-colors footer h2,
html.false-colors footer h3,
html.false-colors footer h4,
html.false-colors footer h5,
html.false-colors footer h6,
html.false-colors .content-info h1,
html.false-colors .content-info h2,
html.false-colors .content-info h3,
html.false-colors .content-info h4,
html.false-colors .content-info h5,
html.false-colors .content-info h6 {
	background-color: transparent !important;
	color: var(--fc-text) !important;
}

/* Tables */
html.false-colors table {
	border: 2px solid var(--fc-text) !important;
	border-collapse: collapse;
}

html.false-colors th,
html.false-colors td {
	border: 1px solid var(--fc-text) !important;
	background-color: var(--fc-bg) !important;
	color: var(--fc-text) !important;
	padding: 0.5rem;
}

html.false-colors th {
	background-color: var(--fc-accent) !important;
	color: var(--fc-text) !important;
}

/* Media defaults: no forced frame */
html.false-colors img,
html.false-colors video,
html.false-colors iframe,
html.false-colors picture {
	filter: none !important;
	border: none !important;
	background-color: transparent !important;
}

/* Slider images: green frame inset so overflow:hidden does not clip it */
html.false-colors .warp-slider img,
html.false-colors .wp-block-warp-slider img,
html.false-colors .warp-slider picture img,
html.false-colors .wp-block-warp-slider picture img {
	border: none !important;
	box-shadow: inset 0 0 0 2px var(--fc-accent) !important;
	outline: none !important;
}

/* Header PNGs/SVGs: invert for dark header, never add a border */
html.false-colors header img,
html.false-colors header picture img,
html.false-colors .main-head img,
html.false-colors .logo,
html.false-colors .logo img,
html.false-colors a.brand img {
	filter: invert(1) !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
	background-color: transparent !important;
}

html.false-colors svg {
	background-color: transparent !important;
	border: none !important;
}

html.false-colors svg path,
html.false-colors svg circle,
html.false-colors svg rect,
html.false-colors svg polygon {
	fill: currentColor;
}

/* Keep A11Y controls usable and on-brand */
html.false-colors .warp-a11y-controls,
html.false-colors .warp-a11y-controls * {
	background-color: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	filter: none !important;
}

html.false-colors .warp-a11y-controls {
	color: var(--fc-on-surface) !important;
}

html.false-colors .warp-a11y-controls .warp-a11y-label {
	color: var(--fc-text) !important;
	background-color: transparent !important;
}

html.false-colors .warp-a11y-controls__icon,
html.false-colors .warp-a11y-controls__bubble {
	background-color: var(--warp-a11y-icon-color, var(--fc-accent)) !important;
	color: #fff !important;
	border: none !important;
}

html.false-colors .warp-a11y-controls__icon *,
html.false-colors .warp-a11y-controls__bubble-glyph {
	color: #fff !important;
	background-color: transparent !important;
}

html.false-colors .warp-a11y-controls__step {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex-shrink: 0 !important;
	width: 1.25rem !important;
	height: 1.25rem !important;
	min-width: 1.25rem !important;
	min-height: 1.25rem !important;
	max-width: 1.25rem !important;
	max-height: 1.25rem !important;
	padding: 0 !important;
	margin: 0 !important;
	aspect-ratio: 1 / 1 !important;
	border: none !important;
	border-radius: 50% !important;
	outline: none !important;
	box-shadow: none !important;
	background-color: #fff !important;
	color: var(--warp-a11y-icon-color, var(--fc-accent)) !important;
	line-height: 1 !important;
}

html.false-colors .warp-a11y-controls__step * {
	color: inherit !important;
	background-color: transparent !important;
	border: none !important;
	padding: 0 !important;
	margin: 0 !important;
	line-height: 1 !important;
}

html.false-colors .warp-a11y-controls__btn,
html.false-colors .warp-a11y-controls__group {
	background-color: transparent !important;
	border: 0 !important;
	outline: none !important;
	padding: 0 !important;
	box-shadow: none !important;
	color: inherit !important;
}

html.false-colors .warp-a11y-controls__bubble {
	padding: 0.2rem 0.35rem 0.2rem 0.55rem !important;
	border-radius: 999px !important;
	border: none !important;
	outline: none !important;
}

/* Slide-in panel */
html.false-colors #warp-a11y-toolbar {
	background-color: var(--fc-bg) !important;
	border: 2px solid var(--fc-accent) !important;
	color: var(--fc-text) !important;
}

html.false-colors #warp-a11y-toolbar button {
	background-color: var(--fc-accent) !important;
	color: var(--fc-text) !important;
	border: 2px solid var(--fc-accent) !important;
}

html.false-colors #warp-a11y-toolbar button * {
	color: var(--fc-text) !important;
	background-color: transparent !important;
}
