:root {
	--eu-red: #ff0000;
	/* Small text needs more contrast on white than the brand red provides. */
	--eu-red-text: #d90000;
	--eu-darkred: #6f003c;
	--eu-violet: #8100a1;
	--eu-rosa: #d675d8;
	--eu-darkgreen: #004b5b;
	--eu-tuerkis: #00b19c;
	--eu-blue: #2e4fc4;
	/* Neutrals of the Die Linke web design (die-linke.de). */
	--eu-black: #212121;
	--eu-grey: #616161;
	--eu-light: #f8f8f8;
	--eu-line: #e1e1e1;
	--eu-petrol-dark: #002932;
	--eu-mint: #abeae2;
	/* Three shadows only: soft for cards, lifted on hover and for overlays, and the hard red sticker offset. */
	--eu-shadow: 0 10px 40px rgb(0 0 0 / 5%);
	--eu-shadow-lift: 0 10px 40px rgb(0 0 0 / 15%);
	--eu-shadow-sticker: 5px 5px 0 var(--eu-red);
	--eu-display: var(--wp--preset--font-family--work-sans);
	--eu-pad: var(--wp--style--root--padding-left, clamp(1.25rem, 4vw, 3rem));
	--eu-wide: var(--wp--style--global--wide-size, 1240px);
	--eu-header-h: 4.5rem;
	--eu-ease: cubic-bezier(.2, .8, .2, 1);
	--eu-accent: var(--eu-red);
	--eu-accent-text: var(--eu-red-text);
}

.eu-accent-rot { --eu-accent: var(--eu-red); --eu-accent-text: var(--eu-red-text); }
.eu-accent-dunkelrot { --eu-accent: var(--eu-darkred); --eu-accent-text: var(--eu-darkred); }
.eu-accent-violett { --eu-accent: var(--eu-violet); --eu-accent-text: var(--eu-violet); }
.eu-accent-dunkelgruen { --eu-accent: var(--eu-darkgreen); --eu-accent-text: var(--eu-darkgreen); }
.eu-accent-tuerkis { --eu-accent: var(--eu-tuerkis); --eu-accent-text: #007a6b; }
.eu-accent-blau { --eu-accent: var(--eu-blue); --eu-accent-text: var(--eu-blue); }

html {
	scroll-padding-top: calc(var(--eu-header-h) + 1rem);
	-webkit-text-size-adjust: 100%;
}

@media (prefers-reduced-motion: no-preference) {
	html { scroll-behavior: smooth; }
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	font-feature-settings: "cv11", "ss01";
	overflow-x: clip;
}

::selection { background: var(--eu-red); color: #fff; }
/* A red selection disappears on red backgrounds. */
:where(.is-style-eu-panel, .has-rot-background-color, .eu-hero, .js .has-hero .eu-site-header:not(.is-scrolled), .eu-button, .wp-element-button, .eu-accent-rot :is(.eu-page-header__intro, .eu-archive-header .wp-block-term-description, .eu-filters))::selection,
:where(.is-style-eu-panel, .has-rot-background-color, .eu-hero, .js .has-hero .eu-site-header:not(.is-scrolled), .eu-button, .wp-element-button, .eu-accent-rot :is(.eu-page-header__intro, .eu-archive-header .wp-block-term-description, .eu-filters)) ::selection { background: var(--eu-violet); color: #fff; }
.eu-hero__claim::selection, .eu-hero__claim ::selection { background: var(--eu-red); }

:focus-visible {
	outline: 3px solid var(--eu-black);
	outline-offset: 3px;
}

img, video { max-width: 100%; height: auto; }

a { text-underline-offset: .18em; text-decoration-thickness: 1px; }
a:hover { text-decoration-thickness: 2px; }
.wp-block-post-content a { overflow-wrap: anywhere; }

.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;
}

.eu-icon { width: 1.25em; height: 1.25em; flex: none; vertical-align: middle; }
.eu-icon--inline { width: .9em; height: .9em; margin-left: .25em; vertical-align: baseline; }

.eu-anchor { scroll-margin-top: var(--eu-header-h); }

.eu-main { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* The light line above a headline, as on die-linke.de ("Dafür stehen wir" over "Unsere Themen"). */
.eu-kicker {
	margin-bottom: .25rem;
	color: var(--eu-violet);
	font: 300 clamp(1.15rem, 1.8vw, 1.5rem)/1.2 var(--eu-display);
	letter-spacing: -.01em;
}
:is(.eu-section--bestof, .is-style-eu-panel, .has-rot-background-color, .has-dunkelrot-background-color, .has-violett-background-color, .has-dunkelgruen-background-color) .eu-kicker { color: #fff; }

.eu-empty { color: var(--eu-grey); padding: 2rem 0; }

.eu-placeholder-note {
	background: #fff6d6;
	border-left: 4px solid #e0b100;
	padding: .75rem 1rem;
	font-size: .9rem;
}

/*
 * Drop cap spanning --eu-drop-lines lines (paragraph setting "Initiale").
 * Sized so its top meets the capitals of the first line and its foot the
 * baseline of the last one. The numbers are the cap height, ascent and
 * descent of Work Sans Black (.672, .93, .243) and Inter (.735, .969, .241).
 * Registered, the sizes are computed on the paragraph, where 1lh and em
 * refer to the running text.
 */
@property --eu-drop-size { syntax: "<length>"; inherits: true; initial-value: 0px; }
@property --eu-drop-baseline { syntax: "<length>"; inherits: true; initial-value: 0px; }
.has-drop-cap {
	--eu-drop-lines: 3;
	--eu-drop-size: calc(((var(--eu-drop-lines) - 1) * 1lh + .735em) / .672);
	--eu-drop-baseline: calc((var(--eu-drop-lines) - .5) * 1lh + .364em);
}
.has-drop-cap.eu-drop-cap-2 { --eu-drop-lines: 2; }
.has-drop-cap.eu-drop-cap-4 { --eu-drop-lines: 4; }
.has-drop-cap.eu-drop-cap-5 { --eu-drop-lines: 5; }
.has-drop-cap.eu-drop-cap-6 { --eu-drop-lines: 6; }
/* :root outranks the core rule (8.4em), which loads later. */
:root .has-drop-cap:not(:focus)::first-letter {
	float: left;
	margin: calc(var(--eu-drop-baseline) - .6935 * var(--eu-drop-size)) .1em 0 calc(-.046 * var(--eu-drop-size));
	color: var(--eu-red);
	font: 900 var(--eu-drop-size)/.7 var(--eu-display);
}

.eu-copy {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin-top: .4rem;
	padding: .3rem .6rem;
	border: 1px solid #cfcfd6;
	background: #fff;
	font: inherit;
	font-size: .8rem;
	cursor: pointer;
}
.eu-copy .eu-icon { width: .95rem; height: .95rem; }

.eu-sticker,
.is-style-eu-sticker,
.is-style-eu-banner,
.is-style-eu-plain,
.eu-page-header__title,
.eu-archive-header__title,
.eu-section-head__title {
	--eu-sticker: #67249a;
	width: fit-content;
	max-width: 100%;
	color: #fff !important;
	font-family: var(--eu-display);
	font-weight: 900;
	font-style: italic;
	line-height: 1.02;
	letter-spacing: -.045em;
	word-spacing: .02em;
	/* Shadows sit behind the entire text run, so adjacent glyphs stay white. */
	-webkit-text-stroke: 0;
	/* 48 offsets around a circle with a hair of blur; fewer leave visible steps at the letter corners. */
	text-shadow:
		.09em 0 .006em var(--eu-sticker),
		.089em .012em .006em var(--eu-sticker),
		.087em .023em .006em var(--eu-sticker),
		.083em .034em .006em var(--eu-sticker),
		.078em .045em .006em var(--eu-sticker),
		.071em .055em .006em var(--eu-sticker),
		.064em .064em .006em var(--eu-sticker),
		.055em .071em .006em var(--eu-sticker),
		.045em .078em .006em var(--eu-sticker),
		.034em .083em .006em var(--eu-sticker),
		.023em .087em .006em var(--eu-sticker),
		.012em .089em .006em var(--eu-sticker),
		0 .09em .006em var(--eu-sticker),
		-.012em .089em .006em var(--eu-sticker),
		-.023em .087em .006em var(--eu-sticker),
		-.034em .083em .006em var(--eu-sticker),
		-.045em .078em .006em var(--eu-sticker),
		-.055em .071em .006em var(--eu-sticker),
		-.064em .064em .006em var(--eu-sticker),
		-.071em .055em .006em var(--eu-sticker),
		-.078em .045em .006em var(--eu-sticker),
		-.083em .034em .006em var(--eu-sticker),
		-.087em .023em .006em var(--eu-sticker),
		-.089em .012em .006em var(--eu-sticker),
		-.09em 0 .006em var(--eu-sticker),
		-.089em -.012em .006em var(--eu-sticker),
		-.087em -.023em .006em var(--eu-sticker),
		-.083em -.034em .006em var(--eu-sticker),
		-.078em -.045em .006em var(--eu-sticker),
		-.071em -.055em .006em var(--eu-sticker),
		-.064em -.064em .006em var(--eu-sticker),
		-.055em -.071em .006em var(--eu-sticker),
		-.045em -.078em .006em var(--eu-sticker),
		-.034em -.083em .006em var(--eu-sticker),
		-.023em -.087em .006em var(--eu-sticker),
		-.012em -.089em .006em var(--eu-sticker),
		0 -.09em .006em var(--eu-sticker),
		.012em -.089em .006em var(--eu-sticker),
		.023em -.087em .006em var(--eu-sticker),
		.034em -.083em .006em var(--eu-sticker),
		.045em -.078em .006em var(--eu-sticker),
		.055em -.071em .006em var(--eu-sticker),
		.064em -.064em .006em var(--eu-sticker),
		.071em -.055em .006em var(--eu-sticker),
		.078em -.045em .006em var(--eu-sticker),
		.083em -.034em .006em var(--eu-sticker),
		.087em -.023em .006em var(--eu-sticker),
		.089em -.012em .006em var(--eu-sticker);
	filter: drop-shadow(.035em .05em 0 var(--eu-sticker));
	rotate: -2.5deg;
	transform-origin: left bottom;
	hyphens: auto;
	overflow-wrap: break-word;
}

/* Firefox redraws blurred shadows and filters on rotated text in every frame, which makes
   scrolling stutter, and a stack of unblurred shadows loses the anti-aliasing. There the outline
   is a stroked copy of the title behind it (data-eu-text, see eu_sticker_text()) and a second copy
   is the drop shadow. Chrome draws stroked text with pointed corners, so it keeps the shadows. */
@supports (-moz-appearance: none) {
	:is(.eu-sticker, .is-style-eu-sticker, .is-style-eu-banner, .eu-page-header__title, .eu-archive-header__title, .eu-section-head__title)[data-eu-text] {
		position: relative;
		isolation: isolate;
		text-shadow: none;
		filter: none;
	}
	:is(.eu-sticker, .is-style-eu-sticker, .is-style-eu-banner, .eu-page-header__title, .eu-archive-header__title, .eu-section-head__title)[data-eu-text]::before,
	:is(.eu-sticker, .is-style-eu-sticker, .is-style-eu-banner, .eu-page-header__title, .eu-archive-header__title, .eu-section-head__title)[data-eu-text]::after {
		content: attr(data-eu-text);
		content: attr(data-eu-text) / "";
		position: absolute;
		inset: 0 -1px 0 0;
		z-index: -1;
		padding: inherit;
		color: var(--eu-sticker);
		-webkit-text-stroke: .18em var(--eu-sticker);
		white-space: pre-line;
		pointer-events: none;
	}
	:is(.eu-sticker, .is-style-eu-sticker, .is-style-eu-banner, .eu-page-header__title, .eu-archive-header__title, .eu-section-head__title)[data-eu-text]::after {
		z-index: -2;
		translate: .035em .05em;
	}
}

.is-style-eu-plain {
	font-style: normal;
	-webkit-text-stroke: 0;
	text-shadow: none;
	filter: none;
	rotate: none;
}
/* Constrained layouts centre their children; keep headings on the content's left edge. */
.is-layout-constrained > :is(.is-style-eu-sticker, .is-style-eu-banner, .is-style-eu-plain):not(.alignwide):not(.alignfull) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important;
}
.eu-main--wide .is-layout-constrained > :is(.is-style-eu-sticker, .is-style-eu-banner, .is-style-eu-plain):not(.alignwide):not(.alignfull) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--wide-size)) / 2)) !important;
}
.is-style-eu-sticker, .is-style-eu-banner, .is-style-eu-plain { margin-block-start: clamp(3rem, 6vw, 4.5rem); margin-bottom: 1.25rem; }

