/*
 * Interzoo Sustainability Conference: layout and components. Values follow the former Elementor build (measured
 * 23.10.2026 in the reference clone; derived from the Groomers' Day theme). Breakpoints like Elementor: tablet up to 1024 px, mobile up to 767 px.
 * Content box: 1312 px with 5 % side padding (Elementor boxed container).
 */

/* ---------- Base ---------- */
:root {
	--su-rand: max(5%, calc((100% - 1312px) / 2));
	--su-kopf: 99px;
	--su-gruen: #005D3E;
	--su-magenta: #BD1B8D;
	--su-text: #222222;
	--su-grau: #54595F;
}
/* Anchor targets start right below the sticky header (scroll-margin on the targets, not scroll-padding on
   html: that would also scroll whenever something inside the header gets the focus). */
:where(.su-haupt) [id] {
	scroll-margin-top: var(--su-kopf);
}
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}
body {
	margin: 0;
	-webkit-font-smoothing: antialiased;
}
*,
*::before,
*::after {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
p {
	margin: 0 0 14.4px;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
}
/* Lists without outer margins (former theme reset). */
ul, ol {
	margin: 0;
}
a {
	transition: color .2s ease;
}
:where(.wp-block-image) {
	margin: 0;
}
.wp-block-image img,
.wp-block-image > a {
	display: block;
}
:focus-visible {
	outline: 2px solid var(--su-magenta);
	outline-offset: 2px;
}
/* On the green footer the magenta ring would be too weak: white there. */
.su-fuss__oben :focus-visible,
.su-fuss__unten :focus-visible {
	outline-color: #FFFFFF;
}
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	clip-path: inset(50%);
	border: 0;
	white-space: nowrap;
	word-wrap: normal !important;
}
.skip-link.screen-reader-text:focus {
	z-index: 100000;
	top: 6px;
	left: 6px;
	width: auto;
	height: auto;
	padding: 15px 23px 14px;
	clip: auto;
	clip-path: none;
	background: #FFFFFF;
	color: var(--su-gruen);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

/* Running text of the own sections (WordPress 7 gives every paragraph the class wp-block-paragraph).
   The agenda programme keeps its own colours. */
:where(.su-haupt .wp-block-group) :where(p, li) {
	color: var(--su-text);
}
:where(.su-haupt .wp-block-group) p a,
:where(.su-haupt .wp-block-group) li a {
	color: var(--su-magenta);
	font-weight: 600;
	text-decoration: none;
}
/* Text widgets without paragraphs had no bottom margin. */
p.su-ohne-abstand {
	margin-bottom: 0;
}

/* Former kit values for the headings of the legal texts. */
.su-recht__text :is(h1, h2) {
	font-size: 32px;
	font-weight: 700;
	color: var(--su-gruen);
}
.su-recht__text :is(h3, h4) {
	font-size: 24px;
	font-weight: 700;
	color: var(--su-gruen);
}
.su-recht__text :is(h5, h6) {
	font-size: 18px;
	font-weight: 700;
	color: var(--su-gruen);
}
:where(.su-haupt .wp-block-group) :is(p, li) a:hover {
	color: #A5167B;
}

/* Section titles (Elementor heading widget: line height 1, 24 px gap below). */
.su-titel {
	font-size: 32px;
	line-height: 1;
	font-weight: 800;
	color: var(--su-gruen);
	padding-bottom: 24px;
}
@media (max-width: 767px) {
	.su-titel {
		font-size: 24px;
	}
}

/* Buttons (core button): magenta, square corners, 300 weight like the former kit button. */
.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
}
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 24px;
	text-decoration: none;
	transition: background-color .18s ease;
}

/* ---------- Header ---------- */
.su-kopfbereich {
	position: sticky;
	top: 0;
	z-index: 9999;
}
.admin-bar .su-kopfbereich {
	top: 32px;
}
@media (max-width: 782px) {
	.admin-bar .su-kopfbereich {
		top: 46px;
	}
}
.su-kopf {
	padding-left: 5%;
	padding-right: 5%;
	background: #FFFFFF;
	min-height: var(--su-kopf);
	display: flex;
	align-items: center;
	padding-top: max(0px, env(safe-area-inset-top, 0px));
	transition: background .25s ease, box-shadow .25s ease;
}
/* After scrolling: solid background and drop shadow (former header script). */
.su-kopf.is-gescrollt {
	background: rgba(255, 255, 255, .98);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .06);
}
.su-kopf__innen {
	width: 100%;
	max-width: 1312px;
	margin: 0 auto;
	padding-top: 7px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}
