.js-search-toggle .wp-block-button__link {
	font-size: 0;
	width: 48px !important;
	aspect-ratio: 1 !important;
	padding: 6px !important;
	display: grid;
	place-items: center;
}

.js-search-toggle .wp-block-button__link::before {
	display: flex;
	content: "";
	width: 32px;
	height: 32px;
	background: currentColor;
	mask: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.25' stroke-linecap='round'><circle cx='10.5' cy='10.5' r='6.5'/><path d='M15.3 15.3 20 20'/></svg>") center / contain no-repeat;
}

.disable-text-wrap a,
.disable-text-wrap {
	display: inline-block !important;
	text-wrap: nowrap !important;
}

.single-post h2 {
	margin-block-start: 80px !important;
}

.admin-bar.single-post main{
  margin-block-start: -300px!important;
}

.single-post main h3:not(.wp-block-accordion-heading),
.single-post main h4:not(.wp-block-accordion-heading),
.single-post main h5:not(.wp-block-accordion-heading),
.single-post main h6:not(.wp-block-accordion-heading) {
	font-family: var(--wp--preset--font-family--montserrat) !important;
	font-size: var(--wp--preset--font-size--x-large) !important;
	font-style: normal !important;
	font-weight: 600 !important;
	text-transform: none !important;
}

#section-container-menu .wp-block-button__link {
	border-radius: 50px !important;
}

.wp-block-query-pagination {
	justify-content: space-between;
}

.wp-block-query-pagination-numbers {
	gap: 20px;
	display: flex;
}

span.page-numbers.current {
	aspect-ratio: 1;
	font-weight: 600;
	color: white;
	background-color: var(--wp--preset--color--contrast);
	border-radius: 100%;
	display: flex;
	width: 34px;
	height: 34px;
	justify-content: center;
}

body.paged-active .hero-posts {
	display: none !important;
}

body.paged-active .main-blog-query {
	margin-top: -200px !important;
}

.current-active-section {
	background-color: var(--wp--preset--color--accent-1) !important;
}

.current-active-section:hover {
	color: var(--wp--preset--color--primray) !important;
}

.enlarge {
	overflow: hidden;
	transform: scale(1.2);
}

.grecaptcha-badge {
	right: auto !important;
	left: 20px !important;
	bottom: 20px !important;
	max-width: 70px !important;
	overflow: hidden;
	transition: max-width .3s ease-in-out !important;
	box-shadow: var(--wp--preset--shadow--sp) !important;
	border-radius: 8px !important;
	transform-origin: left bottom;
	transform: scale(.8);
	z-index: 9;
}

.grecaptcha-badge:hover {
	max-width: 256px !important;
}

.stretch-link {
	position: relative;
}

:where(.wp-site-blocks :focus),
button:focus-visible,
a:focus-visible {
	outline: 1px dotted var(--wp--preset--color--backgrop-4) !important;
	outline-offset: 4px !important;
}

.stretch-link a[href]:not([href=""])::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

.stretch-link:has(a[href]:not([href=""]):hover) {
	/* Hover-Zustand der Karte */
}

