/*
 Theme Name:   OceanWP Child
 Description:  Child Theme des high-performance WP-Theme OceanWP
 Author:       Philipp Limbeck
 Author URI:   https://insyde.at/
 Template:     oceanwp
 Version:      1.0
 Text Domain:  oceanwp-child
*/

/* cormorant-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: 'Cormorant';
  font-style: normal;
  font-weight: 400;
  src: url('/wp-content/themes/oceanwp-child/assets/fonts/cormorant/cormorant-v24-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cormorant-italic - 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: 'Cormorant';
  font-style: italic;
  font-weight: 400;
  src: url('/wp-content/themes/oceanwp-child/assets/fonts/cormorant/cormorant-v24-latin-italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cormorant-700 - 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: 'Cormorant';
  font-style: normal;
  font-weight: 700;
  src: url('/wp-content/themes/oceanwp-child/assets/fonts/cormorant/cormorant-v24-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cormorant-700italic - 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: 'Cormorant';
  font-style: italic;
  font-weight: 700;
  src: url('/wp-content/themes/oceanwp-child/assets/fonts/cormorant/cormorant-v24-latin-700italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* overwrite general settings of oceanwp for focus of links (black border) */
#main a:focus,
#site-header a:focus,
#footer a:focus{
	outline: 0px !important;
}

.nomargin-bottom {
	margin-bottom: 0px !important;
}

:root {
    --farbe-grau: #6C6660;
    --farbe-gelb: #dcc462;
    --farbe-rot: #df1d3f;
}


html #main #content-wrap{
	padding-top: 130px;
} 

/* OVERLAY REVOLUTION SLIDER 
#rev_slider_1_1_forcefullwidth::after {
    content: "&nbsp;";
    display: block;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: #000;
	z-index: 10;
}
*/


/****************************************************************
 * TOP BAR ROT & TOP BAR FIXIERT
 * *************************************************************/

/* Top Bar */
#top-bar-wrap {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 99999;
	background-color: var(--farbe-rot);
	border: 0;
}

#top-bar {
	max-width: none;
	padding: 0 20px;
}

#top-bar-content {
	width: 100%;
	float: none;
}

.wassererhof-topbar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	box-sizing: border-box;
	font-family: "Cormorant", serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.wassererhof-topbar a {
	color: #fff !important;
	text-decoration: none !important;
}

.wassererhof-topbar-left {
	display: flex;
	align-items: center;
	gap: 7px;
	padding-left: 10px;
}

.wassererhof-topbar-center {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
}

.wassererhof-topbar-right {
	display: flex;
	align-items: center;
	margin-left: auto;
	padding-right: 10px;
}

.wassererhof-social {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	font-size: 24px;
	line-height: 1;
}

/* Platz für die fixe Top Bar schaffen */
#wrap {
	padding-top: 40px;
}

/* WordPress Adminbar */
body.admin-bar #top-bar-wrap {
	top: 32px;
}

@media (max-width: 782px) {
	body.admin-bar #top-bar-wrap {
		top: 46px;
	}
}



/****************************************************
 * SPRACHUMSCHALTER TOPBAR
 ****************************************************/

.wassererhof-topbar-left {
	display: flex;
	align-items: center;
}


/* Wrapper */
.wassererhof-topbar-left .nav-lang-wrap {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}


/* Liste horizontal */
.wassererhof-topbar-left .nav-lang-list {
	display: flex;
	align-items: center;
	gap: 0;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}


/* Einzelne Sprache */
.wassererhof-topbar-left .nav-lang-list > li {
	display: flex;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}


/* keine Punkte */
.wassererhof-topbar-left .nav-lang-list > li::before,
.wassererhof-topbar-left .nav-lang-list > li::marker {
	content: none !important;
	display: none !important;
}


/* Trenner */
.wassererhof-topbar-left .nav-lang-list > li + li::before {
	content: "|" !important;
	display: inline-block !important;
	margin: 0 5px;
	color: #fff;
}


/* Links */
.wassererhof-topbar-left .nav-lang-list a {
	display: inline-flex;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff !important;
	background: transparent !important;
	border: 0 !important;
	line-height: 1;
	text-decoration: none;
}


/* Text */
.wassererhof-topbar-left .lang-label {
	color: #fff;
	line-height: 1;
}


/* aktive Sprache */
.wassererhof-topbar-left .is-current .lang-label {
	font-weight: 600;
}


/* Hover */
.wassererhof-topbar-left .nav-lang-list a:hover {
	opacity: 0.75;
}


/****************************************************************
 * DROP DOWN MENÜ
 * *************************************************************/

.dropdown-menu .sub-menu {
	box-shadow: none !important;
}


/****************************************************************
 * MENÜ FIX BEI SCROLL
 ***************************************************************/

#site-header {
	position: fixed !important;
	top: 40px;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 99998;
	background-color: #fff;
	transition:
		height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
		min-height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
		box-shadow 0.35s ease;
}


/****************************************************************
 * DESKTOP AB 1101px
 * Scroll-Header + Logo-Tausch
 ***************************************************************/

@media only screen and (min-width: 1101px) {

	#site-header-inner,
	#site-navigation-wrap,
	#site-navigation {
		transition:
			height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
			min-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	}


	/* Center Header */
	#site-header.center-header #site-navigation {
		transform: translateY(0);
		transition:
			transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
			height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	}


	#site-header.center-header #site-navigation-wrap .left-menu,
	#site-header.center-header #site-navigation-wrap .right-menu,
	#site-header.center-header #site-navigation-wrap .middle-site-logo {
		transition:
			height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
			width 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	}


	#site-navigation-wrap .dropdown-menu > li,
	#site-navigation-wrap .dropdown-menu > li > a {
		transition:
			height 0.45s cubic-bezier(0.4, 0, 0.2, 1),
			line-height 0.45s cubic-bezier(0.4, 0, 0.2, 1);
	}


	/************************************************************
	 * NACH SCROLL */

	body.wassererhof-scrolled #site-header,
	body.wassererhof-scrolled #site-header-inner,
	body.wassererhof-scrolled #site-navigation-wrap,
	body.wassererhof-scrolled #site-navigation {
		height: 58px !important;
		min-height: 58px !important;
	}


	/* gesamte Center-Header-Zeile */
	body.wassererhof-scrolled
	#site-header.center-header
	#site-navigation {
		display: flex;
		align-items: center;
		width: 100%;
		height: 58px !important;
		transform: translateY(-9px);
	}


	/* linkes Menü */
	body.wassererhof-scrolled
	#site-header.center-header
	#site-navigation-wrap
	.left-menu {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 43% !important;
		height: 58px !important;
	}


	/* Logo Mitte */
	body.wassererhof-scrolled
	#site-header.center-header
	#site-navigation-wrap
	.middle-site-logo {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 14% !important;
		height: 58px !important;
	}


	/* rechtes Menü */
	body.wassererhof-scrolled
	#site-header.center-header
	#site-navigation-wrap
	.right-menu {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 43% !important;
		height: 58px !important;
	}


	/* Menüeinträge */
	body.wassererhof-scrolled
	#site-navigation-wrap
	.dropdown-menu > li {
		display: flex;
		align-items: center;
		height: 58px !important;
	}


	body.wassererhof-scrolled
	#site-navigation-wrap
	.dropdown-menu > li > a {
		display: flex;
		align-items: center;

		height: 58px !important;
		line-height: 1 !important;

		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}


	/* Header-Schatten */
	body.wassererhof-scrolled #site-header {
		box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
	}


	/************************************************************
	 * DESKTOP LOGO IM SCROLL-ZUSTAND TAUSCHEN */

	.middle-site-logo a {
		position: relative;

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


	/* normales Logo */
	.middle-site-logo img {
		opacity: 1;
		transform: scale(1);

		transition:
			opacity 0.3s ease,
			transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}


	/* W-Icon vorladen */
	.middle-site-logo a::after {
		content: "";

		position: absolute;
		top: 50%;
		left: 50%;

		width: 40px;
		height: 40px;

		opacity: 0;

		transform:
			translate(-50%, -50%)
			scale(0.88);

		background-image:
			url("/wp-content/uploads/2026/09/Wassererhof_lcon.svg");

		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;

		pointer-events: none;

		transition:
			opacity 0.3s ease,
			transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
	}


	body.wassererhof-scrolled .middle-site-logo {
		height: 58px !important;
	}


	body.wassererhof-scrolled .middle-site-logo a {
		position: relative;

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

		width: 58px;
		height: 58px !important;

		margin: 0 auto !important;
		padding: 0 !important;

		line-height: 1 !important;

		cursor: pointer;
		z-index: 10;
	}


	/* Original-Logo aus */
	body.wassererhof-scrolled .middle-site-logo a img,
	body.wassererhof-scrolled .middle-site-logo a:hover img,
	body.wassererhof-scrolled .middle-site-logo a:focus img,
	body.wassererhof-scrolled .middle-site-logo a:active img {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none;
		transform: scale(0.92);
	}


	/* W-Icon an */
	body.wassererhof-scrolled .middle-site-logo a::after,
	body.wassererhof-scrolled .middle-site-logo a:hover::after,
	body.wassererhof-scrolled .middle-site-logo a:focus::after,
	body.wassererhof-scrolled .middle-site-logo a:active::after {
		opacity: 1 !important;

		transform:
			translate(-50%, -50%)
			scale(1);
	}
}




/****************************************************************
 * SCHRIFT STYLING
 * *************************************************************/

span.above-h1 {
	display: block;
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding-bottom: 8px;
	text-align: center;
	color: var(--farbe-rot);
	font-family: "Cormorant", serif;
	font-size: 25px;
	font-weight: 800;
}

span.above-h1::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: calc(100% + 160px);
	height: 1px;
	background-color: var(--farbe-rot);
}

div.video-text h1 {
		color: #fff;
	font-size: 90px;
	font-weight: 800;
	text-shadow: 2px 2px 3px var(--farbe-grau);
}

@media (max-width: 776px) {
	h3 {
		font-size: 35px !important;
	}
}

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

div.footer-links {
	border-right: 1px solid var(--farbe-rot);
}