/* Logo: the former image widget was 8 px taller than the picture (inline image line box). */
.su-logo {
	flex: none;
	padding-bottom: 8px;
}
.su-kopf .su-logo img {
	width: 220px;
	height: auto;
	max-width: none;
}
/* Menu column (65 % of the row), items at its right end like the former nav widget. */
.su-kopf__menue {
	flex: 0 0 65%;
	position: relative;
	display: flex;
	justify-content: flex-end;
	padding: 10px 34px 10px 10px;
}
.su-menue {
	display: flex;
}
.su-menue .wp-block-navigation__container {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
}
.su-menue .wp-block-navigation-item {
	margin: 0 12px;
}
.su-menue .wp-block-navigation-item:first-child {
	margin-left: 0;
}
.su-menue .wp-block-navigation-item:last-child {
	margin-right: 0;
}
/* Sub menus (Programme, Sponsoring): small arrow after the label, white panel below like the former dropdown. */
.su-menue .wp-block-navigation__submenu-icon {
	width: 14px;
	height: 14px;
	margin-left: 9px;
	padding: 0;
	color: var(--su-text);
}
.su-menue .wp-block-navigation__submenu-icon svg {
	width: 10px;
	height: 10px;
	stroke-width: 2px;
}
.su-menue .wp-block-navigation__submenu-container {
	top: calc(100% + 14px) !important;
	left: -20px !important;
	min-width: 240px !important;
	padding: 8px 0;
	border: 1px solid #E3ECE7 !important;
	background: #FFFFFF;
	box-shadow: 0 16px 32px rgba(0, 48, 28, .10);
	transform: translateY(6px);
	transition: opacity .2s ease, transform .25s cubic-bezier(.16, 1, .3, 1), visibility .2s !important;
}
/* Bridge over the gap below the item, so the panel stays open while the pointer moves down to it. */
.su-menue .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: 16px;
}
.su-menue .has-child:hover > .wp-block-navigation__submenu-container,
.su-menue .has-child:focus-within > .wp-block-navigation__submenu-container,
.su-menue .wp-block-navigation__submenu-icon[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	transform: none;
}
.su-menue .wp-block-navigation__submenu-container .wp-block-navigation-item {
	margin: 0;
}
.su-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 10px 20px !important;
	font-family: inherit;
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	white-space: nowrap;
	color: var(--su-text);
	transition: color .2s ease, background-color .2s ease;
}
.su-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.su-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	color: var(--su-magenta);
	background: #EBF2EF;
}
.su-menue .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	color: var(--su-magenta);
}
@media (prefers-reduced-motion: reduce) {
	.su-menue .wp-block-navigation__submenu-container {
		transform: none;
		transition: none !important;
	}
}
.su-menue .wp-block-navigation__submenu-container .wp-block-navigation-item__content::after {
	display: none;
}
.su-menue .wp-block-navigation-item__content {
	position: relative;
	display: block;
	padding: 0;
	font-size: 18px;
	line-height: 27px;
	font-weight: 700;
	color: var(--su-text);
	text-decoration: none;
	text-transform: capitalize;
	white-space: nowrap;
}
/* Underline pointer (1 px) on hover and for the active item or section. */
.su-menue .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--su-magenta);
	opacity: 0;
	transition: opacity .2s ease;
}
.su-menue .wp-block-navigation-item__content:hover,
.su-menue .current-menu-item > .wp-block-navigation-item__content,
.su-menue .is-im-blick > .wp-block-navigation-item__content {
	color: var(--su-magenta);
}
.su-menue .wp-block-navigation-item__content:hover::after,
.su-menue .current-menu-item > .wp-block-navigation-item__content::after,
.su-menue .is-im-blick > .wp-block-navigation-item__content::after {
	opacity: 1;
}
/* Menu button (narrower windows): three bars that turn into a cross while the menu is open. */
.su-menue-knopf {
	display: none;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--su-gruen);
	cursor: pointer;
}
.su-menue-knopf__balken {
	display: flex;
	flex-direction: column;
	gap: 5px;
	width: 24px;
}
.su-menue-knopf__balken span {
	display: block;
	height: 2px;
	border-radius: 1px;
	background: currentColor;
	transition: transform .25s ease, opacity .2s ease;
}
.su-menue-knopf[aria-expanded="true"] {
	color: var(--su-magenta);
}
.su-menue-knopf[aria-expanded="true"] .su-menue-knopf__balken span:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.su-menue-knopf[aria-expanded="true"] .su-menue-knopf__balken span:nth-child(2) {
	opacity: 0;
}
.su-menue-knopf[aria-expanded="true"] .su-menue-knopf__balken span:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}
/* Language switch: globe, EN / DE. */
.su-sprache {
	flex: none;
	width: 10%;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	padding-left: 8px;
}
.su-sprache__globus {
	flex: none;
	padding-right: 6px;
}
.su-sprache__globus img {
	width: 24px;
	height: 24px;
}
.su-sprache__wahl {
	display: flex;
	align-items: center;
	margin: 0;
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	color: var(--su-gruen);
}
.su-sprache__wahl a {
	display: block;
	padding: 0 2px 0 5px;
	color: var(--su-gruen);
	background: #FFFFFF;
	text-decoration: none;
	transition: color .2s ease, background-color .2s ease;
}
.su-sprache__wahl span + a {
	padding: 0 0 0 2px;
}
.su-sprache__wahl a:hover {
	color: var(--su-magenta);
	background: #F9FAFB;
}
.su-sprache__wahl span {
	font-size: 16px;
	line-height: 24px;
}
/* Fold-out menu: a white layer over the page below the header, fading and sliding in (as on vda-online.de).
   Full height, one row per item with a line between, sub menus open below their item. Position and frame sit on
   the closed state as well: while fading out after closing, the panel is no longer :popover-open, and the
   browser defaults for popovers would centre it as a small framed box for the length of the transition. */