.eu-kicker + :is(.is-style-eu-sticker, .is-style-eu-plain) { margin-block-start: .5rem; }

.eu-section {
	padding-block: clamp(3.5rem, 9vw, 7.5rem);
	margin-block: 0 !important;
}
.eu-main--landing > .wp-block-post-content > * { margin-block: 0; }
/* A landing page without hero (the Termine page) starts with a section of its own. */
.eu-section--page-top { padding-top: clamp(2.5rem, 6vw, 4.5rem); }
.eu-section--grey { background: var(--eu-light); }

.eu-section--bestof {
	background: var(--eu-darkred);
	color: #fff;
}
:is(.eu-section--bestof, .is-style-eu-panel, .has-rot-background-color, .has-dunkelrot-background-color, .has-violett-background-color, .has-dunkelgruen-background-color) .eu-more a:is(*, :hover, :focus-visible) { color: #fff; }

.eu-section-head {
	gap: 1rem 2rem;
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem) !important;
}
.eu-section-head__title {
	margin: 0;
	font-size: var(--wp--preset--font-size--xx-large);
}
.eu-section-head__text > * { margin-block: 0; }
.eu-section-head__text > .eu-kicker { margin-bottom: .35rem; }

/*
 * Text links that lead on ("Alle ansehen", "Mehr erfahren"): a bar on the
 * left and bold petrol text, the link style of die-linke.de.
 */
.eu-more { margin: 0; }
.eu-more a, a.eu-more, .eu-link-bar {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .05em 0 .05em .6rem;
	border-left: 2px solid currentColor;
	color: var(--eu-darkgreen);
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none;
}
.eu-more a:hover, a.eu-more:hover, a.eu-link-bar:hover { color: var(--eu-red-text); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }

