/*
Theme Name: neoQM
Theme URI: https://neoqm.de
Author: Ruven Pelka
Author URI: https://ruvenpelka.com
Description: The neoQM theme.
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.0
Version: 2.4.2
Template: groundbreaker
Text Domain: neoqm
*/

/**
 * BASE/VIEW-TRANSITION
 */

@view-transition {
	navigation: auto;
}

/**
 * BASE/HTML
 */

html {
	scroll-behavior: smooth;
}

/**
 * BASE/HEADINGS
 */

@media (max-width: 550px) {
	h1 {
		font-size: clamp(1.648rem, 1.648rem + ((1vw - 0.2rem) * 2.095), 2.8rem);
		line-height: 1.3;
	}
}

/**
 * BASE/FORMS
 */

input[type="checkbox"] {
	accent-color: var(--wp--preset--color--secondary-500);
}

select {
	appearance: none;
	-webkit-appearance: none;
	background-color: var(--wp--preset--color--base-0, #ffffff);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='2' stroke='%23404040'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right calc(var(--groundbreaker--input--padding-horizontal, 1rem) - .4rem) center;
	background-size: 1rem 1rem;
	padding-right: calc(var(--groundbreaker--input--padding-horizontal, 1rem) + 1.75rem);
	cursor: pointer;
}

select:disabled {
	cursor: not-allowed;
	opacity: 0.7;
}

/*
body label {
  display: block;
  font-size: var(--groundbreaker--label--font-size, .85em);
  font-weight: var(--groundbreaker--label--font-weight, 500);
}
*/

/*
 * WP-BLOCKS/SITE-BLOCKS
 * 
 * Fix for view transition animation
 */

.wp-site-blocks > main { 
	overflow: hidden;
}

/**
 * WP-BLOCK/SEPARATOR
 */

.wp-block-separator {
	border-top: 1px solid;
}

/**
 * WP-BLOCK/BUTTON
 */

.wp-block-button {
	--groundbreaker--button--secondary--color: var(--wp--preset--color--base-0);
	--groundbreaker--button--secondary--background-color: var(--wp--preset--color--secondary-500);
}

.wp-block-button__link {
	transition: all ease-in-out 0.2s;
}

/* Normal button */
.wp-block-button:not(.is-style-outline):not(.is-style-secondary) .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--highlight-500);
}

/* Secondary button */
.wp-block-button.is-style-secondary .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--highlight-500) !important;
}

/* Tertiary button */
.wp-block-button.is-style-tertiary .wp-block-button__link {
	color: var(--wp--preset--color--base-0);
	background-color: var(--wp--preset--color--primary-500);
}

.wp-block-button.is-style-tertiary .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--highlight-500) !important;
}

/* Outline button */
.wp-block-button.is-style-outline .wp-block-button__link:hover {
	color: var(--wp--preset--color--base-0) !important;
	background-color: var(--wp--preset--color--primary-500);
	border-color: var(--wp--preset--color--primary-500);
}

/* Highlight button */
.wp-block-button.is-style-highlight .wp-block-button__link {
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--highlight-500);
}

.wp-block-button.is-style-highlight .wp-block-button__link:hover {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--primary-200) !important;
}

/* Alert button */
.wp-block-button.is-style-alert .wp-block-button__link {
	color: var(--wp--preset--color--alert-200);
	background-color: var(--wp--preset--color--alert-500);
}

.wp-block-button.is-style-alert .wp-block-button__link:hover {
	color: var(--wp--preset--color--alert-200) !important;
	background-color: var(--wp--preset--color--alert-600) !important;
}

/* Success button */
.wp-block-button.is-style-success .wp-block-button__link {
	color: var(--wp--preset--color--success-200);
	background-color: var(--wp--preset--color--success-500);
}

.wp-block-button.is-style-success .wp-block-button__link:hover {
	color: var(--wp--preset--color--success-200) !important;
	background-color: var(--wp--preset--color--success-600) !important;
}

/**
 * WP=BLOCK-STYLE/GROUP/ANIMATED-LINKS
 * 
 * Source: https://www.joshwcomeau.com/css/interactive-guide-to-box-shadow/
 */

.is-style-animated-links a {
	position: relative;
	color: inherit;
	text-decoration: none !important;
	transition: color 0.3s ease;
}

.is-style-animated-links a:hover,
.is-style-animated-links .current-menu-item a {
	text-decoration: none !important;
	/* color: var(--wp--preset--color--base-950) !important; */
}

.is-style-animated-links a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: -2px;
	left: 0;
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.is-style-animated-links a:hover::before {
	transform: scaleX(1);
	transform-origin: left;
}

/**
 * WP-BLOCK-STYLES/GROUP/CENTER-ON-MOBILE
 */