@media (max-width: 991px) {
div.footer-links {
	border-right: none;
}
}

div.footer-links p,
div.footer-links a {
	font-size: 18px;
}

span.footer-h1 {
	font-family: "Cormorant", serif;
	color: var(--farbe-rot);
	font-size: 96px;
	font-weight: 700;
}

span.footer-h2 {
	font-family: "Cormorant", serif;
	color: var(--farbe-rot);
	font-size: 48px;
	font-weight: 700;
}

div.footer-newsletter {
	padding-left: 50px;
	padding-right: 30px;
}

div.footer-miniinfo p,
div.footer-miniinfo a {
	font-size: 15px;
}

div.footer-rot {
	background-color: var(--farbe-rot);
	padding-top: 25px;
}


div.footer-rot a,
div.footer-rot p {
	color: #fff !important;
}

div.footer-navi a,
div.footer-navi p {
	font-size: 18px;
}




/****************************************************************
 * VIDEO STARTSEITE ALT!!! HEADERBILDER CONTENTSEITEN
 * *************************************************************/

span.video-h1 {
	font-family: "Cormorant", serif;
	color: #fff;
	font-size: 90px;
	font-weight: 800;
}

span.above-video {
	display: block;
	position: relative;
	width: fit-content;
	margin: 0 auto;
	padding-bottom: 8px;
	text-align: center;
	color: #fff;
	font-family: "Cormorant", serif;
	font-size: 40px;
}

@media only screen and (max-width: 1400px) {
	span.above-video {
		font-size: 20px !important;
	}
	div.video-text h1 {
		font-size: 60px !important;
	}
}

@media only screen and (max-width: 540px) {
	div.video-text h1 {
		font-size: 45px !important;
	}
}


span.above-video::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: calc(100% + 160px);
	height: 1px;
	background-color: #fff;
}

div.video-text {
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	width: 1600px;
	max-width: 90vw;
}

@media only screen and (max-width: 1100px) {
	div.video-text {
		top: 60%;
	}
}


.wassererhof-video .plyr {
	height: clamp(450px, 48vw, 750px);
	overflow: hidden;
}

.wassererhof-video .plyr__video-wrapper {
	height: 100%;
	padding-bottom: 0 !important;
}

.wassererhof-video video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
}

/****************************************************
 * CONTENT HEADERBILD */

.content-headerbild,
.content-headerbild .wpb_wrapper,
.content-headerbild .vc_single_image-wrapper,
.content-headerbild .vc_figure {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.content-headerbild img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 60vh !important;
	object-fit: cover !important;
	object-position: center top;
	margin: 0 !important;
}


/* Mobile */
@media only screen and (max-width: 900px) {

	.content-headerbild img {
		height: 60vh !important;
	}
}


/****************************************************************
 * INSYDE BUTTON
 * *************************************************************/

.insyde-simple-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-color: var(--insyde-btn-bg);
	color: var(--insyde-btn-text) !important;
	border: 1px solid #df1d3f;
	border-radius: var(--insyde-btn-radius);
	padding: 10px 25px;
	font-size: 24px;
	text-decoration: none !important;
	transition: background-color 0.25s ease, color 0.25s ease;
}

.insyde-simple-btn:hover,
.insyde-simple-btn:focus,
.insyde-simple-btn:active {
	background-color: var(--insyde-btn-hover-bg);
	color: var(--insyde-btn-hover-text) !important;
	text-decoration: none !important;
}


/****************************************************************
 * BILDER MIT OPACITY & TEXT OVERLAY 
 * *************************************************************/

.wassererhof-zwischenheader img,
img.wassererhof-zwischenheader {
	filter: brightness(60%);
}

.wassererhof-textoverlay {
	position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	width: 1600px;
	max-width: 90vw;
}

.wassererhof-textoverlay a {
	font-family: "Cormorant", serif;
	color: #fff;
	text-decoration: none !important;
	font-size: 96px;
	font-weight: 700;
}

.wassererhof-textoverlay a:hover {
	color: #fff !important;
}

@media only screen and (max-width: 776px) {
	.wassererhof-textoverlay {
		top: 40%;
	}
}


/****************************************************************
 * GOOGLE MAPS
 * *************************************************************/

.wassererhof-map {
	filter: grayscale(100%);
}



/****************************************************************
 * TEXT ZWEISPALTIG WEINGUT-SEITE
 * *************************************************************/

.wassererhof-zweispaltig .wpb_wrapper {
	column-count: 2;
	column-gap: 45px;
	text-align: justify;
}

@media (max-width: 765px) {
	.wassererhof-zweispaltig .wpb_wrapper {
		column-count: 1;
		column-gap: 0;
		text-align: left;
	}
}

/****************************************************************
 * REFERENZEN
 * *************************************************************/

div.referenzen-box {
	background-color: #faf9f7;
  padding: 15px;
	border: 15px solid #fff;
	min-height: 240px;
}

div.referenzen-box p, div.referenzen-box a {
	font-size: 15px;
}


/****************************************************************
 * WOOCOMMERCE ARCHIVE 
 * *************************************************************/


/* Infoleiste oben */


div.shop-infozeile {
	background-color: #faf9f7;
	padding-top: 25px;
	padding-bottom: 25px;
}

div.shopinfo-right {
	border-right: 1px solid var(--farbe-rot);
}

.bestellung-box {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 25px;
}

.bestellung-box img {
	display: block;
	object-fit: contain;
	flex: 0 0 auto;
}

.bestellung-text {
	display: flex;
	flex-direction: column;
	text-align: left;
	line-height: 1.6;
}

.bestellung-title {
	font-weight: 700;
}

.bestellung-value {
	font-weight: 400;
}

.bestellung-box p {
	margin-bottom: 0px !important;
}

/* Infoleiste oben mobile */

#shopinfo-mobile {
	display: none;
}

#shopinfo-mobile {
	background-color: #faf9f7;
	padding-top: 10px;
  padding-bottom: 10px;
}

#shopinfo-mobile p {
	font-size: 13px !important;
}

@media (max-width: 1350px) {
#shopinfo-desktop {
	display: none;
}
#shopinfo-mobile {
	display: block;
}
}


@media (min-width: 1101px) {
body.woocommerce-page #main #content-wrap {
	padding-top: 140px;
}
}

@media (max-width: 1100px) {
body.woocommerce-page #main #content-wrap {
	padding-top: 85px;
}
}

.woocommerce ul.products li.product {
	width: 100%;
	margin: 0 0 12px;
	padding: 0;
	background-color: #faf9f7;
	box-shadow: 0 6px 10px rgba(0, 0, 0, 0.12);
}

.wc-product-card {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr) 350px;
	align-items: stretch;
	min-height: 190px;
}

.wc-product-col {
	position: relative;
}

.wc-product-image {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px 25px;
}

.wc-product-image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.wc-product-image img {
	display: block;
	width: auto !important;
	max-width: 100%;
	height: 160px !important;
	margin: 0 !important;
	object-fit: contain;
}

.wc-product-info {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 20px 25px;
}

.wc-product-info {
	position: relative;
}

.wc-product-info::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 0;
	bottom: 15px;
	width: 1px;
	background-color: #e7e2dc;
}


.wc-product-info a {
	color: inherit;
	text-decoration: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0 0 6px;
	padding: 0;
	font-family: "Cormorant", serif;
	font-size: 27px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--farbe-grau);
}

@media (max-width: 1700px) {
	.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 22px;
}
}

.wc-product-buy {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
  padding: 20px 10px;
}

.wc-product-price {
	margin-bottom: 20px;
}

.woocommerce ul.products li.product .price {
	margin: 0;
	font-family: "Cormorant", serif;
	font-size: 27px;
	font-weight: 600;
	color: var(--farbe-grau);
}

.wc-product-cart .button {
	margin: 0;
	padding: 12px 18px;
	background-color: var(--farbe-rot);
	color: #fff;
	border: 1px solid var(--farbe-rot);
	border-radius: 0;
	font-weight: 400;
	text-decoration: none;
}

.wc-product-cart .button:hover {
	background-color: #fff;
	color: var(--farbe-rot);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px;
}

.woocommerce ul.products li.product {
	float: none;
	width: 100% !important;
	margin: 0 !important;
}

.woocommerce ul.products li.product .jahrgang {
	display: block;
	margin-top: 6px;
	margin-bottom: 6px;
	font-size: 16px;
	line-height: 1.2;
	color: var(--farbe-grau);
}

/*.woocommerce ul.products li.product .jahrgang::before {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin-bottom: 8px;
	background-color: var(--farbe-rot);
} */

.woocommerce ul.products li.product .woocommerce-loop-product__title:after {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin-top: 8px;
	background-color: var(--farbe-rot);
}


.woocommerce ul.products li.product .archive-weindaten {
	display: flex;
	flex-direction: column;
	font-size: 14px;
}

.woocommerce ul.products li.product .archive-kurzinfo {
	display: block;
}

.woocommerce ul.products li.product .archive-details {
	display: block;
}

.woocommerce ul.products li.product .archive-trenner {
	margin: 0 4px;
}

small.woocommerce-price-suffix {
	font-size: 60%;
}

span.preisproliter {
	font-size: 14px;
}

div.quantity {
	margin-bottom: 5px;
}

.wc-product-cart form.cart {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 10px;
	flex-wrap: nowrap;
	margin: 0;
}

.wc-product-cart form.cart .quantity,
.wc-product-cart form.cart .button {
	float: none;
	margin: 0;
}

.wc-product-cart form.cart .quantity {
	flex: 0 0 auto;
}

.wc-product-cart form.cart .button {
	flex: 0 0 auto;
	white-space: nowrap;
}

/* Auszeichnung im Archiv */
/* 
 .wc-product-buy {
	position: relative;
	padding-right: 95px;
}

.wc-product-award {
	position: absolute;
	top: 25%;
	right: 15px;
	width: 70px;
	height: 70px;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
}

.wc-product-award img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 70px !important;
	max-height: 70px !important;
	margin: 0 !important;
	object-fit: contain;
}
*/

/* PRODUKT BADGE ARCHIV */

.woocommerce ul.products li.product .wc-product-buy {
	position: relative;
}


