/* Base *//*
 * Design tokens (spacing scale, heading rhythm, container margin) as CSS
 * custom properties, scoped to #page/.editor-styles-wrapper rather than
 * :root since a `@container page (...)` block only affects descendants of
 * that container.
 *
 * The tablet-down/mobile blocks below cascade rather than use exclusive
 * ranges - at widths <= 568px both match, and mobile wins by coming later
 * in source order.
 */

#page,
.editor-styles-wrapper {
	/* Spacing scale (desktop values). Backed by theme.json's */

	/* settings.spacing.spacingSizes preset scale where a slug matches */

	/* exactly; --space-xxl (5rem) falls between slugs 110 (4.75rem) and */

	/* 120 (6rem) so it stays a literal rather than adding an odd-numbered */

	/* slug to the editor's spacing picker. */
	--space-xs: var(--wp--preset--spacing--20);
	--space-sm: var(--wp--preset--spacing--40);
	--space-md: var(--wp--preset--spacing--50);
	--space-lg: var(--wp--preset--spacing--60);
	--space-xxl: 5rem;

	/* Heading vertical rhythm (desktop values) */
	--h1-mt: var(--wp--preset--spacing--90);
	--h1-mb: var(--wp--preset--spacing--90);
	--h2-mt: var(--wp--preset--spacing--100);
	--h2-mb: var(--wp--preset--spacing--60);
	--h3-mt: var(--wp--preset--spacing--100);
	--h3-mb: var(--wp--preset--spacing--60);
	--h4-mt: var(--wp--preset--spacing--100);
	--h4-mb: var(--wp--preset--spacing--50);

	--container-margin: var(--wp--preset--spacing--60);

	/* RGB triplets for palette colors that need alpha compositing via */

	/* rgba(var(--color-x-rgb), alpha) - WP only generates the hex custom */

	/* properties, so colors used with transparency need a component form. */
	--color-secondary-rgb: 238, 0, 255;
	--color-bg-primary-rgb: 241, 241, 241;
	--color-text-rgb: 0, 0, 0;
}

@container page (max-width: 59rem) {
	#page,
	.editor-styles-wrapper {
		/* --space-sm/md and --h4-mb have no matching spacingSizes slug at */

		/* this breakpoint (0.875rem, 1.25rem) and stay literal. */
		--space-xs: var(--wp--preset--spacing--20);
		--space-sm: 0.875rem;
		--space-md: 1.25rem;
		--space-lg: var(--wp--preset--spacing--50);
		--space-xxl: var(--wp--preset--spacing--100);

		--h1-mt: var(--wp--preset--spacing--90);
		--h1-mb: var(--wp--preset--spacing--50);
		--h2-mt: var(--wp--preset--spacing--90);
		--h2-mb: var(--wp--preset--spacing--50);
		--h3-mt: var(--wp--preset--spacing--90);
		--h3-mb: var(--wp--preset--spacing--50);
		--h4-mt: var(--wp--preset--spacing--90);
		--h4-mb: 1.25rem;

		--container-margin: var(--wp--preset--spacing--50);
	}
}

@container page (max-width: 35.5rem) {
	#page,
	.editor-styles-wrapper {
		/* --space-lg/xxl and most heading values have no matching slug at */

		/* this breakpoint and stay literal. */
		--space-xs: var(--wp--preset--spacing--10);
		--space-sm: var(--wp--preset--spacing--30);
		--space-md: var(--wp--preset--spacing--40);
		--space-lg: 1.25rem;
		--space-xxl: 2.5rem;

		--h1-mt: var(--wp--preset--spacing--60);
		--h1-mb: 1.25rem;
		--h2-mt: 2.5rem;
		--h2-mb: 1.25rem;
		--h3-mt: 2.5rem;
		--h3-mb: 1.25rem;
		--h4-mt: 2.5rem;
		--h4-mb: var(--wp--preset--spacing--40);

		--container-margin: var(--wp--preset--spacing--40);
	}
}

/* Base styles */

/* Typography System */

/* Shared typography rules for both frontend and editor */

/* Nesting (&, &:hover, &:has()) is flattened by postcss-nested. See */

/* postcss/postcss-container-media.cjs for why @container (not @media) */

/* is used for these breakpoints. */

body h1 {
		font-family: var(--wp--preset--font-family--headings);
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--xxx-large);
		margin-top: var(--h1-mt);
		margin-bottom: var(--h1-mb);
	}

body h2 {
		font-family: var(--wp--preset--font-family--headings);
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--xx-large);
		margin-top: var(--h2-mt);
		margin-bottom: var(--h2-mb);
	}

body h3 {
		font-family: var(--wp--preset--font-family--headings);
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--x-large);
		margin-top: var(--h3-mt);
		margin-bottom: var(--h3-mb);
	}

body h4 {
		font-family: var(--wp--preset--font-family--headings);
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--large);
		margin-top: var(--h4-mt);
		margin-bottom: var(--h4-mb);
	}

body h5 {
		font-family: var(--wp--preset--font-family--headings);
		color: var(--wp--preset--color--primary);
		font-size: var(--wp--preset--font-size--medium);
		margin-top: var(--space-md);
		margin-bottom: var(--space-sm);
	}

body h6 {
		font-family: var(--wp--preset--font-family--headings);
		color: var(--wp--preset--color--primary);
		font-size: 1rem;
		margin-top: var(--space-sm);
		margin-bottom: var(--space-xs);
	}

body {
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--medium);
}

/* Paragraphs */

body p {
		font-family: var(--wp--preset--font-family--body);
		font-size: var(--wp--preset--font-size--medium);
		margin-bottom: var(--space-md);
	}

/* Small text */

body small,
	body .small-text {
		font-size: 0.875rem;
	}

/* Links */

body a {
		text-decoration: underline;
		transition: all 0.2s ease;
	}

body a:hover {
			background-color: var(--wp--preset--color--primary);
			color: var(--wp--preset--color--text-inverse);
		}

body a:active,
		body a:focus {
			color: var(--wp--preset--color--primary);
		}

body a:hover:focus {
			color: var(--wp--preset--color--text-inverse);
		}

/* Override for links containing images */

body a:has(img):hover {
				background-color: transparent;
				color: inherit;
			}

/* Blockquotes */

body blockquote {
		border-left: none;
		font-family: var(--wp--preset--font-family--body);
		font-size: var(--wp--preset--font-size--medium);
		padding-left: var(--space-md);
		margin-top: var(--space-lg);
		margin-bottom: var(--space-lg);
	}

body blockquote p {
			margin-bottom: 0.75rem;
			font-style: italic;
		}

body blockquote p:last-child {
				margin-bottom: 0;
			}

body blockquote cite {
			display: block;
			font-style: bold;
			margin-top: 0.75rem;
			font-size: 0.875rem;
		}

/* Lists */

body ul,
	body ol {
		font-family: var(--wp--preset--font-family--body);
		margin-top: 0;
		font-size: var(--wp--preset--font-size--medium);
		margin-bottom: var(--space-md);
		padding-left: var(--space-lg);
	}

body ul li, body ol li {
			font-family: var(--wp--preset--font-family--body);
			margin-bottom: 0.5rem;
		}

@container page (min-width: 35.5625rem) and (max-width: 59rem) {

body ul li, body ol li {
				margin-bottom: 0.4rem
		}
			}

@container page (max-width: 35.5rem) {

body ul li, body ol li {
				margin-bottom: 0.3rem
		}
			}

/* Form elements */

body button,
	body input,
	body select,
	body textarea {
		font-family: var(--wp--preset--font-family--body);
	}

/* Code */

body pre,
	body code {
		font-family: "Courier New", Courier, monospace;
	}

/* Body */

body code {
		background-color: rgba(0, 0, 0, 0.05);
		padding: 0.125rem 0.375rem;
		font-size: 0.9em;
	}

body pre {
		background-color: rgba(0, 0, 0, 0.05);
		overflow-x: auto;
		padding: var(--space-sm);
		margin-top: var(--space-md);
		margin-bottom: var(--space-md);
	}

body pre code {
			background-color: transparent;
			padding: 0;
			font-size: inherit;
		}

/* Text styling */

body strong,
	body b {
		font-weight: 700;
	}

body em,
	body i {
		font-style: italic;
	}

/* Horizontal Rule */

body hr {
		border: none;
		height: 2px;
		background-color: var(--wp--preset--color--text);
		margin-top: var(--space-lg);
		margin-bottom: var(--space-lg);
	}

/* Tables */

body table {
		width: 100%;
		border-collapse: collapse;
		margin-top: var(--space-md);
		margin-bottom: var(--space-md);
		font-size: var(--wp--preset--font-size--medium);
	}

body table th,
		body table td {
			border-bottom: 1px solid rgba(0, 0, 0, 0.1);
			padding: var(--space-xs);
		}

body table th {
			font-weight: 700;
			background-color: rgba(0, 0, 0, 0.03);
		}

body table tbody tr:hover {
			background-color: rgba(0, 0, 0, 0.02);
		}

/* Heading-like utility classes */
.like-h1 {
	font-family: var(--wp--preset--font-family--headings);
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--xxx-large);
	line-height: 1.3;
}

.like-h2 {
	font-family: var(--wp--preset--font-family--headings);
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 1.5;
}

.like-h3 {
	font-family: var(--wp--preset--font-family--headings);
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1.5;
}

.like-h4 {
	font-family: var(--wp--preset--font-family--headings);
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--large);
	line-height: 1.4;
}

.like-h5 {
	font-family: var(--wp--preset--font-family--headings);
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.5;
}

.like-h6 {
	font-family: var(--wp--preset--font-family--headings);
	font-weight: 500;
	color: var(--wp--preset--color--primary);
	font-size: 1rem;
	line-height: 1.5;
}

/* Accessibility Font Scaling (integrated with responsive design system) */

/* Accessibility styles */
.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
	border: 0;
}

/* Enhanced skip links */
.skip-link,
.acb-skip-links a,
.screen-reader-text {
	position: absolute !important;
	clip-path: inset(50%);
	width: 1px;
	height: 1px;
	overflow: hidden;
	left: -9999px;
	z-index: 999999;
	text-decoration: none;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--text-inverse);
	padding: 1rem 1.5rem;
	font-weight: 600;
	font-size: 16px;
	line-height: 1;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
	transition: all 0.3s ease;
}
.skip-link:focus, .acb-skip-links a:focus, .screen-reader-text:focus {
		clip-path: none !important;
		width: auto;
		height: auto;
		left: 20px;
		top: 20px;
		outline: 3px solid var(--wp--preset--color--text-inverse);
		outline-offset: 2px;
	}

/* Additional skip links for better navigation */
.acb-skip-links {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 999999;
}
.acb-skip-links a {
		margin-right: 0.5rem;
	}

/* Modern focus management - keyboard only focus outlines */

/* Remove default focus for all elements first */
* {
	outline: none;
}

/* Keyboard-only focus styles using :focus-visible */
:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
	transition:
		outline-color 0.2s ease,
		box-shadow 0.2s ease;
}

/* Enhanced focus styles for specific elements (keyboard only) */
a:focus-visible,
button:focus-visible,
[tabindex]:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
	transition:
		outline-color 0.2s ease,
		box-shadow 0.2s ease;
}

/* Form elements should always show focus (for usability) */
input:focus,
textarea:focus,
select:focus,
[contenteditable]:focus {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
	border-color: var(--wp--preset--color--primary);
}

/* WordPress block buttons (keyboard only) */
.wp-block-button__link:focus-visible {
	outline: 3px solid var(--wp--preset--color--text-inverse);
	outline-offset: 3px;
	box-shadow: 0 0 0 1px var(--wp--preset--color--primary);
}

/* Custom elements (keyboard only) */
.custom-select-button:focus-visible,
.custom-select-option:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
}

/* High contrast focus for dark backgrounds (keyboard only) */
.has-background .wp-block-button__link:focus-visible,
[class*="bg-"]:focus-visible,
.wp-block-cover *:focus-visible {
	outline: 3px solid var(--wp--preset--color--secondary);
	box-shadow: 0 0 0 1px var(--wp--preset--color--primary);
}