@media (max-width: 600px) {
	.wp-block-group.is-style-center-on-mobile h1,
	.wp-block-group.is-style-center-on-mobile h2,
	.wp-block-group.is-style-center-on-mobile h3,
	.wp-block-group.is-style-center-on-mobile h4,
	.wp-block-group.is-style-center-on-mobile h5,
	.wp-block-group.is-style-center-on-mobile h6,
	.wp-block-group.is-style-center-on-mobile p {
		text-align: center !important;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-buttons {
		justify-content: center !important;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-image {
		margin-left: auto !important;
		margin-right: auto !important;
		text-align: center;
	}

	.wp-block-group.is-style-center-on-mobile .wp-block-image img {
		margin: 0 auto;
	}

	.__wp-block-group.is-style-center-on-mobile ul,
	.__wp-block-group.is-style-center-on-mobile ol {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
	}
}

/**
 * WP-BLOCK-STYLES/GROUP/NO-GLOBAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.is-style-no-global-padding-on-mobile.has-global-padding {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/**
 * WP-BLOCK-STYLES/GROUP/GLOBAL-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.is-style-global-padding-on-mobile {
		padding-left: var(--wp--style--root--padding-left) !important;
		padding-right: var(--wp--style--root--padding-right) !important;
		padding-top: var(--wp--style--root--padding-left) !important;
		padding-bottom: var(--wp--style--root--padding-left) !important;
	}
}

@media (max-width: 781px) {
	.is-style-global-padding-x-on-mobile.has-global-padding {
		padding-left: var(--wp--style--root--padding-left) !important;
		padding-right: var(--wp--style--root--padding-right) !important;
	}
}

@media (max-width: 781px) {
	.is-style-global-padding-y-on-mobile.has-global-padding {
		padding-top: var(--wp--style--root--padding-top) !important;
		padding-bottom: var(--wp--style--root--padding-bottom) !important;
	}
}

/**
 * WP-BLOCK-STYLES/COLUMNS/SWITCH-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
	.is-style-switch-columns-on-mobile {
		display: flex;
		flex-direction: column;
		row-gap: var(--wp--style--block-gap, 1.5em);
	}

	.is-style-switch-columns-on-mobile > .wp-block-column:nth-child(2) {
		order: -1;
	}
}

/**
 * WP-BLOCK-STYLES/GROUP/GLOBAL-X-PADDING-ON-MOBILE
 */

@media (max-width: 781px) {
	.is-style-global-x-padding-on-mobile {
		padding-left: var(--wp--style--root--padding-left);
		padding-right: var(--wp--style--root--padding-right);
	}
}

/**
 * WP-BLOCKS/ACCORDION
 */

.wp-block-accordion-heading__toggle-icon {
	font-family: sans-serif;
	font-weight: 500 !important;
	font-size: 1.4rem;
}

/**
 * WP-BLOCKS/LIST
 */

ul.wp-block-list {
	padding-left: 0.5em;
}

ul.wp-block-list:not(.is-style-list-with-arrows) {
	list-style-type: "\2022";
}

ul.wp-block-list li {
	padding-inline-start: 1ch;
}

/**
 * WP-BLOCK-STYLES/BUTTONS/FULL-WIDTH-ON-MOBILE
 */

@media (max-width: 600px) {
	.wp-block-buttons.is-style-full-width-mobile .wp-block-button {
		width: 100%;
	}

	.wp-block-buttons.is-style-full-width-mobile .wp-block-button__link {
		width: 100%;
		display: block;
		text-align: center;
	}
}

/**
 * WP-BLOCK-STYLES/LIST/WITH-ARROWS
 */

/* Default List Arrows */

ul.wp-block-list.is-style-list-with-arrows,
ul.wp-block-list.is-style-list-with-secondary-arrows {
	list-style-type: "\25B8";
}

ul.wp-block-list.is-style-list-with-arrows li::marker {
	color: var(--wp--preset--color--primary-500);
}

/* Secondary List Arrows */

ul.wp-block-list.is-style-list-with-secondary-arrows li::marker {
	color: var(--wp--preset--color--secondary-500);
}

/**
 * WP-BLOCK-STYLES/PARAGRAPH/SUBHEADING
 */

.is-style-subheading {
	font-family: var(--wp--preset--font-family--roboto-condensed);
	font-size: clamp(1.092rem, 1.092rem + ((1vw - 0.2rem) * 1.105), 1.7rem);
	letter-spacing: 0.05em;
	line-height: 1.4;
	text-transform: uppercase;
}

@media (max-width: 781px) {
	.is-style-subheading {
		font-size: 0.9rem;
	}
}

/**
 * WP-BLOCK-STYLES/COLUMNS/SWITCH-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
	.is-style-switch-columns-on-mobile {
		display: flex;
		flex-direction: column;
		row-gap: var(--wp--style--block-gap, 1.5em);
	}

	.is-style-switch-columns-on-mobile > .wp-block-column:nth-child(2) {
		order: -1;
	}
}

/**
 * WP-BLOCK-STYLES/COLUMNS/TWO-COLUMNS-ON-MOBILE
 */

@media (max-width: 781px) {
	/* Allow the columns to wrap into a second row */
	.wp-block-columns.is-style-two-columns-on-mobile {
		display: flex;
		flex-wrap: wrap !important;
		gap: var(--wp--style--root--padding-left);
	}

	/* Force each column to be exactly 50% wide on mobile */
	.wp-block-columns.is-style-two-columns-on-mobile > .wp-block-column {
		flex-basis: calc(50% - (var(--wp--style--root--padding-left) / 2)) !important;
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
	}
}

/**
 * WP-BLOCK-STYLES/HEADING/TEXT-WRAP
 */

.is-style-text-balance {
	text-wrap: balance;
}

.is-style-text-nowrap {
	text-wrap: nowrap;
}

/**
 * WP-BLOCK-STYLES/COLUMNS/STACK-ON-TABLET
 */

@media (max-width: 1024px) {
	.wp-block-columns.is-style-stack-on-tablet {
		flex-wrap: wrap !important;
	}

	.wp-block-columns.is-style-stack-on-tablet > .wp-block-column {
		flex-basis: 100% !important;
		margin-left: 0 !important;
	}
}

/**
 * WP-BLOCK-STYLES/DETAILS/FAQ
 */

.wp-block-details.is-style-faq {
	border: 1px solid var(--wp--preset--color--base-400, #a3a3a3);
	border-radius: 6px;
	background-color: var(--wp--preset--color--base-0, #ffffff);
}

.wp-block-details.is-style-faq summary {
	cursor: pointer;
	padding: 0.85rem 1rem;
	font-weight: 500;
	line-height: 1.35;
	transition: color 0.2s ease-in-out;
}

.wp-block-details.is-style-faq summary:hover {
	color: var(--wp--preset--color--primary-500);
}

.wp-block-details.is-style-faq[open] > summary {
	color: var(--wp--preset--color--primary-500);
	font-weight: 600;
	padding-bottom: 0.5rem;
}

.wp-block-details.is-style-faq > *:not(summary),
.wp-block-details.is-style-faq .wp-block-details__content {
	padding: 0 1rem 1rem;
	margin: 0;
}

.wp-block-details.is-style-faq > *:not(summary) + *:not(summary) {
	margin-top: 0.75rem;
}

/**
 * WP-BLOCK-STYLES/MEDIA-AND-TEXT/ROUNDED-IMAGE 
 */

.wp-block-media-text.is-style-rounded-media-text-image .wp-block-media-text__media img {
	border-bottom-left-radius: 100px;
}

/**
 * WP-BLOCK-STYLES/MEDIA-AND-TEXT/HERO
 */

.wp-block-media-text.is-style-hero > .wp-block-media-text__content {
	padding-left: var(--wp--style--root--padding-left) !important;
	padding-right: var(--wp--style--root--padding-right) !important;
}

.wp-block-media-text.is-style-hero > .wp-block-media-text__media img {
	border-bottom-left-radius: 100px;
}

/* Only when stacked, i.e. when the image sits below the text. */
@media (max-width: 600px) {
	.wp-block-media-text.is-stacked-on-mobile.is-style-hero > .wp-block-media-text__media {
		background-color: white;
	}
}

/**
 * WP-BLOCK-STYLES/MEDIA-AND-TEXT/IMAGE-BELOW-TEXT-ON-MOBILE
 */

/*
 * Core puts the image first when stacked; the parent theme only moves it below
 * the text when the image is on the left. This style keeps the image below the
 * text on both sides. Matches the breakpoint at which core stacks the block.
 */
@media (max-width: 600px) {
	.wp-block-media-text.is-stacked-on-mobile.is-style-image-below-text-on-mobile > .wp-block-media-text__media,
	.wp-block-media-text.is-stacked-on-mobile.is-style-hero > .wp-block-media-text__media {
		grid-row: 2;
	}

	.wp-block-media-text.is-stacked-on-mobile.is-style-image-below-text-on-mobile > .wp-block-media-text__content,
	.wp-block-media-text.is-stacked-on-mobile.is-style-hero > .wp-block-media-text__content {
		grid-row: 1;
	}
}

/**
 * WP-BLOCK-STYLES/MEDIA-AND-TEXT/NO-IMAGE-ON-TABLET
 */

@media (max-width: 1024px) {
	/* !important overrides the inline grid columns set by the media width setting. */
	.wp-block-media-text.is-style-no-image-on-tablet {
		grid-template-columns: 100% !important;
	}

	.wp-block-media-text.is-style-no-image-on-tablet .wp-block-media-text__media {
		display: none;
	}

	.wp-block-media-text.is-style-no-image-on-tablet .wp-block-media-text__content {
		grid-column: 1;
		grid-row: 1;
		padding-right: var(--wp--style--root--padding-right);
		padding-left: var(--wp--style--root--padding-left);
	}
}

/**
 * WP-BLOCK-STYLES/COVER/NO-IMAGE-ON-TABLET
 */

@media (max-width: 1024px) {
	.wp-block-cover.is-style-no-image-on-tablet .wp-block-cover__image-background {
		display: none;
	}
}

/**
 * WP-BLOCK-STYLES/IMAGE/ZOOM-IN-ON-HOVER
 * WP-BLOCK-STYLES/HYPERLINK-GROUP/ZOOM-IN-ON-HOVER
 * WP-BLOCK-STYLES/GROUP/ZOOM-IN-ON-HOVER
 */

.wp-block-image.is-style-zoom-in-on-hover img,
.wp-block-tiptip-hyperlink-group-block.is-style-zoom-in-on-hover,
.wp-block-group.is-style-zoom-in-on-hover {
	transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.wp-block-image.is-style-zoom-in-on-hover:hover img,
.wp-block-tiptip-hyperlink-group-block.is-style-zoom-in-on-hover:hover,
.wp-block-tiptip-hyperlink-group-block.is-style-zoom-in-on-hover:focus-visible,
.wp-block-group.is-style-zoom-in-on-hover:hover {
	transform: scale(1.03);
	box-shadow: var(--wp--preset--shadow--2-xl);
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-image.is-style-zoom-in-on-hover img,
	.wp-block-tiptip-hyperlink-group-block.is-style-zoom-in-on-hover,
	.wp-block-group.is-style-zoom-in-on-hover {
		transition: none;
	}
}

/** 
 * WP-BLOCK-STYLES/HYPERLINK-GROUP/ANIMATED-HOVER 
 */

.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover > * {
	outline: 2px solid transparent;
	outline-offset: 0;
	transition: outline-color 0.4s ease;
}

.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover .wp-block-image {
	overflow: hidden;
}

.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover .wp-block-image img {
	transition: transform 0.4s ease;
}

.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover:hover .wp-block-image img,
.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover:focus-visible .wp-block-image img {
	transform: scale(1.05);
}

.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover .wp-block-heading {
	transition: color 0.4s ease;
}

.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover:hover .wp-block-heading,
.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover:focus-visible .wp-block-heading {
	color: var(--wp--preset--color--success-500);
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover > *,
	.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover .wp-block-image img,
	.wp-block-tiptip-hyperlink-group-block.is-style-animated-hover .wp-block-heading {
		transition: none;
	}
}

/**
 * THEME/MAIN-NAV
 * WP-BLOCK-STYLES/ANIMATED-LINKS
 */

 /* Active item */

.main-nav > ul > .wp-block-navigation-item > a {
	position: relative;
	color: inherit;
	text-decoration: none;
	transition: color 0.3s ease;
}

.main-nav > ul > .wp-block-navigation-item > a:hover {
	text-decoration: none;
	/* color: var(--wp--preset--color--base-950) !important; */
}

.main-nav > ul > .wp-block-navigation-item > a::before {
	content: "";
	position: absolute;
	width: 100%;
	height: 2px;
	bottom: -2px;
	left: 0;
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s ease;
}

.main-nav > ul > .wp-block-navigation-item > a:hover::before,
.main-nav > ul > .wp-block-navigation-item.current-menu-item > a::before,
.main-nav > ul > .wp-block-navigation-item.current-menu-ancestor > a::before {
	transform: scaleX(1);
	transform-origin: left;
}

/**
 * THEME/HIDE-ON-SMALL-SCREENS
 */

 @media (max-width: 1200px) {
	.hide-on-small-screens {
		display: none !important;
	}
 }

/**
 * THEME/TEXT-DECORATION
 */

a.no-underline,
.no-underline a {
	text-decoration: none;
}

a.no-underline:hover,
.no-underline a:hover {
	text-decoration: underline;
}

/**
 * THEME/ASPECT-RATIO
 */

.aspect-square {
	aspect-ratio: 1 / 1;
}

/**
 * THEME/RELATIVE
 */

.relative {
	position: relative;
}

/**
 * THEME/OVERFLOW
 */

.overflow-hidden {
	overflow: hidden;
}

/**
 * THEME/MAX-WIDTH
 */

.max-w-half-vw {
	max-width: 50vw;
}

/**
 * THEME/DISPLAY
 */

.hidden {
	display: none !important;
}

/**
 * THEME/Z-INDEX
 */

.z-10 {
	z-index: 10;
}

/**
 * THEME/OFFSET-NUMBER-CIRCLE
 */

.offset-number-circle-group {
	position: absolute;
	z-index: 50;
	width: 100%;
	top: -50px;
}

/**
 * BLOCK-FORMATS/SECONDARY-TEXT
 */

.wp-block-button .secondary-text {
	font-size: var(--wp--preset--font-size--lg);
	font-weight: 400;
}

/**
 * THEME/FORM-BUTTON
 */

/* 2-XL Button */
.form-button-2xl input[type="submit"] {
	width: 100%;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--2-xl);
	padding-top: var(--wp--preset--spacing--scale-10);
	padding-bottom: var(--wp--preset--spacing--scale-10);
}

/* Highlight Button */
.form-button-highlight input[type="submit"] {
	transition: all ease-in-out 0.2s;
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--highlight-500) !important;
}

.form-button-highlight input[type="submit"]:hover:not(:disabled) {
	color: var(--wp--preset--color--primary-500) !important;
	background-color: var(--wp--preset--color--primary-200) !important;
}

/**
 * THEME/LARGE-FORM
 */

.large-form {
	--large-form-gap: var(--wp--preset--spacing--scale-6);
}

@media (min-width: 782px) {
	.large-form {
		--large-form-gap: var(--wp--preset--spacing--scale-10);
	}
}

.large-form .wp-block-columns {
	gap: var(--large-form-gap);
}

.large-form > * + *,
.large-form .wp-block-group > * + *,
.large-form .wp-block-column > * + * {
	margin-block-start: var(--large-form-gap) !important;
}

.large-form .wp-block-columns {
	margin-bottom: var(--large-form-gap);
}

.large-form .wpcf7-not-valid-tip {
	position: absolute;
	bottom: -26px;
	padding-left: 2.1rem;
}

.large-form .form-field {
	background-color: var(--wp--preset--color--base-0);
	box-sizing: border-box;
	border: none;
	border-radius: 0.4rem;
	border-left: 0.6rem solid transparent;
	width: 100%;
	max-width: 100%;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

.large-form .form-field,
.large-form .wpcf7-acceptance label {
	font-family: inherit;
	font-size: var(--wp--preset--font-size--2-xl);
	font-weight: 400;
}

.large-form textarea.form-field {
	line-height: inherit;
}

.large-form .form-field input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--wp--preset--color--secondary-500, #00a2de);
}

.large-form .form-field[aria-required="true"],
.large-form .form-field.required {
	border-left: 0.6rem solid var(--wp--preset--color--primary-500);
}

.large-form .form-field:focus {
	outline: 3px solid var(--wp--preset--color--primary-500);
	outline-left: none;
}

.large-form input[type="submit"] {
	transition: all 0.2s ease-in-out;
	font-family: inherit;
	cursor: pointer;
	border: 0;
	border-radius: 0.8rem;
	color: var(--wp--preset--color--base-0);
	background-color: var(--wp--preset--color--primary-500);
	font-size: var(--wp--preset--font-size--xl);
	font-weight: 600;
	padding: var(--wp--preset--spacing--scale-6);
}

.large-form input[type="submit"]:enabled:hover {
	background-color: var(--wp--preset--color--highlight-500);
	color: var(--wp--preset--color--primary-500);
}

/**
 * THEME/SMALL-FORM
 */

.small-form p {
	margin-block-start: 0.7rem !important;
}

.small-form label {
	font-size: 1rem;
}

.small-form .wpcf7-acceptance label {
	font-size: .8rem;
}

.small-form [type='text'], 
.small-form [type='email'], 
.small-form [type='url'], 
.small-form [type='password'], 
.small-form [type='number'], 
.small-form [type='date'], 
.small-form [type='datetime-local'], 
.small-form [type='month'], 
.small-form [type='search'], 
.small-form [type='tel'], 
.small-form [type='time'], 
.small-form [type='week'], 
.small-form [multiple], 
.small-form textarea, 
.small-form select {
	padding: .5rem;
	font-family: var(--wp--preset--font-family--roboto-condensed);
}

.small-form .form-field input[type="checkbox"] {
	width: 14px;
	height: 14px;
	accent-color: var(--wp--preset--color--primary-500);
}

.small-form input[type="submit"] {
	width: 100%;
}

/**
 * THEME/GOOGLE-BOOKING-CALENDAR
 */

.google-booking-calendar {
	box-sizing: border-box;
	width: 100%;
}

.google-booking-calendar iframe {
	height: 705px;
	display: block;
	width: 100%;
	border: 0;
}

@media (max-width: 782px) {
	.google-booking-calendar iframe {
		height: 1180px;
	}
}

/**
 * THEME/FEATURES-TABLE
 */

.features-table {
	--features-table-space-x: var(--wp--preset--spacing--scale-4);
	--features-table-space-y: var(--wp--preset--spacing--scale-4);
}

@media (min-width: 782px) {
	.features-table {
		--features-table-space-x: var(--wp--preset--spacing--scale-10);
		padding-left: var(--wp--preset--spacing--scale-12);
		padding-right: var(--wp--preset--spacing--scale-12);
		padding-bottom: var(--wp--preset--spacing--scale-12);
	}
}

.features-table .wp-block-details {
	margin-top: 0;
	margin-bottom: 0;
}

.features-table .wp-block-details:not([open]):not(:last-child) {
	border-bottom: 2px solid var(--wp--preset--color--base-0);
}

.features-table .wp-block-details summary {
	position: relative;
	background: var(--wp--preset--color--primary-200);
	text-align: center;
	transition: all ease-in-out 0.2s;
	padding: var(--features-table-space-y) calc(var(--features-table-space-x) * 2);
}

.features-table .wp-block-details summary:hover,
.features-table .wp-block-details .wp-block-columns:hover {
	background: var(--wp--preset--color--primary-300) !important;
}

.features-table .wp-block-details summary::marker,
.features-table .wp-block-details summary::-webkit-details-marker {
	content: "" !important;
	display: none !important;
	color: transparent !important;
}

.features-table .wp-block-details summary::before {
	content: "\25B8";
	position: absolute;
	left: var(--features-table-space-x);
	top: calc(50% - 0.8rem);
	font-size: 1.6rem;
	line-height: 1;
}

.features-table .wp-block-details[open] summary::before {
	content: "\25BE";
}

.features-table .wp-block-columns {
	/* 	min-height: 62px; */
}

.features-table .wp-block-details .wp-block-columns:nth-child(odd) {
	background: var(--wp--preset--color--primary-50);
}

.features-table .wp-block-columns .wp-block-column,
.features-table .wp-block-details > .wp-block-group {
	padding: var(--features-table-space-y) var(--features-table-space-x);
}

.features-table .wp-block-columns .wp-block-column,
.features-table .wp-block-details > .wp-block-group {
	hyphens: auto;
	overflow-wrap: break-word;
}

.features-table .wp-block-columns .wp-block-column:first-child {
	flex-basis: 66%;
	border-right: 1px solid var(--wp--preset--color--primary-300);
}

.features-table .wp-block-columns .wp-block-column:last-child {
	flex-basis: 34%;
	margin-left: -1px;
	border-left: 1px solid var(--wp--preset--color--primary-300);
}

@media (max-width: 781px) {
	.features-table .wp-block-columns .wp-block-column {
		font-size: 0.75rem;
	}
}

@media (min-width: 782px) {
	.features-table .wp-block-columns .wp-block-column:first-child {
		flex-basis: 70%;
	}
	.features-table .wp-block-columns .wp-block-column:last-child {
		flex-basis: 30%;
	}
}

/**
 * THEME/ORDER-CONFIRMATION
 */

.order-confirmation-container {
	max-width: 1000px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--scale-6) 0 var(--wp--preset--spacing--scale-16);
}

/* 1. Hero & Status Header */
.order-confirmation-hero {
	border: 1px solid var(--wp--preset--color--base-300, #e2e8f0);
	border-radius: 1.2rem;
	padding: var(--wp--preset--spacing--scale-8) var(--wp--preset--spacing--scale-6);
	text-align: center;
	margin-bottom: var(--wp--preset--spacing--scale-6);
}

.order-confirmation-check-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background-color: #dcfce7;
	color: #15803d;
	border: 1px solid var(--wp--preset--color--primary-100, #e2e8f0);
	margin-bottom: var(--wp--preset--spacing--scale-4);
}

.order-confirmation-hero-title {
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #00628d);
	margin: 0 0 var(--wp--preset--spacing--scale-2);
	line-height: 1.2;
}

.order-confirmation-hero-subtitle {
	font-size: 1.15rem;
	color: var(--wp--preset--color--primary-400, #475569);
	margin: 0 0 var(--wp--preset--spacing--scale-4);
	line-height: 1.4;
}

.order-confirmation-hero-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--wp--preset--spacing--scale-3);
	flex-wrap: wrap;
	margin-bottom: var(--wp--preset--spacing--scale-6);
}

.order-confirmation-order-badge {
	display: inline-block;
	font-size: 0.95rem;
	font-weight: 700;
	background-color: var(--wp--preset--color--primary-500, #00628d);
	color: #ffffff;
	padding: 0.35rem 0.9rem;
	border-radius: 2rem;
}

.order-confirmation-date-badge {
	display: inline-block;
	font-size: 0.9rem;
	color: var(--wp--preset--color--primary-400, #64748b);
	font-weight: 500;
}

.order-confirmation-email-alert {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--scale-3);
	max-width: 640px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--scale-4) var(--wp--preset--spacing--scale-5);
	background-color: #ffffff;
	border: 1px solid var(--wp--preset--color--secondary-500, #00a2de);
	border-radius: 0.6rem;
	text-align: left;
}

.order-confirmation-email-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-confirmation-email-icon svg {
	width: 28px;
	height: 28px;
}

.order-confirmation-email-alert-title {
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--wp--preset--color--primary-500, #00628d);
	margin-bottom: 0.15rem;
}

.order-confirmation-email-alert-text {
	font-size: 0.85rem;
	color: #475569;
	margin: 0;
	line-height: 1.4;
}

/* Step Pill between Hero and Step Card */
.order-confirmation-step-pill-wrapper {
	display: flex;
	justify-content: center;
	margin-bottom: var(--wp--preset--spacing--scale-6);
}

.order-confirmation-step-pill {
	display: inline-block;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	background-color: var(--wp--preset--color--highlight-500);
	color: var(--wp--preset--color--primary-500);
	padding: 0.35rem 0.9rem;
	border-radius: 9999px;
}

/* 2. Step Card: Einweisung */
.order-confirmation-step-card {
	background: var(--wp--preset--color--primary-50);
	border: 3px solid var(--wp--preset--color--secondary-500, #00a2de);
	border-radius: 1.2rem;
	padding: var(--wp--preset--spacing--scale-8) var(--wp--preset--spacing--scale-6);
	margin-bottom: var(--wp--preset--spacing--scale-10);
	text-align: center;
	position: relative;
	overflow: hidden;
}

.order-confirmation-step-header {
	margin-bottom: var(--wp--preset--spacing--scale-4);
	text-align: center;
}

.order-confirmation-step-title {
	font-size: clamp(1.6rem, 3.2vw, 2.1rem);
	font-weight: 700;
	margin: 0;
	line-height: 1.25;
}

.order-confirmation-step-text {
	font-size: 1.05rem;
	line-height: 1.6;
	max-width: 720px;
	margin: 0 auto var(--wp--preset--spacing--scale-6);
	text-align: center;
}

.order-confirmation-step-features {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: var(--wp--preset--spacing--scale-6);
	flex-wrap: wrap;
	margin-bottom: var(--wp--preset--spacing--scale-6);
	padding: var(--wp--preset--spacing--scale-4) 0;
	border-top: 1px solid var(--wp--preset--color--primary-300, #f1f5f9);
	border-bottom: 1px solid var(--wp--preset--color--primary-300, #f1f5f9);
}

.order-confirmation-feature-item {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-500, #00628d);
}

.order-confirmation-feature-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-confirmation-feature-icon svg {
	width: 20px;
	height: 20px;
}

.order-confirmation-step-action {
	display: flex;
	justify-content: center;
	align-items: center;
}

.order-confirmation-btn-cta {
	display: inline-flex !important;
	align-items: center;
	gap: 0.6rem;
	background-color: var(--wp--preset--color--highlight-500, #00a2de) !important;
	color: var(--wp--preset--color--primary-500);
	padding: 0.9rem 1.8rem !important;
	font-size: 1.1rem !important;
	font-weight: 700 !important;
	border-radius: 0.6rem !important;
	text-decoration: none !important;
	transition: all 0.2s ease-in-out;
}

.order-confirmation-btn-cta:hover {
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--primary-300, #00628d) !important;
}

/* 3. Section Title & Grid */
.order-confirmation-section-title {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #00628d);
	margin-bottom: var(--wp--preset--spacing--scale-4);
}

.order-confirmation-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--scale-6);
	margin-bottom: var(--wp--preset--spacing--scale-10);
}

@media (min-width: 782px) {
	.order-confirmation-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.order-confirmation-card {
	background-color: #ffffff;
	border: 1px solid var(--wp--preset--color--primary-100, #e2e8f0);
	border-radius: 0.8rem;
	overflow: hidden;
}

.order-confirmation-card-header {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--scale-2);
	background-color: var(--wp--preset--color--primary-50, #f0f7fa);
	padding: var(--wp--preset--spacing--scale-4) var(--wp--preset--spacing--scale-5);
	border-bottom: 1px solid var(--wp--preset--color--primary-100, #e2e8f0);
}

.order-confirmation-card-header h3 {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #00628d);
}

.order-confirmation-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-confirmation-card-icon svg {
	width: 22px;
	height: 22px;
}

.order-confirmation-card-content {
	padding: var(--wp--preset--spacing--scale-5);
	font-size: 0.9rem;
}

.order-confirmation-summary-item {
	padding-bottom: var(--wp--preset--spacing--scale-4);
	margin-bottom: var(--wp--preset--spacing--scale-4);
	border-bottom: 1px solid var(--wp--preset--color--primary-100, #f1f5f9);
}

.order-confirmation-summary-title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #00628d);
	margin-bottom: 0.25rem;
}

.order-confirmation-summary-sub {
	font-size: 0.9rem;
	color: #475569;
	line-height: 1.5;
}

.order-confirmation-pricing-block {
	margin-bottom: var(--wp--preset--spacing--scale-4);
	padding-bottom: var(--wp--preset--spacing--scale-3);
	border-bottom: 1px solid var(--wp--preset--color--primary-100, #f1f5f9);
}

.order-confirmation-pricing-block:last-of-type {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.order-confirmation-pricing-heading {
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--wp--preset--color--secondary-500, #00a2de);
	font-family: var(--wp--preset--font-family--roboto-condensed), sans-serif;
	margin-bottom: 0.5rem;
}

.order-confirmation-data-group {
	margin-bottom: var(--wp--preset--spacing--scale-4);
	padding-bottom: var(--wp--preset--spacing--scale-4);
	border-bottom: 1px solid var(--wp--preset--color--primary-100, #f1f5f9);
}

.order-confirmation-data-group:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.order-confirmation-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 0.35rem 0;
	color: #475569;
}

.order-confirmation-row--total {
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #00628d);
	padding-top: 0.5rem;
	margin-top: 0.25rem;
	border-top: 1px dashed var(--wp--preset--color--primary-200, #cbd5e1);
	font-size: 1rem;
}

.order-confirmation-price-highlight {
	color: #059669;
	font-weight: 700;
	font-size: 1.05rem;
}

.order-confirmation-price-highlight small {
	font-size: 0.75rem;
	color: #64748b;
	font-weight: 500;
}

.order-confirmation-label {
	color: #64748b;
	font-weight: 500;
	min-width: 120px;
}

.order-confirmation-value {
	font-weight: 600;
	color: #0f172a;
	text-align: right;
}

.order-confirmation-badge-identical {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.order-confirmation-check-icon {
	flex-shrink: 0;
	color: #16a34a;
}

.order-confirmation-payment-value {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.order-confirmation-payment-icon {
	flex-shrink: 0;
	color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-confirmation-iban,
.order-confirmation-bic {
	font-family: monospace;
	letter-spacing: 0.05em;
	background: #f8fafc;
	padding: 0.15rem 0.45rem;
	border-radius: 0.3rem;
	border: 1px solid #e2e8f0;
	font-size: 0.85rem;
}

.order-confirmation-tax-notice {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	font-size: 0.8rem;
	font-style: italic;
	color: #b45309;
	padding: 0.5rem 0.75rem;
	background-color: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 0.4rem;
	margin-top: 0.75rem;
	text-align: center;
}

.order-confirmation-tax-icon {
	flex-shrink: 0;
	color: #b45309;
}

/* 4. Support Footer Box */
.order-confirmation-footer-box {
	background-color: var(--wp--preset--color--primary-50, #f0f7fa);
	border: 1px solid var(--wp--preset--color--primary-100, #e2e8f0);
	border-radius: 0.8rem;
	padding: var(--wp--preset--spacing--scale-5);
	text-align: center;
}

.order-confirmation-footer-content h4 {
	margin: 0 0 0.4rem;
	font-size: 1.05rem;
	color: var(--wp--preset--color--primary-500, #00628d);
}

.order-confirmation-footer-content p {
	margin: 0;
	font-size: 0.9rem;
	color: #475569;
}

.order-confirmation-footer-content a {
	color: var(--wp--preset--color--secondary-500, #00a2de);
	font-weight: 700;
	text-decoration: underline;
}

/* 5. Fallback Card (when order key is missing or invalid) */
.order-confirmation-fallback-card {
	background: #ffffff;
	border: 1px solid var(--wp--preset--color--primary-100, #e2e8f0);
	border-radius: 1rem;
	padding: var(--wp--preset--spacing--scale-10) var(--wp--preset--spacing--scale-6);
	text-align: center;
	max-width: 600px;
	margin: var(--wp--preset--spacing--scale-8) auto;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.order-confirmation-fallback-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--wp--preset--color--primary-500, #00628d);
	margin-bottom: var(--wp--preset--spacing--scale-3);
}

.order-confirmation-fallback-svg {
	width: 48px;
	height: 48px;
}

.order-confirmation-fallback-title {
	font-size: 1.6rem;
	color: var(--wp--preset--color--primary-500, #00628d);
	margin-bottom: var(--wp--preset--spacing--scale-3);
}

.order-confirmation-fallback-text {
	color: #64748b;
	line-height: 1.5;
	margin-bottom: var(--wp--preset--spacing--scale-6);
}

.order-confirmation-btn-primary {
	background-color: var(--wp--preset--color--primary-500, #00628d) !important;
	color: #ffffff !important;
	padding: 0.75rem 1.5rem !important;
	font-weight: 700 !important;
	border-radius: 0.5rem !important;
	text-decoration: none !important;
}

/**
 * THEME/CALL-BACK-FORM
 */

.call-back-form label {
	font-weight: 700;
}

.call-back-form input[type=submit] {
	transition: all 0.3s ease, color 0.3s ease;
	margin-top: 1.5rem;
	width: 100%;
	min-height: 44px;
}

.call-back-form input[type=submit]:hover {
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--highlight-500);
}

/**
 * THEME/ORDER-FORM
 */

.order-form {
	margin-bottom: var(--wp--preset--spacing--scale-6, 2rem);
}

.order-form-section {
	background-color: var(--wp--preset--color--primary-50, #f8f9fa);
	border: 1px solid var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 0.8rem;
	padding: var(--wp--preset--spacing--scale-6, 1.5rem);
	margin-bottom: var(--wp--preset--spacing--scale-6, 1.5rem);
}

.order-form-section-title {
	font-size: var(--wp--preset--font-size--lg, 1.25rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #1b365d);
	margin: 0 0 1.25rem 0;
	padding-bottom: 0.65rem;
	border-bottom: 2px solid var(--wp--preset--color--primary-200, #cbd5e1);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	line-height: 1.25;
}

/* Order Section & Overview Heading Badges */
.order-heading-icon-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: linear-gradient(180deg, #ffffff 0%, var(--wp--preset--color--primary-50, #f0f9ff) 100%);
	color: var(--wp--preset--color--primary-500, #00628d);
	border: 1px solid var(--wp--preset--color--primary-200, #cdeafc);
	box-shadow: 0 1px 3px rgba(0, 98, 141, 0.08);
	flex-shrink: 0;
	transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

.order-heading-icon-badge svg {
	width: 19px;
	height: 19px;
	display: block;
}

.order-form-section:hover .order-heading-icon-badge,
.order-overview-card:hover .order-heading-icon-badge {
	border-color: var(--wp--preset--color--primary-300, #b5e1fd);
	box-shadow: 0 2px 6px rgba(0, 98, 141, 0.12);
	color: var(--wp--preset--color--primary-600, #075073);
	transform: translateY(-1px);
}

.order-heading-icon-badge--sub {
	width: 26px;
	height: 26px;
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(0, 98, 141, 0.05);
}

.order-heading-icon-badge--sub svg {
	width: 15px;
	height: 15px;
}

.order-form-section-title + p,
.order-form-section-title + .cf7-2-cols,
.order-form-section-title + .cf7-3-cols {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

.order-form-subsection-title {
	font-size: var(--wp--preset--font-size--base, 1rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #1b365d);
	margin: 1.5rem 0 1rem 0;
	padding-bottom: 0.45rem;
	border-bottom: 1px solid var(--wp--preset--color--primary-200, #cbd5e1);
	display: flex;
	align-items: center;
	gap: 0.55rem;
	line-height: 1.25;
}

.order-form-subsection-title + p,
.order-form-subsection-title + .cf7-2-cols,
.order-form-subsection-title + .cf7-3-cols {
	margin-block-start: 0 !important;
	margin-top: 0 !important;
}

.order-form-section label {
	display: block;
	color: var(--wp--preset--color--primary-500, #1b365d);
	font-size: var(--wp--preset--font-size--sm, 0.9rem);
	font-weight: 600;
}

.order-form-section input[type="text"],
.order-form-section input[type="email"],
.order-form-section input[type="tel"],
.order-form-section select {
	background-color: var(--wp--preset--color--base-0, #ffffff);
	margin-top: 0.35rem;
}

.order-form-section .cf7-2-cols,
.order-form-section .cf7-3-cols {
	margin-top: 1rem;
}

.order-form-section .cf7-2-cols p,
.order-form-section .cf7-3-cols p {
	margin-block-start: 0 !important;
}

.order-form-field-hint {
	display: block;
	font-size: 0.825rem;
	font-weight: 400;
	color: var(--wp--preset--color--base-400, #64748b);
	margin-top: 0.35rem;
	line-height: 1.4;
}

/* Generic Order Form Note Box */
.order-form-note,
.order-form-notice-box {
	font-size: 0.825rem !important;
	line-height: 1.5;
	color: var(--wp--preset--color--base-500, #475569);
	background-color: var(--wp--preset--color--base-0, #ffffff);
	border: 1px solid var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 0.5rem;
	padding: 0.85rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.45rem;
	margin-top: 1rem !important;
	margin-bottom: 0 !important;
	box-sizing: border-box;
}

/* Consecutive note boxes have tighter spacing */
.order-form-note + .order-form-note,
.order-form-notice-box + .order-form-notice-box {
	margin-top: 0.75rem !important;
}

.order-form-note p,
.order-form-notice-box p {
	margin: 0 !important;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.order-form-note-title,
.order-form-notice-box-title,
.order-form-note strong,
.order-form-notice-box strong {
	color: var(--wp--preset--color--primary-500, #1b365d);
	font-size: 0.875rem;
	font-weight: 700;
}

.order-form-creditor-address {
	color: var(--wp--preset--color--base-500, #475569);
}

.order-form-creditor-meta,
.order-form-creditor-meta p {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: var(--wp--preset--color--base-400, #64748b);
	margin-top: 0.15rem !important;
}

.order-form-section--consents p.required {
	margin-block-start: 0 !important;
}

.order-form .wpcf7-acceptance label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-weight: 400;
	font-size: 0.9rem;
	line-height: 1.45;
	cursor: pointer;
}

.order-form .wpcf7-acceptance input[type="checkbox"] {
	margin-top: 0.2rem;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	accent-color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-form .wpcf7-acceptance .wpcf7-list-item-label {
	margin-top: 0.17rem;
}

/* Conditional fields toggle (Rechnungsdaten) */
.order-form-toggle-wrap {
	margin-top: 1rem;
	margin-bottom: 0.5rem;
	width: 100%;
}

.order-form-toggle-wrap p {
	margin: 0 !important;
	width: 100%;
}

.order-form-toggle-wrap .wpcf7-form-control-wrap,
.order-form .order-form-toggle {
	display: block;
	width: 100%;
}

.order-form .order-form-toggle .wpcf7-list-item {
	display: block;
	width: 100%;
	margin: 0;
}

.order-form .order-form-toggle label {
	display: flex;
	width: 100%;
	box-sizing: border-box;
	align-items: center;
	gap: 0.65rem;
	font-weight: 600;
	font-size: 0.95rem;
	color: var(--wp--preset--color--primary-500, #1b365d);
	cursor: pointer;
	padding: 0.65rem 0.85rem;
	background-color: var(--wp--preset--color--base-0, #ffffff);
	border: 1px solid;
	border-color: var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 0.5rem;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.order-form .order-form-toggle label:hover {
	border-color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-form .order-form-toggle input[type="checkbox"] {
	width: 18px;
	height: 18px;
	margin: 0;
	cursor: pointer;
	accent-color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-form [data-class="wpcf7cf_group"] {
	margin-top: 1rem;
}

/* Payment Method Selector (SEPA vs. Rechnung) */
.order-payment-selector-wrap {
	margin-top: 0.75rem;
	margin-bottom: 0.75rem;
	width: 100%;
}

.order-payment-selector-wrap p {
	margin: 0 !important;
	width: 100%;
}

.order-payment-selector-wrap .wpcf7-form-control-wrap {
	display: block;
	width: 100%;
}

.order-payment-selector {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.85rem;
	width: 100%;
}

@media (max-width: 640px) {
	.order-payment-selector {
		grid-template-columns: 1fr;
	}
}

.order-payment-selector .wpcf7-list-item {
	margin: 0;
	display: block;
}

.order-payment-selector label {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.95rem 1.15rem;
	background-color: var(--wp--preset--color--base-0, #ffffff);
	border: 2px solid;
	border-color: var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 0.65rem;
	cursor: pointer;
	box-sizing: border-box;
	width: 100%;
	transition: border-color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.order-payment-selector label:hover {
	border-color: var(--wp--preset--color--secondary-500, #00a2de);
	background-color: #f8fafc;
}

.order-payment-selector label:has(input:checked) {
	border-color: var(--wp--preset--color--secondary-500, #00a2de);
	background-color: #f0f9ff;
	box-shadow: 0 2px 10px rgba(0, 162, 222, 0.12);
}

.order-payment-selector input[type="radio"] {
	width: 20px;
	height: 20px;
	margin: 0;
	flex-shrink: 0;
	cursor: pointer;
	accent-color: var(--wp--preset--color--secondary-500, #00a2de);
}

.order-payment-selector .wpcf7-list-item-label {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	font-size: 0.95rem;
	color: var(--wp--preset--color--primary-500, #1b365d);
	gap: 0.15rem;
}

.order-payment-selector .wpcf7-list-item:first-child .wpcf7-list-item-label::after {
	content: "Einzug erst nach Einweisung";
	font-size: 0.8rem;
	font-weight: 400;
	color: #64748b;
}

.order-payment-selector .wpcf7-list-item:last-child .wpcf7-list-item-label::after {
	content: "Rechnung erst nach Einweisung";
	font-size: 0.8rem;
	font-weight: 400;
	color: #64748b;
}

.order-form-mandate-acceptance {
	margin-top: 1.25rem !important;
	margin-bottom: 0 !important;
}

.order-form-section--consents p:last-of-type {
	margin-bottom: 0 !important;
}

.order-form .form-button-highlight {
	margin-top: 1.5rem;
	margin-bottom: var(--wp--preset--spacing--scale-6, 2rem);
}

.order-form .form-button-highlight p {
	margin: 0 !important;
}

.order-form .form-button-highlight input[type="submit"] {
	width: 100%;
	font-weight: 700;
	font-size: var(--wp--preset--font-size--xl, 1.25rem);
	padding-top: var(--wp--preset--spacing--scale-6, 1rem);
	padding-bottom: var(--wp--preset--spacing--scale-6, 1rem);
	border-radius: 0.6rem;
}

.order-form .form-button-highlight input[type="submit"]:disabled,
.order-form .form-button-highlight input[type="submit"][disabled] {
	color: var(--wp--preset--color--primary-500, #a3a3a3) !important;
	background-color: var(var(--wp--preset--color--primary-200), #e6e6e6) !important;
	cursor: not-allowed !important;
	box-shadow: none !important;
	opacity: 0.75;
}

/**
 * THEME/ORDER-OVERVIEW
 */

.order-overview {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--scale-6, 1.5rem);
	margin-bottom: var(--wp--preset--spacing--scale-6, 2rem);
}

.order-overview-card {
	background-color: var(--wp--preset--color--primary-50, #f8f9fa);
	border: 1px solid var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 0.8rem;
	padding: var(--wp--preset--spacing--scale-6, 1.5rem);
	box-shadow: none;
}

.order-overview-card--empty {
	text-align: center;
	padding: var(--wp--preset--spacing--scale-7, 2rem);
}

.order-overview-title {
	font-size: var(--wp--preset--font-size--lg, 1.25rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #1b365d);
	margin: 0 0 1.25rem 0;
	padding-bottom: 0.65rem;
	border-bottom: 2px solid var(--wp--preset--color--primary-200, #cbd5e1);
	display: flex;
	align-items: center;
	gap: 0.75rem;
	line-height: 1.25;
}

/* Product list / items */
.order-overview-items {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--primary-200, #e2e8f0);
}

.order-overview-item {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.order-overview-item-content {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.order-overview-item-title {
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #1b365d);
	font-size: 1.05rem;
}

.order-overview-item-meta {
	display: flex;
	flex-direction: column;
	font-size: 0.8rem;
	color: var(--wp--preset--color--base-400, #64748b);
	line-height: 1.35;
}

/* Calculation boxes (Monthly & Setup) */
.order-overview-box {
	background-color: #fff;
	border: 1px solid;
	border-color: var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 0.6rem;
	padding: 1rem;
	margin-top: 1rem;
}

.order-overview-box:last-of-type {
	margin-bottom: 0.5rem;
}

.order-overview-box-header {
	margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--wp--preset--color--primary-100, #e2e8f0);
}

.order-overview-box-total-footer {
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 2px solid var(--wp--preset--color--primary-200, #cbd5e1);
}

.order-overview-box-label {
	display: block;
	font-size: 0.825rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-400, #475569);
	margin-bottom: 0.2rem;
}

.order-overview-box-price {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
}

.order-overview-box-price strong {
	font-size: 1.35rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #1b365d);
}

.order-overview-period {
	font-size: 0.85rem;
	color: var(--wp--preset--color--primary-400, #64748b);
}

.order-overview-breakdown {
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	font-size: 0.875rem;
	color: var(--wp--preset--color--primary-400, #475569);
}

.order-overview-calc-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.order-overview-calc-row--discount {
	color: var(--wp--preset--color--secondary-500, #059669);
	font-size: var(--wp--preset--spacing--scale-3, 0.825rem);
}

.order-overview-calc-row--subtotal {
	font-weight: 600;
	color: var(--wp--preset--color--primary-500, #1b365d);
}

.order-overview-calc-row--subtotal:not(:first-child) {
	padding-top: 0.35rem;
	border-top: 1px solid var(--wp--preset--color--primary-100, #e2e8f0);
	margin-top: 0.15rem;
}

.order-overview-calc-row--highlight {
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #1b365d);
	padding-top: 0.35rem;
	border-top: 1px dashed var(--wp--preset--color--primary-100, #e2e8f0);
	margin-top: 0.15rem;
}

.order-overview-tax-notice {
	font-size: 0.8rem;
	font-style: italic;
	color: var(--wp--preset--color--primary-500, #059669);
	padding: 0.6rem 0.8rem;
	background-color: var(--wp--preset--color--base-0);
	border: 1px solid;
	border-color: var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 0.4rem;
	margin-top: 0.75rem;
	text-align: center;
}

/* Order Overview Trust & Security Box */
@media (max-width: 781px) {
	.order-overview-trust {
		display: none !important;
	}
}

/* Desktop smooth fade-in with retreating blur when reaching bottom of page (zero layout shift / no jumping) */
@media (min-width: 782px) {
	.order-overview-trust {
		opacity: 0;
		visibility: hidden;
		filter: blur(12px);
		pointer-events: none;
		will-change: opacity, filter;
		transition: opacity 1.2s ease-in-out,
		            filter 1.2s cubic-bezier(0.16, 1, 0.3, 1),
		            visibility 1.2s ease-in-out;
	}

	.order-overview-trust.is-visible {
		opacity: 1;
		visibility: visible;
		filter: blur(0);
		pointer-events: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.order-overview-trust {
		transition: none !important;
		filter: none !important;
	}
}

.order-overview-trust-title {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	font-size: var(--wp--preset--font-size--lg, 1.25rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary-500, #1b365d);
	margin: 0 0 1.25rem 0;
	padding-bottom: 0.65rem;
	border-bottom: 2px solid var(--wp--preset--color--primary-200, #cbd5e1);
	line-height: 1.25;
}

.order-overview-trust-title-icon {
	color: var(--wp--preset--color--primary-500, #00628d);
	flex-shrink: 0;
}

.order-overview-trust-list {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.order-overview-trust-item {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.825rem;
	line-height: 1.4;
	color: var(--wp--preset--color--primary-600, #334155);
}

.order-overview-trust-item-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--wp--preset--color--success-600, #466916);
	background-color: var(--wp--preset--color--success-200, #e2ecc5);
	border-radius: 50%;
	padding: 0.15rem;
	flex-shrink: 0;
	margin-top: 0.1rem;
}

.order-overview-trust-item-icon svg {
	display: block;
}

.order-overview-trust-item-text strong {
	color: var(--wp--preset--color--primary-600, #075073);
	font-weight: 600;
}

.order-overview-trust-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 0.85rem;
	padding-top: 0.85rem;
	border-top: 1px dashed var(--wp--preset--color--primary-200, #cbd5e1);
}

.order-overview-trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.3rem 0.6rem;
	background-color: #fff;
	border: 1px solid var(--groundbreaker--input--border-color, var(--wp--preset--color--base-300));
	border-radius: 9999px;
	font-size: 0.75rem;
	font-weight: 500;
	color: var(--wp--preset--color--primary-500, #00628d);
}

.order-overview-trust-badge svg {
	color: var(--wp--preset--color--secondary-500, #598ba1);
	flex-shrink: 0;
}

.order-overview-empty-text {
	font-size: 0.95rem;
	color: var(--wp--preset--color--primary-400, #64748b);
	margin-bottom: 1.25rem;
	line-height: 1.5;
}

.order-overview-card--empty .order-overview-footer {
	text-align: center;
}

/**
 * PLUGINS/CONTACT-FORM-7
 */

.wpcf7-list-item {
	margin: 0 !important;
}

.wpcf7-not-valid-tip {
	font-size: .85rem !important;
}

.wpcf7-acceptance input[type="checkbox"],
.wpcf7-checkbox input[type="checkbox"] {
	accent-color: var(--wp--preset--color--secondary-500);
}

.wpcf7-spinner {
	margin: var(--wp--style--block-gap) 0 0;
}

.wpcf7 form .wpcf7-response-output {
	font-weight: bold;
	margin: 0 0 var(--wp--style--block-gap);
	padding: var(--wp--style--block-gap);
	border-radius: 0.8rem;
}

.wpcf7 p {
	margin-block-start: 1rem;
	margin-block-end: 0;
}

/* Order IBAN, BIC and VAT ID */

.wpcf7 input[name="order-iban"],
.wpcf7 input[name="order-bic"] {
	text-transform: uppercase;
	font-family: monospace;
	letter-spacing: 0.05em;
}

.wpcf7 input[name="order-vat-id"] {
	text-transform: uppercase;
}

/**
 * PLUGINS/CONTACT-FORM-7/FORM-HELPERS
 */

@media (min-width: 782px) {
	.cf7-2-cols {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: var(--wp--preset--spacing--scale-6);
	}

	.cf7-3-cols {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: var(--wp--preset--spacing--scale-6);
	}
}

/**
 * PLUGINS/CONTACT-FORM-7/CF7-GOOGLE-SHEET-CONNECTOR
 */

.gscf7-frontend-gdpr-notice {
	display: none;
}

/**
 * PLUGINS/CHOICES
 */

.choices {
	--choices-text-color: var(--wp--preset--color--primary-500);
	--choices-arrow-right: 1.2rem;
}

.choices .choices__placeholder {
	text-align: center;
	opacity: 1 !important;
}

.choices .choices__inner,
.choices.is-open .choices__inner {
	transition: all ease-in-out 0.2s;
	box-sizing: border-box;
	font-family: var(--wp--preset--font-family--roboto-condensed);
	font-size: 0.8rem;
	line-height: 1.3;
	font-weight: 500;
	background-color: var(--wp--preset--color--primary-300);
	padding: 1rem 2rem !important;
	border: 0;
	border-radius: 0.8rem !important;
}

.choices .choices__inner:hover {
	background-color: var(--wp--preset--color--primary-200);
}

@media (min-width: 782px) {
	.choices .choices__inner,
	.choices.is-open .choices__inner {
		font-size: 1.2rem;
		line-height: 1.3;
	}
}

.choices .choices__list--single {
	text-align: center;
}

.choices.is-open .choices__list--dropdown,
.choices.is-open .choices__list[aria-expanded] {
	border-color: var(--wp--preset--color--base-300);
	border-radius: 0.8rem;
}

.choices .choices__list--single {
	padding: 0;
}

/**
 * PLUGINS/COMPLIANZ
 */

.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice {
	max-width: 320px;
	border-radius: 0.8rem;
	border: none;
	color: var(--wp--preset--color--primary-200);
	background-color: var(--wp--preset--color--primary-500);
	transition: all ease-in-out 0.2s;
	font-size: var(--wp--preset--font-size--sm);
	padding: var(--wp--preset--spacing--scale-3) var(--wp--preset--spacing--scale-6);
}

.cmplz-optin .cmplz-blocked-content-container .cmplz-blocked-content-notice:hover {
	cursor: pointer;
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--highlight-500)
}

/**
 * PLUGINS/ORDER-APPROVAL-FOR-WOOCOMMERCE
 */

.woa_left-right-box ul li p {
	color: var(--wp--preset--color--base-500);
}

.woa_left-right-box ul li:before,
.woa-ver-line {
	background: var(--wp--preset--color--base-400);
}

.woa_left-right-box .woa-active:before {
	box-shadow: none !important;
}

.woa-button-box {
	text-align: center;
	background-color: var(--wp--preset--color--primary-50);
	border: 1px solid var(--wp--preset--color--primary-500);
	border-radius: 0.8rem;
	padding: var(--wp--preset--spacing--scale-12) var(--wp--preset--spacing--scale-6);
}

.woa-button-box p {
	font-size: var(--wp--preset--font-size--2-xl);
	color: var(--wp--preset--color--primary-500);
	margin-top: 0;
}

.woa-button-box a {
	font-size: var(--wp--preset--font-size--2-xl);
	border-radius: 0.8rem;
	padding: var(--wp--preset--spacing--scale-4) var(--wp--preset--spacing--scale-12);
}

/**
 * PLUGINS/TIPTIP-HYPERLINK-GROUP-BLOCK
 */

.wp-block-tiptip-hyperlink-group-block {
	text-decoration: none;
}

/**
 * PLUGINS/WOOCOMMERCE
 */

/* Headings */

.woocommerce-page h2 {
	font-size: var(--wp--preset--font-size--3-xl) !important;
	font-weight: 700 !important;
	text-transform: none !important;
	margin-bottom: var(--wp--preset--spacing--scale-4) !important;
}
/* 
.woocommerce-page .woocommerce-column__title,
.woocommerce-page .woocommerce-customer-details h2 {
	font-size: clamp(1.648rem, 1.648rem + ((1vw - 0.2rem) * 2.095), 2.8rem);
	font-weight: 700;
} */

/* Order Review Page */

#order_review {
	margin-bottom: var(--wp--preset--spacing--scale-24);
}

/* Order Confirmation: Header Text */

.wp-block-woocommerce-order-confirmation-status h1 {
	text-transform: none;
	letter-spacing: 0;
	margin-bottom: 0;
}

.wp-block-woocommerce-order-confirmation-status p {
	font-size: 2rem;
	line-height: 1.4;
	margin-top: 0.3rem;
}

/* Order Confirmation: Hide 0 Euro payment info for subscription orders */

.woocommerce-order-received:has(.woocommerce-orders-table--subscriptions) .wc-block-order-confirmation-summary-list .wc-block-order-confirmation-summary-list-item:nth-child(3),
.woocommerce-order-received:has(.woocommerce-orders-table--subscriptions) .woocommerce-orders-table .subscription-status {
	display: none;
}

/* .woocommerce-order-received:has(.woocommerce-orders-table--subscriptions)
  .wc-block-order-confirmation-totals
  h2, */
.woocommerce-order-received:has(.woocommerce-orders-table--subscriptions) table.wc-block-order-confirmation-totals__table .wc-block-order-confirmation-totals__total,
.woocommerce-order-received:has(.woocommerce-orders-table--subscriptions) table.wc-block-order-confirmation-totals__table tfoot {
	display: none;
}

/* Account / Orders */

.woocommerce-account .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a:not(:last-child) {
	margin-bottom: 2px;
}

.woocommerce-account .woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-actions a:last-child {
	margin-bottom: 0;
}

/* Account / View Order: Hide Order Infos if subscriptions are present */

.woocommerce-order-details:has(.woocommerce-orders-table--subscriptions) table.woocommerce-table--order-details .product-total,
.woocommerce-order-details:has(.woocommerce-orders-table--subscriptions) table.woocommerce-table--order-details tfoot {
	display: none;
}

/* WooCommerce Subscriptions Related Orders Table: Hide Order Total */

#woocommerce-subscriptions-related-orders-table .order-total {
	display: none;
}

/* Account Layout */

.woocommerce-account .wp-block-post-title,
.woocommerce-account main .woocommerce,
.woocommerce-cart .wp-block-post-title,
.woocommerce-cart main .woocommerce,
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout main .woocommerce {
	max-width: 1200px;
}

/* Account Navigation */

.woocommerce-account .woocommerce-MyAccount-navigation li {
	padding: 0;
	margin-bottom: var(--wp--preset--spacing--scale-0-5);
}

.woocommerce-account .woocommerce-MyAccount-navigation li:first-child a {
	border-top-left-radius: 0.8rem;
	border-top-right-radius: 0.8rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child a {
	border-bottom-left-radius: 0.8rem;
	border-bottom-right-radius: 0.8rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	color: var(--wp--preset--color--primary-500);
	background-color: var(--wp--preset--color--primary-50);
	padding: var(--wp--preset--spacing--scale-3) var(--wp--preset--spacing--scale-6);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background-color: var(--wp--preset--color--primary-300);
	text-decoration: none;
}

/* "Mein Konto" Navigation Link */

:where(.wp-block-woocommerce-customer-account .wc-block-customer-account__link) .wc-block-customer-account__account-icon,
:where(.wp-block-woocommerce-customer-account.wc-block-customer-account--has-dropdown .wc-block-customer-account__toggle) .wc-block-customer-account__account-icon {
	height: 1.7em;
	width: 1.7em;
}

:where(.wp-block-woocommerce-customer-account .wc-block-customer-account__link),
:where(.wp-block-woocommerce-customer-account.wc-block-customer-account--has-dropdown .wc-block-customer-account__toggle) {
	gap: var(--wp--preset--spacing--scale-0-5);
}

/* Login/Logout Navigation Link */

.wp-block-loginout a {
	text-decoration: none;
}

.wp-block-loginout a:hover {
	text-decoration: underline;
}

/* Checkout page */

/* No margin bottom for headings */
.wc-block-components-title.wc-block-components-title {
	margin-bottom: 0 !important;
}

/* Enforce line-break for product detail values */
.wc-block-components-product-details__value {
	display: block;
}

.wc-block-components-totals-item__value {
	display: block;
	/* color: var(--wp--preset--color--primary-500); */
	font-weight: 700;
	font-size: var(--wp--preset--font-size--lg);
}

.wc-block-components-totals-wrapper {
	padding: .5rem 0;
}

.wc-block-components-totals-item.wcs-recurring-totals-panel__title {
	display: block;
}

.wc-block-components-panel__button {
	padding-top: 0.6rem;
}

/* Checkout page: Address form - Order fields */

.wc-block-components-address-form > * {
	order: 20;
}

.wc-block-components-address-form > .wc-block-components-country-input {
	order: 0;
}

.wc-block-components-address-form > .wc-block-components-address-form__first_name {
	order: 2;
}

.wc-block-components-address-form > .wc-block-components-address-form__last_name {
	order: 3;
}

.wc-block-components-address-form > .wc-block-components-select-input-neoqm-title {
	order: 1;
}

.wc-block-components-address-form > .wc-block-components-select-input-neoqm-title,
.wc-block-components-address-form > .wc-gzd-billing-vat-id {
	flex: 0 0 100% !important;
}


/* Checkout page: Hide payment info for recurring payments */

.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wc-block-components-product-details__kostenlose-testphase,
.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wc-block-components-product-badge,
.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item),
.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wc-block-components-order-summary .wc-block-cart-item__total-price-and-sale-badge-wrapper,
.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wc-block-components-product-price del,
.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wp-block-woocommerce-checkout-order-summary-totals-block,
.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wcs-recurring-totals-panel__title .wc-block-components-totals-item__description 
{
	display: none;
}

/* Checkout page: Hide "Gesamtbetrag heute fällig" */

.wc-block-components-sidebar:has(.wcs-recurring-totals-panel) .wc-gzd-show-total-wrapper:has(.wc-block-components-totals-footer-item) {
	display: none !important;
}

/* Checkout page: Recurring payments - Show payment info */

.wcs-recurring-totals-panel:not(:first-child) {
	border-top: 1px solid color-mix(in srgb,currentColor 20%,transparent);
}

.wcs-recurring-totals-panel .wcs-recurring-totals-panel__title .wc-block-components-totals-item__label {
	display: block;
	font-weight: 400;
	font-size: var(--wp--preset--font-size--sm);
}

/* WooCommerce Buttons */

.woocommerce-button:hover,
.wc-block-components-button:hover {
	background-color: var(--wp--preset--color--primary-600);
}

/**
 * PAGE/WEBINAR
 */

@media (max-width: 1336px) {
	.webinar-hero-cover {
		min-height: 450px !important;
	}
}

@media (max-width: 870px) {
	.webinar-hero-cover {
		min-height: 330px !important;
	}
}

/**
 * PAGE/SANDDORN-LANDING-PAGE
 */

@media (max-width: 870px) {
	.page-id-2455,
	.page-id-2455 h4 {
		font-size: 1rem;
	}
}

.page-id-2455 {
	--wp--preset--font-family--roboto: var(--wp--preset--font-family--open-sans) !important;
	--wp--preset--font-family--roboto-condensed: var(--wp--preset--font-family--open-sans) !important;
	--wp--preset--color--base-500: #747678;
	--wp--preset--color--primary-50: #fef8f0;
	--wp--preset--color--primary-200: #fdf0df;
	--wp--preset--color--primary-500: #E98300;
	--wp--preset--color--primary-600: #cc7200;
	--wp--preset--color--secondary-500: #E98300;
	--cmplz_hyperlink_color:  var(--wp--preset--color--primary-500);
	--cmplz_button_accept_background_color: var(--wp--preset--color--primary-500);
	--cmplz_button_accept_border_color: var(--wp--preset--color--primary-500);
}

/* Sanddorn: Undo view transition animation fix */
.page-id-2455 .wp-site-blocks > main {
	overflow: visible;
}

/* Sanddorn: Headings */

.page-id-2455 h1,
.page-id-2455 h2,
.page-id-2455 h3,
.page-id-2455 h4,
.page-id-2455 h5,
.page-id-2455 h6 {
	text-transform: none !important;
}

.page-id-2455 h2 {
	font-weight: 600;
	line-height: 1.2;
	margin-top: var(--wp--preset--spacing--scale-4);
}

.page-id-2455 h3 {
	font-weight: 600;
	font-size: 1.7rem;
	line-height: 1.25;
}

/* Sanddorn: Buttons */

.page-id-2455 .wp-block-button .wp-block-button__link {
	font-weight: 600;
}

.page-id-2455 .wp-block-button:not(.is-style-outline):not(.is-style-secondary) .wp-block-button__link:not(.has-base-0-background-color) {
	color: var(--wp--preset--color--base-0) !important;
	background-color: var(--wp--preset--color--primary-500) !important;
}

.page-id-2455 .wp-block-button:not(.is-style-outline):not(.is-style-secondary) .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--base-500) !important;
	color: var(--wp--preset--color--base-0) !important;
}

.page-id-2455 input[type="submit"]:hover {
	background-color: var(--wp--preset--color--base-500);
}

/* Sanddorn: Navigation */

.page-id-2455 .sanddorn-nav a {
	color: var(--wp--preset--color--base-500);
	transition: all ease-in-out 0.2s;
	text-decoration: none;
}

.page-id-2455 .sanddorn-nav a:hover {
	color: var(--wp--preset--color--primary-500);
}