.stretch-link:has(a[href]:not([href=""]):focus-visible) {
	outline: 1px dotted var(--wp--preset--color--backgrop-4) !important;
	outline-offset: 4px !important;
	border-radius: 4px;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

.back-to-top {
	position: fixed;
	right: 1.5rem;
	bottom: 1.5rem;
	z-index: 100;
	margin: 0;
	aspect-ratio: 1;
}

.back-to-top a {
	display: flex;
	aspect-ratio: 1;
	width: 48px;
	justify-content: center;
}

@supports (animation-timeline: scroll()) {

	.grecaptcha-badge,
	.back-to-top {
		animation: back-to-top-reveal linear both;
		animation-timeline: scroll(root);
		animation-range: 0 300px;
	}

	@keyframes back-to-top-reveal {
		from {
			opacity: 0;
			visibility: hidden;
			translate: 0 1rem;
		}

		to {
			opacity: 1;
			visibility: visible;
			translate: 0 0;
		}
	}
}

.content-cols-2 {
	column-count: 2;
}

.content-cols-3 {
	column-count: 3;
}

.content-cols-4 {
	column-count: 4;
}

.reset-content-cols {
	column-count: 1;
}

@media screen and (max-width: 780px) {

	body {
		--mobile-padding: 20px;

		--wp--style--root--padding-left: 20px;
		--wp--style--root--padding-right: 20px;
		/*
		--wp--preset--spacing--40: var(--mobile-padding);
		--wp--preset--spacing--50: var(--mobile-padding);
*/

	}

	main {
		margin-block-start: 86px !important;
	}

	.stack-on-mobile {
		flex-direction: column;
		gap: 0;
	}

	.stack-on-mobile .chain-card {
		padding: 0 !important;
	}

	div#paymentchain.is-style-pearls:after {
		bottom: 150px;
		width: 5px;
		height: calc(100% - 300px);
		transform: translateX(-50%);
		background-color: #0a2f64;
	}

	.chain-card {
		gap: 0;
		padding-top: 20px !important;
	}

	.chain-card>* {
		background: #ffffff;
		padding: 10px 0;
	}

	#section-container-menu {
		justify-content: flex-start !important;
	}

	#section-container-menu .wp-block-buttons {
		max-width: calC(100vw - 100px) !important;
		margin-left: 15px;
	}

	.grecaptcha-badge {
		right: 15px !important;
		left: auto !important;
		bottom: 85px !important;
		transform-origin: right bottom !important;
		transform: scale(.7) !important;
	}

	.back-to-top {
		right: 15px;
	}

	/*
	header.wp-block-template-part{
        box-shadow: 0 0 20px rgba(0,0,0, .2);
	}
*/

	header.wp-block-template-part>.wp-block-group {
		box-sizing: border-box;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.shariff .orientation-vertical {
		flex-direction: row;
	}

	.wpcf7-acceptance label {
		font-size: 1rem;
	}

	.enlarge {
		overflow: hidden;
		transform: scale(1);
	}

	#hero .wp-block-column:last-child>figure img {
		aspect-ratio: 4/3 !important;
	}

	.s-content-cols-2 {
		column-count: 2 !important;
	}

	.s-content-cols-3 {
		column-count: 3 !important;
	}

	.s-content-cols-4 {
		column-count: 4 !important;
	}

	.s-reset-content-cols {
		column-count: 1 !important;
	}

	/** SP SLIDER **/
	/* Base Slider Setup (Mobile/Tablet Viewports) */
	.sp-slider {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;

		/* Horizontal Scrolling */
		overflow-x: auto !important;
		overflow-y: hidden !important;

		/* Native Touch & Snap Behavior */
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		-webkit-overflow-scrolling: touch;

		/* Spacing & Alignment Adjustments */
		margin-top: 20px !important;
		padding-bottom: 40px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		gap: 16px !important;

		/* Hide Scrollbars */
		-ms-overflow-style: none;
		/* IE/Edge */
		scrollbar-width: none;
		/* Firefox */
	}

	.sp-slider.stretch-full {
		margin-left: calc(var(--mobile-padding) * -1) !important;
		margin-right: calc(var(--mobile-padding) * -1) !important;
	}

	.sp-slider.stretch-full>.wp-block-group:first-child {
		margin-left: calc(var(--mobile-padding) * -1) !important;
	}

	.sp-slider.stretch-left {
		margin-left: calc(var(--mobile-padding) * -1) !important;
	}

	.sp-slider.stretch-right {
		margin-right: calc(var(--mobile-padding) * -1) !important;
	}

	.sp-slider::-webkit-scrollbar {
		display: none;
		/* Chrome/Safari */
	}

	/* Universal Snap Alignment for Direct Children */
	.sp-slider>* {
		scroll-snap-align: start;
		scroll-snap-stop: always;
		box-sizing: border-box !important;
	}

	/* --- VARIANT 1: Show 1 Item (Default) --- */
	/* Shows ~1 full card + visual peek of next */
	.sp-slider.show-1>*,
	.sp-slider:not([class*="show-"]):not(.flexible-width)>* {
		flex: 0 0 85% !important;
		max-width: 85% !important;
	}

	/* --- VARIANT 2: Show 2 Items + Peek --- */
	/* Shows 2 full items + visual peek of 3rd (Great for smaller cards) */
	.sp-slider.show-2>* {
		flex: 0 0 42% !important;
		max-width: 42% !important;
	}

	/* --- VARIANT 3: Show 3 Items + Peek --- */
	/* Shows 3 full items + visual peek of 4th */
	.sp-slider.show-3>* {
		flex: 0 0 28% !important;
		max-width: 28% !important;
	}

	/* --- VARIANT 4: Flexible / Auto Width (Ideal for Logos) --- */
	/* Sizes each item according to its image or text width */
	.sp-slider.flexible-width>* {
		flex: 0 0 auto !important;
		max-width: none !important;
		width: auto !important;
	}

	/* Optional: Keep logos vertically centered and consistently sized */
	.sp-slider.flexible-width {
		align-items: center !important;
	}

	.sp-slider.flexible-width img {
		max-height: 50px;
		/* Adjust height limit for logos as needed */
		width: auto;
		object-fit: contain;
	}

	/* Container overrides for continuous animation */
	.sp-slider.auto-scroll {
		/* Disable snap while auto-scrolling to prevent jitter */
		scroll-snap-type: none !important;
		overflow-x: hidden !important;
		/* Hide scrollbars during animation */
	}

	/* Target the child track */
	.sp-slider.auto-scroll>* {
		/* Apply continuous linear animation */
		animation: cssAutoScroll 20s linear infinite alternate;
		will-change: transform;
	}

	/* Optional: Pause scrolling when user touches/hovers */
	.sp-slider.auto-scroll:hover>*,
	.sp-slider.auto-scroll:active>* {
		animation-play-state: paused;
	}

	/* Keyframes: Slides left by 100% of half the track length */
	@keyframes cssAutoScroll {
		0% {
			transform: translate3d(0, 0, 0);
		}

		100% {
			/* Shifts track to the left continuously */
			transform: translate3d(-500%, 0, 0);
		}
	}

	@supports (animation-timeline: view()) {

		/* Define the scroll view timeline on each card */
		.sp-slider.focus-mode>* {
			view-timeline-name: --card-in-view;
			view-timeline-axis: inline;

			/* Attach the blur/scale keyframes directly to the scroll timeline */
			animation: cssFocusScroll timeline() linear both;
			animation-timeline: --card-in-view;
		}

		@keyframes cssFocusScroll {

			/* Entrance: Card enters from the right edge */
			0% {
				filter: blur(4px) grayscale(1);
				opacity: 0.4;
				transform: scale(0.92);
			}

			/* Center Focus: Card is in the middle of the slider */
			35%,
			65% {
				filter: blur(0px) grayscale(0);
				opacity: 1;
				transform: scale(1);
			}

			/* Exit: Card scrolls off to the left edge */
			100% {
				filter: blur(4px) grayscale(1);
				opacity: 0.4;
				transform: scale(0.92);
			}
		}
	}

	/* Enable on slider wrapper: class="sp-slider focus-mode" */

	/* 1. Base transition for smooth fading */
	.sp-slider.focus-mode>* {
		transition:
			filter 0.4s ease,
			opacity 0.4s ease,
			transform 0.4s ease !important;
		will-change: filter, opacity, transform;
	}

	/* 2. When ANY child has focus/active state, blur all OTHER children */
	.sp-slider.focus-mode:has(> *:focus-within)>*:not(:focus-within),
	.sp-slider.focus-mode:has(> *:active)>*:not(:active) {
		filter: blur(3px) grayscale(1) !important;
		opacity: 0.4 !important;
		transform: scale(0.95) !important;
	}

	/* 3. The currently focused/active card stays clear */
	.sp-slider.focus-mode>*:focus-within,
	.sp-slider.focus-mode>*:active {
		filter: blur(0) grayscale(0) !important;
		opacity: 1 !important;
		transform: scale(1.02) !important;
		z-index: 2;
	}

	/** GRID BLOCK **/

	.wp-block-group-is-layout-grid>div,
	.responsive-grid>div {
		grid-column: span 12;
		grid-row: span 1;
	}

	.wp-block-group-is-layout-grid.s2c>div,
	.responsive-grid.s-2c>div {
		grid-column: span 6;
		grid-row: span 1;
	}

	.wp-block-group-is-layout-grid.s-3c>div,
	.responsive-grid.s-3c>div {
		grid-column: span 4;
		grid-row: span 1;
	}

	.wp-block-column.s-order-1,
	.wp-block-column.m-order-1,
	.quote.wp-block-columns .wp-block-column:last-child {
		order: 1;
	}

	.wp-block-column.s-order-2,
	.wp-block-column.m-order-2,
	.quote.wp-block-columns .wp-block-column:first-child {
		order: 2;
	}

	/** Solution Item **/
	.solution-item {
		display: none !important;
	}

	/** Icons **/
	.is-icon>img {
		max-height: 70px;
		margin-block-start: 30px;
	}

	p {
		max-width: 100% !important;
	}

	/** SECTION NAVIGATION **/
	.s-reset-buttons {
		padding: 5px !important;
		/*	padding: 5px 10px!important;
		background: var(--wp--preset--color--contrast)!important; */
	}

	.s-reset-buttons:has(.wp-block-button:nth-child(3)),
	.s-reset-buttons:has(.wp-block-button:nth-child(4)) {
		/*padding: 5px 0px !important;
        background: var(--wp--preset--color--contrast) !important;*/
		display: flex !important;
		justify-content: space-between;
		align-items: center;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 5px;
		max-width: 95% !important;
		/* border-radius: 12px !important;*/
		border-radius: 20px !important;

	}

	.s-reset-buttons:has(.wp-block-button:nth-child(3)) .wp-block-button,
	.s-reset-buttons:has(.wp-block-button:nth-child(4)) .wp-block-button {
		flex-basis: 49%;
	}

	.s-reset-buttons a {
		padding: 5px 10px !important;
	}

	/*
	.s-reset-buttons a {
		padding: 0!important;
		color: white;
		background: none!important;
		border-radius: 0!important;
	}

	.s-reset-buttons a:after {
		position: absolute;
		content: "";
		height: 65%;
		width: 1px;
		background: var(--wp--preset--color--primary-2);
		right: -9px;
		top: 50%;
		transform: translateY(-50%);
	}
*/
	.s-reset-buttons .wp-block-button:last-child a:after {
		display: none;
	}

	.s-reset-buttons a:focus {
		outline: 0 !important;
	}

	/** HELPER CLASSES **/
	.s-no-margin {
		margin: 0 !important;
	}

}

