:root {
	--shop-quantity-input-bg-color: rgba(255,255,255,1);
	--shop-quantity-input-border: 1px solid var(--gr-color);
}

/* shop template --------------------------------------------------------------------- Start */

/* produkt-übersicht */
.shop-overview {
  display: grid;
  gap: 1rem;
  max-width: 1350px;
  margin: 0 auto;

  grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
  justify-content: start;            /* Karten immer linksbündig bei <3 Stück */
}

.shop-overview-product-card {
  display: grid;
	width: 100%;
	box-sizing: border-box;
	padding: 1rem;
  gap: 0.75rem;
  background: #fff;
  border-radius: 0.25rem;
  overflow: hidden;
  box-shadow: var(--default-box-shadow);
  transition: all 0.25s ease;
}

.shop-overview-product-card:hover {
  box-shadow: 0 16px 32px rgba(0, 0, 0, 0.14);
}

.shop-overview-product-image-wrapper {
  position: relative;
  width: 100%;
  padding-top: var(--img-default-ratio);
  overflow: hidden;
}

.shop-overview-product-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.shop-overview-product-title {
  color: var(--main-strong-text);
	text-align: center;
}

.shop-overview-product-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.shop-overview-product-price {
  font-size: 1.25em;
  font-weight: 600;
  color: var(--gr-color);
}

.shop-overview-product-details {
	font-size: 1.25em;
  color: var(--main-a-color);
  font-weight: 600;
	text-decoration: underline;
}

.shop-overview-product-details:hover {
  color: var(--main-a-color-hover);
	text-decoration: none;
}

.shop-details-image {
	position: relative;
}

/* produkt details */

.shop-details {
	position: relative;
	width: 100%;
	box-sizing: border-box;
	display: flex !important;
	gap: 1rem;
	flex-direction: row;
  flex-wrap: wrap;
}
.shop-details .shop-details-image-wrapper,
.shop-details-content {
	position: relative;
	width: 100%;
}

.shop-details .shop-details-image-wrapper {
	position: relative;
	display: flex;
	gap: 1rem;
	flex-direction: column;
}

.shop-details-image .bxslider-area {
    height: auto;
    padding-top: var(--img-default-ratio);
    position: relative;
}

.shop-details-image .bxslider-area .bx-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

.shop-details-image-subgalery {
	position: relative;
	display: grid;                     /* Grid aktivieren */
	grid-template-columns: repeat(6, 1fr); /* 6 Spalten pro Zeile */
	gap: 0.5rem;
}

@media(min-width: 768px) {
	.shop-details {
		column-gap: 3rem;
	}
	.shop-details .shop-details-image-wrapper,
	.shop-details .shop-details-content {
		flex-basis: calc(50% - 1.5rem);
	}
}

.shop-details-content-box {
	position: relative;
	display: flex;
	flex-direction: column;
	gap:0.5rem;
}

.shop-details-content-box-art-price {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  font-size: 1.125em;
	font-weight: 600;
}

.shop-details-article-number,
.shop-details-price {
  display: flex;
  gap: 0.5rem;
}
.shop-details-price > span:nth-child(2) {
	color: var(--gr-color);
}

.shop-details-quantity-available {
  font-size: 1.125em;
}

.shop-details-quantity-available > div {
  display: flex;
  gap: 0.5rem;
  font-weight: 600;
}

.sho-details-product-quantity-hint {
  margin-top: 0.5rem;
  font-style: italic;
  opacity: 0.9;
}

.shop-details-order {
	position: relative;
  display: flex;
  gap: 1rem;
	flex-direction: column;
}

.shop-details-total-price {
  font-size: 1.125em;
  font-weight: 600;
	color: var(--gr-color);
}

.shop-details-order-quantity {
	position: relative;
	display: flex;
	flex-direction: row;
	gap: 1rem;
}

.shop-details-order-button {
  padding: 0.7rem 1.4rem;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  background-color: var(--main-btn-color);
  color: var(--main-btn-text-color);
  font-weight: 600;
  width: 100%;
}
.shop-details-order-button {
	background-color: var(--main-btn-color-hover);
  color: var(--main-btn-text-color);
}