/* Badge */
.woocommerce ul.products li.product .wc-product-badge {
	position: absolute;
	top: 5px;
	right: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	padding: 8px;
	box-sizing: border-box;
	border-radius: 50%;
	background-color: var(--farbe-rot);
	color: #fff;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
	z-index: 3;
	text-transform: uppercase;
}

/* Schnellinfo im Archiv ausgeben */

.woocommerce ul.products li.product .archive-schnellinfo {
	display: block;
	margin-top: 4px;
	font-weight: 600;
	color: var(--farbe-grau);
}

.woocommerce ul.products li.product .archive-passt-zu {
	display: block;
	margin-top: 3px;
	font-size: 14px;
	line-height: 1.35;
	color: var(--farbe-grau);
}


/* Statt Preis Del */

.woocommerce ul.products li.product .wc-product-price del,
.woocommerce ul.products li.product .wc-product-price del *,
.woocommerce ul.products li.product .wc-product-price del .amount,
.woocommerce ul.products li.product .wc-product-price del bdi {
	text-decoration: none !important;
	text-decoration-line: none !important;
}


.woocommerce ul.products li.product .wc-product-price del {
	position: relative;
}

.woocommerce ul.products li.product .wc-product-price del::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 66%;
	height: 1px;
	background: currentColor;
	pointer-events: none;
}



/****************************************************************
 * WOOCOMMERCE ARCHIVE MOBILE ANSICHT
 * *************************************************************/

@media (max-width: 1450px) {

	.woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 12px;
	}

	.wc-product-card {
		grid-template-columns: 140px minmax(0, 1fr);
		grid-template-areas:
			"image info"
			"buy buy";
	}

	.wc-product-image {
		grid-area: image;
		padding: 15px;
	}

	.wc-product-image img {
		height: 150px !important;
	}

	.wc-product-info {
		grid-area: info;
		padding: 20px 15px;
	}

	.wc-product-info::after {
		display: none;
	}

	.wc-product-buy {
		grid-area: buy;
		width: 100%;
		padding: 15px 20px 20px;
		box-sizing: border-box;
		border-top: 1px solid #e7e2dc;
	}

	.wc-product-price {
		margin-bottom: 10px;
	}
}


@media (max-width: 1170px) {

	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}

	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product.span_1_of_2,
	.woocommerce ul.products.grid li.product {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.wc-product-card {
		grid-template-columns: 140px minmax(0, 1fr) 400px;
		grid-template-areas: "image info buy";
		width: 100%;
		min-height: 190px;
	}

	.wc-product-image {
		grid-area: image;
	}

	.wc-product-info {
		grid-area: info;
	}

	.wc-product-buy {
		grid-area: buy;
		width: auto;
		padding: 20px 15px;
		border-top: 0;
	}

	.wc-product-info::after {
		display: block;
	}
}

@media (max-width: 850px) {

	.woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px;
	}

	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product.span_1_of_2,
	.woocommerce ul.products.grid li.product {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.wc-product-card {
		grid-template-columns: 110px minmax(0, 1fr);
		grid-template-areas:
			"image info"
			"buy buy";
		width: 100%;
		min-height: 0;
	}

	.wc-product-image {
		grid-area: image;
		padding: 15px 10px;
	}

	.wc-product-image img {
		height: 130px !important;
	}

	.wc-product-info {
		grid-area: info;
		padding: 15px 12px;
	}

	.wc-product-info::after {
		display: none;
	}

	.wc-product-buy {
		grid-area: buy;
		width: 100%;
		padding: 15px;
		box-sizing: border-box;
		border-top: 1px solid #e7e2dc;
	}

	.wc-product-price {
		margin-bottom: 10px;
	}

	.wc-product-cart form.cart {
		justify-content: flex-start;
		gap: 8px;
	}

	.wc-product-cart form.cart .button {
		padding: 10px 12px;
		white-space: nowrap;
	}
}

@media (max-width: 640px) {

	.woocommerce ul.products {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	.woocommerce ul.products li.product,
	.woocommerce ul.products li.product.span_1_of_2,
	.woocommerce ul.products.grid li.product {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.wc-product-card {
		grid-template-columns: 120px minmax(0, 1fr);
		grid-template-areas:
			"image info"
			"buy buy";
		width: 100%;
	}

	.wc-product-image {
		grid-area: image;
		padding: 15px 10px;
	}

	.wc-product-image img {
		height: 135px !important;
	}

	.wc-product-info {
		grid-area: info;
		padding: 15px;
	}

	.wc-product-info::after {
		display: none;
	}

	.wc-product-buy {
		grid-area: buy;
		width: 100%;
		padding: 15px;
		box-sizing: border-box;
		border-top: 1px solid #e7e2dc;
	}
}




/****************************************************************
 * WOOCOMMERCE SINGLE PRODUCT PAGE 
 * *************************************************************/


/* ACF im Single Product ausgeben */
.single-weindaten {
	position: relative;
	margin-top: 30px;
	padding: 20px;
	background-color: #faf9f7;
  box-shadow: 0 6px 10px rgba(0, 0, 0, 0.12)
}

.single-weindaten::before {
	content: "";
	position: absolute;
	top: 20px;
	bottom: 20px;
	left: 190px;
	width: 1px;
	background-color: var(--farbe-rot);
}

.single-weindaten-zeile {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	margin-bottom: 15px;
}

.single-weindaten-zeile:last-child {
	margin-bottom: 0;
}

.single-weindaten-label {
	padding-right: 25px;
	font-weight: 700;
	line-height: 1.4;
	font-size: 18px;
}

.single-weindaten-wert {
	padding-left: 30px;
	line-height: 1.45;
	font-size: 18px;
}

@media (max-width: 765px) {
	.single-weindaten::before {
		display: none;
	}

	.single-weindaten-zeile {
		display: block;
		margin-bottom: 18px;
	}

	.single-weindaten-label {
		margin-bottom: 3px;
		padding-right: 0;
	}

	.single-weindaten-wert {
		padding-left: 0;
	}
}


.woocommerce div.product div.images img {
	width: 35%;
	display: inline;
}

.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
	text-align: center;
}

h1.single-post-title.product_title.entry-title {
	border-bottom: none !important;
	padding-bottom: 0px !important;
}

/* Mengenauswahl Single Product */

.single-product div.product form.cart {
	display: flex;
	align-items: stretch;
	gap: 12px;
	flex-wrap: wrap;
}

.single-product div.product form.cart .quantity {
	display: inline-flex;
	align-items: stretch;
	height: 44px;
	margin: 0;
}

.single-product div.product form.cart .quantity .minus,
.single-product div.product form.cart .quantity .plus,
.single-product div.product form.cart .quantity .qty {
	height: 44px;
	margin: 0;
	padding: 0;
	line-height: 44px;
	box-sizing: border-box;
}

.single-product div.product form.cart .quantity .minus,
.single-product div.product form.cart .quantity .plus {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
}

.single-product div.product form.cart .quantity .qty {
	width: 40px;
	text-align: center;
}

.single-product div.product form.cart .single_add_to_cart_button {
	height: 44px;
	margin: 0;
	padding-top: 0;
	padding-bottom: 0;
	line-height: 44px;
	box-sizing: border-box;
}

/* Beschreibung unter Produktbild */
.woocommerce div.product .woocommerce-tabs .panel h2:first-child {
	display: block;
  position: relative;
  width: fit-content;
  padding-bottom: 8px;
  color: var(--farbe-rot);
  font-family: "Cormorant", serif;
  font-size: 25px !important;
  font-weight: 800 !important;
}

.woocommerce div.product .woocommerce-tabs .panel h2:first-child:after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 50px;
	height: 1px;
	background-color: var(--farbe-rot);
	transform: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: none !important;
}

div.produkt-beschreibung-h1 p {
	font-family: "Cormorant", serif;
	font-weight: 700;
	font-size: 64px;
	color: var(--farbe-grau);
}

@media (max-width: 700px) {
.produkt-beschreibung-h1 p {
		font-size: 22px !important;
		margin-bottom: 8px;
	}
}

/* Lebensmittelangaben */

div.lebensmittelangaben {
	font-size: 14px;
}

/* Angebot */

.woocommerce span.onsale {
	display: none;
}

/* Monate-Grafik im Single Product */

/* Bezugspunkt */
.single-product .woocommerce-product-gallery {
	position: relative;
}


/* Monatsgrafik als Overlay beim Produktbild */
.single-product .wassererhof-monate-grafik {
	position: absolute;
	top: 40px;
	right: 25px;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 170px;
	margin: 0;
	cursor: pointer;
}


/* Grafik niemals verzerren */
.single-product .wassererhof-monate-grafik img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
}


@media (max-width: 1400px) {

	.single-product .wassererhof-monate-grafik {
		width: 130px;
		height: 130px;
	}
}


@media (max-width: 550px) {

	.single-product .wassererhof-monate-grafik {
		top: 10px;
		right: 10px;
		width: 90px;
		height: 90px;
	}
}

/****************************************************
 * MONATE GRAFIK – KLICKBAR */

.single-product .wassererhof-monate-grafik {
	cursor: pointer;
}

.single-product .wassererhof-monate-grafik img {
	transition: transform 0.25s ease;
}

.single-product .wassererhof-monate-grafik:hover img {
	transform: scale(1.04);
}


/****************************************************
 * MONATE POPUP */

.wassererhof-monate-popup {
	position: fixed;
	inset: 0;
	z-index: 999999;

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

	padding: 25px;

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transition:
		opacity 0.25s ease,
		visibility 0.25s ease;
}


/* geöffnet */
body.wassererhof-monate-popup-open
.wassererhof-monate-popup {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}


/* Scrollen im Hintergrund verhindern */
body.wassererhof-monate-popup-open {
	overflow: hidden;
}


/****************************************************
 * HINTERGRUND */

.wassererhof-monate-popup-backdrop {
	position: absolute;
	inset: 0;

	background: rgba(0, 0, 0, 0.45);
}


/****************************************************
 * POPUP BOX */

.wassererhof-monate-popup-dialog {
	position: relative;
	z-index: 2;

	width: 100%;
	max-width: 600px;

	padding: 50px 55px;

	background: #fff;

	box-shadow:
		0 15px 50px rgba(0, 0, 0, 0.20);

	transform: translateY(20px);

	transition:
		transform 0.25s ease;
}