.su-klappmenue {
	display: none;
	position: fixed;
	inset: auto 0 auto 0;
	top: var(--su-kopf);
	width: 100%;
	height: calc(100dvh - var(--su-kopf));
	margin: 0;
	padding: 8px var(--su-rand) 40px;
	border: 0;
	border-top: 1px solid #E3ECE7;
	background: #FFFFFF;
	box-shadow: 0 18px 30px rgba(0, 0, 0, .08);
	overflow-y: auto;
	overscroll-behavior: contain;
	opacity: 0;
	transform: translateY(-12px);
	transition: opacity .25s ease, transform .3s cubic-bezier(.16, 1, .3, 1), display .3s allow-discrete, overlay .3s allow-discrete;
}
.su-klappmenue:popover-open,
.su-klappmenue.is-offen {
	display: block;
	opacity: 1;
	transform: none;
}
@starting-style {
	.su-klappmenue:popover-open {
		opacity: 0;
		transform: translateY(-12px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.su-klappmenue {
		transition: none;
	}
}
.admin-bar .su-klappmenue {
	top: calc(var(--su-kopf) + 32px);
	height: calc(100dvh - var(--su-kopf) - 32px);
}
@media (max-width: 782px) {
	.admin-bar .su-klappmenue {
		top: calc(var(--su-kopf) + 46px);
		height: calc(100dvh - var(--su-kopf) - 46px);
	}
}
.su-klappmenue::backdrop {
	background: transparent;
}
.su-klappmenue__liste .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
}
.su-klappmenue__liste .wp-block-navigation__container > .wp-block-navigation-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
	border-bottom: 1px solid #E3ECE7;
}
.su-klappmenue__liste .wp-block-navigation-item__content {
	display: flex;
	flex: 1 1 auto;
	align-items: center;
	min-height: 54px;
	padding: 12px 4px;
	font-size: 18px;
	line-height: 27px;
	font-weight: 700;
	color: var(--su-text);
	text-decoration: none;
	transition: color .2s ease;
}
.su-klappmenue__liste .wp-block-navigation-item__content:hover,
.su-klappmenue__liste .current-menu-item > .wp-block-navigation-item__content {
	color: var(--su-magenta);
}
/* Sub menu toggle: chevron at the right end of the row, turns while open. */
.su-klappmenue__liste .wp-block-navigation__submenu-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin: 0;
	padding: 0;
	color: var(--su-gruen);
}
.su-klappmenue__liste .wp-block-navigation__submenu-icon svg {
	width: 14px;
	height: 14px;
	stroke: currentColor;
	stroke-width: 2px;
	transition: transform .25s ease;
}
.su-klappmenue__liste [aria-expanded="true"] .wp-block-navigation__submenu-icon svg,
.su-klappmenue__liste .wp-block-navigation__submenu-icon[aria-expanded="true"] svg {
	transform: rotate(180deg);
}
.su-klappmenue__liste .wp-block-navigation__submenu-container {
	position: static !important;
	display: none !important;
	width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	margin: 0 0 12px;
	padding: 4px 0;
	border: 0 !important;
	/* Core sets white via .wp-block-navigation:not(.has-background) …, stronger than this selector. */
	background: #EBF2EF !important;
	box-shadow: none;
	visibility: visible !important;
	opacity: 1 !important;
}
.su-klappmenue__liste [aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
	display: block !important;
}
.su-klappmenue__liste .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	min-height: 44px;
	padding: 10px 16px !important;
	font-size: 16px;
	line-height: 24px;
	font-weight: 600;
	color: var(--su-text);
}
.su-klappmenue__liste .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.su-klappmenue__liste .wp-block-navigation__submenu-container .current-menu-item > .wp-block-navigation-item__content {
	color: var(--su-magenta);
}
/* Below 1200 px the six items with their arrows no longer fit next to logo and language switch: menu button
   instead, right next to the language switch. */
@media (max-width: 1199px) {
	.su-kopf .su-menue {
		display: none;
	}
	.su-menue-knopf {
		display: flex;
	}
	.su-kopf__menue {
		flex: none;
		order: 2;
		padding: 0;
		margin-left: 8px;
	}
	.su-sprache {
		order: 1;
		width: auto;
		margin-left: auto;
	}
}
@media (max-width: 1024px) {
	:root {
		--su-kopf: 80px;
	}
	.su-kopf__innen {
		max-width: none;
		padding-top: 0;
	}
	.su-logo {
		padding-bottom: 0;
	}
	.su-kopf .su-logo img {
		width: calc(8.2vw + 127px);
	}
}
@media (max-width: 767px) {
	.su-kopf {
		padding-left: 2%;
		padding-right: 2%;
	}
	.su-logo {
		padding-left: 3px;
	}
	.su-kopf .su-logo img {
		width: 150px;
	}
	.su-kopf__menue {
		margin-left: 4px;
	}
	.su-klappmenue {
		padding-left: 16px;
		padding-right: 16px;
	}
}
@media (min-width: 1200px) {
	.su-klappmenue:popover-open,
	.su-klappmenue.is-offen {
		display: none;
	}
}

/* ---------- Sections ---------- */
.su-haupt > .wp-block-post-content > section.wp-block-group,
.su-haupt > section.wp-block-group {
	padding-left: var(--su-rand);
	padding-right: var(--su-rand);
}
@media (max-width: 767px) {
	.su-titel {
		line-height: 1.2;
	}
}

