/*!
 *	theme.
 */

/*------------------------------------------------------------
 elements
------------------------------------------------------------*/
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	/* color-scheme: light dark; */
	/* -webkit-hyphens: auto; */
	/* hyphens: auto; */
	overflow-x: clip;
}

ul,
ol {
	margin: 0;
	padding: 0;
}

a:has(> img) {
	text-decoration: none;
}

b,
strong,
th {
	font-weight: var(--wp--custom--font-weight--bold);
}

blockquote {
	margin: 0;
}

sup,
sub {
	position: relative;
	vertical-align: baseline;
	line-height: 0;
	font-size: 0.75rem;
}

sup {
	top: -0.4rem;
}

sub {
	top: 0.4rem;
}

::placeholder {
	color: var(--wp--preset--color--dark);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.65;
}

/* forms
--------------------------------------------- */
textarea,
select,
input:where(
	[type="email"],
	[type="number"],
	[type="password"],
	[type="search"],
	[type="tel"],
	[type="text"],
	[type="url"]
) {
	width: 100%;
	caret-color: var(--wp--preset--color--accent-1);
}

label {
	color: var(--wp--preset--color--contrast);
	font-size: var(--wp--preset--font-size--small);
}

input[type="checkbox"] + label,
input[type="radio"] + label,
label:has(input[type="checkbox"], input[type="radio"]) {
	color: inherit;
	font-size: inherit;
}