/* Navigation (keyboard only) */
.main-navigation a:focus-visible,
.menu-item a:focus-visible {
	outline: 3px solid var(--wp--preset--color--primary);
	outline-offset: 2px;
	background-color: rgba(189, 66, 0, 0.1);
	text-decoration: underline;
}

/* Search results heading - programmatic focus only (no visible outline) */
#search-results-heading:focus {
		outline: none;
	}

/* Fallback for browsers that don't support :focus-visible */
@supports not selector(:focus-visible) {
	/* Only show focus for keyboard navigation elements */
	a:focus,
	button:focus,
	[tabindex]:focus,
	input:focus,
	textarea:focus,
	select:focus,
	[contenteditable]:focus {
		outline: 3px solid var(--wp--preset--color--primary);
		outline-offset: 2px;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
	}

	/* Specific styling for different elements */
	.wp-block-button__link:focus {
		outline: 3px solid var(--wp--preset--color--text-inverse);
		outline-offset: 3px;
		box-shadow: 0 0 0 1px var(--wp--preset--color--primary);
	}

	.custom-select-button:focus,
	.custom-select-option:focus {
		outline: 3px solid var(--wp--preset--color--primary);
		outline-offset: 2px;
		box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.8);
	}

	.main-navigation a:focus,
	.menu-item a:focus {
		outline: 3px solid var(--wp--preset--color--primary);
		outline-offset: 2px;
		background-color: rgba(189, 66, 0, 0.1);
		text-decoration: underline;
	}
}
/**
 * Respect the browser/OS "reduce motion" preference everywhere.
 * Collapses all CSS transitions/animations to effectively instant and
 * forces scroll-behavior to auto, without removing the underlying
 * transform/state changes (so interactions still work, just without motion).
 */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}
/* Custom Post Types - imports all CPT-related styles */

/* Generic/default styles, shared across all CPTs */

/* Post Grid */
.post-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--wp--preset--spacing--50);
}

/* Responsive styles for post grid */
@container page (max-width: 59rem) {
	.post-grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--wp--preset--spacing--60);
	}
}

@container page (max-width: 35.5rem) {
	.post-grid {
		grid-template-columns: 1fr;
	}
}

/* Post Card Component */
.post-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--bg-primary);
	box-shadow: 0 2px 6px 0 #dedede;
	transition: box-shadow 0.3s ease;
	height: 100%;

	/* Lets descendants query the card's own width (see @container post-card rules below), */

	/* independent of viewport — needed when the card is placed in a narrower context (e.g. sidebar) */
	container-type: inline-size;
	container-name: post-card;
}
.post-card:hover {
		box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.15);
	}
/* Ribbon label (format/event type) */
.post-card__ribbon {
		position: absolute;
		top: 0.75rem;
		left: 0.75rem;
		background-color: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--text-inverse);
		padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--30);
		font-size: 0.875rem;
		font-weight: 700;
		z-index: 2;
	}
/* Featured image */
.post-card__image {
		position: relative;
		width: 100%;
		aspect-ratio: 15 / 8; /* 368×196 display size */
		overflow: hidden;
		background-color: var(--wp--preset--color--bg-secondary);
	}
.post-card__image img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.3s ease;
		}
.post-card:hover .post-card__image img {
		transform: scale(1.05);
	}
/* Content wrapper */
.post-card__content {
		display: flex;
		flex-direction: column;
		flex: 1;
		padding: var(--wp--preset--spacing--50);
		gap: var(--wp--preset--spacing--30);
	}
/* Post title */
.post-card__title {
		font-size: 1.25rem;
		font-weight: 700;
		color: var(--wp--preset--color--secondary);
		margin: 0;
		line-height: 1.3;
	}
/* Date */
.post-card__date {
		font-size: 0.875rem;
		color: var(--wp--preset--color--text);
	}
/* Taxonomy terms */
.post-card__terms {
		display: flex;
		flex-direction: column;
		gap: var(--wp--preset--spacing--20);
	}
.post-card__terms-row {
		display: flex;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--20);
	}
.post-card__term {
		display: inline-flex;
		align-items: center;
		padding: 0.2rem 0.75rem;
		border-radius: 999px;
		background-color: var(--wp--preset--color--bg-primary);
		color: var(--wp--preset--color--primary);
		border: 1px solid var(--wp--preset--color--primary);
		font-size: 0.75rem;
		font-weight: 700;
	}
.post-card__term--thema,
		.post-card__term--accent {
			color: var(--wp--preset--color--secondary);
			border-color: var(--wp--preset--color--secondary);
		}
/* Excerpt */
.post-card__excerpt {
		font-size: var(--wp--preset--font-size--small);
		color: var(--wp--preset--color--text);
		line-height: 1.5;
		flex: 1;
	}
/* Button wrapper */
.post-card__button-wrapper {
		margin-top: auto;
		padding-top: var(--wp--preset--spacing--20);
	}
/* Button */
.post-card__button {
		display: inline-flex;
		align-items: center;
		gap: var(--wp--preset--spacing--20);
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
		background-color: var(--wp--preset--color--secondary);
		color: var(--wp--preset--color--text-inverse);
		text-decoration: none;
		font-weight: 700;
		transition:
			background-color 0.3s ease,
			transform 0.2s ease;
	}
.post-card__button:hover,
		.post-card__button:focus {
			background-color: var(--wp--preset--color--primary);
			text-decoration: none;
		}
.post-card__button:focus {
			outline: 2px solid var(--wp--preset--color--primary);
			outline-offset: 2px;
		}
/* Icon (external link) */
.post-card__icon {
		display: inline-flex;
		align-items: center;
	}
.post-card__icon svg {
			width: 16px;
			height: 16px;
			fill: currentcolor;
		}
.post-card__icon--external {
			margin-left: var(--wp--preset--spacing--10);
		}

/* Responsive styles */
@container page (max-width: 59rem) {
		.post-card__content {
			padding: 1.25rem;
			gap: var(--wp--preset--spacing--20);
		}

		.post-card__button {
			padding: 0.625rem 1.25rem;
		}
}

@container page (max-width: 35.5rem) {
		.post-card__content {
			padding: var(--wp--preset--spacing--40);
		}

		.post-card__button {
			padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
			width: 100%;
			justify-content: center;
		}

		.post-card__ribbon {
			padding: 0.2rem var(--wp--preset--spacing--20);
		}
}

/* Generic filter container - works with any CPT */

.acb-filter-container .page-title, .page-template-page-filter .page-title {
		text-align: center;
	}

.acb-filter-container #toggle-filters, .page-template-page-filter #toggle-filters {
		display: flex;
		justify-content: space-between;
		align-items: center;
		background: none;
		border: none;
		width: 100%;
		padding: 0.5em 0;
		color: var(--wp--preset--color--text);
		border-bottom: 0.125rem solid var(--wp--preset--color--secondary);
		margin-top: 2.5rem;
		margin-bottom: 1.6875rem;
	}

.acb-filter-container #toggle-filters .label, .page-template-page-filter #toggle-filters .label {
			font-size: var(--wp--preset--font-size--large);
		}

.acb-filter-container #toggle-filters .chevron, .page-template-page-filter #toggle-filters .chevron {
			position: relative;
			top: 4px;
			width: 1.875rem;
			height: 1.125rem;
			transition: transform 0.3s ease;
		}

.acb-filter-container #toggle-filters[aria-expanded="false"] .chevron, .page-template-page-filter #toggle-filters[aria-expanded="false"] .chevron {
				transform: rotate(180deg);
			}

.acb-filter-container #toggle-filters[aria-expanded="true"] .chevron, .page-template-page-filter #toggle-filters[aria-expanded="true"] .chevron {
				transform: rotate(0deg);
			}

/* Active filter tags */

.acb-filter-container .acb-filter__active-container, .page-template-page-filter .acb-filter__active-container {
		margin-bottom: var(--wp--preset--spacing--60);
	}

.acb-filter-container .acb-filter__active-container[style*="display: none"],
		.acb-filter-container .acb-filter__active-container.hidden,
		.page-template-page-filter .acb-filter__active-container[style*="display: none"],
		.page-template-page-filter .acb-filter__active-container.hidden {
			display: none;
		}

.acb-filter-container .acb-filter__active-container .acb-filter__active-wrapper, .page-template-page-filter .acb-filter__active-container .acb-filter__active-wrapper {
			display: flex;
			align-items: center;
			gap: var(--wp--preset--spacing--40);
			flex-wrap: wrap;
		}

.acb-filter-container .acb-filter__active-container .acb-filter__active-label, .page-template-page-filter .acb-filter__active-container .acb-filter__active-label {
			font-weight: 700;
			color: var(--wp--preset--color--text);
			margin-right: var(--wp--preset--spacing--20);
		}

.acb-filter-container .acb-filter__active-container .acb-filter__active-tags, .page-template-page-filter .acb-filter__active-container .acb-filter__active-tags {
			display: flex;
			gap: var(--wp--preset--spacing--20);
			flex-wrap: wrap;
			align-items: center;
		}

.acb-filter-container .acb-filter__active-container .acb-filter__tag, .page-template-page-filter .acb-filter__active-container .acb-filter__tag {
			display: inline-flex;
			align-items: center;
			gap: var(--wp--preset--spacing--100);
			padding: 0.375rem var(--wp--preset--spacing--30);
			background-color: transparent;
			color: var(--wp--preset--color--secondary);
			border: 2px solid var(--wp--preset--color--secondary);
			cursor: pointer;
			font-weight: 700;
		}

.acb-filter-container .acb-filter__active-container .acb-filter__tag svg, .page-template-page-filter .acb-filter__active-container .acb-filter__tag svg {
				width: 12px;
				height: 12px;
				flex-shrink: 0;
			}

.acb-filter-container .acb-filter__active-container .acb-filter__tag svg path, .page-template-page-filter .acb-filter__active-container .acb-filter__tag svg path {
					fill: currentcolor;
				}

.acb-filter-container .acb-filter__active-container .acb-filter__tag span, .page-template-page-filter .acb-filter__active-container .acb-filter__tag span {
				display: -webkit-box;
				-webkit-box-orient: vertical;
				-webkit-line-clamp: 2;
				overflow: hidden;
				text-overflow: ellipsis;
				overflow-wrap: anywhere;
				text-align: left;
			}

/* Shared between filter columns and .acb-filter__actions-right */

.acb-filter-container label.toggle-switch, .page-template-page-filter label.toggle-switch {
		display: inline-flex;
		align-items: center;
		cursor: pointer;
		font-size: var(--wp--preset--font-size--medium);
		-webkit-user-select: none;
		        user-select: none;
	}

.acb-filter-container label.toggle-switch input[type="checkbox"], .page-template-page-filter label.toggle-switch input[type="checkbox"] {
			display: none;
		}

.acb-filter-container label.toggle-switch .switch-slider, .page-template-page-filter label.toggle-switch .switch-slider {
			width: 52px;
			height: 32px;
			background-color: var(--wp--preset--color--bg-primary);
			border-radius: 999px;
			border: 1px solid var(--wp--preset--color--secondary);
			position: relative;
			margin-right: var(--wp--preset--spacing--40);
		}

.acb-filter-container label.toggle-switch .switch-slider::before, .page-template-page-filter label.toggle-switch .switch-slider::before {
				content: "";
				position: absolute;
				width: 24px;
				height: 24px;
				left: 3px;
				top: 3px;
				background: var(--wp--preset--color--secondary);
				border-radius: 50%;
				transition: transform 0.3s;
			}

.acb-filter-container label.toggle-switch input[type="checkbox"]:checked + .switch-slider, .page-template-page-filter label.toggle-switch input[type="checkbox"]:checked + .switch-slider {
			background-color: var(--wp--preset--color--primary);
			border: 1px solid var(--wp--preset--color--primary);
		}

.acb-filter-container label.toggle-switch input[type="checkbox"]:checked + .switch-slider::before, .page-template-page-filter label.toggle-switch input[type="checkbox"]:checked + .switch-slider::before {
			transform: translateX(20px);
			background-color: var(--wp--preset--color--bg-primary);
		}

/* Toggle switch for boolean filters (e.g. "Vergangene Veranstaltungen anzeigen") */

.acb-filter-container #filter-form, .page-template-page-filter #filter-form {
		margin-bottom: 75px;
	}