body.wassererhof-monate-popup-open
.wassererhof-monate-popup-dialog {
	transform: translateY(0);
}


/****************************************************
 * SCHLIESSEN */

.wassererhof-monate-popup-close {
	position: absolute;
	top: 12px;
	right: 15px;

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

	width: 36px;
	height: 36px;

	margin: 0;
	padding: 0;

	background: transparent;
	border: 0;

	font-family: Arial, sans-serif;
	font-size: 32px;
	font-weight: 300;
	line-height: 1;

	color: var(--farbe-rot);

	cursor: pointer;
}

.wassererhof-monate-popup-close:hover {
	color: var(--farbe-grau);
}


/****************************************************
 * INHALT */

.wassererhof-monate-popup-content h3 {
	margin: 0 0 20px;

	font-family: "Cormorant", serif;
	font-size: 36px;
	font-weight: 600;
	line-height: 1.1;

	color: var(--farbe-rot);
}


.wassererhof-monate-popup-content h3::after {
	content: "";
	display: block;

	width: 35px;
	height: 1px;

	margin-top: 15px;

	background-color: var(--farbe-rot);
}


.wassererhof-monate-popup-text {
	font-size: 17px;
	line-height: 1.6;
	color: var(--farbe-grau);
}

.wassererhof-monate-popup-text p:last-child {
	margin-bottom: 0;
}


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

@media (max-width: 600px) {

	.wassererhof-monate-popup {
		padding: 15px;
	}

	.wassererhof-monate-popup-dialog {
		padding: 40px 25px 30px;
	}

	.wassererhof-monate-popup-content h3 {
		font-size: 30px;
	}

	.wassererhof-monate-popup-text {
		font-size: 16px;
	}
}

/* Auszeichnung im Single Product */

/* Bezugspunkt für das absolute Award-Bild */
.single-product .woocommerce-product-gallery {
	position: relative;
}

/* Auszeichnung als Overlay */
.single-product .single-product-award {
	position: absolute;
	top: 40px;
	right: 25px;
	z-index: 10;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 170px;
	height: 170px;
	pointer-events: none;
}

@media (max-width: 1400px) {
	.single-product .single-product-award {
		width: 130px;
  height: 130px;
	}
}

@media (max-width: 550px) {
	.single-product .single-product-award {
		top: 10px;
  right: 10px;
	}
}

/* Bild niemals verzerren */
.single-product .single-product-award img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	object-fit: contain;
}

/* Schnellinfo im Single Product */

.single-product .single-schnellinfo {
	display: block;
	margin: 8px 0 18px;
	font-size: 22px;
	line-height: 1.3;
	color: var(--farbe-grau);
}

.single-product .single-schnellinfo-trenner {
	margin: 0 5px;
	color: var(--farbe-rot);
}


/* Weinbriefe PDF im Single Product */

.single-weinbriefe-links {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
}

.single-weinbrief-link {
	color: var(--farbe-grau);
	text-decoration: none;
}

.single-weinbrief-link:hover {
	color: var(--farbe-rot);
	text-decoration: none;
}

.single-weinbrief-trenner {
	color: var(--farbe-rot);
}


/****************************************************************
 * ZURÜCK ZUM SHOP BUTTON */

.single-product div.product {
	position: relative;
}

.single-product .single-back-to-shop {
	position: absolute;
	top: 20px;
	left: 0;
	z-index: 20;
	margin: 0;
	text-align: left;
}

.single-product .single-back-to-shop-button {
	display: inline-block;
	padding: 5px 15px;
	border: 1px solid var(--farbe-rot);
	color: var(--farbe-rot);
	background: #fff;
	text-decoration: none;
	font-size: 15px;
}

.single-product .single-back-to-shop-button:hover {
	background: var(--farbe-rot);
	color: #fff;
}

@media (max-width: 500px) {
	.single-product .single-back-to-shop-button {
	padding: 3px 10px;
	font-size: 12px;
}
}



/****************************************************************
 * SINGLE PRODUCT MOBILE */

@media (max-width: 500px) {
	div.single-weindaten .single-weindaten-label {
		font-size: 15px;
	}
	div.single-weindaten .single-weindaten-wert {
		font-size: 14px;
	}
	.single-product .single-schnellinfo {
		font-size: 16px;
	}
	div.woocommerce-message {
		font-size: 15px !important;
	}
	.woocommerce-message a.button.wc-forward {
		font-size: 13px !important;
		font-weight: 400 !important;
	}
}

@media (max-width: 1100px) {
	div.woocommerce-message {
	margin-top: 20px !important;
	}
}

/****************************************************************
 * RELATED PRODUCTS
 * *************************************************************/

/* Produkt-Raster */
.single-product .related.products ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 25px;
	margin: 0;
}


/* Einzelne Produktkarte */
.single-product .related.products ul.products li.product {
	float: none;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;

	background-color: #faf9f7;
	border: 0 !important;
	outline: 0 !important;

	box-shadow: 0 6px 10px rgba(0, 0, 0, 0.12);
}


/* Gesamter Kartenaufbau */
.single-product .related.products .wc-product-card {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr) 350px;
	align-items: stretch;
	min-height: 190px;

	border: 0 !important;
	outline: 0 !important;
}


/* Einzelne Bereiche */
.single-product .related.products .wc-product-col {
	position: relative;
	border: 0;
}


/****************************************************************
 * PRODUKTBILD */

.single-product .related.products .wc-product-image {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 15px 25px;
}

.single-product .related.products .wc-product-image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.single-product .related.products .wc-product-image img {
	display: block;
	width: auto !important;
	max-width: 100%;
	height: 160px !important;
	margin: 0 !important;
	object-fit: contain;
}


/****************************************************************
 * PRODUKTINFO */

.single-product .related.products .wc-product-info {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	padding: 20px 25px;
}


/* feine Trennlinie zum Buy-Bereich */
.single-product .related.products .wc-product-info::after {
	content: "";
	position: absolute;
	top: 15px;
	right: 0;
	bottom: 15px;
	width: 1px;
	background-color: #e7e2dc;
}


.single-product .related.products .wc-product-info a {
	color: inherit;
	text-decoration: none;
}


/* Produkttitel */
.single-product .related.products
.woocommerce-loop-product__title {
	margin: 0 0 12px;
	padding: 0;
	font-family: "Cormorant", serif;
	font-size: 27px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--farbe-grau);
}


/****************************************************************
 * JAHRGANG + WEINDATEN */

.single-product .related.products .jahrgang {
	display: block;
	margin-top: 6px;
	margin-bottom: 6px;

	font-size: 16px;
	line-height: 1.2;
	color: var(--farbe-grau);
}

/* .single-product .related.products .jahrgang::before {
	content: "";
	display: block;
	width: 28px;
	height: 1px;
	margin-bottom: 8px;
	background-color: var(--farbe-rot);
} */


.single-product .related.products .archive-weindaten {
	display: flex;
	flex-direction: column;
	font-size: 14px;
}

.single-product .related.products .archive-kurzinfo,
.single-product .related.products .archive-details,
.single-product .related.products .archive-schnellinfo,
.single-product .related.products .archive-passt-zu {
	display: block;
}

.single-product .related.products .archive-trenner {
	margin: 0 4px;
}


/****************************************************************
 * BUY-BEREICH */

.single-product .related.products .wc-product-buy {
	position: relative;

	display: flex;
	flex-direction: column;
	justify-content: flex-start;

	padding: 20px 10px;
}


/* Preis */
.single-product .related.products .wc-product-price {
	margin-bottom: 20px;
}

.single-product .related.products .price {
	margin: 0;

	font-family: "Cormorant", serif;
	font-size: 27px;
	font-weight: 600;

	color: var(--farbe-grau);
}

.single-product .related.products small.woocommerce-price-suffix {
	font-size: 60%;
}

.single-product .related.products span.preisproliter {
	font-size: 14px;
}


/****************************************************************
 * MENGE + WARENKORB */

.single-product .related.products .wc-product-cart form.cart {
	display: flex;
	align-items: center;
	justify-content: flex-start;

	gap: 10px;
	flex-wrap: nowrap;

	margin: 0;
	border-top: none !important;
  border-bottom: none !important;
}




/****************************************************************
 * AUSZEICHNUNG */

.single-product .related.products .wc-product-award {
	position: absolute;
	top: 25%;
	right: 12px;

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

	width: 70px;
	height: 70px;

	transform: translateY(-50%);
	z-index: 2;
}

.single-product .related.products .wc-product-award img {
	display: block;

	width: auto !important;
	height: auto !important;

	max-width: 70px !important;
	max-height: 70px !important;

	margin: 0 !important;
	object-fit: contain;
}


/****************************************************************
 * RESPONSIVE */

@media (max-width: 1700px) {

	.single-product .related.products
	.woocommerce-loop-product__title {
		font-size: 22px;
	}
}

/* -------------------------------------------------------------
 * RELATED PRODUCTS
 * 1171px bis 1670px
 *
 * Bild | Info
 * Buy  | Buy
 * ---------------------------------------------------------- */