@media screen and (max-width: 1200px) {

	div#hero {
		flex-direction: column;
	}

	#hero .wp-block-column:last-child>figure img {
		aspect-ratio: 21/9 !important;
		height: auto !important;
		width: 100% !important;
	}

	/*
    #hero .wp-block-column:last-child {
        order: 1;
    }
    
    #hero .wp-block-column:first-child {
        order: 2;
    }
*/
}

@media screen and (min-width: 781px) and (max-width: 1200px) {
	#secondary-nav {
		display: none;
	}

	.wp-block-group-is-layout-grid>div,
	.responsive-grid>div {
		grid-column: span 6;
		grid-row: span 1;
	}

	.wp-block-group-is-layout-grid.m-2c>div,
	.responsive-grid.m-2c>div {
		grid-column: span 6;
		grid-row: span 1;
	}

	.wp-block-group-is-layout-grid.m-3c>div,
	.responsive-grid.m-3c>div {
		grid-column: span 4;
		grid-row: span 1;
	}

	.m-content-cols-2 {
		column-count: 2 !important;
	}

	.m-content-cols-3 {
		column-count: 3 !important;
	}

	.m-content-cols-4 {
		column-count: 4 !important;
	}

	.m-reset-content-cols {
		column-count: 1 !important;
	}


}

/** SVG IMAGES **/
figure svg {
	max-width: 100%;
}

.admin-bar main {
	margin-block-start: 86px !important;
}

.admin-bar header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height);
	max-height: 88px;
}

@supports (-moz-appearance: none) {
	.wp-custom-css-e3ca343f {
		counter-reset: toc !important;
	}

	.wp-custom-css-e3ca343f>li {
		counter-increment: toc !important;
	}

	.wp-custom-css-e3ca343f>li::marker {
		content: counter(toc) ". " !important;
	}
}