/*******************************************************************
	0. FONTS
*******************************************************************/

@charset "utf-8";

@font-face {
	font-family: 'SourceSansPro-Regular';
	src:url('../SHARED/fonts/sourcesanspro/SourceSansPro-Regular.woff') format('woff'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Regular.woff2') format('woff2'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Regular.eot'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Regular.eot?#iefix') format('embedded-opentype'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Regular.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'SourceSansPro-Light';
	src:url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.woff') format('woff'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.woff2') format('woff2'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.eot'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.eot?#iefix') format('embedded-opentype'),
			url('../SHARED/fonts/sourcesanspro/SourceSansPro-Light.otf') format('truetype');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Montserrat-Regular';
	src:url('../SHARED/fonts/montserrat/montserrat-regular-webfont.woff2') format('woff2'),
			url('../SHARED/fonts/montserrat/montserrat-regular-webfont.woff') format('woff');
	font-weight: normal;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'Montserrat-Bold';
	src:url('../SHARED/fonts/montserrat/montserrat-bold-webfont.woff2') format('woff2'),
			url('../SHARED/fonts/montserrat/montserrat-bold-webfont.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: 'RobotoCondensed-Bold';
	src:url('../SHARED/fonts/roboto/RobotoCondensed-Bold.woff2') format('woff2'),
			url('../SHARED/fonts/roboto/RobotoCondensed-Bold.woff') format('woff');
	font-weight: bold;
	font-style: normal;
	font-display: swap;
}


/*******************************************************************
	1. ALLGEMEIN
*******************************************************************/
:root
{
	/* Colors */
	--color-dark: #383738;
	--color-light: #ECECEC;
	--color-lighter: #FFFFFF;
	--color-text: var(--color-dark);
	--color-white: #FFFFFF;
	--color-black: #000000;
	--color-menu-dark: #222222;
	--color-panel-dark: #111111;
	--color-muted: #777777;
	--color-muted-dark: #666666;
	--color-underline: #ecc000;
	--color-error: #b42318;
	--color-error-bg: #b30000;
	--color-error-border: #c94b4b;
	--color-error-soft: rgba(201,75,75,0.15);
	--color-error-accent: rgba(140,0,0,0.28);
	--color-error-accent-bg: rgba(140,0,0,0.08);
	--color-info-border: #4d8fd1;
	--color-info-bg: #e9f4ff;
	--color-info-text: #2e6ea8;
	--color-badge-bg: rgba(0,0,0,0.72);
	--color-badge-countdown: #1f2937;
	--color-badge-ready: #065f46;
	--color-black-04: rgba(0,0,0,0.04);
	--color-black-06: rgba(0,0,0,0.06);
	--color-black-08: rgba(0,0,0,0.08);
	--color-black-10: rgba(0,0,0,0.10);
	--color-black-12: rgba(0,0,0,0.12);
	--color-black-14: rgba(0,0,0,0.14);
	--color-black-15: rgba(0,0,0,0.15);
	--color-black-16: rgba(0,0,0,0.16);
	--color-black-18: rgba(0,0,0,0.18);
	--color-black-20: rgba(0,0,0,0.20);
	--color-black-22: rgba(0,0,0,0.22);
	--color-black-25: rgba(0,0,0,0.25);
	--color-black-28: rgba(0,0,0,0.28);
	--color-black-30: rgba(0,0,0,0.30);
	--color-black-32: rgba(0,0,0,0.32);
	--color-black-35: rgba(0,0,0,0.35);
	--color-black-38: rgba(0,0,0,0.38);
	--color-black-40: rgba(0,0,0,0.40);
	--color-black-45: rgba(0,0,0,0.45);
	--color-black-55: rgba(0,0,0,0.55);
	--color-black-60: rgba(0,0,0,0.60);
	--color-black-62: rgba(0,0,0,0.62);
	--color-black-65: rgba(0,0,0,0.65);
	--color-black-66: rgba(0,0,0,0.66);
	--color-black-68: rgba(0,0,0,0.68);
	--color-black-70: rgba(0,0,0,0.70);
	--color-black-72: rgba(0,0,0,0.72);
	--color-black-74: rgba(0,0,0,0.74);
	--color-black-75: rgba(0,0,0,0.75);
	--color-black-76: rgba(0,0,0,0.76);
	--color-black-80: rgba(0,0,0,0.80);
	--color-black-82: rgba(0,0,0,0.82);
	--color-black-86: rgba(0,0,0,0.86);
	--color-black-90: rgba(0,0,0,0.90);
	--color-transparent: rgba(0,0,0,0.00);
	--color-white-12: rgba(255,255,255,0.12);
	--color-white-15: rgba(255,255,255,0.15);
	--color-white-35: rgba(255,255,255,0.35);
	--color-white-45: rgba(255,255,255,0.45);
	--color-white-72: rgba(255,255,255,0.72);
	--color-white-75: rgba(255,255,255,0.75);
	--color-white-80: rgba(255,255,255,0.80);
	--color-white-90: rgba(255,255,255,0.90);
	--color-white-92: rgba(255,255,255,0.92);
	--color-checkout-bg: #f1f1f1;
	--background-transparent: transparent;
	--background-none: none;
	--background-current: currentColor;
	--content-width: 1480px;
	--content-frame-width: 1600px;
	--header-height: 136px;
	/* Fonts */
	--font-text: 'Montserrat-Regular';
	--font-text-bold: 'Montserrat-Bold';
	--font-hero: 'RobotoCondensed-Bold';
}

html, body
{
	margin: 0;
	padding: 0;
	height: 100%;
}

body
{
	font-size: 1em;
	line-height: 1.4em;
	color: var(--color-dark);
	font-family: var(--font-text), Arial, sans-serif;
	background: var(--color-light);
}

p
{
	margin: 0px 0px 15px 0px;
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 1.3em;
	line-height: 1.4em;
}

a:link, a:visited
{
	text-decoration: underline;
}

a:hover, a:active, a:focus
{
	text-decoration: none;
	outline: none;
}

h1
{
	color: var(--color-dark);
	text-transform: none;
	font-family: var(--font-hero);
	font-size: 4em;
}

h2, h3
{
	color: var(--color-dark);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	font-family: var(--font-text), Arial, sans-serif;
}

b, strong
{
	font-family: var(--font-text-bold), Arial, sans-serif;
}



/*******************************************************************
	2. INDIVIDUELLE STYLES
*******************************************************************/

.tab_content_body ul li {
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 1.3em;
	line-height: 1.4em;
}

/*******************************************************************
	3. INDIVIDUELLE STYLES
*******************************************************************/

/*******************************************************************
	TOPBAR
*******************************************************************/

#topbar
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 500;

	display: flex;
	justify-content: flex-end;
	align-items: center;

	padding: 12px 20px;
	box-sizing: border-box;
	pointer-events: none;
}

#topbar_left
{
	display: flex;
	align-items: center;
	margin-right: auto;
	pointer-events: all;
	min-width: 0;
}

#topbar_right
{
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	gap: 10px;
	pointer-events: all;
	position: relative;
}

.topbar_breadcrumb
{
	display: flex;
	align-items: center;
	gap: 8px;
	background: var(--color-white-90);
	border-radius: 18px;
	padding: 7px 12px;
	box-shadow: 0 4px 14px var(--color-black-12);
	max-width: min(58vw, 920px);
	min-width: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-8px);
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

#topbar.breadcrumb_visible .topbar_breadcrumb
{
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.topbar_breadcrumb .crumb_home,
.topbar_breadcrumb .crumb_link,
.topbar_breadcrumb .crumb_text,
.topbar_breadcrumb .crumb_current,
.topbar_breadcrumb .crumb_sep
{
	font-size: 0.85rem;
	line-height: 1;
	color: var(--color-dark);
}

.topbar_breadcrumb .crumb_link
{
	text-decoration: none;
	opacity: 0.82;
}

.topbar_breadcrumb .crumb_link:hover
{
	opacity: 1;
	text-decoration: underline;
}

.topbar_breadcrumb .crumb_current
{
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-weight: normal;
}

.topbar_breadcrumb .crumb_sep
{
	opacity: 0.55;
}

.topbar_item
{
	position: relative;
}

.topbar_icon_btn
{
	border: none;
	background: var(--color-white-90);
	color: var(--color-dark);
	height: 36px;
	min-width: 36px;
	padding: 0 10px;
	border-radius: 18px;
	box-shadow: 0 4px 14px var(--color-black-12);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}

.tabler_icon
{
	width: 18px;
	height: 18px;
	display: inline-block;
}

.topbar_icon_btn:hover
{
	transform: translateY(-1px);
	box-shadow: 0 6px 18px var(--color-black-18);
}

.topbar_icon_btn:focus-visible
{
	outline: 2px solid var(--color-dark);
	outline-offset: 2px;
}

.sr_only
{
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0,0,0,0);
	white-space: nowrap;
	border: 0;
}

#language_toggle img
{
	display: block;
	width: 18px;
	height: 12px;
	border-radius: 2px;
	object-fit: cover;
}

.topbar_dropdown
{
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	min-width: 170px;
	background: var(--color-white);
	border: 1px solid var(--color-black-12);
	box-shadow: 0 10px 22px var(--color-black-16);
	border-radius: 10px;
	padding: 8px 0;
	display: none;
	z-index: 520;
}

.topbar_dropdown.is_open
{
	display: block;
}

.topbar_dropdown a
{
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 8px 12px;
	color: var(--color-dark);
	text-decoration: none;
	font-size: 0.95em;
	line-height: 1.2em;
}

.topbar_dropdown a:hover
{
	background: var(--color-black-06);
}

#language_dropdown .language_flag img
{
	width: 16px;
	height: 11px;
	border-radius: 2px;
	box-shadow: 0 1px 3px var(--color-black-18);
}

.dropdown_hint
{
	display: block;
	padding: 8px 12px;
	font-size: 0.85em;
	color: var(--color-black-55);
}

.topbar_search
{
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
}

#search_form
{
	width: 0;
	overflow: hidden;
	opacity: 0;
	transition: width 0.25s ease, opacity 0.2s ease;
	position: relative;
}

.topbar_search.is_open #search_form
{
	width: min(45vw, 280px);
	opacity: 1;
	overflow: visible;
}

#search_form input[type="search"]
{
	width: 100%;
	height: 36px;
	border: 1px solid var(--color-black-18);
	border-radius: 18px;
	padding: 0 14px;
	font-size: 0.95em;
	margin-left: 8px;
}

#search_form input[type="search"]:focus,
#search_form input[type="search"]:focus-visible
{
	outline: none;
	box-shadow: none;
	border-color: var(--color-black-28);
}

#search_autocomplete,
.search_autocomplete
{
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	width: 320px;
	max-height: 360px;
	overflow-y: auto;
	background: var(--color-white);
	border: 1px solid var(--color-black-12);
	border-radius: 10px;
	box-shadow: 0 10px 22px var(--color-black-16);
	display: none;
	z-index: 530;
}

#search_autocomplete.is_open,
.search_autocomplete.is_open
{
	display: block;
}

.search_autocomplete_list
{
	list-style: none;
	margin: 0;
	padding: 4px 0;
}

.search_autocomplete_list li
{
	margin: 0;
	padding: 0;
}

.search_autocomplete_list li a
{
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 6px 9px;
	color: var(--color-dark);
	text-decoration: none;
}

.search_autocomplete_list li a:hover
{
	background: var(--color-black-06);
}

.search_autocomplete_list li a.is_active
{
	background: var(--color-black-08);
}

.search_autocomplete_list li img,
.search_autocomplete_image_placeholder
{
	width: 36px;
	height: 36px;
	border-radius: 6px;
	object-fit: cover;
	background: var(--color-black-06);
	flex-shrink: 0;
}

.search_autocomplete_list li span
{
	display: block;
	font-size: 0.92em;
	line-height: 1.2em;
}

.search_autocomplete_list li span strong
{
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-weight: normal;
}

#search_toggle:focus,
#search_toggle:focus-visible
{
	outline: none;
	box-shadow: 0 4px 14px var(--color-black-12);
}

#cart_badge
{
	position: absolute;
	top: -7px;
	right: -7px;
	min-width: 21px;
	height: 21px;
	padding: 0 5px;
	border-radius: 999px;
	background: var(--color-error-bg);
	color: var(--color-white);
	font-size: 0.78em;
	line-height: 21px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	transform: scale(0.7);
	opacity: 0;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

#cart_badge.is_visible
{
	transform: scale(1);
	opacity: 1;
}

#cart_drawer
{
	position: fixed;
	top: 0;
	right: 0;
	height: 100vh;
	width: min(96vw, 580px);
	background: var(--color-white);
	box-shadow: -12px 0 24px var(--color-black-22);
	transform: translateX(105%);
	transition: transform 0.28s ease;
	z-index: 900;
	display: flex;
	flex-direction: column;
}

body.cart_open #cart_drawer
{
	transform: translateX(0);
}

#cart_overlay
{
	position: fixed;
	inset: 0;
	background: var(--color-black-30);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.24s ease;
	z-index: 880;
}

#cart_overlay.is_open
{
	opacity: 1;
	pointer-events: all;
}

.cart_drawer_headline
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 16px;
	border-bottom: 1px solid var(--color-black-10);
}

.cart_drawer_headline h3
{
	margin: 0;
	font-size: 1.05em;
	letter-spacing: 0.12em;
}

#cart_close
{
	border: none;
	background: var(--background-transparent);
	color: var(--color-dark);
	font-size: 18px;
	cursor: pointer;
}

.cart_drawer_content
{
	padding: 22px 16px;
	overflow-y: auto;
}

.cart_list
{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.cart_item
{
	display: grid;
	grid-template-columns: 84px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 2px 0 14px 0;
	border-bottom: 1px solid var(--color-black-08);
}

.cart_item_media
{
	width: 84px;
	height: 84px;
}

.cart_item_image,
.cart_item_image_placeholder
{
	width: 84px;
	height: 84px;
	border-radius: 6px;
	object-fit: cover;
	background: var(--color-black-06);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-black-18);
	box-shadow: 0 1px 4px var(--color-black-08);
}

.cart_item_image_placeholder
{
	color: var(--color-black-45);
}

.cart_item_title
{
	margin: 0;
	font-size: 1.14em;
	line-height: 1.28em;
	font-weight: 600;
}

.cart_item_meta
{
	margin: 6px 0 0 0;
	font-size: 0.96em;
	line-height: 1.28em;
	color: var(--color-black-65);
}

.cart_item_price
{
	margin: 8px 0 0 0;
	font-size: 1.02em;
	color: var(--color-black-75);
}

.cart_item_controls
{
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 10px;
}

.cart_control_btn
{
	width: 30px;
	height: 30px;
	border: 1px solid var(--color-black-22);
	background: var(--color-white);
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
}

.cart_control_btn:hover
{
	background: var(--color-black-04);
}

.cart_control_btn:disabled
{
	opacity: 0.45;
	cursor: not-allowed;
}

.cart_control_btn.is_danger
{
	border-color: var(--color-error-accent);
}

.cart_control_btn.is_danger:hover
{
	background: var(--color-error-accent-bg);
}

.cart_item_sum
{
	font-size: 1.08em;
	font-weight: 600;
	white-space: nowrap;
	padding-top: 0;
	grid-column: 2;
	justify-self: end;
	margin-top: -2px;
}

.cart_totals
{
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--color-black-14);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.cart_shipping_free_hint
{
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid var(--color-info-border);
	border-radius: 6px;
	background: var(--color-info-bg);
	color: var(--color-info-text);
	font-size: 0.96em;
	line-height: 1.35;
}

.cart_coupon
{
	margin-top: 12px;
	padding: 12px;
	border: 1px solid var(--color-black-14);
	border-radius: 6px;
}

.cart_coupon_form label
{
	display: block;
	margin-bottom: 7px;
	font-size: 0.92em;
	font-weight: 600;
}

.cart_coupon_row
{
	display: flex;
	gap: 8px;
}

.cart_coupon_row input
{
	min-width: 0;
	flex: 1 1 auto;
	height: 38px;
	box-sizing: border-box;
	border: 1px solid var(--color-black-14);
	border-radius: 0;
	padding: 0 10px;
	font: inherit;
}

.cart_coupon_row button,
.cart_coupon_remove
{
	height: 38px;
	border: 1px solid var(--color-dark);
	background: var(--color-dark);
	color: #fff;
	padding: 0 12px;
	font: inherit;
	font-size: 0.9em;
	cursor: pointer;
}

.cart_coupon_applied
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 10px;
	font-size: 0.94em;
}

.cart_coupon_applied span
{
	font-weight: 700;
}

.cart_coupon_remove
{
	height: 30px;
	background: transparent;
	color: var(--color-dark);
}

.cart_coupon_message
{
	margin: 9px 0 0 0;
	font-size: 0.9em;
	line-height: 1.35;
}

.cart_total_row
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.02em;
}

.cart_total_row.is_total
{
	font-size: 1.16em;
	font-weight: 700;
}

.cart_total_row.is_hint
{
	font-size: 1.02em;
	opacity: 1;
}

.cart_drawer_checkout
{
	margin-top: 14px;
}

.cart_checkout_link,
.cart_checkout_link:link,
.cart_checkout_link:visited
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	position: relative;
	overflow: hidden;
	box-sizing: border-box;
	padding: 12px 20px;
	border: 1px solid var(--color-dark);
	background: var(--background-transparent);
	color: var(--color-dark);
	cursor: pointer;
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 13px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.3s ease, color 0.3s ease, transform 0.25s ease;
}

.cart_checkout_link::before
{
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 120%;
	height: 100%;
	background: linear-gradient(115deg, var(--background-transparent), var(--color-black-06), var(--background-transparent));
	transition: left 0.6s ease;
}

.cart_checkout_link:hover::before
{
	left: 130%;
}

.cart_checkout_link:hover,
.cart_checkout_link:focus
{
	background: var(--color-dark);
	color: var(--color-lighter);
	transform: translateY(-2px);
	text-decoration: none;
}

.cart_drawer_instant_checkout
{
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin-top: 10px;
}

.instant_checkout_link,
.instant_checkout_link:link,
.instant_checkout_link:visited
{
	flex: 1 1 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 10px;
	box-sizing: border-box;
	border-radius: 8px;
	border: 1px solid var(--checkout-border, var(--color-black-20));
	background: var(--checkout-bg, var(--color-checkout-bg));
	color: var(--checkout-color, var(--color-dark));
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 0.82rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	text-align: center;
	transition: transform 0.2s ease, filter 0.2s ease;
}

.instant_checkout_link:hover,
.instant_checkout_link:focus
{
	filter: brightness(0.96);
	transform: translateY(-1px);
	text-decoration: none;
}

/*******************************************************************
	SHOP CHECKOUT FLOW
*******************************************************************/

.block_shop_checkout_flow
{
	margin: 30px 0;
}

.wrap_shop_checkout_flow
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: 0 60px;
	box-sizing: border-box;
}

.shop_checkout_flow_left,
.shop_checkout_flow_right
{
	background: var(--color-white);
	border: 1px solid var(--color-black-12);
	padding: 24px 60px;
	box-sizing: border-box;
}

.shop_checkout_flow_right .shop_checkout_summary
{
	position: sticky;
	top: 24px;
}

.shop_checkout_summary h1,
.shop_checkout_summary h2,
.shop_checkout_summary h3,
.shop_checkout_summary h4
{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	margin: 0 0 16px 0;
}

.shop_checkout_summary h1::before,
.shop_checkout_summary h2::before,
.shop_checkout_summary h3::before,
.shop_checkout_summary h4::before,
.shop_checkout_summary h1::after,
.shop_checkout_summary h2::after,
.shop_checkout_summary h3::after,
.shop_checkout_summary h4::after
{
	content: "";
	flex: 1 1 auto;
	border-top: 1px solid var(--color-black-16);
}

