/* Raystorm frontend bundle: modern-shop */

/* source: layout/modern/assets/css/navigation_shop.css */
/* ================================
   SHOP NAVIGATION DESKTOP
================================ */

#nav {
	position: relative;
	z-index: 999;
	margin-top:30px;
}

#nav .nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

#nav .nav > li {
	position: relative;
}

#nav .nav > li > a {
	display: flex;
	align-items: center;
	min-height: 54px;
	padding: 0 16px;
	color: #222;
	text-decoration: none;
	font-size: 15px;
	font-weight: 600;
	border-radius: 999px;
	transition: background 0.2s ease, color 0.2s ease;
}

#nav .nav > li:hover > a,
#nav .nav > li.active > a {
	background: #f1f1f1;
	color: #000;
}

/* Pfeil für Menüpunkte mit Untermenü */
#nav .nav > li > a.parent::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-left: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	opacity: 0.65;
}

/* Dropdown */
#nav .sub-level {
	display: none;
	position: absolute;
	left: 0;
	top: 100%;
	min-width: 260px;
	margin: 0;
	padding: 12px;
	list-style: none;
	background: #fff;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 18px;
	box-shadow: 0 18px 45px rgba(0,0,0,0.16);
	z-index: 99999;
}

#nav .nav > li:hover > .sub-level {
	display: block;
}

#nav .sub-level li {
	position: relative;
}

#nav .sub-level a {
	display: block;
	padding: 11px 14px;
	color: #222;
	text-decoration: none;
	font-size: 14px;
	font-weight: 500;
	border-radius: 12px;
	white-space: nowrap;
	transition: background 0.2s ease, color 0.2s ease;
}

#nav .sub-level a:hover {
	background: #f4f4f4;
	color: #000;
}

/* Unter-Untermenüs */
#nav .sub-level .sub-level {
	left: 100%;
	top: 0;
}

#nav .sub-level li:hover > .sub-level {
	display: block;
}

.mobile-account-nav {
	display: none;
}

.shop-submenu-toggle {
	display: none;
}


/* ================================
   BURGER BUTTON
================================ */

.mobile-nav-toggle {
	display: none;
	top:20px;
	width: 44px;
	height: 44px;
	border: 0;
	background: transparent;
	padding: 8px;
	cursor: pointer;
	position: relative;
	z-index: 100001;
}

.mobile-nav-toggle span {
	display: block;
	width: 26px;
	height: 2px;
	margin: 6px auto;
	background: #222;
	border-radius: 2px;
	transition: transform 0.25s ease, opacity 0.25s ease;
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(1) {
	transform: translateY(8px) rotate(45deg);
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(2) {
	opacity: 0;
}

body.mobile-nav-open .mobile-nav-toggle span:nth-child(3) {
	transform: translateY(-8px) rotate(-45deg);
}


/* ================================
   MOBILE OFFCANVAS
================================ */

@media (max-width: 1280px) {

	body.mobile-nav-open {
		overflow: hidden;
	}

	.mobile-nav-toggle {
		display: block;
	}

	#nav {
		position: fixed;
		left: -330px;
		top: 50px;
		width: 310px;
		height: 100vh;
		background: #fff;
		z-index: 30;
		box-shadow: 16px 0 45px rgba(0,0,0,0.20);
		transition: left 0.28s ease;
		overflow-y: auto;
		padding: 76px 18px 24px;
		box-sizing: border-box;
	}

	body.mobile-nav-open #nav {
		left: 0;
	}

	#nav::before {
		content: "Menü";
		position: absolute;
		left: 22px;
		top: 24px;
		font-size: 20px;
		font-weight: 700;
		color: #111;
	}

	#nav .nav {
		display: block;
	}

	#nav .nav > li {
		position: relative;
		border-bottom: 1px solid rgba(0,0,0,0.08);
	}

	.shop-submenu-toggle {
		position: absolute;
		top: 7px;
		right: 0;
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #222;
		cursor: pointer;
	}

	.shop-submenu-toggle::before {
		width: 9px;
		height: 9px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		content: "";
		transform: translateY(-3px) rotate(45deg);
		transition: transform .2s ease;
	}

	#nav li.open > .shop-submenu-toggle::before {
		transform: translateY(3px) rotate(225deg);
	}

	#nav .nav > li > a {
		min-height: 0;
		padding: 15px 36px 15px 0;
		border-radius: 0;
		font-size: 16px;
		background: transparent;
	}

	#nav .nav > li:hover > a,
	#nav .nav > li.active > a {
		background: transparent;
		color: #000;
	}

	#nav .nav > li > a.parent::after { display: none; }

	#nav .sub-level {
		display: none;
		position: static;
		min-width: 0;
		padding: 0 0 12px 14px;
		margin: 0;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	#nav .nav > li:hover > .sub-level {
		display: none;
	}

	#nav .nav > li.open > .sub-level {
		display: block;
	}

	#nav .sub-level a {
		padding: 10px 0;
		border-radius: 0;
		font-size: 14px;
		white-space: normal;
		opacity: 0.85;
	}

	#nav .sub-level a:hover {
		background: transparent;
	}

	#nav .sub-level .sub-level {
		display: none;
		position: static;
		padding-left: 14px;
	}

	#nav .sub-level li.open > .sub-level {
		display: block;
	}

	.mobile-account-nav {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		margin-top: 20px;
		padding-top: 18px;
		border-top: 1px solid rgba(0,0,0,0.12);
	}

	.mobile-account-nav__main {
		display: flex;
		align-items: center;
		gap: 11px;
		min-width: 0;
		color: #222;
		font-size: 15px;
		font-weight: 700;
		text-decoration: none;
	}

	.mobile-account-nav__main img {
		width: 22px;
		height: 22px;
		object-fit: contain;
	}

	.mobile-account-nav__logout {
		flex: 0 0 auto;
		color: #6c777c;
		font-size: 12px;
		font-weight: 600;
		text-decoration: none;
	}
}


/* ================================
   MOBILE BACKDROP
================================ */

.nav-backdrop {
	display: none;
	-position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.45);
	z-index: 99999;
}

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


/* source: layout/modern/assets/css/mobile_shop.css */

	
@media only screen and (max-width:1280px) 

	{ 
		#logo { 
		
		
		}
		
		#logo { 
		left: 50% !Important;
		margin-left:-100px !Important;
		
		}
		
		nav { 	
		right:0 !Important;
		margin-right:0 !Important;
		}
		
		#outer, #header, .tophead, #page, #container,  #footer  {
		width: 100% !Important;
		}
		
		#main ,#main_1	 {
		width: 90% !Important;
		}
	
		.content {}
		
		
		
	
			
		ul.produkt_ek li{	
			
			width:48% !Important;
	}    
	
	
	
		.produkt_einzel_klein { 	
			width:90% !Important;
			padding:2% !Important;
			margin: 0 Auto !Important;
			min-height:auto;
			}
		.produkt_artikel_pic img{ width:100%;text-align:center;	}
		
		.teilen50{width:100% !Important;}
	
		.footer_left, .footer_center, .footer_right{width:100% !Important; text-align:center !Important;}

       		
		.cat-text {padding:0 5% !Important; margin: 80px 0 !Important;}
		
		
		
		
		#logo {
			
		padding: 0 !Important;	
		}
		
		.content{margin-top:50px;}
		
		.cart{  
		   
			right: 70px !Important;
			margin-right: 0 !Important;
			text-align:center  !Important;
		
			}
		.cart-list .teilen100{width:90% !Important; margin:0 5% !Important; }



		
		
		
	}	


@media only screen and (max-width:640px) 
	{
		
		
		
		.warenkorb_td {margin-bottom:20px; border:1px dashed #aaa;padding:7px;}
		
		
		.warenkorb_split {width:100% !Important; float:left; margin:5px 0;}

		.warenkorb_split .wc00 {width:20% !Important;}
		.warenkorb_split .wc01 {width:80% !Important;}
		
		.warenkorb_split .wc02 {width:45% !Important; text-align:left !Important;}
		.warenkorb_split .wc03 {width:45% !Important;}
		.warenkorb_split .wc04 {width:10% !Important;}
		
		
		.shop-actions .login {	display: none;	}
	
		
		.col50.versand{width:100% !important;}
		.col50.versandp{width:100% !important;}
		
		.col50.netto{width:50% !important;}
		.col50.nettop{width:50% !important;text-align:right;}
		
		.col50.versandk{width:50% !important;}
		.col50.versandkp{width:50% !important;text-align:right;}
		
		.col50.mwst{width:50% !important;}
		.col50.mwstp{width:50% !important;text-align:right;}
		
		.col50.gesamt{width:50% !important;}
		.col50.gesamtp{width:50% !important; text-align:right;}
		
		
		#logo img {
		
		width: 200px !Important;
		
		 
		}
		
		
		.cart_nav .cart_img{
				top:20px !Important;
				right:0 !Important;
		}
		
		.login{ top:18px !Important; 
				right:40px !Important; }
		
		
		.bannerverwaltung {
    		margin-top: 90px !Important;
   		}
		
		#page {
		
		}
		
		.content{ padding: 0 5% 0 5% !Important; }
		
		.back_container{text-align:center !Important;}
		
		ul.produkt_ek li
		{ width:50% !Important; 	
		}
		
		
		
		.produkt_artikel_pic img{ width:100% !Important;text-align:center;	}
		
		input.submit{width:100%;}
		
		.panels {width:100% !Important;}
		
		.art_content .art_text, .art_preis {}
		
		.produkt_artikel_preis {
		width:100%;
		bottom:10px !Important; 
		left:0px !Important; 
		font-size:1em;
		font-weight:600;
		color:#000;
		}
		
		#form_bezahlen {
		width:100% !Important;
		}
		
		#form_abschicken{
		width:80% !Important;
		margin:20px 10% !Important;
		}

		.produkt_einzel_gross .art .art_content {}
		
		.produkt_einzel_klein .produkt_artikel_info{ padding-top:0px !Important; font-size:1em; font-weight:600;}
		
		
		}
		
		
		
	
		.cart{  
		    position: absolute;
			top: 20px;
			width: 50px;
			height: 50px;
			right: 70px !Important;
			margin-right: 0 !Important;
			text-align:center  !Important;
		
			}	

		.cart_nav .anzahl{
		
		top:35px !Important;
		right:-10px !Important;
		}



			
			#form_variation,#form_variation2{width:100% !Important;}
			
			.art_preis .preis { font-size:20px !Important; }
			
			ul.sub-cat {margin: 50px 0 ; }

		    .sub-cat li {
			
			width:calc(80% - 30px) !Important;	
			margin-right:10% !Important;			
			margin-left:10% !Important;
			
			
			}

		.sub-cat li a{text-decoration:none;  }
			
			
		.block_rechnungsadresse,.block_bezahlmethode, .agb_check {width:100% !Important;}
			
		.block_rechnungsadresse	textarea {width:95% !Important;}
		
		#form_bestellen {width:70% !Important; margin: 15px 15% !Important;}
		
		.input_wrapper input{
	
		width: calc(100% - 0px) !Important;
		}


		.teilen33{ width:100% !Important;}
		
.input_wrapper textarea{
	
	width: calc(90% - 6px);
	border:1px solid #ccc;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding-top: 1.5em;
    padding-bottom: 0.3571428571em;
	padding-left:0.9166666667em;
	
	font: inherit;
	-webkit-box-sizing: border-box; 
    box-sizing: border-box;
    width: 100%;
    word-break: normal;
    line-height: inherit;
	
}
		.client_nav {width:100%; margin:25px 0 ;}
		
		.client_area ul {list-style:none;}
		
		.client_area li a{ float:left; width:50%; text-align:left; text-decoration:none; color:#000; padding:5px; margin:3px 5%; border:1px solid #000;}
		
		
		#benutzerdaten {width:80%;margin-left:10%;}
		
		.bestellung-row, #bestellung-adresse {text-align:center;margin-bottom:20px;}
		
		#bestellungen {width:100%;}
		
		#bestellungen table {width:80% !Important; margin-left:10%;}
			
	}


/* source: layout/modern/assets/css/shop.css */
/* >
$root = "DOCROOT"
< */
/* HTML5 âœ° Boilerplate
* ==|== normalize ==========================================================


*/

/*>
	$hintergrund = "transparent"
	$nav_color = "#820A0C"
	$footer = 'transparent'
	$url = "DOCROOT"
	$client-color = "#cc0000"
	$client_font = " 'Yaldevi', sans-serif"
	

	obj navigation
		$font-color = "#000000"
		$font-color-hover = "#f"
		$normal = "#ffffff"
		$hover = "#dddddd"
		
		
	end
	
	

	obj main_menu
		; 3 buttons
		$background = "#fff"
		$color = "black"
		$hover = "#000"
	end

	obj login_box
		; login box
		$border_color = "#000"
	end
  <*/



/* yesteryear-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Yesteryear';
  font-style: normal;
  font-weight: 400;
  src: url('/assets/fonts/yesteryear-v21-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

.top-notice {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #f5c542;
  color: #222;
  z-index: 9999;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
}

.top-notice__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10px 16px;
  text-align: center;
  font-size: 14px;
  line-height: 1.4;
}


article, aside, details, figcaption, figure, footer, header, hgroup, nav, section {
	display: block;
}
audio, canvas, video {
	display: inline-block;
	*display: inline;
	*zoom: 1; 
}
audio:not([controls]) {
	display: none;
}

html {
	font-size: 100%;
	overflow-y: scroll;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
button, input, select, textarea {
	font-family: sans-serif;
	color: #fff;
}
::-moz-selection {
	background: #790005;
	color: #fff;
	text-shadow: none;
}
::selection {
	background: #790005;
	color: #fff;
	text-shadow: none;
}
abbr[title] {
	border-bottom: 1px dotted;
}
b, strong {
	font-weight: bold;
}
blockquote {
	margin: 1em 40px;
}
dfn {
	font-style: italic;
}
hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #ccc;
	margin: 1em 0;
	padding: 0;
}
ins {
	background: #ff9;
	color: #000;
	text-decoration: none;
}
mark {
	background: #F2ED13;
	color: #000;
	font-style: italic;
	font-weight: bold;
}
pre, code, kbd, samp {
	font-family: monospace, monospace;
	_font-family: 'courier new', monospace;
	font-size: 1em;
}
pre {
	white-space: pre;
	white-space: pre-wrap;
	word-wrap: break-word;
}
q {
	quotes: none;
}
q:before, q:after {
	content: "";
	content: none;
}
small {
	font-size: 85%;
}
sub, sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}
sup {
	top: -0.5em;
}
sub {
	bottom: -0.25em;
}
ul, ol {
	margin: 1em 0;
	padding: 0 0 0 40px;
}
dd {
	margin: 0 0 0 40px;
}
nav ul, nav ol {
	list-style: none;
	list-style-image: none;
	margin: 0;
	padding: 0;
}
img {
	border: 0;
	-ms-interpolation-mode: bicubic;
	vertical-align: middle;
}
svg:not(:root) {
	overflow: hidden;
}
figure {
	margin: 0;
}
form {
	margin: 0;
}
fieldset {
	border: 0;
	margin: 0;
	padding: 0;
}
label {
	cursor: pointer;
}
legend {
	border: 0;
	*margin-left: -7px;
	padding: 0;
}
button, input, select, textarea {
	font-size: 100%;
	margin: 0;
	-vertical-align: baseline;
	*vertical-align: middle;
}
button, input {
	line-height: normal;
	*overflow: visible;
}
table button, table input {
	*overflow: auto;
}
button, input[type="button"], input[type="reset"], input[type="submit"] {
	cursor: pointer;
	-webkit-appearance: button;
}
input[type="checkbox"], input[type="radio"] {
	box-sizing: border-box;
}
input[type="search"] {
	-webkit-appearance: textfield;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
	box-sizing: content-box;
}
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}
button::-moz-focus-inner, input::-moz-focus-inner {
	border: 0;
	padding: 0;
}
textarea {
	overflow: auto;
	vertical-align: top;
	-resize: vertical;
}
input:valid, textarea:valid {
}
input:invalid, textarea:invalid {
	background-color: #FEF4E2;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0px;
	padding: 0px;
}
td {
	vertical-align: top;
}
p {
	margin: 0px;
	padding: 0px;
}
   

   
   
   


 

   
#lang {
	display: none;
	position: absolute;
	top: 10px;
	right: 5px;
	font-size: 10px;
	z-index: 1520;
	width: 100px;
}
.language_selection .de {
	background: url('/assets/img/layout/de.jpg') 0 0 no-repeat;
	display: block;
	width: 25px;
	height: 15px;
	text-indent: -9999px;
}
.language_selection .en {
	background: url('/assets/img/layout/en.jpg') 0 0 no-repeat;
	display: block;
	width: 25px;
	height: 15px;
	text-indent: -9999px;
}
.language_selection ul {
	list-style: none;
}
.language_selection li {
	display: inline;
	float: left;
	-padding: 5px 10px;
}
.language_selection a {
}
.language_selection a.active {
}
   
body{
 
	font-family: 'Open Sans', sans-serif;
	font-size: 16px;
	width:100%;
	background: #FFF;
 }

 p {line-height: 1.4em;margin-bottom:14px;}

#outer {
	width: 100%;
	margin: 0px auto;	
	
}
#page {
	
	
}


.artikel-option{ padding:7px 0;}

.artikel-option label{ display:block; margin:0;}

.artikel-option input{padding:10px; color:#000; text-size:1.2em;}

header {
	position: fixed;
	top: 0;
	width: 100%;
	height: 90px;
	max-height: 90px; /* Zwingt die Box, NIEMALS den Viewport zu fluten */
	-overflow: hidden;   /* Schneidet unsichtbaren Leerlauf nach unten radikal ab */
	background: rgba(255,255,255,0.9);
	z-index: 11;
	box-shadow: 0 -1px #e0e0e0 inset;
} 

.content{padding:20px;}

.pay_logo {width:300px;}

.subtext {position:absolute;bottom:0px;left:50%; font-family: 'Open Sans', sans-serif; font-size: 23px;color:#000;}


#container {
	width:80%;
	margin: 0 auto;
	border: 0px #ddd solid;
}

#logo {
	position: absolute;
	left: 20px;
	top: 10px;
	z-index:1001;
	padding: 0px; 
	
}

#logo img {
	padding: 0;
	width: 240px;
	
	 -webkit-filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
  filter: drop-shadow(3px 3px 3px rgba(0,0,0,0.2));
	
	
}

.bannerverwaltung{
		position:relative; 
		width:100%;
		margin:0 auto;
		overflow:hidden;
		z-index:5;
		}

.bannerverwaltung video{width:100%; }

.bannerverwaltung a img, .bannerverwaltung img{ text-align:center; width:100%;}


/* Slider */
#mySlider {
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Slides übereinander */
#mySlider li {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.6s ease;
}

/* Aktiver Slide gibt die Höhe vor */
#mySlider li.active {
  position: relative;
  opacity: 1;
  z-index: 1;
}

/* Bilder/Videos */
#mySlider img,
#mySlider video {
  width: 100%;
  height: auto;
  display: block;
}


	
#toolbar {z-index:1003;position:absolute; right:0px; top:60px; text-align:right;}
#toolbar img{width:50px;margin-right:5px;}



.bottom_nav{ width:100%; height:40px; background:transparent;  position:fixed;  right:0; margin-top:0px;z-index:100;}	

#header hgroup,
#header figure {
	float: left;
}



#main h3,
nav h3 {
	font-size: 13pt;
	margin: 5px 0;
	color:#000;
}

#main h1,#main h2,#main h3 {
	
	font-family: 'Raleway', sans-serif;
	font-size:20px;
	margin-bottom: 20px;
	color:#000;
	padding-bottom:5px;
	font-weight: 400; 
}

#main, #main_1, #grey {
	position:relative;
	width: 1400px;
	margin: 0 auto;
	padding-bottom: 20px;
	line-height:20px;
	
}

#main hr {
	background:#715643;
	color:#715643;
	border:none;
	margin:0px;
	padding:0px;
}



#footer {
	color: #fff;
	width:100%;
	height:200px;
	margin: 0 auto;
	margin-top:50px;
	font-size:13px;
	padding:12px 0 20px 0;
	text-align: center;
	background: #434343; /* background befindet sich in app/views/layout/index.php */
	
	
   
}

#footer div.text a {
	color:#fff;
	text-decoration:underline;
}

#footer div.text a:hover {
	color:#fff;
	text-decoration:underline;
}

#footer div.text {
	
}

/* --------------------  Shop Styling --------------------------------------- */



.cart-list {padding:20px;}
.cart-list h3{color:#182545 !Important; border-bottom:1px solid #182545 !Important;}



#form_aktualisieren {margin-left:20px: }
#form_aktualisieren:hover {background:#ccc; }




#form_aktualisieren {display:none;}


#form_bestellen {
	cursor: pointer;
	width: 30%;
	margin:20px 35%;
	border:none;
	-float:right;
	background:#182545;
	color:#fff;
	padding: 15px;
	transition-duration: 0.5s;

}
#form_bestellen:hover{
	background:#009933;
		-webkit-box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
                box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
				
}

#form_bezahlen {
	padding:10px 25px;
	border:none;
	width:50%;
	background:#182545;
	color:#fff;
	transition-duration: 0.5s;
}
#form_bezahlen:hover{
	background:#009933 !Important;
		-webkit-box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
                box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
				
				padding:10px 80px;
}



#form_abschicken{
	width:30%;
	margin:20px 35%;
	
	transition-duration: 0.5s;
	padding:10px 30px;
	background:#182545;
	color:#fff;
	border:none;
}

.cart-list .back{
	width:20%;
	margin:20px 40%;
	transition-duration: 0.5s;
	padding:10px 0;
	background:#ccc;
	color:#fff;
	border:none;}

#form_abschicken:hover{
	background:#009933;
	padding:10px 80px;
}


.panels {width:50%;float:left;margin-top:50px;}

.agb_check {float:left; width:100%; padding:10px 0; }
.agb_checkcheck_error{float:left; width:100%; padding:10px 0; border:1px dashed red; }


.agb_check input, .agb_checkcheck_error input{ float:left; }
.agb_check label, .agb_checkcheck_error label{width:100%; line-height:25px; text-indent:10px;}

.check_error {
	border: 3px solid #cc0000 !Important;
	padding: 5px  !Important;
	
}


.warenkorb{ width:200px;}

.warenkorb_tr th {
	color: #000;
	padding-bottom:10px;
}


.cart-list .col100.versand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;

	margin: 0 0 18px 0;
	padding: 16px 18px;

	background: #f7f7f7;
	border: 1px solid #e1e1e1;
	border-radius: 12px;

	font-size: 15px;
	font-weight: 600;
	color: #222;
}

.cart-list .col100.versand select {
	min-width: 260px;
	max-width: 100%;

	padding: 10px 42px 10px 14px;

	border: 1px solid #ccc;
	border-radius: 8px;
	background-color: #fff;

	font-size: 15px;
	font-weight: 500;
	color: #222;

	cursor: pointer;
	outline: none;
}

.cart-list .col100.versand select:focus {
	border-color: #222;
	box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
}

.cart-list .col100.versand select:hover {
	border-color: #999;
}

@media (max-width: 600px) {
	.cart-list .col100.versand {
		display: block;
	}

	.cart-list .col100.versand select {
		width: 100%;
		margin-top: 10px;
	}
}


.cart-list .teilen100{width:30%; margin:0 35%; padding:3px 0;}

.cart-list #form_abschicken {}

.warenkorb_split {width:33%; float:left;}

.warenkorb_split div {width:50%; float:left;}

