/*
Theme Name: Wellnessland Blocksy
Theme URI: https://wellnessland.ch/
Description: Site-specific presentation layer for Wellnessland, built on Blocksy.
Author: WEBEVOLVE
Template: blocksy
Version: 1.0.0
Text Domain: wellnessland-blocksy
*/

@font-face {
	font-family: "Inter Tight";
	font-style: normal;
	font-weight: 400 700;
	font-display: optional;
	src: url("assets/fonts/inter-tight-latin.woff2") format("woff2");
}

:root {
	--wl-paper: #f7f6f3;
	--wl-surface: #fafaf7;
	--wl-ink: #1a1a1a;
	--wl-muted: #55514d;
	--wl-rule: #e5e5e2;
	--wl-accent: #5a244e;
	--wl-accent-dark: #3d1835;
	--wl-space-xs: 0.5rem;
	--wl-space-sm: 1rem;
	--wl-space-md: 1.5rem;
	--wl-space-lg: 2.5rem;
	--wl-space-xl: 4rem;
	--wl-space-2xl: 6rem;
	--wl-space-3xl: 8rem;
}

html {
	font-optical-sizing: auto;
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: 100%;
}

body,
button,
input,
select,
textarea {
	font-family: "Inter Tight", "Helvetica Neue", Helvetica, sans-serif;
}

body {
	background: var(--wl-paper);
	color: var(--wl-ink);
	font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--wl-ink);
	font-family: "Inter Tight", "Helvetica Neue", Helvetica, sans-serif;
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.08;
	text-wrap: balance;
}

p,
li,
figcaption,
blockquote {
	text-wrap: pretty;
}

:lang(de),
:lang(de-CH) {
	hyphens: auto;
}

h1,
h2,
h3,
.wl-home-products__eyebrow,
.wl-site-footer__label {
	hyphens: none;
}

:focus-visible {
	outline: 2px solid var(--wl-accent);
	outline-offset: 4px;
	border-radius: 2px;
}

button,
.button,
input[type="button"],
input[type="submit"],
.added_to_cart {
	font-weight: 600;
	transition:
		background-color 240ms cubic-bezier(0.32, 0.72, 0, 1),
		border-color 240ms cubic-bezier(0.32, 0.72, 0, 1),
		color 240ms cubic-bezier(0.32, 0.72, 0, 1);
}

input:not([type="checkbox"]):not([type="radio"]),
select,
textarea {
	background: var(--wl-surface);
	border-color: var(--wl-rule);
}

input:not([type="checkbox"]):not([type="radio"]):focus,
select:focus,
textarea:focus {
	border-color: var(--wl-ink);
	box-shadow: inset 0 -1px 0 var(--wl-accent);
}

.page-title,
.entry-summary > .product_title,
.woocommerce-cart-form + .cart-collaterals h2 {
	font-size: clamp(2.25rem, 3.8vw, 4rem);
}

.price,
.woocommerce-Price-amount,
.product-subtotal,
.cart-subtotal,
.order-total {
	font-variant-numeric: tabular-nums;
}

/* Header and mobile navigation */

#header .menu > li > a,
#header .ct-header-cart,
#header .ct-header-search {
	font-weight: 500;
}


@media (min-width: 1000px) {
	#header .menu .sub-menu {
		background: var(--wl-surface) !important;
		border: 1px solid var(--wl-rule);
	}

	#header .menu .sub-menu > li > a {
		background: transparent !important;
		color: var(--wl-ink) !important;
	}

	#header .menu .sub-menu > li:hover > a,
	#header .menu .sub-menu > li.current-menu-item > a,
	#header .menu .sub-menu > li.current-menu-ancestor > a,
	#header .menu .sub-menu > li > a:focus-visible {
		background: var(--wl-accent) !important;
		color: #fff !important;
	}
}

#offcanvas .ct-panel-inner {
	width: 100vw;
	max-width: none;
	background: rgba(20, 20, 22, 0.98);
}

#offcanvas .ct-panel-content-inner {
	padding-inline: clamp(1.5rem, 8vw, 3rem);
}

#offcanvas .mobile-menu .menu-item-home {
	display: none;
}

#offcanvas .mobile-menu > ul > li > a,
#offcanvas .mobile-menu > ul > li > .ct-sub-menu-parent > a {
	font-size: clamp(1.45rem, 7vw, 2rem);
	font-weight: 500;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