textarea:focus-visible,
select:focus-visible,
input:where(
	[type="email"],
	[type="number"],
	[type="password"],
	[type="search"],
	[type="tel"],
	[type="text"],
	[type="url"]
):focus-visible {
	background-color: var(--wp--preset--color--light);
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 2px;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

input[type="button"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="submit"],
input[type="text"],
input[type="url"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

a:focus-visible,
button:focus-visible,
input[type="submit"]:focus-visible,
input[type="button"]:focus-visible,
.wp-element-button:focus-visible {
	outline: 2px solid var(--wp--preset--color--accent-1);
	outline-offset: 2px;
}

button,
input[type="button"],
input[type="submit"] {
	padding: 0.4rem 1.5rem;
	font-size: var(--wp--preset--font-size--base);
}

/* page
--------------------------------------------- */

/* layout */
.wp-site-blocks {
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > .site-main {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > .site-main > .entry-content {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > .site-main > .entry-content > .wp-block-group {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.wp-site-blocks > .site-main
> .entry-content
> .wp-block-group
> .wp-block-columns {
	flex: 1;
}

.site-header {
	position: relative;
	flex-shrink: 0;
	padding-left: clamp(1.5rem, 6vw, 3rem);
	padding-right: clamp(1.5rem, 6vw, 3rem);
	z-index: 2;
}

.site-main {
	position: relative;
	flex: 1 0 auto;
	z-index: 1;
}

.site-main .block-post-content {
	min-height: 100%;
}

.site-footer {
	position: relative;
	flex-shrink: 0;
}


/* navigation */
nav ul li a {
	padding: 0.5rem 1rem;
}

nav ul li a:hover {
	color: #fff !important;
	background-color: var(--wp--preset--color--accent-1);
}

nav button {
	margin-left: auto !important;
}

nav .wp-block-navigation__responsive-container-close {
	top: 1rem;
	right: 1rem;
}

/* header */
.stempel {
	position: absolute;
	right: -2rem;
	top: 45%;
	transform: translateY(0%);
	margin: 0;
	z-index: 10;
}


/* vorbestellung formular */
.gpv h2 {
	margin-top: 1rem !important;
	margin-bottom: 0 !important;
	font-family: var(--wp--preset--font-family--roboto-slab) !important;
	font-weight: var(--wp--custom--font-weight--bold) !important;
	font-size: var(--wp--preset--font-size--x-large) !important;
	color: #fff;
}


.gpv .wpforms-page-indicator-steps {
	font-weight: var(--wp--custom--font-weight--bold);
	color: #fff;
}

div.wpforms-container-full .wpforms-form .wpforms-page-indicator.progress .wpforms-page-indicator-page-progress-wrap {
	background-color: #ffffff;
}


.gpv legend,
.gpv label {
	color: #fff !important;
}

.gpv .gpv-products table {
	display: table;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--small);
}

.gpv .gpv-products tr {
	padding: 1rem;
}

.gpv .gpv-products th,
.gpv .gpv-products td {
	padding: 1rem;
	border: 1px solid #ffffff;
}

.gpv .gpv-product-row__note {
	font-size: var(--wp--preset--font-size--x-small) !important;
}


.gpv .gpv-time-hint {
	margin-top: 0.5rem !important;
	font-size: var(--wp--preset--font-size--x-small) !important;
}


.gpv .wpforms-entry-preview-notice {
	background: var(--wp--preset--color--base) !important;
	border: 0px solid var(--wp--preset--color--accent-1) !important;
}

.gpv .wpforms-entry-preview-table * {
	border-color: var(--wp--preset--color--base) !important;
}

.gpv .wpforms-entry-preview-label,
.gpv .wpforms-entry-preview-value {
	color: var(--wp--preset--color--base) !important;
}


.gpv .wpforms-clear {
	display: flex;
	/* justify-content: center; */
	/* gap: 20px; */
}

.gpv button.wpforms-page-prev,
.gpv button.wpforms-page-next {
	display: flex;
	line-height: 1.5;
	justify-content: center;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 1.75rem !important;
	margin: 0 !important;
	margin-top: 1rem !important;
	border: 2px solid #fff !important;
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-weight: var(--wp--custom--font-weight--bold);
	background: transparent !important;
}

.gpv button.wpforms-page-prev {
	margin-right: 20px !important;
}

.gpv button.wpforms-page-prev:hover,
.gpv button.wpforms-page-next:hover {
	background: #fff !important;
	color: var(--wp--preset--color--contrast) !important;
}

.gpv button.wpforms-page-prev::before,
.gpv button.wpforms-page-next::after {
	content: "";
	font-size: 1.2em;
	line-height: 1;
	display: inline-block;
	transform: translate3d(0, 0, 0);
	transition: transform 0.2s ease;
}

.gpv button.wpforms-page-prev::before {
	content: "❮";
}

.gpv button.wpforms-page-prev:hover::before {
	transform: translate3d(-6px, 0, 0);
}

.gpv button.wpforms-page-next::after {
	content: "❯";
}

.gpv button.wpforms-page-next:hover::after {
	transform: translate3d(6px, 0, 0);
}

.gpv .wpforms-submit-container {
	display: flex;
	padding-top: 0.5rem;
	margin-top: 0.5rem;
}

.gpv button[type="submit"] {
	display: inline-flex;
	flex-direction: center;
	align-items: center;
	gap: 1rem;
	padding: 1.5rem 1.75rem !important;
	margin-top: 1rem !important;
	font-family: var(--wp--preset--font-family--roboto-slab);
	font-weight: var(--wp--custom--font-weight--bold);
	border: 2px solid #fff !important;
	background: transparent !important;
}

.gpv button[type="submit"]:hover {
	background: #fff !important;
	color: var(--wp--preset--color--contrast) !important;
}

.gpv button[type="submit"]::after {
	content: "❯";
	font-size: 1.2em;
	line-height: 1;
	margin-left: 0.25rem;
	display: inline-block;
	transform: translate3d(0, 0, 0);
	transition: transform 0.2s ease;
}

.gpv button[type="submit"]:hover::after {
	transform: translate3d(4px, 0, 0);
}

@media (max-width: 600px) {
	.gpv button.wpforms-page-prev,
	.gpv button.wpforms-page-next {
		width: 100%;
		padding: 14px 18px;
		white-space: nowrap;
		word-break: normal;
	}
}


.wpforms-field-description {
	color: var(--wp--preset--color--base) !important;
	opacity: 0.65;
}
