/* -------------------------------------------------------------------------
   Single product page - matches the Figma "Trüffel Product details" frame
   ---------------------------------------------------------------------- */
.single-product .elementor-widget-woocommerce-product-images .woocommerce-product-gallery__image img {
	border-radius: 12px;
	object-fit: contain;
}
/* Photo backdrop only behind transparent cut-outs (webp/png); classic JPG
   pack shots bring their own white background and keep the white box. */
.single-product .elementor-element-a60c1ee:has(.woocommerce-product-gallery__image img[src$=".webp"]),
.single-product .elementor-element-a60c1ee:has(.woocommerce-product-gallery__image img[src$=".png"]) {
	background: radial-gradient(ellipse at 50% 45%, #EAD6BC 0%, #E6CFB3 60%, #DFC7AA 100%) !important;
	overflow: hidden;
}
.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__image,
.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__image a,
.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__image img {
	background: none !important;
}
/* Plain product photo: no zoom icon, the image is not a link. */
.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__trigger {
	display: none !important;
}
.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__image a {
	pointer-events: none;
	cursor: default;
}
.single-product .elementor-element-a60c1ee .zoomImg {
	display: none !important;
}
.single-product .elementor-element-a60c1ee .flex-control-nav,
.single-product .elementor-element-a60c1ee .flex-control-thumbs {
	display: none !important;
}
/* Main product photo kept moderate (client feedback round 2): the photo
   column takes 44 % instead of 58 % next to the product details, and the
   photo itself is capped in height and never stretched beyond its box. */
@media (min-width: 992px) {
	.single-product .elementor-43179 .elementor-element.elementor-element-a60c1ee {
		--width: 44%;
	}
	.single-product .elementor-43179 .elementor-element.elementor-element-c27b01e {
		--width: 56%;
	}
}
.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__image img {
	display: block;
	width: auto !important;
	max-width: 100%;
	height: auto !important;
	max-height: 440px;
	margin: 0 auto;
}
@media (max-width: 991px) {
	.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__image img {
		max-height: 380px;
	}
}
@media (max-width: 767px) {
	.single-product .elementor-element-a60c1ee .woocommerce-product-gallery__image img {
		max-height: 300px;
	}
}
.single-product .elementor-element-1e5c6b6 .price {
	float: left;
	margin: 0 44px 0 0;
	line-height: 48px;
}
.single-product .elementor-element-1e5c6b6 .legacy-itemprop-offers {
	min-height: 48px;
}
.single-product .elementor-element-1e5c6b6 .legacy-itemprop-offers .wgm-info.woocommerce_de_versandkosten {
	display: block;
}
.single-product .elementor-element-1e5c6b6 .wgm-info.woocommerce-de_price_taxrate,
.single-product .elementor-element-1e5c6b6 .wgm-info.price-per-unit,
.single-product .elementor-element-1e5c6b6 .wgm-info.woocommerce_de_versandkosten {
	display: inline;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	letter-spacing: 0.02em;
	color: #6F6F6F;
}
.single-product .elementor-element-1e5c6b6 .wgm-info.woocommerce_de_versandkosten .versandkosten {
	color: #A3A306;
	text-decoration: underline;
}
.single-product .elementor-element-1e5c6b6 .wgm-info.shipping_de_string,
.single-product form.cart .ts-delivery {
	display: flex;
	clear: both;
	align-items: center;
	gap: 16px;
	margin-top: 32px;
	padding-top: 28px;
	border-top: 1px solid rgba(110, 106, 106, 0.35);
	font-family: "DM Sans", sans-serif;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	color: var(--e-global-color-primary, #323232);
}
.single-product .elementor-element-1e5c6b6 .wgm-info.shipping_de_string *,
.single-product form.cart .ts-delivery * {
	font-size: 22px;
}
.single-product .elementor-element-1e5c6b6 .wgm-info.shipping_de_string::before,
.single-product form.cart .ts-delivery::before {
	content: '';
	flex: 0 0 auto;
	width: 29px;
	height: 30px;
	background-color: var(--e-global-color-secondary, #BBBC00);
	-webkit-mask: url(../../../../uploads/2026/09/box.svg) no-repeat center / contain;
	mask: url(../../../../uploads/2026/09/box.svg) no-repeat center / contain;
}
.single-product .elementor-widget-wc-add-to-cart form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.single-product .elementor-widget-wc-add-to-cart .quantity input.qty {
	height: 56px;
	min-width: 90px;
	border: 1px solid #D4D4BE;
	border-radius: 5px;
	background: #FFF8F6;
	font-family: "DM Sans", sans-serif;
	font-size: 17px;
	text-align: center;
}
.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button,
.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button.alt {
	flex: 1 1 260px;
	min-height: 56px;
	padding: 17px 30px;
	background-color: var(--e-global-color-secondary, #BBBC00) !important;
	color: var(--e-global-color-c9101ef, #2E2F09) !important;
	border-radius: 600px !important;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button:hover,
.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button.alt:hover {
	background-color: #A3A402 !important;
	color: #FFFFFF !important;
}
/* script.js groups the price and the tax lines into .ts-price-row so the tax
   text sits vertically centred next to the price, with the divider below. */
.single-product .elementor-element-1e5c6b6 .ts-price-row {
	display: flex;
	align-items: center;
	gap: 12px 44px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(110, 106, 106, 0.35);
}
.single-product .elementor-element-1e5c6b6 .ts-price-row .price {
	float: none;
	flex: 0 0 auto;
	margin: 0;
	line-height: 1.2;
}
.single-product .elementor-element-1e5c6b6 .ts-price-row .ts-tax {
	flex: 1 1 auto;
	min-width: 0;
}
.single-product .elementor-element-1e5c6b6 .ts-tax .wgm-info.woocommerce_de_versandkosten {
	display: block;
}
.single-product .elementor-element-1e5c6b6 .ts-tax .price-per-unit::before {
	content: ' ';
}
.single-product .elementor-element-1e5c6b6 .ts-price-row ~ .legacy-itemprop-offers {
	min-height: 0;
}
.single-product .elementor-element-1e5c6b6 .ts-price-row ~ .legacy-itemprop-offers .wgm-info.shipping_de_string {
	margin-top: 28px;
	padding-top: 0;
	border-top: 0;
}
/* Variable products: the delivery line is moved above the cart row. */
.single-product form.cart table.variations {
	position: relative;
	margin: 4px 0 0 !important;
}
.single-product form.cart table.variations .reset_variations {
	position: absolute;
	top: 2px;
	right: 0;
	margin: 0;
}
.single-product form.cart .single_variation_wrap .woocommerce-variation:not(:empty) {
	margin-top: 22px;
}
.single-product form.cart .ts-delivery {
	margin: 28px 0 28px;
	padding-top: 0;
	border-top: 0;
}
.single-product form.cart .woocommerce-variation .shipping_de_string {
	display: none !important;
}
.single-product form.cart .woocommerce-variation-add-to-cart {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
	width: 100%;
}
.single-product .elementor-widget-wc-add-to-cart form.variations_form.cart {
	display: block;
}
/* Bag icon from the design instead of the Font Awesome cart */
.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button .elementor-button-icon svg {
	display: none;
}
.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button .elementor-button-icon::before {
	content: '';
	display: block;
	width: 16px;
	height: 17px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='23' viewBox='0 0 22 23' fill='none'%3E%3Cpath d='M0.20315 11.2798C0.304832 8.91534 0.34371 6.54491 0.527135 4.18739C0.706572 1.88355 2.73222 0.0468385 5.04896 0.0259667C9.01753 -0.00782559 12.9861 -0.00981337 16.9547 0.0269606C19.2724 0.0488263 21.2771 1.88852 21.4655 4.20031C21.636 6.29345 21.6679 8.39852 21.7496 10.4996C21.8374 12.7657 21.9051 15.0327 21.9959 17.2988C22.1065 20.0648 19.9901 22.2772 17.2069 22.2792C13.1217 22.2822 9.03647 22.2832 4.95227 22.2792C1.98158 22.2762 -0.100897 20.1086 0.00377502 17.1358C0.0725594 15.1838 0.143338 13.2318 0.213119 11.2798C0.210128 11.2798 0.206141 11.2798 0.20315 11.2798ZM20.2733 11.6784C20.1706 8.99783 20.1147 6.92755 20.0061 4.86026C19.8944 2.72737 18.6792 1.60824 16.5459 1.60725C12.8744 1.60626 9.20295 1.60626 5.53245 1.60725C3.40512 1.60725 2.12413 2.83968 2.04637 4.96959C1.89684 9.05747 1.7503 13.1453 1.60775 17.2332C1.53597 19.2886 2.90169 20.685 4.97619 20.687C9.04644 20.689 13.1157 20.688 17.1859 20.686C17.4172 20.686 17.6535 20.682 17.8798 20.6383C19.408 20.3411 20.5055 18.9666 20.4686 17.3237C20.4208 15.2355 20.3261 13.1513 20.2733 11.6784Z' fill='%23323232'%3E%3C/path%3E%3Cpath d='M10.9646 9.55835C7.951 9.54742 5.4608 7.13624 5.41494 4.18438C5.40498 3.54133 5.66915 3.20639 6.1935 3.19645C6.71985 3.18651 6.98403 3.49462 7.01294 4.14959C7.10764 6.31628 8.83323 7.96713 11.0024 7.96514C13.1696 7.96315 14.8843 6.3123 14.98 4.13667C15.0079 3.49362 15.286 3.17955 15.8114 3.19645C16.3317 3.21334 16.5899 3.54928 16.578 4.1973C16.5211 7.17102 14.011 9.56928 10.9646 9.55835Z' fill='%23323232'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='23' viewBox='0 0 22 23' fill='none'%3E%3Cpath d='M0.20315 11.2798C0.304832 8.91534 0.34371 6.54491 0.527135 4.18739C0.706572 1.88355 2.73222 0.0468385 5.04896 0.0259667C9.01753 -0.00782559 12.9861 -0.00981337 16.9547 0.0269606C19.2724 0.0488263 21.2771 1.88852 21.4655 4.20031C21.636 6.29345 21.6679 8.39852 21.7496 10.4996C21.8374 12.7657 21.9051 15.0327 21.9959 17.2988C22.1065 20.0648 19.9901 22.2772 17.2069 22.2792C13.1217 22.2822 9.03647 22.2832 4.95227 22.2792C1.98158 22.2762 -0.100897 20.1086 0.00377502 17.1358C0.0725594 15.1838 0.143338 13.2318 0.213119 11.2798C0.210128 11.2798 0.206141 11.2798 0.20315 11.2798ZM20.2733 11.6784C20.1706 8.99783 20.1147 6.92755 20.0061 4.86026C19.8944 2.72737 18.6792 1.60824 16.5459 1.60725C12.8744 1.60626 9.20295 1.60626 5.53245 1.60725C3.40512 1.60725 2.12413 2.83968 2.04637 4.96959C1.89684 9.05747 1.7503 13.1453 1.60775 17.2332C1.53597 19.2886 2.90169 20.685 4.97619 20.687C9.04644 20.689 13.1157 20.688 17.1859 20.686C17.4172 20.686 17.6535 20.682 17.8798 20.6383C19.408 20.3411 20.5055 18.9666 20.4686 17.3237C20.4208 15.2355 20.3261 13.1513 20.2733 11.6784Z' fill='%23323232'%3E%3C/path%3E%3Cpath d='M10.9646 9.55835C7.951 9.54742 5.4608 7.13624 5.41494 4.18438C5.40498 3.54133 5.66915 3.20639 6.1935 3.19645C6.71985 3.18651 6.98403 3.49462 7.01294 4.14959C7.10764 6.31628 8.83323 7.96713 11.0024 7.96514C13.1696 7.96315 14.8843 6.3123 14.98 4.13667C15.0079 3.49362 15.286 3.17955 15.8114 3.19645C16.3317 3.21334 16.5899 3.54928 16.578 4.1973C16.5211 7.17102 14.011 9.56928 10.9646 9.55835Z' fill='%23323232'%3E%3C/path%3E%3C/svg%3E") no-repeat center / contain;
}
/* Related product cards print the price outside the German Market block. */
.single-product .product-item .elementor-widget-woocommerce-product-price:not(:has(.legacy-itemprop-offers .price)) > .price:first-child {
	display: block;
	font-family: "Recoleta Alt", serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	color: #A3A402;
	margin-bottom: 3px;
}
/* Variation selects styled like the boxes in the design */
.single-product .variations select {
	min-width: 170px;
	height: 54px;
	padding: 0 16px;
	border: 1px solid #D4D4BE;
	border-radius: 5px;
	background-color: #FFF8F6 !important;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	color: var(--e-global-color-primary, #323232);
}
.single-product .variations select:focus {
	border-color: var(--e-global-color-primary, #323232);
	background-color: #FFFFFF;
}
.single-product .variations th.label label {
	font-family: "Recoleta Alt", serif;
	font-size: 19px;
	font-weight: 500;
	color: var(--e-global-color-primary, #323232);
}

/* -------------------------------------------------------------------------
   Variation swatches, quantity stepper and stock badge (Figma product page)
   ---------------------------------------------------------------------- */
.single-product table.variations,
.single-product table.variations tbody,
.single-product table.variations tr,
.single-product table.variations th,
.single-product table.variations td {
	display: block;
	width: 100%;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
}
.single-product table.variations tr + tr {
	margin-top: 26px;
}
.single-product table.variations th.label {
	margin-bottom: 14px;
	text-align: left;
}
.single-product .variations select.ts-swatches-select {
	display: none !important;
}
.ts-swatches {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}
.single-product .ts-swatches button.ts-swatch {
	min-width: 170px;
	height: 54px;
	margin: 0 !important;
	padding: 0 18px;
	border: 1px solid #D4D4BE;
	border-radius: 5px;
	background-color: #FFF8F6 !important;
	color: var(--e-global-color-primary, #323232) !important;
	font-family: "Nunito Sans", "DM Sans", sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
	text-transform: none;
	cursor: pointer;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}
.single-product .ts-swatches button.ts-swatch:hover {
	border-color: var(--e-global-color-primary, #323232);
}
.single-product .ts-swatches button.ts-swatch.is-selected {
	background-color: #FFFFFF !important;
	border-color: var(--e-global-color-primary, #323232);
}
.single-product .ts-swatches button.ts-swatch.is-disabled {
	opacity: 0.4;
	cursor: not-allowed;
	text-decoration: line-through;
}
.single-product .reset_variations {
	display: inline-block;
	margin-top: 14px;
	font-family: "DM Sans", sans-serif;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #808080;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.single-product .reset_variations:hover {
	color: var(--e-global-color-secondary, #BBBC00);
}
/* Quantity stepper */
.single-product form.cart .quantity.ts-qty {
	display: inline-flex;
	flex: 0 0 170px;
	align-items: center;
	width: 170px;
	height: 56px;
	border: 1px solid #D4D4BE;
	border-radius: 5px;
	background: #FFF8F6;
	overflow: hidden;
}
.single-product form.cart .quantity.ts-qty input.qty {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 100%;
	border: 0;
	border-radius: 0;
	background: transparent;
	font-family: "Nunito Sans", "DM Sans", sans-serif;
	font-size: 17px;
	font-weight: 600;
	text-align: center;
	-moz-appearance: textfield;
}
.single-product form.cart .quantity.ts-qty input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity.ts-qty input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}
.single-product form.cart .quantity.ts-qty button.ts-qty__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 46px;
	width: 46px;
	height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	border-radius: 0;
	background: transparent !important;
	color: var(--e-global-color-primary, #323232) !important;
	font-family: "Nunito Sans", "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
}
.single-product form.cart .quantity.ts-qty button.ts-qty__btn:hover {
	color: var(--e-global-color-843f3eb, #A3A402) !important;
}
/* Stock badge */
.single-product .elementor-widget-woocommerce-product-stock .stock,
.single-product .woocommerce-variation-availability .stock {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: var(--e-global-color-primary, #323232);
}
.single-product .elementor-widget-woocommerce-product-stock .stock::before,
.single-product .woocommerce-variation-availability .stock::before {
	content: '';
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: var(--e-global-color-secondary, #BBBC00) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 9'%3E%3Cpath d='M1 4.6l2.6 2.6L9 1.4' fill='none' stroke='%23fff' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center;
	background-size: 11px;
}
.single-product .elementor-widget-woocommerce-product-stock .stock.out-of-stock::before,
.single-product .woocommerce-variation-availability .stock.out-of-stock::before {
	background-color: #C4544F;
}

/* -------------------------------------------------------------------------
   Product description card, tabs and attribute box (Figma product page)
   ---------------------------------------------------------------------- */
.single-product .ts-desc-tabs .woocommerce-tabs {
	padding: 0;
	margin: 0;
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs {
	display: flex;
	justify-content: center;
	gap: 60px;
	width: fit-content !important;
	max-width: 100%;
	margin: 0 auto 60px !important;
	padding: 0 !important;
	overflow: visible !important;
	border-bottom: 2px solid #DDD9D7 !important;
	list-style: none;
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs::before,
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs::after {
	display: none !important;
	content: none !important;
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li,
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li.active {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li::before,
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li::after {
	display: none;
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li a {
	display: block;
	position: relative;
	padding: 0 0 16px !important;
	font-family: "DM Sans", sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #3F3F3F;
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li a:hover {
	color: var(--e-global-color-primary, #323232);
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li.active a {
	font-weight: 600 !important;
	color: var(--e-global-color-primary, #323232) !important;
}
.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li.active a::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0.2em;
	bottom: -3.5px;
	height: 5px;
	background: var(--e-global-color-secondary, #BBBC00);
}
.single-product .ts-desc-tabs .woocommerce-tabs .panel {
	margin: 0 !important;
	padding: 60px !important;
	border: 1px solid #CAC5C5 !important;
	border-radius: 20px !important;
	background: #FFFEFE !important;
	box-shadow: none;
}
.single-product .ts-desc-tabs .woocommerce-tabs .panel > h2 {
	font-family: "Recoleta Alt", serif;
	font-size: 48px;
	font-weight: 500;
	line-height: 1.25;
	color: var(--e-global-color-primary, #323232);
	margin: 0 0 22px;
}
.single-product .ts-desc-tabs .woocommerce-tabs .panel p {
	margin: 0 0 26px;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: #3F3F3F;
}
/* Figma: the tab header stands on the page background and only the tab
   content is a white card. The Elementor container is therefore made
   invisible and the panel carries the card; the photo is pinned into the
   card's right column. --ts-tabs-h is kept in sync by script.js. */
.single-product .elementor-element-f4fd7f5 {
	position: relative;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
.single-product .ts-desc-tabs.elementor-widget {
	width: 100% !important;
	max-width: 100% !important;
}
.single-product .ts-desc-tabs .woocommerce-tabs .panel,
.single-product .ts-desc-tabs .woocommerce-tabs .woocommerce-Tabs-panel {
	padding-right: calc(min(30%, 340px) + 100px) !important;
}
/* Product photo in the description card: a small picture in the top right
   corner, never wider than 340px, so small source images stay sharp. */
.single-product .ts-desc-image.elementor-widget {
	position: absolute;
	top: calc(var(--ts-tabs-h, 98px) + 60px);
	right: 60px;
	width: min(30%, 340px) !important;
	max-width: min(30%, 340px) !important;
	margin: 0;
}
.single-product .ts-desc-image .elementor-widget-container,
.single-product .ts-desc-image .elementor-widget-container > * {
	height: auto;
}
.single-product .ts-desc-image img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 420px;
	border-radius: 20px;
	object-fit: contain;
}
/* Attribute table as the highlighted box from the design */
.single-product .ts-desc-tabs .woocommerce-product-attributes {
	width: 100%;
	margin: 34px 0 0;
	border: 1px solid var(--e-global-color-secondary, #BBBC00);
	border-radius: 12px;
	background: #FFFFF9;
	border-collapse: separate;
	border-spacing: 0;
	overflow: hidden;
}
.single-product .ts-desc-tabs .woocommerce-product-attributes tr + tr th,
.single-product .ts-desc-tabs .woocommerce-product-attributes tr + tr td {
	border-top: 1px solid #D7D7D6;
}
.single-product .ts-desc-tabs .woocommerce-product-attributes th,
.single-product .ts-desc-tabs .woocommerce-product-attributes td {
	padding: 18px 28px;
	background: none;
	vertical-align: top;
	text-align: left;
}
.single-product .ts-desc-tabs .woocommerce-product-attributes th {
	width: 38%;
	font-family: "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	color: #3F3F3F;
}
.single-product .ts-desc-tabs .woocommerce-product-attributes td,
.single-product .ts-desc-tabs .woocommerce-product-attributes td p {
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	color: #3F3F3F;
	margin: 0;
}
/* A plain table typed into the product description is shown as the boxed
   fact sheet from the design (label column + value column). */
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table {
	width: 100%;
	margin: 36px 0 0;
	border: 1px solid #BBBC00 !important;
	border-radius: 12px;
	border-collapse: separate;
	border-spacing: 0;
	background: #FFFFF9;
	overflow: hidden;
	font-family: "DM Sans", sans-serif;
}
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table th,
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table td {
	padding: 20px 28px !important;
	border: 0 !important;
	border-top: 1px solid #D7D7D6 !important;
	background: none !important;
	text-align: left;
	vertical-align: top;
}
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table tr:first-child th,
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table tr:first-child td {
	border-top: 0 !important;
}
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table th,
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table td:first-child:not(:only-child) {
	width: 47%;
	padding-right: 12px !important;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #3F3F3F;
}
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table td:last-child,
.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table td:last-child p {
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: #3F3F3F;
	margin: 0;
}
/* Product facts box inside the description tab */
.single-product .ts-facts {
	margin: 34px 0 0;
	border: 1px solid var(--e-global-color-secondary, #BBBC00);
	border-radius: 12px;
	background: #FFFFF9;
	overflow: hidden;
}
.single-product .ts-facts__row {
	display: flex;
	gap: 24px;
	padding: 18px 28px;
}
.single-product .ts-facts__row + .ts-facts__row {
	border-top: 1px solid #D7D7D6;
}
.single-product .ts-facts__label {
	flex: 0 0 47%;
	min-width: 0;
	overflow-wrap: anywhere;
	font-family: "DM Sans", sans-serif;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.02em;
	color: #3F3F3F;
}
.single-product .ts-facts__value {
	flex: 1 1 auto;
	font-family: "DM Sans", sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 26px;
	letter-spacing: 0.02em;
	color: #3F3F3F;
}

@media (max-width: 767px) {
	.single-product .ts-swatches {
			display: grid;
			grid-template-columns: repeat(3, minmax(0, 1fr));
			gap: 10px;
			width: 100%;
		}
	.single-product .ts-swatches button.ts-swatch {
			width: 100%;
			min-width: 0;
			height: 50px;
			padding: 0 6px;
			font-size: 15px;
		}
	.single-product form.cart .quantity.ts-qty {
			width: 150px;
		}
}

@media (max-width: 767px) {
	.single-product .ts-facts__row {
			flex-direction: column;
			gap: 6px;
			padding: 14px 18px;
		}
	.single-product .ts-facts__label {
			font-size: 17px;
		}
}

@media (max-width: 1024px) {
	/* Description card: text first, photo below it (the side-by-side layout
		   leaves too little room for the text on tablets and phones). */
	.single-product .ts-desc-tabs .woocommerce-tabs .panel,
		.single-product .ts-desc-tabs .woocommerce-tabs .woocommerce-Tabs-panel {
			padding: 40px !important;
		}
	.single-product .elementor-element-f4fd7f5 {
			flex-direction: column !important;
			flex-wrap: nowrap !important;
		}
	.single-product .ts-desc-image.elementor-widget {
			position: static;
			width: 100% !important;
			max-width: 320px !important;
			margin-top: 24px;
		}
	.single-product .ts-desc-image .elementor-widget-container,
		.single-product .ts-desc-image .elementor-widget-container > * {
			height: auto;
		}
	.single-product .ts-desc-image img {
			height: auto;
			max-height: 360px;
		}
}

@media (max-width: 767px) {
	.single-product .elementor-element-1e5c6b6 .ts-price-row {
			flex-wrap: wrap;
			gap: 10px 22px;
			padding-bottom: 24px;
		}
	.single-product .elementor-element-1e5c6b6 .ts-price-row .ts-tax {
			flex: 1 1 170px;
		}
	.single-product .elementor-element-1e5c6b6 .ts-tax .wgm-info {
			font-size: 14px;
			line-height: 22px;
		}
	.single-product .elementor-element-1e5c6b6 .wgm-info.shipping_de_string,
		.single-product .elementor-element-1e5c6b6 .wgm-info.shipping_de_string *,
		.single-product form.cart .ts-delivery,
		.single-product form.cart .ts-delivery * {
			font-size: 19px;
		}
	/* Cart row: fixed stepper, button takes the rest */
	.single-product form.cart .quantity.ts-qty {
			flex: 0 0 118px;
			width: 118px;
			min-width: 118px;
		}
	.single-product form.cart .quantity.ts-qty button.ts-qty__btn {
			flex: 0 0 36px;
			width: 36px;
		}
	.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button,
		.single-product .elementor-widget-wc-add-to-cart button.single_add_to_cart_button.alt {
			flex: 1 1 0;
			min-width: 0;
			padding: 17px 12px;
			font-size: 14px;
			white-space: nowrap;
		}
	/* Tabs in one row */
	.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs {
			gap: 16px;
			flex-wrap: nowrap;
			justify-content: flex-start;
			overflow-x: auto;
			margin-bottom: 28px !important;
			padding: 0 !important;
		}
	.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li {
			flex: 0 0 auto;
		}
	.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li a {
			padding-bottom: 14px !important;
			font-size: 11px !important;
			letter-spacing: 0.05em !important;
			white-space: nowrap;
		}
	.single-product .ts-desc-tabs .woocommerce-tabs ul.tabs li.active a::after {
			right: 0.05em;
			bottom: 0;
			height: 4px;
		}
	.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table,
		.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table tbody,
		.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table tr,
		.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table th,
		.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table td {
			display: block;
			width: 100% !important;
		}
	.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table th,
		.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table td:first-child:not(:only-child) {
			padding: 16px 18px 2px !important;
			font-size: 17px;
		}
	.single-product .ts-desc-tabs .woocommerce-Tabs-panel--description table td:last-child {
			padding: 2px 18px 16px !important;
			border-top: 0 !important;
		}
	.single-product .ts-desc-tabs .woocommerce-tabs .panel,
		.single-product .ts-desc-tabs .woocommerce-tabs .woocommerce-Tabs-panel {
			padding: 24px 20px !important;
		}
	.single-product .ts-desc-tabs .woocommerce-tabs .panel > h2 {
			font-size: 32px;
		}
	.single-product .ts-desc-image.elementor-widget {
			max-width: 260px !important;
		}
}

@media (min-width: 1025px) and (max-width: 1366px) {
	.single-product .ts-facts__label {
			font-size: 17px;
		}
}