#offcanvas .mobile-menu .sub-menu a {
	font-size: 1rem;
	font-weight: 500;
}

@media (min-width: 1000px) and (max-width: 1199.98px) {
	#header .site-logo-container img {
		width: auto;
		max-width: 170px;
		height: auto;
	}

	#header .ct-header-cart .ct-label {
		display: none;
	}
}

/* Product archives and reusable WooCommerce cards */

ul.products li.product {
	display: flex;
	align-items: stretch;
	flex-direction: column;
}

ul.products li.product figure,
ul.products li.product .ct-media-container {
	width: 100%;
	aspect-ratio: 1;
}

ul.products li.product figure {
	overflow: hidden;
	margin-bottom: var(--wl-space-md);
	background: #e7e6e1;
	border: 1px solid var(--wl-rule);
}

ul.products li.product .ct-media-container {
	display: block;
}

ul.products li.product .ct-media-container img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

ul.products li.product .woocommerce-loop-product__title {
	min-height: 2.25em;
	font-size: clamp(1rem, 1.2vw, 1.125rem);
	font-weight: 600;
	line-height: 1.25;
}

ul.products li.product .price {
	color: var(--wl-muted);
	font-weight: 600;
}

ul.products li.product .ct-woo-card-actions {
	margin-top: auto;
}

.tax-product_cat .hero-section .page-description {
	display: block !important;
	width: 100%;
	margin-top: var(--wl-space-md);
	color: var(--wl-muted);
	font-size: 1.0625rem;
	line-height: 1.65;
}

.tax-product_cat .hero-section .page-description * {
	color: inherit !important;
}

/* Legacy page-builder content contains hard-coded white text on light pages. */
.page:not(.home) .entry-content [style*="color: #ffffff" i],
.page:not(.home) .entry-content [style*="color:#ffffff" i],
.page:not(.home) .entry-content [style*="color: #fff" i],
.page:not(.home) .entry-content [style*="color:#fff" i],
.page:not(.home) .entry-content [style*="color: white" i] {
	color: inherit !important;
}

.page:not(.home) .entry-content a[style*="color: #ffffff" i],
.page:not(.home) .entry-content a[style*="color:#ffffff" i],
.page:not(.home) .entry-content a[style*="color: #fff" i],
.page:not(.home) .entry-content a[style*="color:#fff" i],
.page:not(.home) .entry-content a[style*="color: white" i] {
	color: var(--wl-accent) !important;
}

.page-id-68 .wl-showroom-tour {
	margin: var(--wl-space-xl) 0 var(--wl-space-2xl);
}

.page-id-68 .wl-about-owner {
	width: min(100%, 15rem);
	margin: var(--wl-space-xl) 0;
}

.page-id-68 .wl-about-owner img {
	display: block;
	width: 100%;
	background: #fff;
}

.page-id-68 .wl-about-owner figcaption {
	padding-top: var(--wl-space-sm);
	font-weight: 700;
}

.page-id-68 .entry-content img.wp-image-4136 {
	content: url("assets/images/nicola-fankhauser-transparent.png");
}

.page-id-68 .wl-showroom-tour h2 {
	margin-bottom: var(--wl-space-sm);
}

.page-id-68 .wl-showroom-tour__welcome {
	margin: 0 0 var(--wl-space-xs);
	font-weight: 600;
}

.page-id-68 .wl-showroom-tour__address {
	margin: 0 0 var(--wl-space-md);
	color: var(--wl-muted);
	font-style: normal;
	line-height: 1.5;
}

.page-id-68 .wl-showroom-tour iframe {
	display: block;
	width: 100%;
	height: clamp(24rem, 48vw, 36rem);
	border: 0;
}

.page-id-60 .entry-content .gallery {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wl-space-md);
	margin: 0 0 var(--wl-space-xl);
}

.page-id-60 .entry-content .gallery-item {
	display: grid;
	grid-template-rows: 1fr auto;
	width: auto;
	max-width: none;
	margin: 0;
}

.page-id-60 .entry-content .gallery-icon,
.page-id-60 .entry-content .gallery-icon a {
	display: block;
	height: 100%;
}

.page-id-60 .entry-content .gallery img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.page-id-60 .entry-content .gallery-caption {
	padding-top: var(--wl-space-sm);
	font-weight: 700;
}

/* Legacy WordPress galleries were stacking every image at full width. */
.page-id-159 .entry-content .gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--wl-space-md);
	margin: var(--wl-space-md) 0 var(--wl-space-xl);
}