@media (min-width: 1171px) and (max-width: 1670px) {

	/* weiterhin 2 Related Products nebeneinander */
	.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 20px;
	}


	/* Produktkarte */
	.single-product .related.products .wc-product-card {
		grid-template-columns: 140px minmax(0, 1fr) !important;
		grid-template-areas:
			"image info"
			"buy buy";

		width: 100%;
		min-width: 0;
		min-height: 0;
	}


	/* Bild */
	.single-product .related.products .wc-product-image {
		grid-area: image;
		padding: 15px;
		min-width: 0;
	}

	.single-product .related.products .wc-product-image img {
		height: 150px !important;
	}


	/* Produktinformationen */
	.single-product .related.products .wc-product-info {
		grid-area: info;

		min-width: 0;
		padding: 18px 15px;
	}


	/* keine senkrechte Trennlinie */
	.single-product .related.products .wc-product-info::after {
		display: none;
	}


	/* Buy-Bereich darunter */
	.single-product .related.products .wc-product-buy {
		grid-area: buy;

		width: 100%;
		min-width: 0;

		padding: 15px 20px 20px;
		box-sizing: border-box;

		border-top: 1px solid #e7e2dc;
	}


	/* Preis */
	.single-product .related.products .wc-product-price {
		margin-bottom: 10px;
	}


	/* Titel normal umbrechen */
	.single-product .related.products
	.woocommerce-loop-product__title {
		font-size: 21px;

		word-break: normal !important;
		overflow-wrap: normal !important;
		hyphens: auto;
	}


	/* Text darf die Grid-Spalte nicht aufsprengen */
	.single-product .related.products .archive-weindaten,
	.single-product .related.products .archive-kurzinfo,
	.single-product .related.products .archive-details,
	.single-product .related.products .archive-schnellinfo,
	.single-product .related.products .archive-passt-zu {
		min-width: 0;
		word-break: normal;
		overflow-wrap: normal;
	}


	/* Menge + Button */
	.single-product .related.products
	.wc-product-cart form.cart {
		justify-content: flex-start;
		gap: 10px;
	}


	/* Auszeichnung */
	.single-product .related.products .wc-product-award {
		top: 20px;
		right: 10px;

		width: 55px;
		height: 55px;

		transform: none;
	}

	.single-product .related.products .wc-product-award img {
		max-width: 55px !important;
		max-height: 55px !important;
	}
}

/* -------------------------------------------------------------
 * BIS 1170px
 * 1 Produkt pro Zeile
 * Bild | Info | Buy
 * ---------------------------------------------------------- */