.acb-filter-container #filter-form.collapsed, .page-template-page-filter #filter-form.collapsed {
			display: none;
		}

/* Search gets its own row in every CPT filter */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--search, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--search {
			/* Full-width column forces the own row, right padding keeps the field narrow */
			flex: 0 0 100%;
			box-sizing: border-box;
			padding-right: calc(50% + var(--wp--preset--spacing--60) / 2);
		}

@container page (max-width: 59rem) {

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--search, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--search {
				padding-right: 0
		}
			}

.acb-filter-container #filter-form .acb-filter__row, .page-template-page-filter #filter-form .acb-filter__row {
			display: flex;
			flex-wrap: wrap;
			gap: var(--wp--preset--spacing--60);
			margin-bottom: var(--wp--preset--spacing--60);
		}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col {
				display: flex;
				flex-direction: column;
				flex: 1;
				justify-content: end;
				min-width: 0;
			}

/* Date inputs share the look of the custom selects */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col input[type="date"], .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col input[type="date"] {
					width: 100%;
					box-sizing: border-box;
					margin: 13px 0 0;
					padding: 5px 10px 6px 10px;
					font-family: inherit;
					font-size: var(--wp--preset--font-size--medium);
					color: var(--wp--preset--color--text);
					background: var(--wp--preset--color--text-inverse);
					border: 1px solid var(--wp--preset--color--primary);
					border-radius: 14px;
				}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col input[type="date"]:focus, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col input[type="date"]:focus {
						outline: 2px solid var(--wp--preset--color--primary);
						border-color: var(--wp--preset--color--primary);
					}

/* Boolean switch sits in its own row below the other fields */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--toggle, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--toggle {
					flex: 0 0 100%;
					order: 1;
				}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col label, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col label {
					font-weight: 700;
				}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper {
					position: relative;
				}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper input, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper input {
						width: 100%;
						box-sizing: border-box;
						padding: 5px 10px 6px 2.4rem;
						margin: 13px 0 0;
						font-family: inherit;
						font-size: var(--wp--preset--font-size--medium);
						color: var(--wp--preset--color--text);
						background: var(--wp--preset--color--text-inverse);
						border: 1px solid var(--wp--preset--color--primary);
						border-radius: 14px;
						position: relative;
						z-index: 1;
					}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper input:focus, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper input:focus {
							background-color: var(--wp--preset--color--bg-primary);
							outline: 2px solid var(--wp--preset--color--primary);
							outline-offset: -1px;
							border-color: var(--wp--preset--color--primary);
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper input ::placeholder, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper input ::placeholder {
							color: var(--wp--preset--color--text);
							opacity: 1;
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper svg, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .search-input-wrapper svg {
						position: absolute;
						height: 100%;
						width: 21px;
						margin-left: var(--wp--preset--spacing--20);
						margin-top: 5px;
						z-index: 2;
					}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper {
					position: relative;
					display: inline-block;
					width: 100%;
					max-width: 100%;
					box-sizing: border-box;
				}

/* Hide original select but keep it for accessibility */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper select, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper select {
						position: absolute;
						opacity: 0;
						pointer-events: none;
						z-index: -1;
						width: 100%;
						margin: 13px 0 0;
						padding: 5px 5px 6px 10px;
						border-radius: 10px;
						border: solid 2px var(--wp--preset--color--secondary);
						font-size: var(--wp--preset--font-size--medium);
					}

/* Custom dropdown button */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button {
						width: 100%;
						max-width: 100%;
						display: flex;
						align-items: center;
						padding: 5px 10px 6px 10px;
						margin: 13px 0 0;
						cursor: pointer;
						font-size: var(--wp--preset--font-size--medium);
						color: var(--wp--preset--color--text);
						text-align: left;
						box-sizing: border-box;
						background: var(--wp--preset--color--text-inverse);
						border: 1px solid var(--wp--preset--color--primary);
						border-radius: 14px;
						transition:
							border-color 0.2s ease,
							box-shadow 0.2s ease;
					}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button:focus, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button:focus {
							outline: 2px solid var(--wp--preset--color--primary);
							border-color: var(--wp--preset--color--primary);
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button[aria-expanded="true"], .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button[aria-expanded="true"] {
							border-color: var(--wp--preset--color--primary);
							box-shadow: 0 0 0 1px var(--wp--preset--color--primary);
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button[aria-expanded="true"] .custom-arrow, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button[aria-expanded="true"] .custom-arrow {
								transform: rotate(180deg);
							}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button .custom-select-text, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button .custom-select-text {
							flex: 1;
							min-width: 0;
							overflow: hidden;
							text-overflow: ellipsis;
							white-space: nowrap;
							color: var(--wp--preset--color--text);
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-arrow, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-arrow {
						pointer-events: none;
						transition: transform 0.3s ease;
						color: var(--wp--preset--color--secondary);
						-webkit-user-select: none;
						        user-select: none;
						margin-left: 10px;
						flex-shrink: 0;
						width: 20px;
						text-align: center;
					}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-arrow path, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-arrow path {
							fill: none;
							stroke: #00285a;
							stroke-linecap: round;
							stroke-width: 2px;
						}

/* Custom dropdown list */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown {
						position: absolute;
						top: 100%;
						left: 0;
						right: 0;
						z-index: 1000;
						background: var(--wp--preset--color--text-inverse);
						box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
						max-height: 200px;
						overflow-y: auto;
						margin-top: 2px;
						display: none;
					}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown.open, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown.open {
							display: block;
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option {
							padding: 10px var(--wp--preset--spacing--30);
							cursor: pointer;
							font-size: var(--wp--preset--font-size--medium);
							color: var(--wp--preset--color--text);
							background: var(--wp--preset--color--text-inverse);
							border: none;
							width: 100%;
							text-align: left;
							transition: background-color 0.2s ease;
							display: flex;
							align-items: center;
							gap: var(--wp--preset--spacing--20);
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option:hover,
							.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option:focus,
							.page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option:hover,
							.page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option:focus {
								background-color: var(--wp--preset--color--bg-secondary);
								outline: none;
							}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option.selected, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option.selected {
								background-color: var(--wp--preset--color--bg-secondary);
								color: var(--wp--preset--color--text);
							}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option.highlighted, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option.highlighted {
								background-color: var(--wp--preset--color--bg-secondary);
							}

/* Checkbox styles for multiple select */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox {
								appearance: none;
								width: 18px;
								height: 18px;
								border: 2px solid var(--wp--preset--color--secondary);
								border-radius: 3px; /* override global input[type] radius */
								background: var(--wp--preset--color--text-inverse);
								cursor: pointer;
								position: relative;
								flex-shrink: 0;
								transition:
									background-color 0.2s ease,
									border-color 0.2s ease;
								pointer-events: none; /* Let parent button handle all clicks */
							}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox:checked, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox:checked {
									background-color: var(--wp--preset--color--secondary);
									border-color: var(--wp--preset--color--secondary);
								}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox:checked::after, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox:checked::after {
										content: "";
										position: absolute;
										left: 5px;
										top: 2px;
										width: 4px;
										height: 8px;
										border: solid var(--wp--preset--color--text-inverse);
										border-width: 0 2px 2px 0;
										transform: rotate(45deg);
									}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox:focus, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox:focus {
									outline: 2px solid var(--wp--preset--color--primary);
									outline-offset: 1px;
								}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-label, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-label {
								flex: 1;
								-webkit-user-select: none;
								        user-select: none;
							}

/* Button grid display */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons {
					flex: 1 1 100%;
					max-width: 100%;
				}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-label, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-label {
						margin-bottom: var(--wp--preset--spacing--40);
					}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid {
						display: flex;
						flex-wrap: wrap;
						gap: var(--wp--preset--spacing--70);
					}

@container page (max-width: 35.5rem) {

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid {
							gap: var(--wp--preset--spacing--40)
					}
						}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button {
							background-color: var(--wp--preset--color--bg-primary);
							border: 2px solid var(--wp--preset--color--secondary);
							color: var(--wp--preset--color--text);
							font-size: var(--wp--preset--font-size--small);
							cursor: pointer;
							transition: all 0.2s ease;
							text-align: center;
							position: relative;
							padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
							white-space: nowrap;
						}

@container page (max-width: 35.5rem) {

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button {
								padding: 0.6rem 1.2rem
						}
							}

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button.active,
							.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button:hover,
							.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button:focus,
							.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button[aria-pressed="true"],
							.page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button.active,
							.page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button:hover,
							.page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button:focus,
							.page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons .acb-filter__buttons-grid .acb-filter__button[aria-pressed="true"] {
								background-color: var(--wp--preset--color--secondary);
								border-color: var(--wp--preset--color--secondary);
								color: var(--wp--preset--color--text-inverse);
							}

/* Hide the hidden input visually but keep accessible */

.acb-filter-container #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons input[type="hidden"], .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col.acb-filter__col--buttons input[type="hidden"] {
						position: absolute;
						left: -9999px;
					}

.acb-filter-container #filter-form .tag-row, .page-template-page-filter #filter-form .tag-row {
			display: flex;
			flex-wrap: wrap;
			gap: var(--wp--preset--spacing--60);
			margin-bottom: 3.4375rem;
			margin-top: 3.4375rem;
		}

.acb-filter-container #filter-form .tag-row .tag-toggle, .page-template-page-filter #filter-form .tag-row .tag-toggle {
				display: inline-flex;
				align-items: center;
				border: 1px solid var(--wp--preset--color--bg-secondary);
				padding: 2px var(--wp--preset--spacing--30);
				cursor: pointer;
				font-size: var(--wp--preset--font-size--medium);
				color: var(--wp--preset--color--text);
				background-color: var(--wp--preset--color--bg-secondary);
				transition:
					background-color 0.2s,
					color 0.2s,
					border-color 0.2s;
			}

.acb-filter-container #filter-form .tag-row .tag-toggle input, .page-template-page-filter #filter-form .tag-row .tag-toggle input {
					display: none;
				}

.acb-filter-container #filter-form .tag-row .tag-toggle span, .page-template-page-filter #filter-form .tag-row .tag-toggle span {
					pointer-events: none;
					font-size: var(--wp--preset--font-size--medium);
				}

.acb-filter-container #filter-form .tag-row .tag-toggle:has(input:checked), .page-template-page-filter #filter-form .tag-row .tag-toggle:has(input:checked) {
					background-color: var(--wp--preset--color--primary);
					color: var(--wp--preset--color--text-inverse);
					border-color: var(--wp--preset--color--primary);
				}

.acb-filter-container #filter-form .acb-filter__actions, .page-template-page-filter #filter-form .acb-filter__actions {
			display: flex;
			align-items: center;
			gap: var(--wp--preset--spacing--90);
			margin-top: 4rem;
		}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left {
				display: flex;
				gap: var(--wp--preset--spacing--100);
			}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left #submit-filters, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left #submit-filters {
					background-color: var(--wp--preset--color--secondary);
					color: var(--wp--preset--color--text-inverse);
					border: 2px solid var(--wp--preset--color--secondary);
					padding: var(--wp--preset--spacing--10) 23px var(--wp--preset--spacing--10);
					text-decoration: none;
					display: inline-block;
					font-family: inherit;
					font-size: var(--wp--preset--font-size--medium);
					font-weight: 700;
				}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left #submit-filters:hover, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left #submit-filters:hover {
						background-color: transparent;
						color: var(--wp--preset--color--secondary);
					}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters {
					display: none;
					background-color: transparent;
					color: var(--wp--preset--color--secondary);
					border: 0;
					padding: 0;
				}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters.hidden, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters.hidden {
						display: none;
					}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters svg, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters svg {
						position: relative;
						right: 10px;
					}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters svg path, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters svg path {
							fill: #4c0a41;
						}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters span, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters span {
						font-size: var(--wp--preset--font-size--medium);
						font-weight: 700;
					}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right {
				display: flex;
			}

.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch svg, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch svg {
						padding-left: 10px;
						width: 40px;
					}

.acb-filter-container .results-container, .page-template-page-filter .results-container {
		padding-bottom: var(--wp--preset--spacing--130);
		padding-top: 4.6875rem;
	}