.page-id-159 .entry-content .gallery-item {
	display: block;
	width: auto;
	max-width: none;
	margin: 0;
}

.page-id-159 .entry-content .gallery-icon,
.page-id-159 .entry-content .gallery-icon a {
	display: block;
	height: 100%;
}

.page-id-159 .entry-content .gallery img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

@media (max-width: 689.98px) {
	.page-id-68 .wl-showroom-tour iframe {
		height: 24rem;
	}

	.page-id-60 .entry-content .gallery {
		grid-template-columns: 1fr;
	}

	.page-id-159 .entry-content .gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

.tax-product_cat .hero-section {
	min-height: 0;
	margin-bottom: var(--wl-space-lg);
}

.tax-product_cat .woo-listing-top {
	margin-bottom: var(--wl-space-lg);
}

/* Search and AI answer modules */

.wl-discovery {
	display: grid;
	gap: var(--wl-space-2xl);
	margin-top: var(--wl-space-3xl);
	border-top: 1px solid var(--wl-rule);
	padding-top: var(--wl-space-xl);
	padding-bottom: var(--wl-space-3xl);
}

.wl-discovery__eyebrow {
	margin: 0 0 var(--wl-space-sm);
	color: var(--wl-accent);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wl-answer h2,
.wl-faq h2,
.wl-related h2 {
	margin-top: 0;
	font-size: clamp(1.75rem, 3.2vw, 3rem);
}

.wl-answer > p:last-child:not(.wl-answer__links) {
	margin-bottom: 0;
	font-size: 1.125rem;
	line-height: 1.65;
}

.wl-answer__links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wl-space-sm) var(--wl-space-lg);
	margin-top: var(--wl-space-lg);
}

.wl-answer__links a {
	border-bottom: 1px solid currentColor;
	font-weight: 600;
	text-decoration: none;
}

.wl-faq__items {
	border-top: 1px solid var(--wl-rule);
}

.wl-faq details {
	border-bottom: 1px solid var(--wl-rule);
}

.wl-faq summary {
	position: relative;
	cursor: pointer;
	list-style: none;
	padding: 1.25rem 3rem 1.25rem 0;
	font-size: 1.125rem;
	font-weight: 600;
}

.wl-faq summary::-webkit-details-marker {
	display: none;
}

.wl-faq summary::after {
	position: absolute;
	top: 1.2rem;
	right: 0;
	content: "+";
	font-size: 1.5rem;
	font-weight: 400;
}

.wl-faq details[open] summary::after {
	content: "−";
}

.wl-faq details p {
	margin: 0;
	padding: 0 0 1.5rem;
	line-height: 1.65;
}

.wl-related__links {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	border-top: 1px solid var(--wl-rule);
}

.wl-related__links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wl-space-md);
	border-bottom: 1px solid var(--wl-rule);
	padding: 1.1rem 0;
	font-weight: 600;
	text-decoration: none;
}

.wl-related__links a:nth-child(odd) {
	margin-right: var(--wl-space-lg);
}

.wl-related__links a:nth-child(even) {
	margin-left: var(--wl-space-lg);
}

@media (max-width: 689.98px) {
	.wl-discovery {
		gap: var(--wl-space-xl);
		margin-top: var(--wl-space-2xl);
		padding-bottom: var(--wl-space-2xl);
	}

	.wl-related__links {
		grid-template-columns: 1fr;
	}

	.wl-related__links a:nth-child(n) {
		margin-inline: 0;
	}
}

/* Product details */

.single-product .woocommerce-product-gallery,
.single-product .summary {
	margin-bottom: var(--wl-space-2xl);
}

.single-product .product-entry-wrapper {
	align-items: start;
}

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

