/* Contact: replace the 2.38 MB PNG with responsive WebP assets. */
.page-id-533 .elementor-element-564ceda {
	background-image: url("contact-hero-1448.webp") !important;
}

/* About: the YouTube widget currently renders an empty bordered frame. */
.page-id-3377 .elementor-element-e46b117 {
	display: none !important;
}

/* Keep wide comparison tables usable without widening the whole page. */
.single-post .entry-content table {
	display: block;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* Constrain WooCommerce gallery tracks to the visible product column. */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .flex-viewport {
	max-width: 100%;
}

.single-product .woocommerce-product-gallery,
.single-product .flex-viewport {
	overflow: hidden !important;
}

.single-product .woocommerce-product-gallery__image,
.single-product .lby-original-artwork-notice,
.single-product .lby-original-artwork-notice h3 {
	overflow-wrap: anywhere;
	word-break: normal;
}

.single-product .lby-original-artwork-notice h3 {
	max-width: 100%;
	white-space: normal !important;
}

/* WooCommerce's zoom overlay is positioned outside the gallery at tablet widths. */
.single-product .woocommerce-product-gallery .zoomImg {
	display: none !important;
}

/* Keep the product intro focused on the title and visual product selector. */
.single-product.postid-4763 .woocommerce-product-details__short-description,
.single-product.postid-4763 .lby-original-artwork-notice,
.single-product.postid-4763 .lby-sales-panel {
	display: none !important;
}

.single-product.postid-4763 .elementor-widget-woocommerce-product-title {
	margin-bottom: 0 !important;
}

/* Product archives: keep name search prominent without competing with filters. */
.lby-product-search {
	width: 100%;
	margin: 0 0 28px;
}

.lby-product-search__form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	width: min(100%, 760px);
	min-height: 52px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #cfd3d8;
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(18, 26, 43, 0.08);
	overflow: hidden;
}

.lby-product-search__field {
	width: 100%;
	min-width: 0;
	height: 52px;
	padding: 0 18px !important;
	margin: 0 !important;
	color: #182131 !important;
	background: #fff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 16px;
	letter-spacing: 0;
}

.lby-product-search__field:focus {
	outline: 2px solid #2f6f58 !important;
	outline-offset: -2px;
}

.lby-product-search__field::placeholder {
	color: #6b7280;
	opacity: 1;
}

.lby-product-search__submit {
	min-width: 112px;
	height: 52px;
	padding: 0 22px !important;
	margin: 0 !important;
	color: #fff !important;
	background: #182131 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0;
	white-space: nowrap;
	cursor: pointer;
}

.lby-product-search__submit:hover,
.lby-product-search__submit:focus-visible {
	background: #2f6f58 !important;
}

@media (min-width: 1025px) {
	.single-product.postid-4763 .lby-c680-selector {
		margin-top: -72px;
	}
}

@media (max-width: 1024px) {
	/* The four-column footer becomes unreadably narrow at tablet widths. */
	.elementor-1424 .elementor-element-c92c614 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 36px 28px !important;
		align-items: start;
	}

	.elementor-1424 .elementor-element-c92c614 > .e-con,
	.elementor-1424 .elementor-element-7a4edc8 > .e-con,
	.elementor-1424 .elementor-icon-list-items,
	.elementor-1424 .elementor-icon-list-item,
	.elementor-1424 .elementor-icon-list-text {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.elementor-1424 .elementor-icon-list-text,
	.elementor-1424 a,
	.elementor-1424 p {
		overflow-wrap: anywhere;
		word-break: normal;
	}

	/* Latest articles: use a stable grid instead of an oversized rail. */
	.page-id-4972 .lby-article-carousel {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		grid-auto-flow: row !important;
		grid-auto-columns: auto !important;
		gap: 24px !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: visible !important;
		scroll-snap-type: none !important;
	}

	.page-id-4972 .lby-article-carousel > li {
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		transform: none !important;
	}
}

@media (max-width: 767px) {
	.page-id-533 .elementor-element-564ceda {
		background-image: url("contact-hero-768.webp") !important;
	}

	.elementor-1424 .elementor-element-c92c614,
	.page-id-4972 .lby-article-carousel {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-auto-flow: row !important;
		grid-auto-columns: auto !important;
	}

	.page-id-4972 .lby-article-carousel > li,
	.page-id-4972 .lby-article-carousel img {
		width: 100% !important;
		max-width: 100% !important;
	}

	.single-product .summary,
	.single-product .woocommerce-product-gallery {
		min-width: 0 !important;
		max-width: 100% !important;
	}

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

	.single-product .related.products li.product {
		width: auto !important;
		min-width: 0 !important;
	}

	.lby-product-search {
		margin-bottom: 22px;
	}

	.lby-product-search__field {
		padding: 0 14px !important;
	}

	.lby-product-search__submit {
		min-width: 92px;
		padding: 0 16px !important;
	}
}