@media (min-width: 59.0625rem) and (max-width: 75rem) {

.acb-filter-container .results-container, .page-template-page-filter .results-container {
			padding-left: var(--container-margin);
			padding-right: var(--container-margin)
	}
		}

@container page (max-width: 59rem) {

.acb-filter-container .results-container, .page-template-page-filter .results-container {
			padding-left: var(--container-margin);
			padding-right: var(--container-margin)
	}
		}

@container page (max-width: 35.5rem) {

.acb-filter-container .results-container, .page-template-page-filter .results-container {
			padding-left: var(--container-margin);
			padding-right: var(--container-margin)
	}
		}

.acb-filter-container .results-container #results-info, .page-template-page-filter .results-container #results-info {
			margin-bottom: 2.0625rem;
		}

.acb-filter-container .results-container #results-info.loading, .page-template-page-filter .results-container #results-info.loading {
				color: var(--wp--preset--color--text);
				font-weight: 500;
			}

.acb-filter-container .results-container #results-info.loading::after, .page-template-page-filter .results-container #results-info.loading::after {
					content: "...";
					animation: loading-dots 1.5s infinite;
				}

@keyframes loading-dots {
			0%,
			20% {
				content: ".";
			}

			40% {
				content: "..";
			}

			60%,
			100% {
				content: "...";
			}
		}

.acb-filter-container .results-container .load-more, .page-template-page-filter .results-container .load-more {
			text-align: center;
			padding-top: var(--wp--preset--spacing--60);
		}

.acb-filter-container .results-container .load-more #load-more, .page-template-page-filter .results-container .load-more #load-more {
				background-color: var(--wp--preset--color--primary);
				color: var(--wp--preset--color--text-inverse);
				border: 2px solid var(--wp--preset--color--primary);
				padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--50);
				text-decoration: none;
				display: inline-block;
				font-family: inherit;
				font-size: var(--wp--preset--font-size--medium);
				font-weight: 700;
			}

.acb-filter-container .results-container .load-more #load-more:hover, .page-template-page-filter .results-container .load-more #load-more:hover {
					background-color: transparent;
					color: var(--wp--preset--color--primary);
				}

.acb-filter-container .results-container .load-more #load-more.hidden, .page-template-page-filter .results-container .load-more #load-more.hidden {
					display: none;
				}

/* Pagination styles */

.acb-filter-container .results-container .filter-pagination, .page-template-page-filter .results-container .filter-pagination {
			padding-top: var(--wp--preset--spacing--60);
			text-align: center;
		}

.acb-filter-container .results-container .filter-pagination-nav, .page-template-page-filter .results-container .filter-pagination-nav {
			display: inline-block;
		}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list {
				display: flex;
				flex-direction: row;
				align-items: center;
				justify-content: center;
				gap: var(--wp--preset--spacing--40);
				list-style: none;
				padding: 0;
				margin: 0;
			}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item {
					list-style: none;
				}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item::before, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item::before {
						content: none;
					}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link {
						display: flex;
						align-items: center;
						justify-content: center;
						width: 32px;
						height: 32px;
						border-radius: 50%;
						border: 1px solid var(--wp--preset--color--primary);
						background: transparent;
						color: var(--wp--preset--color--text);
						font-size: var(--wp--preset--font-size--small);
						cursor: pointer;
						transition: all 0.2s ease;
						padding: 0;
					}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link:hover, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link:hover {
							background-color: var(--wp--preset--color--primary);
							color: var(--wp--preset--color--text-inverse);
						}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link:focus, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link:focus {
							outline: 2px solid var(--wp--preset--color--primary);
							outline-offset: 2px;
						}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link.current, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item .pagination-link.current {
							background-color: var(--wp--preset--color--primary);
							color: var(--wp--preset--color--text-inverse);
							cursor: default;
						}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link, .acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link {
							background-color: var(--wp--preset--color--primary) !important;
							color: var(--wp--preset--color--text-inverse);
							background-repeat: no-repeat;
							background-position: center;
							background-size: 16px 16px;
						}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link.pagination-arrow--prev, .acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link.pagination-arrow--prev, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link.pagination-arrow--prev, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link.pagination-arrow--prev {
								background-image: url(../images/icons/icon-arrow-left.svg);
							}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link.pagination-arrow--next, .acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link.pagination-arrow--next, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link.pagination-arrow--next, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link.pagination-arrow--next {
								background-image: url(../images/icons/icon-arrow-right.svg);
							}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link .screen-reader-text, .acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link .screen-reader-text, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-next .pagination-link .screen-reader-text, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-prev .pagination-link .screen-reader-text {
								position: absolute;
								width: 1px;
								height: 1px;
								padding: 0;
								margin: -1px;
								overflow: hidden;
								clip-path: inset(50%);
								white-space: nowrap;
								border-width: 0;
							}

.acb-filter-container .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-ellipsis span, .page-template-page-filter .results-container .filter-pagination-nav .pagination-list .pagination-item.pagination-ellipsis span {
							display: flex;
							align-items: center;
							justify-content: center;
							width: 40px;
							height: 40px;
							color: var(--wp--preset--color--text);
						}

/* Responsive styles for filter */

@container page (max-width: 59rem) {
		.acb-filter-container .acb-filter__section, .page-template-page-filter .acb-filter__section {
			background-image: none;
		}

		.acb-filter-container .page-title, .page-template-page-filter .page-title {
			line-height: 1.3;
		}

		.acb-filter-container #toggle-filters, .page-template-page-filter #toggle-filters {
			margin-top: var(--wp--preset--spacing--60);
			margin-bottom: var(--wp--preset--spacing--50);
		}

			.acb-filter-container #toggle-filters .label, .page-template-page-filter #toggle-filters .label {
				line-height: 1.5;
			}

			.acb-filter-container #toggle-filters .chevron, .page-template-page-filter #toggle-filters .chevron {
				width: 1.5rem;
				height: 1rem;
			}

		.acb-filter-container #filter-form, .page-template-page-filter #filter-form {
			margin-bottom: var(--wp--preset--spacing--90);
		}

			.acb-filter-container #filter-form .acb-filter__row, .page-template-page-filter #filter-form .acb-filter__row {
				gap: var(--wp--preset--spacing--30);
			}

				.acb-filter-container #filter-form .acb-filter__row .acb-filter__col, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col {
					min-width: 180px;
				}

			.acb-filter-container #filter-form .acb-filter__actions, .page-template-page-filter #filter-form .acb-filter__actions {
				flex-direction: column;
				gap: var(--wp--preset--spacing--50);
				align-items: stretch;
			}

				.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left {
					justify-content: center;
					gap: var(--wp--preset--spacing--40);
				}

					.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters {
						margin-left: 0;
					}

				.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right {
					flex-basis: auto;
					display: flex;
					justify-content: center;
				}
						.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch svg, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch svg {
							width: 35px;
						}

		.acb-filter-container #results-info, .page-template-page-filter #results-info {
			margin-top: var(--wp--preset--spacing--90);
			margin-bottom: var(--wp--preset--spacing--50);
			line-height: 1.5;
		}

		.acb-filter-container .load-more, .page-template-page-filter .load-more {
			padding-top: var(--wp--preset--spacing--40);
			padding-bottom: var(--wp--preset--spacing--90);
		}
	}

@container page (max-width: 35.5rem) {
		.acb-filter-container .page-title, .page-template-page-filter .page-title {
			line-height: 1.3;
		}

		.acb-filter-container #toggle-filters, .page-template-page-filter #toggle-filters {
			margin-top: var(--wp--preset--spacing--50);
			margin-bottom: 1.25rem;
		}

			.acb-filter-container #toggle-filters .label, .page-template-page-filter #toggle-filters .label {
				line-height: 1.5;
			}

			.acb-filter-container #toggle-filters .chevron, .page-template-page-filter #toggle-filters .chevron {
				width: 1.25rem;
				height: 0.875rem;
			}

		.acb-filter-container #filter-form, .page-template-page-filter #filter-form {
			margin-bottom: var(--wp--preset--spacing--60);
		}

			.acb-filter-container #filter-form .acb-filter__row, .page-template-page-filter #filter-form .acb-filter__row {
				flex-direction: column;
				gap: var(--wp--preset--spacing--40);
			}

				.acb-filter-container #filter-form .acb-filter__row .acb-filter__col, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col {
					min-width: auto;
					flex: none;
				}
						.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-button {
							padding: 6px 10px 7px 10px;
						}

						.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option {
							padding: var(--wp--preset--spacing--20) 10px;
						}

							.acb-filter-container #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox, .page-template-page-filter #filter-form .acb-filter__row .acb-filter__col .acb-filter__select-wrapper .custom-select-dropdown .custom-select-option .custom-select-checkbox {
								width: 16px;
								height: 16px;
							}

			.acb-filter-container #filter-form .tag-row, .page-template-page-filter #filter-form .tag-row {
				gap: var(--wp--preset--spacing--30);
				margin-bottom: var(--wp--preset--spacing--60);
				margin-top: var(--wp--preset--spacing--60);
			}

				.acb-filter-container #filter-form .tag-row .tag-toggle, .page-template-page-filter #filter-form .tag-row .tag-toggle {
					padding: var(--wp--preset--spacing--10) 10px;
				}

			.acb-filter-container #filter-form .acb-filter__actions, .page-template-page-filter #filter-form .acb-filter__actions {
				flex-direction: column;
				gap: var(--wp--preset--spacing--50);
				align-items: center;
			}

				.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left {
					flex-direction: column;
					gap: var(--wp--preset--spacing--40);
					width: 100%;
					align-items: center;
				}

					.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left #submit-filters, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left #submit-filters {
						width: 100%;
						max-width: 280px;
						text-align: center;
					}

					.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-left button#reset-filters {
						margin-left: 0;
					}

				.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right {
					flex-basis: auto;
					width: 100%;
					display: flex;
					justify-content: center;
				}

					.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch {
						flex-direction: column;
						text-align: center;
						gap: var(--wp--preset--spacing--20);
					}

						.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch .switch-slider, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch .switch-slider {
							margin-right: 0;
							margin-bottom: var(--wp--preset--spacing--20);
						}

						.acb-filter-container #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch svg, .page-template-page-filter #filter-form .acb-filter__actions .acb-filter__actions-right label.toggle-switch svg {
							width: 30px;
							padding-left: 0;
						}

		.acb-filter-container #results-info, .page-template-page-filter #results-info {
			margin-top: var(--wp--preset--spacing--60);
			margin-bottom: 1.25rem;
			text-align: center;
			line-height: 1.5;
		}

		.acb-filter-container .load-more, .page-template-page-filter .load-more {
			padding-top: var(--wp--preset--spacing--30);
			padding-bottom: var(--wp--preset--spacing--60);
		}
			.acb-filter-container .filter-pagination-nav .pagination-list, .page-template-page-filter .filter-pagination-nav .pagination-list {
				gap: var(--wp--preset--spacing--20);
			}
						.acb-filter-container .filter-pagination-nav .pagination-list .pagination-item.pagination-ellipsis span, .page-template-page-filter .filter-pagination-nav .pagination-list .pagination-item.pagination-ellipsis span {
							width: 36px;
							height: 36px;
						}
	}

/* Search button hover states in the filter form */
.search-submit-button {
	position: relative;
	border: none;
	background: none;
	cursor: pointer;
	padding: 0;
}
.search-submit-button svg {
		height: 30px;
		width: 30px;
		transition: opacity 0.3s ease;
	}