.shop_checkout_flow_headline
{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	margin: 12px 0 26px 0;
	font-size: 1.1rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.shop_checkout_flow_headline::before,
.shop_checkout_flow_headline::after
{
	content: "";
	flex: 1 1 auto;
	border-top: 1px solid var(--color-black-16);
}

.shop_checkout_flow_headline_regular
{
	margin-top: 0;
}

.shop_checkout_address_headline
{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	text-align: center;
	margin: 26px 0 22px 0;
	font-size: 1.1rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.shop_checkout_address_headline::before,
.shop_checkout_address_headline::after
{
	content: "";
	flex: 1 1 auto;
	border-top: 1px solid var(--color-black-16);
}

.shop_checkout_flow_form_placeholder
{
	color: var(--color-black-72);
	margin-bottom: 16px;
}

.shop_checkout_instant_checkout
{
	display: flex;
	align-items: stretch;
	gap: 8px;
	margin: 18px 0 18px 0;
}

.shop_checkout_login_probe
{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.shop_checkout_label
{
	font-size: 0.9rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.shop_checkout_input
{
	display: block;
	width: 100%;
	height: 42px;
	padding: 0 10px;
	box-sizing: border-box;
	border: 1px solid var(--color-black-20);
	background: var(--color-white);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 1rem;
	color: var(--color-dark);
}

.shop_checkout_input:focus,
.shop_checkout_input:focus-visible
{
	outline: none;
	border-color: var(--color-black-20);
}

.shop_checkout_input.is_invalid,
.shop_checkout_input.is_invalid:focus,
.shop_checkout_input.is_invalid:focus-visible
{
	border-color: var(--color-error-border);
	box-shadow: 0 0 0 1px var(--color-error-soft);
}

.shop_checkout_input_wrap
{
	position: relative;
}

.shop_checkout_input_wrap .shop_checkout_input
{
	padding-right: 36px;
}

.shop_checkout_input_loader
{
	display: none;
	position: absolute;
	right: 11px;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	border: 2px solid var(--color-black-18);
	border-top-color: var(--color-black-60);
	border-radius: 50%;
	animation: shop_checkout_spin 0.7s linear infinite;
}

.shop_checkout_input_wrap.is_loading .shop_checkout_input_loader
{
	display: block;
}

@keyframes shop_checkout_spin
{
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.shop_checkout_login_state
{
	min-height: 1.2em;
	margin: 0;
	font-size: 0.92rem;
	color: var(--color-black-68);
}

.shop_checkout_password_wrap
{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.shop_checkout_password_wrap[hidden]
{
	display: none !important;
}

.shop_checkout_password_row
{
	display: flex;
	align-items: stretch;
}

.shop_checkout_password_input
{
	border-right: none;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
	flex: 1 1 auto;
	min-width: 0;
}

.shop_checkout_password_toggle
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	border: 1px solid var(--color-black-20);
	border-left: none;
	border-right: 1px solid var(--color-black-20);
	background: var(--background-transparent);
	color: var(--color-black-62);
	cursor: pointer;
	padding: 0;
	appearance: none;
	-webkit-appearance: none;
}

.shop_checkout_password_toggle:hover
{
	color: var(--color-black-86);
}

.shop_checkout_password_toggle.is_active
{
	color: var(--color-dark);
}

.shop_checkout_password_submit
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	padding: 0 16px;
	border: 1px solid var(--color-black-20);
	border-left: none;
	background: var(--color-dark);
	color: var(--color-lighter);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 0.86rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
	flex: 0 0 auto;
}

.shop_checkout_password_submit:hover
{
	filter: brightness(0.96);
}

.shop_checkout_delivery
{
	margin-top: 16px;
}

.shop_checkout_delivery_headline
{
	margin: 0 0 10px 0;
	font-size: 1.02rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	font-family: var(--font-text-bold), Arial, sans-serif;
}

.shop_checkout_delivery_toggle
{
	display: flex;
	align-items: stretch;
	width: 100%;
	position: relative;
	border: 1px solid var(--color-black-18);
	background: var(--color-white-75);
	overflow: hidden;
}

.shop_checkout_delivery_toggle_indicator
{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: calc(100% / var(--toggle-count, 1));
	transform: translateX(calc(100% * var(--toggle-index, 0)));
	background: var(--color-dark);
	transition: transform 0.22s ease;
	z-index: 0;
}

.shop_checkout_delivery_option
{
	position: relative;
	margin: 0;
	flex: 1 1 0;
	z-index: 1;
}

.shop_checkout_delivery_option input
{
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.shop_checkout_delivery_option span
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 40px;
	padding: 0 14px;
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 1rem;
	color: var(--color-black-70);
	cursor: pointer;
	transition: color 0.2s ease;
}

.shop_checkout_delivery_option + .shop_checkout_delivery_option span
{
	border-left: 1px solid var(--color-black-18);
}

.shop_checkout_delivery_option input:checked + span
{
	color: var(--color-lighter);
}

.shop_checkout_name_row
{
	margin-top: 12px;
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.shop_checkout_name_field
{
	flex: 1 1 0;
}

.shop_checkout_house_field
{
	flex: 0 0 120px;
}

.shop_checkout_zip_field
{
	flex: 0 0 180px;
}

.shop_checkout_address_fields
{
	margin-top: 10px;
}

.shop_checkout_checkbox_row
{
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 10px 0 6px 0;
	cursor: pointer;
}

.shop_checkout_checkbox_row input[type="checkbox"]
{
	width: 16px;
	height: 16px;
	margin: 0;
}

.shop_checkout_checkbox_row.is_invalid
{
	color: var(--color-error);
}

.shop_checkout_checkbox_row.is_invalid input[type="checkbox"]
{
	outline: none;
}

.shop_checkout_billing_fields
{
	margin-top: 10px;
}

.shop_checkout_shipping_options
{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
}

.shop_checkout_payment_options
{
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 8px;
}

.shop_checkout_review_wrap
{
	margin-top: 18px;
}

.shop_checkout_confirm_stage[hidden]
{
	display: none !important;
}

.shop_checkout_confirm_group
{
	margin: 0 0 10px 0;
}

.shop_checkout_confirm_address_grid
{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 6px;
}

.shop_checkout_confirm_address_col
{
	min-width: 0;
}

.shop_checkout_confirm_address_title
{
	margin: 0 0 8px 0;
	font-size: 0.95rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	font-family: var(--font-text-bold), Arial, sans-serif;
}

.shop_checkout_confirm_intro
{
	margin: 0 0 14px 0;
	font-size: 0.96rem;
	color: var(--color-black-74);
}

.shop_checkout_confirm_value
{
	margin: 0 0 6px 0;
	font-size: 0.98rem;
	color: var(--color-black-82);
}

.shop_checkout_confirm_actions
{
	display: flex;
	gap: 10px;
	margin-top: 18px;
}

.shop_checkout_confirm_back,
.shop_checkout_confirm_submit
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	border: 1px solid var(--color-black-20);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 0.95rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter 0.2s ease;
}

.shop_checkout_confirm_back
{
	background: var(--color-light);
	color: var(--color-black-80);
}

.shop_checkout_confirm_submit
{
	background: var(--color-dark);
	color: var(--color-lighter);
}

.shop_checkout_confirm_back:hover,
.shop_checkout_confirm_submit:hover
{
	filter: brightness(0.96);
}

.shop_checkout_confirm_legal
{
	margin-top: 0;
	padding-top: 0;
}

.shop_checkout_confirm_legal .shop_checkout_checkbox_row
{
	display: flex;
	margin: 6px 0;
}

.shop_checkout_success
{
	margin: 18px 0 0 0;
	padding: 18px 20px;
	border: 1px solid var(--color-black-14);
	background: var(--color-white-90);
}

.shop_checkout_success_text
{
	margin: 0;
	font-size: 1rem;
	line-height: 1.5;
	color: var(--color-black-82);
}

.shop_checkout_success_order
{
	margin: 12px 0 0 0;
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.96rem;
	color: var(--color-black-90);
}

.shop_checkout_finalize_button
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 52px;
	margin-top: 12px;
	border: 1px solid var(--color-black-20);
	background: var(--color-dark);
	color: var(--color-lighter);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 0.95rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}

.shop_checkout_confirm_actions .shop_checkout_confirm_back,
.shop_checkout_confirm_actions .shop_checkout_finalize_button
{
	flex: 1 1 50%;
}

.shop_checkout_confirm_actions .shop_checkout_finalize_button
{
	margin-top: 0;
}

.shop_checkout_finalize_button.is_invalid
{
	border-color: var(--color-error-border);
	box-shadow: 0 0 0 1px var(--color-error-soft);
}

.shop_checkout_review_button
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 50px;
	border: 1px solid var(--color-black-20);
	background: var(--color-dark);
	color: var(--color-lighter);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 0.95rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: filter 0.2s ease;
}

.shop_checkout_review_button:hover
{
	filter: brightness(0.96);
}

.shop_checkout_shipping_option_row
{
	display: grid;
	grid-template-columns: 18px 1fr auto;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border: 1px solid var(--color-black-16);
	background: var(--color-white-72);
	cursor: pointer;
}

.shop_checkout_shipping_option_row input[type="radio"]
{
	margin: 0;
}

.shop_checkout_shipping_option_label_wrap
{
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.shop_checkout_shipping_option_label
{
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.98rem;
	color: var(--color-dark);
}

.shop_checkout_shipping_option_description,
.shop_checkout_shipping_option_free_from
{
	font-size: 0.86rem;
	color: var(--color-black-66);
}

.shop_checkout_shipping_option_price
{
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.96rem;
	color: var(--color-dark);
}

.shop_checkout_pickup_info
{
	display: none;
	margin: 0 0 12px 0;
	padding: 12px 14px;
	border: 1px solid var(--color-black-18);
	background: var(--color-white-72);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--color-black-82);
}

.shop_checkout_delivery.is_pickup .shop_checkout_pickup_info
{
	display: block;
}

@media (max-width: 760px)
{
	.shop_checkout_name_row
	{
		flex-direction: column;
	}

	.shop_checkout_confirm_address_grid
	{
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.shop_checkout_house_field,
	.shop_checkout_zip_field
	{
		flex: 1 1 auto;
	}
}

.checkout_cart_list
{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.checkout_cart_item
{
	display: grid;
	grid-template-columns: 64px 1fr auto;
	gap: 12px;
	align-items: start;
	padding: 12px 0;
	border-bottom: 1px solid var(--color-black-10);
}

.checkout_cart_item_media
{
	align-self: center;
	width: 64px;
	height: 64px;
	background: var(--color-black-04);
	border: 1px solid var(--color-black-08);
	border-radius: 4px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.checkout_cart_item_image
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.checkout_cart_item_title
{
	margin: 0;
	font-size: 1.02em;
	line-height: 1.2em;
	font-family: var(--font-text-bold), Arial, sans-serif;
}

.checkout_cart_item_meta
{
	margin: 4px 0 0 0;
	font-size: 0.95em;
	line-height: 1.2em;
	color: var(--color-black-65);
}

.checkout_cart_item_price
{
	margin: 4px 0 0 0;
	font-size: 0.98em;
	line-height: 1.2em;
	color: var(--color-black-76);
}

.checkout_cart_item_sum
{
	font-size: 1em;
	font-family: var(--font-text-bold), Arial, sans-serif;
	white-space: nowrap;
}

.checkout_cart_totals
{
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid var(--color-black-14);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.checkout_shipping_free_hint
{
	margin-top: 12px;
	padding: 10px 12px;
	border: 1px solid var(--color-info-border);
	border-radius: 6px;
	background: var(--color-info-bg);
	color: var(--color-info-text);
	font-size: 0.96em;
	line-height: 1.35;
}

.checkout_cart_total_row
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 1.02em;
}

.checkout_cart_total_row.is_total
{
	font-size: 1.14em;
	font-family: var(--font-text-bold), Arial, sans-serif;
}

.checkout_cart_total_row.is_hint
{
	font-size: 1.02em;
	opacity: 1;
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	#topbar
	{
		left: 0;
		padding: 10px 14px;
	}

	#topbar_right
	{
		gap: 8px;
	}

	.wrap_shop_checkout_flow
	{
		grid-template-columns: 1fr;
		gap: 18px;
		padding: 0 20px;
	}

	.shop_checkout_flow_right .shop_checkout_summary
	{
		position: static;
		top: auto;
	}

	#topbar_left
	{
		display: flex;
		position: absolute;
		top: 58px;
		left: 14px;
		right: 14px;
		max-width: calc(100vw - 28px);
		pointer-events: none;
	}

	#topbar.breadcrumb_visible #topbar_left
	{
		pointer-events: auto;
	}

	.topbar_breadcrumb
	{
		max-width: 100%;
	}

	.topbar_icon_btn
	{
		height: 34px;
		min-width: 34px;
		padding: 0 8px;
	}

	.topbar_search.is_open #search_form
	{
		width: min(55vw, 220px);
	}
}

.layout
{
	min-height: 100vh;
}

	.sidebar
	{
		position: relative;
		width: 100%;
		padding: 22px max(40px, calc((100vw - var(--content-frame-width)) / 2 + 60px)) 18px max(40px, calc((100vw - var(--content-frame-width)) / 2 + 60px));
		box-sizing: border-box;
		background: var(--color-light);
		display: grid;
		grid-template-columns: 96px 1fr 96px;
		grid-template-rows: auto auto;
		align-items: center;
		box-shadow: 0 6px 10px var(--color-black-10);
		border-bottom: 1px solid var(--color-black-20);
		z-index: 10;
	}

		.logo
		{
			background: none;
			background-size: 96px;
			height: 96px;
			width: 96px;
			margin-bottom: 0;
			grid-column: 1;
			grid-row: 1 / 3;
			align-self: start;
		}

		.link_logo:link
		{
			display: block;
			width: 96px;
			height: 96px;
		}

		.menu
		{
			display: flex;
			width: 100%;
			justify-content: center;
			align-items: center;
			text-transform: uppercase;
			grid-column: 2;
			grid-row: 1;
			position: relative;
			z-index: 30;
			transform: translateY(-4px);
		}

		.sidebar_without_shop .menu
		{
			grid-row: 1 / 3;
			transform: none;
		}

		.header_search
		{
			grid-column: 2;
			grid-row: 2;
			justify-self: center;
			width: min(520px, 100%);
			margin-top: 8px;
			position: relative;
			z-index: 10;
		}

		.header_search input[type="search"]
		{
			display: block;
			width: 100%;
			height: 35px;
			box-sizing: border-box;
			border: 1px solid var(--color-black-18);
			border-radius: 18px;
			background: var(--color-lighter);
			color: var(--color-dark);
			padding: 0 18px;
			font-family: var(--font-text), Arial, sans-serif;
			font-size: 0.95rem;
			letter-spacing: 0.08em;
			text-align: left;
			box-shadow: 0 4px 12px var(--color-black-06);
		}

		.header_search .search_autocomplete
		{
			left: 0;
			right: auto;
			width: 100%;
			text-align: left;
		}

		.header_search input[type="search"]::placeholder
		{
			color: var(--color-black-38);
			text-transform: uppercase;
			letter-spacing: 0.18em;
		}

		.header_search input[type="search"]:focus,
		.header_search input[type="search"]:focus-visible
		{
			outline: none;
			border-color: var(--color-black-32);
			box-shadow: 0 6px 16px var(--color-black-08);
		}

			#list_menu {
				list-style: none;
				padding: 0;
				margin: 0;
				text-align: center;
				display: flex;
				justify-content: center;
				align-items: center;
				flex-wrap: wrap;
				gap: 10px 30px;
			}

			#list_menu li {
				position: relative;
				margin-bottom: 0;
				z-index: 30;
			}

			#list_menu a {
				position: relative;
				text-decoration: none;
				color: var(--color-menu-dark);
				font-size: 17px;
				font-family: var(--font-text), Arial, sans-serif;
				letter-spacing: 0.25em;
				display: inline-block;
				z-index: 1;
				transition: opacity 0.25s ease, transform 0.25s ease;
			}

			#list_menu a::after {
				content: "";
				position: absolute;
				inset: -7px -12px;
				z-index: -1;
				border-radius: 999px;
				background: var(--color-black-06);
				opacity: 0;
				transform: scale(0.92);
				transition: opacity 0.25s ease, transform 0.25s ease;
			}

			#list_menu a:hover::after,
			#list_menu li.menu_active > a::after {
				opacity: 1;
				transform: scale(1);
			}

			#list_menu a:hover,
			#list_menu li.menu_active > a {
				transform: translateY(-1px);
			}

			#list_menu ul {
				list-style: none;
				position: absolute;
				top: 100%;
				left: 50%;
				z-index: 40;
				min-width: 210px;
				padding: 14px 18px;
				margin: 10px 0 0 0;
				display: none;
				text-align: center;
				background: var(--color-light);
				box-shadow: 0 10px 20px var(--color-black-14);
				transform: translateX(-50%);
			}

			#list_menu li:hover > ul {
				display: block;
			}

			#list_menu ul li {
				margin: 6px 0;
			}

			#list_menu ul a {
				font-size: 14px;
				letter-spacing: 0.2em;
				color: var(--color-muted-dark);
			}

			#list_menu ul a:hover {
				color: var(--color-black);
			}

			.sf-arrows .sf-with-ul:after {
				display: none;
			}

			#list_menu:has(li:hover > ul) > li > a {
				opacity: 0.35;
			}

			#list_menu li:hover > a {
				opacity: 1;
			}

			#list_menu li:hover ul a {
				opacity: 1;
			}

			@media screen and (min-width: 768px) {
				#list_menu > li > ul ul {
					position: static;
					top: auto;
					left: auto;
					z-index: auto;
					width: 100% !important;
					min-width: 0;
					box-sizing: border-box;
					padding: 7px 0 2px;
					margin: 5px 0 0;
					background: transparent;
					box-shadow: none;
					transform: none;
				}

				#list_menu > li > ul ul li {
					margin: 4px 0;
				}

				#list_menu > li > ul ul a {
					font-size: 12px;
					line-height: 1.4;
					letter-spacing: 0.16em;
					white-space: normal;
				}

				#list_menu > li > ul > li:has(> ul) > a {
					display: inline-flex;
					align-items: center;
					justify-content: center;
				}

				#list_menu > li > ul > li:has(> ul) > a::before {
					content: "";
					order: 2;
					width: 12px;
					height: 12px;
					margin-left: 7px;
					background: url('/SHARED/icons/tabler/outline/chevron-down.svg') center / contain no-repeat;
					opacity: 0.55;
					transition: transform 0.2s ease;
				}

				#list_menu > li > ul > li:hover > a::before,
				#list_menu > li > ul > li.sfHover > a::before,
				#list_menu > li > ul > li:focus-within > a::before {
					transform: rotate(180deg);
				}
			}

		#hamburger
		{
			display: none;
		}

		/* iPad / Safari Viewport-Fix */

		.container_hero {
			height: calc(100vh - var(--header-height));
			height: calc(100dvh - var(--header-height));
		}

	/* MOBILE */

	@media screen and (max-width: 767px)
	{
		.layout
		{
			display: block;
		}

		.sidebar
		{
			display: flex;
			width: 100%;
			min-height: 74px;
			padding: 12px 18px;
			align-items: center;
			flex-direction: row;
			justify-content: flex-start;
			overflow: visible;
		}

		:root
		{
			--header-height: 74px;
		}

		.logo
		{
			position: absolute;
			top: 50%;
			left: 50%;
			background-position: center;
			background-size: contain;
			width: 140px;
			height: 50px;
			margin-bottom: 0;
			transform: translate(-50%, -50%);
			z-index: 1;
		}

		.link_logo:link,
		.link_logo:visited
		{
			width: 140px;
			height: 50px;
		}

		.menu
		{
			display: none;
		}

		.header_search
		{
			display: none;
		}

		#hamburger
		{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 40px;
			height: 40px;
			z-index: 2;
		}

		#hamburger a
		{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 100%;
			height: 100%;
			color: var(--color-dark);
			font-size: 20px;
			text-decoration: none;
		}

		#hamburger a:hover
		{
			opacity: 0.6;
		}

	}

/*******************************************************************
	FOOTER
*******************************************************************/

#container_footer
{
	background: var(--color-light);
	border-top: 1px solid var(--color-black-20);
	min-height: 260px;
}

#wrap_footer
{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 30px;
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: 28px 40px;
	box-sizing: border-box;
}

#footer_socialmedia
{
	display: flex;
	align-items: center;
	gap: 12px;
}

#footer_socialmedia a
{
	display: block;
	margin: 0;
	font-size: 20px;
	color: var(--color-menu-dark);
	line-height: 1;
	padding: 2px 4px;
	transition: opacity 0.25s ease, transform 0.25s ease;
}

#footer_socialmedia i
{
	display: inline-block;
	padding-right: 1px;
}