.shop-details-order-quantity-input {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.shop-details-order-quantity-input button {
  padding: 0.7rem;
  border: none;
  border-radius: 0.25rem;
  cursor: pointer;
  background-color: var(--main-btn-color);
  color: var(--main-btn-text-color);
  font-weight: 600;
  width: 100%;
}

.shop-details-order-quantity-input input {
  width: 70px;
  height: 44px;
  text-align: center;
  border: var(--shop-quantity-input-border);
	border-radius: 0.25rem;
  font-size: 1em;
  -moz-appearance: textfield;
}




/* Warenkorb */
.shopping-cart-form-section {
	display: grid;
  gap: 1.5rem;
}

.shopping-cart-page-content {
	width: 100%;
	position: relative;
	display: flex;
	gap: 3rem;
	flex-direction: row;
	flex-wrap: wrap;
}


@media(min-width: 992px) {
	.shopping-cart-page-content .control-group-left,
	.shopping-cart-page-content .control-group-right {
		position: relative;
		flex-basis: calc(50% - 1.5rem);
	}
	.shopping-cart-page-content .control-group-left {
		order:1;
	}
	.shopping-cart-page-content .control-group-right {
		order:2;
	}
}

@media(max-width: 991px) {
	.shopping-cart-page-content .control-group-left,
	.shopping-cart-page-content .control-group-right {
		width: 100%;
	}
}

@media (min-width: 992px) {
	.shop-template-container {
		width:						calc(33.3% - 33.3px);
		margin-left:				50px;
		position:					relative;
		float:						left;
		min-height: 				300px;
	}

	.shop-template-container:nth-child(3n +1) {
		margin-left:				30px;
	}
}

@media (min-width:768px) and (max-width: 991px) {
	.shop-template-container {
		width:						calc(50% - 25px);
		margin-left:				50px;
		position:					relative;
		float:						left;
	}
	.shop-template-container:nth-child(2n +1) {
		margin-left:				0px;
	}
	.shop-template-container:nth-child(3) {
		margin-top:					0px;
	}}

@media (max-width: 767px) {
	.shop-template-container {
		width:						100%;
		margin-left:				0px;
		position:					relative;
		float:						left;
	}
	.shop-template-container:nth-child(2),
	.shop-template-container:nth-child(3) {
		margin-top:					0px;
	}
}

.shop-template-container {
	margin-bottom:				30px;
}

.page-shop-template {
	padding-right:				15px;
}

.page-shop-template a {
	display:					block;
	background-color:			#ffffff;
	padding:					10px;
}

.page-shop-template a > div {
	width:						100%;
	/* height:						100%; */
	padding-top:				75%;
	background-position:		center center;
	background-repeat:			no-repeat;
	-o-background-size:			contain;
	-moz-background-size:		contain;
	-webkit-background-size:	contain;
	background-size:			contain;
	position:					relative;
	display:					block;
	opacity: 					1;
	-webkit-transition: 		.3s ease-in-out;
	transition: 				.3s ease-in-out;
}

@media (min-height: 900px) and (orientation: landscape) {
	.page-shop-template a > div {
		padding-top:			55%;
	}
}

@media (max-height: 899px) and (orientation: landscape) {
	.page-shop-template a > div {
		padding-top:			50%;
	}
}

.page-shop-template a:hover > div {
	opacity: 					.7;
}

.page-shop-template a > p {
	color:						#5e5e5e;
	text-align: 				center;
	width:						100%;
	font-size:					20px;
	margin-top:					10px !important;
	font-weight:				600;
}

.page-shop-template a:hover > p {
	color:						#777777;
	text-align: 				center;
	width:						100%;
	font-size:					20px;
	margin-top:					10px !important;
}

.page-shop-template a > article {
	width:						100%;
	min-height:					50px;
	line-height:				50px;
	bottom:						0px;
	left:						0px;
	padding:					0;
	text-align:					center;
	position:					absolute;
	display:					block;
	color:						#ffffff;
	background:					rgba(4,49,94,0.75) !important;
	font-size:					16px;
}

/* Modal start */
.modal {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
	z-index:				9999;
	color: #333333;
  }
.modal-1 {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
	z-index:				9999;
	color: #333333;
  }
.modal-bestellung {
	display: none; /* Hidden by default */
	position: fixed; /* Stay in place */
	z-index: 1; /* Sit on top */
	left: 0;
	top: 0;
	width: 100%; /* Full width */
	height: 100%; /* Full height */
	overflow: auto; /* Enable scroll if needed */
	background-color: rgb(0,0,0); /* Fallback color */
	background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
	z-index:				9999;
	color: #333333;
  }

  .modal-content {
	background-color: #fefefe;
	margin: 15% auto; /* 15% from the top and centered */
	padding: 35px;
	border: 1px solid #888;
	width: 350px; 
	z-index:	9999;
  }
  .modal-content-1 {
	background-color: #fefefe;
	margin: 15% auto; /* 15% from the top and centered */
	padding: 35px;
	border: 1px solid #888;
	width: 350px; 
	z-index:	9999;
  }
  .modal-content-bestellung {
	background-color: #fefefe;
	margin: 0; /* 15% from the top and centered */
	padding: 0px;
	border: 1px solid #888;
	width: 100%;
	max-width: 500px;
	/* height: 100%;
	max-height: 500px; */
	z-index:	9999;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
  }

  .close,
  .close-so,

  .close-1 {
	color: #aaa;
	float: right;
	font-size: 32px;
	font-weight: bold;
	position:		relative;
	bottom:	40px;
	left:		25px;
  }
  .close-bestellung {
	color: #ffffff;
	float: right;
	font-size: 16px;
	font-weight: bold;
	position:		relative;
	bottom:	0px;
	left:	0px;
  }

  .close:hover,
.close:focus,
  .close-so:hover,
.close-so:focus,
  .close-bestellung:hover,
.close-bestellung:focus,
  .close-1:hover,
.close-1:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

@media (max-width: 499px) {
	.modal-content {
		width: 100%;
		max-width: calc(100% - 60px);
		padding: 10px;
	}
	.modal-content-1 {
		width: 100%;
		max-width: calc(100% - 60px);
		padding: 10px;
	}
	.modal-content-bestellung {
		width: 100%;
		max-width: calc(100% - 20px);
	}
}

.alert-content {
	position: 					relative;
	text-align:					center;
	font-size:					20px;
	font-weight:				bold;
}
.alert-extras {
	position: 					relative;
	text-align:					center;
	font-size:					16px;
	font-weight:				normal;
}
/* Modal ende */


/* shoppingBasket start */
@media (min-width: 992px) {
	.shoppingBasket .page-content {
		height:					100%;
		padding:				35px 0px 0px;
		width:					400px;
		position:				relative;
		float:					left;
	}
	.shoppingBasket .shopping-order {
		/* width:					calc(100% - 40px); */
		float:					left;
		margin-top:				0px;
		margin-left:			0px
	}
}

.shopping-order .control-group-left {
	height:						auto;
	width:						calc(40%);
	float:						left;
	position:					relative;
	margin-right:				10%;
}

.shopping-order .control-group-right {
	height:						auto;
	width:						calc(50%);
	/* margin-left: 				10px; */
	float:						right;
	position:					relative;
}




.shopping-order .products-area {
	position:					relative;
    float:						left;
    margin-bottom:				10px;
    margin-top:					0px;
    width:						100%;
}

.shopping-order .bestell-auswahl {
    width:						100%;
    float:						left;
}

.shopping-order .auswahl-area {
    width:						100%;
    margin-bottom:				15px;
    float:						left;
}

.products-area .product-element {
	position: relative;
	padding: 10px;
	width:						calc(100% - 22px);
    float:						left;
	border: 1px solid rgba(240, 240, 240, 1);
	border-radius: 5px;
	-moz-border-radius: 5px;
	background-color: rgba(252, 252, 252, 1);
	margin-bottom: 30px;
}

.products-area .product-element:last-child {
	border: 0;
	border-radius: 0;
	-moz-border-radius: 0;
	background-color: rgba(0,0,0,0);
	border-top:					3px double #999999;

}


.products-area .product-element:last-child > .label-product {
	width:						calc(100% - 130px) !important;
	float:						left;
}

.shopping-order .label-word {
	font-size:					16px!important;
    line-height:				24px !important;
}

.shopping-order .prod-order-list {

}

.products-area .prod-order-list .art-price {
	/* width:						80px; */
    float:						left;
    text-align:					right;
    margin-right:				10px;
}

.products-area .product-element .slot {
    position:					relative;
    float:						left;
    width:						auto;
}

.products-area .product-element:last-child > .slot {
    width:						100px;
    margin-right:				15px;
    font-weight:				bold;
	text-align:					right;
	float: 						right;
}

.products-area .prod-order-list .auswahl2 {
    width:						60px;
    float: 						left;
    font-size: 					0.875em;
    color:						red;
    font-weight: 				bold;
	height: 1.5em;
	border-radius: 3px;
	-moz-border-radius: 3px;
}

.tp-div {
	width: 200px;
	float: right;

}
.tp-sum	{
	width: 80px;
	float: left;
	font-weight: 600;
}

.tp-bbb {
	width: 100%;
	float: none;
	overflow: hidden;
}

.products-area .prod-order-list .total-price {
    width:						100px;
    float:						right;
    text-align:					right;
}
.products-area .prod-order-list .total-price-extras {
    width:						100px;
    float:						left;
    text-align:					right;
}

.products-area .prod-order-list .remove-prod {
	width:						30px;
    float:						left;
}


@media (min-width: 450px) {
	.order-top .art-price {
		float: right;
	}
}
@media (max-width: 449px) {
	.products-area .control-group-right label:not(.check) {
		float:			none;
		width:			100%;
	}
	.order-top .art-price {
		width:			100%;
	}
}

@media (max-width: 667px) {
	.products-area .product-element {
		padding:				3px;
		width:					calc(100% - 8px);
	}
	.products-area .product-element:nth-child(odd) {
		background-color: 		rgba(204,204,204,0);
	}
	.products-area .label-product {
		width:					100% !important;
	}
	.products-area .prod-order-list {
		width: 					auto;
		/* float: 					right; */
		margin-bottom: 			5px;
	}
	.products-area .auswahl-area {
		width:					100%;
	}
}


/* shoppingBasket ende */

.cart-anzeige-smart {
	position:					absolute;
	height:						20px;
	width:						20px;
	top:						2px;
	font-size:					15px;
	color:						#ffffff;
	font-weight:				bold;
	text-align: 				center;
	left:						1px;
	background-color:			#E23821;
	border:						1px solid #E23821;
	border-radius: 				15px;
	z-index:					999;
}
.cart-anzeige-smart > span {
	position: relative;
	top: -29px;
}
@media (max-width: 991px) {
	.cart-anzeige-smart {
		position:					absolute;
		height:						20px;
		width:						20px;
		top:						-15px;
		font-size:					15px;
		color:						#ffffff;
		font-weight:				bold;
		text-align: 				center;
		left:						15px;
		background-color:			#E23821;
		border:						1px solid #E23821;
		border-radius: 				15px;
		z-index:					999;
	}
}

.cart-anzeige-lg {
	position:					absolute;
	height:						20px;
	width:						20px;
	top:						22px;
	font-size:					15px;
	color:						#ffffff;
	font-weight:				bold;
	text-align: 				center;
	right:						-10px;
	background-color:			#E23821;
	border:						1px solid #E23821;
	border-radius: 				15px;
	z-index:					999;
}

@media (max-width: 991px) {
	.cart-anzeige-lg {
		display: none;
	}
}

.order-button {

	padding:0;
	line-height: 1.5rem;
	font-size: 1rem;
	background-color: rgba(255,255,255,0);
	color:						var(--main-a-color);
	border-radius:				0px;
	line-height:				inherit;
	float:						left;
	border: 0;
	height: 1.5rem;
	text-decoration: underline;
}
.order-button:hover,
.order-button:focus {
	color:						var(--main-a-color-hover);
}
.order-ind-button {
	background-color:			var(--main-btn-color);
	border:						none;
	margin:						0px 0px 0px 0px;
	color:						#ffffff!important;
	border-radius:				0px;
	line-height:				inherit;
	float:						none;
}
.order-ind-button:hover {
	background-color:			var(--main-btn-color-hover);
}

@media(max-width: 500px) {
	.st-burg-bestellen .order-button {
		margin-top: 0px;
		background-color:			#009320;
		padding: 3px 5px;
		border-radius: 5px;
		-moz-border-radius: 5px;
		float:						right;
	}

	.back-button {
		float:					left;
		min-width:				182px;
		margin-right:			20px;
	}	
}

.st-burg-bestellen .order-button {
	margin-top: 0px;
	padding: 3px 5px;
	border-radius: 5px;
	-moz-border-radius: 5px;
}

.half {
	position: relative;
	float:	left;
	width: calc(50% - 10px);
}

.input-section > .half:nth-of-type(even) {
	float:right;
}

.half input[type="radio"] {
	margin: 0 10px 0 0;
}

.input-section.delivery > label {
	margin-bottom: 10px;
}
.input-section.delivery {
	margin: 30px 0px 30px 0px !important;
	/* margin-bottom: 10px !important; */
}

.input-section.delivery .half label {
	margin: 0;
}


@media (min-width: 992px) {

	.Bwarenkorb .container-box.main-box {
		margin-top: 60px;
		padding: 20px;
		width: calc(100% - 40px);
		background-color: rgba(255,255,255,0.8);
	}

    .Bgleitsichtbrillen_damen .container-box.main-box {
		margin-top: 45px;
		padding: 20px;
		width: calc(100% - 40px);
		background-color: rgba(255,255,255,0.8);
	}
}


.shopping-order .margin-input {
	margin-top: 15px;
}
.shopping-order .page-content-title h2 {
	padding-right:		0px;
}
.shopping-order form {
	position:			relative;
}

.order-top {
	height: auto;
	display: block;
	position: relative;
	float: left;
	width: 100%;
}

.order-top-left {
	position: relative;
	display: block;
	width: 150px;
	height: auto;
	float: left;
	border-radius: 5px;
	-moz-border-radius: 5px;
	overflow: hidden;
	box-shadow: 0px 0px 2px 0px rgba(108,108,108, 0.3);
}

.order-top-left:hover {
	box-shadow: 0px 0px 3px 0px rgba(122,18,20, 0.75);
}

.otl-box {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 75%;
}
.order-top-left .otl-box a {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
}
.order-top-right {
	position: relative;
	float: left;
	display: block;
	width: calc(100% - 170px);
	height: auto;
	margin-left: 20px;
}
.otr-title {
	line-height: 1.5em;
	font-size: 1.15em;
	font-weight: 600;
	text-transform: uppercase;
}
.otr-details {
	color: #666666;
	font-size: 1em;
	line-height: 1.5em;
}
.otr-details > a {
	color: #666666;
}
.otr-details > a:hover {
	color: #333333;
}
.otr-price {
	font-size: 1em;
	font-weight: 600;
	line-height: 1.5em;
}
.otr-delivery-time {
	font-size: 0.85em;
	color: #666666;
}

.otr-max-quantity > span:nth-child(1) {

}

.order-middle {
	position: relative;
	float: left;
	height: 1px;
	background-color: rgba(240, 240, 240, 1);
	margin: 10px 0;
	width: 100%;
}

.order-bottom {
	width: 100%;
	float: left;
	height: auto;
	display: block;
	position:	relative;
}

.shopping-order .order-top .label-product {
	width: auto!important;
}


.single-room {
	position: relative;
	float: left;
	width: 100%;
	/* margin-bottom: 10px; */
}


/* SHOP SELECT FELD ------------------------------------------------ START */

.select-box {
	position: relative;
	width: 100%;
    margin-bottom: 15px;
}


.select-box select {
	background-color: #fff;
	color: #000;
	padding: 5px;
	width: calc(100% - 145.5px);
	border: none;
	font-size: 16px;
	box-shadow: 0 0px 3px rgba(0, 0, 0, 0.2);
	-webkit-appearance: button;
	appearance: button;
	outline: none;
	cursor: pointer;
	margin-left: 10px;
	border-radius: 5px;
  }

  
  .select-box select option {
	padding: 4px;
  } 

  .Bgleitsichtbrillen_damen .select-design {
	width:calc(100% - 150px);
	border: 1px solid #bbb;
	padding:.15em .5em .15em .5em;
	background-color:white;
	margin-left:10px;
  }
  
  .Bgleitsichtbrillen_damen .select-design:hover {
	box-shadow: unset;
  }

  .Bgleitsichtbrillen_damen label {
    display: inline-block;
    width: 130px;
    margin-bottom: 5px;
    font-weight: bold;
  }

  /* SHOP SELECT FELD ------------------------------------------------ ENDE */


  .choice-menu {
	  color: #333333;
	  font-size: 20px;
	  text-transform: uppercase;
	  list-style: none;
	  font-weight: 600;
	  margin-top: 15px;
  }

  .choice-menu li a {
	  font-weight: 600; 
	  color: #333333;
	  padding: 5px 15px;
  }

  .choice-menu li a:hover,
  .choice-menu li a.active {
	font-weight: 600;
	color: #fff;
	padding: 5px 15px;
	background-color: #EB1F25;
}

@media (max-width: 767px) {
	.choice-menu {
		color: #333333;
		font-size: 16px;
		text-transform: uppercase;
		list-style: none;
		font-weight: 600;
		margin-top: 15px;
	}

	.choice-menu li a {
		font-weight: 600; 
		color: #333333;
		padding: 5px 15px;
		line-height: 35px;
	}
}


/* shop template --------------------------------------------------------------------- Ende */

.shop-cart-form {
	float: left;
	margin-bottom: 20px;
}


.input-section .breit {
	margin-top: 	10px;
}

.control-group-left .input-section {
	margin-bottom: 0px;
}
.control-group-left .AF_Full {
	margin-bottom: 10px;
	width: 100%;
	float: left;
}

@media(min-width: 500px) {

	.option-lastschrift {
		margin-top: 0px !important;
	}
	.option-rechnung-neu {
		margin-top: 0px !important;
	}
	.option-lastschrift label {
		margin-top: 10px;
	}
}

.paypal-info {
	margin-bottom: 25px;
}

.paypal-info span {
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
	text-align: justify;
}

.cancel-info h1 {
	text-align: center;
	width: 100%;
	font-size: 30px;
	padding: 20px 0px;
	line-height: 40px;
	hyphens: none;
}

.input-height {
	height: 13px!important;
}

.select-height {
	height: 32px!important;
	width: calc(100% - 310px);
}

.bezahl-auswahl label,
.delivery-auswahl label {
	width: 310px!important;
	line-height: 33px!important;
}

@media (max-width: 1074px) {
	.select-height {
		height: 32px!important;
		width: 100%!important;
	}
	
	.bezahl-auswahl label,
	.delivery-auswahl label {
		width: 100%!important;
		line-height: 33px!important;
	}
}

.paypal-button {
	height: 34px;
	line-height: 1.42857;
	transition: border-color 0.15s ease-in-out 0s, box-shadow 0.15s ease-in-out 0s;
	background-color: #eaeaea;
	background-image: none;
	border: 1px solid #ccc;
	font-size: 15px;
	width: calc(50% - 17.5px) !important;
}

.shopping-order .control-group-left select.form-control {
	padding: 3px 3px;
}

.modal-kein-standort {
	width: 100%;
	font-size: 16px;
	font-weight: normal;
}
.modal-kein-standort select {
	font-size: 14px;
	width: 100%;
	max-width: 100%;
}

.legende {
	position: relative;
	width: 100%;
	max-width: 600px;
	margin: 0 auto;
	padding: 10px 5px;
	font-size: 14px;
}

.legende .legende-green,
.legende .legende-red {
	position: relative;
	overflow: hidden;
}

@media (min-width: 500px) {
	.legende .legende-green,
	.legende .legende-red {
		margin-left: 20px;
}
}

.legende .legende-icon {
	font-size: 12px;
	margin-right: 10px;
	float: left;
}

.legende .legende-green .legende-icon {
	color: #009320;
}
.legende .legende-red .legende-icon {
	color: red;
}

.standorte-adresse-legende-icon-green {
	font-size: 12px;
	color: #009320;
	float: left;
	margin-left: 5px;
	margin-right: 5px;
}
.standorte-adresse-legende-icon-red {
	font-size: 12px;
	color: red;
	float: left;
	margin-left: 5px;
	margin-right: 5px;
}

.standorte-z1 {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.standorte-abholzeit {
	margin-top: 10px;
	color: #ff0000;
	position: relative;
	float:none;
	width: 100%;
}

.cart-anzeige-lg {
    position: absolute;
    height: 20px;
    width: 20px;
    top: 22px;
    font-size: 15px;
    color: #ffffff;
    font-weight: bold;
    text-align: center;
    right: -5px;
    background-color: #E23821;
    border: 1px solid #E23821;
    border-radius: 15px;
    z-index: 999;
}

.warenkorb-extras {
	float: left;
	width: calc(100% - 110px);
}

.warenkorb-ingredients {
	font-size: 14px;
}

.emailConfirmation {
	position: relative;
	margin: 10px 0px;
	overflow: hidden;
}

.emailConfirmation label {
	float: left;
	margin-bottom: 0px;
	width: calc(100% - 50px);
}
.emailConfirmation input {
	float: left;
	margin-right: 10px;
	width: 1rem;
	height: 1rem;
	margin-top: 3px;
	cursor: pointer;
}
.emailConfirmationChecked {
	position: relative;
	overflow: hidden;
	display:none;
	margin: 10px 0px;
}
.emailConfirmationChecked label {
	width: 310px !important;
	float:left;
}
.emailConfirmationChecked input {
	width: calc(100% - 310px - 24px - 2px) !important;
	float:left;
}
.B4 .emailConfirmationChecked input {
	width: calc(100% - 26px)!important;
	float:left;
}

@media (max-width: 991px) {
	.emailConfirmationChecked label {
		width: 100% !important;
		float:left;
	}
	.emailConfirmationChecked input {
		width: 100% !important;
		float:left;
	}
}
.shop-header-text {
	width: calc(100% - 55px);
	position: relative;
	margin: 0 auto;

}

@media (max-width: 991px) {
	.shop-header-text {
		width: 100%;
		position: relative;
		float: left;
	}
}

.shop-header-text p {
	font-size: 1.3em;
	text-align: center;
	font-weight: 600;
	text-transform: uppercase;
	margin-bottom: 10px!important;
	color: #011065;
}

.flex-button {
	display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
	flex-direction: row;
    flex-wrap: wrap;
    align-content: space-between;
    justify-content: space-between;
    align-items: stretch;
	row-gap: 10px;
}
.flex-button::after {
	content: "";
	flex-basis: 13%;
	min-width: 140px;
	padding: 5px 0px;
  }

.flex-button .a-button {
	flex-basis: 13%;
	min-width: 140px;
	padding: 5px 0px;
	background-color: var(--main-btn-color);
	color: #ffffff;
	text-align: center;
	font-size: 1.1em;
}

.flex-button .a-button:hover {
	background-color: var(--main-btn-color-hover);
}
.flex-button .a-button.active {
	background-color: var(--main-btn-color-hover);
}


.shop-box-fl {
	position: relative;
	display: flex;
	flex-direction: row;
    flex-wrap: wrap;
	row-gap: 50px;
    align-content: space-between;
    justify-content: space-around;
    align-items: stretch;
}

.shop-item-fl {
	position: relative;
	/* display: flex;
	flex-direction: column;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-content: stretch;
    align-items: stretch; */
	flex-basis: 30%;
	min-width: 300px;
	max-width: 400px;
	box-shadow: 3px 3px 10px 0px rgba(0,0,0,0.5);
}

.shop-item-img {
	position: relative;
	width: 100%;
	height: auto;
	padding-top: 66.6667%;
}

.shop-item-img img{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	object-fit: cover;
}

.shop-item-title {
	text-align: center;
	font-size: 1.5rem;
	line-height: 3rem;
	font-weight: 600;
	color: #333333;
	background-color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.1rem;
}

.radio-variation-box {
	position: relative;
	width: 100%;
	overflow: hidden;
}

.label-radio-variation-box,
.radio-rvb-box {
	position: relative;
	width: calc(100% - 10px);
	padding: 5px;
	overflow: hidden;
}
.label-radio-variation-box {
	font-weight: 600;
}
.radio-rvb-box:hover {
	background-color: rgba(222,225,190,1) !important;
	cursor: pointer;
}
.radio-rvb-box.active {
	background-color: rgba(222,225,190,0.5);
}

.label-rvb-radio,
.radio-rvb-radio {
	position: relative;
	float: left;
	width: 10%;
	text-align: center;
}
.label-rvb-content,
.radio-rvb-content {
	position: relative;
	float: left;
	width: 30%;
	text-align: center;
}
.label-rvb-content label,
.radio-rvb-content label{
	margin-bottom: 0;
}
.label-rvb-price,
.radio-rvb-price {
	position: relative;
	float: left;
	width: 30%;
	text-align: center;
}
.label-rvb-baseprice,
.radio-rvb-baseprice {
	position: relative;
	float: left;
	width: 30%;
	text-align: right;
}

.products-area-title{
	font-size: 1.25em;
	font-weight: 600;
	color: var(--gr-color);
	margin-bottom: 3rem;
}
.products-area-title > span {
	color: var(--sec-color);
	font-weight: 600;
	font-size: 1.25rem;
	line-height: 2.25rem;
}

.delete-elements {
	position: relative;
	color: #333333;
	border: 1px solid #666666;
	border-radius: 3px;
	-moz-border-radius: 3px;
	height: calc(1.5em - 2px);
	width: calc(1.5em - 2px);
	font-size: 1em;
	margin-left: 20px;
	float: left;
	text-align: center;
}
.delete-elements i {
	line-height: 100%;
	z-index: 5;
}
.delete-elements a {
	position: absolute;
	width: 100%;
	height: 100%;
	display: block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}
.delete-elements:hover {
	background-color: #dddddd;
}

.agbConfirmation {
	position: relative;
	margin: 10px 0px;
	overflow: hidden;
}

.agbConfirmation label {
	float: left;
	margin-bottom: 0px;
	width: calc(100% - 50px);
	margin-left: 3px;
}
.agbConfirmation input {
	float: left;
	margin-right: 10px;
	width: 1rem;
	height: 1rem;
	margin-top: 3px;
	cursor: pointer;
}
.agbConfirmationChecked {
	position: relative;
	overflow: hidden;
	display:none;
	margin: 10px 0px;
}
.agbConfirmationChecked label {
	width: 310px !important;
	float:left;
}
.agbConfirmationChecked input {
	width: calc(100% - 310px - 24px - 2px) !important;
	float:left;
}
.B4 .agbConfirmationChecked input {
	width: calc(100% - 26px)!important;
	float:left;
}

@media (max-width: 991px) {
	.agbConfirmationChecked label {
		width: 100% !important;
		float:left;
	}
	.agbConfirmationChecked input {
		width: 100% !important;
		float:left;
	}
}


/* DE: Toolbar-Layout über der Liste */
.spf-toolbar{
  display:flex;     justify-content: flex-start;
    align-items: center;
    gap: 3rem;
    margin: .5rem 0 1rem;
    flex-direction: row;
    flex-wrap: wrap;
		justify-content: space-evenly;
}

/* DE: Suchformular wie zuvor */
.spf-search{margin:0;}
.spf-visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;}
.spf-search__wrap{display:flex;align-items:center;gap:.5rem;max-width:520px;background:#fff;border:1px solid #ddd;border-radius:10px;padding:.4rem .6rem;}
.spf-input{flex:1;border:0;outline:0;font-size:1rem;min-width:160px;}
.spf-button{border:0;cursor:pointer;border-radius:8px;padding:.5rem .9rem;background:#f3f3f3;}
.spf-help{display:block;color:#666;margin-top:.3rem;font-size:.95rem}

/* DE: Rechts ausgerichtete Hinweise */
.spf-resultinfo-box{text-align:center; min-width:260px;}
.spf-resultinfo{color:#666;margin:.2rem 0;font-size:.95rem}

/* DE: Responsive: untereinander stapeln */
@media (max-width: 720px){
  .spf-toolbar{flex-direction:column; align-items:stretch;}
  .spf-resultinfo-box{text-align:left;}
}
.spf-search, .spf-resultinfo-box, .spf-div-dummy {
	flex-basis: 26%;
}
@media(min-width: 992px) {

}
/* DE: Screenreader-Only Label */
.spf-visually-hidden{
  position:absolute!important;height:1px;width:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

/* DE: Header-Suchleiste */
.spf-hsearch{
  display:flex; align-items:center;
  height:34px; /* auf Header-Höhe abstimmen */
	margin-top: 23px;
}

.spf-hsearch__input{
  height:100%;
  border:1px solid #cfd4da;
  border-right:0;
  border-radius:4px 0 0 4px;
  padding:0 .6rem;
  background:#fff; color:#333;
  min-width:100px; /* bei Bedarf anpassen */
	max-width: 130px;
  outline:none;
}

.spf-hsearch__input:focus{
  border-color:#8892a0; box-shadow:0 0 0 2px rgba(136,146,160,.2);
}

.spf-hsearch__btn{
  height:100%;
  border:1px solid #cfd4da;
  border-left:0;
  border-radius:0 4px 4px 0;
  background:var(--gr-color); /* Gelb wie im Screenshot */
  padding:0 .7rem; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:#fff; /* Icon-Farbe */
}

.spf-hsearch__btn:hover{ filter: brightness(0.96); }
.spf-hsearch__btn:active{ filter: brightness(0.92); }

/* DE: dunkle Headerleiste – optional Kontrast erhöhen */
.header-dark .spf-hsearch__input{ border-color:#555; }
.header-dark .spf-hsearch__btn{ border-color:#555; }