.post-thumbnail.is-style-medium {
	max-width: 974px;
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.single .post-meta__item, .single .project-meta__item, .single .event-meta__item {
			display: flex;
			align-items: center;
			gap: var(--wp--preset--spacing--20);
			flex-wrap: wrap;
			padding-bottom: var(--wp--preset--spacing--40);
		}

.single .post-meta__item:first-of-type, .single .project-meta__item:first-of-type, .single .event-meta__item:first-of-type {
				margin-bottom: var(--wp--preset--spacing--50);
			}

.single .post-meta__terms, .single .project-meta__terms, .single .event-meta__terms {
			display: flex;
			flex-direction: column;
			gap: var(--wp--preset--spacing--20);
		}

.single .post-meta__terms-row, .single .project-meta__terms-row, .single .event-meta__terms-row {
			display: flex;
			align-items: center;
			gap: var(--wp--preset--spacing--40);
			flex-wrap: wrap;
		}

.single .post-meta-footer, .single .project-meta-footer, .single .event-meta-footer {
			margin-top: var(--wp--preset--spacing--60);
			margin-bottom: var(--wp--preset--spacing--90);
		}

.single .post-meta__term {
		display: inline-flex;
		align-items: center;
		padding: 0.2rem 0.75rem;
		border-radius: 999px;
		background-color: var(--wp--preset--color--bg-primary);
		color: var(--wp--preset--color--primary);
		border: 1px solid var(--wp--preset--color--primary);
		font-size: 0.875rem;
		font-weight: 700;
	}

.single .post-meta__term--thema {
			color: var(--wp--preset--color--secondary);
			border-color: var(--wp--preset--color--secondary);
		}

/* CPT-specific overrides */

/* Events CPT - specific styles */

/* Events - one per row (horizontal cards need the full row width) */
.acb-filter-results--events .post-grid,
.post-grid[data-cpt="events"] {
	grid-template-columns: 1fr;
}
/* Calendar link wrapper - shared between the horizontal filter card and the single event page */
.post-card__calendar-wrapper {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--40);
}

/* Event card variant with date badge */
/* Date badge replacing image */
.post-card--event .post-card__date-badge {
		position: relative;
		width: 100%;
		aspect-ratio: 16 / 9;
		display: flex;
		align-items: center;
		justify-content: center;
	}
.post-card--event .post-card__date-badge-inner {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		background: var(--wp--preset--color--bg-primary);
		padding: var(--wp--preset--spacing--60) 2.5rem;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		min-width: 140px;
	}
.post-card--event .post-card__date-badge-inner--no-date {
			padding: var(--wp--preset--spacing--60);
		}
.post-card--event .post-card__date-badge-inner--no-date .dashicons {
				font-size: 3rem;
				width: 3rem;
				height: 3rem;
				color: var(--wp--preset--color--primary);
			}
.post-card--event .post-card__date-badge-day {
		display: block;
		font-size: 3rem;
		font-weight: 700;
		line-height: 1;
		color: var(--wp--preset--color--primary);
		margin-bottom: var(--wp--preset--spacing--10);
	}
.post-card--event .post-card__date-badge-month {
		display: block;
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 600;
		text-transform: uppercase;
		letter-spacing: 0.05em;
		color: var(--wp--preset--color--secondary);
		margin-bottom: var(--wp--preset--spacing--10);
	}

/* Responsive styles for event cards */
@container page (max-width: 59rem) {
		.post-card--event .post-card__date-badge-inner {
			padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--60);
			min-width: 120px;
		}

		.post-card--event .post-card__date-badge-day {
			font-size: 2.5rem;
		}
}

@container page (max-width: 35.5rem) {
		.post-card--event .post-card__date-badge-inner {
			padding: 1.25rem var(--wp--preset--spacing--50);
			min-width: 100px;
		}

			.post-card--event .post-card__date-badge-inner--no-date {
				padding: var(--wp--preset--spacing--50);
			}

				.post-card--event .post-card__date-badge-inner--no-date .dashicons {
					font-size: 2.5rem;
					width: 2.5rem;
					height: 2.5rem;
				}

		.post-card--event .post-card__date-badge-day {
			font-size: 2rem;
		}
}

/* Horizontal event card layout (for filter results) */
.post-card--event-horizontal {
	flex-direction: row;
	align-items: stretch;
	background-color: var(--wp--preset--color--text-inverse);
}
/* Left column: Date, time, location with icons */
.post-card--event-horizontal .post-card__left {
		display: flex;
		flex-direction: column;
		width: 368px;
		flex-shrink: 0;
		background: var(--wp--preset--color--bg-primary);
		padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
		gap: var(--wp--preset--spacing--40);
	}
.post-card--event-horizontal .post-card__meta-item {
		display: flex;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--30);
	}
.post-card--event-horizontal .post-card__meta-item--date {
			font-weight: 600;
		}
.post-card--event-horizontal .post-card__icon {
		width: 20px;
		height: 20px;
		flex-shrink: 0;
		margin-top: 2px;
	}
.post-card--event-horizontal .post-card__text {
		font-size: clamp(1rem, 0.8117rem + 0.5305vw, 1.125rem);
		line-height: 1.5;
		color: var(--wp--preset--color--text);
	}
.post-card--event-horizontal .post-card__text--location {
			margin: 0;
			padding: 0;
			font-family: inherit;
			white-space: pre-wrap;
			overflow-wrap: break-word;
			background-color: transparent;
		}
/* Center column: Title, excerpt, actions */
.post-card--event-horizontal .post-card__center {
		background-color: var(--wp--preset--color--text-inverse);
		display: flex;
		flex-direction: column;
		flex: 1;
		gap: var(--wp--preset--spacing--30);
		min-width: 0;
		padding: var(--wp--preset--spacing--50);
	}
.post-card--event-horizontal .post-card__title {
		font-size: clamp(1.125rem, 0.56rem + 1.5915vw, 1.5rem);
		line-height: 1.4;
		margin: 0;
	}
.post-card--event-horizontal .post-card__title a {
			color: var(--wp--preset--color--text);
			text-decoration: none;
			transition: color 0.2s ease;
		}
.post-card--event-horizontal .post-card__title a:hover,
			.post-card--event-horizontal .post-card__title a:focus {
				color: var(--wp--preset--color--primary);
			}
.post-card--event-horizontal .post-card__excerpt {
		font-size: var(--wp--preset--font-size--small);
		line-height: 1.5;
		color: var(--wp--preset--color--text);
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		overflow: hidden;
		text-overflow: ellipsis;
		margin: 0;
	}
.post-card--event-horizontal .post-card__actions {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--40);
		margin-top: auto;
	}
.post-card--event-horizontal .post-card__actions .wp-block-buttons {
			margin: 0;
		}
.post-card--event-horizontal .post-card__actions .wp-block-button {
			margin: 0;
		}
.post-card--event-horizontal .post-card__actions .wp-block-button .wp-block-button__link {
				padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
			}
.post-card--event-horizontal .post-card__calendar-link {
		display: flex;
		align-items: center;
		gap: var(--wp--preset--spacing--20);
		font-size: clamp(1rem, 0.8117rem + 0.5305vw, 1.125rem);
		line-height: 1.5;
	}
.post-card--event-horizontal .post-card__calendar-link:hover,
		.post-card--event-horizontal .post-card__calendar-link:focus {
			color: var(--wp--preset--color--primary);
		}
.post-card--event-horizontal .post-card__calendar-link .post-card__calendar-icon {
			width: 20px;
			height: 20px;
			flex-shrink: 0;
		}
.post-card--event-horizontal .post-card__calendar-link span {
			white-space: nowrap;
		}
/* Right column: Event image */
.post-card--event-horizontal .post-card__right {
		flex-shrink: 0;
		width: 368px;
		padding: 0;
		position: relative;
	}
.post-card--event-horizontal .post-card__right img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform 0.3s ease;
		}

/* Responsive styles for horizontal event cards */
@container page (max-width: 75rem) {
	.post-card--event-horizontal {
		flex-direction: column;
	}

		.post-card--event-horizontal .post-card__right {
			order: 1;
			width: 100%;
		}

		.post-card--event-horizontal .post-card__center {
			order: 2;
		}

		.post-card--event-horizontal .post-card__left {
			order: 3;
			width: 100%;
		}
}

@container page (max-width: 59rem) {
	.post-card--event-horizontal {
		gap: var(--wp--preset--spacing--50);
		padding: 1.25rem;
	}

		.post-card--event-horizontal .post-card__left {
			min-width: 160px;
			gap: var(--wp--preset--spacing--30);
		}

		.post-card--event-horizontal .post-card__meta-item {
			gap: var(--wp--preset--spacing--20);
		}

		.post-card--event-horizontal .post-card__icon {
			width: 18px;
			height: 18px;
		}

		.post-card--event-horizontal .post-card__right {
			width: 220px;
		}

		.post-card--event-horizontal .post-card__image {
			min-height: 160px;
		}

		.post-card--event-horizontal .post-card__actions {
			flex-direction: column;
			align-items: flex-start;
			gap: var(--wp--preset--spacing--30);
		}

			.post-card--event-horizontal .post-card__actions .wp-block-button {
				width: 100%;
			}

				.post-card--event-horizontal .post-card__actions .wp-block-button .wp-block-button__link {
					width: 100%;
					text-align: center;
					justify-content: center;
				}
}

@container page (max-width: 35.5rem) {
	.post-card--event-horizontal {
		flex-direction: column;
		gap: 1.25rem;
		padding: var(--wp--preset--spacing--40);
	}

		.post-card--event-horizontal .post-card__left {
			min-width: auto;
			gap: var(--wp--preset--spacing--30);
		}

		.post-card--event-horizontal .post-card__center {
			gap: var(--wp--preset--spacing--20);
		}

		.post-card--event-horizontal .post-card__right {
			width: 100%;
			order: -1; /* Move image to top on mobile */
		}

		.post-card--event-horizontal .post-card__image {
			min-height: 200px;
			aspect-ratio: 16 / 9;
		}

		.post-card--event-horizontal .post-card__actions {
			flex-direction: column;
			align-items: stretch;
			gap: var(--wp--preset--spacing--30);
		}

			.post-card--event-horizontal .post-card__actions .wp-block-button {
				width: 100%;
			}

				.post-card--event-horizontal .post-card__actions .wp-block-button .wp-block-button__link {
					width: 100%;
					text-align: center;
					justify-content: center;
				}

		.post-card--event-horizontal .post-card__calendar-link {
			justify-content: center;
		}

		.post-card--event-horizontal add-to-calendar-button {
			width: 100%;
			justify-content: center;
		}
}

/* Container query (additive): stacks the horizontal event card when the card itself is narrow, */

/* regardless of viewport — covers cases the viewport-based rules above miss, e.g. this card */

/* placed in a narrow sidebar/column on an otherwise wide screen */
@container post-card (max-width: 45rem) {
	.post-card--event-horizontal {
		flex-direction: column;
	}

		.post-card--event-horizontal .post-card__right {
			order: -1;
			width: 100%;
		}

		.post-card--event-horizontal .post-card__center {
			order: 0;
		}

		.post-card--event-horizontal .post-card__left {
			order: 1;
			width: 100%;
		}
}

/* Global add-to-calendar-button styling */
add-to-calendar-button {
	font-size: clamp(1rem, 0.8117rem + 0.5305vw, 1.125rem);
	line-height: 1.5;
}
/* Style the button part to look like a link */
add-to-calendar-button::part(atcb-button) {
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		color: inherit;
		font-family: inherit;
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 400;
		box-shadow: none !important;
		display: flex;
		align-items: center;
		line-height: inherit;
		text-decoration: underline;
	}
add-to-calendar-button::part(atcb-button):hover,
		add-to-calendar-button::part(atcb-button):focus {
			background: transparent !important;
			color: inherit;
			box-shadow: none !important;
		}
add-to-calendar-button::part(atcb-text) {
		display: none;
	}
.single.single-events .event-header-meta {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: var(--wp--preset--spacing--60);
		margin-top: var(--wp--preset--spacing--60);
		margin-bottom: var(--wp--preset--spacing--60);
		padding: 40px;
		background-color: var(--wp--preset--color--bg-primary);
	}
@container page (max-width: 35.5rem) {
.single.single-events .event-header-meta {
			grid-template-columns: 1fr
	}
		}
.single.single-events .event-header-meta__column {
			display: flex;
			flex-direction: column;
			gap: 40px;
		}
.single.single-events .event-header-meta__column:first-child .event-header-meta__item:first-child {
					font-weight: 600;
				}
.single.single-events .event-header-meta__item {
			display: flex;
			align-items: center;
			gap: var(--wp--preset--spacing--30);
		}
.single.single-events .event-header-meta__icon {
			width: 40px;
			height: 40px;
			flex-shrink: 0;
		}
.single.single-events .event-details__item {
		margin-bottom: 2.5rem;
	}
.single.single-events .event-actions {
		display: flex;
		align-items: center;
		gap: var(--wp--preset--spacing--50);
		margin-top: var(--wp--preset--spacing--60);
		margin-bottom: var(--wp--preset--spacing--60);
	}