#footer_socialmedia a:hover
{
	opacity: 0.6;
	transform: translateY(-2px);
}

#footer_copyright
{
	text-align: right;
	font-size: 0.75em;
	color: var(--color-muted);
	line-height: 1.6;
}

#footer_copyright a
{
	color: var(--color-muted);
	text-decoration: none;
	transition: color 0.25s ease;
}

#footer_copyright a:hover
{
	color: var(--color-menu-dark);
}

@media screen and (max-width: 767px)
{
	#wrap_footer
	{
		flex-direction: column;
		align-items: flex-start;
		gap: 18px;
		padding: 24px 20px;
	}

	#footer_copyright
	{
		text-align: left;
	}
}

/*******************************************************************
	MOBILE MENU (MM-MENU)
*******************************************************************/

.mm-menu_theme-dark
{
	background: var(--color-light) !important;
	--mm-color-background: var(--color-light) !important;
	--mm-color-text: var(--color-dark) !important;
	--mm-color-text-dimmed: var(--color-dark) !important;
	--mm-color-border: var(--color-black-10) !important;
	--mm-color-button: var(--color-dark) !important;
}

.mm-menu_theme-dark .mm-panels,
.mm-menu_theme-dark .mm-panel,
.mm-menu_theme-dark .mm-navbar
{
	background: var(--color-light) !important;
}

.mm-menu_theme-dark .mm-navbar,
.mm-menu_theme-dark .mm-navbar__title
{
	color: var(--color-dark);
	font-family: var(--font-text), Arial, sans-serif;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.mm-menu_theme-dark .mm-listitem a,
.mm-menu_theme-dark .mm-listitem a:link,
.mm-menu_theme-dark .mm-listitem a:visited
{
	color: var(--color-dark);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 16px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
}

.mm-menu_theme-dark .mm-listitem__btn
{
	border-color: var(--color-black-10);
}

.mm-menu_theme-dark .mm-listitem
{
	border-color: var(--color-black-10);
}

.mm-menu_theme-dark .mm-btn::before,
.mm-menu_theme-dark .mm-btn::after
{
	border-color: var(--color-dark);
}

.mm-menu_theme-dark .mm-btn_next::after
{
	border-color: var(--color-dark) !important;
}

.mm-menu_theme-dark .mm-btn_prev::before
{
	border-color: var(--color-dark) !important;
}

/* LOGO DREHT SICH WENN MENÜ OFFEN */

.logo
{
	transition: transform 0.4s ease;
}

html.mm-wrapper_opened .logo
{
	transform: rotate(180deg);
}

@media screen and (max-width: 767px)
{
	html.mm-wrapper_opened .logo
	{
		transform: translate(-50%, -50%);
	}
}
/*******************************************************************
	CONTENT
*******************************************************************/

.content
{
	position: relative;
	box-sizing: border-box;
	background: var(--color-lighter);
	z-index: 1;
}

/*******************************************************************
	BLOCK: HERO
*******************************************************************/

/* HERO CONTAINER */

.container_hero
{
	position: relative;
	width: 100%;
	height: calc(100vh - var(--header-height));
	height: calc(100dvh - var(--header-height));
	overflow: hidden;
	background: var(--color-black);
}

/* MEDIA LAYER (VIDEO / IMAGE) */

#video,
.container_hero picture
{
	position: absolute;
	inset: 0;
	z-index: 1;
}

#video video,
.container_hero picture img.superhero
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;

	transform: scale(1.08);
	animation: heroMediaZoom 2.4s ease forwards;
	will-change: transform;
}

/* OVERLAY FOR TEXT CONTRAST */

.container_hero::after
{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;

	background: linear-gradient(
		to right,
		var(--color-black-45) 0%,
		var(--color-black-25) 40%,
		var(--color-black-15) 100%
	);
}

/* CONTENT LAYER */

#wrap_hero
{
	position: relative;
	z-index: 3;

	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;

	text-align: center;

	padding: 50px 60px;
	box-sizing: border-box;
}

/* TEXT BLOCK */

#slogan_hero
{
	max-width: clamp(700px, 60vw, 1400px);
	padding: 20px;
}

/* PRELINE */

.preline_hero
{
	font-size: clamp(14px, 1.2vw, 18px);
	letter-spacing: 0.3em;
	margin-bottom: -20px;
	text-align: center;

	color: var(--color-lighter);
	opacity: 0;

	text-shadow: 0 0 6px var(--color-black-45);

	font-family: var(--font-text);
	text-transform: uppercase;

	transform: translateY(30px);
	animation: heroFadeUp 1.2s ease 0.45s forwards;
	will-change: opacity, transform;
}

/* HEADLINE */

.headline_hero
{
	font-size: clamp(2.5em, 8vw, 8em);
	letter-spacing: 0.08em;
	margin-bottom: 28px;
	text-align: center;

	color: var(--color-lighter);

	text-shadow: 0 0 8px var(--color-black-45);

	font-family: var(--font-hero);
	text-transform: none;
	line-height: 0.95;

	opacity: 0;
	transform: translateY(36px);
	animation: heroFadeUp 1.2s ease 0.45s forwards;
	will-change: opacity, transform;
}

@media screen and (max-height: 950px)
{
	.headline_hero
	{
		font-size: clamp(2.5em, 8vw, 4.8em);
	}
}

/* CTA BUTTON */
.cta_button_hero,
.cta_button_hero:link,
.cta_button_hero:visited,
.cta_button_hero:hover,
.cta_button_hero:active,
.cta_button_hero:focus
{
	display: inline-flex;
	align-items: center;
	justify-content: center;

	position: relative;
	overflow: hidden;

	padding: 16px 42px;
	margin-top: 28px;

	border: 1px solid var(--color-white-80);
	background: var(--color-black-35);

	color: var(--color-white) !important;
	text-decoration: none;

	font-family: var(--font-text);
	font-size: 14px;
	letter-spacing: 0.22em;
	text-transform: uppercase;

	backdrop-filter: blur(4px);

	box-shadow:
		0 10px 30px var(--color-black-35),
		inset 0 0 0 1px var(--color-white-15);

	opacity: 0;
	transform: translateY(28px);
	animation: heroFadeUp 0.9s ease 0.75s forwards;

	transition:
		transform 0.28s ease,
		background 0.35s ease,
		color 0.35s ease,
		border-color 0.35s ease,
		box-shadow 0.35s ease;
}

/* LIGHT SWEEP */

.cta_button_hero::before
{
	content: "";
	position: absolute;

	top: 0;
	left: -130%;

	width: 120%;
	height: 100%;

	background: linear-gradient(
		115deg,
		transparent,
		var(--color-white-45),
		transparent
	);

	transition: left 0.7s ease;
}

.cta_button_hero:hover::before
{
	left: 130%;
}

/* BUTTON HOVER */

.cta_button_hero:hover
{
	background: var(--color-white);
	color: var(--color-black) !important;
	border-color: var(--color-white);

	transform: translateY(-3px);

	box-shadow:
		0 16px 40px var(--color-black-35),
		0 3px 10px var(--color-black-18);
}

.cta_button_hero:hover::before
{
	left: 130%;
}

/* KEYFRAMES */

@keyframes heroFadeUp
{
	from
	{
		opacity: 0;
		transform: translateY(30px);
	}
	to
	{
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes heroMediaZoom
{
	from
	{
		transform: scale(1.08);
	}
	to
	{
		transform: scale(1);
	}
}

/* MOBILE */

@media screen and (max-width: 900px)
{
	.container_hero
	{
		height: calc(100vh - var(--header-height));
		height: calc(100dvh - var(--header-height));
	}

	#wrap_hero
	{
		padding: 30px 20px;
	}

	#slogan_hero
	{
		max-width: 100%;
		padding: 0;
	}

	.headline_hero
	{
		font-size: clamp(2.2rem, 12vw, 4rem);
	}

	.preline_hero
	{
		font-size: 13px;
		letter-spacing: 0.2em;
	}

	.cta_button_hero
	{
		padding: 14px 26px;
		font-size: 13px;
		letter-spacing: 0.15em;
	}
}

/* REDUCED MOTION */

@media (prefers-reduced-motion: reduce)
{
	#video video,
	.container_hero picture img.superhero,
	.preline_hero,
	.headline_hero,
	.cta_button_hero
	{
		animation: none;
		transform: none;
		opacity: 1;
	}
}

/*******************************************************************
	BLOCK: TEXT
*******************************************************************/

.block_text .wrap_text
{
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: 50px 60px;
	box-sizing: border-box;
}

@media screen and (max-width: 767px)
{
	.block_text .wrap_text
	{
		padding: 20px;
	}
}

/*******************************************************************
	TEASER IMAGE / TEXT BLOCK
*******************************************************************/

.block_textimage
{
	position: relative;
	display: grid;
	/* grid-template-columns: minmax(0, 1.1fr) minmax(420px, 0.9fr); */
	grid-template-columns: minmax(0, 1.2fr) minmax(420px, 0.8fr);
	align-items: center;
	gap: 0;
	padding: 80px 60px;
	box-sizing: border-box;
	max-width: var(--content-frame-width);
	margin: 0 auto;
}

.block_textimage + .block_textimage
{
	padding-top: 20px;
}

/* DEFAULT MEDIA AREA */

.wrap_image_left,
.wrap_image_right
{
	position: relative;
	z-index: 1;
	overflow: hidden;
	background: var(--color-panel-dark);

	aspect-ratio: 4 / 3;
	min-height: 420px;

	border-radius: 2px;

	box-shadow:
		0 18px 50px var(--color-black-16),
		0 3px 10px var(--color-black-08);
}

.wrap_image_left img,
.wrap_image_right img,
.wrap_image_left video,
.wrap_image_right video
{
	display: block;
	position: absolute;
	inset: 0;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}

/* SUBTLE MEDIA OVERLAY FOR DEPTH */

.wrap_image_left::after,
.wrap_image_right::after
{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		var(--color-black-18) 0%,
		var(--color-black-04) 40%,
		var(--color-transparent) 100%
	);
	pointer-events: none;
}

/* TEXT PANELS */

.wrap_text_left,
.wrap_text_right
{
	position: relative;
	z-index: 2;

	background: var(--color-white-92);
	backdrop-filter: blur(8px);

	padding: 48px 50px 44px 50px;
	box-sizing: border-box;

	box-shadow:
		0 24px 60px var(--color-black-14),
		0 4px 14px var(--color-black-08);

	/* max-width: 720px; */
	max-width: none;
	width: calc(100% + 80px);
}

/* PANEL POSITIONING: TEXT OVERLAPS IMAGE */

.wrap_text_left
{
	margin-right: -90px;
}

.wrap_text_right
{
	margin-left: -90px;
}

/* TYPOGRAPHY */

.wrap_text_left h1,
.wrap_text_right h1,
.wrap_text_left h2,
.wrap_text_right h2
{
	margin: 0 0 18px 0;
	font-family: var(--font-hero);
	font-size: clamp(1.9rem, 3vw, 3.2rem);
	line-height: 0.98;
	letter-spacing: 0.04em;
	color: var(--color-text);
	text-transform: none;
}

.wrap_text_left p,
.wrap_text_right p
{
	margin: 0 0 16px 0;
	font-size: 1.3rem;
	line-height: 1.6;
	color: var(--color-text);
}

.wrap_text_left p:last-child,
.wrap_text_right p:last-child
{
	margin-bottom: 0;
}

.wrap_text_left strong,
.wrap_text_right strong
{
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-weight: normal;
}

/* LINKS INSIDE PANEL */

.wrap_text_left a,
.wrap_text_left a:link,
.wrap_text_left a:visited,
.wrap_text_right a,
.wrap_text_right a:link,
.wrap_text_right a:visited
{
	position: relative;
	text-decoration: none;
	color: var(--color-text);
}

.wrap_text_left a::after,
.wrap_text_right a::after
{
	content: "";
	position: absolute;
	left: 50%;
	bottom: -3px;
	width: 0;
	height: 1px;
	background: var(--background-current);
	transform: translateX(-50%);
	transition: width 0.3s ease;
}

.wrap_text_left a:hover::after,
.wrap_text_left a:focus::after,
.wrap_text_right a:hover::after,
.wrap_text_right a:focus::after
{
	width: 100%;
}

/*******************************************************************
	LAYOUT VARIANTS
*******************************************************************/

/* IMAGE RIGHT | TEXT LEFT */
.block_textimage:has(.wrap_image_right):has(.wrap_text_left)
{
	/* grid-template-columns: minmax(420px, 0.95fr) minmax(0, 1.05fr); */
	grid-template-columns: minmax(420px, 0.8fr) minmax(0, 1.2fr);
}

.block_textimage:has(.wrap_image_right) .wrap_text_left
{
	order: 1;
	justify-self: end;
}

.block_textimage:has(.wrap_image_right) .wrap_image_right
{
	order: 2;
}

/* IMAGE LEFT | TEXT RIGHT */
.block_textimage:has(.wrap_image_left):has(.wrap_text_right)
{
	/* grid-template-columns: minmax(0, 1.05fr) minmax(420px, 0.95fr); */
	grid-template-columns: minmax(0, 1.2fr) minmax(420px, 0.8fr);
}

.block_textimage:has(.wrap_image_left) .wrap_image_left
{
	order: 1;
}

.block_textimage:has(.wrap_image_left) .wrap_text_right
{
	order: 2;
	justify-self: start;
}

/*******************************************************************
	MOBILE
*******************************************************************/

@media screen and (max-width: 767px)
{
	.block_textimage,
	.block_textimage:has(.wrap_image_right):has(.wrap_text_left),
	.block_textimage:has(.wrap_image_left):has(.wrap_text_right)
	{
		grid-template-columns: 1fr;
		padding: 40px 20px;
		gap: 0;
	}

	/* Bild immer oben */
	.wrap_image_left,
	.wrap_image_right
	{
		order: 1 !important;

		aspect-ratio: 4 / 3;
		min-height: 280px;
		border-radius: 0;
		box-shadow:
			0 14px 34px var(--color-black-12),
			0 3px 10px var(--color-black-06);
	}

	/* Text immer unten, zentriert */
	.wrap_text_left,
	.wrap_text_right,
	.block_textimage:has(.wrap_image_right) .wrap_text_left,
	.block_textimage:has(.wrap_image_left) .wrap_text_right
	{
		order: 2 !important;
		justify-self: stretch !important;

		max-width: none;
		margin: -40px 20px 0 20px;
		padding: 28px 24px 24px 24px;
	}

	.wrap_text_left h1,
	.wrap_text_right h1,
	.wrap_text_left h2,
	.wrap_text_right h2
	{
		font-size: clamp(1.6rem, 7vw, 2.4rem);
	}

	.wrap_text_left p,
	.wrap_text_right p
	{
		font-size: 1rem;
		line-height: 1.55;
	}
}

@media screen and (max-width: 767px)
{
	.block_textimage .wrap_text_left,
	.block_textimage .wrap_text_right
	{
		justify-self: stretch !important;
		margin-left: 20px !important;
		margin-right: 20px !important;
		max-width: none !important;
		width: auto !important;
	}
}

/*******************************************************************
	BLOCK: TIMELINE
*******************************************************************/

.item_timeline_left .timeline_content h1,
.item_timeline_left .timeline_content h2
{
	text-align: right;
}

@media screen and (max-width: 768px)
{
	.item_timeline_left .timeline_content h1,
	.item_timeline_left .timeline_content h2
	{
		text-align: left;
	}
}

/*******************************************************************
	BLOCK: MINIHERO
*******************************************************************/

.container_minihero
{
	width: 100%;
	height: clamp(200px, 32vw, 650px);
	position: relative;
	overflow: hidden;
}

.container_minihero::before
{
	content: "";
	position: absolute;
	inset: 0;
	background-image: inherit;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	transform: scale(1.08);
	animation: heroMediaZoom 2.4s ease forwards;
	will-change: transform;
}

@media screen and (max-width: 767px)
{
	.container_minihero
	{
		height: 300px;
		background-attachment: scroll;
	}
}

/*******************************************************************
	BLOCK: FEATURE
*******************************************************************/

.wrap_feature
{
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: 80px 60px;
	box-sizing: border-box;
}

.list_feature
{
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	align-items: stretch;
}

/* KARTE */

.item_feature
{
	display: flex;
	flex-direction: column;
	background: var(--color-light);
	box-shadow:
		0 18px 50px var(--color-black-10),
		0 3px 10px var(--color-black-06);
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	height: 100%;
}

.item_feature:hover
{
	transform: translateY(-4px);
	box-shadow:
		0 28px 60px var(--color-black-14),
		0 6px 16px var(--color-black-08);
}

/* BILD */

.feature_image
{
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center center;
	display: block;
}

/* CONTENT */

.feature_content
{
	padding: 28px 28px 16px 28px;
	flex: 1;
}

.feature_content h1
{
	font-family: var(--font-hero);
	font-size: clamp(1.6rem, 2.5vw, 2.4rem);
	line-height: 0.98;
	letter-spacing: 0.04em;
	margin: 0 0 14px 0;
	color: var(--color-dark);
	text-transform: none;
}

.feature_content h2
{
	font-family: var(--font-text);
	font-size: 1.3rem;
	letter-spacing: 0.15em;
	margin: 35px 0 0 0;
	color: var(--color-dark);
}

.feature_content p
{
	font-size: 1.3rem;
	line-height: 1.4;
	margin: 0 0 10px 0;
	color: var(--color-dark);
}

/* CTA */

.feature_cta
{
	padding: 16px 28px 28px 28px;
	text-align: center;
}

.wysiwyg_button,
.wysiwyg_button:link,
.wysiwyg_button:visited
{
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	margin: 8px 14px 8px 0;
	padding: 11px 28px;
	box-sizing: border-box;
	overflow: hidden;
	border: 1px solid var(--color-dark);
	background: var(--color-dark);
	color: var(--color-lighter);
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 13px;
	line-height: 1.2;
	letter-spacing: 0.22em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 0.3s ease, color 0.3s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.wysiwyg_button::before
{
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 120%;
	height: 100%;
	background: linear-gradient(115deg, transparent, var(--color-black-06), transparent);
	pointer-events: none;
	transition: left 0.6s ease;
}

.wysiwyg_button:hover,
.wysiwyg_button:active,
.wysiwyg_button:focus
{
	background: var(--background-transparent);
	color: var(--color-dark);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px var(--color-black-16);
}

.wysiwyg_button:hover::before,
.wysiwyg_button:active::before,
.wysiwyg_button:focus::before
{
	left: 130%;
}

.wysiwyg_button:focus-visible
{
	outline: 2px solid var(--color-dark);
	outline-offset: 3px;
}

.wysiwyg_button_feature,
.wysiwyg_button_feature:link,
.wysiwyg_button_feature:visited
{
	display: inline-flex;
	align-items: center;
	justify-content: center;

	padding: 12px 32px;

	border: 1px solid var(--color-dark);
	background: var(--background-transparent);

	color: var(--color-dark);
	text-decoration: none;

	font-family: var(--font-text);
	font-size: 13px;
	letter-spacing: 0.22em;
	text-transform: uppercase;

	transition:
		background 0.3s ease,
		color 0.3s ease,
		transform 0.25s ease;

	position: relative;
	overflow: hidden;
}

.wysiwyg_button_feature::before
{
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 120%;
	height: 100%;
	background: linear-gradient(
		115deg,
		transparent,
		var(--color-black-06),
		transparent
	);
	transition: left 0.6s ease;
}

.wysiwyg_button_feature:hover::before
{
	left: 130%;
}

.wysiwyg_button_feature:hover
{
	background: var(--color-dark);
	color: var(--color-lighter);
	transform: translateY(-2px);
}

.feature_content span[style*="text-decoration: underline"]
{
	text-decoration: none !important;
	background: var(--color-underline);
	padding: 5px 8px;
	border-radius: 20px;
	margin: 0px 3px 0px 3px;
	font-family: var(--font-text-bold);
	line-height: 2.2em;
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.wrap_feature
	{
		padding: 40px 20px;
	}

	.list_feature
	{
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/*******************************************************************
	BLOCK: IMAGE-FEATURE
*******************************************************************/

.block_image-feature
{
	padding: 0;
	margin: 0;
}

.wrap_image-feature
{
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: 80px 60px;
	box-sizing: border-box;
}

.list_image-feature
{
	list-style: none;
	padding: 0;
	margin: 0;

	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	align-items: stretch;
}

.item_image-feature
{
	overflow: hidden;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: stretch;

	box-shadow:
		0 18px 50px var(--color-black-10),
		0 3px 10px var(--color-black-06);
}

.item_image-feature a
{
	display: flex;
	width: 100%;
	overflow: hidden;
	line-height: 0;
	padding: 0;
	margin: 0;
}

.image_image-feature
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border: none;
	padding: 0;
	margin: 0;

	transform: scale(1);
	transition: transform 0.6s ease;
	will-change: transform;
}

.item_image-feature a:hover .image_image-feature
{
	transform: scale(1.06);
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.wrap_image-feature
	{
		padding: 40px 20px;
	}

	.list_image-feature
	{
		grid-template-columns: 1fr;
		gap: 20px;
	}
}

/*******************************************************************
	BLOCK: GALLERY
*******************************************************************/

.block_gallery
{
	padding: 80px 60px;
	box-sizing: border-box;
}

.wrap_gallery
{
	padding: 0;
	max-width: var(--content-width);
	margin: 0 auto;
}

.list_gallery
{
	list-style: none;
	padding: 0;
	margin: 0;

	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 12px;
}

.item_gallery
{
	overflow: hidden;
	position: relative;
	aspect-ratio: 1 / 1;
	display: block;
	font-size: 0;
	line-height: 0;
	margin: 0;
}

.item_gallery a
{
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
	line-height: 0;
}

.gallery_thumbnail
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border: none;
	padding: 0;
	margin: 0;

	transform: scale(1);
	transition: transform 0.6s ease, opacity 0.3s ease;
	will-change: transform;
}

.item_gallery a:hover .gallery_thumbnail
{
	transform: scale(1.06);
	opacity: 0.88;
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.block_gallery
	{
		padding: 40px 20px;
	}

	.list_gallery
	{
		grid-template-columns: repeat(2, 1fr);
	}
}

/*******************************************************************
	BLOCK: QUOTE
*******************************************************************/

.block_quote
{
	padding: 80px 60px;
	box-sizing: border-box;
	background: var(--color-lighter);
}

.wrap_quote
{
	position: relative;
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: 0 60px;
	box-sizing: border-box;
}

/* RIESIGE ANFÜHRUNGSZEICHEN */

.wrap_quote::before,
.wrap_quote::after
{
	content: "\201C";
	font-family: var(--font-hero);
	font-size: clamp(8rem, 15vw, 14rem);
	line-height: 1;
	color: var(--color-dark);
	opacity: 0.08;
	position: absolute;
	pointer-events: none;
}

.wrap_quote::before
{
	top: -30px;
	left: -10px;
}

.wrap_quote::after
{
	content: "\201D";
	bottom: -110px;
	right: -10px;
}

/* ÜBERSCHRIFT = ZITAT-AUTOR OBEN */

.wrap_quote h1
{
	font-family: var(--font-text);
	font-size: 0.85rem;
	letter-spacing: 0.35em;
	text-transform: uppercase;
	color: var(--color-dark);
	opacity: 0.5;
	margin: 0 0 24px 0;
}

/* ZITAT TEXT */

.wrap_quote p
{
	font-family: var(--font-hero);
	font-size: clamp(1.4rem, 2.5vw, 2rem);
	line-height: 1.35;
	color: var(--color-dark);
	margin: 0 0 16px 0;
	letter-spacing: 0.03em;
}

/* AUTOR ZEILE (text-align: right) */

.wrap_quote p[style*="text-align: right"]
{
	font-family: var(--font-text);
	font-size: 0.95rem;
	letter-spacing: 0.25em;
	text-transform: uppercase;
	opacity: 0.55;
	margin-top: 32px;
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.block_quote
	{
		padding: 60px 20px;
	}

	.wrap_quote
	{
		padding: 0 20px;
	}

	.wrap_quote p
	{
		font-size: clamp(1.2rem, 5vw, 1.6rem);
	}
}

/*******************************************************************
	BLOCK: CONTACT
*******************************************************************/

.block_contact
{
	padding: 0 60px 80px 60px;
	box-sizing: border-box;
}

.wrap_contact
{
	max-width: 820px;
	margin: 0 auto;
}

/* FELDER */

.container_support
{
	display: flex;
	flex-direction: column;
	gap: 0;
}

#wrap_support_userdata
{
	display: flex;
	flex-direction: column;
}

.field
{
	position: relative;
	border-bottom: 1px solid var(--color-black-15);
}

.field:first-child
{
	border-top: 1px solid var(--color-black-15);
}

.wrap_support_message
{
	border-bottom: 1px solid var(--color-black-15);
}

/* INPUTS */

.field input,
.wrap_support_message textarea
{
	display: block;
	width: 100%;
	padding: 18px 0;
	box-sizing: border-box;

	background: var(--background-transparent);
	border: none;
	outline: none;
	box-shadow: none;
	-webkit-appearance: none;

	font-family: var(--font-text), Arial, sans-serif;
	font-size: 1rem;
	letter-spacing: 0.08em;
	color: var(--color-dark);

	transition: padding 0.2s ease;
}

.field input::placeholder,
.wrap_support_message textarea::placeholder
{
	color: var(--color-black-35);
	letter-spacing: 0.15em;
	text-transform: uppercase;
	font-size: 0.85rem;
}

.field input:focus,
.wrap_support_message textarea:focus
{
	outline: none;
}

/* FOCUS LINIE */

.field::after
{
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--color-dark);
	transition: width 0.35s ease;
}

.field:focus-within::after
{
	width: 100%;
}

/* TEXTAREA */

.wrap_support_message
{
	position: relative;
}

.wrap_support_message::after
{
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	width: 0;
	height: 1px;
	background: var(--color-dark);
	transition: width 0.35s ease;
}

.wrap_support_message:focus-within::after
{
	width: 100%;
}

.wrap_support_message textarea
{
	resize: none;
	min-height: 160px;
	line-height: 1.6;
}

/* SUBMIT BUTTON */

.container_checkoutbuttons
{
	margin-top: 40px;
	text-align: left;
}

.checkout_button_forward
{
	display: inline-flex;
	align-items: center;
	justify-content: center;

	position: relative;
	overflow: hidden;

	padding: 16px 52px;

	border: 1px solid var(--color-dark);
	background: var(--background-transparent);

	color: var(--color-dark);
	cursor: pointer;

	font-family: var(--font-text), Arial, sans-serif;
	font-size: 13px;
	letter-spacing: 0.3em;
	text-transform: uppercase;

	transition:
		background 0.3s ease,
		color 0.3s ease,
		transform 0.25s ease;
}

/* LIGHT SWEEP */

.checkout_button_forward::before
{
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 120%;
	height: 100%;
	background: linear-gradient(
		115deg,
		transparent,
		var(--color-black-06),
		transparent
	);
	transition: left 0.6s ease;
}

.checkout_button_forward:hover::before
{
	left: 130%;
}

.checkout_button_forward:hover
{
	background: var(--color-dark);
	color: var(--color-lighter);
	transform: translateY(-2px);
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.block_contact
	{
		padding: 0 20px 60px 20px;
	}
}

/*******************************************************************
	BLOCK: MAP
*******************************************************************/

.block_map
{
	padding: 0 0px 0px 0px;
	box-sizing: border-box;
}

.wrap_map
{
	position: relative;
	overflow: hidden;
	max-width: var(--content-width);
	margin: 0 auto;
	box-shadow:
		0 18px 50px var(--color-black-12),
		0 3px 10px var(--color-black-06);
}

#mapid
{
	width: 100%;
	height: 450px;
}

/* LEAFLET POPUP STYLING */

.leaflet-popup-content-wrapper
{
	background: var(--color-light);
	border-radius: 0;
	box-shadow: 0 8px 24px var(--color-black-15);
}

.leaflet-popup-content
{
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 0.85rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--color-dark);
	margin: 12px 18px;
}