.single-product .summary .wl-product-eyebrow,
.single-product .wl-product-details__eyebrow {
	margin: 0 0 var(--wl-space-sm);
	color: var(--wl-accent);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.single-product .summary .price {
	color: var(--wl-muted);
	font-size: 1.25rem;
}

.single-product .summary .woocommerce-product-details__short-description {
	margin-top: var(--wl-space-md);
	font-size: 1.0625rem;
	line-height: 1.65;
}

.single-product .summary .price:empty,
.single-product .summary .ct-product-add-to-cart:empty,
.single-product .summary .price:empty + .ct-product-divider,
.single-product .summary .ct-product-add-to-cart:empty + .ct-product-divider {
	display: none;
}

/* Supplier product packshots must remain fully visible rather than being cropped. */
.single-product .woocommerce-product-gallery .flexy-view {
	width: 100%;
	height: auto !important;
	aspect-ratio: 4 / 3;
	background: #e7e6e1;
}

.single-product .woocommerce-product-gallery .flexy,
.single-product .woocommerce-product-gallery .flexy-items,
.single-product .woocommerce-product-gallery .flexy-item,
.single-product .woocommerce-product-gallery .flexy-item figure,
.single-product .woocommerce-product-gallery .flexy-item .ct-media-container {
	height: 100%;
}

.single-product .woocommerce-product-gallery .flexy-item img {
	width: 100%;
	height: 100%;
	aspect-ratio: auto !important;
	background: #e7e6e1;
	object-fit: contain;
}

/* Blocksy renders products with one image outside the slider markup. */
.single-product .woocommerce-product-gallery > .ct-product-gallery-container > .ct-media-container {
	width: 100%;
	aspect-ratio: 4 / 3;
	background: #e7e6e1;
}

.single-product .woocommerce-product-gallery > .ct-product-gallery-container > .ct-media-container img {
	width: 100%;
	height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: contain;
}

.single-product .woocommerce-product-gallery .flexy-pills {
	margin-top: var(--wl-space-sm);
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-color: var(--wl-rule) transparent;
	scrollbar-width: thin;
}

.single-product .woocommerce-product-gallery .flexy-pills ol {
	display: flex;
	width: max-content;
	max-width: none;
	flex-wrap: nowrap;
	gap: var(--wl-space-xs);
}

.single-product .woocommerce-product-gallery .flexy-pills li {
	width: 88px;
	min-width: 88px;
	height: 88px;
	scroll-snap-align: start;
}

.single-product .woocommerce-product-gallery .flexy-pills img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.single-product .wl-product-decision {
	margin-top: var(--wl-space-lg);
}

.single-product .wl-product-facts {
	margin: 0 0 var(--wl-space-lg);
	border-top: 1px solid var(--wl-rule);
}

.single-product .wl-product-facts > div {
	display: grid;
	grid-template-columns: minmax(7rem, 0.8fr) minmax(0, 1.2fr);
	gap: var(--wl-space-sm);
	border-bottom: 1px solid var(--wl-rule);
	padding: 0.8rem 0;
}

.single-product .wl-product-facts dt,
.single-product .wl-product-facts dd {
	margin: 0;
}

.single-product .wl-product-facts dt {
	color: var(--wl-muted);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.single-product .wl-product-facts dd {
	font-variant-numeric: tabular-nums;
	font-weight: 500;
	text-align: right;
}

.single-product .wl-product-consultation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wl-space-sm);
	min-height: 3.5rem;
	border-radius: 999px;
	padding: 0.65rem 0.65rem 0.65rem var(--wl-space-md);
	background: var(--wl-accent);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	transition:
		background-color 400ms cubic-bezier(0.32, 0.72, 0, 1),
		color 400ms cubic-bezier(0.32, 0.72, 0, 1);
}

.single-product .wl-product-consultation:hover {
	background: var(--wl-accent-dark);
	color: #fff;
}

.single-product .wl-product-consultation__arrow {
	display: grid;
	width: 2.25rem;
	height: 2.25rem;
	flex: 0 0 2.25rem;
	place-items: center;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	transition: transform 400ms cubic-bezier(0.32, 0.72, 0, 1);
}

.single-product .wl-product-consultation:hover .wl-product-consultation__arrow {
	transform: translate(0.2rem, -0.1rem);
}

.single-product .wl-product-phone,
.single-product .wl-bullfrog-design-studio {
	display: block;
	width: fit-content;
	margin-top: var(--wl-space-sm);
	border-bottom: 1px solid currentColor;
	color: var(--wl-muted);
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
}

.single-product .wl-product-phone:hover,
.single-product .wl-bullfrog-design-studio:hover {
	color: var(--wl-accent);
}

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

.single-product .woocommerce-tabs {
	padding-top: var(--wl-space-lg);
}

.single-product .woocommerce-Tabs-panel--description {
	width: var(--theme-container-width);
	max-width: var(--theme-block-max-width);
	margin-inline: auto;
	padding-top: 0 !important;
}