.eu-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	background: var(--eu-red);
	color: #fff;
	font-weight: 700;
	font-size: 1.1875rem;
	line-height: 1.2;
	padding: .75em 1.25em;
	text-decoration: none;
	border: 2px solid var(--eu-red);
	cursor: pointer;
	transition: background .2s, color .2s, border-color .2s;
}
.eu-button:hover { background: var(--eu-darkred); border-color: var(--eu-darkred); color: #fff; }
.eu-button--ghost {
	background: transparent;
	color: var(--eu-black);
	border-color: var(--eu-black);
	font-size: 1rem;
}
.eu-button--ghost:hover { background: var(--eu-black); border-color: var(--eu-black); color: #fff; }

.wp-element-button, .wp-block-button__link {
	transition: background .2s, color .2s, transform .2s;
}
.wp-block-button__link:hover { transform: translateY(-2px); }

.eu-site-header {
	position: sticky;
	top: var(--eu-header-offset, var(--wp-admin--admin-bar--height, 0px));
	margin-block: 0;
	z-index: 100;
	transition: transform .35s var(--eu-ease);
}
.has-hero .eu-site-header {
	position: fixed;
	left: 0;
	right: 0;
}
/*
 * Over the hero the header is see-through until the page scrolls (main.js sets
 * .is-scrolled). Without JavaScript it keeps the normal white bar instead.
 */
.eu-site-header.is-hidden { transform: translateY(calc(-100% - var(--eu-header-offset, var(--wp-admin--admin-bar--height, 0px)) - 1px)); }

.eu-header {
	box-sizing: border-box;
	gap: 1.5rem;
	min-height: var(--eu-header-h);
	margin: 0;
	padding: .75rem var(--eu-pad);
	background: rgba(255, 255, 255, .96);
	border-bottom: 1px solid var(--eu-line);
	transition: background .35s, border-color .35s, color .35s, min-height .35s;
}
.js .has-hero .eu-site-header:not(.is-scrolled) .eu-header {
	background: transparent;
	border-color: transparent;
	color: #fff;
	min-height: calc(var(--eu-header-h) + 1rem);
}

.eu-brand { flex: none; margin: 0; line-height: 0; }
.eu-brand a { display: inline-block; transition: transform .3s var(--eu-ease); }
.eu-brand a:hover { transform: rotate(-2deg) scale(1.04); }
.eu-brand img { display: block; height: auto; }
@media (max-width: 599px) {
	.eu-brand img { width: 104px !important; }
}
/* Without JavaScript the header never slides away on scroll: keep it slim. */
@media (min-width: 960px) {
	html:not(.js) { --eu-header-h: 3.75rem; }
	html:not(.js) .eu-header { padding-block: .375rem; }
}
/*
 * Desktop: the logo hangs over the lower edge of the header, as on
 * die-linke.de (there about 210px wide, from 30px below the top, with a soft shadow).
 */
@media (min-width: 960px) {
	:root { --eu-logo-w: 210px; }
	.eu-header { position: relative; }
	.eu-header > .eu-header__tools { margin-left: auto; }
	/* Room below the header for the hanging logo. */
	:root :is(.eu-page-header, .eu-archive-header) { padding-top: calc(clamp(2.5rem, 7vw, 5.5rem) + 2.5rem); }
	:root .eu-article-header { padding-top: 2.5rem; }
	.eu-section--page-top { padding-top: calc(clamp(2.5rem, 6vw, 4.5rem) + 2.5rem); }
	.eu-brand {
		position: absolute;
		z-index: 2;
		top: 1.5rem;
		left: var(--eu-pad);
		transition: transform .35s var(--eu-ease);
	}
	/* The part below the header would stay in view when the header slides up. */
	.eu-site-header.is-hidden .eu-brand { transform: translateY(-100%); }
	.eu-brand img {
		width: var(--eu-logo-w) !important;
		filter: drop-shadow(0 .75rem 1.25rem rgb(0 0 0 / 18%));
	}
	html:not(.js) .eu-brand { top: .9rem; }
}

.eu-header__tools { gap: .75rem; }

.eu-nav { font-weight: 600; }
.eu-nav .wp-block-navigation__container { gap: .25rem; }
.eu-nav .wp-block-navigation-item__content { padding: .55rem .8rem; }
.eu-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
	text-decoration: none;
}
.eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: .8rem;
	right: .8rem;
	bottom: .3rem;
	height: 3px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .3s var(--eu-ease);
}
/* Same selector chain as the rule above, so the underline wins on hover and for the current page. */
.eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:is(:hover, :focus-visible)::after,
.eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > :is(.current-menu-item, .current-menu-ancestor) > .wp-block-navigation-item__content::after { transform: scaleX(1); }
.eu-site-header:is(.is-scrolled, :not(.js .has-hero *)) .eu-nav .current-menu-item > .wp-block-navigation-item__content,
.eu-site-header:is(.is-scrolled, :not(.js .has-hero *)) .eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation-item__content:hover { color: var(--eu-red-text); }
.js .has-hero .eu-site-header:not(.is-scrolled) .eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	/* "Large bold text" keeps white on red within WCAG AA. */
	font-size: 1.1875rem;
	font-weight: 700;
}
.eu-nav .wp-block-navigation__submenu-icon { margin-left: -.5rem; }
.eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container {
	min-width: 15rem !important;
	padding: .5rem;
	background: #fff !important;
	color: var(--eu-black) !important;
	border: 0 !important;
	border-top: 4px solid var(--eu-red) !important;
	box-shadow: var(--eu-shadow-lift);
	font-weight: 500;
}
.eu-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .6rem .75rem; text-decoration: none; }
.eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.eu-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content { background: var(--eu-light); color: var(--eu-red-text); }

.eu-nav .wp-block-navigation__responsive-container-open {
	display: none;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	background: var(--eu-black);
	color: #fff;
}
.js .has-hero .eu-site-header:not(.is-scrolled) .eu-nav .wp-block-navigation__responsive-container-open { background: #fff; color: var(--eu-black); }
@media (max-width: 959px) {
	:root { --eu-header-h: 4rem; }
	.eu-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: grid; }
	.eu-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}

/* The transform otherwise makes the header contain the fixed menu overlay. */
.eu-site-header:has(.is-menu-open) {
	transform: none;
	transition: none;
}
.eu-nav .wp-block-navigation__responsive-container.is-menu-open {
	position: fixed;
	inset: var(--eu-header-offset, 0px) 0 0;
	box-sizing: border-box;
	padding: 1.5rem var(--eu-pad) 2rem;
	animation: eu-overlay-in .5s var(--eu-ease) both;
}
@keyframes eu-overlay-in {
	from { clip-path: circle(0% at calc(100% - 3rem) 2rem); }
	to { clip-path: circle(150% at calc(100% - 3rem) 2rem); }
}
.eu-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	display: grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border: 2px solid currentColor;
	transition: transform .3s var(--eu-ease);
}
.eu-nav .is-menu-open .wp-block-navigation__responsive-container-close:hover { transform: rotate(90deg); }
.eu-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 4rem; gap: .35em; align-items: flex-start !important; }
.eu-nav .is-menu-open .wp-block-navigation__container,
.eu-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; text-align: left; }
.eu-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	font: 900 clamp(2.4rem, 9vw, 4.5rem)/1.05 var(--eu-display);
	letter-spacing: -.02em;
	padding: 0;
	transition: color .2s, transform .3s var(--eu-ease);
}
.eu-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover,
.eu-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--eu-black); transform: translateX(.15em); }
.eu-nav .is-menu-open .wp-block-navigation__submenu-container {
	flex-direction: row !important;
	flex-wrap: wrap;
	justify-content: flex-start !important;
	gap: .25rem 1.25rem !important;
	width: auto !important;
	padding: .25rem 0 .75rem !important;
}
.eu-nav .is-menu-open .wp-block-navigation__submenu-container > .wp-block-navigation-item { width: auto !important; padding: 0 !important; }
.eu-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .2rem 0 !important;
	font-size: 1.125rem;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, .5);
}
.eu-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item { animation: eu-rise .6s var(--eu-ease) both; }
.eu-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(2) { animation-delay: .05s; }
.eu-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(3) { animation-delay: .1s; }
.eu-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(4) { animation-delay: .15s; }
.eu-nav .is-menu-open .wp-block-navigation__container > .wp-block-navigation-item:nth-child(5) { animation-delay: .2s; }

@keyframes eu-rise {
	from { opacity: 0; transform: translateY(1.5rem); }
	to { opacity: 1; transform: none; }
}