.warenkorb_td {margin-bottom:20px; border:1px dashed #aaa; padding:15px;}


		
		
		.warenkorb_split {width:50%; float:left;}

		.warenkorb_split .wc00 {width:20%; float:left;}
		.warenkorb_split .wc01 {width:80%; float:left;}
		
		.warenkorb_split .wc02 {width:45%; float:left;text-align:right;}
		.warenkorb_split .wc03 {width:45%; float:left;text-align:right;}
		.warenkorb_split .wc04 {width:10%; float:left; text-align:right;}

		.col50.versand{width:100% !important;}
		.col50.versandp{width:100% !important;}
		
		.col50.netto{width:50% !important;}
		.col50.nettop{width:50% !important;text-align:right;}
		
		.col50.versandk{width:50% !important;}
		.col50.versandkp{width:50% !important;text-align:right;}
		
		.col50.mwst{width:50% !important;}
		.col50.mwstp{width:50% !important;text-align:right;}
		
		.col50.gesamt{width:50% !important;}
		.col50.gesamtp{width:50% !important; text-align:right;}
		
		
		
		.warenkorb_td2 {margin-bottom:20px; }
		
		.warenkorb_split2 {width:100%; border:1px dashed #aaa;padding:15px 0; margin:5px 0;}

		.warenkorb_split2 .wc00 {width:10%; float:left; text-indent:15px;}
		.warenkorb_split2 .wc01 {width:40%; float:left;}
		
		.warenkorb_split2 .wc02 {width:25%; float:left;text-align:right;}
		.warenkorb_split2 .wc03 {width:23%; float:left;text-align:right;padding-right:2%;}
		

	/* -------------------- in Warenkorb --------------------------------------- */	
		
		.cart-options {
	margin: 5px 0 0 0;
	padding-left: 16px;
	font-size: 0.9em;
	opacity: 0.85;
}

.cart-options li {
	margin: 2px 0;
}

.qty-stepper {
	display: inline-flex;
	align-items: center;
	border: 1px solid #ddd;
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
	height: 44px;
}

.qty-stepper .qty-input {
	width: 56px;
	height: 44px;
	border: 0;
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	background: transparent;
	padding: 0;
	-moz-appearance: textfield;
	color:#000;
}

.qty-stepper .qty-input::-webkit-outer-spin-button,
.qty-stepper .qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.qty-stepper .qty-btn {
	width: 42px;
	height: 44px;
	border: 0;
	background: #f5f5f5;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
	padding: 0;
	color:#000;
}

.qty-stepper .qty-btn:hover {
	background: #e9e9e9;
}

.in_warenkorb {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin:25px 0;
}



		
		

.warenkorb_td input {
	color: #000;
	border:1px solid #000;
	padding:3px;
	width: 15px !important;
}



.mindestbestellwert_error{display:block; margin:15px;text-align:center; color:#c00;}
.mindestmengengruppe-error { max-width:620px; margin:15px auto; padding:13px 15px; border:1px solid #e9bcbc; border-radius:9px; background:#fff4f4; box-sizing:border-box; line-height:1.5; }
.mindestmengengruppe-error small { display:inline-block; margin-top:4px; color:#765454; }
.mindestmengengruppe-hinweis { margin:14px 0; padding:11px 13px; border:1px solid #b9ded8; border-radius:9px; background:#edf8f6; color:#315b57; line-height:1.45; }
.mindestmengengruppe-hinweis strong,.mindestmengengruppe-hinweis small { display:block; }
.mindestmengengruppe-hinweis small { margin-top:4px; color:#607873; }

#main button.submit {
    /* text-align: center; */
    margin: 20px auto;
    left: 50%;
    position: relative;
    margin-left: -25%;
}


#ajax-cart-notice {
	display: none;
	position: fixed;
	right: 24px;
	top: 24px;
	z-index: 99999;
	padding: 14px 18px;
	border-radius: 10px;
	background: #222;
	color: #fff;
	box-shadow: 0 8px 25px rgba(0,0,0,0.25);
	font-size: 15px;
	max-width: 340px;
	
	
}

#ajax-cart-notice.success {
	background: #1f7a3f;
	
}

#ajax-cart-notice.error {
	background: #a32727;
}

.ajax-cart-form .submit.loading {
	opacity: 0.6;
	cursor: wait;
}




.cart-item {
	display: grid;
	grid-template-columns: 96px 1fr;
	gap: 18px;
	padding: 18px;
	margin-bottom: 14px;
	background: #fff;
	border: 1px solid rgba(0,0,0,0.08);
	border-radius: 16px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.06);
}

.cart-item--readonly,
.cart-item--plain {
	grid-template-columns: minmax(0, 1fr);
}

.cart-item__image a {
	display: block;
	width: 96px;
	height: 96px;
	border-radius: 12px;
	overflow: hidden;
	background: #f5f5f5;
}

.cart-item__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.cart-item__content {
	min-width: 0;
}

.cart-item__header {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 16px;
}

.cart-item__nr {
	font-size: 12px;
	opacity: 0.65;
	margin-bottom: 4px;
}

.cart-item__name {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.35;
}

.cart-item__name a {
	text-decoration: none;
	color: inherit;
}

.cart-item__variation {
	margin-top: 6px;
	font-size: 13px;
	opacity: 0.8;
}

.cart-item__delete img {
	width: 22px;
	height: 22px;
	opacity: 0.65;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.cart-item__delete img:hover {
	opacity: 1;
	transform: scale(1.08);
}

.cart-item__footer {
	display: grid;
	grid-template-columns: 1fr 1fr auto auto;
	align-items: end;
	gap: 18px;
}

.cart-label {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.55;
	margin-bottom: 6px;
}

.cart-qty-control {
	display: inline-flex;
	align-items: center;
	height: 42px;
	border: 1px solid rgba(0,0,0,0.14);
	border-radius: 999px;
	overflow: hidden;
	background: #fff;
	
}

.cart-qty-control .cart-qty-input {
	width: 54px;
	height: 42px;
	border: 0;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	background: transparent;
	padding: 0;
	-moz-appearance: textfield;
	color:#000;
}

.cart-qty-control .cart-qty-input::-webkit-outer-spin-button,
.cart-qty-control .cart-qty-input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
	
}

.cart-qty-btn {
	width: 40px;
	height: 42px;
	border: 0;
	background: #f2f2f2;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;color:#000;
}

.cart-qty-btn:hover {
	background: #e6e6e6;
}

.cart-item__price strong,
.cart-item__sum strong {
	font-size: 16px;
}

.cart-item__sum strong {
	font-size: 18px;
}

.cart-refresh-button {
	height: 42px;
	padding: 0 16px;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	font-weight: 700;
	background: #222;
	color: #fff;
	
}

.cart-refresh-button:hover {
	background: #ccc;
}

.cart-options {
	margin-top: 8px;
	padding-left: 18px;
	font-size: 13px;
	font-weight: 400;
}

.option-choice-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
	gap: 14px;
	margin-top: 12px;
}

.option-choice-card {
	position: relative;
	display: block;
	cursor: pointer;
	margin: 0;
}

.option-choice-card input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.option-choice-box {
	display: block;
	padding: 10px;
	border: 2px solid rgba(0,0,0,0.12);
	-border-radius: 14px;
	background: #fff;
	text-align: center;
	transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.option-choice-card:hover .option-choice-box {
	transform: translateY(-1px);
	box-shadow: 0 8px 22px rgba(0,0,0,0.10);
}

.option-choice-card input:checked + .option-choice-box {
	border-color: #66CC66;
	box-shadow: 0 0 0 3px rgba(0,0,0,0.08);
	background: #E6FFE6;
}

.option-choice-image {
	display: block;
	width: 100%;
	-aspect-ratio: 1 / 1;
	margin-bottom: 8px;
	-border-radius: 10px;
	overflow: hidden;
	background: #f4f4f4;
}

.option-choice-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.option-choice-title {
	display: block;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
}

.option-choice-price {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	opacity: 0.75;
}

@media (max-width: 700px) {
	.cart-item {
		grid-template-columns: 72px 1fr;
		gap: 12px;
		padding: 14px;
	}

	.cart-item--readonly,
	.cart-item--plain {
		grid-template-columns: minmax(0, 1fr);
	}

	.cart-item__image a {
		width: 72px;
		height: 72px;
	}

	.cart-item__header {
		align-items: flex-start;
	}

	.cart-item__footer {
		grid-template-columns: 1fr 1fr;
		gap: 14px;
	}

	.cart-item__qty,
	.cart-refresh-button {
		grid-column: 1 / -1;
	}

	.cart-refresh-button {
		width: 100%;
	}
}



/* Inhaltselement ImageGalerie ------------------- */


.gal_1er .content {}

/* gal_2er */

.gal_2er .content ul, .gal_3er .content ul, .gal_4er .content ul, .gal_5er .content ul, .gal_6er .content ul {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
   -webkit-flex-flow: row wrap;
  justify-content: flex-start;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
  }

.gal_2er .content ul li{width:calc(50% - 1%); margin:0 1% 30px 0;}
.gal_2er .content ul li:nth-child(2n) {width:calc(50% - 1%); margin:0 0% 30px 1%; padding:0;}
	
	
/* gal_3er */

.gal_3er .content ul li{ width:calc(33.3% - 15px);}
.gal_3er .normal_pic li {padding-right:15px !Important;}
.gal_3er .normal_pic li:nth-child(3n) {margin-right:0px !Important;}
	
/* gla_4er */

.gal_4er .content ul li{width:calc(25% - 30px);}
.gal_4er .slides li {margin-right:30px;}
.gal_4er .slides li:nth-child(4n) {margin-right:0px !Important;}
/* gla_5er */

.gal_5er .content ul li{width:calc(20% - 30px);}
.gal_5er .slides li {margin-right:30px;}
.gal_5er .slides li:nth-child(5n) {margin-right:0px !Important;}
/* gla_6er */

.gal_6er .content ul li{width:calc(16.6% - 30px);}
.gal_6er .slides li {margin-right:30px;}
.gal_6er .slides li:nth-child(6n) {margin-right:0px !Important;}


/* galerie */

.galerie, .bildtext_bild {}

.galerie ul, .bildtext_bild ul{list-style:none; margin:0; padding:0; }

.galerie ul li, .bildtext_bild ul li{display:inline; text-align: justify; float:left;margin-right: 0px;
	margin-bottom: 30px; padding: 0px; width:100%;}

.galerie img, .bildtext_bild img {width:100%;}
.galerie a {}
.galerie a:hover{}

.galerie .normal_pic{ position: relative; padding:0%; }
.galerie .normal_pic img {width:100%;-border-radius:25px; }
.galerie .imgtext {font-size:0.8em ; text-align:left; padding:10px 0; color:#000;}




/* galerie-verlinkungs-image */


.galerie .galerie-verlinkungs-image {
	position: relative;
	width:100%; 
	overflow:hidden;
	
	}

.galerie .galerie-verlinkungs-image .pic{
	
	overflow:hidden; 
	-border-bottom:3px solid #01CBFF;
	-border-radius:25px;
	}


.galerie .galerie-verlinkungs-image:hover {

}
.galerie .galerie-verlinkungs-image a, .galerie .galerie-verlinkungs-image a:hover {
	border: none;
	background: none;
	margin: 0px !Important;
	padding: 0px !Important;
}
.galerie .galerie-verlinkungs-image img {
	margin: 0px !Important;
	
	transition: All 0.4s ease-out;
	-webkit-transition: All 0.4s ease-out;
	-moz-transition: All 0.4s ease-out;
	-o-transition: All 0.4s ease-out;
	transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
	-webkit-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
	-moz-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
	-o-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
	-ms-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
	
	
}

.galerie .galerie-verlinkungs-image img:hover {
	transform: rotate(0deg) scale(1.05) skew(0deg) translate(0px);
	-webkit-transform: rotate(0deg) scale(1.05) skew(0deg) translate(0px);
	-moz-transform: rotate(0deg) scale(1.05) skew(0deg) translate(0px);
	-o-transform: rotate(0deg) scale(1.05) skew(0deg) translate(0px);
	-ms-transform: rotate(0deg) scale(1.05) skew(0deg) translate(0px);
	
	
	
	}


.galerie .galerie-verlinkungs-image .imgtext{
	bottom: 0px;
	padding: 15px;
	color: #333;
	text-align: center;
	font-size: 2em;
	-line-height:16px;
	background: transparent;
	-z-index:50;
}




.galerie .galerie-verlinkungs-info .imgtext{
	position: absolute;
	width: 100%;
	bottom: 50px;
	padding: 7px;
	color: #fff;
	text-align: left;
	font-size: 36px;
	line-height:16px;
	background: rgba(0, 0, 0, 0.3);
	z-index:50;
}



.cms-grid {
	
}

.cms-grid-columns {
	display: flex;
	flex-wrap: wrap;
	margin-left: 0;
	margin-right: 0;
}

.cms-grid-column {
	box-sizing: border-box;
	padding-left: 0;
	padding-right: 0;
	width: 100%;
}

.cms-grid-column.grid-col-12 { width: 100%;}
.cms-grid-column.grid-col-9  { width: 75%; }
.cms-grid-column.grid-col-8  { width: 66.6666%; }
.cms-grid-column.grid-col-6  { width: 50%; }
.cms-grid-column.grid-col-4  { width: 33.3333%; }
.cms-grid-column.grid-col-3  { width: 25%; }

.space-before-small { margin-top: 20px; }
.space-before-medium { margin-top: 40px; }
.space-before-large { margin-top: 60px; }

.space-after-small { margin-bottom: 20px; }
.space-after-medium { margin-bottom: 40px; }
.space-after-large { margin-bottom: 60px; }

@media (max-width: 900px) {
	.cms-grid-column.grid-col-9,
	.cms-grid-column.grid-col-8,
	.cms-grid-column.grid-col-6,
	.cms-grid-column.grid-col-4,
	.cms-grid-column.grid-col-3 {
		width: 100%;
	}
}



.refresh {margin-left:5px; width:26px; height:auto;}



#col_left {
	display:block;
	margin-left: 0px;
	float: left;
	width: 200px;
	margin:0px;
	padding-bottom:40px;
	z-index:1000;
	
}

.ie6 section#col_left {
	margin-left:16px;
}


.block {
	height: 5px;
	background: #444;
	border-bottom: 1px solid white;
	margin: 5px 0 5px 0;
}

.left img{ border:2px solid #333; margin-bottom:15px;}

.teilen100 {
	width: 100%;
	float: left;
}
.teilen80 {
	width: 80%;
	float: left;
}
.teilen75 {
	width: 75%;
	float: left;
}
.teilen66 {
	width: 66%;
	float: left;
}
.teilen60 {
	width: 60%;
	float: left;
}
.teilen50, .col50 {
	width: 50%;
	float: left;
}
.teilen40 {
	width: 40%;
	float: left;
}
.teilen33 {
	width: 33.33%;
	float: left;
}
.teilen25 {
	width: 25%;
	float: left;
}
.teilen20 {
	width: 20%;
	float: left;
}
.inhaltselement-break {
	clear: both;
	padding: 0;
}



.shop-breadcrumb {margin:20px 0;}
.shop-breadcrumb, .shop-breadcrumb span, .shop-breadcrumb a {font-size:0.9em; color:#666; text-decoration:none;}

@media (max-width: 700px) {
	.shop-breadcrumb {
		font-size: 13px;
		margin-bottom: 14px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.shop-breadcrumb li:not(:last-child):not(:nth-last-child(2)) {
		display: none;
	}
}


p { line-height: 25px; }

/*  sub kategorie */


.submenu {padding:10px 0;width:100%;}


.submenu ul { list-style: none; margin:10px 0 ; padding:0; }

.submenu ul li  {display:inline;}

.submenu ul li a{	
	width:auto;
	background:#fff;
	color:#000;
	text-decoration:none;
	padding:10px;
	margin-right:2px;
	text-align:center;
	border:1px solid #999;
	
	}

.submenu ul li a.active{
	
	background:#5B5A5A;
	color:#fff;
	
	}


	
.link { color:#000; text-decoration: underline;}

.link:hover{ color:#c00;text-decoration: underline;}

.cat-text{margin:50px 0;padding:0; }
	
.cat-text h3 {text-align:center;line-height:25px;}

.produkt_ek {
	
  -position: relative;
  -left: 50%;
}






.produkt_link {overflow: auto;}






ul.produkt_ek{list-style:none; margin:0; padding:0;}
ul.produkt_ek li{	
	display:inline; 
	float:left;
	margin-right: 0px;
	margin-bottom: 10px; 
	}


.items2{width:50%;}
.items3{width:33%;}
.items4{width:25%;}
.items5{width:20%;}




/*  produkt_einzel_klein */




.produkt_full_link {
	position: absolute;
	inset: 0;
	display: block;
	z-index: 5;
	cursor: pointer;
}








.waren_auswahl select{color:#000;padding:5px;}

.go-back {position:absolute; right:15px;top:0px; width:30px; height:30px; margin-bottom:20px; }

a.shop-back-button {
	display: block;
    width: 30px;
    height: 30px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-size: 30px 30px;
    background-position: center;
    text-indent: -9999px;
	background-image: url('/assets/img/layout/icon/back.svg'); 
	
	}
	
a.shop-back-button:hover {background-color: #ddd; }

/* Basis für beide Icon-Buttons */
.waren_auswahl .submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background-color: #222;
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-position: center;
	cursor: pointer;
	text-indent: -9999px;
	overflow: hidden;
	font-size: 0;
	color: transparent;
	line-height: 0;
	transition: transform 0.2s ease, opacity 0.2s ease;
}

.waren_auswahl .submit:hover {
	transform: translateY(-1px);
	opacity: 0.88;
}

/* In den Warenkorb */
.waren_auswahl .submit:not(.konfigurieren_button) {
	background-image: url('/assets/img/layout/icon/add_cart.svg');
}

/* Konfigurieren */
.waren_auswahl .submit.konfigurieren_button {
	background-image: url('/assets/img/layout/icon/einstellungen2.svg'); }






.produkt_einzel_klein  .waren_auswahl { position:absolute;right:10px; bottom:10px; z-index:5;}




.produkt_einzel_klein { 
	position:relative;
	width:90%; 
	min-height:400px; 
	background:#fff;
	padding:2%; 
	margin:0 0.5% 0.5% 0; 
	color:#000;
	display:block;
	height:100%;
	border-radius:20px;
	
	
}

.produkt_einzel_klein {
	
	}


.produkt_einzel_klein:hover{ 
	 -webkit-box-shadow: 0 0 10px 0 rgba(50,50,50,0.3);
			 box-shadow: 0 0 10px 0 rgba(50,50,50,0.3);
	

}

.produkt_einzel_klein .lebensmittel {
				position:absolute; 
				bottom:0; 
				right:0;
				display:none;
				}
				
.produkt_einzel_klein .lebensmittel a {
				font-size: 10px;
				text-decoration:none;
	
}




		
.produkt_einzel_klein .konfigurieren {
		display:none;
		}

.produkt_einzel_klein .waren_auswahl form {}

.produkt_einzel_klein .waren_auswahl form .submit{
	
		border-radius:50%; 
		width:50px !Important;
		height:50px;
		background-image:url('/assets/img/layout/icon/add_cart.svg');
		background-repeat: no-repeat;
		background-size: 30px 30px;
		background-position: center;
		text-indent:-999px;
		text-align: left;
		padding:5px 5px;		
		
		}

.produkt_einzel_klein .waren_auswahl form .submit.konfigurieren_button{
	
		border-radius:50%; 
		width:50px !Important;
		height:50px;
		background-image:url('/assets/img/layout/icon/einstellungen.svg');
		background-repeat: no-repeat;
		background-size: 30px 30px;
		background-position: center;
		text-indent:-999px;
		text-align: left;
		padding:5px 5px;		
		
		}		



.produkt_einzel_klein #form_variation,.produkt_einzel_klein #form_variation2,.produkt_einzel_klein #form_variationsubmit {display:none;}



.produkt_einzel_klein .in_warenkorb {}
.produkt_einzel_klein .waren_auswahl #form_anzahl{display:none;}












.produkt_artikel_pic { 
	position: relative;
	display: inline-block;
	vertical-align: top;	
	height: 0;
	border-radius:12px;
	background:#f7f9f9;

	width:100%; padding-bottom: 100%; -margin-bottom:20px; overflow:hidden;}

.produkt_artikel_pic img{
	box-sizing:border-box;
	width:100%;
	height:auto;
	padding:clamp(10px,4%,18px);
	border-radius:0 !important;
	background:#f7f9f9;
}





.produkt_artikel_info {
margin-top:20px; min-height:120px;font-size:1em; 
}

.produkt_artikel_info a{
color:#000; 
font-size:1em; 
font-weight: 600; 
text-decoration:none;

}
.produkt_artikel_info span.produkt_artikel_nr {
display:none; color:#000; font-size:1em; 
}


.produkt_artikel_pic,
.produkt_artikel_info,
.produkt_artikel_inhalt,
.produkt_artikel_preis {
	position: relative;
	z-index: 1;
	border-radius:15px;
}


.produkt_artikel_preis {
font-weight: 600; 
font-size:1em; 
color:#000; 
margin-top:15px; 
padding:0;
line-height:18px;

 }

.produkt_artikel_preis_netto {
color:#000; 
font-size:0.8em;
margin:0; 
padding:0;
font-weight: 400; 
display:none;
 }

.produkt_artikel_inhalt {
position:absolute; 
bottom:70px; 
right:10px; 
color:#000;
text-align:right;
}
.produkt_artikel_inhalt_liter {
color:#000; font-size:10px; width:auto; position:absolute; width:50%; left:25px;bottom:0px;padding:5px;
}

.alter_preis {margin-left:20px; font-size:0.8em; color:#c00;}


.strikethrough {
  position: relative;
}
.strikethrough:before {
  position: absolute;
  content: "";
  left: 0;
  top: 50%;
  right: 0;
  border-top: 2px solid;
  border-color: inherit;

  -webkit-transform:rotate(-5deg);
  -moz-transform:rotate(-5deg);
  -ms-transform:rotate(-5deg);
  -o-transform:rotate(-5deg);
  transform:rotate(-5deg);
}

.rstore-ausverkauft { 
	font-family: 'Oswald', sans-serif;
	font-weight: 400; 
	font-size:22px; 
	position:absolute; 
	left:30px; 
	bottom:30px; 
	width:300px; 
	color:#fff; 
	background:#c00;
	padding:10px;
	text-indent:100px;	
	z-index:50;
	-moz-transform: rotate(-30deg);
-webkit-transform: rotate(-30deg);
-o-transform: rotate(-30deg);
-ms-transform: rotate(-30deg);
transform: rotate(-30deg);
	
	}

.rstore-ausverkauft_einzel { width:200px !Important; color:#fff; background:#c00;padding:5px; }

/*  produkt_einzel_gross */




.produkt_einzel_gross {}

.produkt_einzel_gross  .back { 
	text-decoration:none;
	background:#ddd;
	padding:5px 10px;
	transition-duration: 0.5s;
	color:#000;
}
.produkt_einzel_gross  .back:hover {
	background:#009933;
	color:#fff;
 }
 
.produkt_einzel_gross .content{padding: 0;}

.produkt_einzel_gross .back_container{padding:20px 0;}

.produkt_einzel_gross  hgroup {width:100%;}
.produkt_einzel_gross .art_name{font-size:30px;line-height:45px;color:#000;}
.produkt_einzel_gross .art_name_sub{font-size:16px;line-height:24px; color:#336666;}

.produkt_einzel_gross  .art  .art_preis {text-align:left;}

.produkt_einzel_gross  .art  .art_nr{font-size:10px;}
.produkt_einzel_gross  .art  .art_preis  .preis{ text-align:left;margin-top:30px; font-size:30px; font-weight:400; color:#000;line-height:30px;}
.produkt_einzel_gross  .art  .art_preis  span.preis_netto{font-size:0.8em; color:#999;font-weight:400;}
.produkt_einzel_gross  .art  .art_preis  .inhalt{}

.produkt_einzel_gross  .art .art_text{text-align:left; margin-top:30px;}

.produkt_einzel_gross  .art .art_content{float:left;}

.art_content {width:100%;}
 
.jwlogo {display:none;}

.infotext_2 {margin: 25px 0;}


.produkt_einzel_gross .image img {
	border:1px solid #473325;
	width:50px;
	float:left;
	margin-right:5px;
	transition:All 0.3s ease-out;
		-webkit-transition:All 0.3s ease-out;
		-moz-transition:All 0.3s ease-out;
		-o-transition:All 0.3s ease-out;
		transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
		-webkit-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
		-moz-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
		-o-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
		-ms-transform: rotate(0deg) scale(1.0) skew(-0deg) translate(0px);
}
.produkt_einzel_gross .image img:hover {
	border:1px solid #c00;
	width:50px;
	transform: rotate(0deg) scale(1.3) skew(-0deg) translate(0px);
		-webkit-transform: rotate(0deg) scale(1.3) skew(-0deg) translate(0px);
		-moz-transform: rotate(0deg) scale(1.3) skew(-0deg) translate(0px);
		-o-transform: rotate(0deg) scale(1.3) skew(-0deg) translate(0px);
		-ms-transform: rotate(0deg) scale(1.3) skew(-0deg) translate(0px);
}





.loading:before  { 
	height:150px; 
	width:100px; 
	content: 'LOADING'; 
	display: block; 
	margin: 0;  
	color: #000; 
	font-weight: 400; 
	font-size: 14px; 
	display: flex;
	align-items: center;  
	justify-content: center; 
	animation-name: animation_blink;
    animation-timing-function: ease-in;
    animation-duration: 0.5s; 
    animation-iteration-count: infinite; 
	-background-image:url(/assets/img/frontendShop/img_load.svg);
	-background-size: 100px 100px;
	-background-position: center;
	-background-repeat: no-repeat;
	}

@keyframes animation_blink {
    0% { opacity: 1; }
    50% { opacity: 0.1; }
    100% { opacity: 1; }    
}



#form_variation, #form_variation2{
	border:1px solid #8A8A8A;
	padding:10px;
	color:#000;
	margin-bottom:20px;
	-float:left;
	width:50%;
	font-size:16px;
}

/*  END produkt_einzel_gross */






.warenkorb_liste input {
	width: 80px;
}

.warenkorb_liste td,
.warenkorb_liste th  {
	text-align: left;
}




.warenkorb{position:fixed;top:20px;right:20px; z-index:1000;} 


.category-inline-banner img {width:100%;}

.category-inline-banner {
	display: block;
	width: 100%;
	flex: 0 0 100%;
	grid-column: 1 / -1;
	clear: both;
	box-sizing: border-box;
}

.category-inline-banner-content {
	display: block;
	width: 100%;
	box-sizing: border-box;
}


.shop-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: auto;
	justify-content: flex-end

}

.shop-actions a {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 999px;
	background: #f4f4f4;
}

.shop-actions img {
	width: 22px;
	height: 22px;
	display: block;
}

.cart-badge {
	position: absolute;
	right: -5px;
	top: -5px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 999px;
	background: #222;
	color: #fff;
	font-size: 12px;
	line-height: 20px;
	text-align: center;
	font-weight: 700;
}

@media (max-width: 1280px) {
	

	.shop-actions {
		margin-left: 0;
		
	}

	.cart-link a {
		width: 42px;
		height: 42px;
	}
}




.cart {
	position:absolute;
	top:5px; 
	width:40px;
	height:40px;
	right:20px;
	
	}


.cart_nav {
		position:relative;
			}
		
.cart_nav .cart_img{
		position:absolute;
		top:10px;
		right:10px;
		z-index:20;
		
		}
.cart_nav .cart_img img{width:25px;}

.cart_nav .anzahl{
		position:absolute;
		right:-5px;
		background:#c00;
		top:5px;
		color:#fff;
		border-radius: 50%;
		padding:0px;
		width:20px;
		height:20px;
		color:#fff;
		text-align:center;
		z-index:22;
		border:2px solid #fff;
		font-size:13px;
		}


	.cart_icon { display:none; position:absolute; top:5px;right:0px; z-index:200;}



/* ---------------------   Produkttabellen    ---------------- */

#main table.kategorie_tabelle {
	width: 570px;
	-height:100%;
	padding:0px;
	margin:0px;
}

#main table.kategorie_tabelle th {
	border-bottom:1px solid #473325;
	color:#473325;
	padding:3px;
	text-align: left;
}

#main table.kategorie_tabelle td {
	padding: 8px 0 8px 0;
	text-align: left;
}

#main table.kategorie_tabelle tr {
	border-bottom:1px solid #e0b87b;
}

#main table.kategorie_tabelle td img {

}

#main table.kategorie_tabelle a {
	color: black;
	text-decoration:none;
}

#main table.kategorie_tabelle a:hover {
	text-decoration:underline;
}

#bezahlen_step1 label {
	display: block;
}



#bezahlen_step1 select,
#bezahlen_step1 input {
	margin: 4px 0;
}

#bezahlen_step1 select {
	padding: 5px;
}


#bezahlen_step1 div.bezahlmethode  {
	padding:15px 0 15px 0;
	width:100%;
	
}