.single.single-events .event-funding-logos {
		margin-top: 2.5rem;
		margin-bottom: 2.5rem;
	}
.single.single-events .event-funding-logos__container {
			display: flex;
			flex-wrap: wrap;
			gap: var(--wp--preset--spacing--60);
			margin-top: var(--wp--preset--spacing--50);
		}
.single.single-events .event-funding-logo {
		min-height: 150px;
		max-width: 250px;
		width: auto;
		height: auto;
		padding: var(--wp--preset--spacing--50);
		box-shadow: 5px 5px 10px 0 rgba(0, 40, 90, 0.15);
		object-fit: contain;
		background-color: var(--wp--preset--color--text-inverse);
	}
.single.single-events .event-meta-footer {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: var(--wp--preset--spacing--60);
		flex-wrap: wrap;
	}
.single.single-events .event-meta-footer .event-meta__item {
			margin-bottom: 0;
		}
.single.single-events .event-meta-footer .event-back-link {
			margin-left: auto;
		}
.single.single-events .event-meta-footer .event-back-link .wp-block-button__link {
				display: inline-block;
			}
/* Publications CPT - specific styles */
/*Styles for the single publications */
@media (min-width: 59.0625rem) and (max-width: 75rem) {
.single.single-publications {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin)
}
	}
@container page (max-width: 59rem) {
.single.single-publications {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin)
}
	}
@container page (max-width: 35.5rem) {
.single.single-publications {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin)
}
	}
.single.single-publications #page .is-style-medium {
			max-width: 974px;
			margin-left: auto;
			margin-right: auto;
			transform: translateX(50px);
		}
@container page (max-width: 75rem) {
				.single.single-publications #page .is-style-medium .wp-block-group {
					padding-left: 0;
					padding-right: 0;
				}
			}
.single.single-publications #page .post-meta__item:first-of-type {
			margin-bottom: var(--wp--preset--spacing--90);
		}
.single.single-publications #page .entry-featured-image img {
				box-shadow: 5px 5px 10px 0 rgba(0, 40, 90, 0.15);
			}
@container page (max-width: 75rem) {
.single.single-publications #page {

			padding-left: 0;
			padding-right: 0
	}
			.single.single-publications #page .is-style-medium {
				transform: translateX(0);
			}
		}
@container page (min-width: 75.0625rem) {
				.single.single-publications #page .wp-block-columns .wp-block-column:first-child {
					flex-basis: 65%;
				}

				.single.single-publications #page .wp-block-columns .wp-block-column:last-child {
					flex-basis: 35%;
				}
		}
@container page (max-width: 59rem) {
			.single.single-publications #page .post-thumbnail,
			.single.single-publications #page .wp-block-image,
			.single.single-publications #page img {
				max-width: 40%;
				height: auto;
			}
		}
@container page (max-width: 35.5rem) {
			.single.single-publications #page img {
				max-width: 100%;
				height: auto;
			}
		}
.single.single-publications #page .publication-meta-footer {
			display: flex;
			justify-content: space-between;
			align-items: center;
			gap: var(--wp--preset--spacing--60);
			flex-wrap: wrap;
		}
.single.single-publications #page .publication-meta-footer .publication-meta__item {
				margin-bottom: 0;
			}
.single.single-publications #page .publication-meta-footer .publication-back-link {
				margin-left: auto;
			}
.single.single-publications #page .publication-meta-footer .publication-back-link .wp-block-button__link {
					display: inline-block;
				}
/* Projects CPT - specific styles */
/*Styles for the single projects */
.single.single-projects .project-meta-footer {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: var(--wp--preset--spacing--60);
		flex-wrap: wrap;
	}
.single.single-projects .project-meta-footer .project-meta__item {
			margin-bottom: 0;
		}
.single.single-projects .project-meta-footer .project-back-link {
			margin-left: auto;
		}
.single.single-projects .project-meta-footer .project-back-link .wp-block-button__link {
				display: inline-block;
			}
@container page (max-width: 75rem) {
		.single.single-projects .project-meta ~ .wp-block-group > .wp-block-group .wp-block-columns {
			flex-direction: column;
		}

			.single.single-projects .project-meta ~ .wp-block-group > .wp-block-group .wp-block-columns .wp-block-group.contact-group .region:not(:last-of-type)::after {
				background-repeat: repeat;
				width: 100%;
			}
	}
@container page (max-width: 48rem) {
		.single.single-projects .project-meta ~ .wp-block-group {
			padding-left: 0;
			padding-right: 0;
		}

			.single.single-projects .project-meta ~ .wp-block-group > .wp-block-group {
				padding-left: 0;
				padding-right: 0;
			}
	}
/* Standorte CPT - specific styles */
/* Specific styling for standorte filter */
.acb-filter-container--standorte .acb-filter__section #filter-form .acb-filter__row .acb-filter__col {
				flex: 0 0 calc(50% - 1rem);
				max-width: calc(50% - 1rem);
			}
@container page (max-width: 35.5rem) {
.acb-filter-container--standorte .acb-filter__section #filter-form .acb-filter__row .acb-filter__col {
					flex: 0 0 100%;
					max-width: 100%
			}
				}

/* Standorte tabs styling */
.standorte-tabs {
	display: flex;
	gap: 0;
	border-bottom: 8px solid var(--wp--preset--color--contrast);
}
.standorte-tabs .standorte-tab {
		background: var(--wp--preset--color--primary);
		border: none;
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--60);
		font-size: var(--wp--preset--font-size--medium);
		font-weight: 700;
		color: var(--wp--preset--color--text-inverse);
		cursor: pointer;
		transition: all 0.3s ease;
		position: relative;
		bottom: -2px;
	}
.standorte-tabs .standorte-tab:hover {
			background-color: var(--wp--preset--color--bg-primary);
			color: var(--wp--preset--color--primary);
		}
.standorte-tabs .standorte-tab[aria-selected="true"] {
			background-color: var(--wp--preset--color--contrast);
			color: var(--wp--preset--color--text-inverse);
		}
@container page (max-width: 35.5rem) {
.standorte-tabs .standorte-tab {
			padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40)
	}
		}

.standorte-tab-content[role="tabpanel"] {
		display: block;
	}

.standorte-tab-content[role="tabpanel"][style*="display: none"] {
			display: none;
		}

/* Standorte list view uses the standard 3-column .post-grid (see post-grid.css) -
   no override needed, .post-card--standort is styled like any other card. */
.post-card--standort .post-card__address {
		display: flex;
		flex-direction: column;
		font-size: var(--wp--preset--font-size--small);
		color: var(--wp--preset--color--text);
	}
.post-card--standort .post-card__address .address-line {
			line-height: 1.4;
		}
.single.single-standorte .standort-address {
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--40);
		margin-top: var(--wp--preset--spacing--50);
		margin-bottom: var(--wp--preset--spacing--60);
		padding: 40px;
		background-color: var(--wp--preset--color--bg-primary);
	}
.single.single-standorte .standort-address__icon {
			width: 32px;
			height: 32px;
			flex-shrink: 0;
		}
.single.single-standorte .standort-address__lines {
			display: flex;
			flex-direction: column;
			flex-grow: 1;
		}
.single.single-standorte .standort-address__directions {
			margin-left: auto;
		}
/**
 * Standorte Map Styles
 * Leaflet map integration with custom popup styling
 */

#karte-content {
	margin-top: 0;
}

/* Map container */

#karte-content #standorte-map {
		width: 100%;
		height: 813px;
	}

@container page (max-width: 35.5rem) {

#karte-content #standorte-map {
			height: 400px
	}
		}

#karte-content #standorte-map {
		overflow: hidden;
		position: relative;
		opacity: 0;
		transition: opacity 0.3s ease-in-out;
}

#karte-content #standorte-map.loaded {
			opacity: 1;
		}

/* MapTiler SDK popup styles */

#karte-content #standorte-map .maplibregl-popup .maplibregl-popup-content {
				background-color: var(--wp--preset--color--bg-primary);
				border-radius: 0;
				padding: 0;
				width: 260px;
			}

@container page (max-width: 59rem) {

#karte-content #standorte-map .maplibregl-popup .maplibregl-popup-content {
					max-width: 100vw
			}
				}

/* Hide default popup close button */

#karte-content #standorte-map .maplibregl-popup .maplibregl-popup-close-button {
				display: none;
			}

/* Custom popup styling */

#karte-content #standorte-map .standorte-map-popup {
			display: flex;
			flex-direction: column;
			gap: 0;
			padding: 16px;
			font-size: 13px;
			color: var(--wp--preset--color--text);
		}

#karte-content #standorte-map .standorte-map-popup__close {
				position: absolute;
				right: 10px;
				top: 10px;
				border: none;
				background-color: transparent;
				font-size: 18px;
				cursor: pointer;
				padding: 0;
				width: 20px;
				height: 20px;
				display: flex;
				align-items: center;
				justify-content: center;
				color: var(--wp--preset--color--text);
			}

#karte-content #standorte-map .standorte-map-popup__close:focus {
					outline: 2px solid var(--wp--preset--color--text);
					outline-offset: 2px;
				}

#karte-content #standorte-map .standorte-map-popup__title {
				margin: 0 0 10px 0;
				padding: 0;
				font-size: 15px;
				line-height: 1.4;
				color: var(--wp--preset--color--text);
				overflow-wrap: anywhere;
			}

/* Taxonomy term tags */

#karte-content #standorte-map .standorte-map-popup__tags {
				display: flex;
				flex-wrap: wrap;
				gap: 6px;
				margin-bottom: 12px;
			}

#karte-content #standorte-map .standorte-map-popup__tag {
				display: inline-flex;
				align-items: center;
				padding: 3px 8px;
				border-radius: 4px;
				font-size: 12px;
				white-space: nowrap;
				background-color: var(--wp--preset--color--contrast);
				color: var(--wp--preset--color--text-inverse);
			}

/* Section labels and content */

#karte-content #standorte-map .standorte-map-popup__section {
				margin-bottom: 12px;
			}

#karte-content #standorte-map .standorte-map-popup__section:last-child {
					margin-bottom: 12px;
				}

#karte-content #standorte-map .standorte-map-popup__label {
				margin: 0 0 6px 0;
				padding: 0;
				font-size: 12px;
				color: var(--wp--preset--color--text);
			}

/* List of offerings */

#karte-content #standorte-map .standorte-map-popup__list {
				list-style: none;
				margin: 0;
				padding: 0;
				display: flex;
				flex-direction: column;
				gap: 4px;
			}

#karte-content #standorte-map .standorte-map-popup__list-item {
				display: flex;
				align-items: flex-start;
				gap: 8px;
				color: var(--wp--preset--color--text);
				margin: 0;
				padding: 0;
			}

#karte-content #standorte-map .standorte-map-popup__list-item::before {
					content: "•";
					flex-shrink: 0;
					color: var(--wp--preset--color--secondary); /* Pink checkmark */
					font-weight: 700;
					width: 14px;
					height: 14px;
					display: flex;
					align-items: center;
					justify-content: center;
				}

/* Button */

#karte-content #standorte-map .standorte-map-popup__button {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				padding: 6px 16px;
				background-color: var(--wp--preset--color--primary);
				color: var(--wp--preset--color--text-inverse);
				border: none;
				border-radius: 4px;
				font-weight: 700;
				font-size: 13px;
				text-decoration: none;
				cursor: pointer;
				line-height: 1.4;
				align-self: flex-start;
			}

#karte-content #standorte-map .standorte-map-popup__button:hover {
					text-decoration: none;
				}

#karte-content #standorte-map .standorte-map-popup__button:focus {
					outline: 2px solid var(--wp--preset--color--text);
					outline-offset: 2px;
					text-decoration: none;
				}

/* Stellenangebote CPT - specific styles */

/* Stellenangebote in the filter use the standard 3-column .post-grid (see ../post-grid.css) */

/* Stellenangebot cards in global search results - force full width */
.search-results-grid .post-card--stellenangebot {
	grid-column: 1 / -1;
}
/* Person CPT - specific styles */

.person-contact {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
	margin-top: var(--wp--preset--spacing--60);
}

.person-contact__item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

.person-contact__icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-color: currentcolor;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