.eu-lang-switch {
	display: inline-grid;
	place-items: center;
	min-width: 2.5rem;
	height: 2.25rem;
	padding: 0 .5rem;
	border: 2px solid currentColor;
	color: inherit;
	font-weight: 800;
	font-size: .8rem;
	letter-spacing: .06em;
	text-decoration: none;
	transition: background .2s, color .2s;
}
.eu-lang-switch:hover { background: var(--eu-black); border-color: var(--eu-black); color: #fff; }
.js .has-hero .eu-site-header:not(.is-scrolled) .eu-lang-switch { background: #fff; border-color: #fff; color: var(--eu-black); }

@media (max-width: 959px) {
	html { scroll-padding-bottom: calc(4.5rem + env(safe-area-inset-bottom, 0px)); }
	.eu-site-header, .has-hero .eu-site-header {
		position: fixed;
		inset: auto 0 0;
	}
	.eu-site-header.is-hidden:not(:has(.is-menu-open)) { transform: translateY(calc(100% + 1px)); }
	.eu-site-header .eu-header,
	.js .has-hero .eu-site-header:not(.is-scrolled) .eu-header {
		min-height: 3.5rem;
		padding: .375rem var(--eu-pad) calc(.375rem + env(safe-area-inset-bottom, 0px));
		gap: 1rem;
		background: rgba(255, 255, 255, .96);
		color: var(--eu-black);
		border-top: 1px solid var(--eu-line);
		border-bottom: 0;
	}
	.eu-brand img { width: 88px !important; }
	.eu-header__tools { flex-direction: row-reverse; gap: .625rem; }
	.eu-header__tools .eu-lang-switch,
	.eu-nav .wp-block-navigation__responsive-container-open {
		box-sizing: border-box;
		width: 2.75rem;
		min-width: 2.75rem;
		height: 2.75rem;
		padding: 0;
	}
	.js .has-hero .eu-site-header:not(.is-scrolled) .eu-lang-switch { border-color: var(--eu-black); }
	.js .has-hero .eu-site-header:not(.is-scrolled) .eu-nav .wp-block-navigation__responsive-container-open {
		background: var(--eu-black);
		color: #fff;
	}
	.eu-nav .wp-block-navigation__responsive-container.is-menu-open {
		padding-bottom: calc(5rem + env(safe-area-inset-bottom, 0px));
		animation-name: eu-overlay-from-bottom;
	}
	.eu-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 0; }
	.eu-nav .is-menu-open .wp-block-navigation__responsive-container-close {
		position: fixed;
		inset: auto var(--eu-pad) calc(.375rem + env(safe-area-inset-bottom, 0px)) auto;
		box-sizing: border-box;
		width: 2.75rem;
		height: 2.75rem;
		padding: 0;
		background: var(--eu-red);
		z-index: 1;
	}
}
@keyframes eu-overlay-from-bottom {
	from { clip-path: circle(0% at calc(100% - var(--eu-pad) - 1.375rem) calc(100% - 1.75rem - env(safe-area-inset-bottom, 0px))); }
	to { clip-path: circle(150% at calc(100% - var(--eu-pad) - 1.375rem) calc(100% - 1.75rem - env(safe-area-inset-bottom, 0px))); }
}

.eu-intro__columns { gap: clamp(2rem, 6vw, 6rem) !important; }
.eu-intro h2 { margin-top: 0; }
.eu-intro__actions { gap: 1.25rem; margin-top: 2rem; }

.eu-page-header,
.eu-archive-header {
	--eu-title-size: clamp(2.75rem, 8vw, 6.5rem);
	--eu-overlap: calc(var(--eu-title-size) * .42);
	/* White text on the box: the darker red keeps WCAG AA for normal-sized text. */
	--eu-box: var(--eu-accent-text);
	position: relative;
	padding: clamp(2.5rem, 7vw, 5.5rem) var(--eu-pad) 0;
	margin-block: 0 clamp(2.5rem, 6vw, 4.5rem) !important;
}
.eu-page-header__inner {
	max-width: var(--eu-wide);
	margin: 0 auto;
	display: grid;
	gap: 2.5rem;
	align-items: end;
}
.eu-page-header__inner:has(.eu-page-header__image) { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
.eu-page-header__text > * { margin: 0; }
.eu-page-header__title,
.eu-archive-header__title {
	position: relative;
	z-index: 2;
	margin: 0 0 calc(var(--eu-overlap) * -1) clamp(.25rem, 1vw, .75rem) !important;
	font-size: var(--eu-title-size);
	line-height: .98;
}

.eu-page-header__intro,
.eu-archive-header .wp-block-term-description,
.eu-page-header__text:not(:has(.eu-page-header__intro))::after,
.eu-archive-header:not(:has(.wp-block-term-description))::after {
	position: relative;
	z-index: 1;
	display: block;
	background: var(--eu-box);
	color: #fff;
}
.eu-page-header__intro { margin: 0 !important; }
.eu-archive-header .wp-block-term-description { margin: 0 auto !important; }
.eu-page-header__intro,
.eu-archive-header .wp-block-term-description {
	padding: calc(var(--eu-overlap) + 1.25rem) clamp(1.25rem, 3vw, 2.5rem) clamp(1.5rem, 3vw, 2.25rem);
	font-size: clamp(1.125rem, 1.6vw, 1.375rem);
	font-weight: 500;
	line-height: 1.6;
}
.eu-page-header__intro p, .eu-archive-header .wp-block-term-description p { margin: 0; max-width: 46rem; }
.eu-page-header__intro a, .eu-archive-header .wp-block-term-description a { color: #fff; }
.eu-page-header__text:not(:has(.eu-page-header__intro))::after,
.eu-archive-header:not(:has(.wp-block-term-description))::after {
	content: "";
	height: calc(var(--eu-overlap) + 1.25rem);
}
.eu-archive-header { padding-bottom: 0; }
.eu-archive-header > .eu-archive-header__title {
	margin-left: calc(max(0px, (100% - var(--eu-wide)) / 2) + clamp(.25rem, 1vw, .75rem)) !important;
}
.eu-archive-header:not(:has(.wp-block-term-description))::after { max-width: var(--eu-wide); margin: 0 auto; }

.eu-page-header__image { position: relative; margin: 0; }
.eu-page-header__image::before {
	content: "";
	position: absolute;
	inset: 1.25rem -1.25rem -1.25rem 1.25rem;
	background: var(--eu-violet);
}
.eu-page-header__image img { position: relative; display: block; width: 100%; object-fit: cover; }
@media (prefers-reduced-motion: no-preference) {
	.eu-page-header__title, .eu-archive-header__title { animation: eu-sticker-in .7s var(--eu-ease) both; }
	.eu-page-header__intro { animation: eu-rise .8s var(--eu-ease) .1s both; }
	.eu-page-header__image { animation: eu-rise .9s var(--eu-ease) .15s both; }
}
@keyframes eu-sticker-in {
	from { opacity: 0; transform: translateY(.3em) scale(.92); }
	to { opacity: 1; transform: none; }
}
@media (max-width: 799px) {
	.eu-page-header__inner:has(.eu-page-header__image) { grid-template-columns: 1fr; }
	.eu-page-header__image { margin-right: 1.25rem; }
}

/*
 * List pages (Beiträge, Pressespiegel): a slimmer header so the first stories show
 * without scrolling. When the filters come first, their box takes the place of the
 * intro box under the title.
 */
.eu-main:has(.eu-query--featured, .eu-mention-cards) { --eu-list-title: clamp(2.5rem, 6vw, 4.5rem); }
.eu-main:has(.eu-query--featured, .eu-mention-cards) .eu-page-header {
	--eu-title-size: var(--eu-list-title);
	padding-top: clamp(1.75rem, 4vw, 3rem);
	margin-bottom: clamp(1.5rem, 3vw, 2.25rem) !important;
}
@media (min-width: 960px) {
	.eu-main:has(.eu-query--featured, .eu-mention-cards) .eu-page-header { padding-top: calc(clamp(1.75rem, 4vw, 3rem) + 3rem); }
}
.eu-main:has(.eu-query--featured, .eu-mention-cards) .eu-page-header__intro {
	padding-bottom: clamp(1rem, 2vw, 1.5rem);
	font-size: clamp(1rem, 1.3vw, 1.125rem);
	line-height: 1.5;
}
.eu-main:has(.eu-page-content > .eu-filters:first-child, .eu-page-content > .eu-mention-cards:first-child > .eu-filters) .eu-page-header { margin-bottom: 0 !important; }
.eu-main:has(.eu-page-content > .eu-filters:first-child, .eu-page-content > .eu-mention-cards:first-child > .eu-filters) .eu-page-header__intro,
.eu-main:has(.eu-page-content > .eu-filters:first-child, .eu-page-content > .eu-mention-cards:first-child > .eu-filters) .eu-page-header__text::after { display: none; }
.eu-main:has(.eu-page-content > .eu-filters:first-child, .eu-page-content > .eu-mention-cards:first-child > .eu-filters) .eu-page-content { margin-top: 0; }
.eu-page-content > .eu-filters:first-child,
.eu-page-content > .eu-mention-cards:first-child > .eu-filters {
	--eu-filters-top: calc(var(--eu-list-title, 3rem) * .42 + 1.25rem);
	margin-top: 0 !important;
	margin-inline: auto;
}

.eu-page-content { padding-bottom: clamp(4rem, 9vw, 7rem); }

.eu-main--archive, .eu-main--404 { padding-bottom: clamp(4rem, 9vw, 7rem); }
.eu-404-code { font: 900 clamp(5rem, 20vw, 14rem)/.8 var(--eu-display); color: var(--eu-red); margin: 0; letter-spacing: -.05em; }
.eu-404 { padding: clamp(3rem, 8vw, 6rem) var(--eu-pad) clamp(2rem, 4vw, 3rem); margin-bottom: 2.5rem !important; }
.eu-404 .is-style-eu-sticker { margin-top: 1.5rem; font-size: clamp(2.5rem, 7vw, 5.5rem); }
.eu-main--404 .wp-block-search { max-width: 30rem; margin-top: 2rem; }

/*
 * Query Loop → Post Template (.eu-cards) → Group (.eu-card) built from core blocks.
 * Newspaper style: no boxes, thin black rules between the columns and under each row.
 */

.eu-cards {
	--eu-gap: clamp(1.5rem, 3vw, 2.5rem);
	gap: var(--eu-gap) !important;
	padding-bottom: calc(var(--eu-gap) / 2) !important;
	overflow-x: clip;
}
.eu-cards > li { position: relative; display: flex; }
/* Rules sit in the middle of the gaps; the ones outside the outer columns are clipped. */
.eu-cards > li::before,
.eu-cards > li::after { content: ""; position: absolute; pointer-events: none; }
.eu-cards > li::before { top: 0; bottom: 0; left: calc(var(--eu-gap) / -2); border-left: 1px solid var(--eu-black); }
.eu-cards > li::after { left: calc(var(--eu-gap) / -2); right: calc(var(--eu-gap) / -2); bottom: calc(var(--eu-gap) / -2); border-bottom: 1px solid var(--eu-black); }
.eu-cards > .category-artikel { --eu-accent: var(--eu-red); --eu-accent-text: var(--eu-red-text); }
.eu-cards > .category-pressemitteilungen { --eu-accent: var(--eu-darkred); --eu-accent-text: var(--eu-darkred); }
.eu-cards > .category-medien { --eu-accent: var(--eu-violet); --eu-accent-text: var(--eu-violet); }

.eu-card { position: relative; display: flex; flex: 1; flex-direction: column; min-width: 0; }
.eu-card > * { margin: 0 !important; }
.eu-card:not(:has(.eu-card__media)) { border-top: 6px solid var(--eu-accent); }
.eu-card__media { overflow: hidden; background: var(--eu-light); }
.eu-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .7s var(--eu-ease); }
.eu-card:hover .eu-card__media img { transform: scale(1.03); }
.eu-card__body { display: flex; flex: 1; flex-direction: column; gap: .55rem; padding: .9rem 0 0; }
.eu-card__body > * { margin: 0 !important; }
.eu-card__top { gap: .5rem; align-items: center; }
.eu-card__category {
	display: inline-flex;
	align-items: center;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .1em;
	text-transform: uppercase;
}
.eu-card__category::before,
.eu-article-header__categories::before {
	content: "";
	width: .65em;
	height: .65em;
	margin-right: .45em;
	background: var(--eu-accent);
	transform: rotate(-12deg);
}
.eu-card__category a { position: relative; z-index: 2; color: var(--eu-black); text-decoration: none; }
.wp-block-post-terms.eu-badge { display: flex; flex-wrap: wrap; gap: .3rem; }
.eu-badge .wp-block-post-terms__separator { display: none; }
.eu-badge a, .eu-badge:is(span) {
	position: relative;
	z-index: 2;
	display: inline-block;
	padding: .15em .55em;
	background: #e6f7f5;
	color: #00594f;
	font-size: .75rem;
	font-weight: 700;
	line-height: 1.5;
	text-decoration: none;
}
.eu-card__title { margin: 0; font: 900 1.3rem/1.12 var(--eu-display); letter-spacing: -.01em; hyphens: auto; }
.eu-card__title a { color: inherit; text-decoration: none; }
/* The whole card is clickable through the title link. */
.eu-card__title a::before { content: ""; position: absolute; inset: 0; z-index: 1; }
.eu-card:hover .eu-card__title a { color: var(--eu-accent-text); }
.eu-card__excerpt p {
	margin: 0;
	color: #222;
	font-size: .9rem;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.eu-card__excerpt .wp-block-post-excerpt__more-text { display: none; }
.eu-card__meta { gap: 0 .4rem; margin-top: auto !important; padding-top: .6rem; color: var(--eu-grey); font-size: .8rem; }
.eu-card__meta > * + *::before { content: "· "; }

.eu-query--featured .eu-cards > li:first-child .eu-card__title,
:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:first-child .eu-card__title { font-size: clamp(1.75rem, 3.2vw, 2.9rem); line-height: 1.05; }
.eu-query--featured .eu-cards > li:first-child .eu-card__excerpt p,
:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:first-child .eu-card__excerpt p { color: var(--eu-black); font-size: clamp(1.0625rem, 1.5vw, 1.3rem); line-height: 1.45; -webkit-line-clamp: 5; }

@media (min-width: 640px) {
	.eu-query--featured .eu-cards > li:first-child { grid-column: 1 / -1; }
	.eu-query--featured .eu-cards > li:first-child .eu-card__media img { aspect-ratio: 3 / 2 !important; }
}
@media (min-width: 1000px) {
	.eu-query--featured .eu-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
	.eu-query--featured .eu-cards > li:first-child { grid-column: span 2; grid-row: span 2; }
}

/*
 * Post lists repeat a cycle of nine cards: a lead story with two cards beside
 * it (the lead sits left, on the next cycle right), then wide cards with the
 * image beside the text in a zigzag with normal cards. Cards added by the
 * endless list continue the cycle.
 */
:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:nth-child(9n+1) .eu-card__title { font-size: clamp(1.75rem, 3.2vw, 2.9rem); line-height: 1.05; }
:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:nth-child(9n+1) .eu-card__excerpt p { color: var(--eu-black); font-size: clamp(1.0625rem, 1.5vw, 1.3rem); line-height: 1.45; -webkit-line-clamp: 5; }

/* On phones some cards become compact rows with a small square image. */
@media (max-width: 639px) {
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+5), :nth-child(9n+6), :nth-child(9n+8)) .eu-card:has(.eu-card__media) { flex-direction: row; gap: 1rem; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+5), :nth-child(9n+6), :nth-child(9n+8)) .eu-card__media { flex: 0 0 34%; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+5), :nth-child(9n+6), :nth-child(9n+8)) .eu-card__media img { aspect-ratio: 1 !important; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+5), :nth-child(9n+6), :nth-child(9n+8)) .eu-card:has(.eu-card__media) .eu-card__body { gap: .4rem; padding: 0; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+5), :nth-child(9n+6), :nth-child(9n+8)) .eu-card__title { font-size: 1.0625rem; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+5), :nth-child(9n+6), :nth-child(9n+8)) .eu-card:has(.eu-card__media) .eu-card__excerpt { display: none; }
}
@media (min-width: 640px) {
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:nth-child(9n+1) .eu-card__media img { aspect-ratio: 3 / 2 !important; }
}
/* Two columns: lead, wide, two cards, wide, two cards. */
@media (min-width: 640px) and (max-width: 999px) {
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+1), :nth-child(9n+4), :nth-child(9n+7)) { grid-column: 1 / -1; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7)) .eu-card:has(.eu-card__media) { flex-direction: row; gap: var(--eu-gap); }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7)) .eu-card__media { flex: 0 0 55%; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7)) .eu-card:has(.eu-card__media) .eu-card__body { justify-content: center; padding: 0; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7)) .eu-card__title { font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.08; }
}
/* Three columns: lead block, then rows of a wide card and a normal one, alternating sides. */
@media (min-width: 1000px) {
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; grid-auto-flow: dense; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:nth-child(9n+1) { grid-column: span 2; grid-row: span 2; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:nth-child(18n+10) { grid-column: 2 / span 2; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7), :nth-child(9n+8)) { grid-column: span 2; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:nth-child(9n+7) { grid-column: 2 / span 2; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7), :nth-child(9n+8)) .eu-card:has(.eu-card__media) { flex-direction: row; gap: var(--eu-gap); }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7), :nth-child(9n+8)) .eu-card__media { flex: 0 0 55%; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7), :nth-child(9n+8)) .eu-card:has(.eu-card__media) .eu-card__body { justify-content: center; padding: 0; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:is(:nth-child(9n+4), :nth-child(9n+7), :nth-child(9n+8)) .eu-card__title { font-size: clamp(1.4rem, 2.4vw, 2rem); line-height: 1.08; }
	:is(.eu-query--featured:not(.eu-query--mentions), .eu-main--archive .eu-query) .eu-cards > li:nth-child(9n+7) .eu-card:has(.eu-card__media) { flex-direction: row-reverse; }
}