@media (max-width: 1170px) {

	.single-product .related.products ul.products {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	.single-product .related.products ul.products li.product,
	.single-product .related.products ul.products li.product.span_1_of_2,
	.single-product .related.products ul.products.grid li.product {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.single-product .related.products .wc-product-card {
		grid-template-columns: 140px minmax(0, 1fr) 400px !important;
		grid-template-areas: "image info buy";
		width: 100%;
		min-height: 190px;
	}

	.single-product .related.products .wc-product-image {
		grid-area: image;
		padding: 15px;
	}

	.single-product .related.products .wc-product-image img {
		height: 150px !important;
	}

	.single-product .related.products .wc-product-info {
		grid-area: info;
		padding: 20px 15px;
	}

	.single-product .related.products .wc-product-info::after {
		display: block;
	}

	.single-product .related.products .wc-product-buy {
		grid-area: buy;
		width: auto;
		padding: 20px 15px;
		border-top: 0;
	}

	.single-product .related.products .wc-product-price {
		margin-bottom: 10px;
	}
}


/* -------------------------------------------------------------
 * BIS 850px
 * 2 Produkte pro Zeile
 *
 * Bild | Info
 * Buy  | Buy
 * ---------------------------------------------------------- */

@media (max-width: 850px) {

	.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 12px;
	}

	.single-product .related.products ul.products li.product,
	.single-product .related.products ul.products li.product.span_1_of_2,
	.single-product .related.products ul.products.grid li.product {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.single-product .related.products .wc-product-card {
		grid-template-columns: 110px minmax(0, 1fr) !important;
		grid-template-areas:
			"image info"
			"buy buy";
		width: 100%;
		min-height: 0;
	}

	.single-product .related.products .wc-product-image {
		grid-area: image;
		padding: 15px 10px;
	}

	.single-product .related.products .wc-product-image img {
		height: 130px !important;
	}

	.single-product .related.products .wc-product-info {
		grid-area: info;
		padding: 15px 12px;
		min-width: 0;
	}

	.single-product .related.products .wc-product-info::after {
		display: none;
	}

	.single-product .related.products .wc-product-buy {
		grid-area: buy;
		width: 100%;
		padding: 15px;
		box-sizing: border-box;
		border-top: 1px solid #e7e2dc;
	}

	.single-product .related.products .wc-product-price {
		margin-bottom: 10px;
	}

	.single-product .related.products .wc-product-cart form.cart {
		justify-content: flex-start;
		gap: 8px;
	}

	.single-product .related.products .wc-product-cart form.cart .button {
		padding: 10px 12px;
		white-space: nowrap;
	}

	/* Titel darf nicht Buchstabe für Buchstabe umbrechen */
	.single-product .related.products
	.woocommerce-loop-product__title {
		font-size: 20px;
		overflow-wrap: normal;
		word-break: normal;
		hyphens: auto;
	}

	/* Auszeichnung etwas kleiner */
	.single-product .related.products .wc-product-award {
		top: 20px;
		right: 8px;
		width: 50px;
		height: 50px;
		transform: none;
	}

	.single-product .related.products .wc-product-award img {
		max-width: 50px !important;
		max-height: 50px !important;
	}
}


/* -------------------------------------------------------------
 * BIS 640px
 * 1 Produkt pro Zeile
 *
 * Bild | Info
 * Buy  | Buy
 * ---------------------------------------------------------- */

@media (max-width: 640px) {

	.single-product .related.products ul.products {
		grid-template-columns: 1fr !important;
		gap: 12px;
	}

	.single-product .related.products ul.products li.product,
	.single-product .related.products ul.products li.product.span_1_of_2,
	.single-product .related.products ul.products.grid li.product {
		float: none !important;
		width: 100% !important;
		max-width: none !important;
		margin: 0 !important;
	}

	.single-product .related.products .wc-product-card {
		grid-template-columns: 120px minmax(0, 1fr) !important;
		grid-template-areas:
			"image info"
			"buy buy";
		width: 100%;
	}

	.single-product .related.products .wc-product-image {
		grid-area: image;
		padding: 15px 10px;
	}

	.single-product .related.products .wc-product-image img {
		height: 135px !important;
	}

	.single-product .related.products .wc-product-info {
		grid-area: info;
		padding: 15px;
		min-width: 0;
	}

	.single-product .related.products .wc-product-info::after {
		display: none;
	}

	.single-product .related.products .wc-product-buy {
		grid-area: buy;
		width: 100%;
		padding: 15px;
		box-sizing: border-box;
		border-top: 1px solid #e7e2dc;
	}

	.single-product .related.products
	.woocommerce-loop-product__title {
		font-size: 21px;
		line-height: 1.1;
	}
}


/****************************************************************
 * FLY CART
 * *************************************************************/

/* Flycart 6er-Karton Info */
.insyde-flycart-carton-info {
	margin: 15px;
	padding: 14px;
	background-color: #faf9f7;
	border: 1px solid rgba(214, 54, 56, 0.25);
	border-radius: 4px;
}

.insyde-flycart-carton-title {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 12px;
	color: var(--farbe-grau);
	font-size: 12px;
	line-height: 1.2;
}

.insyde-flycart-carton-title strong {
	font-weight: 600;
}


/* Kleine Flasche neben Überschrift */
.insyde-flycart-title-icon {
	display: block;
	flex: 0 0 16px;
	width: 16px;
	height: 28px;
	background-image: url("/wp-content/uploads/2026/10/weinflasche_icon.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}


/* Gefüllter Slot */
.insyde-flycart-bottle.is-filled {
	background-color: rgba(214, 54, 56, 0.06);
	border: 1px solid var(--farbe-rot);

	background-image: url("/wp-content/uploads/2026/10/weinflasche_icon.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 30px;
}


/* Leerer Slot */
.insyde-flycart-bottle.is-empty {
	background-color: transparent;
	background-image: none;
	border: 1px dashed #ccc5bd;
}


/* Text */
.insyde-flycart-carton-info p {
	margin: 0;
	font-size: 12px;
	line-height: 1.4;
	color: var(--farbe-grau);
}

.insyde-flycart-carton-info p strong {
	color: var(--farbe-rot);
}


/* Mehrere 6er-Kartons */
.insyde-flycart-cartons {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-bottom: 10px;
}

.insyde-flycart-bottles {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	gap: 5px;
	width: 100%;
	margin: 0;
}

.insyde-flycart-bottle {
	display: block;
	height: 32px;
	box-sizing: border-box;
	border-radius: 4px;
}

/* Gefüllter Slot */
.insyde-flycart-bottle.is-filled {
	background-color: rgba(214, 54, 56, 0.06);
	border: 1px solid var(--farbe-rot);
	background-image: url("/wp-content/uploads/2026/10/weinflasche_icon.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 24px;
}

/* Leerer Slot */
.insyde-flycart-bottle.is-empty {
	background-color: transparent;
	background-image: none;
	border: 1px dashed #ccc5bd;
}

/* voller Karton */
.insyde-flycart-carton-full {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(214, 54, 56, 0.08);
	border: 1px solid var(--farbe-rot);
	color: var(--farbe-rot);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.1;
	text-align: center;
	white-space: nowrap;
}

/***************************************/
/* Flycart Warenkorbanzahl in Menü Icon */

.fly-cart-btn > a {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
}

.fly-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	background-color: var(--farbe-rot);
	color: #fff;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	box-sizing: border-box;

	transform: translate(-5px, -8px);
}

/*********************************/
/* Free Shipping Bar im Fly Cart */

.wpcfb-wrap {
	margin: 15px;
	padding: 14px;
	background-color: #faf9f7;
	border: 1px solid rgba(214, 54, 56, 0.25);
	border-radius: 4px;
	font-size: 12px;
}

div.woofc-free-shipping-bar.woofc-data {
	padding: 0 !important;
}

div.wpcfb-title span.woocommerce-Price-amount.amount bdi,
div.wpcfb-message span.woocommerce-Price-amount.amount bdi {
	font-weight: 600;
	color: var(--farbe-rot);
}

div.wpcfb-wrap.wpc-free-shipping-bar.wpcfb-qualified-message {
	font-weight: 600;
}


/**********************************/
/* Darstellung Free Shipping Bar */

.woofc-area.woofc-style-02 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-thumb img {
	width: 40% !important;
}


/**********************************/
/* Mobile Darstellung unter 500px */


@media (max-width: 500px) {
	.woofc-area.woofc-style-02 .woofc-area-mid {
		margin: 0 0 5px 0 !important;
  padding: 5px 0 0 0 !important;
	}
	 .woofc-area.woofc-style-02 .woofc-area-mid .woofc-item.woofc-item-has-remove .woofc-item-inner {
    padding: 5px 30px 5px 0;
  }
	.woofc-area.woofc-style-02 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-thumb img {
  width: 25% !important;
}
	.woofc-area.woofc-style-02 .woofc-area-mid .woofc-item .woofc-item-inner .woofc-item-thumb {
		margin-right: 2px;
	}
	.insyde-flycart-carton-info {
  margin: 5px;
  padding: 5px;
	}
	div.insyde-flycart-carton-info p {
		font-size: 10px !important;
		line-height: 1.2 !important;
	}
	.insyde-flycart-carton-title {
		margin-bottom: 5px !important;
	}
	.wpcfb-wrap {
  padding-top: 5px;
  padding-bottom: 5px;
}
	.wpcfb-wrap {
  margin: 5px;
  padding: 5px !important;
		font-size: 10px !important;
	}
	.wpcfb-progress-bar {
		margin: 3px 0 !important;
	}
}


/****************************************************************
 * WOOF PRODUCT FILTER SHOP ARCHIVE
 ***************************************************************/

/* Kategorieüberschrift ausblenden */
div.woof_container_inner.woof_container_inner_produktkategorien h4 {
	display: none;
}


/*
 * Kategorie + Füllmenge in EINE Zeile
 */
.woof .woof_redraw_zone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}


/* Produktkategorie */
.woof .woof_container_product_cat {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* Füllmenge */
.woof .insyde-fuellmenge-container {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* Kategorien */
div.woof_block_html_items {
	text-align: center;
}


.woof_list_label {
	margin: 0 !important;
}


.woof_list_label .woof_label_term {
	padding: 10px 15px !important;

	background-color: #fff !important;
	border: 1px solid var(--farbe-rot) !important;
	border-radius: 0 !important;

	color: var(--farbe-rot);

	font-size: 18px;
	line-height: 1;
}


.woof_list_label .woof_label_term:hover {
	background-color: var(--farbe-rot) !important;
	color: #fff !important;
}


/*
 * Aktive Kategorie
 */
.woof_list_label .woof_label_term.checked,
.woof_list_label .woof_label_term.woof_label_term_checked {
	background-color: var(--farbe-rot) !important;
	color: #fff !important;
}


/****************************************************
 * FÜLLMENGE */

.insyde-fuellmenge-labels {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: nowrap;

	margin: 0;
}


.insyde-fuellmenge-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 50px;
	padding: 10px 15px;

	margin: 0;

	background-color: #fff;

	border: 1px solid var(--farbe-rot);
	border-radius: 0;

	color: var(--farbe-rot);

	font-family: inherit;
	font-size: 18px;
	font-weight: 400;
	line-height: 1;

	cursor: pointer;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}


.insyde-fuellmenge-label:hover,
.insyde-fuellmenge-label.is-active {
	background-color: var(--farbe-rot);
	color: #fff;
}


/****************************************************
 * RESET */

button.button.woof_reset_search_form {
	padding: 10px 15px !important;
	background-color: #fff !important;
	border: 1px solid var(--farbe-rot) !important;
	color: var(--farbe-rot);
	height: 50px;
}

button.button.woof_reset_search_form:hover {
	background-color: var(--farbe-rot) !important;
	color: #fff !important;
}

.woof_submit_search_form_container {
	margin: 0px !important;
}


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

@media (max-width: 640px) {

	.woof .woof_redraw_zone {
		gap: 8px;
	}

	.woof_list_label .woof_label_term,
	.insyde-fuellmenge-label {
		min-height: 42px;
		padding: 9px 12px !important;
		font-size: 12px;
	}

	.insyde-fuellmenge-labels {
		gap: 8px;
		flex-wrap: wrap;
	}
}

/****************************************************
 * FILTERGRUPPEN BESCHRIFTEN */

/* Kategorien + Füllmenge weiterhin in einer Zeile */
.woof .woof_redraw_zone {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}


/* Produktkategorie als eigene Gruppe */
.woof .woof_container_product_cat {
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* "Weinsorte" einblenden */
.woof .woof_container_product_cat::before {
	content: attr(data-filter-title);
	display: inline-flex;
	align-items: center;
	margin-right: 4px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	color: var(--farbe-rot);
}


/* Füllmenge als eigene Gruppe */
.woof .insyde-fuellmenge-container {
	position: relative;
	display: flex;
	align-items: center;
	gap: 10px;
	width: auto !important;
	margin: 0 0 0 15px !important;
	padding: 0 0 0 25px !important;
}

@media (max-width: 760px) {
	.woof .woof_container_product_cat::before,
	.woof .insyde-fuellmenge-container::after {
		font-size: 14px !important;
	}
}


/* Trennlinie */
.woof .insyde-fuellmenge-container::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 1px;
	height: 34px;
	background-color: var(--farbe-rot);
	transform: translateY(-50%);
}


/* "Füllmenge" */
.woof .insyde-fuellmenge-container::after {
	content: attr(data-filter-title);
	display: inline-flex;
	align-items: center;
	order: -1;
	margin-right: 4px;
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
	text-transform: uppercase;
	color: var(--farbe-rot);
}


/* vorhandene HUSKY Überschriften weiterhin verstecken */
.woof .woof_container_product_cat h4,
.woof .insyde-fuellmenge-container h4 {
	display: none !important;
}


/* Füllmengen-Buttons ohne zusätzlichen Abstand */
.insyde-fuellmenge-labels {
	margin: 0;
}


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

@media (max-width: 760px) {

	.woof .woof_redraw_zone {
		flex-direction: column;
		align-items: center;
		gap: 18px;
	}

	.woof .woof_container_product_cat,
	.woof .insyde-fuellmenge-container {
		justify-content: center;
		flex-wrap: wrap;
	}

	.woof .insyde-fuellmenge-container {
		margin: 0 !important;
		padding: 0 !important;
	}

	/* auf Mobile keine senkrechte Trennlinie */
	.woof .insyde-fuellmenge-container::before {
		display: none;
	}
}

/****************************************************************
 * WOOCOMMERCE MESSAGES
 * *************************************************************/

.woocommerce-message {
	font-size: 18px !important;
	font-weight: 600 !important;
	color: var(--farbe-grau) !important;
  border: 1px solid var(--farbe-rot) !important;
}

.woocommerce-message::before {
	color: var(--farbe-rot) !important;
}

.woocommerce-message a {
	padding: 10px 20px !important;
  font-size: 18px !important;
	text-transform: none !important;
}


/****************************************************************
 * WOOCOMMERCE WARENKORB
 * *************************************************************/

/* body.woocommerce-cart #main,
body.woocommerce-checkout #main,
body.woocommerce-account #main {
	padding-top: 50px;
} */


.woocommerce table.shop_table thead th {
	color: var(--farbe-grau) !important;
  font-size: 20px;
}

.woocommerce table.shop_table td {
	padding: .3em !important;
	font-size: 18px;
}

.woocommerce-cart table.cart img {
	max-width: 35px !important;
}


table.shop_table.shop_table_responsive.cart.woocommerce-cart-form__contents th {
	text-transform: none !important;
}

button.button {
  border: 1px solid var(--farbe-rot) !important;
  background-color: #fff !important;
  color: var(--farbe-rot) !important;
}

ul.woocommerce-error {
	background-color: #fff !important;
  color: var(--farbe-rot) !important;
	font-size: 18px !important;
	border: 1px solid var(--farbe-rot) !important;
}

ul.woocommerce-error li::before {
	color: var(--farbe-rot) !important;
}

div.cart_totals h2 {
	font-family: 'Roboto';
color: var(--farbe-grau) !important;
  font-size: 20px !important;
	font-weight: 600 !important;
}

.woocommerce-cart .cart_totals .order-total td strong,
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount,
.woocommerce-cart .cart_totals .order-total td .woocommerce-Price-amount bdi {
	font-size: 22px !important;
	font-weight: 700 !important;
}

div.wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward {
	background-color: #fff !important;
  color: var(--farbe-rot) !important;
	font-size: 22px !important;
	border: 1px solid var(--farbe-rot) !important;
}

div.wc-proceed-to-checkout a.checkout-button.button.alt.wc-forward:hover {
	color: #fff !important;
  background-color: var(--farbe-rot) !important;
	font-size: 22px !important;
	border: 1px solid var(--farbe-rot) !important;
}

@media (max-width: 500px) {
	div.coupon button.button {
		padding: 3px 3px !important;
	}
}

/****************************************************************
 * 6ER KARTON INFO – WARENKORB
 * *************************************************************/

.insyde-cart-carton-info {
	margin: 0 0 20px;
	padding: 18px 20px;
	background-color: #faf9f7;
	border: 1px solid rgba(214, 54, 56, 0.25);
	border-radius: 0;
}

.insyde-cart-carton-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 14px;
	color: var(--farbe-grau);
	font-size: 16px;
	line-height: 1.3;
}

.insyde-cart-carton-title strong {
	font-weight: 600;
}


/* Icon bei Überschrift */
.insyde-cart-carton-title-icon {
	display: block;
	flex: 0 0 16px;
	width: 16px;
	height: 30px;
	background-image: url("/wp-content/uploads/2026/10/weinflasche_icon.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}


/* Mehrere 6er-Kartons nebeneinander */
.insyde-cart-cartons {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 12px;
}


/* Je Karton sechs Slots */
.insyde-cart-bottles {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 48px;
	gap: 6px;
	margin: 0;
}


/* Einzelner Slot */
.insyde-cart-bottle {
	display: block;
	width: 48px;
	height: 48px;
	box-sizing: border-box;
	border-radius: 4px;
}


/* Gefüllter Slot */
.insyde-cart-bottle.is-filled {
	background-color: rgba(214, 54, 56, 0.06);
	border: 1px solid var(--farbe-rot);
	background-image: url("/wp-content/uploads/2026/10/weinflasche_icon.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 36px;
}


/* Leerer Slot */
.insyde-cart-bottle.is-empty {
	background-color: transparent;
	border: 1px dashed #ccc5bd;
}

/* Slot voll */
.insyde-cart-carton-full {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 5px;
	background-color: rgba(214, 54, 56, 0.08);
	border: 1px solid var(--farbe-rot);
	color: var(--farbe-rot);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.1;
	text-align: center;
	white-space: nowrap;
}


/* Text unterhalb */
.insyde-cart-carton-info p {
	margin: 0;
	font-size: 14px;
	line-height: 1.4;
	color: var(--farbe-grau);
}

.insyde-cart-carton-info p strong {
	color: var(--farbe-rot);
}

/* Mindestbestellmenge Info Warenkorb */

.woocommerce-error .minimum-amount .amount {
    color: var(--farbe-rot) !important;
    font-weight: 700;
}



/****************************************************************
 * WOOCOMMERCE KASSA
 * *************************************************************/


/* div.woocommerce-form-coupon-toggle div.woocommerce-info,
div.woocommerce-form-coupon-toggle div.woocommerce-info a.showcoupon {
	font-size: 16px;
} */

div.woocommerce-billing-fields h3,
h3#order_review_heading,
h3#ship-to-different-address {
	font-size: 22px !important;
}

div.woocommerce-privacy-policy-text p {
	font-size: 14px;
}

button#place_order.button.alt {
	background-color: #fff !important;
  color: var(--farbe-rot) !important;
	font-size: 22px !important;
	border: 1px solid var(--farbe-rot) !important;
}

button#place_order.button.alt:hover {
	color: #fff !important;
  background-color: var(--farbe-rot) !important;
	font-size: 22px !important;
	border: 1px solid var(--farbe-rot) !important;
}

table.shop_table.woocommerce-checkout-review-order-table th {
	font-size: 22px !important;
	text-transform: none !important;
}

.woocommerce #order_review table.shop_table ul#shipping_method.woocommerce-shipping-methods li label {
	float: right;
}

tfoot th {
	background-color: #fff !important;
}

.woocommerce #order_review table.shop_table tfoot th {
	font-weight:400 !important;
}

.woocommerce table.shop_table tfoot tr.order-total td span.woocommerce-Price-amount.amount {
	font-size: 22px !important;
}

/****************************************************
 * CHECKOUT LOGIN + GUTSCHEIN ALS 2 BUTTONS
 ****************************************************/

body.woocommerce-checkout .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	column-gap: 12px;
}


/* Hinweise immer volle Breite */
body.woocommerce-checkout .woocommerce > .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
	order: 0;
}