.single-product .woocommerce-Tabs-panel--description > .wl-product-details {
	max-width: none;
}

.single-product .wl-product-details {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: clamp(1.5rem, 4vw, 4rem);
	row-gap: var(--wl-space-xl);
	border-top: 1px solid var(--wl-rule);
	padding-top: var(--wl-space-lg);
}

.single-product .wl-product-details__intro {
	grid-column: 1 / span 7;
}

.single-product .wl-product-details__technical {
	grid-column: 8 / -1;
}

.single-product .wl-product-details__intro > h2,
.single-product .wl-product-details__technical > h2,
.single-product .wl-product-details__equipment h2 {
	margin: 0 0 var(--wl-space-md);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.single-product .wl-product-details__prose > p {
	margin: 0;
	font-size: 1.0625rem;
	line-height: 1.65;
}

.single-product .wl-product-details__prose > p + p {
	margin-top: var(--wl-space-md);
}

.single-product .wl-product-details ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.single-product .wl-product-details li {
	display: grid;
	grid-template-columns: 0.45rem minmax(0, 1fr);
	gap: 0.65rem;
	border-bottom: 1px solid var(--wl-rule);
	padding: 0.65rem 0;
	line-height: 1.5;
}

.single-product .wl-product-details li::before {
	content: '';
	width: 0.3rem;
	height: 0.3rem;
	margin-top: 0.55em;
	background: var(--wl-accent);
}

.single-product .wl-product-details__equipment {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 4vw, 4rem);
}

.single-product .wl-product-details__equipment > section {
	border-top: 1px solid var(--wl-rule);
	padding-top: var(--wl-space-lg);
}

.single-product .related > h2 {
	margin-bottom: var(--wl-space-lg);
	font-size: clamp(2rem, 3vw, 3rem);
}

@media (min-width: 1000px) {
	.single-product .product-entry-wrapper {
		display: grid;
		grid-template-columns: minmax(0, 7fr) minmax(20rem, 5fr);
		gap: clamp(2.5rem, 5vw, 5rem);
	}

	.single-product .woocommerce-product-gallery,
	.single-product .summary {
		width: auto;
		max-width: none;
	}

	.single-product .summary {
		position: sticky;
		top: var(--wl-space-lg);
	}
}

/* Cart and checkout */

.woocommerce-cart-form,
.cart_totals,
#order_review {
	background: var(--wl-surface);
}

.cart_totals,
#order_review,
.woocommerce-checkout .woocommerce-info {
	border-color: var(--wl-rule);
}

.woocommerce-checkout .woocommerce-info {
	background: color-mix(in srgb, var(--wl-accent) 5%, var(--wl-paper));
}

.woocommerce-checkout label,
.woocommerce-cart label {
	color: var(--wl-muted);
	font-weight: 500;
}

.woocommerce-checkout-review-order-table th,
.woocommerce-checkout-review-order-table td,
.shop_table th,
.shop_table td {
	border-color: var(--wl-rule);
}

/* Contact */

.wl-contact {
	width: var(--theme-container-width);
	margin-inline: auto;
	padding: clamp(3rem, 7vw, 7rem) clamp(1.25rem, 4vw, 4rem) clamp(5rem, 9vw, 9rem);
}

.wl-contact__header {
	margin-bottom: clamp(2.5rem, 6vw, 5rem);
	border-bottom: 1px solid var(--wl-rule);
	padding-bottom: var(--wl-space-lg);
}

.wl-contact__header h1 {
	margin: 0;
	font-size: clamp(3rem, 7vw, 6.5rem);
}

.wl-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.65fr) minmax(280px, 0.75fr);
	gap: clamp(3rem, 8vw, 8rem);
}

.wl-contact__form-panel > h2,
.wl-contact__details h2 {
	margin-top: 0;
}

.wl-contact__form-panel > h2 {
	margin-bottom: var(--wl-space-lg);
	font-size: clamp(2rem, 3.5vw, 3.5rem);
}

.wl-contact-form p {
	margin: 0 0 var(--wl-space-md);
}

.wl-contact-form__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wl-space-md);
}

.wl-contact-form label {
	display: block;
	margin-bottom: var(--wl-space-xs);
	color: var(--wl-muted);
	font-weight: 600;
}

.wl-contact-form input,
.wl-contact-form textarea {
	width: 100%;
}

.wl-contact-form textarea {
	resize: vertical;
}