.person-contact__icon--mail {
	mask-image: url(../images/icons/icon-mail.svg);
	-webkit-mask-image: url(../images/icons/icon-mail.svg);
}

.person-contact__icon--twitter {
	mask-image: url(../images/icons/icon-twitter.svg);
	-webkit-mask-image: url(../images/icons/icon-twitter.svg);
}

.person-contact__icon--linkedin {
	mask-image: url(../images/icons/icon-linkedin.svg);
	-webkit-mask-image: url(../images/icons/icon-linkedin.svg);
}

.person-contact__icon--globe {
	mask-image: url(../images/icons/icon-globe.svg);
	-webkit-mask-image: url(../images/icons/icon-globe.svg);
}

.person-contact__links {
	display: inline;
}

/* Site structure (skeleton, header, footer) */

/**
 * Site layout
 */

/**
 * Header
 */

.site-header {
	grid-area: header;
	position: relative;
	z-index: 2;

	/* Hover scale on logo images linking to startpage */
}

.site-header .is-layout-constrained > .is-layout-flex {
		justify-content: space-between;
	}

.site-header .wp-block-site-logo a,
	.site-header .wp-block-image a {
		display: inline-block;
		transition: transform 0.3s ease;
	}

.site-header .wp-block-site-logo a:hover, .site-header .wp-block-image a:hover {
			transform: scale(1.05);
		}

/* Responsive header pattern visibility */

/* NOTE: Breakpoint can be configured via Theme Setup → General Settings → Breakpoint Settings */

/* Uses CSS custom property --acb-header-breakpoint with fallback to SCSS variable */

/* Default: Desktop header shows at viewport width >= 945px */
.acb-header-desktop {
	display: none;
}
@media (min-width: var(--acb-header-breakpoint, 59.0625rem)) {
.acb-header-desktop {
		display: block
}
	}

.acb-header-mobile {
	display: block;
	margin-bottom: 2rem;

	/* Force header content to use wideSize width */
}

@media (min-width: var(--acb-header-breakpoint, 59.0625rem)) {

.acb-header-mobile {
		display: none
}
	}

.acb-header-mobile .wp-block-group,
	.acb-header-mobile > * {
		max-width: var(--wp--style--global--wide-size) !important;
		margin-left: auto;
		margin-right: auto;
	}

/**
 * Footer
 */

.site-footer {
	grid-area: footer;
}

/**
 * Global responsive layout
 */

@container page (max-width: 59rem) {
	.wp-block-columns {
		flex-direction: column;
	}

		.wp-block-columns .wp-block-column {
			flex-basis: auto !important;
			width: 100% !important;
		}

	/* Text with image blocks - image goes on top on mobile */
	.wp-block-media-text {
		flex-direction: column;
	}
			.wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
				order: -1;
			}

		.wp-block-media-text .wp-block-media-text__content {
			padding: 1rem 0 !important;
		}

		.wp-block-media-text .wp-block-media-text__media {
			margin: 0 !important;
			width: 100% !important;
		}

	/* General content spacing adjustments */
	.wp-block-group {
		/* --container-margin is inherited from #page, already tablet-scoped here */
		padding-left: var(--container-margin);
		padding-right: var(--container-margin);
	}

		.wp-block-group.has-background {
			padding: 2rem 1rem !important;
		}

	.wp-block-cover {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin);
	}

		.wp-block-cover__inner-container {
			padding: 2rem 1rem !important;
		}
}

@container page (max-width: 35.5rem) {
	.wp-block-columns {
		gap: 1rem !important;
	}
		.wp-block-media-text .wp-block-media-text__content {
			padding: 0.75rem 0 !important;
		}

	/* Tighter spacing on mobile */
		.wp-block-group.has-background {
			padding: 1.5rem 1rem !important;
		}
		.wp-block-cover__inner-container {
			padding: 1.5rem 1rem !important;
		}
}

/* Prevent horizontal overflow */
* {
	box-sizing: border-box;
}

html,
body {
	overflow-x: hidden;
	max-width: 100%;
}

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

/* Container overrides for responsive margins */

/* Small desktop safe margins (945px - 1200px) */
@media (min-width: 59.0625rem) and (max-width: 75rem) {
	.container,
	.wp-block-group,
	.wp-site-blocks {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin);
	}

	.wp-block-group.alignfull {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin);
	}

		.wp-block-group.alignfull > .wp-block-group {
			padding-left: 0;
			padding-right: 0;
		}
}

@container page (max-width: 59rem) {
	.container,
	.wp-block-group,
	.wp-site-blocks {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin);
	}

	/* Handle alignfull blocks specifically */
	.wp-block-group.alignfull {
		padding-left: var(--container-margin);
		padding-right: var(--container-margin);
	}

		/* Inner content should not have additional margins */
		.wp-block-group.alignfull > .wp-block-group {
			padding-left: 0;
			padding-right: 0;
		}
}

html {
	height: 100%;
}

/* Sticky footer: flex on #page pushes footer to bottom on short pages */

/* Also the "page" container that the sm-down/md-down/../mobile/tablet/desktop mixins query */

/* (see _mixins.scss) — inline-size containment leaves height (the 100vh below) unaffected, */

/* but any position:fixed element must stay OUTSIDE #page, see footer.php */
#page.site {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	container-type: inline-size;
	container-name: page;
}

/* Only the main content container grows, not nested ones (e.g. in header) */
#page.site > .container {
	flex: 1;
}

.container {
	/* Explicit width (not just max-width) so it doesn't rely on flex */

	/* stretch alone - #page.site is a flex column parent, and leaving */

	/* width to "auto" let a deeply-nested, margin:auto-centered content */

	/* child (see .entry-content below) shrink this ancestor down to that */

	/* child's own max-width instead of stretching to the available space. */
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	max-width: var(--wp--style--global--wide-size);
}

.site-content {
	grid-area: content;
}

.entry-title--narrow {
	max-width: var(--wp--style--global--content-size);
	margin-left: auto;
	margin-right: auto;
}

/* stylelint-disable-next-line scss/selector-no-redundant-nesting-selector -- plain CSS nesting (postcss-nested): keep the explicit & before the combinator */

.entry-content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: var(--wp--style--global--content-size);
		margin-left: auto;
		margin-right: auto;
	}

/* stylelint-disable-next-line scss/selector-no-redundant-nesting-selector -- plain CSS nesting (postcss-nested): keep the explicit & before the combinator */

.entry-content > .alignwide {
		max-width: var(--wp--style--global--wide-size);
	}

/* stylelint-disable-next-line scss/selector-no-redundant-nesting-selector -- plain CSS nesting (postcss-nested): keep the explicit & before the combinator */

.entry-content > .alignfull {
		max-width: none;
		width: 100vw;
		margin-left: calc(50% - 50vw);
		margin-right: calc(50% - 50vw);
	}

/* stylelint-disable-next-line scss/selector-no-redundant-nesting-selector -- plain CSS nesting (postcss-nested): keep the explicit & before the combinator */

.entry-content > .wp-block-group {
		padding-top: var(--space-xxl);
	}

.entry-content > .wp-block-group:not(.pb-0) {
			padding-bottom: var(--space-xxl);
		}

.entry-content > .wp-block-group > *:last-child {
			margin-bottom: 0;
		}

input[type],
.is-style-input {
	background: var(--wp--preset--color--text-inverse);
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 14px;
}

/* Components */

/* back to top button */
.acb-back-to-top {
	border: none;
	border-radius: 50%;
	background-color: var(--wp--preset--color--primary);
	position: fixed;
	width: 61px;
	height: 61px;
	right: unset;
	left: calc(100vw - 91px);
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease,
		bottom 0.2s ease,
		background-color 0.2s ease,
		transform 0.15s ease;
	bottom: var(--btt-bottom, 39px);
	z-index: 999;
	cursor: pointer;
	padding: 0;
}
.acb-back-to-top svg {
		display: none;
	}
.acb-back-to-top::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background-color: var(--wp--preset--color--text-inverse);
		mask-image: url(../images/icons/icon-back-to-top-arrow.svg);
		mask-repeat: no-repeat;
		mask-position: center;
		mask-size: 100% 100%;
		-webkit-mask-image: url(../images/icons/icon-back-to-top-arrow.svg);
		-webkit-mask-repeat: no-repeat;
		-webkit-mask-position: center;
		-webkit-mask-size: 100% 100%;
	}
.acb-back-to-top.visible {
		opacity: 1;
		visibility: visible;
	}
.acb-back-to-top:hover,
	.acb-back-to-top:focus-visible {
		background-color: var(--wp--preset--color--secondary);
	}
.acb-back-to-top:focus-visible {
		outline: 2px solid var(--wp--preset--color--secondary);
		outline-offset: 2px;
	}
.acb-back-to-top:active {
		transform: scale(0.92);
	}
/**
 * Search Modal Component
 */

body.search-modal-open {
	overflow: hidden;
}

.search-modal {
	/* Set from JS on open/resize: where the trigger sits in the viewport */
	--search-modal-top: 4rem;
	--search-modal-right: 1rem;

	position: fixed;
	inset: 0;
	z-index: 10000;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.2s,
		visibility 0.2s;
}

.search-modal--active {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

.search-modal__trigger {
		background: none;
		border: 0;
		padding: 0.5rem;
		transition: transform 0.2s;
	}

.search-modal__trigger:hover,
		.search-modal__trigger:focus {
			background: none;
		}

.search-modal__trigger:hover,
		.search-modal__trigger:focus-visible {
			transform: scale(1.1);
		}

.search-modal__overlay {
		position: absolute;
		inset: 0;
		cursor: default;
	}

/* Panel: right edge aligned to the trigger, clamped to the viewport */

.search-modal__content {
		position: absolute;
		top: var(--search-modal-top);
		right: var(--search-modal-right);
		box-sizing: border-box;
		width: min(420px, calc(100vw - 2rem));
		padding: 0.75rem;
		background-color: var(
			--wp--preset--color--gruen-hell,
			var(--wp--preset--color--bg-secondary)
		);
		border-radius: 32px;
		box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
	}

.search-modal .search-modal-body {
		min-width: 0;
	}

/* Close button sits exactly on top of the trigger that opened the modal */

.search-modal .search-modal__close {
		position: fixed;
		top: var(--search-trigger-top);
		left: var(--search-trigger-left);
		width: var(--search-trigger-size);
		height: var(--search-trigger-size);
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border: 0;
		border-radius: 50%;
		background: var(--wp--preset--color--gruen-hell, var(--wp--preset--color--bg-secondary));
		color: var(--wp--preset--color--text);
		cursor: pointer;
	}

.search-modal .search-modal__close:hover,
		.search-modal .search-modal__close:focus-visible {
			background: var(
				--wp--preset--color--gruen-hell,
				var(--wp--preset--color--bg-secondary)
			);
			color: var(--wp--preset--color--text);
		}

.search-modal .search-modal__close:focus,
		.search-modal .search-modal__close:focus-visible {
			outline: none;
		}

.search-modal__form-wrapper {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		padding: 0.25rem 1.25rem 0.25rem 1.25rem;
		background-color: var(--wp--preset--color--text-inverse);
		border: 1px solid var(--wp--preset--color--text);
		border-radius: 50px;
	}

.search-modal__form-wrapper:focus-within {
			outline: 2px solid var(--wp--preset--color--primary);
			outline-offset: 0;
		}

.search-modal__field {
		flex: 1;
		min-width: 0;
		padding: 0.5rem 0;
		border: 0;
		background: transparent;
		color: var(--wp--preset--color--text);
		font-size: var(--wp--preset--font-size--medium);
		line-height: 1.5;
		outline: none;

		/* Focus is shown once on the wrapper, not on the input itself */
	}

.search-modal__field:focus,
		.search-modal__field:focus-visible {
			outline: none;
			box-shadow: none;
			border: 0;
		}

.search-modal__field[type="search"]::-webkit-search-decoration,
		.search-modal__field[type="search"]::-webkit-search-cancel-button {
			display: none;
		}

/* Search icon lives inside the field, on the right */

.search-modal__submit {
		display: flex;
		align-items: center;
		flex: none;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: none;
		color: var(--wp--preset--color--text);
		cursor: pointer;
	}

.search-modal__submit:hover,
		.search-modal__submit:focus-visible {
			background: none;
			color: var(--wp--preset--color--text);
		}

.search-modal__submit .search-icon {
			width: 20px;
			height: 20px;
		}

.yoast-breadcrumbs {
	width: 100%;
	max-width: var(--wp--style--global--wide-size);
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--wp--preset--spacing--20);
	padding-right: var(--wp--preset--spacing--20);
}

