/*
Theme Name: Biomed
Theme URI: https://biomed.ch
Description: Block theme for Biomed AG website.
Version: 1.0.28
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 8.0
Author: xeit GmbH
Author URI: https://xeit.ch
Text Domain: biomed
*/

/* ============================================================
   CSS Custom Properties
   ============================================================ */
:root {
	--header-height: 100px;
}

/* ============================================================
   Global
   ============================================================ */

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

strong {
	font-weight: 600;
}

.scroll-to-top {
	position: fixed;
	right: max(calc((100vw - var(--wp--style--global--wide-size, 1190px)) / 2 + 0rem), 2rem);
	bottom: 2rem;
	z-index: 10;
	opacity: 0;
	pointer-events: none;
	transform: translateY(0.5rem);
	visibility: hidden;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.25s;
}

.scroll-to-top.is-visible {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(0);
	visibility: visible;
	transition-delay: 0s;
}

.scroll-to-top button {
	width: 3.125rem;
	height: 3.125rem;
	padding: 0;
	border: none;
	background: none;
	cursor: pointer;
}

.scroll-to-top button svg {
	width: 3.125rem;
	height: 3.125rem;
}

@media (min-width: 1380px) {
	.scroll-to-top {
		margin-right: -5.5rem;
	}
}

@media (min-width: 900px) {
	.wp-block-biomed-nav-toggle {
		display: none !important;
	}
}

@media (max-width: 899px) {
	.site-header .site-header__nav {
		display: none !important;
	}
}

.mobile-menu .site-header__nav {
	display: block !important;
}

.mobile-menu {
	display: none;
	position: fixed;
	top: var(--header-height);
	left: 0;
	width: 100%;
	height: calc(100vh - var(--header-height));
	overflow-y: auto;
	z-index: 999;
	padding: 2em !important;
}

body.mobile-nav-open .mobile-menu {
	display: block;
}

@media (min-width: 900px) {
	.mobile-menu {
		display: none !important;
	}
}

.is-root-container .mobile-menu {
	display: block !important;
	position: static !important;
	height: auto !important;
	overflow: visible !important;
}

.mobile-menu .wp-block-navigation,
.mobile-menu .wp-block-navigation__container {
	width: 100% !important;
	list-style: none;
	padding: 0;
	margin: 0;
	gap: 0 !important;
}

.mobile-menu .wp-block-navigation-item {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.mobile-menu > nav > .wp-block-navigation__container > li {
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	padding: 0.75em 0 !important;
}

.mobile-menu .wp-block-navigation-item__content {
	display: block;
	color: #fff !important;
	padding: 0.25em 0;
	text-decoration: none;
}

.mobile-menu > nav > .wp-block-navigation__container > li > a .wp-block-navigation-item__label,
.mobile-menu > nav > .wp-block-navigation__container > li > .wp-block-navigation-item__content .wp-block-navigation-item__label {
	font-size: 1.25em;
	font-weight: 700;
}

.mobile-menu .wp-block-navigation-submenu,
.mobile-menu .wp-block-navigation-item.has-child {
	display: block !important;
	position: relative !important;
}

.mobile-menu .wp-block-navigation__submenu-container {
	position: static !important;
	display: none !important;
	width: auto !important;
	min-width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	grid-template-columns: none !important;
}

.mobile-menu .wp-block-navigation__submenu-container::before {
	display: none !important;
}

.mobile-menu .wp-block-navigation-item.has-child.is-submenu-open > .wp-block-navigation__submenu-container {
	display: block !important;
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	width: auto !important;
	height: auto !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	background: transparent !important;
	box-shadow: none !important;
	padding: 0.5em 0 0 1em !important;
	grid-template-columns: none !important;
}

.mobile-menu .wp-block-navigation__submenu-icon,
.mobile-menu .wp-block-navigation-submenu__toggle {
	position: absolute;
	right: 0;
	top: 0.75em;
	background: rgba(255, 255, 255, 0.2);
	border: none;
	border-radius: 4px;
	cursor: pointer;
	padding: 0.5em;
	width: 2.25em;
	height: 2.25em;
	display: flex !important;
	align-items: center;
	justify-content: center;
	z-index: 9;
}

.mobile-menu .wp-block-navigation__submenu-icon svg {
	width: 1em;
	height: 1em;
	transition: transform 0.3s ease;
}

.mobile-menu .wp-block-navigation__submenu-icon svg path {
	stroke: #fff;
}

.mobile-menu .wp-block-navigation-item.has-child.is-submenu-open > .wp-block-navigation__submenu-icon svg {
	transform: rotate(180deg);
}

.mobile-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: rgba(255, 255, 255, 0.8) !important;
	padding-left: 0 !important;
}

.mobile-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	font-size: 1.125em;
}

.mobile-menu .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
	display: none !important;
}

.mobile-menu nav.site-header__nav > ul:first-child > li + li > .wp-block-navigation-item__content::before {
	display: none;
}

.lang-switch-mobile {
	display: flex;
	gap: 0.5em;
	flex-wrap: wrap;
}

.lang-switch-mobile__btn {
	display: inline-block;
	padding: 0.5em 1.25em;
	border: 2px solid currentColor;
	border-radius: 10px;
	font-size: 1rem;
	font-weight: 500;
	text-decoration: none;
	color: #fff !important;
	background: transparent;
	transition: background 0.2s ease, opacity 0.2s ease;
}

.lang-switch-mobile__btn.is-active {
	background: rgba(255, 255, 255, 0.2);
}

.lang-switch-mobile__btn:hover {
	opacity: 0.7;
}

.mobile-menu .site-header__nav.wp-block-navigation {
	height: unset !important;
}

.mobile-menu .site-header__nav .wp-block-navigation-item__content {
	padding: 0.25em 3em 0.25em 0 !important;
}


.nav-toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 5px;
	width: 3rem;
	height: 3rem;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
}

.nav-toggle__bar {
	display: block;
	width: 1.75rem;
	height: 0.1875rem;
	background-color: var(--wp--preset--color--primary);
	border-radius: 0.0625rem;
	transition: transform 0.3s ease, opacity 0.3s ease;
}

.nav-toggle.is-active .nav-toggle__bar:nth-child(1) {
	transform: translateY(0.5rem) rotate(45deg);
}

.nav-toggle.is-active .nav-toggle__bar:nth-child(2) {
	opacity: 0;
	transform: scaleX(0);
}

.nav-toggle.is-active .nav-toggle__bar:nth-child(3) {
	transform: translateY(-0.5rem) rotate(-45deg);
}

.otgs-development-site-front-end {
	display: none !important;
}

/* Fixed header offset */
body {
	padding-top: var(--header-height);
}

html {
	scroll-padding-top: calc(var(--header-height) + 1rem);
}

:where([id]) {
	scroll-margin-top: calc(var(--header-height) + 1rem);
}

.entry-content {
	margin-top: 0 !important;
}

/* ============================================================
   Header
   ============================================================ */
.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	padding: 0 2em;
}

.site-header .wp-block-group {
	margin-top: 0;
	margin-bottom: 0;
}

/* Topbar: small bar on the right, attached to top, rounded bottom corners */
.site-header__topbar {
	position: absolute;
	top: 0;
	right: calc((100% - var(--wp--style--global--wide-size, 1190px)) / 2);
	background: var(--wp--preset--color--primary);
	color: #fff;
	font-size: 14px;
	line-height: 30px;
	height: 30px;
	border-radius: 0 0 10px 10px;
	padding: 0 20px;
	z-index: 10;
}

.site-header__topbar .wp-block-group {
	gap: 1.5rem !important;
}

.site-header__topbar p {
	margin: 0;
	color: #fff;
	font-size: 14px;
	line-height: 30px;
}

.site-header__topbar a {
	color: #fff !important;
	text-decoration: none;
}

.site-header__topbar a:hover {
	text-decoration: underline;
}

/* Language switcher */
.lang-switch {
	position: relative;
	cursor: pointer;
}

.lang-switch__current {
	display: flex;
	align-items: center;
	gap: 0.375em;
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	line-height: 30px;
}

.lang-switch__current svg {
	transition: transform 0.2s ease;
}

.lang-switch:hover .lang-switch__current svg {
	transform: rotate(180deg);
}

.lang-switch__dropdown {
	display: none;
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: #fff;
	border-radius: 0 0 8px 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	list-style: none;
	margin: 0;
	padding: 0.25em 0;
	min-width: 3em;
	z-index: 100;
}