/* Login links */
body.woocommerce-checkout .woocommerce > .woocommerce-form-login-toggle {
	grid-column: 1 / 2;
	order: 10;
	width: 100%;
	min-width: 0;
	margin: 0;
}


/* Gutschein rechts */
body.woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle {
	grid-column: 2 / 3;
	order: 10;
	width: 100%;
	min-width: 0;
	margin: 0;
}


/* Aufgeklappte Formulare wieder volle Breite */
body.woocommerce-checkout .woocommerce > form.woocommerce-form-login,
body.woocommerce-checkout .woocommerce > form.checkout_coupon {
	grid-column: 1 / -1;
	order: 20;
	width: 100%;
	margin-top: 12px;
}


/* Eigentliche Kassa wieder volle Breite */
body.woocommerce-checkout .woocommerce > form.checkout {
	grid-column: 1 / -1;
	order: 30;
	width: 100%;
}


/* Standard WooCommerce Info-Box entfernen */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	min-height: 0;
}

body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before {
	display: none;
}


/* Buttons */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 54px;
	padding: 10px 8px;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--farbe-rot);
	color: var(--farbe-rot);
	text-align: center;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	border-top: 10px solid;
}


/* Hover */
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a:hover,
body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a:focus,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a:hover,
body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a:focus {
	background: var(--farbe-rot) !important;
	color: #fff !important;
	text-decoration: none;
	border: 1px solid var(--farbe-rot) !important;
	border-top: 10px solid var(--farbe-rot) !important;
}


/* Mobile weiterhin 50 / 50 */
@media (max-width: 600px) {

	body.woocommerce-checkout .woocommerce {
		column-gap: 8px;
	}

	body.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info a,
	body.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info a {
		min-height: 52px;
		padding: 8px 6px;
		font-size: 13px;
	}
}

body.logged-in.woocommerce-checkout .woocommerce > .woocommerce-form-coupon-toggle {
	grid-column: 1 / 2;
}

/* Versandkostenpauschale mobile ausblenden */
@media (max-width: 767px) {

	body.woocommerce-checkout #order_review	.woocommerce-shipping-methods li label {
		font-size: 0 !important;
	}

	body.woocommerce-checkout #order_review	.woocommerce-shipping-methods li label .amount {
		font-size: 14px;
	}
	
	.woocommerce .woocommerce-checkout h3#ship-to-different-address label {
		text-transform: none !important;
	}
}


/****************************************************
 * WARENKORB MOBILE – PRODUKTZEILE */

@media (max-width: 767px) {

	/* Produkt als kompakte Karte */
	.woocommerce-cart .woocommerce-cart-form .cart_item {
		position: relative;
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		column-gap: 15px;
		row-gap: 12px;
		align-items: center;
		padding: 18px 15px;
		border: 1px solid #eee;
	}

	/* WooCommerce Mobile-Labels entfernen */
	.woocommerce-cart .shop_table_responsive .cart_item td::before {
		display: none;
		content: none;
	}

	/* Produktbild komplett ausblenden */
	.woocommerce-cart .cart_item .product-thumbnail {
		display: none !important;
	}

	/* Produktname oben links */
	body.woocommerce-cart
	.woocommerce-cart-form
	.cart_item
	.product-name {
		grid-column: 1 / 3;
		grid-row: 1;
		width: auto;
		padding: 0;
		text-align: left;
		align-self: center;
	}

	.woocommerce-cart .cart_item .product-name a {
		display: block;
		font-weight: 600;
	}

	/* Entfernen-X sauber oben rechts */
	body.woocommerce-cart .woocommerce-cart-form .cart_item	.product-remove {
		position: static;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
		align-self: center;
		width: auto;
		padding: 0;
		margin: 0;
	}

	body.woocommerce-cart .woocommerce-cart-form .cart_item	.product-remove a {
		margin: 0;
	}

	/* Preis links */
	.woocommerce-cart .cart_item .product-price {
		grid-column: 1;
		grid-row: 2;
		width: auto;
		padding: 0;
		text-align: left;
		white-space: nowrap;
	}

	/* Menge mittig */
	.woocommerce-cart .cart_item .product-quantity {
		grid-column: 2;
		grid-row: 2;
		width: auto;
		padding: 0;
		text-align: center;
	}

	/* Zwischensumme rechts */
	.woocommerce-cart .cart_item .product-subtotal {
		grid-column: 3;
		grid-row: 2;
		width: auto;
		padding: 0;
		text-align: right;
		white-space: nowrap;
		font-weight: 600;
	}

	/* Mengensteuerung kompakt halten */
	.woocommerce-cart .cart_item .product-quantity .quantity {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
	}

	.woocommerce-cart .cart_item .product-quantity .quantity input.qty {
		width: 38px;
		min-width: 38px;
		text-align: center;
	}
	
	/* Produkttitel kleiner */
	.woocommerce-cart .cart_item .product-name,
	.woocommerce-cart .cart_item .product-name a {
		font-size: 16px;
	}

	/* Einzelpreis kleiner */
	.woocommerce-cart .cart_item .product-price {
		font-size: 15px;
		text-align: left !important;
	}

	/* Gesamtpreis größer */
	.woocommerce-cart .cart_item .product-subtotal {
		font-size: 18px;
		font-weight: 700;
	}
	
	.woocommerce-cart table.cart td.actions .coupon {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		width: 100%;
		float: none;
	}

	.woocommerce-cart table.cart td.actions .coupon input.input-text,
	.woocommerce-cart table.cart td.actions .coupon button.button {
		width: 100%;
		margin: 0;
		box-sizing: border-box;
		min-height: 43px;
	}
	
	
	/* Abstand zwischen den Formularfeldern */
	body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row,
	body.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper .form-row,
	body.woocommerce-checkout .woocommerce-additional-fields__field-wrapper	.form-row {
		margin-bottom: 5px;
	}

	/* Abstand Label zum Feld etwas kompakter */
	body.woocommerce-checkout .form-row label {
		margin-bottom: 4px;
	}

	/* Keine zusätzlichen Abstände durch Inputs/Selects */
	body.woocommerce-checkout .form-row input.input-text,
	body.woocommerce-checkout .form-row select,
	body.woocommerce-checkout .form-row .select2-container {
		margin-bottom: 0;
	}

	
	/****************************************************
	 * WARENKORB-SUMME MOBILE */

	tr.woocommerce-shipping-totals.shipping td:before {
		display: none !important;
	}
	ul#shipping_method.woocommerce-shipping-methods {
		padding-top: 0px !important;
		padding-bottom: 0px !important;
	}
	ul#shipping_method li label {
		padding-left: 0px !important;
	}
	ul#shipping_method li {
		padding-bottom: 0px !important;
	}

	/****************************************************
	 * WARENKORB-SUMME 6er Hinweis */
	
	.insyde-cart-carton-title,
	.insyde-cart-carton-info p {
		font-size: 13px !important;
	}
	.insyde-cart-carton-info {
		padding: 5px 10px;
	}
	
}

@media only screen and (max-width: 580px) {
	.woocommerce-cart table.cart td.actions button[name="update_cart"] {
		margin-top: 0px !important;
	}
}

@media only screen and (max-width: 430px) {
	.insyde-cart-bottle {
		width: 40px;
  height: 40px;
	}
	.insyde-cart-bottles {
		gap: 1px;
		grid-auto-columns: 45px;
	}
	.insyde-cart-carton-full {
		font-size: 8px;
	}
}


/****************************************************
 * CHECKOUT WARENKORB-HINWEIS
 ****************************************************/

/* Hinweistext über die gesamte Breite */
body.woocommerce-checkout .woocommerce > p:first-of-type {
	grid-column: 1 / -1;
	width: 100%;
	margin: 0 0 20px;
}

/* Button-Zeile über die gesamte Breite + zentriert */
body.woocommerce-checkout .woocommerce > p:last-of-type {
	grid-column: 1 / -1;
	width: 100%;
	margin: 0;
	text-align: center;
}