/* Logo band (former media carousel): four logos per view, 48 px apart, dots below; theme.js moves it on. */
.su-laufband {
	padding: 0 0 96px !important;
}
.su-laufband__spur {
	max-width: 1140px;
	margin: 0 auto;
	display: flex;
	gap: 48px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.su-laufband__spur::-webkit-scrollbar {
	display: none;
}
.su-laufband__logo {
	flex: 0 0 calc((100% - 144px) / 4);
	height: 150px;
	scroll-snap-align: start;
}
.su-laufband__logo a,
.su-laufband__logo img {
	display: block;
	width: 100%;
	height: 100%;
}
.su-laufband__logo img {
	object-fit: contain;
	border-radius: 5px;
}
/* The dots sit in the space below the band without adding to it (former swiper pagination). */
.su-laufband__punkte {
	display: flex;
	justify-content: center;
	gap: 14px;
	height: 4px;
	margin: 20px 0 -24px;
}
.su-laufband__punkt {
	width: 4px;
	height: 4px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #000000;
	opacity: .2;
	cursor: pointer;
}
.su-laufband__punkt[aria-current="true"] {
	opacity: 1;
}
@media (max-width: 1024px) {
	.su-laufband__logo {
		flex-basis: calc((100% - 48px) / 2);
	}
}
@media (max-width: 767px) {
	.su-laufband__logo {
		flex-basis: 100%;
	}
}
.su-faq__liste {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 24px;
}
.su-faq-item {
	border: 1px solid var(--su-gruen);
	background: #FFFFFF;
}
.su-faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	padding: 12px 24px;
	font-size: 24px;
	line-height: 36px;
	font-weight: 700;
	color: var(--su-gruen);
	cursor: pointer;
	list-style: none;
}
.su-faq-item summary::-webkit-details-marker {
	display: none;
}
.su-faq-item summary::after {
	content: "";
	flex: none;
	width: 21px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H272V64c0-17.67-14.33-32-32-32h-32c-17.67 0-32 14.33-32 32v144H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h144v144c0 17.67 14.33 32 32 32h32c17.67 0 32-14.33 32-32V304h144c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.su-faq-item[open]:not(.is-closing) summary::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M416 208H32c-17.67 0-32 14.33-32 32v32c0 17.67 14.33 32 32 32h384c17.67 0 32-14.33 32-32v-32c0-17.67-14.33-32-32-32z'/%3E%3C/svg%3E");
}
.su-faq-item > :not(summary) {
	margin-left: 24px;
	margin-right: 24px;
	font-size: 18px;
	line-height: 27px;
}
.su-faq-item > summary + * {
	margin-top: 24px;
}
.su-faq-item > :last-child {
	margin-bottom: 22.4px;
}
.su-faq-item ul {
	padding-left: 40px;
}
@media (max-width: 767px) {
	.su-faq-item summary {
		font-size: 18px;
		line-height: 27px;
	}
}