.leaflet-popup-tip
{
	background: var(--color-light);
}

.leaflet-popup-close-button
{
	color: var(--color-dark) !important;
}

/* ZOOM CONTROLS */

.leaflet-bar a
{
	font-family: var(--font-text), Arial, sans-serif;
	color: var(--color-dark) !important;
	background: var(--color-light) !important;
	border-bottom-color: var(--color-black-15) !important;
}

.leaflet-bar a:hover
{
	background: var(--color-lighter) !important;
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.block_map
	{
		padding: 0 0 60px 0;
	}

	#mapid
	{
		height: 320px;
	}
}

/*******************************************************************
	BLOCK: TESTIMONIAL
*******************************************************************/

.block_testimonial
{
	padding: 80px 60px;
	box-sizing: border-box;
	background: var(--color-lighter);
}

.wrap_testimonial
{
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	padding: 0 80px;
}

.list_testimonial
{
	list-style: none;
	padding: 0;
	margin: 0;
	position: relative;
}

/* EINZELNES TESTIMONIAL */

.item_testimonial
{
	display: none;
	flex-direction: column;
	align-items: center;
	text-align: center;
	animation: testimonialFadeIn 0.5s ease forwards;
	list-style: none !important;
	margin: 0 !important;
}

.item_testimonial.active
{
	display: flex;
}

@keyframes testimonialFadeIn
{
	from { opacity: 0; transform: translateY(10px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* BILD */

.testimonial_image
{
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	object-position: center center;
	border: 3px solid var(--color-lighter);
	box-shadow: 0 4px 16px var(--color-black-15);
	margin-bottom: 32px;
	display: block;
}

/* TEXT */

.testimonial_content
{
	font-family: var(--font-text), Arial, sans-serif;
	font-size: 1.15rem;
	line-height: 1.7;
	color: var(--color-dark);
	margin: 0 0 8px 0;
	width: 100%;
}

/* AUTOR: rechtsbündig */

.testimonial_content:last-child
{
	text-align: right;
	font-size: 0.9rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	opacity: 0.6;
	margin-top: 20px;
}

.testimonial_content b
{
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-weight: normal;
}

/* NAVIGATION */

.testimonial_navigation
{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
	margin-top: 40px;
}

/* PFEILE: absolut links und rechts, vertikal zentriert am Testimonial */

#testimonial_previous
{
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: all;
	background: var(--background-none);
	border: 1px solid var(--color-dark);
	color: var(--color-dark);
	cursor: pointer;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transition: background 0.25s ease, color 0.25s ease;
	flex-shrink: 0;
}

#testimonial_next
{
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: all;
	background: var(--background-none);
	border: 1px solid var(--color-dark);
	color: var(--color-dark);
	cursor: pointer;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18px;
	transition: background 0.25s ease, color 0.25s ease;
	flex-shrink: 0;
}

#testimonial_previous:hover,
#testimonial_next:hover
{
	background: var(--color-dark);
	color: var(--color-lighter);
}

/* DOTS */

.testimonial_dots
{
	display: flex;
	gap: 8px;
	align-items: center;
}

.testimonial_dot
{
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--color-dark);
	opacity: 0.2;
	transition: opacity 0.25s ease;
	cursor: pointer;
}

.testimonial_dot.active
{
	opacity: 1;
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.block_testimonial
	{
		padding: 60px 20px;
	}

	.wrap_testimonial
	{
		padding: 0;
	}

	#testimonial_previous,
	#testimonial_next
	{
		position: static;
		transform: none;
	}

	.testimonial_navigation
	{
		display: flex;
		justify-content: center;
		gap: 24px;
		margin-top: 40px;
	}

	.testimonial_content
	{
		font-size: 1rem;
	}
}

/*******************************************************************
	BLOCK: FLOATING BUTTON
*******************************************************************/

.block_floating-button
{
	position: fixed;
	bottom: 40px;
	right: 60px;
	z-index: 999;
}

.wrap_floating-button
{
	padding: 0;
	margin: 0;
}

.list_floating-button
{
	list-style: none;
	padding: 0;
	margin: 0;
}

.item_floating-button,
.item_floating-button a,
.item_floating-button a:link,
.item_floating-button a:visited
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 16px 36px;

	background: var(--color-dark);
	color: var(--color-lighter);
	text-decoration: none;
	list-style: none;
	margin: 0;

	font-family: var(--font-text), Arial, sans-serif;
	font-size: 13px;
	letter-spacing: 0.25em;
	text-transform: uppercase;

	box-shadow:
		0 8px 24px var(--color-black-25),
		0 2px 8px var(--color-black-15);

	position: relative;
	overflow: hidden;

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease,
		background 0.25s ease;
}

/* LIGHT SWEEP */

.item_floating-button::before,
.item_floating-button a::before
{
	content: "";
	position: absolute;
	top: 0;
	left: -130%;
	width: 120%;
	height: 100%;
	background: linear-gradient(
		115deg,
		transparent,
		var(--color-white-12),
		transparent
	);
	transition: left 0.6s ease;
}

.item_floating-button:hover::before,
.item_floating-button a:hover::before
{
	left: 130%;
}

.item_floating-button:hover,
.item_floating-button a:hover
{
	transform: translateY(-3px);
	box-shadow:
		0 14px 32px var(--color-black-28),
		0 4px 12px var(--color-black-18);
}

/* MOBILE: volle Breite unten */

@media screen and (max-width: 767px)
{
	.block_floating-button
	{
		bottom: 0;
		right: 0;
		left: 0;
		width: 100%;
	}

	.wrap_floating-button,
	.list_floating-button
	{
		width: 100%;
	}

	.item_floating-button,
	.item_floating-button a,
	.item_floating-button a:link,
	.item_floating-button a:visited
	{
		width: 100%;
		padding: 20px;
		font-size: 14px;
		box-shadow: 0 -4px 16px var(--color-black-15);
	}

	.item_floating-button:hover,
	.item_floating-button a:hover
	{
		transform: none;
	}
}

/*******************************************************************
	BLOCK: YOUTUBE
*******************************************************************/

.block_youtube
{
	padding: 80px 60px;
	box-sizing: border-box;
}

.wrap_youtube
{
	max-width: 960px;
	margin: 0 auto;
	box-shadow:
		0 24px 60px var(--color-black-16),
		0 4px 14px var(--color-black-08);
}

.container_video
{
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--color-black);
}

.container_video iframe
{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
	display: block;
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	.block_youtube
	{
		padding: 40px 0;
	}

	.wrap_youtube
	{
		box-shadow: none;
	}
}

/*******************************************************************
	BLOCK: POPUP
*******************************************************************/

#popup_background
{
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 9999;
	background: var(--color-black-75);
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.4s ease;
	backdrop-filter: blur(4px);
}

#popup_background.active
{
	opacity: 1;
	pointer-events: all;
}

#popup_container
{
	position: relative;
	max-width: 600px;
	width: 90%;
	box-shadow:
		0 30px 80px var(--color-black-40),
		0 8px 24px var(--color-black-20);
	animation: popupFadeIn 0.5s ease forwards;
}