/*
 * Newest posts: the first card leads, the next two sit beside it. On wide screens
 * the two side cards together are exactly as tall as the lead card; their images
 * take whatever height the text leaves over.
 */
@media (max-width: 599px) {
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card { flex-direction: row; gap: 1rem; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__media { flex: 0 0 34%; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__media img { aspect-ratio: 1 !important; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__body { gap: .4rem; padding: 0; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card:not(:has(.eu-card__media)) .eu-card__body { padding-top: .9rem; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__title { font-size: 1.0625rem; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__excerpt { display: none; }
}
@media (min-width: 600px) {
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards { grid-template-columns: 1fr 1fr; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:first-child { grid-column: 1 / -1; }
}
@media (min-width: 900px) {
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards { grid-template-columns: 2fr 1fr; grid-template-rows: 1fr 1fr; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:first-child { grid-column: 1; grid-row: 1 / span 2; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:first-child:last-child { grid-column: 1 / -1; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:first-child .eu-card__media { flex: 1 0 auto; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:nth-child(2):last-child { grid-row: 1 / span 2; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__media { position: relative; flex: 1 1 0; min-height: 7rem; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__media :is(a, img) { position: absolute; inset: 0; height: 100%; aspect-ratio: auto !important; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__body { flex: 0 0 auto; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards > li:not(:first-child) .eu-card__excerpt p { -webkit-line-clamp: 2; }
	/* A side card without an image keeps its natural height; the other one gets the rest. */
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards:has(> li:nth-child(2) > .eu-card > .eu-card__body:first-child) { grid-template-rows: auto 1fr; }
	:not(.eu-related) > .eu-section-head + .eu-query .eu-cards:has(> li:nth-child(3) > .eu-card > .eu-card__body:first-child) { grid-template-rows: 1fr auto; }
}

.eu-posts { scroll-margin-top: calc(var(--eu-header-h) + 1rem); }
.eu-pagination { gap: .5rem 1rem; margin-top: clamp(2rem, 5vw, 3.5rem) !important; font-weight: 700; }
.eu-pagination .wp-block-query-pagination-numbers { display: flex; gap: .35rem; }
.eu-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 2.75rem;
	height: 2.75rem;
	border: 1px solid var(--eu-line);
	color: var(--eu-black);
	text-decoration: none;
}
.eu-pagination a.page-numbers:hover { border-color: var(--eu-black); }
.eu-pagination .page-numbers.current { background: var(--eu-red-text); border-color: var(--eu-red-text); color: #fff; }
.eu-pagination .page-numbers.dots { border: 0; }
.eu-pagination a { color: var(--eu-black); }
.eu-load-more { display: flex; justify-content: center; margin-top: clamp(2rem, 5vw, 3.5rem); }
.eu-load-more:not(:has(button)) { margin: 0; }
.eu-load-more[aria-busy="true"] button { opacity: .6; pointer-events: none; }

/* Core "Social Icons" block; colours are set in the block's sidebar. */

/* Icon-only social links are square; the labelled pills (footer, about page) keep their round ends. */
.wp-block-social-links:not(.is-style-pill-shape, .has-visible-labels) .wp-social-link { border-radius: 0; }
.wp-block-social-links.eu-social { gap: .5rem; }
.wp-block-social-links.eu-social .wp-social-link { transition: transform .3s var(--eu-ease); }
.wp-block-social-links.eu-social .wp-social-link:hover { transform: translateY(-3px) rotate(-8deg); }
.wp-block-social-links.eu-social .wp-social-link a { padding: .55em; }
.wp-block-social-links.is-style-pill-shape.has-visible-labels .wp-social-link:hover { transform: translateY(-2px); }

/*
 * Contact card: a dark petrol block; every contact is a full-width row with a
 * red icon square. Styled from the existing markup (label, line break, link),
 * so cards already saved in pages change too. The icon follows the link type.
 */
.wp-block-group.is-style-eu-card.eu-contact-card {
	--eu-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M10 14a4 4 0 0 0 5.66 0l3-3a4 4 0 0 0-5.66-5.66l-1 1M14 10a4 4 0 0 0-5.66 0l-3 3a4 4 0 0 0 5.66 5.66l1-1'/%3E%3C/svg%3E");
	padding: clamp(1.5rem, 3vw, 2.25rem);
	background: var(--eu-darkgreen);
	border-top: 0;
	color: #fff;
}
.eu-contact-card__title { margin: 0 0 1rem !important; color: #fff; font-size: clamp(1.6rem, 2.5vw, 2rem); }
.eu-contact-card__item {
	position: relative;
	display: grid;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	column-gap: 1rem;
	align-items: center;
	margin: 0 !important;
	padding: .9rem 0;
	border-top: 1px solid rgb(255 255 255 / 18%);
	font-size: 1.0625rem;
	font-weight: 700;
	line-height: 1.3;
	overflow-wrap: anywhere;
}
.eu-contact-card__item:has(a[href^="mailto:"]) { --eu-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.eu-contact-card__item:has(a[href*="signal"]) { --eu-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M12 3a9 9 0 0 0-7.8 13.5L3 21l4.6-1.2A9 9 0 1 0 12 3z'/%3E%3C/svg%3E"); }
.eu-contact-card__item:has(a[href*="mastodon"]) { --eu-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M23.268 5.313c-.35-2.578-2.617-4.61-5.304-5.004C17.51.242 15.792 0 11.813 0h-.03c-3.98 0-4.835.242-5.288.309C3.882.692 1.496 2.518.917 5.127.64 6.412.61 7.837.661 9.143c.074 1.874.088 3.745.26 5.611.118 1.24.325 2.47.62 3.68.55 2.237 2.777 4.098 4.96 4.857 2.336.792 4.849.923 7.256.38.265-.061.527-.132.786-.213.585-.184 1.27-.39 1.774-.753a.057.057 0 0 0 .023-.043v-1.809a.052.052 0 0 0-.02-.041.053.053 0 0 0-.046-.01 20.282 20.282 0 0 1-4.709.545c-2.73 0-3.463-1.284-3.674-1.818a5.593 5.593 0 0 1-.319-1.433.053.053 0 0 1 .066-.054c1.517.363 3.072.546 4.632.546.376 0 .75 0 1.125-.01 1.57-.044 3.224-.124 4.768-.422.038-.008.077-.015.11-.024 2.435-.464 4.753-1.92 4.989-5.604.008-.145.03-1.52.03-1.67.002-.512.167-3.63-.024-5.545zm-3.748 9.195h-2.561V8.29c0-1.309-.55-1.976-1.67-1.976-1.23 0-1.846.79-1.846 2.35v3.403h-2.546V8.663c0-1.56-.617-2.35-1.848-2.35-1.112 0-1.668.668-1.67 1.977v6.218H4.822V8.102c0-1.31.337-2.35 1.011-3.12.696-.77 1.608-1.164 2.74-1.164 1.311 0 2.302.5 2.962 1.498l.638 1.06.638-1.06c.66-.999 1.65-1.498 2.96-1.498 1.13 0 2.043.395 2.74 1.164.675.77 1.012 1.81 1.012 3.12z'/%3E%3C/svg%3E"); }
.eu-contact-card__item::before {
	content: "";
	grid-row: span 2;
	width: 2.75rem;
	height: 2.75rem;
	background: var(--eu-contact-icon) center / 1.25rem no-repeat, var(--eu-red);
}
.eu-contact-card__item br { display: none; }
.eu-contact-card__label { grid-column: 2; align-self: end; color: var(--eu-mint); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.eu-contact-card__item a { grid-column: 2; align-self: start; color: #fff; text-decoration: none; }
/* The whole row is the link. */
.eu-contact-card__item a::before { content: ""; position: absolute; inset: 0; }
.eu-contact-card__item:hover a, .eu-contact-card__item a:focus-visible { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .2em; }
.eu-contact-card__item:has(a:focus-visible) { outline: 3px solid #fff; outline-offset: 2px; }
.eu-contact-card__item a:focus-visible { outline: none; }
@media (max-width: 479px) {
	.wp-block-group.is-style-eu-card.eu-contact-card { padding: 1.25rem; }
	.eu-contact-card__item { grid-template-columns: 2.5rem minmax(0, 1fr); column-gap: .85rem; font-size: .95rem; }
	.eu-contact-card__item::before { width: 2.5rem; height: 2.5rem; }
}

.eu-site-footer { margin-block-start: 0 !important; }
.eu-footer { padding: clamp(3.5rem, 8vw, 6rem) var(--eu-pad) 2rem; margin: 0 !important; }
/* Room for the mobile bottom bar inside the footer, so no white strip shows once the bar slides away. */
@media (max-width: 959px) {
	.eu-footer { padding-bottom: calc(2rem + 3.5rem + env(safe-area-inset-bottom, 0px)); }
}
.eu-footer a { color: inherit; }
.eu-footer__columns { gap: 2.5rem !important; margin-bottom: 3rem !important; }
.eu-footer__party-links { display: grid; gap: .65rem; list-style: none; padding: 0; margin: 0; }
@media (min-width: 782px) {
	.eu-footer__columns { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1200px) {
	.eu-footer__columns { grid-template-columns: 1.3fr 1.3fr repeat(3, minmax(0, 1fr)); }
}
.eu-footer__logo { margin: 0; line-height: 0; }
.eu-footer__logo img { display: block; height: auto; }
.eu-footer__bio { max-width: 26rem; margin-top: 1.25rem !important; opacity: .85; }
.eu-footer__title {
	margin: 0 0 1rem !important;
	color: var(--eu-mint);
	font: 700 .8rem/1.2 var(--wp--preset--font-family--inter);
	letter-spacing: .14em;
	text-transform: uppercase;
}
.eu-footer p { margin: 0 0 .9rem; }
.eu-footer__contact a { overflow-wrap: anywhere; }
.eu-footer__label { font-size: .75rem; opacity: .7; }
.eu-footer a:not(:hover) { text-decoration: none; }
.eu-footer-nav a,
.eu-footer__party-links a,
.eu-footer p a { transition: color .2s; }
.eu-footer .eu-footer-nav a:is(:hover, :focus-visible),
.eu-footer .eu-footer__party-links a:is(:hover, :focus-visible),
.eu-footer p a:is(:hover, :focus-visible) {
	color: var(--eu-mint);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .2em;
}
.eu-footer a:focus-visible { outline-color: var(--eu-mint); }
/* The footer in the dark petrol of die-linke.de (as long as the default colour is chosen in the editor). */
.eu-footer.has-dunkelgruen-background-color { background-color: var(--eu-petrol-dark) !important; }
.eu-footer-nav .wp-block-navigation__container { gap: .65rem; }
.eu-footer-nav .wp-block-navigation__submenu-container,
.eu-footer-nav .wp-block-navigation__submenu-icon { display: none !important; }
.eu-footer-social { gap: .65rem !important; }
.eu-footer__bottom {
	gap: 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid rgba(255, 255, 255, .18);
	font-size: .875rem;
}
.eu-footer__bottom p { margin: 0; opacity: .85; }
.eu-footer__legal a { margin-left: 1.25rem; text-decoration: underline !important; }
.eu-footer__legal a:first-child { margin-left: 0; }

.wp-block-image.is-style-eu-offset { position: relative; isolation: isolate; }
.wp-block-image.is-style-eu-offset::before {
	content: "";
	position: absolute;
	inset: 1.25rem -1.25rem -1.25rem 1.25rem;
	z-index: -1;
	background: var(--eu-red);
	transition: transform .5s var(--eu-ease);
}
.wp-block-image.is-style-eu-offset:hover::before { transform: translate(.5rem, .5rem); }
.wp-block-image.is-style-eu-offset img { display: block; width: 100%; }

.wp-block-group.is-style-eu-card { padding: clamp(1.25rem, 3vw, 2rem); background: var(--eu-light); border-top: 6px solid var(--eu-red); }
.wp-block-group.is-style-eu-card > :first-child { margin-top: 0; }
.eu-link-card h2 a { text-decoration: none; color: inherit; }
.eu-link-card { position: relative; height: 100%; transition: transform .3s var(--eu-ease), box-shadow .3s; }
.eu-link-card h2 a::before { content: ""; position: absolute; inset: 0; }
.eu-link-card:hover { transform: translateY(-4px); box-shadow: var(--eu-shadow-lift); }
.eu-note { margin-bottom: 2rem; }

.wp-block-group.is-style-eu-panel { background: var(--eu-red); color: #fff; }
.is-style-eu-panel :is(h1, h2, h3, h4, a) { color: #fff; }
.is-style-eu-panel .has-display-font-size { line-height: .95; letter-spacing: -.035em; }
.eu-about-stand__claim { margin-top: 2rem; font-weight: 900; font-style: italic; line-height: 1.05; letter-spacing: -.02em; }

.eu-page-content:has(> .is-style-eu-panel:last-child) { padding-bottom: 0; }

:is(.is-style-eu-panel, .has-rot-background-color) :is(.is-style-eu-sticker, .is-style-eu-banner, .eu-section-head__title) {
	width: auto;
	margin-left: 0 !important;
	-webkit-text-stroke: 0;
	text-shadow: none;
	filter: none;
	rotate: none;
	letter-spacing: -.02em;
	word-spacing: normal;
}
:is(.is-style-eu-panel, .has-rot-background-color) :is(.is-style-eu-sticker, .is-style-eu-banner, .eu-section-head__title)::before,
:is(.is-style-eu-panel, .has-rot-background-color) :is(.is-style-eu-sticker, .is-style-eu-banner, .eu-section-head__title)::after { content: none; }
.wp-block-button.is-style-eu-inverse .wp-block-button__link { background: #fff; color: var(--eu-red); }
.wp-block-button.is-style-eu-inverse .wp-block-button__link:hover { background: var(--eu-black); color: #fff; }

/*
 * Teaser (Media & Text, style "Teaser (Die Linke)"), after "Die Linke hilft"
 * on die-linke.de: the dark red text area reaches below the photo and ends in
 * a slanted edge, so red shows as a wedge on the left and a band underneath.
 * Core's Media & Text styles load later, hence the doubled class.
 */
.wp-block-media-text.is-style-eu-teaser {
	--eu-teaser-cut: clamp(2.5rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 1fr) 50%;
	margin-block: 0 !important;
	padding-bottom: calc(var(--eu-teaser-cut) + clamp(1.5rem, 3.5vw, 3.5rem));
	background: var(--eu-red);
	color: #fff;
}
.wp-block-media-text.is-style-eu-teaser > .wp-block-media-text__content {
	align-self: stretch;
	/* Reach below the photo by the height of the cut. */
	margin-bottom: calc(-1 * var(--eu-teaser-cut));
	/* On the left in line with the page content. */
	padding: clamp(3rem, 8vw, 8rem) clamp(1.5rem, 5vw, 5.5rem) calc(var(--eu-teaser-cut) * 3.4) max(var(--eu-pad), calc(100% - var(--wp--style--global--wide-size) / 2));
	background: var(--eu-darkred);
	clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--eu-teaser-cut)), 33% 100%, 0 calc(100% - var(--eu-teaser-cut) * 3.6));
}
.wp-block-media-text.is-style-eu-teaser > .wp-block-media-text__content > * { max-width: 36rem; }
.is-style-eu-teaser .eu-kicker { margin: 0; color: #fff; }
.is-style-eu-teaser .is-style-eu-plain { margin: .35rem 0 1.25rem; color: #fff; }
.is-style-eu-teaser p:not(.eu-kicker) { font-size: clamp(1.0625rem, 1.4vw, 1.3rem); line-height: 1.6; }
.is-style-eu-teaser .wp-block-buttons { margin-top: 1.75rem; }
/* The white, round button of the original. */
.is-style-eu-teaser .wp-block-button__link {
	padding: .65em 1.1em;
	border-radius: 999px;
	background: #fff;
	color: var(--eu-red);
	font-weight: 500;
}
.is-style-eu-teaser .wp-block-button__link:is(:hover, :focus-visible) { background: var(--eu-red); color: #fff; }
.wp-block-media-text.is-style-eu-teaser > .wp-block-media-text__media { min-height: 16rem; }
/*
 * Income and donations (Transparenz): a grey box with tables in the style
 * "Abrechnung": label left, amount right, red square per row, total below.
 */
.eu-finances { margin-bottom: clamp(3rem, 6vw, 4.5rem); }
.eu-finances > .eu-section-head__text { margin-bottom: clamp(1.25rem, 3vw, 2rem); }
.eu-finances__box {
	padding: clamp(1.25rem, 4vw, 2.5rem);
	background: var(--eu-light);
	border-left: 4px solid var(--eu-darkgreen);
}
.eu-finances__box > * + * { margin-block-start: 1rem; }
.eu-finances__box > h3 { margin: 0 0 .75rem; font: 900 clamp(1.3rem, 2.2vw, 1.75rem)/1.2 var(--eu-display); hyphens: auto; }
.eu-finances__box > h3:not(:first-child) { margin-top: clamp(2rem, 4vw, 2.75rem); }
.eu-finances__draft {
	margin: 0 0 1.25rem;
	padding: .75rem 1rem;
	border: 2px dashed var(--eu-violet);
	color: var(--eu-violet);
	font-size: .9rem;
	font-weight: 600;
}
.wp-block-table.is-style-eu-ledger { margin-block: .5rem 1.25rem; overflow: visible; }
.wp-block-table.is-style-eu-ledger table { table-layout: auto; width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.wp-block-table.is-style-eu-ledger :is(td, th) {
	padding: .5rem 0;
	border: 0;
	border-bottom: 1px solid var(--eu-line);
	vertical-align: top;
	text-align: left;
}
.wp-block-table.is-style-eu-ledger :is(td, th):first-child { position: relative; padding-left: 1.1rem; }
.wp-block-table.is-style-eu-ledger tbody :is(td, th):first-child::before {
	content: "";
	position: absolute;
	top: calc(.5rem + .55em);
	left: 0;
	width: .45rem;
	height: .45rem;
	background: var(--eu-red);
}
.wp-block-table.is-style-eu-ledger :is(td, th):last-child:not(:first-child) { padding-left: 1rem; text-align: right; white-space: nowrap; }
.wp-block-table.is-style-eu-ledger tfoot { border-top: 0; }
.wp-block-table.is-style-eu-ledger tfoot :is(td, th) { border-top: 2px solid var(--eu-black); border-bottom: 0; font-weight: 800; }

/*
 * Topic cards (Cover, style "Themenkarte"), after the topic cards on
 * die-linke.de: tall photo, dark fade at the bottom, red label, white
 * headline. The headline link covers the whole card.
 */
.wp-block-group.eu-topic-cards { gap: clamp(.5rem, 1vw, .75rem); }
.wp-block-cover.is-style-eu-topic {
	position: relative;
	overflow: hidden;
	aspect-ratio: 2 / 3;
	min-height: 0;
	margin: 0;
	padding: 0;
}
.wp-block-cover.is-style-eu-topic .wp-block-cover__image-background { transition: transform .6s var(--eu-ease); }
.wp-block-cover.is-style-eu-topic:is(:hover, :focus-within) .wp-block-cover__image-background { transform: scale(1.05); }
/* The text layer fills the card, so the stretched title link covers all of it. */
.wp-block-cover.is-style-eu-topic .wp-block-cover__inner-container {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: flex-start;
	width: auto;
	padding: clamp(1.25rem, 3vw, 3.25rem);
}
.is-style-eu-topic .eu-topic__tag {
	display: inline-block;
	margin: 0 0 .35rem;
	padding: .05em .3em;
	background: var(--eu-red);
	color: #fff;
	font: 300 clamp(1.05rem, 1.6vw, 1.4rem)/1.25 var(--eu-display);
}
.is-style-eu-topic .eu-topic__title {
	margin: 0;
	color: #fff;
	font: 900 clamp(1.5rem, 2.4vw, 2.2rem)/1.15 var(--eu-display);
	letter-spacing: -.01em;
	hyphens: auto;
}
.is-style-eu-topic .eu-topic__title a:is(*, :hover, :focus-visible) { color: #fff; text-decoration: none; }
.is-style-eu-topic .eu-topic__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.is-style-eu-topic:hover .eu-topic__title a { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: .15em; }
.is-style-eu-topic .eu-topic__title a:focus-visible { outline: none; }
.wp-block-cover.is-style-eu-topic:has(.eu-topic__title a:focus-visible) { outline: 3px solid var(--eu-red); outline-offset: 3px; }
/* Phones: one card per row, less tall. */
@media (max-width: 600px) {
	.wp-block-cover.is-style-eu-topic { aspect-ratio: 4 / 3; }
}
@media (prefers-reduced-motion: reduce) {
	.wp-block-cover.is-style-eu-topic .wp-block-cover__image-background { transition: none; }
}
@media (max-width: 600px) {
	.wp-block-media-text.is-style-eu-teaser { grid-template-columns: 100%; }
	.wp-block-media-text.is-style-eu-teaser > .wp-block-media-text__content { padding-top: 2.5rem; padding-right: var(--eu-pad); }
}

ul.is-style-eu-timeline { position: relative; margin-left: .6rem; padding: 0; list-style: none; border-left: 3px solid var(--eu-red); }
ul.is-style-eu-timeline > li { position: relative; padding: 0 0 2rem 2rem; }
ul.is-style-eu-timeline > li:last-child { padding-bottom: 0; }
ul.is-style-eu-timeline > li::before {
	content: "";
	position: absolute;
	left: -.7rem;
	top: .3rem;
	width: 1.1rem;
	height: 1.1rem;
	border: 3px solid var(--eu-red);
	background: #fff;
	transform: rotate(45deg) scale(.85);
}
ul.is-style-eu-timeline > li > strong:first-child { display: block; color: var(--eu-red); font: 900 1.5rem/1.2 var(--eu-display); }

ul.is-style-eu-squares { padding: 0; list-style: none; }
ul.is-style-eu-squares > li { position: relative; padding-left: 1.5rem; }
ul.is-style-eu-squares > li + li { margin-top: .6rem; }
ul.is-style-eu-squares > li::before {
	content: "";
	position: absolute;
	top: .55em;
	left: 0;
	width: .55em;
	height: .55em;
	background: var(--eu-red);
}
ul.is-style-eu-chips { display: flex; flex-wrap: wrap; gap: .75rem; padding: 0; list-style: none; }
ul.is-style-eu-chips > li { padding: .6rem 1rem; background: #fff; border: 2px solid var(--eu-black); box-shadow: var(--eu-shadow-sticker); font-weight: 600; }

.js .eu-reveal, .js .eu-cards > li {
	opacity: 0;
	transform: translateY(1.75rem);
	transition: opacity .8s var(--eu-ease), transform .8s var(--eu-ease);
	transition-delay: var(--eu-delay, 0s);
}
.js .eu-reveal.is-visible, .js .eu-cards > li.is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	.js .eu-reveal, .js .eu-cards > li { opacity: 1; transform: none; transition: none; }
	*, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}

@media print {
	.eu-site-header, .eu-site-footer, .eu-share, .eu-related { display: none !important; }
}