/* ---------- Legal pages ---------- */
.su-recht {
	max-width: calc(1200px + 2 * var(--su-rand));
	margin: 0 auto;
	padding-top: 48px;
	padding-bottom: 42px;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.su-recht > * {
	width: 100%;
}
.su-recht__titel {
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
	color: var(--su-gruen);
	padding-bottom: 24px;
}
.su-recht__text {
	display: flow-root;
	font-size: 18px;
	line-height: 1.5;
}
.su-recht__text p,
.su-recht__text li {
	font-size: 18px;
	line-height: 1.5;
}
.su-recht__text h2,
.su-recht__text h3,
.su-recht__text h4,
.su-recht__text h5,
.su-recht__text h6 {
	margin: 8px 0 16px;
	line-height: 1.2;
	font-weight: 800;
}
.su-recht__text :is(h2, h3) {
	font-size: 32px;
}
.su-recht__text ul,
.su-recht__text ol {
	padding-left: 40px;
}
.su-recht__text a {
	color: var(--su-magenta);
	font-weight: 600;
}
/* Shortcode output (Borlabs preference button) without paragraph, the former empty paragraph margin below. */
.su-recht__text .su-shortcode {
	margin-bottom: 14.4px;
}
.su-recht__text > :last-child {
	margin-bottom: 0;
}
.su-recht__text .su-adresse {
	font-style: italic;
	margin-bottom: 0;
}
@media (max-width: 1024px) {
	.su-recht {
		align-items: flex-start;
	}
}
@media (max-width: 767px) {
	.su-recht__titel {
		font-size: 24px;
	}
}

/* ---------- Recap page ---------- */
.su-recap-seite--galerie {
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding-bottom: 32px;
}
.su-recap-seite__nachweis {
	font-size: 14px;
	line-height: 21px;
}
.su-recap-seite--fuss {
	padding-bottom: 96px;
}
/* Gallery: masonry like the former gallery widget (4 / 2 / 1 columns, 10 px gap); theme.js places the
   pictures into the shortest column. Without JavaScript the pictures flow in CSS columns. */
.su-galerie.wp-block-gallery {
	display: block !important;
	columns: 4;
	column-gap: 10px;
	margin: 0;
}
.su-galerie.wp-block-gallery > .wp-block-image {
	width: 100% !important;
	margin: 0 0 10px !important;
	break-inside: avoid;
}
.su-galerie.wp-block-gallery > .wp-block-image img {
	width: 100%;
	height: auto;
}
.su-galerie.is-masonry {
	position: relative;
	columns: auto;
}
/* !important: the core gallery styles its pictures with an id selector (:not(#individual-image)). */
.su-galerie.is-masonry > .wp-block-image {
	position: absolute !important;
	margin: 0 !important;
}
@media (max-width: 1024px) {
	.su-galerie.wp-block-gallery {
		columns: 2;
	}
}
@media (max-width: 767px) {
	.su-galerie.wp-block-gallery {
		columns: 1;
	}
	.su-recap-seite--fuss {
		padding-bottom: 48px;
	}
}

/* ---------- Points of contact ---------- */
.su-ansprech {
	padding: 0 var(--su-rand) 42px;
}
.su-ansprech__titel {
	font-size: 32px;
	line-height: 1;
	font-weight: 700;
	color: var(--su-gruen);
	padding-bottom: 48px;
}
.su-ansprech__reihe {
	display: flex;
}
.su-person {
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	align-items: flex-start;
}
/* Desktop: photo 30 % of the text column (former image box). */
.su-person__bild {
	flex: 0 0 auto;
	width: calc((100% - 24px) * .3 / 1.3);
	margin: 0 24px 24px 0;
}
.su-person__bild img {
	width: 128px;
}
.su-person__text {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}
.su-person__name {
	font-size: 24px;
	line-height: 36px;
	font-weight: 700;
	color: var(--su-gruen);
	margin: 0;
}
.su-person__angaben {
	font-size: 18px;
	line-height: 27px;
	margin: 0;
}
.su-person__angaben a {
	font-size: 18px;
	font-weight: 400;
	color: var(--su-text);
	text-decoration: none;
}
.su-person__angaben a:hover {
	color: var(--su-magenta);
	text-decoration: underline;
}
@media (max-width: 1024px) {
	/* Tablet: like the former image box, photo (100 %) and text shrink together from their natural width. */
	.su-person__bild {
		flex: 1 1 0;
		width: auto;
		margin: 0 8px 8px 0;
	}
	/* Half and half, but the text never narrower than its longest word (former image box). */
	.su-person__text {
		flex: 1 1 0;
		min-width: auto;
	}
	.su-person__name {
		font-size: 18px;
		line-height: 27px;
	}
	.su-person__angaben {
		font-size: 14px;
		line-height: 21px;
	}
	.su-person__angaben a {
		line-height: 27px;
	}
}
@media (max-width: 767px) {
	.su-ansprech__titel {
		font-size: 24px;
	}
	.su-person {
		flex-direction: column;
	}
	.su-person__bild,
	.su-person__text {
		flex: none;
		width: 100%;
	}
	.su-person__bild {
		margin: 0 0 16px;
	}
	.su-ansprech__reihe {
		flex-direction: column;
	}
	.su-person + .su-person {
		margin-top: 17px;
	}
}

/* ---------- Footer ---------- */
.su-fuss__oben,
.su-fuss__unten {
	background: var(--su-gruen);
	padding: 48px var(--su-rand);
	display: flex;
}
.su-fuss__unten {
	padding-top: 0;
	padding-bottom: 24px;
	justify-content: space-between;
	align-items: center;
}
.su-fuss__spalte {
	width: 50%;
	flex: 0 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
}
.su-fuss__spalte--text {
	padding-right: 24px;
}
.su-fuss__marke {
	margin-bottom: 24px;
}
.su-fuss__marke img {
	width: auto;
}
.su-fuss__name,
.su-fuss__label {
	font-size: 16px;
	line-height: 24px;
	color: #FFFFFF;
	margin: 0;
}
.su-fuss__label {
	line-height: 27px;
	padding-bottom: 24px;
}
.su-fuss__logo img {
	width: auto;
}
.su-fuss__copy,
.su-fuss__folgen {
	font-size: 16px;
	line-height: 1;
	font-weight: 300;
	color: #FFFFFF;
	margin: 0;
}
.su-fuss__copy {
	width: 50%;
	flex: none;
}
.su-fuss__social {
	width: 19.922%;
	flex: none;
	display: flex;
	gap: 16px;
}
.su-fuss__social > * {
	flex: 0 1 36px;
	min-width: 0;
}
.su-fuss .su-fuss__social img {
	width: 36px;
	max-width: none;
}
.su-fuss__recht {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	min-width: 0;
}
.su-fuss__recht li {
	font-size: 16px;
	line-height: 24px;
	font-weight: 300;
}
.su-fuss__recht li + li {
	margin-left: 8px;
	padding-left: 8px;
	border-left: 1px solid #FFFFFF;
}
.su-fuss__recht a {
	color: #FFFFFF;
	font-weight: 300;
	text-decoration: none;
}
@media (max-width: 1024px) {
	.su-fuss__oben {
		flex-wrap: wrap;
	}
	.su-fuss__spalte--text {
		padding-bottom: 24px;
	}
	.su-fuss__copy {
		line-height: 1.4;
	}
	.su-fuss__recht a {
		font-size: 14px;
		line-height: 21px;
	}
}
@media (max-width: 767px) {
	.su-fuss__oben {
		flex-direction: column;
	}
	.su-fuss__spalte {
		width: 100%;
	}
	.su-fuss__spalte--text {
		padding: 0 0 24px;
	}
	.su-fuss__unten {
		flex-wrap: wrap;
	}
	.su-fuss__copy {
		width: 100%;
	}
	.su-fuss__label {
		padding-bottom: 5px;
	}
	.su-fuss__folgen {
		padding-bottom: 15px;
		width: 100%;
	}
	.su-fuss__social {
		width: 100%;
		padding-bottom: 16px;
	}
	.su-fuss__recht li + li {
		margin-left: 3px;
		padding-left: 3px;
	}
}

/* ---------- Sub pages: breadcrumb, speakers, partners, partner overview ---------- */
.su-seite {
	padding-left: var(--su-rand);
	padding-right: var(--su-rand);
}
/* Breadcrumb (former icon list): link, chevron, current page in magenta. */
.su-pfad {
	padding: 24px 0;
}
.su-pfad .su-pfad__zeile {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}
.su-pfad .su-pfad__zeile li {
	display: flex;
	align-items: center;
	font-size: 20px;
	line-height: 30px;
}
.su-pfad__zeile a,
.su-pfad__zeile {
	color: var(--su-text) !important;
	font-weight: 400 !important;
	text-decoration: none;
}
.su-pfad__zeile a:hover {
	color: var(--su-magenta) !important;
}
.su-pfad__zeile li + li::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin: 0 9.5px 0 16px;
	background: var(--su-magenta);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 256 512'%3E%3Cpath d='M224.3 273l-136 136c-9.4 9.4-24.6 9.4-33.9 0l-22.6-22.6c-9.4-9.4-9.4-24.6 0-33.9l96.4-96.4-96.4-96.4c-9.4-9.4-9.4-24.6 0-33.9L54.3 103c9.4-9.4 24.6-9.4 33.9 0l136 136c9.5 9.4 9.5 24.6.1 34z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.su-pfad__hier {
	color: var(--su-magenta) !important;
	font-weight: 700 !important;
}
/* Social links of speakers (icon, bold label) and partners (icons in a row). */
.su-social {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 9px;
}
.su-social li {
	display: flex;
	margin: 0;
}
.su-social .su-social__link {
	display: inline-flex;
	align-items: center;
	gap: 17px;
	font-size: 18px;
	line-height: 27px;
	font-weight: 800;
	color: var(--su-text);
	text-decoration: none;
}
.su-social .su-social__link:hover {
	color: var(--su-magenta);
}
.su-icon::before {
	content: "";
	flex: none;
	width: 32px;
	height: 32px;
	background: var(--su-gruen);
	-webkit-mask: var(--su-icon) center / contain no-repeat;
	mask: var(--su-icon) center / contain no-repeat;
}
.su-icon--facebook-quadrat { --su-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z'/%3E%3C/svg%3E"); }
.su-icon--x-quadrat { --su-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm297.1 84L257.3 234.6 379.4 396h-95.6L209 298.1 123.3 396H75.8l111-126.9L69.7 116h98l67.7 89.5 78.2-89.5h47.5zm-37.8 251.6L153.4 142.9h-28.3l171.8 224.7h26.3z'/%3E%3C/svg%3E"); }
.su-icon--instagram { --su-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z'/%3E%3C/svg%3E"); }
.su-icon--youtube { --su-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E"); }
.su-icon--linkedin { --su-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E"); }
.su-icon--mail { --su-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M464 64H48C21.49 64 0 85.49 0 112v288c0 26.51 21.49 48 48 48h416c26.51 0 48-21.49 48-48V112c0-26.51-21.49-48-48-48zm0 48v40.805c-22.422 18.259-58.168 46.651-134.587 106.49-16.841 13.247-50.201 45.072-73.413 44.701-23.208.375-56.579-31.459-73.413-44.701C106.18 199.465 70.425 171.067 48 152.805V112h416zM48 400V214.398c22.914 18.251 55.409 43.862 104.938 82.646 21.857 17.205 60.134 55.186 103.062 54.955 42.717.231 80.509-37.199 103.053-54.947 49.528-38.783 82.032-64.401 104.947-82.653V400H48z'/%3E%3C/svg%3E"); }
/* Partner pages: logo, text, button with the social icons in one row. */
.su-partner {
	padding-bottom: 48px;
}
.su-partner .su-titel {
	padding-bottom: 0;
}
@media (max-width: 1024px) {
	.su-partner {
		padding-bottom: 24px;
	}
}

/* ---------- Agenda: programme of the snippet "IGD Programme" in the former boxed container ---------- */
.su-agenda__innen {
	max-width: 1200px;
	margin: 0 auto;
	padding: 2% 0;
	font-size: 16px;
	line-height: 24px;
}
/* The German agenda had no space below the programme (the note follows directly). */
.page-template-page-de .su-agenda__innen {
	padding-bottom: 0;
}

/* ---------- 404: two cards (English, German) on the dog picture, as the former Elementor template ---------- */
.su-404 {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
	padding: 80px 20px !important;
	text-align: center;
	background: url("/wp-content/uploads/2026/05/interzoo_grommers_dogo_404.webp") center / cover no-repeat;
}
.su-404__karten {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 28px;
	width: 100%;
	max-width: 900px;
}
.su-404__karte {
	padding: 34px 28px 36px;
	border: 1px solid rgba(255, 255, 255, .75);
	border-radius: 24px;
	background: rgba(255, 255, 255, .72);
	box-shadow: 0 22px 55px rgba(0, 0, 0, .18);
	-webkit-backdrop-filter: blur(12px) saturate(130%);
	backdrop-filter: blur(12px) saturate(130%);
}
.su-404 .su-404__zahl {
	margin: 0 0 14px;
	font-size: 52px;
	line-height: 1;
	font-weight: 800;
	color: var(--su-gruen);
}
.su-404 .su-404__titel {
	margin: 0 0 14px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--su-gruen);
}
.su-404 .su-404__text {
	max-width: 340px;
	margin: 0 auto 28px;
	font-size: 15.5px;
	line-height: 1.55;
	font-weight: 600;
	color: #1F1F1F;
}
.su-404 .su-404__knopf {
	margin: 0;
}
.su-404 .su-404__knopf a {
	display: inline-block;
	padding: 13px 25px;
	border-radius: 999px;
	background: var(--su-gruen);
	box-shadow: 0 8px 20px rgba(0, 93, 62, .22);
	color: #FFFFFF;
	font-size: 15px;
	font-weight: 700;
	text-decoration: none;
	transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.su-404 .su-404__knopf a:hover {
	background: #00472F;
	color: #FFFFFF;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(0, 93, 62, .32);
}
@media (max-width: 768px) {
	.su-404 {
		padding: 54px 18px !important;
	}
	.su-404__karten {
		grid-template-columns: 1fr;
		gap: 22px;
		max-width: 430px;
	}
	.su-404__karte {
		padding: 30px 22px 32px;
		border-radius: 20px;
		background: rgba(255, 255, 255, .78);
	}
	.su-404 .su-404__zahl {
		font-size: 46px;
	}
	.su-404 .su-404__titel {
		font-size: 20px;
	}
	.su-404 .su-404__text {
		font-size: 15px;
	}
	.su-404 .su-404__knopf a {
		padding: 12px 22px;
		font-size: 14.5px;
	}
}

/* ---------- General pages (award, sponsor, partner pages, downloads): layout values in seiten.css ---------- */
.su-allgemein .su-pfad {
	padding: 0;
}
.su-w {
	min-width: 0;
	max-width: 100%;
}
.su-w .su-titel,
.su-w .su-text {
	margin: 0;
	padding: 0;
}
.su-w .wp-block-image figcaption {
	margin: 0;
}
/* Background picture of a container (former Elementor background, cover); the overlay comes from seiten.css. */
.su-mit-bild {
	position: relative;
}
.su-mit-bild > .su-hintergrund {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: 0;
}
.su-mit-bild > .su-hintergrund img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}
.su-mit-bild > :not(.su-hintergrund),
.su-mit-video > :not(.su-hintergrund) {
	position: relative;
	z-index: 1;
}
.su-hintergrund--mobil {
	display: none;
}
@media (max-width: 767px) {
	.su-hintergrund--breit {
		display: none;
	}
	.su-hintergrund--mobil {
		display: block;
	}
}
/* Background video of a container (former Elementor background video with fallback picture). */
.su-mit-video {
	position: relative;
	overflow: hidden;
}
.su-mit-video > .su-hintergrund {
	position: absolute;
	inset: 0;
	margin: 0;
	z-index: 0;
}
.su-mit-video > .su-hintergrund video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ---------- Speakers: cards (start pages, archive), award jury, profile ---------- */
.su-speaker-abschnitt {
	padding: 0 var(--su-rand) 48px;
}
.su-speaker-raster {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
	/* Equal height like the former loop grid: every row as high as the highest card. */
	grid-auto-rows: 1fr;
	align-items: stretch;
}
.su-speaker {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 300px;
	max-width: 100%;
}
.su-speaker__etikett {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	margin: 0;
	padding: 8px;
	background: var(--su-gruen);
	color: #FFFFFF;
	font-size: 16px;
	line-height: 24px;
}
.su-speaker__bild,
.su-speaker__bild img {
	display: block;
	width: 300px;
	height: 300px;
	max-width: 100%;
}
.su-speaker__bild img {
	object-fit: fill;
}
.su-speaker__text {
	padding: 16px 0;
}
.su-speaker__name {
	font-size: 18px;
	line-height: 18px;
	font-weight: 600;
	color: var(--su-text);
	margin: 0 0 16px;
}
.su-speaker__name a {
	color: inherit;
	text-decoration: none;
}
.su-speaker__name a:hover {
	color: var(--su-magenta);
}
.su-speaker__zeile {
	margin: 0;
	font-size: 14px;
	line-height: 24px;
	color: var(--su-text);
}
/* "Read bio" appears when the pointer is on the card (former custom CSS of the loop item). */
.su-speaker__knopf {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12px 24px;
	border: 1px solid var(--su-gruen);
	background: #FFFFFF;
	color: var(--su-gruen) !important;
	font-size: 15px;
	line-height: 15px;
	font-weight: 500;
	text-decoration: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(14px);
	transition: opacity .25s ease, transform .25s ease, visibility 0s linear .25s;
}
.su-speaker__knopf::after {
	content: "";
	width: 15px;
	height: 15px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M256 8c137 0 248 111 248 248S393 504 256 504 8 393 8 256 119 8 256 8zM140 300h116v70.9c0 10.7 13 16.1 20.5 8.5l114.3-114.9c4.7-4.7 4.7-12.2 0-16.9l-114.3-115c-7.6-7.6-20.5-2.2-20.5 8.5V212H140c-6.6 0-12 5.4-12 12v64c0 6.6 5.4 12 12 12z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.su-speaker:hover .su-speaker__knopf,
.su-speaker:focus-within .su-speaker__knopf {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity .25s ease, transform .25s ease, visibility 0s;
}
@media (prefers-reduced-motion: reduce) {
	.su-speaker__knopf {
		transition: none;
		transform: none;
	}
}
/* Award jury: 250 px cards, centred, 48 px apart, without label and button. */
.su-speaker-raster--jury {
	grid-template-columns: repeat(4, 250px);
	column-gap: 48px;
	row-gap: 48px;
	justify-content: center;
}
.su-speaker-raster--jury .su-speaker,
.su-speaker-raster--jury .su-speaker__bild,
.su-speaker-raster--jury .su-speaker__bild img {
	width: 250px;
}
.su-speaker-raster--jury .su-speaker__bild,
.su-speaker-raster--jury .su-speaker__bild img {
	height: 250px;
	object-fit: cover;
}
.su-speaker-raster--jury .su-speaker__knopf {
	display: none;
}
@media (max-width: 1024px) {
	.su-speaker-raster {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.su-speaker-raster--jury {
		grid-template-columns: repeat(2, 250px);
	}
}
@media (max-width: 767px) {
	.su-speaker-raster {
		grid-template-columns: minmax(0, 1fr);
	}
	.su-speaker {
		width: auto;
	}
	.su-speaker-raster--jury {
		grid-template-columns: 250px;
	}
}

/* Profile page. */
.su-profil {
	padding-bottom: 48px;
}
.su-profil__kopf {
	display: flex;
	gap: 20px;
	margin-bottom: 48px;
}
.su-profil__bild {
	margin: 0;
	flex: 0 0 300px;
}
.su-profil__bild img {
	display: block;
	width: 300px;
	height: 300px;
	object-fit: cover;
}
.su-profil__angaben {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 8px;
	width: 21%;
	padding: 10px;
}
.su-profil__angaben .su-speaker__etikett {
	position: static;
	align-self: flex-start;
	font-size: 18px;
	line-height: 27px;
	font-weight: 800;
}
.su-profil__name {
	font-size: 18px;
	line-height: 18px;
	font-weight: 800;
	color: var(--su-gruen);
}
.su-profil__position,
.su-profil__firma {
	font-size: 16px;
	line-height: 1.4;
	font-weight: 400;
	color: var(--su-text);
}
.su-profil__position {
	font-weight: 600;
	color: var(--su-gruen);
}
.su-profil__links {
	padding: 0;
	list-style: none;
}
.su-profil__bio {
	padding-bottom: 24px;
}
.su-profil__bio p {
	font-size: 24px;
	line-height: 36px;
	margin: 0 0 14.4px;
}
/* Former image carousel: four logos of 324 px per view, centred in a 386 px high band. */
.su-laufband {
	padding: 70px var(--su-rand) 154px;
}
.su-laufband .su-laufband__logo img {
	width: 324px;
	height: 162px;
	object-fit: contain;
}

/* ---------- Videos: Borlabs placeholder with preview picture and green square buttons (as Fresh Ideas 0.1.5) ---------- */
.su-video {
	width: 100%;
	margin: 0;
}
/* 16:9 box on black, like the former video widget; the Borlabs placeholder fills it centred. */
.su-video .wp-block-embed__wrapper {
	position: relative;
	aspect-ratio: 16 / 9;
	background: #000000;
}
.su-video .wp-block-embed__wrapper::before {
	display: none;
}
.su-video .wp-block-embed__wrapper > iframe,
.su-video .wp-block-embed__wrapper > .brlbs-cmpnt-container {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}
/* Borlabs placeholder (before consent): YouTube preview picture (Borlabs keeps a local copy, no request to
   Google), on it a white panel with green buttons in the site style instead of the red preset. The box grows
   if the text does not fit into 16:9 (phones). Borlabs' own rules carry an attribute and up to six classes, hence the long selectors. */
/* While blocked, the 16:9 ratio sits on the placeholder itself, which may grow taller than that. */
.su-video .wp-block-embed__wrapper:has(> .brlbs-cmpnt-container) {
	aspect-ratio: auto;
}
.su-video .wp-block-embed__wrapper {
	container-type: inline-size;
}
/* Narrow video boxes (two side by side, phones): the long notice does not fit, link and buttons stay. */
@container (max-width: 699px) {
	body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-description {
		display: none;
	}
}
body .su-video .wp-block-embed__wrapper > .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker {
	position: relative;
	inset: auto;
	height: auto;
}
body .su-video .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker .brlbs-cmpnt-cb-preset-c {
	aspect-ratio: 16 / 9;
	height: auto;
	overflow: visible;
	align-items: center;
	justify-content: center;
	padding: 16px;
	border-radius: 0;
	background: #000000;
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-thumbnail {
	display: block;
	border-radius: 0;
	/* hqdefault is 4:3 with black bars above and below the 16:9 picture: scaled so the bars stay outside. */
	background-size: auto 133.4%;
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-main {
	margin: 0;
	box-sizing: border-box;
	width: min(440px, 100%);
	flex-shrink: 0;
	overflow: visible;
	gap: 12px;
	padding: 20px;
	border-radius: 0;
	background: rgba(255, 255, 255, .95);
	color: var(--su-text);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-play-button {
	display: none;
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-description {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	color: var(--su-text);
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c a.brlbs-cmpnt-cb-provider-toggle {
	font-size: 14px;
	color: var(--su-gruen);
	text-decoration: underline;
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c .brlbs-cmpnt-cb-buttons {
	gap: 8px;
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c a.brlbs-cmpnt-cb-btn {
	padding: 10px 16px;
	border: 2px solid var(--su-gruen);
	border-radius: 0;
	background: var(--su-gruen);
	color: #FFFFFF;
	font-size: 14px;
	line-height: 1.4;
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c a.brlbs-cmpnt-cb-btn + a.brlbs-cmpnt-cb-btn {
	background: #FFFFFF;
	color: var(--su-gruen);
}
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c a.brlbs-cmpnt-cb-btn:hover,
body .su-video div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id] .brlbs-cmpnt-cb-preset-c a.brlbs-cmpnt-cb-btn:focus-visible {
	border-color: var(--su-magenta);
	background: var(--su-magenta);
	color: #FFFFFF;
}

/* Picture and text side by side: growing column gap instead of the Elementor gaps (8 to 20 px), as on Fresh Ideas.
   The columns keep their share (flex-shrink), the gap comes on top. */
.su-allgemein .su-reihe:has(> .su-c .su-w--image, > .su-w--image, > .su-c .su-mit-video, > .su-mit-video, > .su-c .su-w--video):has(> .su-c .su-w--text-editor, > .su-w--text-editor),
.su-allgemein .su-reihe:has(> .su-c .su-w--video):has(> .su-c .su-w--image) {
	column-gap: clamp(32px, 4vw, 64px) !important;
}
.su-allgemein .su-iconbox {
	column-gap: max(24px, var(--su-iconbox-abstand, 0px)) !important;
}
.su-allgemein .su-raster:has(> .su-w--icon-box) {
	column-gap: clamp(32px, 4vw, 48px) !important;
}
.su-allgemein .su-iconbox__inhalt {
	min-width: 0;
	overflow-wrap: break-word;
	hyphens: auto;
}
@media (max-width: 767px) {
	.su-seite--speaker {
		padding-left: 2%;
		padding-right: 2%;
	}
	.su-profil__kopf {
		flex-direction: column;
		gap: 0;
	}
	.su-profil__angaben {
		width: 100%;
	}
	.su-profil__bio p {
		font-size: 18px;
		line-height: 27px;
	}
}
@media (max-width: 767px) {
	.su-haupt > .wp-block-post-content > section.su-agenda {
		padding-left: 2%;
		padding-right: 2%;
	}
}
/* Recap: the gallery stood in a 1144 px wide box (Elementor default content width of that container). */
@media (min-width: 1025px) {
	.su-recap-seite--galerie .su-galerie {
		width: 100%;
		max-width: 1144px;
		margin-left: auto;
		margin-right: auto;
	}
}
/* Search and archive fallback (index template). */
.su-liste {
	padding-top: 48px;
	padding-bottom: 48px;
}
.su-liste .su-liste__titel {
	margin: 32px 0 8px;
	font-size: 24px;
}