.wl-contact-form button {
	min-height: 50px;
	padding-inline: 1.4rem;
}

.wl-contact-form__honeypot {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.wl-contact__notice {
	margin: 0 0 var(--wl-space-lg);
	border: 1px solid var(--wl-rule);
	padding: var(--wl-space-sm) var(--wl-space-md);
}

.wl-contact__notice--success {
	border-color: color-mix(in srgb, #2f7350 45%, var(--wl-rule));
	background: color-mix(in srgb, #2f7350 8%, var(--wl-paper));
}

.wl-contact__notice--error {
	border-color: color-mix(in srgb, #a43a3a 45%, var(--wl-rule));
	background: color-mix(in srgb, #a43a3a 7%, var(--wl-paper));
}

.wl-contact__details {
	display: grid;
	align-content: start;
	gap: var(--wl-space-xl);
}

.wl-contact__details section {
	border-top: 1px solid var(--wl-rule);
	padding-top: var(--wl-space-md);
	scroll-margin-top: var(--wl-space-lg);
}

.wl-contact__details address {
	margin-bottom: var(--wl-space-md);
	font-style: normal;
	line-height: 1.65;
}

.wl-contact__eyebrow {
	margin: 0 0 var(--wl-space-sm);
	color: var(--wl-accent);
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.wl-contact__route {
	border-bottom: 1px solid currentColor;
	font-weight: 600;
	text-decoration: none;
}

/* Footer */

footer.ct-footer {
	display: none;
}

.wl-site-footer {
	background: var(--wl-paper);
	border-top: 1px solid var(--wl-rule);
	color: var(--wl-muted);
}

.wl-site-footer__grid,
.wl-site-footer__bottom {
	width: var(--theme-container-width);
	max-width: var(--theme-normal-container-max-width);
	margin-inline: auto;
	padding-inline: 0;
}

.wl-site-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1.2fr 1fr 1fr;
	gap: clamp(2rem, 5vw, 5rem);
	padding-top: var(--wl-space-2xl);
	padding-bottom: var(--wl-space-3xl);
}

.wl-site-footer__brand .custom-logo-link {
	display: block;
	margin-bottom: var(--wl-space-md);
}

.wl-site-footer__brand .custom-logo {
	width: min(100%, 280px);
	height: auto;
}

.wl-site-footer__grid p,
.wl-site-footer__grid address {
	margin: 0 0 var(--wl-space-sm);
}

.wl-site-footer__grid address {
	font-style: normal;
}

.wl-site-footer__showroom-address {
	margin-bottom: 0 !important;
}

.wl-site-footer__map-link {
	display: block;
}

.wl-site-footer__contact {
	margin-top: var(--wl-space-md) !important;
}

.wl-site-footer__label {
	color: var(--wl-ink);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.wl-site-footer nav a {
	display: block;
	width: fit-content;
	margin-bottom: 0.65rem;
}

.wl-site-footer a {
	color: var(--wl-ink);
	text-decoration-color: transparent;
	text-underline-offset: 0.24em;
	transition:
		color 240ms cubic-bezier(0.32, 0.72, 0, 1),
		text-decoration-color 240ms cubic-bezier(0.32, 0.72, 0, 1);
}

.wl-site-footer a:hover {
	color: var(--wl-accent);
	text-decoration-color: currentColor;
}

.wl-site-footer__bottom {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid var(--wl-rule);
	padding-top: var(--wl-space-md);
	padding-bottom: var(--wl-space-lg);
	font-size: 0.875rem;
}

@media (max-width: 767.98px) {
	:root {
		--wl-space-2xl: 4rem;
		--wl-space-3xl: 6rem;
	}

	.wl-site-footer__grid,
	.wl-site-footer__bottom {
		padding-inline: 0;
	}

	.page-title,
	.entry-summary > .product_title {
		font-size: clamp(2rem, 10vw, 3rem);
	}

	.single-product .product-entry-wrapper {
		display: flex;
		flex-direction: column;
	}

	.single-product .summary {
		display: flex;
		order: 1;
		width: 100%;
		max-width: 100%;
		flex-direction: column;
		margin-bottom: var(--wl-space-xl);
	}

	.single-product .woocommerce-product-gallery {
		order: 2;
		width: 100%;
		max-width: 100%;
		margin-bottom: var(--wl-space-xl);
	}

	.single-product .summary .product_title {
		order: 2;
	}

	.single-product .summary .wl-product-eyebrow {
		order: 1;
	}

	.single-product .summary .price {
		order: 3;
	}

	.single-product .summary .ct-product-add-to-cart {
		order: 4;
		margin-top: var(--wl-space-md);
	}

	.single-product .summary .woocommerce-product-details__short-description {
		order: 5;
		margin-top: var(--wl-space-lg);
	}

	.single-product .summary .wl-product-decision {
		order: 6;
	}

	.single-product .summary .product_meta {
		order: 5;
		margin-top: var(--wl-space-md);
	}

	.single-product .summary .ct-product-divider {
		display: none;
	}

	.single-product .woocommerce-product-gallery .flexy,
	.single-product .woocommerce-product-gallery .flexy-items,
	.single-product .woocommerce-product-gallery .flexy-item {
		height: 100%;
	}

	.single-product .woocommerce-product-gallery .flexy-item img {
		height: 100%;
		aspect-ratio: auto !important;
		background: #e7e6e1;
		object-fit: contain;
	}

	.single-product .woocommerce-product-gallery .flexy-pills {
		margin-top: var(--wl-space-sm);
		overflow-x: auto;
		scrollbar-width: thin;
	}

	.single-product .woocommerce-product-gallery .flexy-pills ol {
		display: flex;
		width: max-content;
		flex-wrap: nowrap;
		gap: var(--wl-space-xs);
	}

	.single-product .woocommerce-product-gallery .flexy-pills li {
		width: 76px;
		min-width: 76px;
		height: 76px;
	}

	.single-product .woocommerce-product-gallery .flexy-pills img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.single-product .wl-product-consultation {
		width: 100%;
	}

	.single-product.wl-supplier-product .product-entry-wrapper {
		display: flex;
		flex-direction: column;
	}

	.single-product.wl-supplier-product .summary {
		display: contents;
	}

	.single-product.wl-supplier-product .summary .wl-product-eyebrow,
	.single-product.wl-supplier-product .summary .product_title,
	.single-product.wl-supplier-product .summary .woocommerce-product-details__short-description,
	.single-product.wl-supplier-product .summary .wl-product-decision {
		width: 100%;
	}

	.single-product.wl-supplier-product .summary .wl-product-eyebrow {
		order: 1;
	}

	.single-product.wl-supplier-product .summary .product_title {
		order: 2;
	}

	.single-product.wl-supplier-product .woocommerce-product-gallery {
		order: 3;
	}

	.single-product.wl-supplier-product .summary .price,
	.single-product.wl-supplier-product .summary .ct-product-add-to-cart,
	.single-product.wl-supplier-product .summary .ct-product-divider {
		order: 4;
	}

	.single-product.wl-supplier-product .summary .woocommerce-product-details__short-description {
		order: 5;
		margin-top: 0;
	}

	.single-product.wl-supplier-product .summary .wl-product-decision {
		order: 6;
	}

	.single-product .wl-product-details {
		grid-template-columns: 1fr;
		row-gap: var(--wl-space-lg);
		padding-top: var(--wl-space-lg);
	}

	.single-product .wl-product-details__intro,
	.single-product .wl-product-details__technical,
	.single-product .wl-product-details__equipment {
		grid-column: 1;
	}

	.single-product .wl-product-details__equipment {
		grid-template-columns: 1fr;
		gap: var(--wl-space-lg);
	}

	ul.products li.product figure {
		margin-bottom: var(--wl-space-sm);
	}

	ul.products li.product .woocommerce-loop-product__title {
		min-height: 2.5em;
	}

	.wl-contact__grid {
		grid-template-columns: 1fr;
	}

	.wl-site-footer__grid {
		grid-template-columns: 1fr 1fr;
		gap: var(--wl-space-lg) var(--wl-space-md);
		padding-top: var(--wl-space-xl);
		padding-bottom: var(--wl-space-xl);
	}

	.wl-site-footer__brand,
	.wl-site-footer__visit {
		grid-column: 1 / -1;
	}

	.wl-site-footer__brand .custom-logo {
		width: min(100%, 230px);
	}

	.wl-site-footer__bottom {
		padding-bottom: var(--wl-space-md);
	}
}

@media (max-width: 479.98px) {
	.wl-contact-form__row {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.wl-site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wl-site-footer__brand,
	.wl-site-footer__visit {
		grid-column: 1 / -1;
	}

	.wl-site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: var(--wl-space-xs);
	}
}

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