/* Button selbst */
body.woocommerce-checkout .woocommerce > p:last-of-type .button {
	display: inline-block;
	float: none;
	background-color: #fff;
  color: var(--farbe-rot);
  border: 1px solid var(--farbe-rot);
  font-size: 15px;
  font-weight: 600;
}

@media only screen and (max-width: 767px) {
	div.woocommerce-additional-fields h3 {
		font-size: 20px !important;
		margin-bottom: 0px !important;
	}
	.woocommerce .woocommerce-checkout #customer_details h3,
	.woocommerce .woocommerce-checkout h3#order_review_heading {
		margin: 0 !important;
	}
	tr.cart_item td {
		font-size: 13px !important;
	}
		.woocommerce #order_review table.shop_table thead th {
		padding: 5px !important;
	}
	table.shop_table.woocommerce-checkout-review-order-table th {
		font-size: 15px !important;
	}
	.woocommerce #order_review table.shop_table th {
		padding: 8px 5px !important;
	}
}


/****************************************************************
 * WOOCOMMERCE MEIN KONTO
 * *************************************************************/

.woocommerce-MyAccount-content h2 {
  font-size: 1.2em !important;
}

.woocommerce-MyAccount-content .addresses .woocommerce-Address .title a {
	font-size: 16px;
	bottom: 2px !important;
	top: auto !important;
}

.woocommerce .owp-account-links li.or {
	border: none !important;
	text-transform: none !important;
}


/****************************************************************
 * WOOCOMMERCE DANKE SEITE
 * *************************************************************/

body.woocommerce-order-received .woocommerce {
	display: block;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received {
	text-align: center;
  font-weight: 500;
  font-size: 35px;
}

p.woocommerce-notice.woocommerce-notice--success.woocommerce-thankyou-order-received::after {
	content: "";
	display: block;
	width: 10%;
	height: 1px;
	margin: 15px auto 0;
	background-color: var(--farbe-rot);
}

div.woocommerce-order p {
	font-size: 18px;
}

@media (max-width: 1200px) {
ul.order_details li {
	font-size: 0.7em !important;
	text-transform: none !important;
	padding: 0em 0em !important;
}

ul.order_details li strong {
	font-size: 1.2em !important;
}
}

h2.wc-bacs-bank-details-heading,
h2.woocommerce-order-details__title,
h2.woocommerce-column__title {
	font-size: 50px;
}

h3.wc-bacs-bank-details-account-name {
	font-size: 38px;
}

.woocommerce ul.order_details {
	padding: 3px !important;
}

@media (max-width: 767px) {

	table.woocommerce-table.woocommerce-table--order-details.shop_table.order_details td:not(.woocommerce-table__product-name) {
		text-align: right;
	}
	.woocommerce table.shop_table thead th {
		font-size: 16px;
		padding: .6em;
	}
	address {
		font-size: 18px !important;
	}
}

/****************************************************************
 * MOBILE FONTS
 * *************************************************************/

@media (max-width: 1100px) {
	h1 {
		font-size: 55px !important;
	}
	.wassererhof-textoverlay a {
		font-size: 55px;
	}
	span.footer-h1 {
		font-size: 55px !important;
	}
	span.footer-h2 {
		font-size: 35px !important;
	}
	h2 {
		font-size: 45px !important;
	}
}

@media (max-width: 700px) {
	h1 {
		font-size: 30px !important;
	}
	.wassererhof-textoverlay a {
		font-size: 25px;
	}
	p {
		font-size: 15px !important;
	}
	.insyde-simple-btn {
		font-size: 16px !important;
	}
	div.footer-links p, div.footer-links a,
	div.footer-miniinfo a, div.footer-miniinfo p,
	div.footer-navi a {
		font-size: 12px !important;
	}
	div.footer-icon {
		font-size: 10px !important;
  margin-bottom: 5px !important;
	}
	h2 {
		font-size: 28px !important;
	}
}



/****************************************************************
 * MOBILE MENÜ 
 * *************************************************************/

.oceanwp-mobile-menu-icon > button {
	font-size: 30px !important;
}

ul#oceanwp-sub-menu-431.sub-menu li a,
ul#oceanwp-sub-menu-762.sub-menu li a,
ul#oceanwp-sub-menu-752.sub-menu li a {
  font-size: 16px !important;
  text-transform: none;
  font-family: 'Roboto';
  font-weight: 400;
}

#mobile-dropdown ul li a {
	text-align: center !important;
}

/* Mobile Menü: "Das Weingut" + Pfeil gemeinsam zentrieren */
#mobile-dropdown .oceanwp-sub-menu-toggle-mobile-dropdown {
	justify-content: center !important;
	gap: 8px;
	text-align: center;
}

/* Warenkorb inkl. Anzahl zentrieren */
#mobile-dropdown .fly-cart-btn {
	text-align: center;
}

#mobile-dropdown .fly-cart-btn > a,
#mobile-dropdown .fly-cart-btn > a.fly-cart-open {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

@media only screen and (max-width: 767px) {
  #top-bar {
    padding-top: 8px !important;
	  padding-bottom: 8px !important;
  }
}


/****************************************************
 * MOBILE HEADER – WARENKORB VOR BURGER
 ****************************************************/

@media (max-width: 1100px) {

	.oceanwp-mobile-menu-icon {
		display: flex;
		align-items: center;
		gap: 18px;
	}

	.wassererhof-mobile-cart {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: #6b655f;
		font-size: 14px;
		line-height: 1;
		cursor: pointer;
	}

	.wassererhof-mobile-cart:hover,
	.wassererhof-mobile-cart:focus {
		background: transparent;
		color: var(--farbe-rot);
	}

	.wassererhof-mobile-cart i {
		margin: 0;
	}
	span.woofc-cart-link-inner-subtotal {
		font-size: 14px;
	}
}

.woofc-cart-link .woofc-cart-link-inner::after {
	background-color: var(--farbe-rot) !important;
}

/****************************************************************
 * TABLET + MOBILE BIS 1100px
 * OceanWP Mobile-Logo
 ***************************************************************/

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

	/*
	 * Desktop-Scrollzustand darf mobil
	 * keine 58px-Höhen erzwingen
	 */
	body.wassererhof-scrolled #site-header,
	body.wassererhof-scrolled #site-header-inner {
		height: auto !important;
		min-height: 0 !important;
	}


	/************************************************************
	 * LOGO-CONTAINER */

	#site-header #site-logo {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;

		float: left !important;

		/*
		 * NICHT auto:
		 * OceanWP liefert beim Responsive-Logo
		 * width="0" / height="0".
		 */
		width: 240px !important;
		max-width: 50% !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	#site-header #site-logo #site-logo-inner {
		display: flex !important;
		align-items: center !important;

		width: 100% !important;
		height: 100% !important;

		visibility: visible !important;
		opacity: 1 !important;
	}


	/************************************************************
	 * DESKTOP- / STICKY-LOGOS MOBIL AUS */

	#site-header #site-logo .custom-logo-link,
	#site-header #site-logo .sticky-logo-link,
	body.is-sticky #site-header #site-logo .sticky-logo-link,
	body.wassererhof-scrolled #site-header #site-logo .sticky-logo-link {
		display: none !important;
	}


	/************************************************************
	 * RESPONSIVE LOGO */

	#site-header
	#site-logo
	.responsive-logo-link {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;

		width: 240px !important;
		height: auto !important;

		margin: 0 !important;
		padding: 0 !important;
	}


	/*
	 * Logo-Bild
	 *
	 * Wichtig:
	 * explizite Breite statt width:auto,
	 * da OceanWP im HTML width="0" height="0" ausgibt.
	 */
	#site-header
	#site-logo
	.responsive-logo-link img,
	#site-header
	#site-logo
	img.responsive-logo {
		display: block !important;

		width: 240px !important;
		height: auto !important;

		max-width: 100% !important;
		max-height: none !important;

		margin: 0 !important;
		padding: 0 !important;

		visibility: visible !important;
		opacity: 1 !important;
	}


	/************************************************************
	 * AUCH NACH SCROLL WEITERHIN MOBILE-LOGO */

	body.wassererhof-scrolled
	#site-header
	#site-logo
	.responsive-logo-link,

	body.is-sticky
	#site-header
	#site-logo
	.responsive-logo-link {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}


	/************************************************************
	 * DESKTOP-MITTELLOGO / W-ICON MOBIL NICHT VERWENDEN */

	.middle-site-logo {
		display: none !important;
	}

	.middle-site-logo a::after {
		display: none !important;
	}


	/************************************************************
	 * HAMBURGER */

	#site-header .oceanwp-mobile-menu-icon {
		display: block !important;
		float: right !important;
	}
}


/****************************************************************
 * KLEINE SMARTPHONES */

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

	#site-header #site-logo {
		width: 190px !important;
		max-width: 55% !important;
	}

	#site-header
	#site-logo
	.responsive-logo-link,

	#site-header
	#site-logo
	.responsive-logo-link img,

	#site-header
	#site-logo
	img.responsive-logo {
		width: 190px !important;
	}
}

/****************************************************
 * MOBILE HEADER – Logo + Hamburger zentrieren */

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

	#site-header #site-header-inner {
		position: relative;
		padding: 0px 0 10px 0 !important;
	}

	#site-header #site-logo {
		position: absolute !important;
		top: calc(50% + 1px) !important;
		left: 0 !important;

		transform: translateY(-50%) !important;
	}
}



/****************************************************************
 * ROTE LEISTE GANZ OBEN MOBILE
 ***************************************************************/

@media only screen and (max-width: 440px) {
.wassererhof-topbar-center {
	display: none;
}
}


/****************************************************************
 * LANDINGPAGE
 ***************************************************************/

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

.lp-headerbuttons {
	position: absolute;
	top: 70%;
	left: 0;
	width: 100%;
}

.lp-textklein {
	font-size: 14px;
}

.lp-newsletter {
	position: absolute;
  top: 50%;
  left: 60%;
  transform: translate(-50%, -50%);
}

/****************************************************************
 * LANDINGPAGE PRODUKTE */


#lp-produkte .wc-product-card a {
	text-decoration: none !important;
}