.lang-switch:hover .lang-switch__dropdown {
	display: block;
}

.lang-switch__dropdown li {
	margin: 0;
}

.lang-switch__dropdown a {
	display: block;
	padding: 0.25em 0.75em;
	color: #000 !important;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none !important;
	text-align: center;
}

.lang-switch__dropdown a:hover {
	color: var(--wp--preset--color--primary) !important;
}

/* Main header row */
.site-header__main {
	height: var(--header-height);
	max-width: var(--wp--style--global--wide-size, 1190px);
	margin: 0 auto;
	gap: 2rem !important;
	align-items: flex-end !important;
}

.site-header__main .wp-block-site-logo {
	margin-bottom: 2.125em;
}

.site-header__main .wp-block-site-logo img {
	height: 33px;
	width: auto;
}



/* Navigation */
.site-header__nav.wp-block-navigation {
	gap: 0;
}

.site-header__nav .wp-block-navigation__container {
	gap: 0;
}

.site-header__nav.wp-block-navigation {
	height: 3.125em;
}

.site-header__nav .wp-block-navigation-item__content {
	padding: 0 1rem 1.5em;
	font-size: 1rem;
	font-weight: 500;
	color: var(--wp--preset--color--foreground);
	line-height: unset;
	position: relative;
}

.site-header__nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 1rem;
	right: 1rem;
	height: 4px;
	background: var(--wp--preset--color--primary);
	transform: scaleX(0);
	transition: transform 0.2s ease;
}

.site-header__nav > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
.site-header__nav > .wp-block-navigation__container > .wp-block-navigation-item.current-menu-item > .wp-block-navigation-item__content::after,
.site-header__nav > .wp-block-navigation__container > .wp-block-navigation-item.current-page > .wp-block-navigation-item__content::after,
.site-header__nav > .wp-block-navigation__container > .wp-block-navigation-item.current-page-ancestor > .wp-block-navigation-item__content::after,
.site-header__nav > .wp-block-navigation__container > .wp-block-navigation-submenu:hover > .wp-block-navigation-item__content::after {
	transform: scaleX(1);
}

/* Dividers between nav items — only top-level li inside the nav's direct ul */
nav.site-header__nav > ul:first-child > li {
	position: relative;
}

nav.site-header__nav > ul:first-child > li + li > .wp-block-navigation-item__content::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 1px;
	height: 17px;
	background: #d9d9d9;
}

/* ============================================================
   Mega Menu Dropdown
   ============================================================ */
.site-header__nav .wp-block-navigation-submenu {
	position: static !important;
}

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
}

.site-header__main {
	position: relative;
}

.site-header__nav .wp-block-navigation-submenu__toggle {
	display: none;
}

.site-header__nav .wp-block-navigation__submenu-container {
	position: fixed !important;
	top: var(--header-height) !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	transform: none !important;
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	padding: 2em;
	display: none;
	grid-template-columns: 200px 200px;
	column-gap: 2em;
	z-index: 999;
}

.site-header__nav .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50%;
	height: 100%;
	background:
		url('./assets/mega-menu-bg.png') no-repeat left bottom / auto 100%,
		linear-gradient(to right, #eee, #fff);
	pointer-events: none;
	z-index: 0;
}

.site-header__nav .wp-block-navigation__submenu-container > * {
	position: relative;
	z-index: 1;
}

.site-header__nav .wp-block-navigation-submenu:hover > .wp-block-navigation__submenu-container {
	display: grid;
}

.site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item {
	break-inside: avoid;
	border: none;
}

.site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 16px;
	font-weight: 400;
	color: #888;
	line-height: 20px;
	padding: 6px 0 !important;
	border-bottom: none !important;
}

.site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--primary);
}

.site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item.current-page > .wp-block-navigation-item__content,
.site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item > .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--wp--preset--color--primary);
}

.site-header__nav .wp-block-navigation__submenu-container .wp-block-navigation-item + .wp-block-navigation-item {
	border-left: none;
}

/* ============================================================
   Hero
   ============================================================ */
.wp-block-cover {
	min-height: 400px !important;
	padding: 0 !important;
}

.home .wp-block-cover {
	min-height: calc(100vh - var(--header-height)) !important;
}

.wp-block-cover .wp-block-cover__background {
	mask-image: linear-gradient(90deg, black 0%, black 42%, transparent 55%);
	-webkit-mask-image: linear-gradient(90deg, black 0%, black 42%, transparent 55%);
}

.wp-block-cover .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	max-width: var(--wp--style--global--wide-size, 1190px);
	margin: 0 auto;
	padding: 0 2rem;
}

.wp-block-cover .hero-content {
	max-width: 500px;
	padding: unset;
}

.wp-block-cover .hero-content .wp-block-buttons {
	margin-top: 30px;
}

/* ============================================================
   Buttons
   ============================================================ */
.wp-block-button__link {
	padding: 8px 25px;
	font-weight: 500;
	line-height: 30px;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.wp-block-button__link:hover {
	opacity: 0.9;
}

/* Outline style */
.is-style-outline .wp-block-button__link {
	background: transparent !important;
	border: 2px solid currentColor;
}

.is-style-outline .wp-block-button__link:hover {
	opacity: 0.7;
}

/* Link style */
.is-style-link .wp-block-button__link {
	background: transparent !important;
	color: var(--wp--preset--color--primary) !important;
	padding: 0;
	border-radius: 0;
	text-decoration: underline;
	font-weight: 500;
}

.is-style-link .wp-block-button__link:hover {
	text-decoration: none;
}

/* ============================================================
   Paragraph: Subline style
   ============================================================ */
h2, h3 {
	font-feature-settings: 'liga' off, 'clig' off;
}

h3 {
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: break-word;
	hyphenate-limit-chars: 6 3 2;
}

h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child,
h5:first-child,
h6:first-child {
	margin-top: 0;
}

.is-style-subline {
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1.75rem;
	color: #000;
}

/* ============================================================
   Group: Schmal (narrow)
   ============================================================ */
.is-style-schmal {
	max-width: 900px;
}

.is-style-schmal + .wp-block-group {
	margin-top: 3em !important;
}

/* ============================================================
   Group: Card styles
   ============================================================ */
.is-style-card,
.biomed-card {
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 10px;
	overflow: hidden;
	transition: border-color 0.2s ease;
	min-width: 230px;
}

.is-style-card:has(a),
.biomed-card:has(a) {
	cursor: pointer;
}

.is-style-card:has(a):hover,
.biomed-card:has(a):hover {
	border-color: var(--wp--preset--color--primary);
}

.is-style-card > .wp-block-image,
.biomed-card__image {
	margin: 10px 10px 0 10px !important;
}

.is-style-card > .wp-block-image:first-child {
	margin-top: 10px !important;
}

.is-style-card > .wp-block-image img,
.biomed-card__image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 5px;
	display: block;
}

/* Card title */
.is-style-card h3,
.biomed-card__content h3 {
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	color: var(--wp--preset--color--primary);
	margin-bottom: 0;
}

/* Card body text */
.is-style-card p,
.biomed-card__content p {
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	color: #000;
}

/* Card "mehr erfahren" link — last <p> that contains only an <a> */
.is-style-card p:last-child:has(> a:only-child),
.biomed-card__content p:last-child:has(> a:only-child) {
	margin-top: 12px;
}