#bezahlen_step1 div.bezahlmethode input {
	width: auto;
	display: inline;
}

#bezahlen_step1 div.bezahlmethode label {
	padding:15px 20px;
	border: 1px solid #ccc;
	width:90%;
	border-radius: 5px;
}

#bezahlen_step1 div.bezahlmethode label:hover,
#bezahlen_step1 div.bezahlmethode label:focus-within {
  background: rgba(255, 255, 255, 1.0);
  color:#000;
}


#bezahlen_step1 div.bezahlmethode label span{
	padding-left:15px; 
}

#bezahlen_step1 div.bezahlmethode label span img{
	width:80%;
}

#bezahlen_step1 div label.self_pickup{
	padding:15px 20px;
	border: 1px solid #ccc;
	width:90%;
	border-radius: 5px;
}

#bezahlen_step1 div label.self_pickup span{
	padding-left:15px; 
}



.error {
	background: #FFB4A1;
	
	display: block;
	margin: 3px;
	padding: 3px;
	color: white;
}

#zeigeRegister{ margin:20px 0; padding:5px 15px; border:1px solid #ccc;border-radius: 5px;}


#zeigeVersandadresse {
	color: #666;
	border-bottom: 1px dashed #666;
	cursor: pointer;
	padding-top: 10px;
	
}


#register_inputs{margin-top:20px;}

#register_inputs meter {
	width: 60%;
}

/* Webkit based browsers */
#register_inputs meter[value="1"]::-webkit-meter-optimum-value { background: red; }
#register_inputs meter[value="2"]::-webkit-meter-optimum-value { background: yellow; }
#register_inputs meter[value="3"]::-webkit-meter-optimum-value { background: orange; }
#register_inputs meter[value="4"]::-webkit-meter-optimum-value { background: green; }

/* Gecko based browsers */
#register_inputs meter[value="1"]::-moz-meter-bar { background: red; }
#register_inputs meter[value="2"]::-moz-meter-bar { background: yellow; }
#register_inputs meter[value="3"]::-moz-meter-bar { background: orange; }
#register_inputs meter[value="4"]::-moz-meter-bar { background: green; }

#register_inputs #pass_strength,meter,#pass_strength_text {
	margin-left: 20px;
}

#versand_inputs {
	margin-top: 5px;
}

.pay_adress{padding:20px;}

.pay_adress input {}





.input_wrapper {position: relative; margin:5px 0;}

.input_wrapper label{
	
	font-size: 0.75em;
    font-weight: normal;
    position: absolute;
    top: 0;
    width: 100%;
    margin-top: 0.3em;
    margin-left: 1px;
    padding: 0 1.0em;
    z-index: 1;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-transform: translateY(3px);
    transform: translateY(3px);
    pointer-events: none;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    opacity: 1;
}

.input_wrapper input{
	
	width: calc(100% - 20px);
	border:1px solid #ccc;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding-top: 1.5em;
    padding-bottom: 0.42em;
	padding-left:0.9em;
	
	font: inherit;
	-webkit-box-sizing: border-box; 
    box-sizing: border-box;
   
    word-break: normal;
    line-height: inherit;
	
}

.input_wrapper textarea{
	
	width: calc(100% - 20px);
	border:1px solid #ccc;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	padding-top: 1.5em;
    padding-bottom: 0.3571428571em;
	padding-left:0.9166666667em;
	
	font: inherit;
	-webkit-box-sizing: border-box; 
    box-sizing: border-box;
   
    word-break: normal;
    line-height: inherit;
	
}


.block_rechnungsadresse h3{
	margin-bottom:30px !Important;
}

.block_bezahlmethode {
	width:calc(50% - 20px);
	
	float:left;
}

.block_bezahlmethode h3{
	margin-bottom:30px !Important;
}



.block_bezahlmethode textarea {
	width: 100% !important;
	height:80px;
	border:1px solid #333;
	padding:3px;
}

#benutzerdaten_tabelle {
	width: 100%;
}

#benutzerdaten_tabelle .col1{text-align:left; width:20%;}


.final_adress{width:100%; float:left; }
.final_wert{width:80%; float:left;}

/* ######################## SHOP INFO ###################################### */

.shop_informationen h1
{
	margin: 0;
	font-size: 24px;
}

/* ------------- Account ------------------- */

#bestellungen {width:1400}

#bestellungen table {width:100%; margin-bottom:50px;}
#bestellungen table th {text-align:left; padding-bottom:15px;}

.account_logout {position: absolute; top:0px; right:10px; padding:3px 10px; border:1px solid #000; text-decoration:none; color:#000;}

.client_nav {display:block; width:100%; height:80px; margin-top:100px; padding:20px;}

.client_area {margin-bottom:50px;}

.client_area li {list-style:none;  }

.client_area li a{ float:left; text-decoration:none; color:#000; padding:5px; margin-right:3px; border:1px solid #000;}

.submit { 
	cursor: pointer;
    width: 50%;
    -margin: 10px 0;
    background: #182545;
    color: #fff;
    padding: 18px;
    transition-duration: 0.5s;
	border-radius: 5px;
	border:none;
	border:1px solid #000;
}

.submit:hover{
	-background:#009933;
		-webkit-box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
                box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
				
}

.submit2 { 
	cursor: pointer;
    width: 150px;
    margin-top: 30px;
	margin-bottom:30px;
	margin-left: calc(50% - 75px);
    background: #ddd;
    color: #aaa;
    padding: 5px;
    transition-duration: 0.5s;
	border-radius: 5px;
	border:1px solid #aaa;
	
}

.submit2:hover{
	background:#009933;
	color:#fff;
		-webkit-box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
                box-shadow:  1px 1px 5px 2px rgba(3, 3, 3, 0.2);
				
}

#paypal-button-container {width:100%; text-align:center;}



#benutzerpasswort meter {
	width: 60%;
}

/* Webkit based browsers */
#benutzerpasswort meter[value="1"]::-webkit-meter-optimum-value { background: red; }
#benutzerpasswort meter[value="2"]::-webkit-meter-optimum-value { background: yellow; }
#benutzerpasswort meter[value="3"]::-webkit-meter-optimum-value { background: orange; }
#benutzerpasswort meter[value="4"]::-webkit-meter-optimum-value { background: green; }

/* Gecko based browsers */
#benutzerpasswort meter[value="1"]::-moz-meter-bar { background: red; }
#benutzerpasswort meter[value="2"]::-moz-meter-bar { background: yellow; }
#benutzerpasswort meter[value="3"]::-moz-meter-bar { background: orange; }
#benutzerpasswort meter[value="4"]::-moz-meter-bar { background: green; }

#benutzerpasswort #pass_strength,meter,#pass_strength_text {
	margin-left: 20px;
}




.clear {
  clear:both;
}

.sub-cat {display:none;}

ul.sub-cat { width:100%; padding-bottom:50px;}

.sub-cat li {
	text-align:center; 
	list-style:none; 
	float:left; 
	width:auto;   
	padding:5px 15px; 
	border:1px solid #ccc; 
	background:#fff; 
	-transform: skewX(-25deg); 
	border-radius: 0.3em;
	margin-right:5px;
	
	}
.sub-cat li:hover {	background:#c00;   }

.sub-cat li a{
	text-decoration:none;
	color:#000;
	}
.sub-cat li a:hover{
	
	color:#fff;
	}



.quantity {
  position: relative;
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

.quantity input {
  width: 45px;
  height: 42px;
  line-height: 1.65;
  float: left;
  display: block;
  padding: 0;
  margin: 0;
  padding-left: 20px;
  border: none;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
  font-size: 1rem;
  border-radius: 4px;
}

.quantity input:focus {
  outline: 0;
}

.quantity-nav {
  float: left;
  position: relative;
  height: 42px;
}

.quantity-button {
  position: relative;
  cursor: pointer;
  border: none;
  border-left: 1px solid rgba(0, 0, 0, 0.08);
  width: 21px;
  text-align: center;
  color: #333;
  font-size: 13px;
  font-family: "FontAwesome" !important;
  line-height: 1.5;
  padding: 0;
  background: #FAFAFA;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.quantity-button:active {
  background: #EAEAEA;
}

.quantity-button.quantity-up {
  position: absolute;
  height: 50%;
  top: 0;
  border-bottom: 1px solid rgba(0, 0, 0, 0.08);
  font-family: "FontAwesome";
  border-radius: 0 4px 0 0;
  line-height: 1.6
}

.quantity-button.quantity-down {
  position: absolute;
  bottom: 0;
  height: 50%;
  font-family: "FontAwesome";
  border-radius: 0 0 4px 0;
}





.cookie-settings-link {
    display: inline-block;
    color: #666;
    text-decoration: none;
    font-size: 14px;
    transition: color 0.2s ease;
}

.cookie-settings-link:hover {
    color: #111;
    text-decoration: underline;
}

.cookie-consent-banner {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
}

.cookie-consent-banner.is-visible {
    display: block !important;
}

.cookie-consent-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.35);
    backdrop-filter: blur(2px);
}

.cookie-consent-box {
    position: absolute;
    right: 24px;
    bottom: 24px;
    width: 100%;
    max-width: 520px;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 18px 60px rgba(0, 0, 0, 0.18);
    overflow: hidden;
    border: 1px solid rgba(0, 0, 0, 0.06);
    animation: cookieFadeInUp 0.28s ease;
}

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

.cookie-consent-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    padding: 24px 24px 18px 24px;
    border-bottom: 1px solid #f0f0f0;
}

.cookie-consent-header h3 {
    margin: 0 0 6px 0;
    font-size: 22px;
    line-height: 1.2;
    color: #111827;
}

.cookie-consent-header p {
    margin: 0;
    color: #6b7280;
    font-size: 14px;
    line-height: 1.5;
}

.cookie-close {
    border: 0;
    background: #f5f5f5;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    cursor: pointer;
    font-size: 24px;
    line-height: 1;
    color: #444;
    transition: background 0.2s ease, color 0.2s ease;
}

.cookie-close:hover {
    background: #ebebeb;
    color: #111;
}

.cookie-consent-body {
    padding: 10px 24px 6px 24px;
}

.cookie-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 0;
    border-bottom: 1px solid #f3f4f6;
}

.cookie-row:last-child {
    border-bottom: 0;
}

.cookie-row-text {
    flex: 1;
}

.cookie-row-text strong {
    display: block;
    font-size: 15px;
    color: #111827;
    margin-bottom: 4px;
}

.cookie-row-text span {
    display: block;
    font-size: 13px;
    line-height: 1.5;
    color: #6b7280;
}

.cookie-switch {
    position: relative;
    display: inline-block;
    width: 54px;
    height: 32px;
    flex: 0 0 54px;
}

.cookie-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.cookie-slider {
    position: absolute;
    cursor: pointer;
    inset: 0;
    background: #d1d5db;
    transition: 0.25s ease;
    border-radius: 999px;
}

.cookie-slider:before {
    content: "";
    position: absolute;
    width: 24px;
    height: 24px;
    left: 4px;
    top: 4px;
    background: #ffffff;
    border-radius: 50%;
    transition: 0.25s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.cookie-switch input:checked + .cookie-slider {
    background: #111827;
}

.cookie-switch input:checked + .cookie-slider:before {
    transform: translateX(22px);
}

.cookie-switch.disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.cookie-switch.disabled .cookie-slider {
    cursor: not-allowed;
}

.cookie-consent-footer {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px 24px 24px 24px;
    border-top: 1px solid #f3f4f6;
    background: #fcfcfc;
}

.cookie-btn {
    border: 0;
    border-radius: 12px;
    padding: 12px 18px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
}

.cookie-btn-light {
    background: #f3f4f6;
    color: #111827;
}

.cookie-btn-light:hover {
    background: #e5e7eb;
}

.cookie-btn-primary {
    background: #111827;
    color: #fff;
}

.cookie-btn-primary:hover {
    background: #000;
}

/* Mobile Layout */
@media (max-width: 640px) {
    .cookie-consent-box {
        right: 12px;
        left: 12px;
        bottom: 12px;
        max-width: none;
        width: auto;
    }

    .cookie-consent-header,
    .cookie-consent-body,
    .cookie-consent-footer {
        padding-left: 18px;
        padding-right: 18px;
    }

    .cookie-row {
        align-items: flex-start;
    }

    .cookie-consent-footer {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .cookie-consent-footer .cookie-btn {
        width: 100%;
        min-width: 0;
    }

    /* Dritte Schaltfläche über ganze zweite Reihe */
    #cookie-accept-all {
        grid-column: 1 / -1;
    }
}











/* ==|== non-semantic helper classes ======================================== */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }




/* ==|== print styles ======================================================= */
 
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } 
  a, a:visited { text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; }
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } 
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; }
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3 { page-break-after: avoid; }
}
.password-forgotten-link { display:inline-block; margin-top:12px; color:#48666f; font-size:13px; text-decoration:underline; }
.password-reset-page { width:100%; padding:30px 15px 70px; box-sizing:border-box; }
.password-reset-card { max-width:560px; margin:0 auto; padding:28px; border:1px solid #dfe5e8; border-radius:14px; background:#fff; box-shadow:0 5px 22px rgba(23,33,43,.07); box-sizing:border-box; }
.password-reset-card h2 { margin:0 0 8px; color:#17212b; }
.password-reset-card > p { margin:0 0 22px; color:#66727f; }
.password-reset-form { display:grid; gap:9px; margin-top:18px; }
.password-reset-form label { color:#34464d; font-weight:700; }
.password-reset-form input[type="email"],
.password-reset-form input[type="password"] { width:100%; min-height:44px; margin:0 0 8px; padding:10px 12px; border:1px solid #d7e0e3; border-radius:9px; background:#fbfcfd; box-sizing:border-box; }
.password-reset-form input[type="submit"] { justify-self:start; min-height:42px; margin-top:5px; padding:9px 16px; border:0; border-radius:8px; background:#0f766e; color:#fff; font-weight:700; cursor:pointer; }
.password-reset-message { margin:18px 0; padding:12px 14px; border-radius:9px; line-height:1.5; }
.password-reset-message.success { border:1px solid #b9ddd1; background:#edf8f4; color:#176348; }
.password-reset-message.error { border:1px solid #e4c1c1; background:#fff2f2; color:#913e3e; }
.password-reset-back { display:inline-block; margin-top:20px; color:#48666f; font-size:13px; }
.account-activation-primary { display:inline-flex; margin-top:8px; padding:11px 17px; border-radius:9px; background:#0f766e; color:#fff; font-weight:750; text-decoration:none; }

/* Kundenkonto */
.registration-honeypot { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; }
.customer-account { --account-text:#17212b; --account-muted:#68767d; --account-border:#dfe6e9; --account-accent:#0f766e; width:min(1180px,calc(100% - 30px)); margin:42px auto 100px; color:var(--account-text); box-sizing:border-box; }
.customer-account * { box-sizing:border-box; }
.customer-account-header { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:24px; padding-bottom:20px; border-bottom:1px solid var(--account-border); }
.customer-account-eyebrow { display:block; margin-bottom:6px; color:var(--account-accent); font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.customer-account-header h1 { margin:0 0 6px; color:var(--account-text); font-size:clamp(28px,4vw,42px); line-height:1.12; }
.customer-account-header p { margin:0; color:var(--account-muted); font-size:15px; }
.customer-account-logout { flex:0 0 auto; padding:9px 14px; border:1px solid var(--account-border); border-radius:9px; background:#fff; color:#4e6067; font-size:13px; font-weight:700; text-decoration:none; }
.customer-account-logout:hover { border-color:#c9d5d8; background:#f6f9f9; }
.customer-account-nav { display:flex; gap:8px; margin-bottom:24px; padding:5px; border:1px solid var(--account-border); border-radius:12px; background:#f3f6f7; }
.customer-account-nav a { flex:0 1 220px; padding:11px 16px; border-radius:8px; color:#5a6a70; font-size:14px; font-weight:750; text-align:center; text-decoration:none; }
.customer-account-nav a:hover { background:#e9efef; }
.customer-account-nav a.active { background:#fff; color:var(--account-accent); box-shadow:0 1px 4px rgba(20,32,40,.09); }
.customer-account-section { min-width:0; }
.customer-account-section-head { display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:15px; }
.customer-account-section-head span { display:block; margin-bottom:3px; color:var(--account-accent); font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.customer-account-section-head h2 { margin:0; color:var(--account-text); font-size:23px; }
.customer-order-count { display:grid; place-items:center; min-width:34px; height:34px; padding:0 9px; border-radius:999px; background:#e8f4f2; color:var(--account-accent); }
.customer-account-card { min-width:0; padding:22px; border:1px solid var(--account-border); border-radius:14px; background:#fff; box-shadow:0 2px 8px rgba(23,33,43,.035); }
.customer-account-card h3 { margin:0 0 16px; font-size:17px; }
.customer-account-card address { color:#43545b; font-style:normal; line-height:1.65; }
.customer-account-card p { color:var(--account-muted); }
.customer-orders-list { overflow:hidden; border:1px solid var(--account-border); border-radius:14px; background:#fff; }
.customer-order-row { display:grid; grid-template-columns:minmax(170px,1.25fr) minmax(180px,1fr) minmax(120px,.65fr) 34px; gap:18px; align-items:center; min-height:78px; padding:14px 18px; border-bottom:1px solid #e8edef; color:inherit; text-decoration:none; transition:background .15s ease; }
.customer-order-row:last-child { border-bottom:0; }
.customer-order-row:hover { background:#f5f9f8; }
.customer-order-row small { display:block; margin-bottom:4px; color:#7a888e; font-size:11px; }
.customer-order-row strong { color:#2b3a40; font-size:14px; }
.customer-order-total { text-align:right; }
.customer-order-arrow { color:var(--account-accent); font-size:21px; text-align:right; }
.customer-account-empty { padding:60px 24px; border:1px solid var(--account-border); border-radius:14px; background:#fff; text-align:center; }
.customer-account-empty > span { display:grid; place-items:center; width:54px; height:54px; margin:0 auto 16px; border-radius:50%; background:#edf5f4; color:var(--account-accent); font-size:27px; }
.customer-account-empty h3 { margin:0 0 7px; font-size:20px; }
.customer-account-empty p { margin:0 0 20px; color:var(--account-muted); }
.customer-account-empty a { display:inline-flex; padding:11px 17px; border-radius:9px; background:var(--account-accent); color:#fff; font-weight:750; text-decoration:none; }
.customer-order-addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-bottom:22px; }
.customer-order-contact { margin-top:14px; padding-top:13px; border-top:1px solid #e7ecee; color:#66777d; font-size:13px; line-height:1.6; }
.customer-order-shipping { display:inline-flex; margin-top:15px; padding:6px 9px; border-radius:7px; background:#eef3f4; color:#516269; font-size:12px; font-weight:700; }
.customer-account-back { color:#48656d; font-size:13px; font-weight:700; text-decoration:none; }
.customer-order-items { min-width:0; }
.customer-order-document { overflow:hidden; border:1px solid var(--account-border); border-radius:14px; background:#fff; box-shadow:0 2px 8px rgba(23,33,43,.035); }
.customer-order-document-title { margin:0; padding:15px 16px 12px; color:#26383e; font-size:15px; }
.customer-order-table-head,
.customer-order-position { display:grid; grid-template-columns:52px minmax(90px,.7fr) minmax(240px,2.2fr) minmax(70px,.55fr) minmax(105px,.8fr) minmax(110px,.85fr); gap:14px; align-items:start; }
.customer-order-table-head { padding:11px 16px; border-bottom:1px solid #dfe6e9; background:#f4f7f7; color:#617178; font-size:11px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
.customer-order-table-head span:nth-last-child(-n+3) { text-align:right; }
.customer-order-position { padding:17px 16px; border-bottom:1px solid #e7ecee; color:#43545b; font-size:13px; }
.customer-order-position:last-child { border-bottom:0; }
.customer-order-position > span:nth-last-child(-n+2),
.customer-order-position > strong:last-child { text-align:right; }
.customer-order-position-number { color:#859299; font-weight:750; }
.customer-order-position-description strong { display:block; color:#24343a; font-size:14px; line-height:1.4; }
.customer-order-position-description small { display:block; margin-top:5px; color:#6a797f; line-height:1.4; }
.customer-order-position-description small b { color:#485a61; }
.customer-order-fulfilment { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; border-top:2px solid #dce5e6; border-bottom:1px solid #e3e9eb; background:#e3e9eb; }
.customer-order-fulfilment > div { min-width:0; padding:14px 16px; background:#f8fafb; }
.customer-order-fulfilment small { display:block; margin-bottom:5px; color:#7a898f; font-size:10px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; }
.customer-order-fulfilment strong { display:block; overflow-wrap:anywhere; color:#34464d; font-size:13px; }
.customer-order-fulfilment span { display:block; margin-top:3px; color:#77868c; font-size:11px; }
.customer-shipping-status { color:#8b681e !important; }
.customer-shipping-status-versandbereit { color:#24628e !important; }
.customer-shipping-status-versendet { color:#18704a !important; }
.customer-order-totals { width:min(420px,100%); margin-left:auto; padding:18px 16px 20px; border-top:2px solid #dce5e6; }
.customer-order-totals > div { display:flex; justify-content:space-between; gap:30px; padding:5px 0; color:#5f7077; font-size:13px; }
.customer-order-totals strong { color:#34464d; }
.customer-order-totals .customer-order-grand-total { margin-top:8px; padding-top:12px; border-top:1px solid #dfe6e9; color:var(--account-text); font-size:16px; font-weight:800; }
.customer-order-grand-total strong { color:var(--account-accent); font-size:18px; }
.customer-account-form { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr); gap:16px; }
.customer-account-card-head { margin-bottom:17px; padding-bottom:14px; border-bottom:1px solid #e7ecee; }
.customer-account-card-head h3 { margin:0; }
.customer-account-card-head span { display:block; margin-top:4px; color:var(--account-muted); font-size:12px; }
.customer-form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.customer-field { position:relative; display:block; margin:0; }
.customer-field-wide { grid-column:1/-1; }
.customer-field > span { display:block; margin-bottom:6px; color:#42545b; font-size:12px; font-weight:750; }
.customer-field input { width:100% !important; min-height:43px; margin:0; padding:9px 11px; border:1px solid #d8e0e3; border-radius:9px; background:#fbfcfd; color:#26373d; box-sizing:border-box; }
.customer-field input:focus { border-color:#75aaa5; outline:3px solid rgba(15,118,110,.1); }
.customer-email-status { position:absolute; right:8px; bottom:10px; padding:3px 7px; border-radius:999px; font-size:10px !important; }
.customer-email-status.confirmed { background:#e7f5ed; color:#257249; }
.customer-email-status.unconfirmed { background:#fff2df; color:#986219; }
.customer-confirm-email { display:inline-flex; margin-top:14px; color:#9a651a; font-size:12px; font-weight:700; }
.customer-account-actions { grid-column:1/-1; display:flex; flex-wrap:wrap; gap:10px; justify-content:flex-end; }
.customer-account-actions .submit,
.customer-account-actions .customer-secondary-button { width:auto; min-width:150px; min-height:43px; margin:0; padding:10px 16px; border-radius:9px; font-weight:750; }
.customer-account-actions .submit { border-color:var(--account-accent); background:var(--account-accent); }
.customer-secondary-button { border:1px solid var(--account-border); background:#fff; color:#506169; cursor:pointer; }
.customer-form-message { margin-bottom:15px; padding:11px 13px; border-radius:8px; font-size:13px; }
.customer-form-message.success { border:1px solid #b9ddd1; background:#edf8f4; color:#176348; }
.customer-form-message.error { border:1px solid #e4c1c1; background:#fff2f2; color:#913e3e; }
.customer-confirmation-section { max-width:700px; }
.customer-confirm-form { display:grid; gap:16px; }

@media (max-width:820px) {
	.customer-account-form { grid-template-columns:1fr; }
	.customer-order-row { grid-template-columns:1fr 1fr 34px; }
	.customer-order-id { grid-column:1/-1; }
	.customer-order-table-head { display:none; }
	.customer-order-position { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 18px; }
	.customer-order-position > * { text-align:left !important; }
	.customer-order-position > *::before { content:attr(data-label); display:block; margin-bottom:3px; color:#859299; font-size:10px; font-weight:800; letter-spacing:.035em; text-transform:uppercase; }
	.customer-order-position-description { grid-column:1/-1; grid-row:1; }
	.customer-order-fulfilment { grid-template-columns:1fr; }
}

@media (max-width:620px) {
	.customer-account { width:min(100% - 20px,1180px); margin-top:24px; }
	.customer-account-header { flex-direction:column; }
	.customer-account-nav a { flex:1 1 50%; padding:10px 8px; }
	.customer-order-addresses,
	.customer-form-grid { grid-template-columns:1fr; }
	.customer-field-wide { grid-column:auto; }
	.customer-order-row { grid-template-columns:1fr 34px; gap:10px; }
	.customer-order-id,
	.customer-order-date,
	.customer-order-total { grid-column:1; text-align:left; }
	.customer-order-arrow { grid-column:2; grid-row:1/4; align-self:center; }
	.customer-account-card { padding:17px; }
	.customer-order-position { padding:15px 13px; }
	.customer-order-totals { padding:16px 13px 18px; }
}

/* Warenkorb */
.cart-page { padding-top:58px; }
.cart-page-header {
	position:static;
	display:flex;
	width:auto;
	height:auto;
	max-height:none;
	align-items:flex-end;
	justify-content:space-between;
	gap:24px;
	margin:0 0 24px;
	padding:0 0 18px;
	border-bottom:1px solid #dfe6e9;
	background:transparent;
	box-shadow:none;
	z-index:auto;
}
.cart-page-eyebrow {
	display:block;
	margin-bottom:5px;
	color:#0f766e;
	font-size:11px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.cart-list .cart-page-header h2 {
	margin:0;
	color:#17212b;
	font-size:clamp(27px,3.5vw,38px);
	font-weight:750;
	line-height:1.12;
}
.cart-page-header p {
	margin:7px 0 0;
	color:#68767d;
	font-size:14px;
}
.cart-summary-card {
	width:min(760px,calc(100% - 40px));
	margin:26px auto 0;
	padding:22px !important;
	border:1px solid #dfe6e9;
	border-radius:15px;
	background:#fff;
	box-shadow:0 4px 18px rgba(23,33,43,.055);
	box-sizing:border-box;
	transition:opacity .18s ease;
}
.cart-summary-card.is-loading { opacity:.5; pointer-events:none; }
.cart-summary-heading {
	display:flex;
	align-items:baseline;
	justify-content:space-between;
	gap:18px;
	margin-bottom:17px;
	padding-bottom:13px;
	border-bottom:1px solid #e7ecee;
}
.cart-summary-heading span { color:#26383e; font-size:17px; font-weight:800; }
.cart-summary-heading small { color:#7b898f; font-size:11px; }
.cart-summary-card .teilen100 {
	display:flex;
	float:none;
	clear:both;
	width:100%;
	margin:0;
	padding:8px 0;
	box-sizing:border-box;
}
.cart-summary-card .teilen100 > .col50 { float:none; width:50%; }
.cart-summary-card .teilen100 > .col50:last-child { text-align:right; }
.cart-summary-card > .cart-shipping-select {
	display:grid;
	width:calc(100% - 30px);
	margin:0 0 12px;
	padding:15px;
	border:1px solid #dce8e6;
	border-radius:11px;
	background:#f3f8f7;
}
.cart-shipping-select {
	display:grid;
	grid-template-columns:repeat(2,minmax(160px,220px));
	gap:12px;
	justify-content:start;
}
.cart-shipping-select label { display:block; margin:0; }
.cart-shipping-select label > span {
	display:block;
	margin-bottom:6px;
	color:#42545b;
	font-size:11px;
	font-weight:750;
}
.cart-summary-card .cart-shipping-select select {
	width:100%;
	min-width:0;
	min-height:42px;
	margin:0;
	padding:8px 34px 8px 11px;
	border:1px solid #cfdcde;
	border-radius:8px;
	background-color:#fff;
	color:#27383e;
	font-size:13px;
}
.cart-summary-card .gesamt,
.cart-summary-card .gesamtp {
	margin-top:7px;
	padding-top:13px;
	border-top:1px solid #dfe6e9;
}
.cart-summary-card .warenkorb_gesamtpreis { color:#0f766e; font-size:20px; }
form[action*="shop/bezahlen"] {
	display:flex;
	clear:both;
	width:min(760px,calc(100% - 40px));
	margin:0 auto;
	justify-content:center;
	box-sizing:border-box;
}
form[action*="shop/bezahlen"] #form_bestellen {
	width:auto;
	min-width:230px;
	margin:18px auto 0;
	padding:13px 24px;
	border:0;
	border-radius:9px;
	background:#0f766e;
	box-shadow:0 3px 10px rgba(15,118,110,.18);
	color:#fff;
	font-size:14px;
	font-weight:800;
	cursor:pointer;
}
form[action*="shop/bezahlen"] #form_bestellen:hover { background:#0b625c; transform:translateY(-1px); }

@media (max-width:620px) {
	.cart-list { padding:14px; }
	.cart-page { padding-top:52px; }
	.cart-page-header { margin:0 0 18px; }
	.cart-page-header p { font-size:13px; }
	.cart-summary-card { width:calc(100% - 20px); margin-top:18px; padding:16px !important; }
	.cart-summary-heading { display:block; }
	.cart-summary-heading small { display:block; margin-top:3px; }
	.cart-shipping-select { grid-template-columns:1fr; }
	form[action*="shop/bezahlen"] #form_bestellen { width:calc(100% - 20px); min-width:0; }
}

/* Finale Bestellübersicht */
.checkout-review {
	width:auto;
	margin:58px auto 100px;
	color:#17212b;
	box-sizing:border-box;
}
.checkout-review * { box-sizing:border-box; }
.checkout-review-header {
	position:static;
	width:auto;
	height:auto;
	max-height:none;
	margin-bottom:24px;
	padding-bottom:18px;
	border-bottom:1px solid #dfe6e9;
	background:transparent;
	box-shadow:none;
	z-index:auto;
}
.checkout-review-header > span,
.checkout-review-section-head > span {
	display:block;
	margin-bottom:5px;
	color:#0f766e;
	font-size:11px;
	font-weight:800;
	letter-spacing:.08em;
	text-transform:uppercase;
}
.checkout-review-header h2 { margin:0; color:#17212b; font-size:clamp(27px,3.5vw,38px); line-height:1.12; }
.checkout-review-header p { margin:7px 0 0; color:#68767d; font-size:14px; }
.checkout-review-card,
.checkout-review-items {
	overflow:hidden;
	border:1px solid #dfe6e9;
	border-radius:14px;
	background:#fff;
	box-shadow:0 3px 14px rgba(23,33,43,.045);
}
.checkout-review-columns {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:18px;
	align-items:start;
}
.checkout-review-order { min-width:0; }
.checkout-review-address { min-width:0; }
.checkout-review-card { padding:16px; }
.checkout-review-card-head {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	margin-bottom:10px;
	padding-bottom:10px;
	border-bottom:1px solid #e7ecee;
}
.checkout-review-card-head h3 { margin:0; color:#26383e; font-size:17px; }
.checkout-review-card-head strong { padding:6px 10px; border-radius:999px; background:#e8f4f2; color:#0f766e; font-size:11px; }
.checkout-review-data {
	display:block;
}
.checkout-review-field {
	min-width:0;
	display:flex;
	align-items:baseline;
	gap:6px;
	padding:8px 2px;
	border-bottom:1px solid #edf1f2;
}
.checkout-review-field span { flex:0 0 auto; color:#7a888e; font-size:10px; }
.checkout-review-field span::after { content:":"; }
.checkout-review-field strong { min-width:0; overflow-wrap:anywhere; color:#33454c; font-size:12px; line-height:1.35; }
.checkout-review #benutzerdaten_tabelle { width:100%; border-collapse:collapse; }
.checkout-review #benutzerdaten_tabelle tr { border-bottom:1px solid #edf1f2; }
.checkout-review #benutzerdaten_tabelle tr:last-child { border-bottom:0; }
.checkout-review #benutzerdaten_tabelle td { padding:9px 4px; border:0; font-size:13px; }
.checkout-review #benutzerdaten_tabelle .col1 { width:34%; color:#75848a; }
.checkout-review #benutzerdaten_tabelle .col2 { color:#33454c; font-weight:700; }
.checkout-review-section-head { margin:0 0 10px; }
.checkout-review-section-head h3 { margin:0; color:#26383e; font-size:20px; }
.checkout-review-item {
	display:grid;
	grid-template-columns:minmax(220px,1fr) 105px 105px;
	gap:14px;
	align-items:center;
	padding:8px 14px;
	border-bottom:1px solid #e7ecee;
}
.checkout-review-item:last-child { border-bottom:0; }
.checkout-review-item small { display:block; margin-bottom:2px; color:#7b898f; font-size:9px; font-weight:750; text-transform:uppercase; }
.checkout-review-item strong { display:block; color:#293b42; font-size:13px; }
.checkout-review-item-main > strong { font-size:13px; }
.checkout-review-item-main > small { margin:2px 0 0; }
.checkout-review-item-main > span { display:block; margin-top:3px; color:#68777d; font-size:11px; line-height:1.35; }
.checkout-review-item-qty { display:inline; margin-right:3px; color:#0f766e; font-size:12px; }
.checkout-review-item-price,
.checkout-review-item-total { text-align:right; }
.checkout-review-item-total strong { color:#0f766e; font-size:16px; }
.checkout-review .cart-summary-card { width:calc(50% - 9px); margin:18px 0 0 auto; padding:16px !important; }
.checkout-review .cart-summary-card .teilen100 { padding:5px 0; }
.checkout-review form[name="zahlen"] {
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	gap:10px;
	width:calc(50% - 9px);
	margin:12px 0 0 auto;
}
.checkout-review form[name="zahlen"] .submit,
.checkout-review form[name="zahlen"] .submit2,
#main .checkout-review form[name="zahlen"] #form_abschicken {
	width:auto;
	min-width:0;
	flex:1 1 0;
	min-height:43px;
	margin:0;
	padding:10px 18px;
	position:static;
	border-radius:9px;
	font-weight:800;
	cursor:pointer;
}
.checkout-review form[name="zahlen"] .submit,
#main .checkout-review form[name="zahlen"] #form_abschicken { border:1px solid #0f766e; background:#0f766e; color:#fff; }
.checkout-review form[name="zahlen"] .submit2 { border:1px solid #d7e0e3; background:#fff; color:#53656c; }
#main .checkout-review form[name="zahlen"] #form_abschicken:hover { padding:10px 18px; background:#0b625c; }

@media (max-width:980px) {
	.checkout-review { width:auto; margin:52px 10px 100px; }
	.checkout-review-columns { grid-template-columns:1fr; }
	.checkout-review .cart-summary-card,
	.checkout-review form[name="zahlen"] { width:100%; }
	.checkout-review-card { padding:16px; }
	.checkout-review-card-head { align-items:flex-start; flex-direction:column; }
	.checkout-review #benutzerdaten_tabelle .col1 { width:43%; }
	.checkout-review-item { grid-template-columns:1fr auto; gap:9px 14px; }
	.checkout-review-item-main { grid-column:1/-1; }
	.checkout-review-item-price,
	.checkout-review-item-total { text-align:left; }
	.checkout-review-item-total { text-align:right; }
	.checkout-review form[name="zahlen"] .submit,
	.checkout-review form[name="zahlen"] .submit2 { flex:1 1 100%; }
}

/* Checkout Schritt 1 */
.checkout-step-page {
	width:auto;
	margin:52px 0 90px;
	padding:0 !important;
	color:#26373d;
}
.checkout-step-page * { box-sizing:border-box; }
.checkout-login-card {
	margin:0 0 22px;
	padding:18px;
	border:1px solid #dfe6e9;
	border-radius:13px;
	background:#fff;
	box-shadow:0 3px 14px rgba(23,33,43,.045);
}
.checkout-login-card .block_100 { width:100%; }
.checkout-login-card h3 { margin:0 0 12px !important; font-size:17px !important; }
.checkout-login-card .teilen100 {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr)) 180px;
	gap:12px;
	float:none;
}
.checkout-login-card .teilen33 { width:auto; float:none; }
.checkout-login-card .input_wrapper { margin:0; }
.checkout-login-card input:not([type="submit"]) { width:100%; min-height:42px; padding:8px 10px; border:1px solid #d5dfe2; border-radius:8px; background:#fbfcfd; }
.checkout-login-card input[type="submit"] { width:100%; min-height:42px; margin:19px 0 0; padding:8px 14px; border:0; border-radius:8px; background:#182545; color:#fff; }
.checkout-step-grid {
	display:grid;
	grid-template-columns:minmax(0,2fr) minmax(300px,1fr);
	gap:18px;
	align-items:start;
	clear:both;
}
.checkout-step-grid > .teilen50 { width:auto; float:none; }
.checkout-billing-card,
.checkout-payment-card {
	min-width:0;
	padding:18px;
	border:1px solid #dfe6e9;
	border-radius:13px;
	background:#fff;
	box-shadow:0 3px 14px rgba(23,33,43,.045);
}
.checkout-billing-card .pay_adress,
.checkout-payment-card > .content { margin:0; padding:0; }
.checkout-step-page #bezahlen_step1 h3 { margin:0 0 14px; color:#26373d; font-size:18px; }
.checkout-step-page #bezahlen_step1 .input_wrapper { margin:0 0 11px; }
.checkout-step-page #bezahlen_step1 label { margin-bottom:5px; color:#53656c; font-size:11px; font-weight:700; }
.checkout-step-page #bezahlen_step1 input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]),
.checkout-step-page #bezahlen_step1 select,
.checkout-step-page #bezahlen_step1 textarea {
	width:100%;
	min-height:42px;
	margin:0;
	padding:8px 10px;
	border:1px solid #d5dfe2;
	border-radius:8px;
	background:#fbfcfd;
	color:#26373d;
}
.checkout-step-page #bezahlen_step1 textarea { min-height:82px; resize:vertical; }
.checkout-billing-card .teilen100 { display:flex; float:none; gap:10px; width:100%; }
.checkout-billing-card .teilen100 > div { float:none; }
.checkout-billing-card .teilen50 { width:50%; }
.checkout-billing-card .teilen25 { width:28%; }
.checkout-billing-card .teilen75 { width:72%; }
.checkout-step-page #bezahlen_step1 div.bezahlmethode { padding:0 0 10px; }
.checkout-step-page #bezahlen_step1 div.bezahlmethode label,
.checkout-step-page #bezahlen_step1 div label.self_pickup {
	display:flex;
	align-items:center;
	gap:10px;
	width:100%;
	min-height:54px;
	padding:11px 13px;
	border:1px solid #dce4e7;
	border-radius:9px;
	background:#f8fafb;
}
.checkout-step-page #bezahlen_step1 div.bezahlmethode label span,
.checkout-step-page #bezahlen_step1 div label.self_pickup span { padding:0; }
.checkout-step-page #bezahlen_step1 div.bezahlmethode label span img { display:block; width:auto; max-width:130px; max-height:30px; }
.checkout-step-page #zeigeRegister {
	dis:block;
	margin:0 0 18px;
	padding:12px 14px;
	border:1px solid #dce5e7;
	border-radius:9px;
	background:#f7faf9;
	cursor:pointer;
}
.checkout-step-page #register_inputs { margin:0 0 18px; padding:15px; border:1px solid #dfe7e9; border-radius:10px; background:#fff; }
.checkout-step-actions {
	dis:grid;
	grid-template-columns:minmax(0,1fr) 240px;
	gap:18px;
	align-items:center;
	margin-top:18px;
	padding:16px 18px !important;
	border:1px solid #dfe6e9;
	border-radius:12px;
	background:#fff;
}
.checkout-step-actions > .teilen50 { width:auto; float:none; }
.checkout-step-actions .agb_check { float:none; padding:0; }
.checkout-step-actions .agb_check label { display:flex !important; align-items:flex-start; gap:8px; margin:0 !important; line-height:1.45; text-indent:0; }
.checkout-step-actions .agb_check input { flex:0 0 auto; float:none; width:auto !important; margin:2px 0 0 !important; }
.checkout-step-actions #form_bezahlen { width:100%; min-height:45px; margin:0; padding:10px 16px; border:0; border-radius:9px; background:#0f766e; color:#fff; font-weight:800; }

@media (max-width:900px) {
	.checkout-step-page { margin:42px 0 70px; }
	.checkout-login-card .teilen100,
	.checkout-step-grid,
	.checkout-step-actions { grid-template-columns:1fr; }
	.checkout-login-card input[type="submit"] { margin-top:0; }
	.checkout-billing-card,
	.checkout-payment-card { padding:15px; }
}

@media (max-width:520px) {
	.checkout-billing-card .teilen100 { display:block; }
	.checkout-billing-card .teilen100 > div { width:100%; }
}

/* Checkout Schritt 1: neues, eigenständiges Grundgerüst */
.checkout-step-page { width:auto; margin:52px 0 90px; padding:0; color:#26373d; }
.checkout-step-page * { box-sizing:border-box; }
.checkout-step-page form.checkout-main-form {
	display:block;
	clear:both;
	width:100%;
	max-width:none;
	margin:0;
}
.checkout-step-header {
	position:static; width:auto; height:auto; max-height:none; z-index:auto;
	margin:0 0 20px; padding:0 0 16px; border-bottom:1px solid #dfe6e9;
	background:transparent; box-shadow:none;
}
.checkout-step-header > span,
.checkout-card-heading > span { display:block; margin-bottom:4px; color:#0f766e; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.checkout-step-header h2 { margin:0; color:#17212b; font-size:28px; line-height:1.15; }
.checkout-step-header p { margin:6px 0 0; color:#718087; font-size:13px; }
.checkout-main-grid { display:grid; grid-template-columns:minmax(0,2fr) minmax(310px,1fr); gap:18px; align-items:start; }
.checkout-side-column { display:grid; gap:18px; min-width:0; }
.checkout-form-card,
.checkout-login-card,
.checkout-register-card { padding:18px; border:1px solid #dfe6e9; border-radius:13px; background:#fff; box-shadow:0 3px 14px rgba(23,33,43,.045); }
.checkout-card-heading { margin-bottom:15px; padding-bottom:11px; border-bottom:1px solid #e7ecee; }
.checkout-card-heading h3 { margin:0 !important; color:#26373d; font-size:18px !important; }
.checkout-form-grid { display:grid; gap:12px; }
.checkout-form-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.checkout-field { display:block; min-width:0; margin:0; }
.checkout-field-full { grid-column:1/-1; }
.checkout-field-small { grid-column:auto; }
.checkout-field-grow { grid-column:auto; }
.checkout-field > span { display:block; margin-bottom:5px; color:#53656c; font-size:11px; font-weight:700; }
.checkout-field > small { display:block; margin-top:4px; color:#7a898f; font-size:10px; }
.checkout-step-page .checkout-field input,
.checkout-step-page .checkout-field select,
.checkout-step-page .checkout-field textarea {
	display:block; width:100%; min-height:42px; margin:0; padding:8px 10px;
	border:1px solid #d5dfe2; border-radius:8px; background:#fbfcfd; color:#26373d;
}
.checkout-step-page .checkout-field textarea { min-height:78px; resize:vertical; }
.checkout-step-page .checkout-field input:focus,
.checkout-step-page .checkout-field select:focus,
.checkout-step-page .checkout-field textarea:focus { border-color:#75aaa5; outline:3px solid rgba(15,118,110,.1); }
.checkout-login-card { margin-bottom:18px; }
.checkout-login-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)) 180px; gap:12px; align-items:end; }
.checkout-login-submit,
.checkout-next-button { width:100%; min-height:42px; margin:0; padding:9px 15px; border:0; border-radius:8px; background:#0f766e; color:#fff; font-weight:800; cursor:pointer; }
.checkout-login-submit:hover,
.checkout-next-button:hover { background:#0b625c; }
.checkout-account-toggle { display:flex; align-items:center; gap:10px; width:100%; margin:0 0 18px; padding:12px 14px; border:1px solid #dce5e7; border-radius:10px; background:#f7faf9; color:#33464d; text-align:left; cursor:pointer; }
.checkout-account-toggle > span:last-child { display:block; }
.checkout-account-toggle strong,
.checkout-account-toggle small { display:block; }
.checkout-account-toggle small { margin-top:2px; color:#7b898f; font-size:10px; font-weight:400; }
.checkout-register-card { margin:0 0 18px; }
.checkout-password-strength { display:grid; grid-template-columns:auto minmax(120px,1fr) auto; gap:10px; align-items:center; margin-top:12px; color:#63747b; font-size:11px; }
.checkout-password-strength meter { width:100%; margin:0; }
.checkout-payment-options { display:grid; gap:10px; }
.checkout-payment-option,
.checkout-pickup-option { display:flex !important; align-items:center; gap:11px; width:100%; min-height:54px; margin:0 !important; padding:11px 13px; border:1px solid #dce4e7; border-radius:9px; background:#f8fafb; color:#3e5158; cursor:pointer; }
.checkout-payment-option:hover,
.checkout-payment-option:focus-within { border-color:#8fb9b5; background:#f3f9f8; }
.checkout-payment-option input,
.checkout-pickup-option input { flex:0 0 auto; width:auto !important; margin:0 !important; }
.checkout-payment-option span { min-width:0; font-size:12px; line-height:1.4; }
.checkout-payment-option img { display:block; width:auto; max-width:130px; max-height:30px; }
.checkout-pickup-option { margin-top:14px !important; }
.checkout-pickup-option strong,
.checkout-pickup-option small { display:block; }
.checkout-pickup-option small { margin-top:2px; color:#79878d; font-size:10px; font-weight:400; }
.checkout-confirm-card { display:grid; gap:15px; }
.checkout-terms { display:flex !important; align-items:flex-start; gap:9px; margin:0 !important; color:#53656c; font-size:11px; line-height:1.5; }
.checkout-terms input { flex:0 0 auto; width:auto !important; margin:2px 0 0 !important; }
.checkout-shipping-toggle { width:100%; margin:16px 0 0; padding:10px 12px; border:1px dashed #aab9be; border-radius:8px; background:#f8fafb; color:#51666d; font-size:11px; font-weight:700; text-align:left; cursor:pointer; }
.checkout-shipping-fields { margin-top:14px; padding-top:14px; border-top:1px solid #e7ecee; }
.checkout-card-subheading { margin-bottom:11px; color:#34474e; font-size:13px; font-weight:800; }
.checkout-step-page .error { border-color:#d55b47 !important; background:#fff3f0 !important; color:#7f3024; }

@media (max-width:900px) {
	.checkout-step-page { margin:42px 0 70px; }
	.checkout-main-grid,
	.checkout-login-grid { grid-template-columns:1fr; }
}
@media (max-width:560px) {
	.checkout-form-card,
	.checkout-login-card,
	.checkout-register-card { padding:14px; }
	.checkout-form-grid-2 { grid-template-columns:1fr; }
	.checkout-field-full { grid-column:auto; }
	.checkout-step-header h2 { font-size:24px; }
	.checkout-password-strength { grid-template-columns:1fr; }
}

/* Große Artikelansicht */
.product-detail {
	width:100%;
	margin:34px 0 90px;
	color:#26373d;
}
.product-detail * { box-sizing:border-box; }
.product-detail-navigation {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:20px;
	margin-bottom:24px;
	padding:0 0 14px;
	border-bottom:1px solid #dfe6e9;
}
.product-detail-navigation .shop-breadcrumb {
	min-width:0;
	margin:0;
	overflow:hidden;
	color:#77858b;
	font-size:12px;
	line-height:1.5;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.product-detail-navigation .shop-breadcrumb a,
.product-detail-navigation .shop-breadcrumb span {
	color:inherit;
	font-size:inherit;
}
.product-detail-navigation .shop-breadcrumb a:hover { color:#0f766e; }
.product-detail-navigation .go-back {
	position:static;
	flex:0 0 auto;
	width:auto;
	height:auto;
	margin:0;
}
.product-detail-navigation a.shop-back-button {
	display:inline-flex;
	align-items:center;
	width:auto;
	height:auto;
	min-height:36px;
	padding:7px 12px;
	border:1px solid #dbe3e6;
	border-radius:8px;
	background:#fff;
	color:#53656c;
	font-size:12px;
	font-weight:700;
	line-height:1.2;
	text-indent:0;
	text-decoration:none;
}
.product-detail-navigation a.shop-back-button:hover {
	border-color:#c8d5d8;
	background:#f5f8f8;
	color:#26373d;
}
.product-detail-grid {
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(0,1fr);
	gap:clamp(28px,5vw,72px);
	align-items:start;
}
.product-detail-media,
.product-detail-content { min-width:0; }
.product-gallery {
	width:100%;
	border:0;
	border-radius:14px;
	background:transparent;
	box-shadow:none;
	outline:none;
}
.product-gallery__main {
	display:block;
	border-radius:14px;
	background:#f7f9f9;
	overflow:hidden;
}
.product-gallery__main img {
	display:block;
	box-sizing:border-box;
	width:100%;
	height:auto;
	-padding:clamp(14px,3vw,28px);
	border-radius:0 !important;
	background:#f7f9f9;
	object-fit:contain;
}
.product-gallery__navigation {
	display:flex;
	align-items:center;
	gap:9px;
	width:100%;
	margin-top:12px;
}
.product-gallery__thumbnails {
	display:flex;
	flex:1 1 auto;
	gap:9px;
	min-width:0;
	overflow-x:auto;
	scrollbar-width:thin;
	scroll-snap-type:x proximity;
}
.product-gallery__thumbnail {
	display:block;
	flex:0 0 76px;
	width:76px;
	height:60px;
	box-sizing:border-box;
	padding:4px;
	border:1px solid #dfe6e9;
	border-radius:6px;
	background:#f7f9f9;
	opacity:.68;
	cursor:pointer;
	scroll-snap-align:start;
}
.product-gallery__thumbnail img {
	display:block;
	width:100%;
	height:100%;
	object-fit:contain;
}
.product-gallery__thumbnail:hover,
.product-gallery__thumbnail.is-active,
.product-gallery__thumbnail:focus-visible {
	border-color:#0f766e;
	opacity:1;
	outline:none;
}
.product-gallery__arrow {
	display:grid;
	place-items:center;
	flex:0 0 38px;
	width:38px;
	height:38px;
	padding:0;
	border:1px solid #d8e1e3;
	border-radius:50%;
	background:#fff;
	color:#26373d;
	font-size:25px;
	line-height:1;
	cursor:pointer;
}
.product-gallery__arrow:hover,
.product-gallery__arrow:focus-visible {
	border-color:#0f766e;
	background:#edf8f6;
	color:#0f766e;
	outline:none;
}
.produkt_einzel_gross .product-detail-content .art_content { float:none; width:100%; }
.product-detail-heading {
	margin-bottom:22px;
	padding-bottom:20px;
	border-bottom:1px solid #e4eaec;
}
.produkt_einzel_gross .product-detail-heading .art_nr {
	margin-bottom:7px;
	color:#819096;
	font-size:11px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
}
.produkt_einzel_gross .product-detail-heading .art_name {
	margin:0;
	color:#17212b;
	font-size:clamp(28px,3.2vw,44px);
	font-weight:700;
	letter-spacing:-.025em;
	line-height:1.08;
}
.produkt_einzel_gross .product-detail-heading .art_name_sub {
	margin-top:9px;
	color:#64747b;
	font-size:16px;
	line-height:1.45;
}
.produkt_einzel_gross .product-detail-purchase {
	margin:0;
	padding:18px;
	border:1px solid #dfe6e9;
	border-radius:13px;
	background:#f8faf9;
	text-align:left;
}
.produkt_einzel_gross .product-detail-purchase .preis {
	margin:0;
	color:#17212b;
	font-size:30px;
	font-weight:750;
	line-height:1.15;
}
.produkt_einzel_gross .product-detail-purchase .alter_preis {
	margin-left:10px;
	color:#8b969a;
	font-size:16px;
}
.produkt_einzel_gross .product-detail-purchase .preis_netto {
	display:block;
	margin-top:7px;
	color:#78878d;
	font-size:11px;
	font-weight:500;
	line-height:1.5;
}
.product-detail-purchase .waren_auswahl { margin-top:18px; padding-top:17px; border-top:1px solid #dfe6e9; }
.product-detail-description {
	margin-top:24px;
	color:#44565d;
	font-size:15px;
	line-height:1.7;
}
.product-detail-description > :first-child { margin-top:0; }
.product-detail-description > :last-child { margin-bottom:0; }
.product-detail-more {
	margin:42px 0 0;
	padding-top:30px;
	border-top:1px solid #dfe6e9;
	color:#44565d;
	line-height:1.7;
}

@media (max-width:900px) {
	.product-detail { margin-top:24px; }
	.product-detail-grid { grid-template-columns:1fr; gap:28px; }
	.product-detail-content { width:100%; }
}
@media (max-width:600px) {
	.product-detail-navigation .shop-breadcrumb { display:none; }
	.product-detail-navigation { justify-content:flex-start; margin-bottom:18px; padding-bottom:12px; }
	.product-detail-navigation a.shop-back-button { min-height:34px; padding:6px 10px; }
	.produkt_einzel_gross .product-detail-heading .art_name { font-size:28px; }
	.produkt_einzel_gross .product-detail-purchase { padding:15px; }
	.product-gallery__thumbnail { flex-basis:64px; width:64px; height:52px; }
	.product-gallery__arrow { flex-basis:34px; width:34px; height:34px; }
}
.withdrawal-page{width:min(100% - 32px,920px);margin:42px auto 80px;color:#26373d}.withdrawal-header{margin-bottom:24px;border-bottom:1px solid #dfe7e9;padding-bottom:20px}.withdrawal-header>span{color:#0f766e;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.withdrawal-header h1{margin:6px 0 8px;font-size:clamp(28px,4vw,42px);line-height:1.12}.withdrawal-header p{max-width:680px;margin:0;color:#687a81;line-height:1.55}.withdrawal-form{display:grid;gap:16px}.withdrawal-card{padding:22px;background:#fff;border:1px solid #dfe7e9;border-radius:14px;box-shadow:0 8px 24px rgba(27,51,61,.05)}.withdrawal-card-head{display:flex;gap:13px;align-items:flex-start;padding-bottom:16px;margin-bottom:17px;border-bottom:1px solid #e8edef}.withdrawal-card-head>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#e7f5f2;color:#0f766e;font-weight:700}.withdrawal-card-head h2{margin:0 0 3px;font-size:18px}.withdrawal-card-head p{margin:0;color:#738289;font-size:13px;line-height:1.45}.withdrawal-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.withdrawal-field{display:grid;gap:7px;margin-top:14px}.withdrawal-card>.withdrawal-field:first-of-type{margin-top:0}.withdrawal-field span{font-size:12px;font-weight:700;color:#4d6168}.withdrawal-field b{color:#0f766e}.withdrawal-field input,.withdrawal-field textarea{box-sizing:border-box;width:100%;border:1px solid #cedadd;border-radius:7px;background:#fbfcfc;padding:11px 12px;color:#26373d;font:inherit}.withdrawal-field input:focus,.withdrawal-field textarea:focus{outline:3px solid rgba(15,118,110,.16);border-color:#0f766e}.withdrawal-field.has-error input{border-color:#c94141;background:#fff8f8}.withdrawal-field small{color:#b02e2e}.withdrawal-submit{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 4px 0}.withdrawal-submit p{margin:0;color:#6a7b82;font-size:13px;line-height:1.45}.withdrawal-submit button{flex:0 0 auto;border:0;border-radius:7px;background:#0f766e;color:#fff;padding:13px 22px;font-weight:700;cursor:pointer}.withdrawal-submit button:hover{background:#0b5f59}.withdrawal-submit button:focus-visible{outline:3px solid rgba(15,118,110,.28);outline-offset:3px}.withdrawal-error-summary{margin-bottom:16px;padding:14px 16px;border-left:4px solid #c94141;background:#fff2f2;border-radius:7px}.withdrawal-success{display:flex;gap:18px;align-items:flex-start;padding:26px;border:1px solid #b9ded8;background:#edf8f6;border-radius:14px}.withdrawal-success>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#0f766e;color:#fff;font-size:20px}.withdrawal-success h2{margin:0 0 8px}.withdrawal-success p{margin:0;line-height:1.55}.withdrawal-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.footer-withdrawal-link{font-weight:700;text-decoration-thickness:2px;text-underline-offset:3px}
@media(max-width:640px){.withdrawal-page{width:min(100% - 22px,920px);margin-top:24px}.withdrawal-grid{grid-template-columns:1fr}.withdrawal-card{padding:17px}.withdrawal-submit{align-items:stretch;flex-direction:column}.withdrawal-submit button{width:100%}}
.withdrawal-page{width:min(920px,calc(100% - 32px))}
@media(max-width:640px){.withdrawal-page{width:calc(100% - 22px)}}
.flv_player video {
	display: block;
	max-width: 100%;
	height: auto;
}


/* source: layout/modern/assets/css/frontend-cms.css */
/*
 * CMS structure
 * Layout, grid and content safety only. No project-specific design.
 */
:root {
	--cms-content-width: 1600px;
	--cms-gutter: clamp(18px, 4vw, 48px);
	--cms-section-space: clamp(42px, 7vw, 96px);
	--cms-grid-gap: clamp(20px, 3vw, 40px);
	--cms-header-height: 76px;
	--cms-space-small: clamp(20px, 2.5vw, 36px);
	--cms-space-medium: clamp(40px, 5vw, 72px);
	--cms-space-large: clamp(64px, 8vw, 120px);
}

html { scroll-behavior: smooth; }
body { min-width: 0; min-height: 100vh; margin: 0 !important; }
body.nav-open { overflow: hidden; }
*, *::before, *::after { box-sizing: border-box; }
img, svg, video, canvas, iframe { max-width: 100%; }
img, svg, video { height: auto; }
figure { margin: 0; }

/* Shared media lightbox ----------------------------------------------- */
html.media-lightbox-open { overflow: hidden; }
.media-lightbox { position: fixed; inset: 0; z-index: 10000; display: none; color: #fff; }
.media-lightbox.is-open { display: block; }
.media-lightbox__backdrop { position: absolute; inset: 0; background: rgba(7, 13, 17, .94); backdrop-filter: blur(8px); }
.media-lightbox__dialog { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr) 52px; grid-template-rows: minmax(0, 1fr) auto; align-items: center; width: 100%; height: 100%; padding: 24px; }
.media-lightbox__stage { display: grid; place-items: center; min-width: 0; min-height: 0; width: 100%; height: 100%; overflow: hidden; }
.media-lightbox__stage img,
.media-lightbox__stage video { display: block; width: auto; max-width: 100%; height: auto; max-height: calc(100vh - 110px); object-fit: contain; border-radius: 5px; box-shadow: 0 18px 60px rgba(0,0,0,.35); }
.media-lightbox__close,
.media-lightbox__nav { display: grid; place-items: center; padding: 0; color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.media-lightbox__close:hover,
.media-lightbox__nav:hover { background: #118b80; transform: scale(1.05); }
.media-lightbox__close { position: absolute; top: 18px; right: 18px; z-index: 2; width: 42px; height: 42px; font-size: 28px; line-height: 1; }
.media-lightbox__nav { width: 44px; height: 44px; font-size: 34px; line-height: 1; }
.media-lightbox__nav--prev { grid-column: 1; grid-row: 1; }
.media-lightbox__stage { grid-column: 2; grid-row: 1; }
.media-lightbox__nav--next { grid-column: 3; grid-row: 1; }
.media-lightbox__meta { grid-column: 2; grid-row: 2; display: flex; justify-content: space-between; gap: 18px; min-height: 28px; padding-top: 10px; color: #dce4e7; font-size: 13px; }
.media-lightbox__counter { flex: 0 0 auto; color: #8fa0a7; }
.media-lightbox--single .media-lightbox__nav { visibility: hidden; }

/* Optional controls generated by galerie_core.js. */
.galerie,
.bildtext_bild { position: relative; }
.media-gallery__controls { position: absolute; inset: 0; z-index: 5; pointer-events: none; }
.media-gallery__arrow { position: absolute; top: 50%; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; color: #fff; background: rgba(19, 31, 36, .62); border: 1px solid rgba(255,255,255,.35); border-radius: 50%; box-shadow: 0 5px 18px rgba(0,0,0,.16); transform: translateY(-50%); cursor: pointer; pointer-events: auto; }
.media-gallery__arrow:hover { background: #118b80; }
.media-gallery__arrow--prev { left: 12px; }
.media-gallery__arrow--next { right: 12px; }
.media-gallery__dots { position: absolute; left: 50%; bottom: 12px; display: flex; gap: 7px; transform: translateX(-50%); pointer-events: auto; }
.media-gallery__dots button { width: 9px; height: 9px; margin: 0; padding: 0; background: rgba(255,255,255,.58); border: 1px solid rgba(20,35,42,.28); border-radius: 50%; cursor: pointer; }
.media-gallery__dots button.is-active { background: #118b80; border-color: #fff; transform: scale(1.18); }

@media (max-width: 640px) {
	.media-lightbox__dialog { grid-template-columns: 42px minmax(0, 1fr) 42px; padding: 14px 6px; }
	.media-lightbox__close { top: 10px; right: 10px; }
	.media-lightbox__nav { width: 38px; height: 38px; }
	.media-lightbox__stage img,
	.media-lightbox__stage video { max-height: calc(100vh - 90px); }
}

.site-shell,
#outer.site-shell {
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
	margin: 0 !important;
}

.top-notice { position: relative !important; inset: auto !important; z-index: 1001; }

.site-header {
	position: sticky !important;
	top: 0 !important;
	z-index: 1000;
	width: 100% !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.site-header__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	min-height: var(--cms-header-height);
	max-width: var(--cms-content-width);
	margin: 0 auto;
	padding: 10px var(--cms-gutter);
}

.site-brand,
#logo.site-brand {
	position: static !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}
.site-brand a { display: inline-flex; align-items: center; }
.site-brand img, #logo.site-brand img { display: block; width: auto !important; max-width: min(200px, 50vw) !important; height: 48x !important; object-fit: contain; }

.site-header-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; }
.toggleMenu { display: inline-flex !important; position: static !important; align-items: center; min-height: 44px; }
.toggleMenu__icon { display: grid; gap: 5px; width: 24px; }
.toggleMenu__icon i { display: block; width: 24px; height: 2px; }

.site-navigation,
#site-navigation {
	display: none;
	position: fixed !important;
	inset: var(--cms-header-height) 0 auto !important;
	width: 100% !important;
	height: calc(100dvh - var(--cms-header-height)) !important;
	min-height: 0;
	margin: 0 !important;
	padding: 20px var(--cms-gutter) 48px !important;
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	z-index: 999;
}
.site-navigation::-webkit-scrollbar { display: none; }
body.nav-open .site-navigation,
body.nav-open #site-navigation { display: block; }
.site-navigation .nav { display: grid !important; width: 100%; margin: 0 !important; padding: 0 !important; list-style: none; }
.site-navigation .nav > li { float: none !important; position: relative; }
.site-navigation .nav a { display: block; width: 100%; }
.site-navigation .nav ul { position: static !important; display: none; width: 100% !important; margin: 0 !important; }
.site-navigation .nav li.submenu-open > ul { display: block; }
.submenu-toggle { position: absolute; top: 7px; right: 0; display: grid; place-items: center; width: 48px; height: 48px; padding: 0; border: 0; background: transparent; }
.submenu-toggle::before { content: ""; width: 10px; height: 10px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-3px) rotate(45deg); transition: transform .2s ease; }
.submenu-open > .submenu-toggle::before { transform: translateY(3px) rotate(225deg); }

.site-search-component { position: static; }
.site-search-toggle { display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; background: transparent; cursor: pointer; }
.site-search-toggle__icon { position: relative; display: block; width: 21px; height: 21px; }
.site-search-toggle__icon::before { position: absolute; top: 1px; left: 1px; width: 13px; height: 13px; border: 2px solid currentColor; border-radius: 50%; content: ""; }
.site-search-toggle__icon::after { position: absolute; right: 1px; bottom: 2px; width: 9px; height: 2px; border-radius: 2px; background: currentColor; transform: rotate(45deg); transform-origin: right center; content: ""; }
.site-search-panel { position: absolute; top: 100%; right: 0; left: 0; z-index: 998; display: grid; grid-template-rows: 0fr; width: 100%; visibility: hidden; opacity: 0; transition: grid-template-rows .24s ease, opacity .18s ease, visibility 0s linear .24s; }
.site-search-panel__clip { min-height: 0; overflow: hidden; }
.site-search-panel__inner { max-width: var(--cms-content-width); margin-inline: auto; padding: 14px var(--cms-gutter) 18px; }
.site-search-panel .cms-search { display: flex; gap: 8px; width: 100%; }
.site-search-panel input { min-width: 0; width: 100%; min-height: 44px; }
.site-search-panel button[type="submit"] { flex: 0 0 auto; min-height: 44px; padding-inline: 20px; }
.site-header.search-open .site-search-panel { grid-template-rows: 1fr; visibility: visible; opacity: 1; transition: grid-template-rows .24s ease, opacity .18s ease, visibility 0s; }

.site-banner { width: 100%; overflow: clip; }
.site-banner .bannerverwaltung { margin: 0 !important; }

/* Banner component ----------------------------------------------------- */
.bannerverwaltung,
.bannerverwaltung .banner,
.bannerverwaltung .slide_img,
.bannerverwaltung .single-video-hero { position: relative; width: 100%; min-width: 0; }
.bannerverwaltung { margin: 0 auto; overflow: hidden; z-index: 10; }
.bannerverwaltung .banner > a { position: relative; display: block; }
.bannerverwaltung img,
.bannerverwaltung video { display: block; width: 100%; height: auto; }
#mySlider { position: relative; width: 100%; margin: 0; padding: 0; list-style: none; }
#mySlider > li { position: absolute; inset: 0; width: 100%; margin: 0; padding: 0; opacity: 0; pointer-events: none; }
#mySlider > li.active { position: relative; z-index: 1; opacity: 1; pointer-events: auto; }
#mySlider > li > a { position: relative; display: block; width: 100%; }
.scroll-down2 { position: absolute; right: 22px; bottom: 22px; z-index: 20; display: block; width: 24px; height: 24px; }

@media (min-width: 800px) {
	.scroll-down2 { right: 48px; bottom: 42px; }
}
.site-page, #page.site-page { flex: 1; width: 100% !important; min-height: 50vh; margin: 0 !important; padding: 0 !important; }
.site-container, #container.site-container { float: none !important; width: 100% !important; margin: 0 auto !important;}
.site-main, #main.site-main { float: none !important; width: 100% !important; min-height: 45vh; margin: 0 !important; -padding: var(--cms-section-space) 0 !important; }

/* Generic CMS grid: works with new markup and common legacy width classes. */

section.center {
    width: 100%;
    padding-inline: max(
        var(--cms-gutter),
        calc((100% - var(--cms-content-width)) / 2)
    );
}

.cms-grid, .grid { width: 100%; min-width: 0; }
.cms-grid-columns {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--cms-grid-gap);
	width: 100%;
	min-width: 0;
}
.cms-grid-column {
	grid-column: span 12;
	min-width: 0;
}

@media (min-width: 640px) and (max-width: 899px) {
	.cms-grid-column.grid-col-6,
	.cms-grid-column.grid-col-4,
	.cms-grid-column.grid-col-3 { grid-column: span 6; }
}

@media (min-width: 900px) {
	.cms-grid-column.grid-col-12 { grid-column: span 12; }
	.cms-grid-column.grid-col-9  { grid-column: span 9; }
	.cms-grid-column.grid-col-8  { grid-column: span 8; }
	.cms-grid-column.grid-col-6  { grid-column: span 6; }
	.cms-grid-column.grid-col-4  { grid-column: span 4; }
	.cms-grid-column.grid-col-3  { grid-column: span 3; }
}
.cms-container, .container-wide { width: 100%; max-width: var(--cms-content-width); margin-inline: auto; padding-inline: var(--cms-gutter); }
.teilen100, .teilen80, .teilen75, .teilen66, .teilen60, .teilen50, .teilen40, .teilen33, .teilen25, .teilen20 { float: none; width: 100% !important; min-width: 0; }
.content, .textinhalt, .bildtext, .galerie, .contactform { max-width: 100%; }
.clearfix::after { display: table; clear: both; content: ""; }

/* Mobile Shop-Navigation: per JavaScript erzeugte Untermenü-Schalter. */
#nav .shop-submenu-toggle { display: none; }

@media (max-width: 1280px) {
	#nav .shop-submenu-toggle {
		position: absolute;
		top: 7px;
		right: 0;
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #222;
		cursor: pointer;
	}
	#nav .shop-submenu-toggle::before {
		width: 9px;
		height: 9px;
		border-right: 2px solid currentColor;
		border-bottom: 2px solid currentColor;
		content: "";
		transform: translateY(-3px) rotate(45deg);
		transition: transform .2s ease;
	}
	#nav li.open > .shop-submenu-toggle::before {
		transform: translateY(3px) rotate(225deg);
	}
	#nav .nav > li > a.parent::after { display: none; }
}

/* Kontaktformular-Builder v2 */
.contactform-v2 form { display:flex; flex-wrap:wrap; gap:16px; }
.contactform-v2 .contactform-field { width:100%; min-width:0; }
.contactform-v2 .contactform-width-66 { width:calc(66.666% - 8px); }
.contactform-v2 .contactform-width-50 { width:calc(50% - 8px); }
.contactform-v2 .contactform-width-33 { width:calc(33.333% - 11px); }
.contactform-v2 label { display:block; margin-bottom:6px; font-weight:600; }
.contactform-v2 input:not([type="checkbox"]):not([type="radio"]), .contactform-v2 textarea, .contactform-v2 select { box-sizing:border-box; width:100%; padding:10px 12px; border:1px solid #cbd5d7; border-radius:5px; font:inherit; }
.contactform-v2 textarea { min-height:140px; resize:vertical; }
.contactform-v2 .contactform-checkbox, .contactform-v2 .contactform-radio { font-weight:400; }
.contactform-v2 .contactform-radio { margin:5px 0; }
.contactform-v2 button { padding:11px 20px; border:0; border-radius:5px; cursor:pointer; }
.contactform-v2 .contactform-error { display:block; margin-top:5px; color:#b42318; }
.contactform-v2 .has-error input, .contactform-v2 .has-error textarea, .contactform-v2 .has-error select { border-color:#b42318; }
.contactform-v2 .contactform-success { padding:14px; border-radius:5px; color:#17663a; background:#e8f7ee; }
.contactform-v2 .contactform-honeypot { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
@media (max-width:640px) { .contactform-v2 .contactform-width-66, .contactform-v2 .contactform-width-50, .contactform-v2 .contactform-width-33 { width:100%; } }

/* Layout spacing utilities --------------------------------------------
   Werden im Backend fuer Grids und einzelne Inhaltselemente ausgewaehlt.
   clamp() haelt die Abstaende mobil kompakt und skaliert sie am Desktop. */
.site-main .space-before-small  { padding-block-start: var(--cms-space-small) !important; }
.site-main .space-before-medium { padding-block-start: var(--cms-space-medium) !important; }
.site-main .space-before-large  { padding-block-start: var(--cms-space-large) !important; }

.site-main .space-after-small  { padding-block-end: var(--cms-space-small) !important; }
.site-main .space-after-medium { padding-block-end: var(--cms-space-medium) !important; }
.site-main .space-after-large  { padding-block-end: var(--cms-space-large) !important; }

.site-main .space-before-reset { padding-block-start: 0 !important; }
.site-main .space-after-reset  { padding-block-end: 0 !important; }

/* Gallery component ---------------------------------------------------- */
.galerie { --gallery-columns: 1; --gallery-gap: var(--cms-grid-gap); width: 100%; min-width: 0; }
.galerie > .content { width: 100%; min-width: 0; margin: 0; }
.galerie .slides {
	display: grid;
	grid-template-columns: repeat(var(--gallery-columns), minmax(0, 1fr));
	gap: var(--gallery-gap);
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.galerie .slides > li { display: block; float: none; min-width: 0; width: auto !important; margin: 0 !important; padding: 0 !important; }
.galerie .normal_pic,
.galerie .galerie-verlinkungs-image,
.galerie .galerie-verlinkungs-image .pic,
.galerie .klickbar2 { position: relative; width: 100%; min-width: 0; }
.galerie .normal_pic > a,
.galerie .galerie-verlinkungs-image a,
.galerie .pic > a { display: block; width: 100%; }
.galerie img,
.galerie video { display: block; width: 100%; max-width: none; height: auto; }

/* Alte Materialize-Sliderwerte (400px/absolute) dürfen das vom CMS
   erzeugte Thumbnail-Format nicht überschreiben. Inline-Werte des
   neuen Faders bleiben durch ihre höhere Priorität weiterhin aktiv. */
.site-main .galerie[data-gallery] .slides,
.site-main .bildtext .slides { height: auto; background: transparent; }
.site-main .galerie[data-gallery] .slides > li,
.site-main .bildtext .slides > li { position: relative; inset: auto; height: auto; opacity: 1; }
.site-main .galerie[data-gallery] .slides > li img,
.site-main .bildtext .slides > li img { height: auto; }

/* Animated modes keep the same markup but opt out of the grid. */
:where(.slider, .fader, .carousel_slider, .carousel_2, .carussel, .scroller, .marquee) .galerie,
.galerie:is(.slider, .fader, .carousel_slider, .carousel_2, .carussel, .scroller, .marquee) { overflow: hidden; }
:where(.carousel_slider, .carousel_2, .carussel) .galerie .content,
.galerie:is(.carousel_slider, .carousel_2, .carussel) .content { width: 100%; overflow: hidden; }
:where(.slider, .fader, .carousel_slider, .carousel_2, .carussel, .scroller, .marquee) .galerie .slides,
.galerie:is(.slider, .fader, .carousel_slider, .carousel_2, .carussel, .scroller, .marquee) .slides { display: flex; flex-wrap: nowrap; gap: 0; overflow: visible; }
:where(.slider, .fader) .galerie .slides > li,
.galerie:is(.slider, .fader) .slides > li { flex: 0 0 100%; }
:where(.carousel_slider) .galerie .slides > li,
.galerie.carousel_slider .slides > li { flex: 0 0 100% !important; }
:where(.carousel_2) .galerie .slides > li,
.galerie.carousel_2 .slides > li { flex: 0 0 100% !important; }

@media (min-width: 560px) {
	:where(.carousel_slider, .carousel_2) .galerie .slides > li,
	.galerie:is(.carousel_slider, .carousel_2) .slides > li { flex-basis: 50% !important; }
}

@media (min-width: 900px) {
	:where(.carousel_slider) .galerie .slides > li,
	.galerie.carousel_slider .slides > li { flex-basis: 33.333333% !important; }
	:where(.carousel_2) .galerie .slides > li,
	.galerie.carousel_2 .slides > li { flex-basis: 16.666667% !important; }
}

@media (min-width: 560px) {
	.gal_2er, .gal_3er, .gal_4er, .gal_5er, .gal_6er { --gallery-columns: 2; }
}

@media (min-width: 800px) {
	.gal_3er { --gallery-columns: 3; }
	.gal_4er { --gallery-columns: 4; }
	.gal_5er { --gallery-columns: 3; }
	.gal_6er { --gallery-columns: 3; }
}

@media (min-width: 1100px) {
	.gal_5er { --gallery-columns: 5; }
	.gal_6er { --gallery-columns: 6; }
}

/* Image + text component ---------------------------------------------- */
.bildtext { width: 100%; min-width: 0; }
.bildtext > .content { width: 100%; min-width: 0; }
.bildtext__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--cms-grid-gap); align-items: center; min-height: 0; }
.bildtext_bild, .bildtext_text { float: none !important; width: 100% !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
.bildtext { --bildtext-columns: 1; }
.bildtext_bild .slides { display: grid; grid-template-columns: repeat(var(--bildtext-columns), minmax(0, 1fr)); gap: var(--cms-grid-gap); width: 100%; margin: 0; padding: 0; list-style: none; }
.bildtext_bild .slides > li { display: block; float: none; width: 100% !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
.bildtext_bild a { display: block; width: 100%; }
.bildtext_bild img, .bildtext_bild video { display: block; width: 100%; height: auto; }

/* Bild + Text slider: keep every moving slide inside its media column. */
.bildtext.slider_BT .bildtext_bild,
.slider_BT .bildtext_bild {
	position: relative;
	width: 100%;
	min-width: 0;
	overflow: hidden;
}
.bildtext.slider_BT .bildtext_bild .slides,
.slider_BT .bildtext_bild .slides {
	display: flex;
	grid-template-columns: none;
	flex-wrap: nowrap;
	gap: 0;
	width: 100%;
	min-width: 0;
	overflow: visible;
}
.bildtext.slider_BT .bildtext_bild .slides > li,
.slider_BT .bildtext_bild .slides > li {
	flex: 0 0 100%;
	width: 100% !important;
	max-width: 100%;
}

@media (min-width: 560px) {
	.bildtext.gal_2er,
	.bildtext.gal_3er,
	.bildtext.gal_4er,
	.bildtext.gal_5er,
	.bildtext.gal_6er { --bildtext-columns: 2; }
}

@media (min-width: 800px) {
	.bildtext__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: var(--bildtext-min-height, 0); }
	.bildtext__layout.bildtext__text-align--top { align-items: start; }
	.bildtext__layout.bildtext__text-align--bottom { align-items: end; }
	.bildtext__layout.left.bildtext__ratio--25-75 { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
	.bildtext__layout.right.bildtext__ratio--25-75 { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
	.bildtext__layout.left.bildtext__ratio--33-66 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
	.bildtext__layout.right.bildtext__ratio--33-66 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
	.bildtext__layout.right .bildtext_bild { order: 2; }
	.bildtext__layout.right .bildtext_text { order: 1; }
	.bildtext__layout.middle { grid-template-columns: minmax(0, 1fr); }
	.bildtext.gal_3er { --bildtext-columns: 3; }
	.bildtext.gal_4er { --bildtext-columns: 4; }
	.bildtext.gal_5er,
	.bildtext.gal_6er { --bildtext-columns: 3; }
}

@media (min-width: 1100px) {
	.bildtext.gal_5er { --bildtext-columns: 5; }
	.bildtext.gal_6er { --bildtext-columns: 6; }
}

/* Two-column text component -------------------------------------------- */
.textzweispaltig { width: 100%; min-width: 0; }
.textzweispaltig > .content { width: 100%; min-width: 0; }
.textzweispaltig__title { margin-bottom: clamp(20px, 3vw, 36px); }
.textzweispaltig__layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--cms-grid-gap, clamp(20px, 4vw, 56px)); align-items: start; }
.textzweispaltig__column { min-width: 0; }
.textzweispaltig__column > :first-child { margin-top: 0; }
.textzweispaltig__column > :last-child { margin-bottom: 0; }

@media (min-width: 800px) {
	.textzweispaltig__layout { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* News component ------------------------------------------------------- */
.news {
	float: none !important;
	width: 100%;
	min-width: 0;
	container-type: inline-size;
}
.news + .news { margin-top: clamp(20px, 3vw, 34px); }
.news__content,
.news__copy,
.news__header,
.news__body { min-width: 0; }
.news__figure,
.news__figure a,
.news__media-link { display: block; width: 100%; height: 100%; }
.news__image { display: block; width: 100%; max-width: none; height: 100%; }

.news--teaser .news__content { display: grid; grid-template-columns: minmax(0, 1fr); }
.news--teaser .news__copy { display: flex; flex-direction: column; align-items: flex-start; }
.news--teaser .news__link { margin-top: auto; }

.news--full .news__content { width: 100%; max-width: 1180px; margin-inline: auto; }
.news--full .news__header { max-width: 900px; }
.news--full .news__media { display: grid; grid-template-columns: minmax(0, 1fr); }
.news--full .news__media--pair { gap: clamp(12px, 2vw, 24px); }
.news--full .news__body--article,
.news--full .news__footer { max-width: 820px; margin-inline: auto; }
.news__footer-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; }
.news-archive__list { display: grid; gap: clamp(20px, 3vw, 34px); width: 100%; }
.news-archive__list > .news + .news { margin-top: 0; }

@container (min-width: 680px) {
	.news--teaser.news--with-media .news__content { grid-template-columns: minmax(230px, .8fr) minmax(0, 1.2fr); }
	.news--full .news__media--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* News slider ---------------------------------------------------------- */
.news-slider { position: relative; width: 100%; min-width: 0; }
.news-slider__viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.news-slider__viewport::-webkit-scrollbar { display: none; }
.news-slider__track { display: flex; align-items: stretch; width: 100%; }
.news-slider__track > .news {
	flex: 0 0 100%;
	width: 100%;
	min-width: 0;
	scroll-snap-align: start;
	scroll-snap-stop: always;
}
.news-slider .news + .news { margin-top: 0; }
.news-slider .news--teaser .news__content { height: 100%; }
.news-slider__controls { display: flex; align-items: center; justify-content: center; }
.news-slider__dots { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; }
.news-slider__status { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

.site-footer, #footer.site-footer { position: static !important; width: 100% !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
.site-footer__inner { max-width: var(--cms-content-width); margin: 0 auto !important; padding: clamp(40px, 6vw, 72px) var(--cms-gutter) !important; }

.site-action, #toplink.site-action, #backlink.site-action { display: none; position: fixed !important; right: 18px !important; bottom: 18px !important; left: auto !important; top: auto !important; align-items: center; justify-content: center; width: 46px !important; height: 46px !important; z-index: 900; }
#toplink.site-action.is-visible, #backlink.site-action.is-visible { display: flex !important; }
#backlink.site-action { right: 74px !important; }
#toplink.site-action span { display: inline !important; width: auto !important; height: auto !important; }
#toplink.site-action span::before { content: none !important; }

@media (min-width: 720px) {
	.cms-grid--2, .cols-50-50 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.cms-grid--3, .cols-33-33-33 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cms-grid--4, .cols-25-25-25-25 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1025px) {
	body.nav-open { overflow: auto; }
	.site-header__inner { grid-template-columns: auto minmax(0, 1fr) auto; gap: clamp(24px, 4vw, 64px); }
	.toggleMenu { display: none !important; }
	.site-navigation, #site-navigation { display: block !important; position: static !important; inset: auto !important; width: auto !important; height: auto !important; padding: 0 !important; overflow: visible; }
	.site-navigation .nav { display: flex !important; justify-content: center; align-items: center; }
	.site-navigation .nav > li { float: none !important; }
	.site-navigation .nav > li > a { width: auto; }
	.site-navigation .nav ul { position: absolute !important; top: 100% !important; left: 0 !important; min-width: 230px; }
	.site-navigation .nav li:hover > ul, .site-navigation .nav li:focus-within > ul { display: block; }
	.submenu-toggle { display: none; }
	.cms-grid--4, .cols-25-25-25-25 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.cols-33-66 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
	.cols-66-33 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
	.cols-25-75 { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
	.cols-75-25 { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}
/* Scrollgebundene Bewegungen fuer Grid-Hintergrundbilder. */
.cms-grid.has-background-overlay { position:relative; isolation:isolate; }
.cms-grid.has-background-overlay::after { position:absolute; z-index:1; inset:0; pointer-events:none; background:rgba(0,0,0,var(--grid-background-overlay)); content:''; }
.cms-grid.has-background-overlay > .cms-grid-columns { position:relative; z-index:2; }
.cms-grid.has-background-overlay.parallax-ready > .cms-grid-columns { z-index:2; }

.cms-grid.parallax,
.cms-grid.parallax-zoom,
.cms-grid.parallax-zoom-rotate,
.cms-grid.parallax-push-left {
	--grid-parallax-x: 0px;
	--grid-parallax-y: 0px;
	--grid-parallax-scale: 1;
	--grid-parallax-rotate: 0deg;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.cms-grid.parallax-ready::before,
.cms-grid.parallax-zoom.parallax-ready::before,
.cms-grid.parallax-zoom-rotate.parallax-ready::before,
.cms-grid.parallax-push-left.parallax-ready::before {
	position: absolute;
	z-index: 0;
	inset: -14%;
	pointer-events: none;
	content: '';
	background-image: var(--grid-parallax-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: translate3d(var(--grid-parallax-x), var(--grid-parallax-y), 0)
		scale(var(--grid-parallax-scale)) rotate(var(--grid-parallax-rotate));
	transform-origin: center;
	will-change: transform;
}

.cms-grid.parallax-ready > .cms-grid-columns {
	position: relative;
	z-index: 1;
}

/* Klassisch fixierter Hintergrund; mobil als JS-Parallax, da fixed dort unzuverlaessig ist. */
.cms-grid.parallax-fixed {
	--grid-parallax-y: 0px;
	background-attachment: fixed !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
}

@media (max-width: 900px) {
	.cms-grid.parallax-fixed {
		background-attachment: scroll !important;
		background-position: center calc(50% + var(--grid-parallax-y)) !important;
		background-size: auto 140% !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cms-grid.parallax,
	.cms-grid.parallax-zoom,
	.cms-grid.parallax-zoom-rotate,
	.cms-grid.parallax-push-left,
	.cms-grid.parallax-fixed {
		--grid-parallax-x: 0px;
		--grid-parallax-y: 0px;
		--grid-parallax-scale: 1;
		--grid-parallax-rotate: 0deg;
	}

	.cms-grid.parallax-fixed {
		background-attachment: scroll !important;
		background-position: center !important;
	}

	.cms-grid.parallax-ready::before,
	.cms-grid.parallax-zoom.parallax-ready::before,
	.cms-grid.parallax-zoom-rotate.parallax-ready::before,
	.cms-grid.parallax-push-left.parallax-ready::before {
		will-change: auto;
	}
}

/* Wiederholbarer Swoosh-Effekt fuer vollstaendige CMS-Inhaltsbloecke. */
.swoosh-scroll {
	--swoosh-delay: 0ms;
	opacity: 0 !important;
	transform: translate3d(0, 68px, 0) scale(.97);
	transition:
		opacity 1s ease,
		transform 1s cubic-bezier(.16, .72, .24, 1);
	transition-delay: 0ms;
	will-change: opacity, transform;
}

.swoosh-scroll.swoosh-scroll--left {
	transform: translate3d(-68px, 0, 0) scale(.97);
}

.swoosh-scroll.swoosh-scroll--right {
	transform: translate3d(68px, 0, 0) scale(.97);
}

.swoosh-scroll.swoosh-scroll--fade {
	transform: none;
}

.swoosh-scroll.swoosh-scroll--zoom {
	transform: scale(.82);
}

.swoosh-scroll.is-swoosh-visible {
	opacity: 1 !important;
	transform: translate3d(0, 0, 0);
	transition-delay: var(--swoosh-delay);
}

@media (prefers-reduced-motion: reduce) {
	.swoosh-scroll,
	.swoosh-scroll.swoosh-scroll--left,
	.swoosh-scroll.swoosh-scroll--right,
	.swoosh-scroll.swoosh-scroll--fade,
	.swoosh-scroll.swoosh-scroll--zoom {
		opacity: 1 !important;
		transform: none;
		transition: none;
		will-change: auto;
	}
}
.flv_player video {
	display: block;
	max-width: 100%;
	height: auto;
}


/* source: assets/css/terminplanung.css */
/* Zentrale Frontend-Darstellung der Terminplanung. */
.event-planning {
	--event-accent: var(--design-accent, #176e66);
	--event-border: var(--design-border, #dfe7e5);
	--event-surface: var(--design-surface, #fff);
	--event-muted: #687773;
	width: 100%;
	box-sizing: border-box;
}
.event-planning__header { margin: 0 0 clamp(1.5rem, 4vw, 3rem); }
.event-planning__eyebrow { margin: 0 0 .45rem; color: var(--event-accent); font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.event-planning__header h1,
.event-planning__header h2,
.event-planning__header h3,
.event-planning__header h4,
.event-planning__header h5,
.event-planning__header h6,
.event-planning__header > div { margin: 0; font-size: clamp(2rem, 5vw, 4.5rem); line-height: .98; }
.event-planning__items { display: grid; grid-template-columns: repeat(var(--event-columns-mobile, 1), minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2rem); align-items: stretch; }
.event-planning__month { grid-column: 1 / -1; margin: 1.5rem 0 0; padding-bottom: .7rem; border-bottom: 1px solid var(--event-border); font-size: clamp(1.2rem, 2vw, 1.7rem); }
.event-card { min-width: 0; overflow: hidden; border: 1px solid var(--event-border); border-radius: 16px; background: var(--event-surface); box-shadow: 0 8px 28px rgba(27, 48, 44, .06); }
.event-planning--static.event-planning--cards .event-planning__items { grid-auto-rows:1fr; }
.event-planning--cards .event-card { display:flex; flex-direction:column; height:100%; }
.event-planning--cards .event-card__content { flex:1 1 auto; }
.event-card__media { display: flex; align-items: center; justify-content: center; width: 100%; overflow: hidden; background: rgba(127, 143, 139, .08); }
.event-card__media img { display: block; width: 100%; height: auto; max-height: min(70vh, 780px); object-fit: contain; object-position: center; transition: transform .35s ease; }
.event-card__media:hover img { transform: scale(1.015); }
.event-planning--ratio-16-9 .event-card__media { aspect-ratio: 16 / 9; }
.event-planning--ratio-4-3 .event-card__media { aspect-ratio: 4 / 3; }
.event-planning--ratio-1-1 .event-card__media { aspect-ratio: 1 / 1; }
.event-planning--ratio-3-4 .event-card__media { aspect-ratio: 3 / 4; }
.event-planning--ratio-16-9 .event-card__media img,
.event-planning--ratio-4-3 .event-card__media img,
.event-planning--ratio-1-1 .event-card__media img,
.event-planning--ratio-3-4 .event-card__media img { height: 100%; max-height: none; }
.event-planning--fit-cover .event-card__media img { object-fit: cover; }
.event-card__content { padding: clamp(1.1rem, 2.3vw, 1.75rem); }
.event-card__date { display: block; margin-bottom: .65rem; color: var(--event-accent); font-size: .78rem; font-weight: 700; letter-spacing: .045em; line-height: 1.45; text-transform: uppercase; }
.event-card__title { margin: 0; font-size: clamp(1.15rem, 2vw, 1.6rem); line-height: 1.2; }
.event-card__location { margin: .8rem 0 0; color: var(--event-muted); }
.event-card__location a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .18em; }
.event-card__details { margin-top: 1.15rem; padding-top: 1rem; border-top: 1px solid var(--event-border); }
.event-card__details summary { color: var(--event-accent); font-weight: 650; cursor: pointer; }
.event-card__information { margin-top: 1rem; line-height: 1.65; }
.event-planning__empty { padding: 1.25rem 0; color: var(--event-muted); }

/* Kompakte Liste: Bild und Inhalt stehen nebeneinander. */
.event-planning--list .event-planning__items { grid-template-columns: 1fr; gap: .85rem; }
.event-planning--list .event-card { display: grid; grid-template-columns: minmax(150px, 260px) 1fr; }
.event-planning--list .event-card__media { height: 100%; min-height: 160px; }
.event-planning--list .event-card__media img { height: 100%; max-height: 260px; }
.event-planning--list.event-planning--ratio-auto .event-card__media img { object-fit: contain; }
.event-planning--list .event-card--no-image { display: block; }

/* Zeitleiste mit bewusst ruhiger Führung. */
.event-planning--timeline .event-planning__items { grid-template-columns: 1fr; gap: 0; padding-left: clamp(1.3rem, 3vw, 2.3rem); border-left: 2px solid var(--event-border); }
.event-planning--timeline .event-card { position: relative; display: grid; grid-template-columns: minmax(160px, 240px) 1fr; margin-bottom: 1.2rem; overflow: visible; }
.event-planning--timeline .event-card::before { position: absolute; top: 1.5rem; left: calc(clamp(1.3rem, 3vw, 2.3rem) * -1 - 7px); width: 12px; height: 12px; border: 2px solid var(--event-surface); border-radius: 50%; background: var(--event-accent); box-shadow: 0 0 0 2px var(--event-accent); content: ""; }
.event-planning--timeline .event-card__media { overflow: hidden; border-radius: 15px 0 0 15px; }

/* Slider und Carousel: Touch-Wischen, Scroll-Snap und gemeinsame Navigation. */
.event-planning--slider,
.event-planning--carousel { --event-visible: var(--event-columns-mobile, 1); }
.event-planning--slider { --event-visible: 1; }
.event-planning--slider .event-planning__items,
.event-planning--carousel .event-planning__items {
	display: flex;
	align-items: stretch;
	gap: clamp(.8rem, 2vw, 1.5rem);
	padding: 2px 2px 14px;
	overflow-x: auto;
	overflow-y: hidden;
	border: 0;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}
.event-planning--slider .event-planning__items::-webkit-scrollbar,
.event-planning--carousel .event-planning__items::-webkit-scrollbar { display: none; }
.event-planning--slider .event-card,
.event-planning--carousel .event-card {
	display: flex;
	flex-direction: column;
	flex: 0 0 calc((100% - (var(--event-visible) - 1) * clamp(.8rem, 2vw, 1.5rem)) / var(--event-visible));
	margin: 0;
	overflow: hidden;
	scroll-snap-align: start;
}
.event-planning--slider .event-card__content,
.event-planning--carousel .event-card__content { flex:1 1 auto; }
.event-planning--slider .event-card::before,
.event-planning--carousel .event-card::before { display: none; }
.event-planning--slider .event-card__media,
.event-planning--carousel .event-card__media { height: auto; min-height: 0; border-radius: 15px 15px 0 0; }
.event-planning__controls { display:flex; align-items:center; justify-content:center; gap:.65rem; margin-top:1.1rem; }
.event-planning__arrow { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; padding:0; border:1px solid var(--event-border); border-radius:50%; background:var(--event-surface); color:inherit; cursor:pointer; transition:transform .18s ease, background .18s ease; }
.event-planning__arrow:hover { transform:translateY(-2px); background:rgba(127,143,139,.08); }
.event-planning__dots { display:flex; align-items:center; justify-content:center; gap:7px; min-height:42px; }
.event-planning__dot { width:8px; height:8px; padding:0; border:0; border-radius:999px; background:#b9c3c0; cursor:pointer; transition:width .2s ease, background .2s ease; }
.event-planning__dot.is-active { width:24px; background:var(--event-accent); }
.event-planning__status { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

@media (min-width: 681px) {
	.event-planning__items { grid-template-columns: repeat(var(--event-columns-tablet, 2), minmax(0, 1fr)); }
	.event-planning--carousel { --event-visible: var(--event-columns-tablet, 2); }
	.event-planning--list .event-planning__items,
	.event-planning--timeline .event-planning__items { grid-template-columns: 1fr; }
}
@media (min-width: 961px) {
	.event-planning__items { grid-template-columns: repeat(var(--event-columns-desktop, 3), minmax(0, 1fr)); }
	.event-planning--carousel { --event-visible: var(--event-columns-desktop, 3); }
	.event-planning--list .event-planning__items,
	.event-planning--timeline .event-planning__items { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
	.event-planning--list .event-card,
	.event-planning--timeline .event-card { display: block; }
	.event-planning--list .event-card__media,
	.event-planning--timeline .event-card__media { height: auto; min-height: 0; border-radius: 15px 15px 0 0; }
	.event-planning--list .event-card__media img,
	.event-planning--timeline .event-card__media img { width: 100%; height: auto; max-height: 70vh; }
	.event-planning--timeline .event-planning__items { padding-left: 1rem; }
	.event-planning--timeline .event-card::before { left: -1.45rem; }
	.event-planning--slider.event-planning--timeline .event-planning__items,
	.event-planning--carousel.event-planning--timeline .event-planning__items { padding-left:2px; }
}
@media (prefers-reduced-motion: reduce) {
	.event-card__media img { transition: none; }
	.event-planning--slider .event-planning__items,
	.event-planning--carousel .event-planning__items { scroll-behavior: auto; }
}


/* source: assets/css/news-layouts.css */
/* Flexible News-Uebersichten. Die optische Gestaltung bleibt im aktiven Theme. */
.news-overview {
	--news-columns: 1;
	--news-gap: clamp(16px, 2.4vw, 30px);
	position: relative;
	width: 100%;
	min-width: 0;
	container-type: inline-size;
}

.news-overview .news-slider__viewport { width: 100%; min-width: 0; }
.news-overview .news-slider__track { align-items: stretch; gap: var(--news-gap); width: 100%; }
.news-overview .news { min-width: 0; height: auto; margin: 0; }
.news-overview .news__content { min-width: 0; height: 100%; }
.news-overview .news__copy { min-width: 0; }

/* Statische Ausgabe --------------------------------------------------- */
.news-overview--static .news-slider__viewport {
	overflow: visible;
	scroll-snap-type: none;
}
.news-overview--static .news-slider__track {
	display: grid;
	grid-template-columns: repeat(var(--news-columns), minmax(0, 1fr));
}
.news-overview--static .news-slider__track > .news {
	width: auto;
	max-width: none;
	min-width: 0;
}

/* Slider und Carousel ------------------------------------------------- */
.news-overview--slider .news-slider__track { gap: 0; }
.news-overview--slider .news-slider__track > .news {
	flex: 0 0 100%;
	width: 100%;
}
.news-overview--carousel .news-slider__track > .news {
	flex: 0 0 100%;
	width: 100%;
}

/* Ansichten ----------------------------------------------------------- */
.news-overview--highlight { --news-columns: 1 !important; }
.news-overview--list { --news-columns: 1 !important; }
.news-overview--cards .news--teaser .news__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) !important;
}
.news-overview--cards .news--teaser.news--with-media .news__content { grid-template-rows: auto minmax(0, 1fr); }
.news-overview--list .news--teaser .news__content {
	display: grid;
	grid-template-columns: minmax(150px, 28%) minmax(0, 1fr) !important;
}

/* Bildformat ---------------------------------------------------------- */
.news-overview:not(.news-ratio-auto) .news--teaser .news__media-link,
.news-overview:not(.news-ratio-auto) .news--teaser .news__figure {
	height: auto;
	overflow: hidden;
}
.news-overview.news-ratio-16-9 .news--teaser .news__media-link,
.news-overview.news-ratio-16-9 .news--teaser .news__figure { aspect-ratio: 16 / 9; }
.news-overview.news-ratio-4-3 .news--teaser .news__media-link,
.news-overview.news-ratio-4-3 .news--teaser .news__figure { aspect-ratio: 4 / 3; }
.news-overview.news-ratio-1-1 .news--teaser .news__media-link,
.news-overview.news-ratio-1-1 .news--teaser .news__figure { aspect-ratio: 1 / 1; }
.news-overview.news-fit-cover .news--teaser .news__image { object-fit: cover; }
.news-overview.news-fit-contain .news--teaser .news__image { object-fit: contain; }

/* Responsive Spalten ------------------------------------------------- */
.news-columns-2-3-4 { --news-columns: 2; }
.news-overview--carousel.news-columns-2-3-4 .news-slider__track > .news {
	flex-basis: calc((100% - var(--news-gap)) / 2);
}

@container (min-width: 620px) {
	.news-columns-1-2-2,
	.news-columns-1-2-3,
	.news-columns-1-2-4 { --news-columns: 2; }
	.news-columns-2-3-4 { --news-columns: 3; }
	.news-overview--carousel.news-columns-1-2-2 .news-slider__track > .news,
	.news-overview--carousel.news-columns-1-2-3 .news-slider__track > .news,
	.news-overview--carousel.news-columns-1-2-4 .news-slider__track > .news {
		flex-basis: calc((100% - var(--news-gap)) / 2);
	}
	.news-overview--carousel.news-columns-2-3-4 .news-slider__track > .news {
		flex-basis: calc((100% - var(--news-gap) - var(--news-gap)) / 3);
	}
}

@container (min-width: 960px) {
	.news-columns-1-2-3 { --news-columns: 3; }
	.news-columns-1-2-4,
	.news-columns-2-3-4 { --news-columns: 4; }
	.news-overview--carousel.news-columns-1-2-3 .news-slider__track > .news {
		flex-basis: calc((100% - var(--news-gap) - var(--news-gap)) / 3);
	}
	.news-overview--carousel.news-columns-1-2-4 .news-slider__track > .news,
	.news-overview--carousel.news-columns-2-3-4 .news-slider__track > .news {
		flex-basis: calc((100% - var(--news-gap) - var(--news-gap) - var(--news-gap)) / 4);
	}
}

@container (max-width: 619px) {
	.news-overview--list .news--teaser .news__content {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.news-overview .news-slider__viewport { scroll-behavior: auto; }
}


/* source: assets/css/site-search.css */
.cms-search-results {
	width: min(1180px, calc(100% - 40px));
	margin: 0 auto;
	padding: clamp(36px, 6vw, 88px) 0;
}

.cms-search-results > h1 {
	margin: 0 0 12px;
	font-size: clamp(2rem, 5vw, 4.5rem);
	line-height: .98;
}

.cms-search-summary {
	margin-bottom: 30px;
	color: #667085;
}

.cms-search-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.cms-search-result {
	display: grid;
	grid-template-columns: 150px minmax(0, 1fr);
	min-width: 0;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .10);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 30px rgba(15, 23, 42, .05);
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.cms-search-result:hover {
	transform: translateY(-2px);
	border-color: rgba(15, 23, 42, .20);
	box-shadow: 0 16px 38px rgba(15, 23, 42, .09);
}

.cms-search-result__image {
	display: block;
	min-height: 190px;
	background: #f5f6f7;
}

.cms-search-result__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.cms-search-result__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	padding: 22px;
}

.cms-search-result__body:only-child {
	grid-column: 1 / -1;
}

.cms-search-result__type {
	margin-bottom: 8px;
	color: #667085;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.cms-search-result h2 {
	margin: 0;
	font-size: clamp(1.1rem, 2vw, 1.45rem);
	line-height: 1.2;
}

.cms-search-result h2 a {
	color: inherit;
	text-decoration: none;
}

.cms-search-result__meta {
	margin-top: 8px;
	color: #667085;
	font-size: .82rem;
}

.cms-search-result p {
	margin: 14px 0 18px;
	color: #475467;
	line-height: 1.55;
}

.cms-search-more {
	margin-top: auto;
	font-weight: 700;
	text-decoration: none;
}

#site-header .shop-header-tools {
	position: fixed;
	top: 20px;
	right: 20px;
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: 14px;
}

#site-header .shop-header-tools > .warenkorb {
	position: static;
	width: auto;
}

#site-header .shop-header-tools .shop-actions {
	margin: 0;
}

#site-header .shop-header-tools .site-search-toggle {
	display: grid !important;
	width: 44px !important;
	height: 44px !important;
	min-width: 44px;
	box-sizing: border-box;
	place-items: center;
	margin: 0;
	padding: 0 !important;
	border: 1px solid rgba(15, 23, 42, .08) !important;
	border-radius: 999px;
	background: #f4f4f4 !important;
	color: #171717 !important;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

#site-header .shop-header-tools .site-search-toggle:hover,
#site-header .shop-header-tools .site-search-toggle:focus-visible,
#site-header .shop-header-tools .site-search-toggle[aria-expanded="true"] {
	background: #e9e9e9 !important;
	color: #000 !important;
}

#site-header .shop-header-tools .site-search-toggle__icon {
	position: relative !important;
	display: block !important;
	width: 21px !important;
	height: 21px !important;
	color: #171717 !important;
}

#site-header .shop-header-tools .site-search-toggle__icon::before {
	position: absolute;
	top: 1px;
	left: 1px;
	width: 13px;
	height: 13px;
	border: 2px solid #171717 !important;
	border-radius: 50%;
	background: transparent !important;
	content: "" !important;
}

#site-header .shop-header-tools .site-search-toggle__icon::after {
	position: absolute;
	right: 1px;
	bottom: 2px;
	width: 9px;
	height: 2px;
	border: 0 !important;
	border-radius: 2px;
	background: #171717 !important;
	transform: rotate(45deg);
	transform-origin: right center;
	content: "" !important;
}

#site-header .shop-header-tools .site-search-panel {
	position: fixed;
	top: 90px;
	right: 0;
	left: 0;
	width: 100%;
	border-top: 1px solid rgba(15, 23, 42, .08);
	background: rgba(255, 255, 255, .96);
	box-shadow: 0 18px 36px rgba(15, 23, 42, .12);
	backdrop-filter: blur(16px);
}

#site-header .shop-header-tools .site-search-panel__inner {
	max-width: 1180px;
	box-sizing: border-box;
	margin: 0 auto;
	padding: 18px 24px;
}

#site-header .shop-header-tools .cms-search input[type="search"] {
	height: 46px;
	box-sizing: border-box;
	padding: 0 14px;
	border: 1px solid rgba(15, 23, 42, .18);
	border-radius: 10px;
	background: #fff;
	color: #171717;
}

#site-header .shop-header-tools .cms-search button[type="submit"] {
	height: 46px;
	padding: 0 20px;
	border: 0;
	border-radius: 10px;
	background: #171717;
	color: #fff;
}

#site-header.search-open .site-search-panel {
	grid-template-rows: 1fr;
	visibility: visible;
	opacity: 1;
	transition: grid-template-rows .24s ease, opacity .18s ease, visibility 0s;
}

@media (max-width: 800px) {
	.cms-search-results {
		width: min(100% - 24px, 680px);
	}

	.cms-search-list {
		grid-template-columns: minmax(0, 1fr);
	}

	.cms-search-result {
		grid-template-columns: 112px minmax(0, 1fr);
		border-radius: 14px;
	}

	.cms-search-result__image {
		min-height: 150px;
	}

	.cms-search-result__body {
		padding: 17px;
	}

	.cms-search-result p {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.cms-search-result {
		transition: none;
	}
}


/* source: assets/css/shop-cards.css */
ul.produkt_ek {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	column-gap: 28px;
	row-gap: 44px;
	margin: 0;
	padding: 0;
	list-style: none;
}

ul.produkt_ek > li {
	display: flex;
	float: none;
	min-width: 0;
	margin: 0;
}

ul.produkt_ek > li.items2 { width: calc(50% - 14px); }
ul.produkt_ek > li.items3 { width: calc(33.333% - 18.667px); }
ul.produkt_ek > li.items4 { width: calc(25% - 21px); }
ul.produkt_ek > li.items5 { width: calc(20% - 22.4px); }

.produkt_einzel_klein {
	position: relative;
	display: flex;
	width: 100%;
	min-height: 0;
	height: auto;
	box-sizing: border-box;
	flex-direction: column;
	overflow: visible;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: #101828;
	box-shadow: none;
}

.produkt_einzel_klein:hover {
	transform: none;
	border-color: transparent;
	box-shadow: none;
}

.produkt_einzel_klein .produkt_klein {
	display: flex;
	height: 100%;
	flex-direction: column;
}

.produkt_einzel_klein .produkt_artikel_pic {
	--product-image-inset: clamp(8px, 1.4vw, 18px);
	position: relative;
	display: grid;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1 !important;
	box-sizing: border-box;
	place-items: center;
	overflow: hidden;
	padding: 0;
	border-radius: 18px;
	background: #f3f4f4;
}

.produkt_einzel_klein .produkt_artikel_pic > a {
	display: grid;
	width: 100%;
	height: 100%;
	place-items: center;
}

.produkt_einzel_klein .produkt_artikel_pic > a > img {
	display: block;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: var(--product-image-inset);
	object-fit: contain !important;
	object-position: center !important;
	transition: transform .35s ease;
}

.produkt_einzel_klein:hover .produkt_artikel_pic > a > img {
	transform: none;
}

.product-badges {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 30px;
	pointer-events: none;
}

.product-card-badges {
	position: absolute;
	top: var(--product-image-inset);
	left: var(--product-image-inset);
	z-index: 6;
	max-height: calc(100% - (2 * var(--product-image-inset)));
	padding:5%;
}

.product-badge {
	display: grid;
	width: 52px;
	height: 52px;
	box-sizing: border-box;
	place-items: center;
	overflow: visible;
	filter: drop-shadow(0 3px 5px rgba(15, 23, 42, .16));
}

.product-badge img,
.produkt_einzel_klein:hover .product-badge img {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 !important;
	object-fit: contain;
	transform: none;
}

.product-detail-media,
.produkt_einzel_gross .teilen100 {
	position: relative;
}

.product-detail-badges {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 8;
	max-width: calc(100% - 36px);
}

.product-detail-badges .product-badge {
	width: 68px;
	height: 68px;
}

.produkt_einzel_klein .produkt_artikel_info {
	position: relative;
	display: flex;
	min-height: 146px;
	box-sizing: border-box;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	margin: 0;
	padding: 17px 4px 64px;
}

.produkt_artikel_name {
	margin: 0 0 9px;
	font-size: clamp(1rem, 1.5vw, 1.2rem);
	font-weight: 650;
	line-height: 1.3;
}

.produkt_artikel_nr {
	display: none;
	color: #667085;
	font-size: .78rem;
	line-height: 1.35;
}

.produkt_einzel_klein .produkt_artikel_preis {
	margin-top: auto;
	padding-top: 20px;
	font-size: 1.08rem;
	font-weight: 750;
	line-height: 1.25;
}

.produkt_einzel_klein .produkt_artikel_preis_netto {
	display: inline-block;
	margin-top: 3px;
	color: #667085;
	font-size: .74rem;
	font-weight: 500;
}

.produkt_einzel_klein .waren_auswahl {
	position: absolute;
	right: 4px;
	bottom: 2px;
	z-index: 7;
}

.produkt_einzel_klein .in_warenkorb {
	display: flex;
	align-items: center;
	gap: 7px;
}

.produkt_einzel_klein .card-qty-stepper {
	display: grid;
	grid-template-columns: 28px 34px 28px;
	height: 40px;
	box-sizing: border-box;
	align-items: center;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, .14);
	border-radius: 999px;
	background: #fff;
}

.produkt_einzel_klein .card-qty-button {
	display: grid;
	width: 28px;
	height: 38px;
	box-sizing: border-box;
	place-items: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #344054;
	font: inherit;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
}

.produkt_einzel_klein .card-qty-button:hover,
.produkt_einzel_klein .card-qty-button:focus-visible {
	background: #f2f4f7;
	color: #101828;
}

.produkt_einzel_klein .waren_auswahl .card-qty-input,
.produkt_einzel_klein .waren_auswahl #form_anzahl.card-qty-input {
	display: block !important;
	width: 34px;
	height: 38px;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	color:#000;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	text-align: center;
	-moz-appearance: textfield;
}

.produkt_einzel_klein .card-qty-input::-webkit-inner-spin-button,
.produkt_einzel_klein .card-qty-input::-webkit-outer-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

.produkt_einzel_klein .in_warenkorb input[type="number"]:not(.card-qty-input) {
	width: 54px;
	height: 42px;
	box-sizing: border-box;
	padding: 6px;
	border: 1px solid rgba(15, 23, 42, .14);
	border-radius: 999px;
	background: #fff;
	text-align: center;
}

.produkt_einzel_klein .waren_auswahl .submit,
.produkt_einzel_klein .waren_auswahl form .submit,
.produkt_einzel_klein .waren_auswahl .submit.konfigurieren_button {
	width: 44px !important;
	height: 44px;
	box-sizing: border-box;
	padding: 0;
	border-radius: 999px;
	box-shadow: 0 6px 14px rgba(15, 23, 42, .12);
}

.produkt_einzel_klein .rstore-ausverkauft {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 6;
	padding: 7px 10px;
	border-radius: 999px;
	background: #fff;
	box-shadow: 0 4px 12px rgba(15, 23, 42, .12);
	font-size: .72rem;
	font-weight: 700;
}

@media (max-width: 1100px) {
	ul.produkt_ek > li.items3,
	ul.produkt_ek > li.items4,
	ul.produkt_ek > li.items5 {
		width: calc(50% - 14px);
	}
}

@media (max-width: 1600px) and (min-width: 1101px) {
	ul.produkt_ek > li.items4,
	ul.produkt_ek > li.items5 {
		width: calc(33.333% - 18.667px);
	}
}

@media (max-width: 620px) {
	ul.produkt_ek {
		column-gap: 14px;
		row-gap: 32px;
	}

	ul.produkt_ek > li.items2,
	ul.produkt_ek > li.items3,
	ul.produkt_ek > li.items4,
	ul.produkt_ek > li.items5 {
		width: 100% !important;
	}

	.produkt_einzel_klein {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		border-radius: 0;
	}

	.produkt_einzel_klein .produkt_artikel_pic {
		border-radius: 14px;
	}

	.product-card-badges {
		top: var(--product-image-inset);
		left: var(--product-image-inset);
		gap: 5px;
	}

	.product-card-badges .product-badge {
		width: 44px;
		height: 44px;
	}

	.product-detail-badges {
		top: 10px;
		left: 10px;
		gap: 6px;
	}

	.product-detail-badges .product-badge {
		width: 54px;
		height: 54px;
	}

	.produkt_einzel_klein .produkt_artikel_info {
		min-height: 136px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.produkt_einzel_klein,
	.produkt_einzel_klein .produkt_artikel_pic img {
		transition: none;
	}
}


/* source: assets/css/shop-layout.css */
:root {
	--shop-page-gutter: clamp(16px, 4vw, 28px);
	--shop-auth-accent: #182545;
	--shop-auth-text: #17212b;
	--shop-auth-muted: #68767d;
	--shop-auth-border: #dfe6e9;
}

/* Produktbilder vollständig zeigen, auch bei schmalen oder hohen Produkten. */
.produkt_einzel_klein .produkt_artikel_pic {
	--product-image-inset: clamp(8px, 1.4vw, 18px);
	height: auto !important;
	aspect-ratio: 1 / 1 !important;
	background: #f5f6f6;
}
.produkt_einzel_klein .produkt_artikel_pic > a > img {
	width: 100% !important;
	height: 100% !important;
	padding: var(--product-image-inset) !important;
	box-sizing: border-box;
	object-fit: contain !important;
	object-position: center !important;
}

/* Das große Artikelbild bleibt immer vollständig innerhalb der Bildschirmhöhe. */
.product-gallery__main {
	display: grid;
	place-items: center;
}
.product-gallery__main img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: calc(100vh - clamp(32px, 8vh, 80px)) !important;
	max-height: calc(100svh - clamp(32px, 8svh, 80px)) !important;
	margin-inline: auto;
	object-fit: contain !important;
}

/* Frei aufteilbarer Zusatzinhalt in der Artikeldetailansicht. */
.article-content-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: clamp(22px, 3vw, 44px);
	width: 100%;
}
.article-content-grid--50-50 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.article-content-grid--33-33-33 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.article-content-column { min-width: 0; line-height: 1.7; }
.article-content-column > :first-child { margin-top: 0; }
.article-content-column > :last-child { margin-bottom: 0; }
.article-content-column img,
.article-content-column video,
.article-content-column iframe { max-width: 100%; height: auto; }
.article-content-column table { display: block; max-width: 100%; overflow-x: auto; }

/* Login und Registrierung */
.shop-auth, .shop-auth * { box-sizing: border-box; }
.shop-auth {
	width: min(100% - (2 * var(--shop-page-gutter)), 760px) !important;
	margin: clamp(36px, 7vw, 90px) auto clamp(60px, 9vw, 120px);
	padding: 0 !important;
	color: var(--shop-auth-text);
}
.shop-auth > .shop-auth__login-column,
.shop-auth > .shop-auth__registration { float: none !important; width: 100% !important; }
.shop-auth__login-column { max-width: 520px; margin: 0 auto; }
.shop-auth .shop-auth__card {
	margin: 0;
	padding: clamp(24px, 5vw, 42px);
	border: 1px solid var(--shop-auth-border);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 18px 48px rgba(23, 33, 43, .08);
}
.shop-auth__eyebrow {
	display: block;
	margin-bottom: 7px;
	color: var(--shop-auth-accent);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.shop-auth h1, .shop-auth h2 {
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: var(--shop-auth-text) !important;
	font-size: clamp(27px, 5vw, 38px) !important;
	font-weight: 720 !important;
	line-height: 1.15 !important;
}
.shop-auth__registration-card h2 { font-size: clamp(24px, 4vw, 32px) !important; }
.shop-auth__intro { margin: 0 0 25px; color: var(--shop-auth-muted); font-size: 14px; line-height: 1.55; }
.shop-auth .row, .shop-auth .input_wrapper { width: 100%; margin: 0; }
.shop-auth .input_wrapper + .input_wrapper { margin-top: 15px; }
.shop-auth label { display: block; margin: 0 0 6px; color: #405158; font-size: 12px; font-weight: 700; }
.shop-auth input:not([type="hidden"]):not([type="submit"]),
.shop-auth select,
.shop-auth textarea {
	display: block;
	width: 100% !important;
	max-width: none;
	min-height: 46px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #cfdadd;
	border-radius: 9px;
	background: #fbfcfc;
	color: var(--shop-auth-text);
	font: inherit;
}
.shop-auth input:focus, .shop-auth select:focus, .shop-auth textarea:focus {
	border-color: #879ba2;
	box-shadow: 0 0 0 3px rgba(24, 37, 69, .09);
	outline: 0;
}
.shop-auth input[type="submit"] {
	display: inline-flex;
	justify-content: center;
	width: 100%;
	min-height: 47px;
	margin: 20px 0 0;
	padding: 11px 18px;
	border: 0;
	border-radius: 9px;
	background: var(--shop-auth-accent);
	color: #fff;
	font-weight: 750;
	cursor: pointer;
}
.shop-auth .password-forgotten-link {
	display: block;
	margin-top: 15px;
	color: #53676e;
	font-size: 12px;
	font-weight: 650;
	text-align: center;
}
.shop-auth__registration { margin-top: 16px; }
.shop-auth__registration-toggle {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	min-height: 50px;
	padding: 12px 46px 12px 18px;
	border: 1px solid var(--shop-auth-border);
	border-radius: 12px;
	background: #f7f9f9;
	color: #596a70;
	font-size: 13px;
	text-align: center;
	cursor: pointer;
	list-style: none;
}
.shop-auth__registration-toggle::-webkit-details-marker { display: none; }
.shop-auth__registration-toggle strong { color: var(--shop-auth-accent); }
.shop-auth__registration-toggle:hover { border-color: #cbd8db; background: #f1f5f5; }
.shop-auth__registration-chevron {
	position: absolute;
	right: 18px;
	width: 9px;
	height: 9px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .18s ease;
}
.shop-auth__registration[open] .shop-auth__registration-chevron { transform: translateY(2px) rotate(225deg); }
.shop-auth__registration .shop-auth__registration-card { margin-top: 12px; }
.shop-auth__registration .teilen100 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.shop-auth__registration .teilen100 > .teilen50,
.shop-auth__registration .teilen100 > .teilen25,
.shop-auth__registration .teilen100 > .teilen75 { float: none !important; width: auto !important; }
.shop-auth meter { width: 100%; }
.shop-auth .registration-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

@media (max-width: 700px) {
	html, body, #outer, #page, #container, #main { max-width: 100%; }
	body { overflow-x: clip; }
	#main > .float_center,
	#main > .produkt_einzel_gross,
	#main > .cart-list,
	#main > .checkout-step-page {
		width: 100% !important;
		padding-inline: var(--shop-page-gutter) !important;
		box-sizing: border-box;
	}
	ul.produkt_ek { width: 100%; box-sizing: border-box; }
	.shop-auth__registration-toggle { align-items: flex-start; flex-direction: column; gap: 2px; text-align: left; }
	.shop-auth__registration .teilen100 { grid-template-columns: 1fr; gap: 0; }
	.article-content-grid--50-50,
	.article-content-grid--33-33-33 { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
	.shop-auth__registration-chevron { transition: none; }
}


/* source: assets/css/shop-information-modal.css */
.shop-information-modal[hidden],
.shop-information-modal__page[hidden] {
	display: none;
}

body.shop-information-modal-open {
	overflow: hidden;
}

.shop-information-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	place-items: center;
	padding: clamp(16px, 4vw, 54px);
}

.shop-information-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(12, 17, 20, .68);
	backdrop-filter: blur(5px);
}

.shop-information-modal__dialog {
	position: relative;
	display: flex;
	flex-direction: column;
	width: min(920px, 100%);
	max-height: min(86vh, 900px);
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .3);
	border-radius: 18px;
	background: #fff;
	color: #26333b;
	box-shadow: 0 24px 80px rgba(0, 0, 0, .28);
}

.shop-information-modal__dialog:focus {
	outline: none;
}

.shop-information-modal__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px clamp(20px, 4vw, 42px);
	border-bottom: 1px solid rgba(38, 51, 59, .12);
}

.shop-information-modal__header h2 {
	margin: 0;
	font-size: clamp(1.25rem, 2.5vw, 1.8rem);
}

.shop-information-modal__close {
	display: grid;
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	place-items: center;
	padding: 0;
	border: 1px solid rgba(38, 51, 59, .16);
	border-radius: 50%;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: 1.6rem;
	line-height: 1;
	cursor: pointer;
}

.shop-information-modal__close:hover {
	background: rgba(38, 51, 59, .07);
}

.shop-information-modal__close:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.shop-information-modal__body {
	overflow: auto;
	overscroll-behavior: contain;
	padding: clamp(24px, 4vw, 46px);
}

.shop-information-modal__page {
	font-size: 1rem;
	line-height: 1.7;
}

@media (max-width: 640px) {
	.shop-information-modal {
		align-items: end;
		padding: 0;
	}

	.shop-information-modal__dialog {
		width: 100%;
		max-height: 90dvh;
		border-radius: 18px 18px 0 0;
	}

	.shop-information-modal__header {
		padding: 14px 18px;
	}

	.shop-information-modal__body {
		padding: 22px 18px 30px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	.shop-information-modal:not([hidden]) .shop-information-modal__backdrop {
		animation: shop-information-fade .18s ease-out both;
	}

	.shop-information-modal:not([hidden]) .shop-information-modal__dialog {
		animation: shop-information-rise .22s ease-out both;
	}
}

@keyframes shop-information-fade {
	from { opacity: 0; }
}

@keyframes shop-information-rise {
	from { opacity: 0; transform: translateY(16px); }
}


/* source: layout/modern/assets/css/product-options.css */
/* Darstellungsvarianten für Artikeloptionen im Modern-Theme. */
.product-detail .artikel-optionen {
	display: grid;
	gap: 18px;
}

.product-detail .artikel-option {
	min-width: 0;
	padding: 0;
}

.product-detail .artikel-option-label {
	display: block;
	margin: 0 0 8px;
	color: #34464d;
	font-size: 12px;
	font-weight: 750;
}

.product-detail .artikel-option-label .required {
	color: #0f766e;
}

.product-detail .option-choice-grid {
	margin-top: 0;
}

.product-detail .option-choice-price {
	display: block;
}

.product-detail .option-choice-card input:focus-visible + .option-choice-box {
	outline: 3px solid rgba(15, 118, 110, .2);
	outline-offset: 2px;
}

/* Kompakte Textauswahl, z. B. Sorten oder kurze Namen. */
.product-detail .option-layout-compact .option-choice-grid {
	grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
	gap: 7px;
}

.product-detail .option-layout-compact .option-choice-box {
	display: grid;
	place-content: center;
	min-height: 46px;
	padding: 6px 8px;
	border: 1px solid #d9e1e3;
	border-radius: 7px;
	background: #fff;
	box-shadow: none;
	transform: none;
}

.product-detail .option-layout-compact .option-choice-card:hover .option-choice-box {
	border-color: #aebdc1;
	background: #f8faf9;
	box-shadow: none;
	transform: none;
}

.product-detail .option-layout-compact .option-choice-card input:checked + .option-choice-box {
	border-color: #0f766e;
	background: #edf7f5;
	box-shadow: inset 0 0 0 1px #0f766e;
}

.product-detail .option-layout-compact .option-choice-image {
	display: none;
}

.product-detail .option-layout-compact .option-choice-title {
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}

.product-detail .option-layout-compact .option-choice-price {
	margin-top: 3px;
	color: #738188;
	font-size: 9px;
	line-height: 1.15;
	transform: none;
}

/* Kleine visuelle Auswahl, z. B. Farben und Materialien. */
.product-detail .option-layout-swatches .option-choice-grid {
	grid-template-columns: repeat(auto-fill, minmax(76px, 1fr));
	gap: 8px;
}

.product-detail .option-layout-swatches .option-choice-box {
	min-height: 64px;
	padding: 5px;
	border: 1px solid #d9e1e3;
	border-radius: 8px;
	background: #fff;
	box-shadow: none;
	transform: none;
}

.product-detail .option-layout-swatches .option-choice-card:hover .option-choice-box {
	border-color: #9fb1b6;
	box-shadow: none;
	transform: none;
}

.product-detail .option-layout-swatches .option-choice-card input:checked + .option-choice-box {
	border-color: #0f766e;
	background: #fff;
	box-shadow: 0 0 0 2px rgba(15, 118, 110, .14);
}

.product-detail .option-layout-swatches .option-choice-image {
	height: 28px;
	margin: 0 0 5px;
	border: 1px solid rgba(26, 43, 49, .12);
	border-radius: 4px;
	background: #f6f8f8;
}

.product-detail .option-layout-swatches .option-choice-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.product-detail .option-layout-swatches .option-choice-title {
	font-size: 10px;
	line-height: 1.15;
}

.product-detail .option-layout-swatches .option-choice-price {
	margin-top: 2px;
	color: #738188;
	font-size: 9px;
	line-height: 1.1;
	transform: none;
}

/* Größere Bildkarten für Optionen, bei denen das Motiv wichtig ist. */
.product-detail .option-layout-cards .option-choice-grid {
	grid-template-columns: repeat(auto-fill, minmax(142px, 1fr));
	gap: 10px;
}

.product-detail .option-layout-cards .option-choice-box {
	padding: 7px;
	border: 1px solid #d9e1e3;
	border-radius: 9px;
	box-shadow: none;
}

.product-detail .option-layout-cards .option-choice-card:hover .option-choice-box {
	border-color: #aebdc1;
	box-shadow: 0 5px 14px rgba(28, 48, 56, .07);
	transform: translateY(-1px);
}

.product-detail .option-layout-cards .option-choice-card input:checked + .option-choice-box {
	border-color: #0f766e;
	background: #f4faf8;
	box-shadow: inset 0 0 0 1px #0f766e;
}

.product-detail .option-layout-cards .option-choice-image {
	-height: 58px;
	margin: 0 0 7px;
	border-radius: 6px;
}

.product-detail .option-layout-cards .option-choice-title {
	font-size: 12px;
}

.product-detail .option-layout-cards .option-choice-price {
	margin-top: 3px;
	color: #738188;
	font-size: 10px;
	transform: none;
}

/* Einspaltig für lange Bezeichnungen. */
.product-detail .option-layout-list .option-choice-grid {
	grid-template-columns: 1fr;
	gap: 7px;
}

.product-detail .option-layout-list .option-choice-box {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 10px;
	min-height: 46px;
	padding: 7px 10px;
	border: 1px solid #d9e1e3;
	border-radius: 7px;
	text-align: left;
	box-shadow: none;
	transform: none;
}

.product-detail .option-layout-list .option-choice-card input:checked + .option-choice-box {
	border-color: #0f766e;
	background: #edf7f5;
	box-shadow: inset 0 0 0 1px #0f766e;
}

.product-detail .option-layout-list .option-choice-image {
	width: 44px;
	height: 36px;
	margin: 0;
	border-radius: 5px;
}

.product-detail .option-layout-list .option-choice-title {
	font-size: 12px;
	text-align: left;
}

.product-detail .option-layout-list .option-choice-price {
	margin: 0;
	color: #738188;
	font-size: 10px;
	text-align: right;
	transform: none;
}

@media (max-width: 480px) {
	.product-detail .option-layout-compact .option-choice-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.product-detail .option-layout-swatches .option-choice-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}


/* source: layout/modern/assets/css/hero-slider.css */
.hero-slider{position:relative;width:100%;height:var(--hero-height,clamp(360px,52vw,760px));overflow:hidden;background:#17212b;isolation:isolate}.hero-slider *{box-sizing:border-box}.hero-slider__track,.hero-slide{position:absolute;inset:0}.hero-slide{display:grid;opacity:0;visibility:hidden;transition:opacity .65s ease,visibility .65s ease;pointer-events:none}.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto;z-index:2}.hero-slider--slide .hero-slide{opacity:1;transform:translate3d(100%,0,0);transition:transform .65s cubic-bezier(.22,.61,.36,1),visibility .65s ease}.hero-slider--slide .hero-slide.is-active{transform:translate3d(0,0,0)}.hero-slider--slide .hero-slide.was-active{transform:translate3d(-100%,0,0);visibility:visible}.hero-slide__media,.hero-slide__media img,.hero-slide__media video{position:absolute;inset:0;width:100%;height:100%}.hero-slide__media img,.hero-slide__media video{display:block;object-fit:cover;object-position:var(--hero-focus-x,50%) var(--hero-focus-y,50%)}.hero-slide__overlay{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,var(--hero-overlay,.25));pointer-events:none}.hero-slide__hit{position:absolute;inset:0;z-index:2}.hero-slide__content{position:relative;z-index:3;width:min(680px,calc(100% - 40px));margin:clamp(24px,6vw,90px);pointer-events:none}.hero-slide__content h2{margin:0 0 12px;color:inherit;font-size:clamp(34px,5vw,76px);font-weight:750;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}.hero-slide__content p{max-width:620px;margin:0 0 22px;color:inherit;font-size:clamp(15px,1.6vw,21px);line-height:1.5}.hero-slide__button{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid currentColor;border-radius:9px;color:inherit;font-size:14px;font-weight:750;text-decoration:none;pointer-events:auto;transition:background .2s ease,color .2s ease}.hero-theme--light{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.18)}.hero-theme--light .hero-slide__button{background:#fff;color:#17212b;text-shadow:none}.hero-theme--dark{color:#17212b}.hero-theme--dark .hero-slide__button{background:#17212b;color:#fff}.hero-position--left-top{align-items:start;justify-items:start}.hero-position--left-center{align-items:center;justify-items:start}.hero-position--left-bottom{align-items:end;justify-items:start}.hero-position--center-top{align-items:start;justify-items:center;text-align:center}.hero-position--center-center{align-items:center;justify-items:center;text-align:center}.hero-position--center-bottom{align-items:end;justify-items:center;text-align:center}.hero-position--right-top{align-items:start;justify-items:end;text-align:right}.hero-position--right-center{align-items:center;justify-items:end;text-align:right}.hero-position--right-bottom{align-items:end;justify-items:end;text-align:right}.hero-position--center-top .hero-slide__content,.hero-position--center-center .hero-slide__content,.hero-position--center-bottom .hero-slide__content{display:grid;justify-items:center}.hero-position--right-top .hero-slide__content,.hero-position--right-center .hero-slide__content,.hero-position--right-bottom .hero-slide__content{display:grid;justify-items:end}.hero-slider__arrow{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:44px;height:44px;margin-top:-22px;padding:0;border:1px solid rgba(255,255,255,.45);border-radius:50%;background:rgba(20,31,37,.3);backdrop-filter:blur(6px);color:#fff;font:32px/1 Arial;cursor:pointer}.hero-slider__arrow--prev{left:18px}.hero-slider__arrow--next{right:18px}.hero-slider__dots{position:absolute;left:50%;bottom:18px;z-index:5;display:flex;gap:7px;transform:translateX(-50%)}.hero-slider__dots button{width:9px;height:9px;margin:0;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.48);cursor:pointer}.hero-slider__dots button.is-active{width:25px;border-radius:999px;background:#fff}.hero-slider__scroll{position:absolute;right:22px;bottom:18px;z-index:5;width:30px;height:30px;border:1px solid rgba(255,255,255,.5);border-radius:50%}.hero-slider__scroll:after{content:"";position:absolute;left:9px;top:7px;width:9px;height:9px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}@media(max-width:700px){.hero-slider{height:var(--hero-mobile-height,var(--hero-height,520px));min-height:340px}.hero-slide__content{width:calc(100% - 36px);margin:28px 18px 64px}.hero-slide__content h2{font-size:clamp(30px,10vw,48px)}.hero-slide__content p{font-size:15px}.hero-slider__arrow{display:none}.hero-slider__scroll{display:none}.hero-slider__dots{bottom:15px}}@media(prefers-reduced-motion:reduce){.hero-slide{transition:none!important}.hero-slide__content{transform:none!important}}

.hero-slider--parallax .hero-slide{opacity:1;visibility:visible;pointer-events:none;transition:none}.hero-slider--parallax .hero-slide__media{inset:var(--hero-overscan,0px);width:auto;height:auto;pointer-events:none}.hero-slider--parallax .hero-slide__media *{pointer-events:none}.hero-slider--parallax .hero-slide__overlay{inset:var(--hero-overscan,0px)}.hero-slider--parallax .hero-slide__hit{pointer-events:none}.hero-slider--parallax .hero-slide__content{pointer-events:none}.hero-slider--parallax .hero-slide__button{pointer-events:auto}
.hero-slide__free-content{max-width:620px;margin:0 0 22px;color:inherit;font-size:clamp(15px,1.6vw,21px);line-height:1.5}.hero-slide__free-content>:first-child{margin-top:0}.hero-slide__free-content>:last-child{margin-bottom:0}.hero-slide__free-content a,.hero-slide__free-content button{pointer-events:auto}


/* Globaler Hero-Uebergang: weiches Ueberblenden mit leichtem Bild-Zoom. */
.hero-slider--fade-zoom .hero-slide {
	transition: opacity 1.15s cubic-bezier(.22,.61,.36,1), visibility 1.15s ease;
}
.hero-slider--fade-zoom .hero-slide__media img,
.hero-slider--fade-zoom .hero-slide__media video {
	transform: scale(1.12);
	transform-origin: center;
	transition: transform 1.6s cubic-bezier(.16,1,.3,1);
	will-change: transform;
}
.hero-slider--fade-zoom.is-hero-ready .hero-slide.is-active .hero-slide__media img,
.hero-slider--fade-zoom.is-hero-ready .hero-slide.is-active .hero-slide__media video {
	transform: scale(1);
}
@media (prefers-reduced-motion: reduce) {
	.hero-slider--fade-zoom .hero-slide { transition: none !important; }
	.hero-slider--fade-zoom .hero-slide__media img,
	.hero-slider--fade-zoom .hero-slide__media video {
		transform: none !important;
		transition: none !important;
	}
}


/* source: layout/modern/assets/css/hero-slider-motion.css */
.gyro-parallax {
	transform: translate3d(var(--gyro-x, 0), var(--gyro-y, 0), 0);
	transition: transform .18s ease-out;
	will-change: transform;
}

.hero-slide__content > * {
	--hero-text-x: 0px;
	--hero-text-y: 0px;
	--hero-text-scale: 1;
}

.hero-text-animation--fade > *,
.hero-text-animation--fade-up > *,
.hero-text-animation--fade-down > *,
.hero-text-animation--fade-left > *,
.hero-text-animation--fade-right > *,
.hero-text-animation--zoom > * {
	opacity: 0;
	transform: translate3d(var(--hero-text-x), var(--hero-text-y), 0) scale(var(--hero-text-scale));
	transition: opacity .72s ease, transform .82s cubic-bezier(.22,.61,.36,1);
}

.hero-text-animation--fade-up > * { --hero-text-y: 34px; }
.hero-text-animation--fade-down > * { --hero-text-y: -34px; }
.hero-text-animation--fade-left > * { --hero-text-x: -42px; }
.hero-text-animation--fade-right > * { --hero-text-x: 42px; }
.hero-text-animation--zoom > * { --hero-text-scale: .9; }

.hero-slider.is-hero-ready .hero-slide.is-active .hero-slide__content > * {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

.hero-slider.is-hero-ready .hero-slide.is-active .hero-slide__content > :nth-child(1) { transition-delay: .16s; }
.hero-slider.is-hero-ready .hero-slide.is-active .hero-slide__content > :nth-child(2) { transition-delay: .29s; }
.hero-slider.is-hero-ready .hero-slide.is-active .hero-slide__content > :nth-child(3) { transition-delay: .42s; }

@media (prefers-reduced-motion: reduce) {
	.gyro-parallax,
	.hero-slide__content > * {
		transform: none !important;
		transition: none !important;
	}

	.hero-slide__content > * { opacity: 1 !important; }
}


/* source: assets/css/frontend-accessibility.css */
/* Gemeinsame technische Barrierefreiheit fuer alle Frontend-Themes. */
.contrast-toggle {
	position: fixed;
	left: 16px;
	bottom: 16px;
	z-index: 12000;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 9px 13px;
	border: 2px solid #111;
	border-radius: 999px;
	background: #fff;
	color: #111;
	font: 700 14px/1 system-ui, sans-serif;
	box-shadow: 0 3px 16px rgba(0, 0, 0, .18);
	cursor: pointer;
}

.contrast-toggle__icon {
	display: block;
	width: 20px;
	height: 20px;
	border: 2px solid currentColor;
	border-radius: 50%;
	background: linear-gradient(90deg, currentColor 50%, transparent 50%);
}

.contrast-toggle:hover { transform: translateY(-1px); }
.contrast-toggle[aria-pressed="true"] {
	border-color: #000;
	background: #ffed00;
	color: #000;
}

.skip-link {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 20000;
	max-width: calc(100vw - 20px);
	padding: 11px 16px;
	border: 2px solid #fff;
	border-radius: 8px;
	background: #111;
	color: #fff !important;
	font: 700 16px/1.25 system-ui, sans-serif;
	text-decoration: none;
	box-shadow: 0 0 0 3px #111;
	transform: translateY(-180%);
	transition: transform .16s ease;
}

.skip-link:focus { transform: translateY(0); }

:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 3px solid #1677c8 !important;
	outline-offset: 3px !important;
}

:where(input, textarea, select)[aria-invalid="true"] {
	border-color: #b42318 !important;
	box-shadow: 0 0 0 3px rgba(180, 35, 24, .14) !important;
}

.contactform-error,
.contactform-error-summary,
.contactform_error_message {
	color: #9f1c13;
	font-weight: 650;
}

.contactform-error-summary {
	margin: 0 0 18px;
	padding: 12px 14px;
	border-left: 4px solid #b42318;
	background: #fff4f2;
}

.contactform-v2 fieldset {
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.contactform-v2 legend {
	margin-bottom: 7px;
	padding: 0;
	font-weight: 600;
}

.hero-slider__pause,
.media-gallery__pause {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255,255,255,.62);
	border-radius: 50%;
	background: rgba(20,31,37,.58);
	color: #fff;
	font: 700 14px/1 system-ui, sans-serif;
	cursor: pointer;
	backdrop-filter: blur(6px);
}

.hero-slider__pause {
	position: absolute;
	right: 64px;
	bottom: 18px;
	z-index: 6;
}

.media-gallery__pause {
	position: absolute;
	right: 12px;
	top: 12px;
	z-index: 6;
	pointer-events: auto;
}

@media (max-width: 700px) {
	.hero-slider__pause { right: 18px; bottom: 15px; }
	.contrast-toggle {
		left: 10px;
		bottom: 10px;
		width: 44px;
		padding: 0;
		justify-content: center;
	}
	.contrast-toggle__text {
		position: absolute;
		width: 1px;
		height: 1px;
		padding: 0;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		border: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.skip-link { transition: none; }
	.contrast-toggle:hover { transform: none; }
}

/* Bewusst theme-unabhaengig: Der Kontrastmodus ueberstimmt rein dekorative Farben. */
html[data-high-contrast] {
	color-scheme: light;
}

html[data-high-contrast] body,
html[data-high-contrast] #outer,
html[data-high-contrast] #page,
html[data-high-contrast] #container,
html[data-high-contrast] #main,
html[data-high-contrast] .site-shell,
html[data-high-contrast] .site-page,
html[data-high-contrast] .site-container,
html[data-high-contrast] .site-main,
html[data-high-contrast] .site-header,
html[data-high-contrast] header,
html[data-high-contrast] footer,
html[data-high-contrast] #footer {
	background-color: #fff !important;
	color: #000 !important;
}

html[data-high-contrast] :where(
	p, li, dt, dd, address, blockquote, figcaption,
	h1, h2, h3, h4, h5, h6, label, legend, th, td
) {
	color: #000 !important;
	text-shadow: none !important;
}

html[data-high-contrast] a:not(.skip-link):not(.contrast-toggle) {
	color: #003f9e !important;
	text-decoration: underline !important;
	text-decoration-thickness: .12em !important;
	text-underline-offset: .16em;
}

html[data-high-contrast] :where(input, textarea, select) {
	border: 2px solid #000 !important;
	background: #fff !important;
	color: #000 !important;
	box-shadow: none !important;
}

html[data-high-contrast] :where(input, textarea)::placeholder {
	color: #3a3a3a !important;
	opacity: 1;
}

html[data-high-contrast] :where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]):not(.contrast-toggle) {
	border: 2px solid #000 !important;
	background-color: #000 !important;
	background-image: none !important;
	color: #fff !important;
	box-shadow: none !important;
}

html[data-high-contrast] :where(.site-navigation, #nav, .footernav, .mobile-account-nav, .cookie-consent-box) {
	background-color: #fff !important;
	color: #000 !important;
}

html[data-high-contrast] :where(.cms-grid, .cms-grid-columns, .cms-grid-column, .cms-content-element) {
	background-color: #fff !important;
	background-image: none !important;
	color: #000 !important;
}

html[data-high-contrast] .cms-grid::before,
html[data-high-contrast] .cms-grid::after {
	display: none !important;
}

html[data-high-contrast] :where(.hero-slider__content, .banner-text, .caption, .galerie-caption) {
	background: rgba(0, 0, 0, .9) !important;
	color: #fff !important;
	text-shadow: none !important;
}

html[data-high-contrast] :where(.hero-slider__content, .banner-text, .caption, .galerie-caption) :where(h1, h2, h3, h4, h5, h6, p, a, span) {
	color: #fff !important;
}

html[data-high-contrast] :where(hr, table, th, td, fieldset) {
	border-color: #000 !important;
}

html[data-high-contrast] :where(a, button, input, textarea, select, summary, [tabindex]):focus-visible {
	outline: 4px solid #ffed00 !important;
	outline-offset: 3px !important;
	box-shadow: 0 0 0 6px #000 !important;
}

@media (forced-colors: active) {
	.contrast-toggle {
		forced-color-adjust: auto;
		border: 2px solid ButtonText;
	}
}


/* source: assets/css/cms-cards.css */
.cms-cards {
	width: 100%;
	min-width: 0;
	--cards-gap: clamp(18px, 2.2vw, 32px);
}

.cms-cards-heading {
	margin-top: 0;
	margin-bottom: clamp(22px, 3vw, 42px);
}

.cms-cards-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
	margin: 0 0 clamp(24px, 3vw, 38px);
}

.cms-cards-filter-label {
	margin-right: 4px;
	font-size: .88rem;
	font-weight: 650;
}

.cms-cards-filter-button {
	min-height: 42px;
	padding: 8px 16px;
	border: 1px solid rgba(38, 51, 61, .2);
	border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
	border-radius: 999px;
	background: transparent;
	color: inherit;
	font: inherit;
	font-size: .9rem;
	cursor: pointer;
	transition: color .18s ease, background-color .18s ease, border-color .18s ease, transform .18s ease;
}

.cms-cards-filter-button:hover {
	transform: translateY(-1px);
}

.cms-cards-filter-button[aria-pressed="true"] {
	border-color: currentColor;
	background: currentColor;
}

.cms-cards-filter-button[aria-pressed="true"] > span {
	color: #fff;
}

.cms-cards-filter-button:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.cms-cards-value-filter {
	max-width: 480px;
	margin: 0 0 clamp(24px, 3vw, 38px);
	padding: 10px 12px;
	border: 1px solid rgba(38, 51, 61, .14);
	border-radius: 10px;
	background: rgba(255, 255, 255, .78);
}

.cms-cards-value-filter-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 5px;
	font-size: .8rem;
}

.cms-cards-value-filter-head > span { font-weight: 650; }
.cms-cards-value-filter-head strong { font-variant-numeric: tabular-nums; white-space: nowrap; }

.cms-cards-range {
	position: relative;
	height: 20px;
}

.cms-cards-range-track,
.cms-cards-range-selected {
	position: absolute;
	top: 9px;
	right: 0;
	left: 0;
	height: 3px;
	border-radius: 999px;
	background: rgba(38, 51, 61, .18);
}

.cms-cards-range-selected { background: currentColor; }

.cms-cards-range input[type="range"] {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	width: 100%;
	height: 20px;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	pointer-events: none;
}

.cms-cards-range .cms-cards-range-max { z-index: 4; }
.cms-cards-range input[type="range"]::-webkit-slider-runnable-track { height: 3px; background: transparent; }
.cms-cards-range input[type="range"]::-moz-range-track { height: 3px; background: transparent; }
.cms-cards-range input[type="range"]::-webkit-slider-thumb { width: 16px; height: 16px; margin-top: -6.5px; border: 2px solid #fff; border-radius: 50%; background: currentColor; box-shadow: 0 1px 5px rgba(20,31,40,.22); appearance: none; -webkit-appearance: none; pointer-events: auto; cursor: grab; }
.cms-cards-range input[type="range"]::-moz-range-thumb { width: 13px; height: 13px; border: 2px solid #fff; border-radius: 50%; background: currentColor; box-shadow: 0 1px 5px rgba(20,31,40,.22); pointer-events: auto; cursor: grab; }

.cms-cards-value-inputs {
	display: flex;
	gap: 8px;
	margin-top: 3px;
}

.cms-cards-value-inputs label {
	display: flex;
	flex: 1 1 0;
	align-items: center;
	gap: 5px;
	font-size: .7rem;
	opacity: .76;
}

.cms-cards-value-inputs input {
	width: 100%;
	min-width: 0;
	padding: 4px 7px;
	border: 1px solid rgba(38, 51, 61, .18);
	border-radius: 7px;
	background: #fff;
	color: inherit;
	font: inherit;
	font-variant-numeric: tabular-nums;
}

.cms-cards-grid {
	display: grid;
	grid-template-columns: repeat(var(--cards-columns-mobile, 1), minmax(0, 1fr));
	gap: var(--cards-gap);
	align-items: stretch;
}

.cms-cards--list .cms-cards-grid {
	grid-template-columns: 1fr;
}

.cms-cards--slider .cms-cards-viewport,
.cms-cards--carousel .cms-cards-viewport {
	overflow: hidden;
}

.cms-cards--slider .cms-cards-grid,
.cms-cards--carousel .cms-cards-grid {
	display: flex;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	gap: 24px;
}

.cms-cards--slider .cms-cards-grid::-webkit-scrollbar,
.cms-cards--carousel .cms-cards-grid::-webkit-scrollbar {
	display: none;
}

.cms-cards--slider .cms-card,
.cms-cards--carousel .cms-card {
	height: auto;
	flex: 0 0 var(--cards-basis-mobile, 100%);
	scroll-snap-align: start;
}

.cms-cards--slider .cms-card {
	flex-basis: 100%;
}

.cms-card {
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(38, 51, 61, .12);
	border-radius: 18px;
	background: #fff;
	box-shadow: 0 10px 34px rgba(20, 31, 40, .07);
	transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.cms-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 45px rgba(20, 31, 40, .12);
}

.cms-card[hidden] {
	display: none !important;
}

.cms-card-media {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: #eef1f2;
}

.cms-card-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .45s ease;
}

.cms-card:hover .cms-card-media img {
	transform: scale(1.025);
}

.cms-card-body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(18px, 2.1vw, 28px);
}

.cms-cards--list .cms-card {
	display: grid;
	grid-template-columns: minmax(180px, 34%) minmax(0, 1fr);
}

.cms-cards--list .cms-card-media {
	height: 100%;
	aspect-ratio: auto;
}

.cms-cards-navigation {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin-top: 22px;
}

.cms-cards-nav {
	display: grid;
	width: 44px;
	height: 44px;
	padding: 0;
	place-items: center;
	border: 1px solid rgba(38, 51, 61, .2);
	border-radius: 50%;
	background: #fff;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.cms-cards-nav:disabled {
	cursor: default;
	opacity: .35;
}

.cms-cards-status {
	min-width: 50px;
	text-align: center;
	font-size: .82rem;
	font-variant-numeric: tabular-nums;
	opacity: .7;
}

.cms-card-category {
	margin: 0 0 9px;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .09em;
	text-transform: uppercase;
	opacity: .66;
}

.cms-card-title {
	margin: 0;
	font-size: clamp(1.14rem, 1.5vw, 1.42rem);
	line-height: 1.2;
}

.cms-card-title a {
	color: inherit;
	text-decoration: none;
}

.cms-card-text {
	margin: 14px 0 0;
	line-height: 1.6;
	opacity: .8;
}

.cms-card-value {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	margin-top: 18px;
	font-variant-numeric: tabular-nums;
}

.cms-card-value-label {
	font-size: .8rem;
	opacity: .65;
}

.cms-card-value-number {
	font-size: 1.18rem;
	font-weight: 750;
}

.cms-card-button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	margin-top: auto;
	padding: 11px 18px;
	border: 1px solid currentColor;
	border-radius: 999px;
	color: inherit;
	font-weight: 650;
	text-decoration: none;
}

.cms-card-value + .cms-card-button,
.cms-card-text + .cms-card-button,
.cms-card-title + .cms-card-button {
	margin-top: 22px;
}

@media (max-width: 620px) {
	.cms-cards-filter {
		gap: 7px;
	}

	.cms-cards-filter-label {
		width: 100%;
		margin: 0 0 3px;
	}

	.cms-cards-filter-button {
		min-height: 44px;
		padding-inline: 14px;
	}

	.cms-cards-value-filter-head { align-items:flex-start; flex-direction:column; gap:4px; }

	.cms-cards--list .cms-card {
		grid-template-columns: 1fr;
	}

	.cms-cards--list .cms-card-media {
		aspect-ratio: 4 / 3;
	}
}

@media (min-width: 621px) {
	.cms-cards-grid {
		grid-template-columns: repeat(var(--cards-columns-tablet, 2), minmax(0, 1fr));
	}

	.cms-cards--list .cms-cards-grid { grid-template-columns: 1fr; }
	.cms-cards--carousel .cms-card {
		flex-basis: var(--cards-basis-tablet, calc(50% - 12px));
	}
	.cms-cards--slider .cms-card { flex-basis: 100%; }
}

@media (min-width: 1025px) {
	.cms-cards-grid {
		grid-template-columns: repeat(var(--cards-columns-desktop, 3), minmax(0, 1fr));
	}

	.cms-cards--list .cms-cards-grid { grid-template-columns: 1fr; }
	.cms-cards--carousel .cms-card {
		flex-basis: var(--cards-basis-desktop, calc(33.333333% - 16px));
	}
	.cms-cards--slider .cms-card { flex-basis: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.cms-card,
	.cms-card-media img,
	.cms-cards-filter-button {
		transition: none;
	}
}


/* source: assets/css/cms-table.css */
.cms-table-element {
	width: 100%;
}

.cms-table-element .content {
	width: 100%;
}

.cms-table-heading {
	margin-bottom: clamp(16px, 2.5vw, 30px);
}

.cms-table-scroll {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	border: 1px solid rgba(15, 23, 42, .12);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, .04);
	-webkit-overflow-scrolling: touch;
}

.cms-table-scroll:focus-visible {
	outline: 3px solid currentColor;
	outline-offset: 3px;
}

.cms-table {
	width: 100%;
	min-width: max(100%, calc(var(--cms-table-columns, 1) * 9rem));
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
	font-variant-numeric: tabular-nums;
}

.cms-table th,
.cms-table td {
	padding: clamp(12px, 1.6vw, 18px) clamp(14px, 2vw, 24px);
	border: 0;
	border-bottom: 1px solid rgba(15, 23, 42, .09);
	text-align: left;
	vertical-align: top;
	white-space: pre-line;
}

.cms-table th {
	font-weight: 700;
}

.cms-table thead th {
	background: rgba(15, 23, 42, .06);
	color: #17212b;
}

.cms-table tbody th[scope="row"] {
	background: rgba(15, 23, 42, .035);
	color: #17212b;
}

.cms-table tbody tr:nth-child(even) td {
	background: rgba(15, 23, 42, .018);
}

.cms-table tr:last-child > * {
	border-bottom: 0;
}

@media (max-width: 700px) {
	.cms-table-scroll {
		border-radius: 10px;
	}

	.cms-table th,
	.cms-table td {
		padding: 11px 13px;
		font-size: .94rem;
	}
}


/* source: assets/css/no-hero-header.css */
/* Ohne Hero bleibt die obere Navigation im Seitenfluss. So beginnt der
   Inhalt auch dann unter ihr, wenn ein Theme den Header sonst fixiert. */
#outer.site-shell:not(:has(> .site-banner)) > #site-header.site-header {
	position: sticky !important;
	top: 0 !important;
}

/* Der Shop verwendet noch das ältere #outer-Markup ohne .site-shell. */
#outer:not(.site-shell):not(:has(> .bannerverwaltung)) > #site-header {
	position: sticky !important;
	top: 0 !important;
}