.yoast-breadcrumbs #breadcrumbs span a {
				position: relative;
			}

.yoast-breadcrumbs #breadcrumbs span a:hover {
					text-decoration: underline;
				}

.yoast-breadcrumbs #breadcrumbs span .breadcrumb--home {
				text-decoration: none;
				display: inline-flex;
				align-items: center;
			}

.yoast-breadcrumbs #breadcrumbs span .breadcrumb--home svg {
					width: 14px;
					height: auto;
				}

.yoast-breadcrumbs #breadcrumbs .breadcrumb--sep {
			padding-left: 11px;
			padding-right: 8px;
		}

.yoast-breadcrumbs a:hover {
		text-decoration: underline;
	}

/* Intentionally empty - placeholder for home-page-specific styles. */

/* Block variant styles */

.wp-block-image.is-style-parallax {
		overflow: hidden;
		width: 100%;
		height: auto;
	}

.wp-block-image.is-style-parallax img {
			width: 100%;
		}

figure.wp-block-image figcaption {
		text-align: left;
		color: var(--wp--preset--color--text);
	}

figure.image-fix-bottom-left {
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -50vw;
}

/* Featured Image Credits */
.featured-image-credit {
	margin: 0.5rem 0 1.5rem;
	font-size: 0.875rem;
	color: rgba(var(--color-text-rgb), 0.7);
	font-style: italic;
	line-height: 1.4;
}
.wp-block-group.is-style-infobox {
		padding: var(--space-md);
	}

.wp-block-buttons {
	margin-top: 2rem;
	margin-bottom: 2rem;
}

.inside-article > .entry-content > .wp-block-group:not(.home-hero):first-child > .wp-block-group, .inside-article > .entry-content > .wp-block-group:first-child > .wp-block-group {
		padding-top: 0;
	}

/* Responsive design for groups */
@container page (max-width: 59rem) {
	.wp-block-group.alignfull
		> .wp-block-group
		> .wp-block-columns
		> .wp-block-column:nth-of-type(2)
		> figure {
		float: none;
		margin-bottom: 2rem;
	}

		.wp-block-group.alignfull
		> .wp-block-group
		> .wp-block-columns
		> .wp-block-column:nth-of-type(2)
		> figure img {
			max-width: 50vw;
		}
}
.wp-block-button:not(.is-style-secondary) .wp-block-button__link,
.wp-block-button.is-style-fill .wp-block-button__link {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--text-inverse);
	border: 2px solid var(--wp--preset--color--primary);
	padding: 4px 23px 4px;
	text-decoration: none;
	display: inline-block;
	font-weight: 700;
}
.wp-block-button:not(.is-style-secondary) .wp-block-button__link:hover, .wp-block-button.is-style-fill .wp-block-button__link:hover {
		background-color: transparent;
		color: var(--wp--preset--color--primary);
	}

.wp-block-button.is-style-acb-secondary .wp-block-button__link {
	background-color: var(--wp--preset--color--secondary);
	color: var(--wp--preset--color--text-inverse);
	border: 2px solid var(--wp--preset--color--secondary);
	padding: 4px 23px 4px;
	text-decoration: none;
	display: inline-block;
	font-weight: 700;
}

.wp-block-button.is-style-acb-secondary .wp-block-button__link:hover {
		background-color: transparent;
		color: var(--wp--preset--color--secondary);
	}

/* File download icon, added via JS (src/js/file-download-icon.js) to
   button links pointing to downloadable files (pdf, docx, xlsx, zip, pptx) */
.wp-block-button__link.has-file-icon::before {
	content: "";
	display: inline-block;
	vertical-align: middle;
	margin-right: 0.5em;
	width: 28px;
	height: 21px;
	background-color: currentcolor;
	mask-image: url(../images/icons/icon-file-download.svg);
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: contain;
	-webkit-mask-image: url(../images/icons/icon-file-download.svg);
	-webkit-mask-repeat: no-repeat;
	-webkit-mask-position: center;
	-webkit-mask-size: contain;
}

/* Arrow left buttons */
.wp-block-button.arrow-left .wp-block-button__link {
		position: relative;
		padding-left: 2rem; /* Add space for the icon */
	}
.wp-block-button.arrow-left .wp-block-button__link::before {
			content: "";
			position: absolute;
			left: 0.75rem;
			top: 50%;
			transform: translateY(-50%);
			width: 12px;
			height: 21px;
			background-color: currentcolor;
			mask-image: url(../images/icons/icon-arrow-left.svg);
			mask-repeat: no-repeat;
			mask-position: center;
			mask-size: contain;
			-webkit-mask-image: url(../images/icons/icon-arrow-left.svg);
			-webkit-mask-repeat: no-repeat;
			-webkit-mask-position: center;
			-webkit-mask-size: contain;
		}
blockquote.is-layout-flow {
	padding: 2rem;
	position: relative;
	padding-left: 4.5rem;
}
blockquote.is-layout-flow::before {
		content: "";
		position: absolute;
		left: 0;
		top: 2.375rem;
		width: 43px;
		height: 43px;
		background-color: currentcolor;
		mask-image: url(../images/icons/icon-quote.svg);
		mask-size: contain;
		mask-repeat: no-repeat;
		-webkit-mask-image: url(../images/icons/icon-quote.svg);
		-webkit-mask-size: contain;
		-webkit-mask-repeat: no-repeat;
	}
blockquote.is-layout-flow p {
		color: var(--wp--preset--color--text);
		font-size: 1.375rem;
		line-height: 1.5;
		font-style: italic;
	}
blockquote.is-layout-flow cite {
		color: var(--wp--preset--color--text);
		font-size: 1.125rem;
		font-weight: 700;
		font-style: normal;
	}
.wp-block-details {
	overflow: hidden;

	/* Lets descendants query the accordion's own width (see @container accordion rule below), */

	/* independent of viewport — needed when placed in a narrow context (e.g. sidebar widget) */
	container-type: inline-size;
	container-name: accordion;

	margin-bottom: var(--space-md);
}
.wp-block-details summary {
		font-family: var(--wp--preset--font-family--headings);
		padding: 1em;
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
		font-size: clamp(1.125rem, 0.56rem + 1.5915vw, 1.5rem);
		line-height: 1.4;
	}
/* Hide default marker */
.wp-block-details summary::-webkit-details-marker {
			display: none;
		}
.wp-block-details summary strong {
			font-weight: 400;
		}
.wp-block-details summary::after {
			content: "";
			background-color: currentcolor;
			mask-image: url(../images/icons/icon-accordion-chevron.svg);
			mask-repeat: no-repeat;
			mask-size: 1em 1em;
			-webkit-mask-image: url(../images/icons/icon-accordion-chevron.svg);
			-webkit-mask-repeat: no-repeat;
			-webkit-mask-size: 1em 1em;
			width: 1em;
			height: 1em;
			margin-left: 1em;
			transition: transform 0.3s ease;
		}
.wp-block-details[open] summary::after {
		transform: rotate(180deg);
	}
.wp-block-details > p,
	.wp-block-details > div {
		padding: 1em;
		margin: 0;
		color: var(--wp--preset--color--text-inverse);
		background-color: var(--wp--preset--color--primary);
		font-size: clamp(1rem, 0.8117rem + 0.5305vw, 1.125rem);
		line-height: 1.5;
	}
.wp-block-details > ul {
		color: var(--wp--preset--color--text-inverse);
		background-color: var(--wp--preset--color--primary);
	}

.acb-faq summary .acb-faq-question-heading {
			font-weight: 600;
			color: var(--wp--preset--color--secondary);
			max-width: 85%;
			font-size: clamp(1.125rem, 0.7483rem + 1.061vw, 1.375rem);
		}

/* stylelint-disable-next-line scss/selector-no-redundant-nesting-selector -- plain CSS nesting (postcss-nested): keep the explicit & before the combinator */

.acb-faq summary + div {
			margin-block-start: 0;
		}

.acb-faq summary + div a {
				color: var(--wp--preset--color--text-inverse);
			}

.acb-faq summary + div a:hover {
					color: var(--wp--preset--color--primary);
					background-color: var(--wp--preset--color--text-inverse);
				}

.acb-faq summary + div ul li::before {
						color: var(--wp--preset--color--text-inverse);
					}

.acb-faq summary + div ul li a:hover {
							color: var(--wp--preset--color--primary);
						}

/* Responsive accordion */
@container page (max-width: 35.5rem) {
		.wp-block-details summary {
			padding: 0.75em;
		}

		.wp-block-details p {
			padding: 0.75em;
		}
}
/* Global styled list component */
/* No marker style - removes bullets/markers */
ul.is-style-no-marker li::before {
				content: none !important;
			}
/**
 * Navigation (header + footer menus)
 * Top-level items: underline on hover / active page, no background.
 * Submenu items: background on hover with inverse text.
 */

.wp-block-navigation .wp-block-navigation-item__content {
		text-decoration: none;
		text-underline-offset: 0.25em;
		text-decoration-thickness: 2px;
		transition: none;
	}

/* Top level: underline instead of background */

.wp-block-navigation .wp-block-navigation-item__content:hover,
	.wp-block-navigation .wp-block-navigation-item__content:focus-visible,
	.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
	.wp-block-navigation .wp-block-navigation-item__content[aria-current="page"] {
		background: transparent;
		text-decoration: underline;
	}

/* Submenus: keep background, inverse text */

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
		.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
			background: var(--wp--preset--color--primary);
			color: var(--wp--preset--color--text-inverse);
			text-decoration: none;
		}

/* Active page in a submenu: underline, unless hovered */

.wp-block-navigation .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content:not(:hover, :focus-visible), .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content[aria-current="page"]:not(:hover, :focus-visible) {
			background: transparent;
			text-decoration: underline;
		}

.wp-block-acb-plugin-glossary-terms .acb-glossary-terms-list h2 {
			font-size: clamp(1.375rem, 0.4334rem + 2.6525vw, 2rem);
			line-height: 1.5;
			margin-top: var(--h3-mt);
			margin-bottom: var(--h3-mb);
		}

/**
 * WPML Language Switcher Styles
 */

/* Override WPML's width: 100% !important to allow inline placement in flex rows */
.wpml-language-switcher-block {
	width: auto !important;
	flex-shrink: 0;
}
.wpml-language-switcher-block.is-layout-flex {
		width: auto !important;
	}
.wpml-language-switcher-block.wp-block-navigation {
		width: auto !important;
	}
.wpml-language-switcher-block > .wp-block-navigation-item,
	.wpml-language-switcher-block > .wp-block-navigation-item > div {
		width: auto !important;
	}
.wpml-language-switcher-block [data-wpml="label"] {
		text-transform: uppercase;
		padding: 2px 6px;
	}
/* Active (current) language */
.wpml-language-switcher-block [data-wpml="current-language-item"] [data-wpml="label"] {
		color: var(--wp--preset--color--text-inverse);
		background-color: var(--wp--preset--color--text);
	}
/* Inactive languages */
.wpml-language-switcher-block li:not([data-wpml="current-language-item"]) [data-wpml="label"] {
		color: var(--wp--preset--color--secondary);
		background-color: transparent;
	}
.help-section .help-menu #wp-doc-sidebar a:hover {
				color: var(--wp--preset--color--text-inverse);
				background-color: var(--wp--preset--color--primary);
			}
/* Blocks */
/**
 * Frontend styles for Column Stack Order
 * Reverses the column stacking order on mobile devices
 */

@container page (max-width: 59rem) {

.wp-block-columns.reverse-stack-order {
		display: flex;
		flex-direction: column-reverse
}

		.wp-block-columns.reverse-stack-order .wp-block-column {
			flex-basis: auto !important;
			width: 100% !important;
		}
			.wp-block-columns.reverse-stack-order .wp-block-column:nth-child(2) .wp-block-image {
				max-width: 50%;
			}
	}