.is-style-card p:last-child:has(> a:only-child) a,
.biomed-card__content p:last-child:has(> a:only-child) a {
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.is-style-card p:last-child:has(> a:only-child) a::after,
.biomed-card__content p:last-child:has(> a:only-child) a::after {
	content: " \203A";
	font-size: 16px;
}

/* Card content padding */
.is-style-card > .wp-block-group,
.biomed-card__content {
	padding: 10px 20px 20px;
}

/* Tighten card internal spacing */
.is-style-card .wp-block-group > * + *,
.biomed-card__content > * + * {
	margin-top: 6px;
}

/* ============================================================
   Group: Card Grid styles
   ============================================================ */
.is-style-card-grid-4,
.is-style-card-grid-3,
.is-style-card-grid-2 {
	display: grid;
	gap: 50px;
	align-items: stretch;
}

.is-style-card-grid-4 > *,
.is-style-card-grid-3 > *,
.is-style-card-grid-2 > * {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	overflow-wrap: break-word;
	hyphens: auto;
}

/* Stretch cards to match the tallest sibling in their row.
   Descendant selector + height:100% covers cases where WP wraps the card
   in an intermediate layout container. */
.is-style-card-grid-4 .biomed-card,
.is-style-card-grid-3 .biomed-card,
.is-style-card-grid-2 .biomed-card {
	align-self: stretch;
	height: 100%;
}

.is-style-card-grid-3 .is-style-card,
.is-style-card-grid-3 .biomed-card {
	min-width: 0;
}

.is-style-card-grid-4 {
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.is-style-card-grid-3 {
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

.is-style-card-grid-2 {
	grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}

@media (max-width: 1100px) {
	.is-style-slider-4 .is-style-card,
	.is-style-slider-4 .wp-block-biomed-card,
	.is-style-slider-4 .wp-block-biomed-zitat,
	.is-style-slider-4 .wp-block-biomed-icon-box,
	.is-style-slider-4 .biomed-slider-static > .is-style-card,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-card,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-zitat,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-icon-box {
		width: calc((100% - 102px) / 3) !important;
	}
}

@media (max-width: 900px) {
	.site-footer__bottom {
		height: unset !important;
		line-height: 1.6;
		padding-top: 1em;
		padding-bottom: 1em;
	}
}

@media (max-width: 800px) {
	h1 {
		font-size: 2.5rem !important;
	}

	h2 {
		font-size: 2rem !important;
	}

	.is-style-card-grid-4,
	.is-style-card-grid-3,
	.is-style-card-grid-2 {
		gap: 1em;
	}

	[class*="is-style-slider-"] .is-style-card,
	[class*="is-style-slider-"] .wp-block-biomed-card,
	[class*="is-style-slider-"] .wp-block-biomed-zitat,
	[class*="is-style-slider-"] .wp-block-biomed-icon-box {
		margin-right: 1em !important;
	}

	.is-style-slider-4 .is-style-card,
	.is-style-slider-4 .wp-block-biomed-card,
	.is-style-slider-4 .wp-block-biomed-zitat,
	.is-style-slider-4 .wp-block-biomed-icon-box,
	.is-style-slider-3 .is-style-card,
	.is-style-slider-3 .wp-block-biomed-card,
	.is-style-slider-3 .wp-block-biomed-zitat,
	.is-style-slider-3 .wp-block-biomed-icon-box,
	.is-style-slider-4 .biomed-slider-static > .is-style-card,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-card,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-zitat,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-icon-box,
	.is-style-slider-3 .biomed-slider-static > .is-style-card,
	.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-card,
	.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-zitat,
	.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-icon-box {
		width: calc((100% - 2em - 2px) / 3) !important;
	}

	.is-style-slider-2 .is-style-card,
	.is-style-slider-2 .wp-block-biomed-card,
	.is-style-slider-2 .wp-block-biomed-zitat,
	.is-style-slider-2 .wp-block-biomed-icon-box,
	.is-style-slider-2 .biomed-slider-static > .is-style-card,
	.is-style-slider-2 .biomed-slider-static > .wp-block-biomed-card,
	.is-style-slider-2 .biomed-slider-static > .wp-block-biomed-zitat,
	.is-style-slider-2 .biomed-slider-static > .wp-block-biomed-icon-box {
		width: calc((100% - 1em - 2px) / 2) !important;
	}
}

@media (max-width: 440px) {
	.is-style-card-grid-3 {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 700px) {
	.is-style-slider-4 .is-style-card,
	.is-style-slider-4 .wp-block-biomed-card,
	.is-style-slider-4 .wp-block-biomed-zitat,
	.is-style-slider-4 .wp-block-biomed-icon-box,
	.is-style-slider-3 .is-style-card,
	.is-style-slider-3 .wp-block-biomed-card,
	.is-style-slider-3 .wp-block-biomed-zitat,
	.is-style-slider-3 .wp-block-biomed-icon-box,
	.is-style-slider-4 .biomed-slider-static > .is-style-card,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-card,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-zitat,
	.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-icon-box,
	.is-style-slider-3 .biomed-slider-static > .is-style-card,
	.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-card,
	.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-zitat,
	.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-icon-box {
		width: calc((100% - 1em - 2px) / 2) !important;
	}
}

@media (max-width: 450px) {
	h1 {
		font-size: 2.25rem !important;
	}

	h2 {
		font-size: 1.75rem !important;
	}

	h3 {
		font-size: 1.4rem !important;
	}

	.wp-block-columns.kontakt-box > .wp-block-column:first-child {
		padding: 1em !important;
	}

	[class*="is-style-slider-"] .is-style-card,
	[class*="is-style-slider-"] .wp-block-biomed-card,
	[class*="is-style-slider-"] .wp-block-biomed-zitat,
	[class*="is-style-slider-"] .wp-block-biomed-icon-box {
		width: 100% !important;
		margin-right: 1em !important;
	}

	[class*="is-style-slider-"] .biomed-slider-static > .is-style-card,
	[class*="is-style-slider-"] .biomed-slider-static > .wp-block-biomed-card,
	[class*="is-style-slider-"] .biomed-slider-static > .wp-block-biomed-zitat,
	[class*="is-style-slider-"] .biomed-slider-static > .wp-block-biomed-icon-box {
		width: 100% !important;
		margin-right: 0 !important;
	}

	.wp-block-biomed-zitat {
		padding: 1rem;
	}
}

/* ============================================================
   Group: Logo Grid
   ============================================================ */
.is-style-logo-grid {
	position: relative;
}

/* Horizontal layout when Flickity hasn't taken over (fits in viewport). */
.is-style-logo-grid:not(.flickity-enabled) {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 3rem;
}

.is-style-logo-grid:not(.flickity-enabled) .wp-block-image {
	margin-right: 0;
}

.is-style-logo-grid .wp-block-image {
	margin-right: 3rem;
}

.is-style-logo-grid .wp-block-image img {
	max-height: 100px;
	width: auto;
	object-fit: contain;
}

/* ============================================================
   Accordion (wp-block-accordion plugin)
   ============================================================ */
.wp-block-accordion-item {
	border-top: 1px solid #d9d9d9;
}

.wp-block-accordion-item + .wp-block-accordion-item {
	margin-top: 0;
}

.wp-block-accordion-item:last-child {
	border-bottom: 1px solid #d9d9d9;
}

.wp-block-accordion-heading__toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	padding: 1.5em 0;
	text-align: left;
	gap: 1rem;
}

.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: unset;
	color: var(--wp--preset--color--primary);
}

.wp-block-accordion-heading__toggle-title {
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 18px;
	font-weight: 500;
	line-height: 26px;
	color: #000;
}

.wp-block-accordion-heading__toggle-icon {
	flex-shrink: 0;
	width: 35px;
	height: 35px;
	font-size: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Ccircle cx='17.5' cy='17.5' r='17' stroke='%23D9D9D9'/%3E%3Cpath d='M11.1055 17.6917H24.1055' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M17.6055 11.1924V24.1924' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center;
	background-size: 35px 35px;
	transition: transform 0.2s ease;
}

.wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle-icon {
	transform: rotate(45deg);
}

.wp-block-accordion-panel {
	display: grid !important;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.3s ease;
	overflow: hidden;
	padding: 0;
	visibility: visible !important;
}

.wp-block-accordion-item.is-open .wp-block-accordion-panel {
	grid-template-rows: 1fr;
	padding-bottom: 1.5em;
}

.wp-block-accordion-panel > * {
	overflow: hidden;
	min-height: 0;
}

.wp-block-accordion-panel p {
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	color: #000;
}

/* Also keep details/faq style for core/details block */
details.is-style-faq {
	border-top: 1px solid #d9d9d9;
}

details.is-style-faq:last-child {
	border-bottom: 1px solid #d9d9d9;
}

details.is-style-faq summary {
	font-weight: 500;
	font-size: 18px;
	line-height: 26px;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	padding: 1.5em 0;
	color: #000;
}

details.is-style-faq summary::-webkit-details-marker {
	display: none;
}

details.is-style-faq summary::after {
	content: "";
	flex-shrink: 0;
	width: 35px;
	height: 35px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='35' viewBox='0 0 35 35' fill='none'%3E%3Ccircle cx='17.5' cy='17.5' r='17' stroke='%23D9D9D9'/%3E%3Cpath d='M11.1055 17.6917H24.1055' stroke='black' stroke-width='1.5'/%3E%3Cpath d='M17.6055 11.1924V24.1924' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat center;
	background-size: 35px 35px;
	transition: transform 0.2s ease;
}

details[open].is-style-faq summary::after {
	transform: rotate(45deg);
}

details.is-style-faq > *:not(summary) {
	padding-bottom: 1.5em;
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	color: #000;
}

/* ============================================================
   Flickity Carousel
   ============================================================ */
[class*="is-style-slider-"] {
	position: relative;
}

.is-style-slider-4:not(.flickity-enabled) {
	display: flex;
	justify-content: space-between;
}

.is-style-slider-3:not(.flickity-enabled) {
	display: flex;
	justify-content: space-between;
}

.is-style-slider-4:not(.flickity-enabled) .is-style-card,
.is-style-slider-4:not(.flickity-enabled) .wp-block-biomed-card,
.is-style-slider-4:not(.flickity-enabled) .wp-block-biomed-zitat,
.is-style-slider-4:not(.flickity-enabled) .wp-block-biomed-icon-box {
	margin-right: 0 !important;
}

.is-style-slider-3:not(.flickity-enabled) .is-style-card,
.is-style-slider-3:not(.flickity-enabled) .wp-block-biomed-card,
.is-style-slider-3:not(.flickity-enabled) .wp-block-biomed-zitat,
.is-style-slider-3:not(.flickity-enabled) .wp-block-biomed-icon-box {
	margin-right: 0 !important;
}

/* Editor fallback: show as wrapping row */
.editor-styles-wrapper [class*="is-style-slider-"] {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}

[class*="is-style-slider-"] > .biomed-slider-static,
[class*="is-style-slider-"] .biomed-slider-static {
	display: flex;
	flex-wrap: wrap;
	gap: 50px;
}

.editor-styles-wrapper .is-style-slider-4 > .is-style-card,
.editor-styles-wrapper .is-style-slider-4 > .wp-block-biomed-card,
.editor-styles-wrapper .is-style-slider-4 > .wp-block-biomed-zitat,
.editor-styles-wrapper .is-style-slider-4 > .wp-block-biomed-icon-box,
.is-style-slider-4 .biomed-slider-static > .is-style-card,
.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-card,
.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-zitat,
.is-style-slider-4 .biomed-slider-static > .wp-block-biomed-icon-box {
	width: calc((100% - 150px) / 4);
}

.editor-styles-wrapper .is-style-slider-3 > .is-style-card,
.editor-styles-wrapper .is-style-slider-3 > .wp-block-biomed-card,
.editor-styles-wrapper .is-style-slider-3 > .wp-block-biomed-zitat,
.editor-styles-wrapper .is-style-slider-3 > .wp-block-biomed-icon-box,
.is-style-slider-3 .biomed-slider-static > .is-style-card,
.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-card,
.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-zitat,
.is-style-slider-3 .biomed-slider-static > .wp-block-biomed-icon-box {
	width: calc((100% - 100px) / 3);
}

.editor-styles-wrapper .is-style-slider-2 > .is-style-card,
.editor-styles-wrapper .is-style-slider-2 > .wp-block-biomed-card,
.editor-styles-wrapper .is-style-slider-2 > .wp-block-biomed-zitat,
.editor-styles-wrapper .is-style-slider-2 > .wp-block-biomed-icon-box,
.is-style-slider-2 .biomed-slider-static > .is-style-card,
.is-style-slider-2 .biomed-slider-static > .wp-block-biomed-card,
.is-style-slider-2 .biomed-slider-static > .wp-block-biomed-zitat,
.is-style-slider-2 .biomed-slider-static > .wp-block-biomed-icon-box {
	width: calc((100% - 50px) / 2);
}

[class*="is-style-slider-"] .biomed-slider-static > .is-style-card,
[class*="is-style-slider-"] .biomed-slider-static > .wp-block-biomed-card,
[class*="is-style-slider-"] .biomed-slider-static > .wp-block-biomed-zitat,
[class*="is-style-slider-"] .biomed-slider-static > .wp-block-biomed-icon-box {
	margin-right: 0 !important;
}

/* 4-column slider */
.is-style-slider-4 .is-style-card,
.is-style-slider-4 .wp-block-biomed-card,
.is-style-slider-4 .wp-block-biomed-zitat,
.is-style-slider-4 .wp-block-biomed-icon-box {
	width: calc((100% - 152px) / 4);
	margin-right: 50px;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* 3-column slider */
.is-style-slider-3 .is-style-card,
.is-style-slider-3 .wp-block-biomed-card,
.is-style-slider-3 .wp-block-biomed-zitat,
.is-style-slider-3 .wp-block-biomed-icon-box {
	width: calc((100% - 102px) / 3);
	margin-right: 50px;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

/* 2-column slider */
.is-style-slider-2 .is-style-card,
.is-style-slider-2 .wp-block-biomed-card,
.is-style-slider-2 .wp-block-biomed-zitat,
.is-style-slider-2 .wp-block-biomed-icon-box {
	width: calc((100% - 52px) / 2);
	margin-right: 50px;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

[class*="is-style-slider-"] .flickity-viewport,
.is-style-logo-grid .flickity-viewport {
	overflow: hidden;
	max-width: 100%;
	width: 100%;
}

[class*="is-style-slider-"] .flickity-slider {
	display: flex;
	align-items: stretch;
}

[class*="is-style-slider-"] .flickity-slider > * {
	height: auto !important;
}

[class*="is-style-slider-"] .is-style-card,
[class*="is-style-slider-"] .wp-block-biomed-card,
[class*="is-style-slider-"] .wp-block-biomed-zitat,
[class*="is-style-slider-"] .wp-block-biomed-icon-box {
	box-sizing: border-box;
}

[class*="is-style-slider-"] .flickity-slider .biomed-card {
	min-height: 100% !important;
}

.wp-block-biomed-zitat {
	max-width: 25em;
}

[class*="is-style-slider-"] .wp-block-biomed-zitat,
[class*="is-style-card-grid-"] .wp-block-biomed-zitat {
	max-width: none;
}

/* Slider nav: dots + arrows wrapper */
.slider-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin-top: 40px;
}

/* Arrows */
.flickity-btn {
	width: 30px;
	height: 30px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	line-height: 0;
	flex-shrink: 0;
}

.flickity-btn svg {
	width: 30px;
	height: 30px;
}

.flickity-btn--next {
	transform: scaleX(-1);
}

/* Large screens: arrows outside the cards */
@media (min-width: 1351px) {
	.slider-nav .flickity-btn--prev {
		position: absolute;
		left: -50px;
		top: 45%;
		transform: translateY(-50%);
	}

	.slider-nav .flickity-btn--next {
		position: absolute;
		right: -50px;
		top: 45%;
		transform: translateY(-50%) scaleX(-1);
	}
}

/* Page dots */
[class*="is-style-slider-"] .flickity-page-dots,
.is-style-logo-grid .flickity-page-dots {
	position: static;
	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	gap: 14px;
	max-width: 70%;
	margin-top: 0;
	padding: 0;
	list-style: none;
}

[class*="is-style-slider-"] .flickity-page-dots .dot,
.is-style-logo-grid .flickity-page-dots .dot {
	width: 13px;
	height: 13px;
	border-radius: 50%;
	background: #d9d9d9;
	cursor: pointer;
	opacity: 1;
	margin: 0;
}

[class*="is-style-slider-"] .flickity-page-dots .dot.is-selected,
.is-style-logo-grid .flickity-page-dots .dot.is-selected {
	background: var(--wp--preset--color--primary);
}

/* ============================================================
   Post Template: Grid & Slider styles (Query Loop)
   ============================================================ */

/* Reset WP layout on styled post-templates */
.wp-block-post-template[class*="is-style-card-grid-"],
.wp-block-post-template[class*="is-style-slider-"] {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Reset WP layout on li children */
.wp-block-post-template[class*="is-style-card-grid-"] > li,
.wp-block-post-template[class*="is-style-slider-"] li.wp-block-post {
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

/* Grid layouts */
.wp-block-post-template.is-style-card-grid-4,
.wp-block-post-template.is-style-card-grid-3,
.wp-block-post-template.is-style-card-grid-2 {
	display: grid !important;
	gap: 50px !important;
}

.wp-block-post-template.is-style-card-grid-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.wp-block-post-template.is-style-card-grid-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.wp-block-post-template.is-style-card-grid-2 {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* Slider cell sizing — descendant selector because Flickity wraps
   cells inside .flickity-viewport > .flickity-slider */
.wp-block-post-template.is-style-slider-4 li.wp-block-post {
	width: calc((100% - 152px) / 4) !important;
	margin-right: 50px !important;
}

.wp-block-post-template.is-style-slider-3 li.wp-block-post {
	width: calc((100% - 102px) / 3) !important;
	margin-right: 50px !important;
}

.wp-block-post-template.is-style-slider-2 li.wp-block-post {
	width: calc((100% - 52px) / 2) !important;
	margin-right: 50px !important;
}

/* Editor fallback: show post-template sliders as wrapping row */
.editor-styles-wrapper .wp-block-post-template[class*="is-style-slider-"] {
	display: flex !important;
	flex-wrap: wrap;
	gap: 50px;
}

.editor-styles-wrapper .wp-block-post-template.is-style-slider-4 > li {
	width: calc((100% - 150px) / 4) !important;
}

.editor-styles-wrapper .wp-block-post-template.is-style-slider-3 > li {
	width: calc((100% - 100px) / 3) !important;
}

.editor-styles-wrapper .wp-block-post-template.is-style-slider-2 > li {
	width: calc((100% - 50px) / 2) !important;
}

@media (max-width: 1024px) {
	.wp-block-post-template.is-style-card-grid-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.wp-block-post-template.is-style-card-grid-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 1100px) {
	.wp-block-post-template.is-style-slider-4 li.wp-block-post {
		width: calc((100% - 102px) / 3) !important;
	}
}

@media (max-width: 800px) {
	.wp-block-post-template.is-style-card-grid-4,
	.wp-block-post-template.is-style-card-grid-3,
	.wp-block-post-template.is-style-card-grid-2 {
		gap: 1em !important;
	}

	.wp-block-post-template[class*="is-style-slider-"] li.wp-block-post {
		margin-right: 1em !important;
	}

	.wp-block-post-template.is-style-slider-4 li.wp-block-post,
	.wp-block-post-template.is-style-slider-3 li.wp-block-post {
		width: calc((100% - 2em - 2px) / 3) !important;
	}

	.wp-block-post-template.is-style-slider-2 li.wp-block-post {
		width: calc((100% - 1em - 2px) / 2) !important;
	}
}

@media (max-width: 700px) {
	.wp-block-post-template.is-style-slider-4 li.wp-block-post,
	.wp-block-post-template.is-style-slider-3 li.wp-block-post {
		width: calc((100% - 1em - 2px) / 2) !important;
	}
}

@media (max-width: 600px) {
	.wp-block-post-template.is-style-card-grid-2 {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 450px) {
	.wp-block-post-template[class*="is-style-slider-"] li.wp-block-post {
		width: 100% !important;
		margin-right: 1em !important;
	}
}

@media (max-width: 440px) {
	.wp-block-post-template.is-style-card-grid-3 {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 390px) {
	.wp-block-post-template.is-style-card-grid-4 {
		grid-template-columns: 1fr !important;
	}
}

/* ============================================================
   Separator
   ============================================================ */
.wp-block-separator {
	border-top: 1px solid #d9d9d9 !important;
	border-bottom: none !important;
	max-width: var(--wp--style--global--wide-size, 1190px);
	margin: 0 auto !important;
	opacity: 1;
}

/* ============================================================
   Media & Text adjustments
   ============================================================ */
* + .wp-block-media-text {
	margin-top: 6.25em;
}

@media (max-width: 1100px) {
	* + .wp-block-media-text {
		margin-top: 3rem;
	}
}

@media (max-width: 600px) {
	* + .wp-block-media-text {
		margin-top: 2rem;
	}
}

@media (max-width: 450px) {
	* + .wp-block-media-text {
		margin-top: 1rem;
	}
}

.wp-block-media-text {
	gap: 4.375em;
}

.wp-block-media-text .wp-block-media-text__content {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-block-media-text__content > *:first-child {
	margin-top: 0 !important;
}

@media (max-width: 600px) {
	.wp-block-media-text.is-stacked-on-mobile.reverse .wp-block-media-text__content {
		grid-row: 1;
	}

	.wp-block-media-text.is-stacked-on-mobile.reverse .wp-block-media-text__media {
		grid-row: 2;
	}

	.wp-block-media-text {
		gap: 1.5em;
	}

	.wp-block-media-text + .wp-block-media-text {
		margin-top: 3.5em;
	}
}

/* ============================================================
   List styling
   ============================================================ */
.wp-block-list li::marker {
	color: var(--wp--preset--color--primary);
}

/* ============================================================
   Footer
   ============================================================ */
footer {
	margin-top: 5em !important;
}

.site-footer {
	position: relative;
	overflow: hidden;
}

.site-footer__wave {
	display: block;
	width: 100%;
	height: auto;
}

.site-footer__main {
	background: linear-gradient(to right, #013456 67%, #184969) !important;
	color: #fff;
	padding: 4.0625em 2em 4.6875em;
	position: relative;
	overflow: hidden;
}

.site-footer__main::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	bottom: 0;
	width: 33%;
	background: url('./assets/footer-bg.png') no-repeat right center / auto 100%;
	pointer-events: none;
	z-index: 0;
}

.site-footer__main > * {
	position: relative;
	z-index: 1;
}

.site-footer__main h4,
.site-footer__main .wp-block-heading {
	color: #fff !important;
	min-height: 2.6em;
}

.site-footer__main a {
	color: #fff !important;
	text-decoration: none;
}

.site-footer__main a:hover {
	text-decoration: underline;
}

.site-footer__main p {
	color: #fff;
	margin-top: 0.75em;
}

.site-footer__columns {
	display: grid;
	grid-template-columns: repeat(4, 1fr) auto;
	gap: 2rem;
	max-width: var(--wp--style--global--wide-size, 1190px);
	margin: 0 auto;
}

.site-footer__col-title {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: 0.4px;
	margin-bottom: 0.5rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
	color: #fff !important;
}

/* Footer contact icons */
.site-footer__icon {
	display: inline-flex;
	vertical-align: middle;
	margin-right: 4px;
	white-space: nowrap;
}

.site-footer__icon + a,
.site-footer p:has(.site-footer__icon) {
	white-space: nowrap;
}

.site-footer__icon svg {
	width: 24px;
	height: 24px;
}

/* Remove bullets from footer lists */
.site-footer__main .wp-block-list,
.site-footer__main ul {
	list-style: none !important;
	padding-left: 0 !important;
	margin: 0;
}

.site-footer__main li {
	line-height: 26px;
}

.site-footer__main li::marker {
	content: none;
}

/* Social icons: white outlined circles */
.site-footer .wp-block-social-links {
	align-self: end;
}

.site-footer .wp-block-social-links .wp-social-link {
	background: transparent !important;
	border: none;
	width: 39px;
	height: 39px;
	transition: opacity 0.2s ease;
}

.wp-block-social-links .wp-social-link a {
	display: block;
	width: 100%;
	height: 100%;
}

.site-footer .wp-block-social-links .wp-social-link:hover {
	opacity: 0.7;
}

.site-footer .wp-block-social-links .wp-social-link svg {
	display: none;
}

.site-footer .wp-block-social-links .wp-social-link-facebook {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='39' viewBox='0 0 39 39' fill='none'%3E%3Ccircle cx='19.5' cy='19.5' r='18.6875' stroke='white' stroke-width='1.625'/%3E%3Cpath d='M22.0032 9C18.8496 9 17 10.6656 17 14.4608V17.8H13V21.8H17V31.4H21V21.8H24.2L25 17.8H21V15.1376C21 13.708 21.4664 13 22.808 13H25V9.164C24.6208 9.1128 23.516 9 22.0032 9Z' fill='white'/%3E%3C/svg%3E") no-repeat center / 39px 39px !important;
}

.site-footer .wp-block-social-links .wp-social-link-instagram {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='39' viewBox='0 0 39 39' fill='none'%3E%3Ccircle cx='19.5' cy='19.5' r='18.6875' stroke='white' stroke-width='1.625'/%3E%3Cpath d='M15.175 9C11.7854 9 9 11.7815 9 15.175V23.825C9 27.2146 11.7815 30 15.175 30H23.825C27.2146 30 30 27.2185 30 23.825V15.1759C30 11.7854 27.2185 9 23.825 9H15.175ZM15.175 10.9091H23.825C24.3855 10.9083 24.9405 11.0182 25.4584 11.2323C25.9763 11.4464 26.4469 11.7606 26.8431 12.1569C27.2394 12.5531 27.5536 13.0237 27.7677 13.5416C27.9818 14.0595 28.0917 14.6145 28.0909 15.175V23.825C28.0917 24.3855 27.9818 24.9405 27.7677 25.4584C27.5536 25.9763 27.2394 26.4469 26.8431 26.8431C26.4469 27.2394 25.9763 27.5536 25.4584 27.7677C24.9405 27.9818 24.3855 28.0917 23.825 28.0909H15.1759C14.6154 28.0918 14.0603 27.9821 13.5422 27.768C13.0242 27.5539 12.5536 27.2398 12.1572 26.8435C11.7608 26.4472 11.4465 25.9766 11.2324 25.4586C11.0182 24.9407 10.9083 24.3855 10.9091 23.825V15.1759C10.9082 14.6154 11.0179 14.0603 11.232 13.5422C11.4461 13.0242 11.7602 12.5536 12.1565 12.1572C12.5528 11.7608 13.0234 11.4465 13.5414 11.2324C14.0593 11.0182 14.6145 10.9083 15.175 10.9091ZM25.1375 12.9976C25.0238 12.9971 24.9111 13.0192 24.806 13.0624C24.7008 13.1057 24.6053 13.1694 24.5249 13.2498C24.4445 13.3302 24.3808 13.4258 24.3375 13.5309C24.2942 13.6361 24.2722 13.7487 24.2727 13.8625C24.2727 14.3435 24.6565 14.7273 25.1375 14.7273C25.2513 14.7279 25.3641 14.706 25.4694 14.6627C25.5747 14.6195 25.6703 14.5559 25.7508 14.4754C25.8313 14.395 25.8951 14.2994 25.9384 14.1942C25.9818 14.089 26.0038 13.9762 26.0033 13.8625C26.0038 13.7487 25.9818 13.6359 25.9384 13.5307C25.8951 13.4255 25.8313 13.3299 25.7508 13.2495C25.6703 13.169 25.5747 13.1054 25.4694 13.0622C25.3641 13.0189 25.2513 12.997 25.1375 12.9976ZM19.5 13.7727C16.35 13.7727 13.7727 16.35 13.7727 19.5C13.7727 22.65 16.35 25.2273 19.5 25.2273C22.65 25.2273 25.2273 22.65 25.2273 19.5C25.2273 16.35 22.65 13.7727 19.5 13.7727ZM19.5 15.6818C21.622 15.6818 23.3182 17.378 23.3182 19.5C23.3182 21.622 21.622 23.3182 19.5 23.3182C17.378 23.3182 15.6818 21.622 15.6818 19.5C15.6818 17.378 17.378 15.6818 19.5 15.6818Z' fill='white'/%3E%3C/svg%3E") no-repeat center / 39px 39px !important;
}

.site-footer .wp-block-social-links .wp-social-link-linkedin {
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='39' height='39' viewBox='0 0 39 39' fill='none'%3E%3Ccircle cx='19.5' cy='19.5' r='18.6875' stroke='white' stroke-width='1.625'/%3E%3Cpath d='M13.2826 10C12.983 9.99977 12.6863 10.0586 12.4094 10.173C12.1325 10.2875 11.8809 10.4554 11.669 10.6671C11.457 10.8789 11.2888 11.1303 11.174 11.407C11.0593 11.6838 11.0001 11.9804 11 12.28C11 13.5409 12.0217 14.5859 13.28 14.5859C14.54 14.5859 15.5626 13.5409 15.5626 12.2817C15.5628 11.9822 15.504 11.6855 15.3895 11.4087C15.2751 11.1319 15.1071 10.8803 14.8954 10.6684C14.6837 10.4565 14.4322 10.2884 14.1555 10.1737C13.8788 10.059 13.5821 10 13.2826 10ZM24.4166 16.0455C22.5002 16.0455 21.4042 17.0473 20.8774 18.0439H20.8221V16.314H17.0455V29H20.981V22.7205C20.981 21.0658 21.1054 19.4663 23.1531 19.4663C25.1714 19.4663 25.2008 21.3534 25.2008 22.825V29H29.1364V22.0322C29.1364 18.6225 28.4031 16.0455 24.4166 16.0455ZM11.3135 16.3132V29H15.2517V16.3132H11.3135Z' fill='white'/%3E%3C/svg%3E") no-repeat center / 39px 39px !important;
}

.site-footer__bottom {
	background: var(--wp--preset--color--mid-gray);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.3px;
	line-height: 52px;
	height: 52px;
	margin-top: 0 !important;
	padding: 0 2em;
}

.site-footer__bottom-inner {
	max-width: var(--wp--style--global--wide-size, 1190px);
	margin: 0 auto;
}

.site-footer__bottom a {
	color: #000;
	text-decoration: underline;
}

.site-footer__bottom a:hover {
	text-decoration: none;
}

.site-footer__legal {
	display: flex;
	gap: 1.5rem;
}

/* ============================================================
   Media & Text: Banner style
   ============================================================ */
.wp-block-media-text.is-style-banner,
.wp-block-media-text.is-style-kontakt {
	background: #fff;
	border: 1px solid #d9d9d9;
	border-radius: 10px;
	overflow: hidden;
	gap: 0;
	transition: border-color 0.2s ease;
}

.wp-block-media-text.is-style-banner:hover,
.wp-block-media-text.is-style-kontakt:hover {
	border-color: var(--wp--preset--color--primary);
}

.wp-block-media-text.is-style-banner .wp-block-media-text__content,
.wp-block-media-text.is-style-kontakt .wp-block-media-text__content {
	padding: 3.125em !important;
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content {
	padding-bottom: 1.875em !important;
}

@media (max-width: 450px) {
	.wp-block-media-text.is-style-banner .wp-block-media-text__content,
	.wp-block-media-text.is-style-kontakt .wp-block-media-text__content {
		padding: 1rem !important;
	}
}

.wp-block-media-text.is-style-banner .wp-block-media-text__media,
.wp-block-media-text.is-style-kontakt .wp-block-media-text__media {
	padding: 0.625em;
	align-self: stretch;
}

.wp-block-media-text.is-style-banner .wp-block-media-text__media img,
.wp-block-media-text.is-style-kontakt .wp-block-media-text__media img {
	border-radius: 5px;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.wp-block-media-text.is-style-kontakt {
	max-width: calc((2 * var(--wp--style--global--wide-size, 1190px) - 50px) / 3);
	grid-template-columns: 18.4375em 1fr !important;
}

@media (max-width: 600px) {
	.wp-block-media-text.is-style-kontakt {
		grid-template-columns: 100% !important;
	}
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p {
	margin-top: 0.625em;
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:has(> a[href^="mailto:"]:only-child),
.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:not(.fax):has(> a[href^="tel:"]:only-child),
.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p.fax:has(> a[href^="tel:"]:only-child) {
	display: flex;
	align-items: center;
	gap: 0.875em;
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:has(> a[href^="mailto:"]:only-child)::before,
.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:not(.fax):has(> a[href^="tel:"]:only-child)::before,
.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p.fax:has(> a[href^="tel:"]:only-child)::before {
	content: "";
	flex-shrink: 0;
	width: 1.5em;
	height: 1.5em;
	background-size: 1.5em 1.5em;
	background-repeat: no-repeat;
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:has(> a[href^="mailto:"]:only-child)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM19 16.3516H5V7.5H19V16.3516ZM6 15.3516H18V9.14062L12.4062 13.9346L12.085 14.21L11.7607 13.9385L6 9.13379V15.3516ZM12.0762 12.8994L17.2119 8.5H6.80078L12.0762 12.8994Z' fill='black'/%3E%3C/svg%3E");
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:not(.fax):has(> a[href^="tel:"]:only-child)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM9.44141 7.01562C9.72804 6.9492 10.0214 7.09776 10.1406 7.36914L11.0488 9.48828C11.155 9.73779 11.0838 10.0287 10.874 10.2002L9.82227 11.0449C10.4859 12.3968 11.5852 13.4961 12.9375 14.1602L13.7988 13.1094C13.9685 12.899 14.2612 12.8256 14.5107 12.9336L16.6299 13.8428C16.8847 13.9769 17.0508 14.2735 16.9844 14.5586L16.5303 16.5273C16.4665 16.8055 16.2219 16.9999 15.9355 17C11.008 16.9996 7.00006 12.9921 7 8.06445C7 7.77826 7.19453 7.53335 7.47266 7.46973L9.44141 7.01562Z' fill='black'/%3E%3C/svg%3E");
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p.fax:has(> a[href^="tel:"]:only-child)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M15 0C23.2843 0 30 6.71573 30 15C30 23.2843 23.2843 30 15 30C6.71573 30 0 23.2843 0 15C0 6.71573 6.71573 0 15 0ZM15 1C7.26801 1 1 7.26801 1 15C1 22.732 7.26801 29 15 29C22.732 29 29 22.732 29 15C29 7.26801 22.732 1 15 1ZM20.333 7V10.333H23V21H12.333V21.667C12.3328 22.7635 11.4296 23.667 10.333 23.667C9.2366 23.6668 8.33319 22.7634 8.33301 21.667V21H7V9H11V10.333H12.333V7H20.333ZM9.66699 21V21.667C9.66717 22.0367 9.96327 22.3328 10.333 22.333C10.7029 22.333 10.9998 22.0368 11 21.667V21H9.66699ZM8.33301 10.333V19.667H9.66699V10.333H8.33301ZM11 11.667V19.667H21.667V11.667H20.333V13H12.333V11.667H11ZM14.333 17V18.333H13V17H14.333ZM17 17V18.333H15.667V17H17ZM19.667 17V18.333H18.333V17H19.667ZM14.333 14.333V15.667H13V14.333H14.333ZM17 14.333V15.667H15.667V14.333H17ZM19.667 14.333V15.667H18.333V14.333H19.667ZM13.667 8.33301V11.667H19V8.33301H13.667Z' fill='black'/%3E%3C/svg%3E");
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:has(> a[href^="mailto:"]:only-child) a,
.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:has(> a[href^="tel:"]:only-child) a {
	color: #000;
	text-decoration: none;
}

.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:has(> a[href^="mailto:"]:only-child) a:hover,
.wp-block-media-text.is-style-kontakt .wp-block-media-text__content p:has(> a[href^="tel:"]:only-child) a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

/* ============================================================
   Image: Framed style
   ============================================================ */
.wp-block-image.is-style-framed {
	border: 1px solid #d9d9d9;
	border-radius: 10px;
	padding: 3.125em;
	width: fit-content;
}

/* ============================================================
   Columns: Kontakt-Box
   ============================================================ */
.wp-block-columns.kontakt-box {
	border: 1px solid #d9d9d9;
	border-radius: 10px;
	overflow: hidden;
	gap: 0 !important;
	margin-top: 3em;
}

.wp-block-columns.kontakt-box > .wp-block-column:first-child {
	padding: 2.5em 3.125em;
}

.wp-block-columns.kontakt-box > .wp-block-column:last-child {
	padding: 0;
}

.wp-block-columns.kontakt-box > .wp-block-column:last-child .biomed-map {
	min-height: 100%;
	border-radius: 0;
}

.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child),
.wp-block-columns.kontakt-box p:not(.fax):has(> a[href^="tel:"]:only-child),
.wp-block-columns.kontakt-box p.fax:has(> a[href^="tel:"]:only-child) {
	display: flex;
	align-items: center;
	gap: 0.875em;
}

.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child)::before,
.wp-block-columns.kontakt-box p:not(.fax):has(> a[href^="tel:"]:only-child)::before,
.wp-block-columns.kontakt-box p.fax:has(> a[href^="tel:"]:only-child)::before {
	content: "";
	flex-shrink: 0;
	width: 1.5em;
	height: 1.5em;
	background-size: 1.5em 1.5em;
	background-repeat: no-repeat;
}

.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM19 16.3516H5V7.5H19V16.3516ZM6 15.3516H18V9.14062L12.4062 13.9346L12.085 14.21L11.7607 13.9385L6 9.13379V15.3516ZM12.0762 12.8994L17.2119 8.5H6.80078L12.0762 12.8994Z' fill='black'/%3E%3C/svg%3E");
}

.wp-block-columns.kontakt-box p:not(.fax):has(> a[href^="tel:"]:only-child)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M12 0C18.6274 0 24 5.37258 24 12C24 18.6274 18.6274 24 12 24C5.37258 24 0 18.6274 0 12C0 5.37258 5.37258 0 12 0ZM12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1ZM9.44141 7.01562C9.72804 6.9492 10.0214 7.09776 10.1406 7.36914L11.0488 9.48828C11.155 9.73779 11.0838 10.0287 10.874 10.2002L9.82227 11.0449C10.4859 12.3968 11.5852 13.4961 12.9375 14.1602L13.7988 13.1094C13.9685 12.899 14.2612 12.8256 14.5107 12.9336L16.6299 13.8428C16.8847 13.9769 17.0508 14.2735 16.9844 14.5586L16.5303 16.5273C16.4665 16.8055 16.2219 16.9999 15.9355 17C11.008 16.9996 7.00006 12.9921 7 8.06445C7 7.77826 7.19453 7.53335 7.47266 7.46973L9.44141 7.01562Z' fill='black'/%3E%3C/svg%3E");
}

.wp-block-columns.kontakt-box p.fax:has(> a[href^="tel:"]:only-child)::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30' fill='none'%3E%3Cpath d='M15 0C23.2843 0 30 6.71573 30 15C30 23.2843 23.2843 30 15 30C6.71573 30 0 23.2843 0 15C0 6.71573 6.71573 0 15 0ZM15 1C7.26801 1 1 7.26801 1 15C1 22.732 7.26801 29 15 29C22.732 29 29 22.732 29 15C29 7.26801 22.732 1 15 1ZM20.333 7V10.333H23V21H12.333V21.667C12.3328 22.7635 11.4296 23.667 10.333 23.667C9.2366 23.6668 8.33319 22.7634 8.33301 21.667V21H7V9H11V10.333H12.333V7H20.333ZM9.66699 21V21.667C9.66717 22.0367 9.96327 22.3328 10.333 22.333C10.7029 22.333 10.9998 22.0368 11 21.667V21H9.66699ZM8.33301 10.333V19.667H9.66699V10.333H8.33301ZM11 11.667V19.667H21.667V11.667H20.333V13H12.333V11.667H11ZM14.333 17V18.333H13V17H14.333ZM17 17V18.333H15.667V17H17ZM19.667 17V18.333H18.333V17H19.667ZM14.333 14.333V15.667H13V14.333H14.333ZM17 14.333V15.667H15.667V14.333H17ZM19.667 14.333V15.667H18.333V14.333H19.667ZM13.667 8.33301V11.667H19V8.33301H13.667Z' fill='black'/%3E%3C/svg%3E");
}

.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child) a,
.wp-block-columns.kontakt-box p:has(> a[href^="tel:"]:only-child) a {
	color: #000;
	text-decoration: none;
}

.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child) a:hover,
.wp-block-columns.kontakt-box p:has(> a[href^="tel:"]:only-child) a:hover {
	color: var(--wp--preset--color--primary);
	text-decoration: underline;
}

.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child) + p:has(> a[href^="mailto:"]:only-child),
.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child) + p:not(.fax):has(> a[href^="tel:"]:only-child),
.wp-block-columns.kontakt-box p:has(> a[href^="mailto:"]:only-child) + p.fax:has(> a[href^="tel:"]:only-child),
.wp-block-columns.kontakt-box p:not(.fax):has(> a[href^="tel:"]:only-child) + p:has(> a[href^="mailto:"]:only-child),
.wp-block-columns.kontakt-box p:not(.fax):has(> a[href^="tel:"]:only-child) + p:not(.fax):has(> a[href^="tel:"]:only-child),
.wp-block-columns.kontakt-box p:not(.fax):has(> a[href^="tel:"]:only-child) + p.fax:has(> a[href^="tel:"]:only-child),
.wp-block-columns.kontakt-box p.fax:has(> a[href^="tel:"]:only-child) + p:has(> a[href^="mailto:"]:only-child),
.wp-block-columns.kontakt-box p.fax:has(> a[href^="tel:"]:only-child) + p:not(.fax):has(> a[href^="tel:"]:only-child),
.wp-block-columns.kontakt-box p.fax:has(> a[href^="tel:"]:only-child) + p.fax:has(> a[href^="tel:"]:only-child) {
	margin-top: 0.5rem !important;
}

/* ============================================================
   Columns
   ============================================================ */
.wp-block-columns {
	gap: 4.25rem !important;
}

.site-footer .wp-block-columns {
	gap: 3.125rem !important;
}

/* ============================================================
   Contact Form (CF7)
   ============================================================ */
.biomed-form {
	margin-top: 3em;
}

.biomed-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.875rem;
	margin-bottom: 1.875rem;
}

.biomed-form__row--full {
	grid-template-columns: 1fr;
}

.biomed-form__row--footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1.5em;
}


.biomed-form .wpcf7-form-control-wrap {
	display: block;
}

.biomed-form input[type="text"],
.biomed-form input[type="email"],
.biomed-form input[type="tel"],
.biomed-form select,
.biomed-form textarea {
	width: 100%;
	border: 1px solid #d9d9d9;
	border-radius: 10px;
	height: 3.75em;
	padding: 0 1em;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 1rem;
	font-weight: 300;
	color: #000;
	background: #f5f5f5;
	box-sizing: border-box;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
}

.biomed-form select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1L6 6L11 1' stroke='%23888' stroke-width='1.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1em center;
	padding-right: 2.5em;
}

.biomed-form textarea {
	height: auto;
	min-height: 8em;
	padding: 1em;
	resize: vertical;
}

.biomed-form input::placeholder,
.biomed-form textarea::placeholder {
	color: #888;
	font-weight: 300;
}

.biomed-form .wpcf7-list-item {
	margin: 0;
}

.biomed-form .wpcf7-acceptance label {
	display: flex;
	align-items: center;
	gap: 0.75em;
	font-size: 1rem;
	font-weight: 300;
	color: #000;
	cursor: pointer;
}

.biomed-form .wpcf7-acceptance input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 1.5em;
	height: 1.5em;
	border: 1px solid #d9d9d9;
	border-radius: 5px;
	background: #f5f5f5;
	flex-shrink: 0;
	cursor: pointer;
	position: relative;
}

.biomed-form .wpcf7-acceptance input[type="checkbox"]:checked {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

.biomed-form .wpcf7-acceptance input[type="checkbox"]:checked::after {
	content: "";
	position: absolute;
	left: 0.4em;
	top: 0.15em;
	width: 0.35em;
	height: 0.7em;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg);
}

.biomed-form__required {
	font-size: 0.875rem;
	font-weight: 300;
	color: #888;
	white-space: nowrap;
}

.biomed-form input[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: none;
	border-radius: 10px;
	padding: 0.5em 1.5625em;
	font-family: var(--wp--preset--font-family--montserrat);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.875em;
	cursor: pointer;
	transition: opacity 0.2s ease;
}

.biomed-form input[type="submit"]:hover {
	opacity: 0.9;
}

.wpcf7-response-output {
	border: none !important;
	border-radius: 10px;
	padding: 1.25em 1.5em 1.25em 4em !important;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	margin: 1.5em 0 0 !important;
	position: relative;
	animation: biomed-fade-in 0.3s ease;
}

.wpcf7-response-output::before {
	content: "";
	position: absolute;
	left: 1.25em;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25em;
	height: 1.25em;
	background-size: contain;
	background-repeat: no-repeat;
}

.wpcf7-form.sent .wpcf7-response-output {
	color: #15803d;
	background: linear-gradient(135deg, #f0fdf4, #dcfce7);
	box-shadow: 0 2px 8px rgba(21, 128, 61, 0.08);
}

.wpcf7-form.sent .wpcf7-response-output::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='10' fill='%2316a34a'/%3E%3Cpath d='M6 10l3 3 5-6' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.wpcf7-form.failed .wpcf7-response-output,
.wpcf7-form.aborted .wpcf7-response-output,
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.unaccepted .wpcf7-response-output {
	color: #991b1b;
	background: linear-gradient(135deg, #fef2f2, #fee2e2);
	box-shadow: 0 2px 8px rgba(153, 27, 27, 0.08);
}

.wpcf7-form.failed .wpcf7-response-output::before,
.wpcf7-form.aborted .wpcf7-response-output::before,
.wpcf7-form.invalid .wpcf7-response-output::before,
.wpcf7-form.unaccepted .wpcf7-response-output::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23dc2626'/%3E%3Cpath d='M7 7l6 6M13 7l-6 6' stroke='%23fff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}

@keyframes biomed-fade-in {
	from { opacity: 0; transform: translateY(-0.5em); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
	.biomed-form__row {
		grid-template-columns: 1fr;
	}

	.biomed-form__row--footer {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5em;
	}
}

/* ============================================================
   Responsive
   ============================================================ */
@media (max-width: 1024px) {
	.site-footer__columns {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 1000px) {
	.site-header__main .wp-block-site-logo img {
		height: 25px;
	}
}

@media (max-width: 1260px) {
	.site-header__topbar {
		right: 2em;
	}
}

@media (max-width: 768px) {
	:root {
		--header-height: 70px;
	}

	.site-header__topbar {
		right: 1rem;
		font-size: 12px;
		padding: 0 12px;
	}


	.site-footer__columns {
		grid-template-columns: 1fr;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		line-height: 1.6;
		height: auto;
		padding: 1rem 2rem;
		text-align: center;
	}

	.site-footer__legal {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.5rem 1rem;
	}
}

@media (max-width: 782px) {
	.wp-block-columns.kontakt-box {
		flex-direction: column-reverse !important;
	}

	.wp-block-columns.kontakt-box > .wp-block-column:last-child {
		flex-basis: auto !important;
	}

	.wp-block-columns.kontakt-box > .wp-block-column:last-child .biomed-map {
		min-height: 0 !important;
		height: 20rem !important;
	}
}

@media (max-width: 700px) {
	.wp-block-cover .wp-block-cover__background:not(.has-background-dim-0) {
		mask-image: none !important;
		-webkit-mask-image: none !important;
		background: #fff !important;
		opacity: 0.8 !important;
	}
}

@media (max-width: 600px) {
	[class*="is-style-slider-"] .flickity-page-dots,
	.is-style-logo-grid .flickity-page-dots {
		gap: 5px;
	}

	.site-header,
	.site-footer__main,
	.site-footer__bottom,
	.breadcrumb-bar,
	.wp-block-cover .wp-block-cover__inner-container {
		padding-left: 1em !important;
		padding-right: 1em !important;
	}

	.site-header__topbar {
		display: none;
	}

	.site-header__main > * {
		margin: 0 !important;
		align-self: center !important;
	}

	.mobile-menu {
		padding: 2em 1em !important;
	}

	.biomed-form__row {
		gap: 1em;
		margin-bottom: 1em;
	}
}

/* Video embed spacing */
.wp-block-embed.is-type-video {
	margin-top: 3em;
}

/* ============================================================
   External link "leaving site" popup
   ============================================================ */
.biomed-link-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
	background: rgba(17, 24, 39, 0.5);
}

.biomed-link-modal[hidden] {
	display: none;
}

.biomed-link-modal__dialog {
	background: #fff;
	border-radius: 16px;
	max-width: 640px;
	width: 100%;
	padding: 2.5rem;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.biomed-link-modal__heading {
	margin: 0 0 1rem;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.5;
	color: var(--wp--preset--color--foreground);
}

.biomed-link-modal__body {
	margin: 0 0 2rem;
	font-size: 1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--foreground);
}

.biomed-link-modal__body p {
	margin: 0 0 1rem;
}

.biomed-link-modal__body p:last-child {
	margin-bottom: 0;
}

.biomed-link-modal__actions {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.biomed-link-modal__btn {
	appearance: none;
	font-family: inherit;
	font-size: 1rem;
	font-weight: 500;
	line-height: 30px;
	padding: 8px 25px;
	border-radius: 999px;
	cursor: pointer;
	border: 2px solid var(--wp--preset--color--primary);
	background: var(--wp--preset--color--primary);
	color: #fff;
	transition: opacity 0.2s ease;
}

.biomed-link-modal__btn:hover {
	opacity: 0.9;
}

.biomed-link-modal__btn--cancel {
	background: transparent;
	color: var(--wp--preset--color--primary);
}

.biomed-link-modal__btn--cancel:hover {
	opacity: 0.7;
}

body.biomed-link-modal-open {
	overflow: hidden;
}

@media (max-width: 600px) {
	.biomed-link-modal__dialog {
		padding: 1.75rem;
	}

	.biomed-link-modal__actions {
		flex-direction: column-reverse;
	}

	.biomed-link-modal__btn {
		width: 100%;
	}
}