@keyframes popupFadeIn
{
	from { opacity: 0; transform: translateY(20px) scale(0.97); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}

.popup_image
{
	display: block;
	width: 100%;
	height: auto;
	line-height: 0;
}

.popup_link
{
	position: absolute;
	inset: 0;
	z-index: 1;
}

.popup_close
{
	position: absolute;
	top: -16px;
	right: -16px;
	z-index: 2;
	width: 36px;
	height: 36px;
	background: var(--color-dark);
	color: var(--color-lighter);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	font-size: 14px;
	box-shadow: 0 4px 12px var(--color-black-25);
	transition: background 0.25s ease, transform 0.25s ease;
}

.popup_close:hover
{
	background: var(--color-black);
	transform: scale(1.1);
}

/* MOBILE */

@media screen and (max-width: 767px)
{
	#popup_background
	{
		left: 0;
	}

	#popup_container
	{
		width: 85%;
	}

	.popup_close
	{
		top: -14px;
		right: -14px;
		width: 32px;
		height: 32px;
		font-size: 12px;
	}
}

/*******************************************************************
	BLOCK: PRODUCT
*******************************************************************/

.block_shop_item_filter
{
	--shop-filter-border-color: var(--color-black-14);
	--shop-filter-background: var(--color-white);
	--shop-filter-active-background: var(--color-dark);
	--shop-filter-active-text-color: var(--color-white);
	--shop-filter-text-color: var(--color-dark);
	padding: 60px 40px 0 40px;
	box-sizing: border-box;
}

.wrap_shop_item_filter
{
	max-width: var(--content-width);
	margin: 0 auto;
	padding: 30px 34px;
	border: 1px solid var(--color-black-08);
	border-radius: 8px;
	background: #f4f4f4;
	box-shadow:
		0 16px 38px var(--color-black-08),
		0 3px 10px var(--color-black-06);
}

.shop_item_filter_title
{
	font-family: var(--font-hero);
	font-size: 1.6rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
	color: var(--color-dark);
}

.shop_item_filter_content
{
	max-width: 760px;
	color: var(--color-muted-dark);
}

.shop_item_filter_content p:last-child
{
	margin-bottom: 0;
}

.shop_item_filter_form
{
	gap: 22px;
}

.shop_item_filter_group_title
{
	margin-bottom: 10px;
	font-family: var(--font-text-bold);
	font-size: 0.82rem;
	line-height: 1.2;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.shop_item_filter_options
{
	gap: 7px;
}

.shop_item_filter_option_visual
{
	min-height: 38px;
	padding: 7px 14px;
	border-radius: 999px;
	font-family: var(--font-text-bold);
	font-size: 0.9rem;
	line-height: 1.15;
	box-shadow: 0 1px 2px var(--color-black-04);
	transition: transform 0.2s ease, border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.shop_item_filter_option:hover .shop_item_filter_option_visual
{
	border-color: var(--color-black-28);
	background: var(--color-white);
	transform: translateY(-1px);
	box-shadow: 0 4px 10px var(--color-black-08);
}

.shop_item_filter_option input:checked + .shop_item_filter_option_visual
{
	border-color: var(--color-dark);
	background: var(--color-dark);
	color: var(--color-white);
	box-shadow: 0 4px 12px var(--color-black-16);
}

.shop_item_filter_option.has_image .shop_item_filter_option_visual
{
	flex: 0 0 33px;
	width: 33px;
	height: 33px;
	min-width: 0;
	min-height: 0;
	padding: 2px;
	border-width: 2px;
	border-radius: 4px;
}

.shop_item_filter_footer
{
	padding-top: 16px;
	border-top: 1px solid var(--color-black-10);
	font-size: 0.88rem;
}

.shop_item_filter_reset
{
	font-family: var(--font-text-bold);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	transition: opacity 0.2s ease;
}

.shop_item_filter_reset:not(:disabled):hover
{
	opacity: 0.6;
}

.shop_item_filter_result
{
	color: var(--color-muted-dark);
}

.shop_item_filter_empty
{
	padding: 12px 14px;
	border-radius: 4px;
	background: var(--color-white);
	color: var(--color-muted-dark);
}

.wrap_shop_buy_box,
.block_tab_content .wrap_tab_content
{
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding-left: 40px;
	padding-right: 40px;
	box-sizing: border-box;
}

.wrap_shop_buy_box
{
	gap: 70px;
}

.shop_buy_box_left,
.shop_buy_box_right
{
	width: calc((100% - 70px) / 2);
}

.shop_tier_prices
{
	margin: 12px 0 18px 0;
	max-width: 360px;
	color: var(--color-dark);
	font-size: 0.92em;
}

.shop_tier_prices_headline
{
	margin: 0 0 6px 0;
	font-weight: 600;
}

.shop_tier_prices_list
{
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	border-top: 1px solid var(--color-black-20);
}

.shop_tier_prices_item
{
	display: flex;
	justify-content: space-between;
	gap: 14px;
	margin: 0 !important;
	padding: 7px 0 !important;
	border-bottom: 1px solid var(--color-black-20);
}

.template_iss .list_tab_content
{
	gap: clamp(24px, 3vw, 46px);
	margin: 0;
	border-bottom: 1px solid var(--iss-line);
}

.template_iss .tab_content_trigger
{
	position: relative;
	padding: 14px 0 12px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--iss-muted);
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: 1.08rem;
	transition: color 0.2s ease;
}

.template_iss .tab_content_trigger::after
{
	content: '';
	position: absolute;
	right: 0;
	bottom: -1px;
	left: 0;
	height: 3px;
	background: var(--iss-accent);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.2s ease;
}

.template_iss .tab_content_trigger:hover,
.template_iss .tab_content_trigger:focus-visible,
.template_iss .tab_content_trigger.is_active
{
	color: var(--iss-accent-dark);
}

.template_iss .tab_content_trigger:focus-visible
{
	outline: 2px solid var(--iss-accent);
	outline-offset: 4px;
}

.template_iss .tab_content_trigger.is_active::after
{
	transform: scaleX(1);
}

.template_iss .tab_content_body,
.template_iss .tab_content_body p,
.template_iss .tab_content_body li,
.template_iss .tab_content_body td,
.template_iss .tab_content_body th
{
	font-size: 17px;
	line-height: 1.5;
}

.template_iss .tab_content_panels
{
	padding: 30px 0 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.block_product
{
	padding: 80px 40px;
	box-sizing: border-box;
}

.wrap_product
{
	padding: 0;
	margin: 0 auto;
	max-width: var(--content-width);
}

.list_product
{
	list-style: none;
	padding: 0;
	margin: 0;

	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

.item_product
{
	list-style: none;
	margin: 0;
	padding: 12px 12px 16px 12px;
	display: flex;
	flex-direction: column;
	cursor: pointer;
	position: relative;
	background: var(--color-white);
	border: 1px solid var(--color-black-10);
	border-radius: 6px;
	box-shadow:
		0 14px 34px var(--color-black-08),
		0 3px 10px var(--color-black-06);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.item_product:hover
{
	transform: translateY(-3px);
	border-color: var(--color-black-18);
	box-shadow:
		0 22px 46px var(--color-black-12),
		0 5px 16px var(--color-black-08);
}

.product_badges
{
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 4;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.product_badge
{
	display: inline-flex;
	align-items: center;
	padding: 5px 8px;
	border-radius: 999px;
	font-size: 11px;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	background: var(--color-badge-bg);
	color: var(--color-white);
	white-space: nowrap;
}

.product_badge_countdown
{
	background: var(--color-badge-countdown);
	color: var(--color-white);
	font-weight: 700;
}

.product_badge_countdown.is_ready
{
	background: var(--color-badge-ready);
}

/* BILD */

.product_image_wrap
{
	display: block;
	overflow: hidden;
	aspect-ratio: 1 / 1;
	background: var(--color-light);
	position: relative;
	cursor: pointer;
	margin-bottom: 4px;
	border-radius: 4px;
}

.product_image
{
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	border: none;
	margin: 0;
	padding: 0;

	opacity: 0;
	transition: opacity 0.4s ease, transform 0.6s ease;
	transform: scale(1);
	will-change: transform, opacity;
}

.product_image.product_image_active
{
	opacity: 1;
}

.item_product:hover .product_image.product_image_active
{
	transform: scale(1.06);
}

/* OVERLAY LINKS */

.product_overlay_link,
.product_fancybox_link
{
	position: absolute;
	inset: 0;
	z-index: 2;
	display: none;
}

.product_overlay_link
{
	display: block;
}

.product_fancybox_link.product_fancybox_active
{
	display: block;
}

/* INHALT */

.item_product .product_headline
{
	font-family: var(--font-hero);
	font-size: 1.4rem;
	letter-spacing: 0.2em;
	text-transform: none;
	color: var(--color-dark);
	margin: 16px 0 4px 0;
	line-height: 1.3;
	text-align: center;
}

.item_product .product_content
{
	font-size: 0.85rem;
	color: var(--color-dark);
	opacity: 0.55;
	margin: 4px 0 0 0;
	line-height: 1.4;
}

.item_product .product_content p
{
	text-align: left !important;
}

.item_product p
{
	font-size: 0.85rem;
	color: var(--color-dark);
	opacity: 0.55;
	margin: 0 0 6px 0;
	line-height: 1.4;
	text-align: left !important;
}

/* PREIS */

.item_product h2
{
	font-family: var(--font-text);
	font-size: 1rem;
	letter-spacing: 0.1em;
	color: var(--color-dark);
	margin: 6px 0 0 0;
	text-transform: none;
	text-align: right !important;
}

/* HOVER EFFEKT AUF TITEL */

.item_product:hover .product_headline
{
	opacity: 0.6;
	transition: opacity 0.25s ease;
}

.product_dots
{
	display: flex;
	justify-content: center;
	gap: 6px;
	margin-top: 8px;
	pointer-events: none;
	min-height: 13px; /* Höhe eines Dots + margin */
}

.product_dot
{
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--color-black-20);
	transition: background 0.3s ease;
}

.product_dot.active
{
	background: var(--color-dark);
}

.product_item_link,
.product_item_link:link,
.product_item_link:visited
{
	text-decoration: none !important;
	color: inherit !important;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.product_item_link:hover .product_headline
{
	opacity: 0.6;
}

.product_item_link:visited
{
	color: inherit;
}

/* TABLET QUER / KLEINER DESKTOP */
@media screen and (min-width: 768px) and (max-width: 1199px)
{
	.list_product
	{
		grid-template-columns: repeat(3, 1fr);
		gap: 20px;
	}
}

/* IPAD HOCH */
@media screen and (min-width: 768px) and (max-width: 1023px)
{
	.block_shop_item_filter
	{
		padding: 50px 20px 0 20px;
	}

	.wrap_shop_buy_box,
	.block_tab_content .wrap_tab_content
	{
		padding-left: 20px;
		padding-right: 20px;
	}

	.block_product
	{
		padding: 60px 20px;
	}

	.list_product
	{
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}
}

/* MOBILE */
@media screen and (max-width: 767px)
{
	.block_shop_item_filter
	{
		padding: 36px 14px 0 14px;
	}

	.wrap_shop_item_filter
	{
		padding: 22px 18px;
	}

	.shop_item_filter_title
	{
		font-size: 1.35rem;
	}

	.wrap_shop_buy_box,
	.block_tab_content .wrap_tab_content
	{
		padding-left: 14px;
		padding-right: 14px;
	}

	.wrap_shop_buy_box
	{
		flex-direction: column;
		gap: 0;
	}

	.shop_buy_box_right,
	.shop_buy_box_right_content
	{
		display: contents;
	}

	.shop_buy_box_right_content > *
	{
		order: 3;
		width: 100%;
		box-sizing: border-box;
	}

	.shop_buy_box_right_content > h1:first-child,
	.shop_buy_box_right_content > h2:first-child,
	.shop_buy_box_right_content > h3:first-child
	{
		order: 1;
		margin-bottom: 20px;
	}

	.shop_buy_box_left
	{
		order: 2;
		width: 100%;
		margin-bottom: 20px;
	}

	.block_product
	{
		padding: 40px 14px;
	}

	.list_product
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 1fr;
		align-items: stretch;
		gap: 12px;
	}

	.item_product
	{
		min-width: 0;
		height: 100%;
		box-sizing: border-box;
	}

	.item_product .product_headline,
	.item_product .product_content,
	.item_product .product_price
	{
		min-width: 0;
		overflow-wrap: anywhere;
	}

	.item_product .product_price
	{
		margin-top: auto;
	}
}

@media screen and (min-width: 768px) and (max-width: 1199px)
{
	/* LAYOUT */
	.layout
	{
		display: block;
	}

	.sidebar
	{
		grid-template-columns: 82px 1fr 82px;
		padding: 20px 30px 16px 30px;
	}

	:root
	{
		--header-height: 118px;
	}

	.logo
	{
		background-size: 82px;
		width: 82px;
		height: 82px;
		margin-bottom: 0;
	}

	.link_logo:link
	{
		width: 82px;
		height: 82px;
	}

	#list_menu a
	{
		font-size: 13px;
		letter-spacing: 0.15em;
	}

	.header_search
	{
		width: min(460px, 100%);
	}

	.header_search input[type="search"]
	{
		height: 35px;
		font-size: 0.9rem;
	}

	#list_menu li
	{
		margin-bottom: 0;
	}

	/* PADDING ALLE BLÖCKE */
	.block_product,
	.block_shop_item_filter,
	.wrap_feature,
	.wrap_image-feature,
	.block_gallery,
	.block_quote,
	.block_youtube,
	.block_textimage,
	.block_text .wrap_text,
	.block_contact
	{
		padding-left: 30px;
		padding-right: 30px;
	}

	/* GRIDS */
	.list_product
	{
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.list_feature
	{
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.list_image-feature
	{
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}

	.list_gallery
	{
		grid-template-columns: repeat(3, 1fr);
		gap: 8px;
	}

	/* TEXTIMAGE */
	.block_textimage
	{
		padding-top: 50px;
		padding-bottom: 50px;
	}

	.wrap_image_left,
	.wrap_image_right
	{
		min-height: 280px;
	}
}
/*******************************************************************
	4. CHATBOX
*******************************************************************/

#icon_chat
{}

#container_chat
{}

	#content_chat
	{}

	#form_chat
	{}

		#chat_message
		{}

		#form_chat > button
		{}

/*******************************************************************
	5. ISS THEME
*******************************************************************/

:root
{
	--iss-canvas: #f4f3ee;
	--iss-surface: #fbfaf5;
	--iss-surface-raised: #e9e8df;
	--iss-ink: #242520;
	--iss-muted: #666960;
	--iss-accent: #878244;
	--iss-accent-dark: #5e5b2f;
	--iss-accent-soft: #e1e2cf;
	--iss-accent-ink: #111210;
	--iss-hero-ink: #f2f1eb;
	--iss-hero-accent: #b1b16f;
	--iss-line: rgba(36, 37, 32, 0.14);
	--iss-line-strong: rgba(36, 37, 32, 0.28);

	--color-dark: var(--iss-ink);
	--color-light: var(--iss-surface);
	--color-lighter: var(--iss-surface-raised);
	--color-text: var(--iss-ink);
	--color-white: #fbfaf5;
	--color-black: #242520;
	--color-menu-dark: var(--iss-ink);
	--color-panel-dark: var(--iss-surface);
	--color-muted: var(--iss-muted);
	--color-muted-dark: #55584f;
	--color-underline: var(--iss-accent);
	--content-width: 1480px;
	--content-frame-width: 1600px;
	--iss-utility-height: 42px;
	--header-height: 82px;
	--font-text: 'Montserrat-Regular';
	--font-text-bold: 'Montserrat-Bold';
	--font-hero: 'RobotoCondensed-Bold';
}

html,
body.template_iss,
.layout,
.content > section
{
	background: var(--iss-canvas);
	color: var(--iss-ink);
}

body.template_iss
{
	font-family: var(--font-text), Arial, sans-serif;
	overflow-x: clip;
}

.template_iss h1,
.template_iss h2,
.template_iss h3,
.template_iss h4
{
	color: var(--iss-ink);
	font-family: var(--font-hero), Arial, sans-serif;
	font-weight: bold;
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

.template_iss p,
.template_iss li,
.template_iss label,
.template_iss input,
.template_iss textarea,
.template_iss select,
.template_iss button
{
	font-family: var(--font-text), Arial, sans-serif;
}

.template_iss a:focus-visible,
.template_iss button:focus-visible,
.template_iss input:focus-visible,
.template_iss textarea:focus-visible,
.template_iss select:focus-visible
{
	outline: 2px solid var(--iss-accent);
	outline-offset: 3px;
}

/*******************************************************************
	ISS PROMOTION AND HEADER
*******************************************************************/

.iss_promotion
{
	min-height: var(--iss-utility-height);
	box-sizing: border-box;
	background: var(--iss-accent);
}

.sidebar
{
	position: relative;
	z-index: 490;
	display: grid;
	grid-template-columns: minmax(190px, auto) minmax(0, 1fr);
	column-gap: clamp(32px, 4vw, 72px);
	grid-template-rows: var(--header-height);
	align-items: center;
	min-height: var(--header-height);
	padding: 0 max(28px, calc((100vw - var(--content-frame-width)) / 2 + 40px));
	box-sizing: border-box;
	border-bottom: 1px solid var(--iss-line);
	background: var(--iss-surface);
	box-shadow: none;
}

.sidebar .logo
{
	position: static;
	top: auto;
	left: auto;
	grid-column: 1;
	grid-row: 1;
	align-self: center;
	width: auto;
	height: auto;
	margin: 0;
	background: none;
	transform: none;
}

.sidebar .link_logo:link,
.sidebar .link_logo:visited
{
	display: inline-flex;
	align-items: center;
	gap: 11px;
	width: auto;
	height: auto;
	color: var(--iss-ink);
	text-decoration: none;
}

.iss_logo_picture
{
	display: block;
}

.iss_logo
{
	display: block;
	width: 210px;
	height: auto;
}

.sidebar .menu
{
	grid-column: 2;
	grid-row: 1;
	display: flex;
	justify-content: flex-end;
	min-width: 0;
	transform: none;
}

.sidebar #list_menu
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: nowrap;
	gap: clamp(14px, 1.6vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

.sidebar #list_menu > li
{
	margin: 0;
	padding: 0;
	list-style: none;
}

html.mm-wrapper_opened .template_iss .logo
{
	transform: none;
}

.sidebar #list_menu > li > a,
.sidebar #list_menu > li > a:link,
.sidebar #list_menu > li > a:visited
{
	color: var(--iss-ink);
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: clamp(0.66rem, 0.72vw, 0.74rem);
	letter-spacing: 0.055em;
	text-decoration: none;
	text-transform: uppercase;
}

.sidebar #list_menu > li > a:hover,
.sidebar #list_menu > li > a:focus,
.sidebar #list_menu > li.active > a
{
	color: var(--iss-accent-dark);
}

.sidebar #list_menu ul a,
.sidebar #list_menu ul a:link,
.sidebar #list_menu ul a:visited
{
	font-size: 0.68rem;
	line-height: 1.4;
	letter-spacing: 0.075em;
}

.sidebar #list_menu ul ul a,
.sidebar #list_menu ul ul a:link,
.sidebar #list_menu ul ul a:visited
{
	font-size: 0.62rem;
	letter-spacing: 0.06em;
}

.sidebar .header_search
{
	display: none;
}

#hamburger
{
	background: transparent;
}

#hamburger .tabler_icon
{
	filter: none;
}

#topbar
{
	position: absolute;
	top: 0;
	left: auto;
	right: max(28px, calc((100vw - var(--content-frame-width)) / 2 + 40px));
	z-index: 500;
	width: auto;
	height: var(--iss-utility-height);
	padding: 0;
}

#topbar_left,
.topbar_breadcrumb
{
	display: none;
}

#topbar_right
{
	gap: 0;
	height: 100%;
	background: var(--iss-accent-dark);
	box-shadow: inset 0 1px 0 rgba(251, 250, 245, 0.12);
}

#topbar_right .topbar_item + .topbar_item
{
	border-right: 1px solid rgba(251, 250, 245, 0.16);
}

.template_iss #cart_badge
{
	top: 3px;
	right: 3px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border: 1px solid var(--iss-accent-dark);
	background: var(--iss-surface);
	color: var(--iss-accent-dark);
	font-size: 0.62rem;
	line-height: 16px;
}

.topbar_icon_btn,
.cart_toggle
{
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--iss-surface);
	transition: background-color 0.18s ease, color 0.18s ease;
}

.topbar_icon_btn:hover,
.cart_toggle:hover
{
	background: rgba(251, 250, 245, 0.13);
	box-shadow: none;
	transform: none;
}

#topbar .topbar_icon_btn:focus-visible,
#topbar .cart_toggle:focus-visible
{
	outline: 2px solid var(--iss-surface);
	outline-offset: -4px;
	box-shadow: none;
}

.topbar_icon_btn .tabler_icon,
.cart_toggle .tabler_icon
{
	width: 17px;
	height: 17px;
	filter: brightness(0) invert(1);
	opacity: 0.9;
}

#language_toggle img
{
	border: 1px solid rgba(251, 250, 245, 0.42);
	border-radius: 0;
	box-shadow: none;
}

.topbar_dropdown,
#search_autocomplete,
.search_autocomplete
{
	border: 1px solid var(--iss-line-strong);
	border-radius: 0;
	background: var(--iss-surface-raised);
	box-shadow: 0 18px 46px rgba(8, 9, 8, 0.32);
	color: var(--iss-ink);
}

.topbar_dropdown a,
.search_autocomplete_list li a
{
	color: var(--iss-ink);
}

.topbar_dropdown a:hover,
.search_autocomplete_list li a:hover,
.search_autocomplete_list li a.is_active
{
	background: var(--iss-accent-soft);
}

#search_form input[type="search"],
.header_search input[type="search"]
{
	border: 1px solid var(--iss-line-strong);
	border-radius: 0;
	background: var(--iss-surface-raised);
	color: var(--iss-ink);
}

/*******************************************************************
	ISS HERO
*******************************************************************/

.container_hero
{
	position: relative;
	display: block;
	height: clamp(560px, calc(100dvh - 116px), 760px);
	min-height: 560px;
	background: var(--iss-surface);
}

.container_hero picture,
.container_hero #video
{
	inset: 0;
	width: 100%;
	height: 100%;
}

.container_hero picture img.superhero,
.container_hero #video video
{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.container_hero::after
{
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(90deg, rgba(23, 25, 24, 0.92) 0%, rgba(23, 25, 24, 0.64) 42%, rgba(23, 25, 24, 0.12) 76%),
		linear-gradient(0deg, rgba(23, 25, 24, 0.38), transparent 42%);
	pointer-events: none;
}

.container_hero #wrap_hero
{
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	width: 100%;
	height: 100%;
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: 56px 48px;
	box-sizing: border-box;
	background: transparent;
	text-align: left;
}

.container_hero #slogan_hero
{
	width: min(680px, 58vw);
	padding: 0;
	text-align: left;
}

.container_hero .preline_hero
{
	margin: 0 0 18px 0;
	color: var(--iss-hero-accent);
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.75rem;
	line-height: 1.3;
	letter-spacing: 0.13em;
	text-align: left;
	text-shadow: none;
	text-transform: uppercase;
	animation: heroFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.05s forwards;
}

.container_hero .headline_hero
{
	max-width: 11ch;
	margin: 0 0 26px 0;
	color: var(--iss-hero-ink);
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: clamp(3.65rem, 7.2vw, 7rem);
	font-weight: bold;
	line-height: 0.88;
	letter-spacing: -0.035em;
	text-align: left;
	text-shadow: 0 3px 24px rgba(8, 9, 8, 0.28);
	text-transform: uppercase;
	animation: heroFadeUp 0.65s cubic-bezier(0.16, 1, 0.3, 1) 0.12s forwards;
}

.container_hero .cta_button_hero,
.container_hero .cta_button_hero:link,
.container_hero .cta_button_hero:visited,
.wysiwyg_button,
.wysiwyg_button:link,
.wysiwyg_button:visited,
.wysiwyg_button_feature,
.wysiwyg_button_feature:link,
.wysiwyg_button_feature:visited
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	margin: 8px 12px 8px 0;
	padding: 13px 26px;
	box-sizing: border-box;
	border: 1px solid var(--iss-accent);
	border-radius: 0;
	background: var(--iss-accent);
	box-shadow: none;
	color: var(--iss-accent-ink) !important;
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.76rem;
	line-height: 1.2;
	letter-spacing: 0.09em;
	text-decoration: none;
	text-transform: uppercase;
	white-space: nowrap;
	transition: background 0.25s ease, border-color 0.25s ease, color 0.25s ease, transform 0.25s ease;
}

.container_hero .cta_button_hero
{
	animation: heroFadeUp 0.6s cubic-bezier(0.16, 1, 0.3, 1) 0.2s forwards;
}

.container_hero .cta_button_hero::before,
.wysiwyg_button::before,
.wysiwyg_button_feature::before
{
	display: none;
}

.container_hero .cta_button_hero:hover,
.container_hero .cta_button_hero:focus,
.wysiwyg_button:hover,
.wysiwyg_button:focus,
.wysiwyg_button_feature:hover,
.wysiwyg_button_feature:focus
{
	border-color: var(--iss-ink);
	background: var(--iss-ink);
	box-shadow: none;
	color: var(--iss-surface) !important;
	transform: translateY(-2px);
}

.container_minihero
{
	height: clamp(300px, 46vw, 660px);
	border-top: 1px solid var(--iss-line);
	border-bottom: 1px solid var(--iss-line);
}

.container_minihero::after
{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(23, 25, 24, 0.48), rgba(23, 25, 24, 0.08));
	pointer-events: none;
}

/*******************************************************************
	ISS CONTENT BLOCKS
*******************************************************************/

.template_iss .block_text .wrap_text,
.template_iss .block_textimage,
.template_iss .wrap_cookies,
.template_iss .wrap_product,.template_iss .wrap_feature,
.template_iss .wrap_image-feature,
.template_iss .wrap_testimonial,
.template_iss .block_newsletter .wrap_newletter,
.template_iss #wrap_footer
{
	margin-right: auto;
	margin-left: auto;
	box-sizing: border-box;
}

.block_text .wrap_text
{
	max-width: var(--content-frame-width);
	padding: clamp(58px, 8vw, 116px) 48px;
}

.block_text .wrap_text h1,
.block_text .wrap_text h2
{
	max-width: 100%;
	margin: 0 0 20px 0;
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: clamp(2.6rem, 5vw, 5.5rem);
	line-height: 0.94;
	letter-spacing: -0.035em;
	text-transform: uppercase;
}

.block_text .wrap_text p
{
	max-width: 100%;
	color: var(--iss-muted);
	font-size: 1.05rem;
	line-height: 1.7;
}

/* Legal copy needs a reading hierarchy rather than the display scale used by promotional blocks. */
.template_iss #datenschutz .block_text .wrap_text p
{
	max-width: 100%;
}

.template_iss #datenschutz .block_text .wrap_text > h1
{
	max-width: 100%;
	margin-bottom: clamp(24px, 3vw, 36px);
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.12;
	letter-spacing: -0.025em;
	text-transform: none;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.template_iss #datenschutz .block_text .wrap_text > h2
{
	max-width: 100%;
	margin: clamp(44px, 6vw, 72px) 0 14px;
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: clamp(1.3rem, 2.2vw, 1.55rem);
	line-height: 1.3;
	letter-spacing: -0.018em;
	text-transform: none;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.template_iss #datenschutz .block_text .wrap_text li h2
{
	max-width: 100%;
	margin: 30px 0 10px;
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: clamp(1.05rem, 1.7vw, 1.2rem);
	line-height: 1.4;
	letter-spacing: -0.01em;
	text-transform: none;
	overflow-wrap: anywhere;
	hyphens: auto;
}

.block_textimage
{
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(360px, 0.82fr);
	align-items: stretch;
	max-width: var(--content-frame-width);
	padding: clamp(44px, 6vw, 88px) 48px;
	background: transparent;
}

.block_textimage:has(.wrap_image_right):has(.wrap_text_left)
{
	grid-template-columns: minmax(360px, 0.82fr) minmax(0, 1.18fr);
}

.block_textimage .wrap_image_left,
.block_textimage .wrap_image_right
{
	min-height: 500px;
	border: 1px solid var(--iss-line);
	border-radius: 0;
	background: var(--iss-surface-raised);
	box-shadow: none;
}

.block_textimage .wrap_text_left,
.block_textimage .wrap_text_right,
.block_textimage:has(.wrap_image_right) .wrap_text_left,
.block_textimage:has(.wrap_image_left) .wrap_text_right
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: clamp(42px, 6vw, 88px);
	box-sizing: border-box;
	border: 1px solid var(--iss-line);
	background: var(--iss-surface);
	box-shadow: none;
	backdrop-filter: none;
}

.block_textimage .wrap_text_left h1,
.block_textimage .wrap_text_right h1,
.block_textimage .wrap_text_left h2,
.block_textimage .wrap_text_right h2
{
	font-size: clamp(2.6rem, 4.6vw, 5.25rem);
	line-height: 0.92;
	letter-spacing: -0.035em;
}

.block_textimage .wrap_text_left p,
.block_textimage .wrap_text_right p
{
	color: var(--iss-muted);
	font-size: 1rem;
	line-height: 1.7;
}

.block_quote
{
	padding: clamp(72px, 10vw, 140px) 48px;
	border-top: 1px solid var(--iss-line);
	border-bottom: 1px solid var(--iss-line);
	background: var(--iss-surface);
}

.wrap_quote
{
	max-width: 1120px;
	padding: 0;
}

.wrap_quote::before,
.wrap_quote::after
{
	color: var(--iss-accent);
	opacity: 0.18;
}

.wrap_quote p
{
	color: var(--iss-ink);
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: clamp(2rem, 4vw, 4.2rem);
	line-height: 1.05;
	letter-spacing: -0.02em;
	text-transform: uppercase;
}

.block_gallery,
.wrap_image-feature,
.wrap_feature
{
	padding: clamp(44px, 7vw, 96px) 48px;
}

.list_gallery
{
	grid-template-columns: 1.35fr 0.85fr 0.85fr;
	gap: 12px;
}

.item_gallery:first-child
{
	grid-row: span 2;
	aspect-ratio: auto;
}

.item_gallery,
.item_image-feature
{
	border: 1px solid var(--iss-line);
	box-shadow: none;
}

/*******************************************************************
	ISS PRODUCTS AND FEATURE BLOCKS
*******************************************************************/

.block_product
{
	padding: clamp(38px, 6vw, 84px) 48px;
}

.wrap_product
{
	max-width: var(--content-frame-width);
}

.list_product
{
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(14px, 1.8vw, 26px);
}

.item_product,
.block_product[data-block-type="shop-category-products"] .item_product,
.block_product[data-block-type="shop_crossselling"] .item_product,
.block_product[data-block-type="shop-crossselling"] .item_product
{
	min-height: 0;
	padding: 0 0 20px 0;
	border: 0;
	border-bottom: 1px solid var(--iss-line);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
}

.item_product:hover
{
	box-shadow: none;
	transform: none;
}

.product_image_wrap
{
	order: 1;
	margin: 0 0 18px 0;
	border: 0;
	border-radius: 0;
	background: var(--iss-surface-raised);
}

.product_image
{
	transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.25s ease;
}

.item_product:hover .product_image.product_image_active
{
	transform: scale(1.025);
}

.product_badge
{
	border: 1px solid var(--iss-accent);
	border-radius: 0;
	background: var(--iss-accent);
	color: var(--iss-accent-ink);
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.68rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.block_product[data-block-type="shop-category-products"] .product_badges,
.block_product[data-block-type="shop_crossselling"] .product_badges,
.block_product[data-block-type="shop-crossselling"] .product_badges
{
	top: 10px;
	right: 58%;
	left: 10px;
	align-items: flex-start;
	max-width: calc(42% - 16px);
}

.block_product[data-block-type="shop-category-products"] .product_badge,
.block_product[data-block-type="shop_crossselling"] .product_badge,
.block_product[data-block-type="shop-crossselling"] .product_badge
{
	max-width: 100%;
	box-sizing: border-box;
	white-space: normal;
	overflow-wrap: anywhere;
}

.block_product[data-block-type="shop-category-products"] .product_meta_top,
.block_product[data-block-type="shop_crossselling"] .product_meta_top,
.block_product[data-block-type="shop-crossselling"] .product_meta_top
{
	order: 2;
	min-height: 0;
	margin: 0 0 8px 0;
}

.block_product[data-block-type="shop-category-products"] .product_meta_top:not(:has(.product_rating i)),
.block_product[data-block-type="shop_crossselling"] .product_meta_top:not(:has(.product_rating i)),
.block_product[data-block-type="shop-crossselling"] .product_meta_top:not(:has(.product_rating i))
{
	margin-bottom: 0;
}

.block_product[data-block-type="shop-category-products"] .product_rating:has(.product_rating_placeholder),
.block_product[data-block-type="shop_crossselling"] .product_rating:has(.product_rating_placeholder),
.block_product[data-block-type="shop-crossselling"] .product_rating:has(.product_rating_placeholder)
{
	display: none;
}

.block_product[data-block-type="shop-category-products"] .product_brand,
.block_product[data-block-type="shop_crossselling"] .product_brand,
.block_product[data-block-type="shop-crossselling"] .product_brand
{
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 5;
	max-width: calc(58% - 16px);
	padding: 5px 8px;
	box-sizing: border-box;
	border: 1px solid var(--iss-line-strong);
	border-radius: 0;
	background: rgba(251, 250, 245, 0.94);
	color: var(--iss-ink);
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: 0.62rem;
	line-height: 1.2;
	letter-spacing: 0.04em;
	text-align: right;
	text-transform: uppercase;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	pointer-events: none;
}

.item_product .product_headline
{
	order: 3;
	margin: 0 0 8px 0;
	color: var(--iss-ink);
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: 1.35rem;
	line-height: 1.05;
	letter-spacing: -0.015em;
	text-align: left;
	text-transform: uppercase;
}

.item_product .product_price,
.block_product[data-block-type="shop-category-products"] .product_price,
.block_product[data-block-type="shop_crossselling"] .product_price,
.block_product[data-block-type="shop-crossselling"] .product_price
{
	order: 4;
	margin: 0 0 8px 0;
	color: var(--iss-accent-dark);
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.9rem;
	text-align: left;
}

.item_product .product_content
{
	order: 5;
	color: var(--iss-muted);
	font-size: 0.84rem;
	line-height: 1.5;
}

.item_product:hover .product_headline
{
	color: var(--iss-accent-dark);
	opacity: 1;
}

.list_feature
{
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
	gap: 14px;
}

.item_feature
{
	border: 1px solid var(--iss-line);
	border-radius: 0;
	background: var(--iss-surface);
	box-shadow: none;
}

.item_feature:nth-child(3n + 2)
{
	background: var(--iss-accent-soft);
}

.item_feature:nth-child(3n)
{
	background: var(--iss-surface-raised);
}

.list_feature:has(.item_feature:nth-child(3)) .item_feature:nth-child(3):last-child
{
	grid-column: 1 / -1;
}

.item_feature:hover
{
	border-color: var(--iss-line-strong);
	box-shadow: none;
	transform: translateY(-3px);
}

.feature_image
{
	aspect-ratio: 16 / 10;
}

.feature_content
{
	padding: 28px 30px 14px 30px;
}

.feature_content h1,
.feature_content h2
{
	color: var(--iss-ink);
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: clamp(1.8rem, 3vw, 3.4rem);
	line-height: 0.95;
	letter-spacing: -0.025em;
	text-transform: uppercase;
}

.feature_content p
{
	color: var(--iss-muted);
	font-size: 0.96rem;
	line-height: 1.6;
}

.feature_cta
{
	padding: 10px 30px 30px 30px;
	text-align: left;
}

/*******************************************************************
	ISS TESTIMONIALS, BLOG, NEWSLETTER AND FOOTER
*******************************************************************/

.block_testimonial
{
	padding: clamp(70px, 9vw, 128px) 48px;
	border-top: 1px solid var(--iss-line);
	background: var(--iss-surface);
}

.wrap_testimonial
{
	max-width: 1120px;
	padding: 0 70px;
}

.item_testimonial.active
{
	display: grid;
	grid-template-columns: 112px minmax(0, 1fr);
	column-gap: 40px;
	align-items: center;
	text-align: left;
}

.testimonial_image
{
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 112px;
	height: 112px;
	margin: 0;
	border: 1px solid var(--iss-line-strong);
	border-radius: 0;
	box-shadow: none;
}

.testimonial_content
{
	grid-column: 2;
	color: var(--iss-ink);
	font-family: var(--font-hero), Arial, sans-serif;
	font-size: clamp(1.65rem, 3vw, 3rem);
	line-height: 1.12;
	text-align: left;
	text-transform: uppercase;
}

.testimonial_content:last-child
{
	color: var(--iss-accent-dark);
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: 0.75rem;
	letter-spacing: 0.08em;
	text-align: left;
	text-transform: uppercase;
}

#testimonial_previous,
#testimonial_next
{
	border: 1px solid var(--iss-line-strong);
	border-radius: 0;
	background: transparent;
	color: var(--iss-ink);
}

#testimonial_previous:hover,
#testimonial_next:hover
{
	border-color: var(--iss-accent);
	background: var(--iss-accent);
	color: var(--iss-accent-ink);
}

.block_blog
{
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	max-width: var(--content-frame-width);
	margin: 0 auto;
	padding: clamp(48px, 7vw, 96px) 48px;
	box-sizing: border-box;
}

.blog_link:link,
.blog_link:visited
{
	display: grid;
	grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
	min-height: 260px;
	border: 1px solid var(--iss-line);
	background: var(--iss-surface);
	color: var(--iss-ink);
	text-decoration: none;
}

.blog_link:hover,
.blog_link:focus
{
	border-color: var(--iss-accent);
}

.blog_image,
.blog_image > img
{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog_text
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px;
	box-sizing: border-box;
}

.blog_text h1,
.blog_text h2,
.blog_text h3
{
	font-size: clamp(1.75rem, 2.8vw, 3rem);
	line-height: 0.98;
}

.blog_text p
{
	color: var(--iss-muted);
	font-size: 0.9rem;
	line-height: 1.55;
}

.block_newsletter
{
	padding: clamp(58px, 8vw, 110px) 48px;
	border-top: 1px solid var(--iss-line);
	background: var(--iss-surface-raised);
}

.block_newsletter .wrap_newletter
{
	max-width: 860px;
	padding: 0;
	text-align: left;
}

.wrap_newletter h1
{
	margin: 0 0 18px 0;
	font-size: clamp(2.75rem, 6vw, 6rem);
	line-height: 0.9;
}

.wrap_newletter .newsletter_intro
{
	color: var(--iss-muted);
}

.newsletter_form input[type="email"],
.block_newsletter input[type="email"],
.block_contact input,
.block_contact textarea,
.dynamic_form input,
.dynamic_form textarea,
.dynamic_form select
{
	border: 1px solid var(--iss-line-strong);
	border-radius: 0;
	background: var(--iss-canvas);
	color: var(--iss-ink);
}

.newsletter_form input[type="email"]::placeholder,
.block_newsletter input[type="email"]::placeholder,
.block_contact input::placeholder,
.block_contact textarea::placeholder
{
	color: #7a7d75;
}

.newsletter_form button,
.block_newsletter button,
.block_contact button,
.dynamic_form button
{
	border: 1px solid var(--iss-accent);
	border-radius: 0;
	background: var(--iss-accent);
	color: var(--iss-accent-ink);
	font-family: var(--font-text-bold), Arial, sans-serif;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

#container_footer
{
	border-top: 1px solid var(--iss-line);
	background: var(--iss-canvas);
	color: var(--iss-muted);
}

#wrap_footer
{
	max-width: var(--content-frame-width);
	padding: 48px;
}

#footer_socialmedia .footer_sociallink,
#footer_copyright,
#footer_copyright a
{
	color: var(--iss-muted);
}

#footer_copyright a:hover,
#footer_socialmedia .footer_sociallink:hover
{
	color: var(--iss-accent-dark);
}

/*******************************************************************
	ISS SHOP DETAILS AND FORMS
*******************************************************************/

.block_shop_item_filter
{
	--shop-filter-active-background: var(--iss-accent);
	--shop-filter-active-color: var(--iss-accent-ink);
	--shop-filter-text-color: var(--iss-ink);
	padding: clamp(38px, 6vw, 84px) 48px 0;
	background: var(--iss-canvas);
}

.wrap_shop_item_filter
{
	max-width: var(--content-frame-width);
}

@media screen and (min-width: 601px)
{
	.shop_item_filter_suboptions
	{
		width: min(700px, calc(100vw - 32px));
	}
}

.wrap_shop_item_filter,
.wrap_shop_buy_box,
.wrap_shop_checkout_flow,
.shop_checkout_summary,
.shop_buy_box_right_content
{
	border-color: var(--iss-line);
	border-radius: 0;
	background: var(--iss-surface);
	box-shadow: none;
	color: var(--iss-ink);
}

.template_iss [id^="shop-item-"] > .block_text .wrap_text
{
	padding-top: clamp(56px, 6vw, 88px);
	padding-bottom: clamp(56px, 6vw, 88px);
}

.template_iss [id^="shop-item-"] > .block_text .wrap_text h1
{
	max-width: 100%;
	font-family: var(--font-text-bold), Arial, sans-serif;
	font-size: clamp(2rem, 3.5vw, 3.25rem);
	line-height: 1.1;
	letter-spacing: -0.018em;
	text-transform: none;
	overflow-wrap: anywhere;
}

.wrap_shop_buy_box,
.block_tab_content .wrap_tab_content
{
	padding-right: 48px;
	padding-left: 48px;
}

.wrap_shop_buy_box,
.shop_buy_box_right_content
{
	background: transparent;
}

.shop_buy_box_main_image_wrap
{
	box-sizing: border-box;
	border: 1px solid var(--iss-line);
}

.shop_item_filter_option_visual,
.shop_checkout_input,
.shop_checkout_password_input,
.shop_checkout_shipping_option_label_wrap,
.shop_checkout_confirm_group
{
	border-color: var(--iss-line-strong);
	border-radius: 0;
	background: var(--iss-canvas);
	color: var(--iss-ink);
}

.shop_item_filter_option input:checked + .shop_item_filter_option_visual,
.shop_checkout_review_button,
.shop_checkout_confirm_submit,
.shop_checkout_finalize_button,
.shop_buy_box_right .wysiwyg_button
{
	border-color: var(--iss-accent);
	border-radius: 0;
	background: var(--iss-accent);
	color: var(--iss-accent-ink);
}

.template_iss .shop_item_filter_option.has_image input:checked + .shop_item_filter_option_visual
{
	border-radius: 4px;
}

.cart_drawer
{
	border-left: 1px solid var(--iss-line);
	background: var(--iss-surface);
	color: var(--iss-ink);
}

.cart_drawer_header,
.cart_drawer_footer,
.cart_item
{
	border-color: var(--iss-line);
}

.cart_checkout_link
{
	border-radius: 0;
	background: var(--iss-accent);
	color: var(--iss-accent-ink);
}

.block_contact
{
	padding-right: 48px;
	padding-left: 48px;
}

.wrap_contact
{
	max-width: 820px;
	margin-right: auto;
	margin-left: 0;
}

.block_contact input,
.block_contact textarea,
.dynamic_form input,
.dynamic_form textarea,
.dynamic_form select
{
	padding-right: 18px;
	padding-left: 18px;
	box-sizing: border-box;
}

#container_footer
{
	min-height: 0;
}

/*******************************************************************
	ISS RESPONSIVE
*******************************************************************/

@media screen and (max-width: 1180px)
{
	.sidebar
	{
		grid-template-columns: minmax(172px, auto) minmax(0, 1fr);
		column-gap: 24px;
		padding-right: 24px;
		padding-left: 24px;
	}

	.iss_logo
	{
		width: 172px;
	}

	.sidebar #list_menu
	{
		gap: 8px;
	}

	.sidebar #list_menu > li > a,
	.sidebar #list_menu > li > a:link,
	.sidebar #list_menu > li > a:visited
	{
		font-size: 0.58rem;
		letter-spacing: 0.035em;
	}

	.sidebar #list_menu ul a,
	.sidebar #list_menu ul a:link,
	.sidebar #list_menu ul a:visited
	{
		font-size: 0.56rem;
		letter-spacing: 0.045em;
	}

	#topbar
	{
		right: 24px;
	}

	.list_product
	{
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media screen and (max-width: 900px)
{
	:root
	{
		--header-height: 72px;
	}

	.sidebar
	{
		display: flex;
		justify-content: space-between;
		padding: 0 18px;
	}

	.sidebar .menu,
	.sidebar .header_search
	{
		display: none;
	}

	#hamburger
	{
		display: block;
		margin-left: auto;
	}

	#topbar
	{
		top: 0;
		right: 18px;
	}

	.topbar_language,
	.topbar_login
	{
		display: none;
	}

	.container_hero
	{
		height: clamp(520px, calc(100dvh - 106px), 700px);
		min-height: 520px;
	}

	.container_hero #wrap_hero
	{
		padding: 44px 24px;
	}

	.container_hero #slogan_hero
	{
		width: min(620px, 78vw);
	}

	.container_hero .headline_hero
	{
		font-size: clamp(3.2rem, 10vw, 5.4rem);
	}

	.block_text .wrap_text,
	.block_textimage,
	.block_product,
	.block_gallery,
	.wrap_feature,
	.wrap_image-feature,
	.block_quote,
	.block_testimonial,
	.block_blog,
	.block_newsletter,
	.block_contact
	{
		padding-right: 30px;
		padding-left: 30px;
	}

	.block_shop_item_filter
	{
		padding-right: 30px;
		padding-left: 30px;
	}

	.wrap_shop_buy_box,
	.block_tab_content .wrap_tab_content
	{
		padding-right: 30px;
		padding-left: 30px;
	}

	.wrap_testimonial
	{
		padding-right: 44px;
		padding-left: 44px;
	}

	#wrap_footer
	{
		padding: 36px 30px;
	}

	.block_textimage,
	.block_textimage:has(.wrap_image_right):has(.wrap_text_left),
	.block_textimage:has(.wrap_image_left):has(.wrap_text_right)
	{
		grid-template-columns: 1fr;
	}

	.list_feature,
	.block_blog
	{
		grid-template-columns: 1fr;
	}

	.list_product
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.blog_link:link,
	.blog_link:visited
	{
		grid-template-columns: minmax(170px, 0.75fr) minmax(0, 1.25fr);
	}
}

@media screen and (max-width: 600px)
{
	.iss_promotion
	{
		min-height: var(--iss-utility-height);
	}

	.iss_logo
	{
		width: 44px;
		height: 44px;
	}

	.sidebar .logo
	{
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	#topbar
	{
		top: 0;
		right: 14px;
	}

	#topbar_right
	{
		gap: 5px;
	}

	.topbar_search,
	.topbar_account
	{
		display: none;
	}

	.container_hero
	{
		height: clamp(500px, calc(100dvh - 104px), 640px);
		min-height: 500px;
	}

	.container_hero::after
	{
		background: linear-gradient(0deg, rgba(23, 25, 24, 0.92) 0%, rgba(23, 25, 24, 0.48) 68%, rgba(23, 25, 24, 0.12) 100%);
	}

	.container_hero #wrap_hero
	{
		align-items: flex-end;
		padding: 34px 18px;
	}

	.container_hero #slogan_hero
	{
		width: 100%;
	}

	.container_hero .headline_hero
	{
		max-width: 9ch;
		font-size: clamp(2.9rem, 15vw, 4.8rem);
	}

	.block_text .wrap_text,
	.block_textimage,
	.block_product,
	.block_gallery,
	.wrap_feature,
	.wrap_image-feature,
	.block_testimonial,
	.block_blog,
	.block_newsletter,
	.block_quote,
	.block_contact,
	#wrap_footer
	{
		padding-right: 18px;
		padding-left: 18px;
	}

	.block_shop_item_filter
	{
		padding-right: 14px;
		padding-left: 14px;
	}

	.wrap_shop_buy_box,
	.block_tab_content .wrap_tab_content
	{
		padding-right: 18px;
		padding-left: 18px;
	}

	.block_textimage .wrap_image_left,
	.block_textimage .wrap_image_right
	{
		min-height: 300px;
	}

	.block_textimage .wrap_text_left,
	.block_textimage .wrap_text_right,
	.block_textimage:has(.wrap_image_right) .wrap_text_left,
	.block_textimage:has(.wrap_image_left) .wrap_text_right
	{
		padding: 36px 24px;
	}

	.list_product
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.item_product .product_headline
	{
		font-size: 1.05rem;
	}

	.block_product[data-block-type="shop-category-products"] .product_badge,
	.block_product[data-block-type="shop_crossselling"] .product_badge,
	.block_product[data-block-type="shop-crossselling"] .product_badge
	{
		padding: 4px 6px;
		font-size: 0.5rem;
	}

	.block_product[data-block-type="shop-category-products"] .product_brand,
	.block_product[data-block-type="shop_crossselling"] .product_brand,
	.block_product[data-block-type="shop-crossselling"] .product_brand
	{
		padding: 4px 6px;
		font-size: 0.56rem;
		letter-spacing: 0.02em;
	}

	.list_gallery
	{
		grid-template-columns: 1fr;
	}

	.item_gallery:first-child
	{
		grid-row: auto;
		aspect-ratio: 1 / 1;
	}

	.item_testimonial.active
	{
		display: flex;
		align-items: flex-start;
	}

	.testimonial_image
	{
		width: 88px;
		height: 88px;
		margin-bottom: 26px;
	}

	.blog_link:link,
	.blog_link:visited
	{
		display: block;
	}

	.blog_image
	{
		height: 240px;
	}
}

@media (prefers-reduced-motion: reduce)
{
	.template_iss *,
	.template_iss *::before,
	.template_iss *::after
	{
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.container_hero picture img.superhero,
	.container_hero #video video,
	.container_minihero::before,
	.gallery_thumbnail,
	.product_image
	{
		transform: none !important;
	}
}


/* ISS customer template: bright surfaces, restrained typography and brand turquoise. */
@font-face
{
	font-family: ISS Source Sans;
	src: url('../SHARED/fonts/sourcesanspro/SourceSansPro-Regular.woff2') format('woff2');
	font-weight: 400;
	font-display: swap;
}

@font-face
{
	font-family: ISS Source Sans;
	src: url('../SHARED/fonts/sourcesanspro/SourceSansPro-Semibold.woff2') format('woff2');
	font-weight: 600;
	font-display: swap;
}

@font-face
{
	font-family: ISS Source Sans;
	src: url('../SHARED/fonts/sourcesanspro/SourceSansPro-Bold.woff2') format('woff2');
	font-weight: 700;
	font-display: swap;
}

:root
{
	--iss-canvas: #fff;
	--iss-surface: #fff;
	--iss-surface-raised: #f2f5f6;
	--iss-ink: #303741;
	--iss-muted: #626b75;
	--iss-accent: #1cbfca;
	--iss-accent-dark: #087f88;
	--iss-accent-soft: #e9f8f9;
	--iss-accent-ink: #fff;
	--iss-line: #e1e6e8;
	--iss-line-strong: #c8d1d5;
	--iss-font-body: 'ISS Source Sans', sans-serif;
	--iss-font-heading: 'ISS Source Sans', sans-serif;
	--iss-content-width: 1320px;
	--iss-frame-width: 1440px;
}

body.template_iss
{
	background: #fff;
	color: var(--iss-ink);
	font-family: var(--iss-font-body);
	font-size: 17px;
	line-height: 1.5;
}

.template_iss h1, .template_iss h2, .template_iss h3, .template_iss h4
{
	font-family: var(--iss-font-heading);
	text-transform: none;
	letter-spacing: -.02em;
}

.template_iss a
{
	text-underline-offset: 4px;
}

.template_iss a[href]
{
	cursor: pointer;
}

.template_iss :focus-visible
{
	outline: 3px solid var(--iss-accent-dark);
	outline-offset: 4px;
}

.iss_text_right
{
	text-align: right;
}

.iss_skiplink
{
	position: fixed;
	left: 16px;
	top: -100px;
	z-index: 1100;
	padding: 12px 20px;
	background: #fff;
	color: var(--iss-ink);
}

.iss_skiplink:focus
{
	top: 16px;
}

.template_iss .sidebar
{
	display: grid;
	grid-template-columns: 300px minmax(180px, 1fr) 290px;
	grid-template-rows: 88px auto;
	gap: 0 36px;
	padding: 0 max(28px, calc((100vw - 1320px) / 2));
	background: #fff;
	border-bottom: 1px solid var(--iss-line);
}

.template_iss .logo
{
	grid-column: 1;
	grid-row: 1;
	width: 100%;
	height: auto;
	padding: 0;
	align-self: center;
}

.template_iss .logo .link_logo
{
	display: block;
}

.template_iss .logo img.iss_logo
{
	width: 300px;
	max-width: 100%;
	height: auto;
	max-height: none;
	object-fit: contain;
}

.template_iss .sidebar > .header_search
{
	display: flex;
	grid-column: 2;
	grid-row: 1;
	position: relative;
	align-self: center;
	width: 100%;
	min-width: 0;
	margin: 0;
}

.template_iss .header_search
{
	border: 1px solid var(--iss-line-strong);
	background: #fff;
	border-radius: 5px;
	overflow: visible;
}

.template_iss .header_search input
{
	min-width: 0;
	width: 100%;
	height: 48px;
	padding: 0 16px;
	border: 0;
	background: transparent;
	color: var(--iss-ink);
	font-family: inherit;
	font-size: 16px;
}

.template_iss .header_search button
{
	height: 48px;
	flex-shrink: 0;
	border: 0;
	padding: 0 16px;
	background: transparent;
	color: var(--iss-ink);
	border-radius: 4px;
}

.template_iss .header_search button img
{
	filter: none;
	transform: translateY(3px);
	width: 22px;
	height: 22px;
}

.template_iss .menu
{
	grid-column: 1 / -1;
	grid-row: 2;
	width: 100%;
	min-width: 0;
	border-top: 1px solid var(--iss-line);
}

.template_iss .sidebar #list_menu
{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 0 20px;
	padding: 0;
	margin: 0;
}

.template_iss #list_menu > li
{
	float: none;
	margin: 0;
}

.template_iss .sidebar #list_menu > li > a, .template_iss .sidebar #list_menu > li > a:link, .template_iss .sidebar #list_menu > li > a:visited
{
	padding: 12px 0;
	color: var(--iss-ink);
	font-size: 17px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
	background: transparent;
	border: 0;
}

.template_iss #list_menu ul
{
	background: #fff;
	border: 1px solid var(--iss-line);
	box-shadow: 0 12px 32px rgba(33,48,58,.1);
}

.template_iss .sidebar #list_menu ul a,
.template_iss .sidebar #list_menu ul a:link,
.template_iss .sidebar #list_menu ul a:visited
{
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 18px;
	box-sizing: border-box;
	font-size: 18px;
	line-height: 1.4;
	letter-spacing: 0;
	color: var(--iss-ink);
	background: #fff;
	text-transform: none;
}

.template_iss .sidebar #list_menu a
{
	transition: color 0.2s ease;
	transform: none;
}

.template_iss .sidebar #list_menu a::after
{
	display: none;
}

.template_iss .sidebar #list_menu:has(li:hover > ul) > li > a
{
	opacity: 1;
}

.template_iss .sidebar #list_menu li > a:hover,
.template_iss .sidebar #list_menu li > a:focus-visible,
.template_iss .sidebar #list_menu li.menu_active > a
{
	color: var(--iss-accent-dark);
	transform: none;
}

.template_iss #topbar
{
	position: absolute;
	top: 20px;
	right: max(28px, calc((100vw - 1320px) / 2));
	height: 48px;
	z-index: 500;
	background: transparent;
}

.template_iss #topbar_right
{
	flex-direction: row;
	background: transparent;
	gap: 16px;
}

.template_iss .topbar_item + .topbar_item
{
	border: 0;
}

.template_iss .topbar_icon_btn
{
	display: flex;
	gap: 8px;
	padding: 0;
	min-width: 32px;
	height: 48px;
	color: var(--iss-ink);
	background: transparent;
	font: 400 16px var(--iss-font-body);
	text-decoration: none;
}

.template_iss .topbar_icon_btn .tabler_icon
{
	filter: none;
	width: 23px;
	height: 23px;
}

.template_iss .topbar_icon_btn:hover
{
	background: transparent;
	color: var(--iss-accent-dark);
}

.template_iss .topbar_language
{
	order: 3;
}

.template_iss .topbar_search
{
	display: none;
}

.template_iss #cart_badge
{
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: -4px;
	width: 20px;
	height: 20px;
	min-width: 20px;
	background: var(--iss-accent-soft);
	color: var(--iss-accent-dark);
	border: 0;
	font-size: 12px;
}

.template_iss .topbar_dropdown, .template_iss .search_autocomplete
{
	background: #fff;
	border: 1px solid var(--iss-line);
	box-shadow: 0 12px 32px rgba(33,48,58,.12);
	color: var(--iss-ink);
}

.template_iss .topbar_dropdown a
{
	color: var(--iss-ink);
}

.template_iss #language_dropdown
{
	top: calc(100% + 2px);
}

.template_iss #hamburger
{
	display: none;
}

.template_iss .content
{
	background: #fff;
	padding: 0;
}

.template_iss .content > .iss_home_hero
{
	background: #f3f5f6;
}

.iss_hero_inner
{
	max-width: 1440px;
	margin: auto;
	display: grid;
	grid-template-columns: 46% 54%;
	align-items: center;
	min-height: 420px;
	overflow: hidden;
}

.iss_hero_copy
{
	padding: 48px 0 48px max(28px, calc((1440px - 1320px) / 2));
	z-index: 1;
}

.template_iss .iss_eyebrow
{
	font-size: 15px;
	font-weight: 600;
	color: var(--iss-accent-dark);
	margin: 0 0 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.template_iss .iss_hero_copy :is(h1, h2)
{
	font-size: clamp(34px, 3.1vw, 48px);
	font-weight: 600;
	line-height: 1.14;
	margin: 0 0 20px;
}

.iss_hero_copy > p:not(.iss_eyebrow)
{
	font-size: 19px;
	color: var(--iss-muted);
	margin: 0 0 28px;
	line-height: 1.55;
}

.template_iss .iss_hero_copy .wysiwyg_button
{
	display: inline-flex;
	align-items: center;
	gap: 20px;
	padding: 13px 24px;
	background: var(--iss-accent-dark);
	border: 1px solid var(--iss-accent-dark);
	color: #fff;
	border-radius: 4px;
	font-size: 17px;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}

.iss_hero_copy .wysiwyg_button img
{
	width: 20px;
	height: 20px;
	filter: brightness(0) invert(1);
}

.iss_hero_image
{
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

.iss_model_finder
{
	display: flex;
	align-items: center;
	gap: 40px;
	max-width: 1320px;
	margin: 28px auto;
	padding: 24px 28px;
}

.iss_model_finder,
.template_iss .wrap_contact,
.template_iss .wrap_cookies,
.template_iss .wrap_shop_item_filter,
.template_iss .block_shop_checkout_flow :is(.shop_checkout_flow_left, .shop_checkout_flow_right)
{
	background: #f2f5f6;
	border: 1px solid var(--iss-line);
	border-radius: 6px;
}

.template_iss .block_shop_checkout_flow .shop_checkout_summary,
.template_iss .block_shop_checkout_flow .shop_checkout_confirm_group
{
	background: transparent;
}

.template_iss .iss_model_finder h2
{
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	margin: 0 0 4px;
}

.iss_model_finder p
{
	color: var(--iss-muted);
	margin: 0;
	font-size: 16px;
}

.template_iss .iss_model_finder .header_search
{
	display: flex;
	position: relative;
	flex: 1;
	width: auto;
	max-width: none;
	margin: 0;
}

.template_iss .iss_model_finder button
{
	color: #fff;
	background: var(--iss-accent-dark);
	padding: 0 24px;
	font-weight: 600;
	font-size: 16px;
}

.template_iss .block_product
{
	padding: 32px max(28px, calc((100vw - 1320px) / 2)) 56px;
	background: #fff;
}

.template_iss .list_product
{
	gap: 24px;
}

.template_iss .block_product .item_product
{
	background: #fff;
	border: 1px solid var(--iss-line);
	border-radius: 6px;
	padding: 20px;
	box-shadow: none;
}

.template_iss .block_product .item_product:hover
{
	border-color: var(--iss-accent);
	box-shadow: 0 6px 24px rgba(33,48,58,.07);
}

.template_iss .product_image, .template_iss .product_image img
{
	background: #fff;
	border: 0;
}

.template_iss .block_product .product_brand, .template_iss .block_product[data-block-shop-items-presentation] .product_brand
{
	position: static;
	align-self: flex-start;
	margin: 10px 0 4px;
	padding: 0;
	background: transparent;
	color: var(--iss-muted);
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
}

.template_iss .item_product h3
{
	font-size: 21px;
	line-height: 1.2;
	font-weight: 600;
	text-transform: none;
	margin: 0 0 14px;
}

.template_iss .block_product .product_price
{
	font-size: 23px;
	font-weight: 600;
}

.template_iss .block_text .wrap_text
{
	max-width: 1320px;
	margin: auto;
	padding: 48px 28px;
}

.template_iss #cart_drawer
{
	background: #fff;
	visibility: hidden;
}

.template_iss.cart_open #cart_drawer
{
	visibility: visible;
}

.template_iss #container_footer
{
	margin: 0;
	padding: 0;
	background: #eff2f3;
	color: #4f5964;
	border-top: 3px solid var(--iss-accent);
}

.template_iss #wrap_footer
{
	display: block;
	max-width: 1320px;
	margin: auto;
	padding: 52px 0 24px;
}

.iss_footer_columns
{
	display: grid;
	grid-template-columns: 1.35fr 1fr .8fr 1.15fr;
	gap: 40px;
}

.template_iss .iss_footer_columns h2
{
	color: var(--iss-ink);
	font-size: 22px;
	line-height: 1.3;
	font-weight: 600;
	margin: 0 0 20px;
}

.template_iss .iss_footer_columns ul
{
	list-style: none;
	padding: 0;
	margin: 0;
}

.iss_footer_columns li
{
	margin: 0 0 9px;
	line-height: 1.45;
}

.template_iss #container_footer a
{
	color: #4f5964;
	font-size: 16px;
	text-decoration: none;
}

.template_iss #container_footer a:hover
{
	color: var(--iss-accent-dark);
	text-decoration: underline;
}

.iss_footer_columns .tabler_icon
{
	width: 20px;
	height: 20px;
	margin-right: 10px;
	vertical-align: middle;
	filter: none;
}

.iss_footer_columns address
{
	font-style: normal;
	font-size: 16px;
	line-height: 1.65;
	overflow-wrap: anywhere;
}

.iss_footer_columns address p
{
	margin: 0 0 18px;
}

.template_iss #container_footer .iss_withdrawal_link
{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border: 1px solid var(--iss-accent-dark);
	background: var(--iss-accent-dark);
	color: #fff;
	border-radius: 4px;
	padding: 9px 18px;
	margin-top: 12px;
	font-size: 16px;
	letter-spacing: 0;
	text-transform: none;
}

.template_iss #container_footer .iss_withdrawal_link:hover,
.template_iss #container_footer .iss_withdrawal_link:focus-visible
{
	background: var(--iss-ink);
	border-color: var(--iss-ink);
	color: #fff;
	text-decoration: none;
	transform: translateY(-2px);
}

.iss_footer_bottom
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	margin-top: 36px;
	padding-top: 22px;
	border-top: 1px solid #d3dcdf;
}

.template_iss #container_footer .iss_footer_bottom,
.template_iss #container_footer .iss_footer_bottom div,
.template_iss #container_footer .iss_footer_bottom p,
.template_iss #container_footer .iss_footer_bottom a,
.template_iss #container_footer .iss_footer_bottom span
{
	font-family: var(--iss-font-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.65;
}

.iss_footer_bottom > div:last-child
{
	text-align: right;
}

.template_iss #container_footer .iss_footer_bottom p
{
	margin: 0;
}

.template_iss #container_footer .iss_footer_copyright
{
	margin: 24px 0 0;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

.template_iss #container_footer .iss_footer_copyright a
{
	font-size: inherit;
}

@media (max-width: 1400px) {
    .template_iss #wrap_footer
{
	padding-left: 28px;
	padding-right: 28px;
}

    .iss_model_finder
{
	margin-left: 28px;
	margin-right: 28px;
}

}
@media (max-width: 1150px) {
    .template_iss .sidebar
{
	grid-template-columns: 245px minmax(160px, 1fr) 150px;
	gap: 0 24px;
}

    .template_iss .iss_utility_label
{
	display: none;
}

    .template_iss #topbar_right
{
	gap: 20px;
}

    .iss_footer_columns
{
	gap: 28px;
}

}
@media (max-width: 900px) {
    .template_iss .sidebar
{
	grid-template-columns: minmax(160px, 1fr) 140px;
	grid-template-rows: 88px auto;
	padding: 0 20px 16px;
}

    .template_iss .logo img.iss_logo
{
	width: 260px;
}

    .template_iss .sidebar > .header_search
{
	grid-column: 1 / -1;
	grid-row: 2;
}

    .template_iss .menu
{
	display: none;
}

    .template_iss #topbar
{
	top: 20px;
	right: 64px;
	height: 48px;
}

    .template_iss #topbar_right
{
	gap: 16px;
}

    .template_iss .topbar_language
{
	display: none;
}

    .template_iss #hamburger
{
	display: block;
	position: absolute;
	top: 30px;
	right: 20px;
	width: 24px;
	height: 24px;
	margin: 0;
	padding: 0;
}

    .template_iss #hamburger img
{
	width: 24px;
	height: 24px;
	filter: none;
}

    .iss_hero_inner
{
	grid-template-columns: 1fr 1fr;
	min-height: 360px;
}

    .iss_hero_copy
{
	padding: 32px 0 32px 28px;
}

    .template_iss .iss_hero_copy :is(h1, h2)
{
	font-size: 34px;
}

    .iss_hero_copy > p:not(.iss_eyebrow)
{
	font-size: 17px;
}

    .iss_hero_image
{
	height: 360px;
}

    .iss_model_finder
{
	gap: 20px;
	padding: 20px;
}

    .iss_footer_columns
{
	grid-template-columns: 1fr 1fr;
	gap: 36px;
}

    .template_iss .list_product
{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

}
@media (max-width: 600px) {
    .template_iss .sidebar
{
	grid-template-columns: minmax(0, 1fr) 100px;
	gap: 0 12px;
	padding: 0 16px 16px;
}

    .template_iss .logo img.iss_logo
{
	width: 215px;
}

    .template_iss #topbar
{
	right: 54px;
}

    .template_iss #topbar_right
{
	gap: 10px;
}

    .template_iss #hamburger
{
	right: 16px;
}

    .iss_hero_inner
{
	grid-template-columns: 1fr;
}

    .iss_hero_copy
{
	padding: 36px 24px 0;
}

    .template_iss .iss_hero_copy :is(h1, h2)
{
	font-size: 36px;
}

    .iss_hero_image
{
	height: auto;
	max-height: 330px;
	object-fit: cover;
}

    .iss_model_finder
{
	display: block;
	margin: 20px 16px;
	padding: 20px;
}

    .template_iss .iss_model_finder .header_search
{
	margin-top: 16px;
	flex-wrap: wrap;
	border: 0;
	gap: 10px;
	background: transparent;
}

    .template_iss .iss_model_finder input
{
	flex-basis: 100%;
	border: 1px solid var(--iss-line-strong);
	border-radius: 4px;
	background: #fff;
}

    .template_iss .iss_model_finder button
{
	width: 100%;
}

    .template_iss .block_product
{
	padding: 24px 16px 36px;
}

    .template_iss .list_product
{
	gap: 12px;
}

    .template_iss .block_product .item_product
{
	padding: 12px;
}

    .template_iss .item_product h3
{
	font-size: 18px;
}

    .template_iss #wrap_footer
{
	padding: 36px 24px 24px;
}

    .iss_footer_columns
{
	grid-template-columns: 1fr;
	gap: 30px;
}

    .template_iss .iss_footer_columns h2
{
	margin-bottom: 14px;
}

    .iss_footer_bottom
{
	display: block;
	margin-top: 26px;
}

    .iss_footer_bottom > div:last-child
{
	text-align: left;
	margin-top: 18px;
}

}

.template_iss .sidebar .menu
{
	justify-content: stretch;
}

.template_iss .sidebar #list_menu
{
	width: 100%;
}

.template_iss .sidebar #list_menu a
{
	font-family: var(--iss-font-body);
}

.template_iss .header_search input::placeholder
{
	letter-spacing: 0;
	text-transform: none;
	color: var(--iss-muted);
	opacity: 1;
}

.template_iss .block_text .wrap_text h1, .template_iss .block_text .wrap_text h2
{
	font-family: var(--iss-font-heading);
	font-size: 32px;
	line-height: 1.2;
	text-transform: none;
}

.template_iss :is(.iss_home_hero, .block_carousel) .iss_hero_image
{
	object-fit: contain;
	background: #f3f5f6;
}


.template_iss #container_footer .iss_footer_columns ul, .template_iss #container_footer .iss_footer_columns li
{
	list-style: none !important;
}

.template_iss #container_footer address p
{
	font-size: 16px;
	line-height: 1.65;
}

.template_iss .mm-menu
{
	--mm-color-background: #fff;
	--mm-color-text: #303741;
	--mm-color-border: #e1e6e8;
}


.template_iss .sidebar .logo
{
	position: static;
	transform: none;
	top: auto;
	left: auto;
}

.template_iss .item_product .product_headline
{
	font-family: var(--iss-font-heading);
	font-size: 21px;
	font-weight: 600;
	line-height: 1.25;
	text-transform: none;
	letter-spacing: -.01em;
}


:root
{
	--font-text: 'ISS Source Sans';
	--font-text-bold: 'ISS Source Sans';
	--font-hero: 'ISS Source Sans';
}

#mobile_menu .mm-listview > li > a
{
	font-family: var(--iss-font-body);
	font-size: 17px;
	text-transform: none;
	letter-spacing: 0;
	color: var(--iss-ink);
}

#mobile_menu .mm-navbar a
{
	color: var(--iss-ink);
	font-family: var(--iss-font-body);
	text-transform: none;
	letter-spacing: 0;
}


.template_iss .block_product .product_brand
{
	border: 0;
	border-radius: 0;
	max-width: 100%;
	letter-spacing: 0;
	text-align: left;
}
.template_iss .block_product .product_content
{
	font-size: 15px;
	color: var(--iss-muted);
}
@media (max-width: 600px)
{
	.template_iss .block_product .item_product
	{
		padding: 12px;
	}
	.template_iss .item_product .product_headline
	{
		font-size: 18px;
	}
	.template_iss .block_product .product_price
	{
		font-size: 21px;
	}
}

@media (max-width: 900px)
{
	.template_iss .topbar_icon_btn
	{
		min-width: 44px;
		justify-content: center;
	}
	.template_iss #topbar_right
	{
		gap: 0;
	}
	.template_iss #hamburger
	{
		top: 20px;
		right: 10px;
		width: 44px;
		height: 44px;
	}
	.template_iss #hamburger a
	{
		display: flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
	}
}
@media (max-width: 600px)
{
	.template_iss .logo img.iss_logo
	{
		max-width: min(215px, calc(100vw - 184px));
	}
	.template_iss #hamburger
	{
		right: 6px;
	}
}

@media (min-width: 901px) and (max-width: 1150px)
{
	.iss_hero_inner
	{
		min-height: 364px;
	}
	.iss_hero_copy
	{
		padding-top: 32px;
		padding-bottom: 32px;
	}
	.iss_hero_image
	{
		height: 364px;
	}
}

.iss_skiplink:not(:focus)
{
	clip-path: inset(50%);
}

/*******************************************************************
	ISS SHARED CONTENT ALIGNMENT
*******************************************************************/

.template_iss
{
	--iss-content-width: var(--content-frame-width);
	--iss-gutter: 48px;
	--iss-page-inset: max(var(--iss-gutter), calc((100% - var(--iss-content-width)) / 2));
}

.template_iss .sidebar
{
	padding-left: var(--iss-page-inset);
	padding-right: var(--iss-page-inset);
}

.template_iss .block_product,
.template_iss .block_shop_item_filter,
.template_iss .block_shop_shipping_table,
.template_iss .block_cookies,
.template_iss .block_gallery,
.template_iss .block_quote,
.template_iss .block_testimonial,
.template_iss .block_newsletter,
.template_iss .block_contact
{
	padding-left: var(--iss-page-inset);
	padding-right: var(--iss-page-inset);
}

.template_iss .wrap_product,
.template_iss .wrap_shop_item_filter,
.template_iss .wrap_gallery,
.template_iss .wrap_quote,
.template_iss .wrap_testimonial,
.template_iss .block_newsletter .wrap_newletter,
.template_iss .wrap_contact
{
	width: 100%;
	max-width: var(--iss-content-width);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.template_iss .iss_hero_inner,
.template_iss .iss_model_finder,
.template_iss .block_logos,
.template_iss .block_text .wrap_text,
.template_iss .block_textimage,
.template_iss .wrap_feature,
.template_iss .wrap_image-feature,
.template_iss .block_blog,
.template_iss .wrap_shop_buy_box,
.template_iss .wrap_shop_checkout_flow,
.template_iss .block_tab_content .wrap_tab_content,
.template_iss #wrap_footer
{
	width: calc(100% - var(--iss-gutter) * 2);
	max-width: var(--iss-content-width);
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

.template_iss .block_text .wrap_text,
.template_iss .block_textimage,
.template_iss .wrap_feature,
.template_iss .wrap_image-feature,
.template_iss .block_blog,
.template_iss .wrap_shop_buy_box,
.template_iss .wrap_shop_checkout_flow,
.template_iss .block_tab_content .wrap_tab_content,
.template_iss #wrap_footer
{
	padding-left: 0;
	padding-right: 0;
}

.template_iss .iss_hero_copy
{
	padding-left: 0;
	padding-right: 28px;
}

@media (min-width: 901px)
{
	.template_iss .block_logos
	{
		position: relative;
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.template_iss .block_logos .logos_nav
	{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}

	.template_iss .block_logos .logos_prev
	{
		right: calc(100% + 4px);
	}

	.template_iss .block_logos .logos_next
	{
		left: calc(100% + 4px);
	}

	.template_iss .block_logos .logos_nav:active
	{
		transform: translateY(-50%) scale(0.98);
	}
}

@media (min-width: 901px)
{
	.template_iss #topbar
	{
		right: var(--iss-page-inset);
	}
}

@media (max-width: 900px)
{
	.template_iss
	{
		--iss-gutter: 30px;
	}
}

@media (max-width: 600px)
{
	.template_iss
	{
		--iss-gutter: 14px;
	}
}

.template_iss .iss_legal_guarantee
{
	position: fixed;
	right: 30px;
	bottom: 30px;
	z-index: 100;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	max-width: calc(100vw - 60px);
	min-height: 44px;
	padding: 12px 22px;
	border: 1px solid var(--iss-line);
	border-radius: 999px;
	background: #fff;
	color: var(--iss-ink);
	font-family: var(--iss-font-body);
	font-size: 16px;
	line-height: 1.4;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 6px 24px rgba(33,48,58,.12);
	transition: color .2s ease, border-color .2s ease;
}

.template_iss .iss_legal_guarantee:hover,
.template_iss .iss_legal_guarantee:focus-visible
{
	color: var(--iss-accent-dark);
	border-color: var(--iss-accent-dark);
}

/* Formatting for content authored in the Hive editor. */
.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body)
{
	font-size: 17px;
	line-height: 1.65;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(h1, h2, h3, h4, h5, h6)
{
	max-width: 100%;
	margin: 1.4em 0 .6em;
	font-family: var(--iss-font-heading);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: normal;
	text-transform: none;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) h1
{
	font-size: clamp(30px, 3vw, 40px);
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) h2
{
	font-size: clamp(26px, 2.5vw, 32px);
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) h3
{
	font-size: 26px;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) h4
{
	font-size: 22px;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) h5
{
	font-size: 19px;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) h6
{
	font-size: 17px;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) > :first-child
{
	margin-top: 0;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) p
{
	margin: 0 0 1em;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(ul, ol)
{
	margin: 0 0 1em;
	padding-left: 1.6em;
	list-style-position: outside;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) ul
{
	list-style-type: disc;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) ol
{
	list-style-type: decimal;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) ul ul
{
	list-style-type: circle;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) ul ul ul
{
	list-style-type: square;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) li
{
	margin: .3em 0;
	font-size: inherit;
	line-height: inherit;
	list-style-type: inherit;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) li > :is(ul, ol)
{
	margin: .3em 0;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(b, strong)
{
	font-weight: 700;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(i, em)
{
	font-style: italic;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(u, ins)
{
	text-decoration: underline;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(s, strike, del)
{
	text-decoration: line-through;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(sup, sub)
{
	font-size: .75em;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) sup
{
	top: -.5em;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) sub
{
	bottom: -.25em;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) blockquote
{
	margin: 1.5em 0;
	padding: .8em 1.2em;
	border-left: 3px solid var(--iss-accent);
	background: var(--iss-surface-raised);
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(code, pre)
{
	font-family: monospace;
	font-size: .9em;
	background: var(--iss-surface-raised);
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) code
{
	padding: .15em .35em;
	border-radius: 3px;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) pre
{
	padding: 1em;
	margin: 1em 0;
	max-width: 100%;
	box-sizing: border-box;
	overflow-x: auto;
	white-space: pre;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) pre code
{
	padding: 0;
	font-size: inherit;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) table
{
	max-width: 100%;
	margin: 1.5em 0;
	border-collapse: collapse;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) :is(th, td)
{
	padding: .65em .85em;
	border: 1px solid var(--iss-line-strong);
	font-size: inherit;
	line-height: inherit;
	vertical-align: top;
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) th
{
	font-weight: 700;
	background: var(--iss-surface-raised);
}

.template_iss :is(.block_text .wrap_text, .block_textimage .wrap_text_left, .block_textimage .wrap_text_right, .tab_content_body) hr
{
	margin: 1.5em 0;
	border: 0;
	border-top: 1px solid var(--iss-line-strong);
}

/*******************************************************************
	ISS COOKIE SETTINGS
*******************************************************************/

.template_iss .block_cookies
{
	padding-top: 38px;
	padding-bottom: 38px;
}

.template_iss .wrap_cookies
{
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 30px 34px;
	color: var(--iss-ink);
}

.template_iss .wrap_cookies:empty
{
	display: none;
}

.template_iss .wrap_cookies h2
{
	flex-basis: 100%;
	margin: 0 0 8px;
	font-size: 24px;
	line-height: 1.3;
}

.template_iss .wrap_cookies #list_cookie
{
	display: flex;
	flex-wrap: wrap;
	gap: 12px 32px;
	flex-basis: 100%;
	list-style: none;
	margin: 0 0 12px;
	padding: 0 0 24px;
	border-bottom: 1px solid var(--iss-line);
}

.template_iss .wrap_cookies .item_cookie
{
	list-style: none;
	margin: 0;
	padding: 0;
}

.template_iss .wrap_cookies .item_cookie p
{
	margin: 0;
	font-size: 17px;
	line-height: 1.6;
}

.template_iss .wrap_cookies .cookie_checkbox
{
	width: 20px;
	height: 20px;
	margin: 12px 10px 12px 0;
	vertical-align: middle;
	accent-color: var(--iss-accent-dark);
	cursor: pointer;
}

.template_iss .wrap_cookies .cookie_checkbox:disabled
{
	cursor: default;
}

.template_iss .wrap_cookies .item_cookie_headline b
{
	font-weight: 500;
}

.template_iss .block_contact .checkout_button_forward,
.template_iss .wrap_cookies .cookie_button,
.template_iss .block_shop_checkout_flow :is(.shop_checkout_review_button, .shop_checkout_confirm_submit, .shop_checkout_finalize_button, .shop_checkout_confirm_back)
{
	min-height: 44px;
	max-width: 100%;
	padding: 10px 20px;
	border: 1px solid var(--iss-accent-dark);
	border-radius: 4px;
	background: var(--iss-accent-dark);
	color: #fff;
	font: inherit;
	font-size: 16px;
	line-height: 1.4;
	cursor: pointer;
}

.template_iss .block_shop_checkout_flow :is(.shop_checkout_review_button, .shop_checkout_confirm_submit, .shop_checkout_finalize_button, .shop_checkout_confirm_back)
{
	letter-spacing: normal;
	text-transform: none;
}

.template_iss .instant_checkout_link,
.template_iss .shop_checkout_delivery_toggle,
.template_iss .cart_checkout_link
{
	border-radius: 4px;
}

.template_iss .shop_checkout_password_submit
{
	border-radius: 0 4px 4px 0;
}

.template_iss .block_shop_checkout_flow .shop_checkout_confirm_back
{
	background: transparent;
	border-color: var(--iss-line-strong);
	color: var(--iss-ink);
}

.template_iss .block_contact .checkout_button_forward:hover,
.template_iss .wrap_cookies .cookie_button:hover,
.template_iss .block_shop_checkout_flow :is(.shop_checkout_review_button, .shop_checkout_confirm_submit, .shop_checkout_finalize_button, .shop_checkout_confirm_back):hover
{
	background: var(--iss-ink);
	border-color: var(--iss-ink);
	color: #fff;
}

.template_iss .block_contact :is(input, textarea, button):focus-visible,
.template_iss .wrap_cookies :is(.cookie_button, .cookie_checkbox):focus-visible,
.template_iss .block_shop_checkout_flow :is(.shop_checkout_review_button, .shop_checkout_confirm_submit, .shop_checkout_finalize_button, .shop_checkout_confirm_back):focus-visible
{
	outline: 2px solid var(--iss-accent-dark);
	outline-offset: 3px;
}

@media (max-width: 600px)
{
	.template_iss .wrap_cookies
	{
		padding: 22px 20px;
	}

	.template_iss .wrap_cookies #list_cookie
	{
		flex-direction: column;
		gap: 4px;
	}

	.template_iss .wrap_cookies .cookie_button
	{
		width: 100%;
	}
}

/*******************************************************************
	ISS CONTACT AND DYNAMIC FORMS
*******************************************************************/

.template_iss .block_contact
{
	padding-top: 38px;
	padding-bottom: 38px;
}

.template_iss .wrap_contact
{
	padding: 30px 34px;
	color: var(--iss-ink);
}

.template_iss .block_contact :is(.container_support, #wrap_support_userdata)
{
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.template_iss .block_contact :is(.field, .wrap_support_message)
{
	margin: 0;
	padding: 0;
	border: 0;
}

.template_iss .block_contact :is(.field, .wrap_support_message)::after,
.template_iss .block_contact .checkout_button_forward::before
{
	content: none;
}

.template_iss .block_contact :is(.field > label, .wrap_support_message > label)
{
	display: block;
	margin: 0 0 8px;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: normal;
	text-transform: none;
}

.template_iss .block_contact :is(input:not([type="checkbox"]):not([type="hidden"]), textarea, select)
{
	display: block;
	width: 100%;
	margin: 0;
	padding: 11px 14px;
	border: 1px solid var(--iss-line-strong);
	border-radius: 4px;
	background: #fff;
	color: var(--iss-ink);
	font: inherit;
	font-size: 17px;
	line-height: 1.4;
	letter-spacing: normal;
	box-shadow: none;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
}

.template_iss .block_contact input:not([type="checkbox"]):not([type="hidden"])
{
	min-height: 46px;
}

.template_iss #form_contact :is(input, textarea)::placeholder
{
	color: transparent;
}

.template_iss .block_contact textarea
{
	min-height: 150px;
	resize: vertical;
}

.template_iss .block_contact :is(input, textarea):focus
{
	border-color: var(--iss-accent-dark);
}

.template_iss .block_contact input[id$="_error"]
{
	border-color: #ad3030;
}

.template_iss .block_contact input[type="checkbox"]
{
	width: 20px;
	height: 20px;
	accent-color: var(--iss-accent-dark);
}

.template_iss .block_contact .dynamic_form_checkbox_label
{
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.template_iss .block_contact .dynamic_form_divider
{
	margin: 0;
	border-color: var(--iss-line);
	opacity: 1;
}

.template_iss .block_contact .container_checkoutbuttons
{
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--iss-line);
}

.template_iss .block_contact .checkout_button_forward
{
	letter-spacing: normal;
	text-transform: none;
	transform: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.template_iss .block_contact .checkout_button_forward:disabled
{
	opacity: 0.6;
	cursor: default;
}

@media (max-width: 600px)
{
	.template_iss .wrap_contact
	{
		padding: 22px 20px;
	}

	.template_iss .block_contact .checkout_button_forward
	{
		width: 100%;
	}
}

/* CMS Carousel slides use the same composition as the ISS homepage hero. */
.template_iss .block_carousel
{
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: #f3f5f6;
}

.template_iss .block_carousel .carousel_track > .block_textimage
{
	display: block;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: inherit;
}

.template_iss .block_carousel .iss_hero_inner
{
	width: calc(100% - var(--iss-gutter) * 2);
	max-width: var(--iss-content-width);
	margin: 0 auto;
	box-sizing: border-box;
}

.template_iss .block_carousel .iss_hero_inner > :last-child
{
	min-width: 0;
}

.template_iss .block_carousel .iss_hero_copy h4
{
	color: var(--iss-accent-dark);
	margin-bottom: 20px;
}

.template_iss .block_carousel .carousel_dot[aria-current="true"]::before
{
	background: var(--iss-accent-dark);
}

/* Product badges are hidden until approved for the ISS template. */
.template_iss .block_product .product_badges
{
	display: none;
}
