/* Elementor widgets use the current site's Site Kit colors and typography. */
.elementor {
	color: var(--e-global-color-text);
	font-family: var(--e-global-typography-text-font-family);
}

.elementor .elementor-heading-title {
	color: var(--e-global-color-hdg_heading);
	font-family: var(--e-global-typography-primary-font-family);
	font-weight: var(--e-global-typography-primary-font-weight);
}

.elementor .elementor-widget-text-editor,
.elementor .elementor-widget-text-editor p {
	color: var(--e-global-color-text);
	font-family: var(--e-global-typography-text-font-family);
}

.elementor a:not(.elementor-button) {
	text-underline-offset: 0.18em;
}

.elementor .elementor-button,
.elementor .elementor-widget-woocommerce-cart .woocommerce a.button,
.elementor .elementor-widget-woocommerce-checkout-page .woocommerce button.button,
.elementor .elementor-widget-woocommerce-product-add-to-cart .single_add_to_cart_button {
	min-height: 2.75rem;
	border: 1px solid var(--e-global-color-primary);
	border-radius: var(--hdgroup-radius-button);
	background-color: var(--e-global-color-primary);
	color: var(--e-global-color-hdg_on_primary);
	font-family: var(--e-global-typography-accent-font-family);
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor .elementor-button:hover,
.elementor .elementor-button:focus-visible {
	border-color: var(--e-global-color-secondary);
	background-color: var(--e-global-color-secondary);
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .elementor-field,
.elementor .elementor-field-textual,
.elementor input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.elementor select,
.elementor textarea {
	min-height: 2.75rem;
	border-color: color-mix(in srgb, var(--e-global-color-text) 22%, var(--e-global-color-hdg_surface));
	border-radius: var(--hdgroup-radius-control);
}

.elementor .elementor-field:focus,
.elementor .elementor-field-textual:focus,
.elementor input:focus,
.elementor select:focus,
.elementor textarea:focus {
	border-color: var(--e-global-color-primary);
	box-shadow: 0 0 0 2px color-mix(in srgb, var(--e-global-color-primary) 20%, transparent);
}

.elementor .uael-woocommerce,
.elementor .uael-woocommerce .price {
	color: var(--e-global-color-text);
	font-family: var(--e-global-typography-text-font-family);
}

.elementor .uael-woocommerce .price,
.elementor .uael-woocommerce .woocommerce-Price-amount,
.elementor .hdgroup-product-price,
.elementor .hdgroup-product-price .amount {
	font-weight: var(--hdgroup-price-font-weight, 500);
}

.elementor .uael-woocommerce .woocommerce-loop-product__title {
	color: var(--e-global-color-hdg_heading);
	font-family: var(--e-global-typography-secondary-font-family);
	font-weight: var(--e-global-typography-secondary-font-weight);
	font-size: var(--e-global-typography-text-font-size);
}

/* Blocksy's product card emits the secondary gallery image for UAEL too, but
 * UAEL omits Blocksy's data-hover attribute on its product list wrapper. */
@media (hover: hover) {
	.elementor .uael-woocommerce ul.products li.product .has-hover-effect .ct-swap {
		position: absolute;
		inset: 0;
		opacity: 0;
	}

	.elementor .uael-woocommerce ul.products li.product .has-hover-effect:hover .ct-swap {
		opacity: 1;
	}

	.elementor .uael-woocommerce ul.products li.product .has-hover-effect:hover .ct-swap + img {
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor .uael-woocommerce ul.products li.product .has-hover-effect img {
		transition: none;
	}
}

/* The hero keeps its width and height from the Elementor container settings. */
.elementor .elementor-element[data-hdgroup-component="home-hero"] {
	position: relative;
	display: block !important;
	box-sizing: border-box;
	margin: var(--hdgroup-hero-margin-block) 0;
	border-radius: var(--hdgroup-hero-radius) !important;
	background: var(--e-global-color-hdg_header);
	box-shadow: var(--hdgroup-shadow);
	overflow: hidden !important;
	isolation: isolate;
}

/* Keep the home slider inside the live Elementor container and give its image room to breathe. */
body.hdgroup-totocha-seed-site .elementor .elementor-element[data-hdgroup-component="home-hero"] {
	width: min(var(--content-width, 100%), var(--theme-container-width, 100%)) !important;
	max-width: var(--container-max-width, var(--theme-normal-container-max-width, 100%));
	min-height: var(--min-height, clamp(27rem, 32vw, 34rem));
	margin-inline: auto;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] > .elementor-widget-image-carousel,
.elementor .elementor-element[data-hdgroup-component="home-hero"] > .elementor-widget-image-carousel .elementor-widget-container,
.elementor .elementor-element[data-hdgroup-component="home-hero"] > .elementor-widget-image-carousel .elementor-image-carousel-wrapper,
.elementor .elementor-element[data-hdgroup-component="home-hero"] > .elementor-widget-image-carousel .elementor-image-carousel,
.elementor .elementor-element[data-hdgroup-component="home-hero"] > .elementor-widget-image-carousel .swiper-slide,
.elementor .elementor-element[data-hdgroup-component="home-hero"] > .elementor-widget-image-carousel .swiper-slide-inner {
	width: 100%;
	height: 100%;
	border-radius: inherit;
	overflow: hidden;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] > .elementor-widget-image-carousel {
	position: absolute;
	inset: 0;
	z-index: 0;
	margin: 0;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-slide-inner {
	display: block;
	margin: 0;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-slide-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] {
	position: relative;
	inset: auto;
	z-index: 2;
	box-sizing: border-box;
	display: flex;
	width: 100% !important;
	max-width: 100%;
	min-height: inherit;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: clamp(0.65rem, 1.5vw, 1rem);
	padding: clamp(1.25rem, 4vw, 3.5rem);
	text-align: center;
	color: var(--e-global-color-hdg_on_primary);
	pointer-events: none;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-heading,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-text-editor,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-button {
	width: min(100%, 50rem);
	margin: 0;
	pointer-events: auto;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-text-editor,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-button {
	text-align: center;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-widget-text-editor p,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-button-wrapper {
	text-align: center;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-widget-text-editor p {
	margin: 0;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-widget-text-editor p {
	max-width: 42rem;
	margin-inline: auto;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-widget-text-editor,
.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-widget-text-editor p {
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-slide-inner {
	position: relative;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-slide-inner::after {
	position: absolute;
	inset: 0;
	z-index: 1;
	background: var(--hdgroup-hero-overlay);
	content: "";
	pointer-events: none;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-pagination {
	bottom: 0 !important;
	box-sizing: border-box;
	min-height: 1.9rem;
	padding: 0.45rem 0.75rem;
	border-radius: 0 0 var(--hdgroup-hero-radius) var(--hdgroup-hero-radius);
	background: var(--e-global-color-hdg_surface);
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-slide-image {
	position: relative;
	z-index: 0;
}

.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-heading-title {
	font-family: var(--e-global-typography-primary-font-family);
	font-size: var(--e-global-typography-primary-font-size);
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .elementor-swiper-button {
	z-index: 6 !important;
	display: grid;
	width: 2.75rem;
	height: 2.75rem;
	place-items: center;
	border: 1px solid var(--e-global-color-primary);
	border-radius: 50%;
	background: var(--e-global-color-primary) !important;
	box-shadow: 0 0.25rem 0.8rem color-mix(in srgb, var(--e-global-color-hdg_header) 32%, transparent);
	color: var(--e-global-color-hdg_on_primary) !important;
	font-size: 1rem;
	opacity: 1 !important;
	transition: background-color 160ms ease, color 160ms ease;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .elementor-swiper-button i {
	color: currentColor;
	opacity: 1;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .elementor-swiper-button:hover,
.elementor .elementor-element[data-hdgroup-component="home-hero"] .elementor-swiper-button:focus-visible {
	border-color: var(--e-global-color-secondary);
	background: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-hdg_on_primary) !important;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-pagination-bullet {
	background: var(--e-global-color-primary);
	opacity: 0.55;
}

.elementor .elementor-element[data-hdgroup-component="home-hero"] .swiper-pagination-bullet-active {
	background: var(--e-global-color-secondary);
	opacity: 1;
}

/* The remaining first-row cards share one container below the hero. */
.elementor .elementor-element[data-hdgroup-component="showcase"] {
	display: flex;
	flex-direction: row;
	width: var(--hdgroup-site-content-width);
	margin: clamp(1.5rem, 3vw, 2.5rem) auto clamp(2.5rem, 5vw, 4rem);
	gap: clamp(0.75rem, 1.5vw, 1.4rem);
	align-items: stretch;
}

.elementor .elementor-element[data-hdgroup-component="showcase-main"] {
	display: flex;
	flex-direction: column;
	position: relative;
	flex: 1.42 1 0;
	min-width: 0;
	min-height: 28rem;
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_surface_alt);
	overflow: hidden;
}

.elementor .elementor-element[data-hdgroup-component="showcase-main"] > .elementor-widget-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.elementor .elementor-element[data-hdgroup-component="showcase-main"] > .elementor-widget-image .elementor-widget-container,
.elementor .elementor-element[data-hdgroup-component="showcase-main"] > .elementor-widget-image a,
.elementor .elementor-element[data-hdgroup-component="showcase-main"] > .elementor-widget-image img {
	display: block;
	width: 100%;
	height: 100%;
}

.elementor .elementor-element[data-hdgroup-component="showcase-main"] > .elementor-widget-image img {
	object-fit: cover;
}

.elementor .elementor-element[data-hdgroup-component="showcase-main-copy"] {
	display: flex;
	flex-direction: column;
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	align-items: flex-start;
	padding: clamp(1rem, 2.5vw, 2.5rem);
	background: linear-gradient(transparent, color-mix(in srgb, var(--e-global-color-hdg_header) 88%, transparent));
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .elementor-element[data-hdgroup-component="showcase-main-copy"] .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="showcase-main-copy"] .elementor-widget-text-editor,
.elementor .elementor-element[data-hdgroup-component="showcase-main-copy"] .elementor-widget-text-editor p {
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .elementor-element[data-hdgroup-component="showcase-main-copy"] .elementor-heading-title {
	font-family: var(--e-global-typography-primary-font-family);
	font-size: var(--e-global-typography-secondary-font-size);
}

.elementor .elementor-element[data-hdgroup-component="showcase"] > .elementor-element[data-hdgroup-component="product-spotlight"] {
	display: flex;
	flex-direction: column;
	flex: 0.82 1 0;
	min-width: 0;
	align-self: stretch;
	border: 1px solid color-mix(in srgb, var(--e-global-color-text) 18%, var(--e-global-color-hdg_surface));
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_surface);
	box-shadow: var(--hdgroup-shadow);
	overflow: hidden;
}

.elementor .elementor-element[data-hdgroup-component="showcase"] > .elementor-element[data-hdgroup-component="product-spotlight"] > .elementor-widget-image,
.elementor .elementor-element[data-hdgroup-component="feature-products"] > .elementor-element[data-hdgroup-component="product-spotlight"] > .elementor-widget-image {
	width: 100%;
}

.elementor .elementor-element[data-hdgroup-component="showcase"] > .elementor-element[data-hdgroup-component="product-spotlight"] .elementor-widget-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.elementor .elementor-element[data-hdgroup-component="product-spotlight-copy"] {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: clamp(0.85rem, 1.5vw, 1.35rem);
}

.elementor .elementor-element[data-hdgroup-component="product-spotlight-copy"] .elementor-heading-title {
	font-family: var(--e-global-typography-secondary-font-family);
	font-size: var(--e-global-typography-accent-font-size);
}

.elementor .hdgroup-product-price,
.elementor .hdgroup-product-price .amount {
	color: var(--e-global-color-primary);
	font-family: var(--e-global-typography-text-font-family);
}

.elementor .elementor-element[data-hdgroup-component="category-section"].hdgroup-home-category-replaced {
	display: none !important;
}

.elementor .hdgroup-home-featured-products {
	box-sizing: border-box;
	width: var(--hdgroup-site-content-width);
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
}

.elementor .hdgroup-home-featured-products__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: clamp(1rem, 2vw, 1.5rem);
}

.elementor .hdgroup-home-featured-products__header h2 {
	margin: 0;
	color: var(--e-global-color-hdg_heading);
	font-family: var(--e-global-typography-secondary-font-family);
	font-size: var(--e-global-typography-secondary-font-size);
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor .hdgroup-home-featured-products__all {
	flex: 0 0 auto;
	color: var(--e-global-color-primary);
	font-family: var(--e-global-typography-accent-font-family);
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor .hdgroup-home-featured-products .woocommerce ul.products,
.elementor .hdgroup-home-featured-products .woocommerce-page ul.products {
	margin-bottom: 0;
}

body:not(.elementor-editor-active) .elementor .elementor-element.hdgroup-component--category-section {
	display: none !important;
}

.elementor .elementor-element[data-hdgroup-component="showcase-products"] {
	flex: 1 1 0;
	min-width: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-content: start;
	gap: clamp(0.45rem, 1vw, 0.9rem);
	padding: clamp(0.85rem, 1.4vw, 1.25rem);
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_surface_alt);
}

.elementor .elementor-element[data-hdgroup-component="showcase-products"] > .elementor-widget-heading {
	grid-column: 1 / -1;
}

.elementor .elementor-element[data-hdgroup-component="showcase-products"] > .elementor-widget-heading .elementor-heading-title {
	font-family: var(--e-global-typography-secondary-font-family);
	font-size: var(--e-global-typography-secondary-font-size);
}

.elementor .elementor-element[data-hdgroup-component="product-mini"] {
	display: flex;
	flex-direction: column;
	width: auto;
	min-width: 0;
	align-items: center;
	gap: 0.4rem;
	text-align: center;
}

.elementor .elementor-element[data-hdgroup-component="product-mini"] .elementor-widget-image {
	width: 4.25rem;
	max-width: 100%;
}

.elementor .elementor-element[data-hdgroup-component="product-mini"] .elementor-widget-image img {
	width: 4.25rem;
	height: 4.25rem;
	border: 2px solid var(--e-global-color-hdg_surface);
	border-radius: 50%;
	object-fit: cover;
}

.elementor .elementor-element[data-hdgroup-component="product-mini"] .elementor-heading-title {
	font-family: var(--e-global-typography-accent-font-family);
	font-size: var(--e-global-typography-accent-font-size);
	font-weight: var(--e-global-typography-accent-font-weight);
	line-height: 1.35;
}

/* Product rows and feature blocks repeat the clean catalog rhythm in the reference. */
.elementor .elementor-element[data-hdgroup-component="product-section"],
.elementor .elementor-element[data-hdgroup-component="feature-products"],
.elementor .elementor-element[data-hdgroup-component="category-section"],
.elementor .elementor-element[data-hdgroup-component="contact"] {
	width: var(--hdgroup-site-content-width);
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
}

.elementor .elementor-element[data-hdgroup-component="product-section"],
.elementor .elementor-element[data-hdgroup-component="category-section"] {
	display: flex;
	flex-direction: column;
}

.elementor .elementor-element[data-hdgroup-component="section-heading"] {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.elementor .elementor-element[data-hdgroup-component="section-heading"] .elementor-widget-button {
	flex: 0 0 auto;
}

.elementor .elementor-element[data-hdgroup-component="section-heading"] .elementor-button {
	border-color: var(--e-global-color-primary);
	background: var(--e-global-color-primary);
}

.elementor .elementor-element[data-hdgroup-component="product-section"] > .elementor-widget-heading .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="section-heading"] .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="featured-products-content"] > .elementor-widget-heading .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="category-section"] > .elementor-widget-heading .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="contact"] .elementor-heading-title {
	font-family: var(--e-global-typography-secondary-font-family);
	font-size: var(--e-global-typography-secondary-font-size);
	font-weight: var(--e-global-typography-secondary-font-weight);
}

.elementor .elementor-element[data-hdgroup-component="benefits"] {
	display: flex;
	flex-direction: row;
	width: var(--hdgroup-site-content-width);
	margin: 0 auto clamp(2.5rem, 5vw, 4rem);
	padding: clamp(1rem, 2vw, 1.6rem);
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_header);
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .elementor-element[data-hdgroup-component="benefit-item"] {
	display: flex;
	flex-direction: column;
	flex: 1 1 16%;
	min-width: 0;
	align-items: center;
	gap: 0.6rem;
	padding-inline: 0.5rem;
	text-align: center;
}

.elementor .elementor-element[data-hdgroup-component="benefit-item"] .elementor-icon {
	color: var(--e-global-color-secondary);
}

.elementor .elementor-element[data-hdgroup-component="benefit-item"] .elementor-icon svg {
	fill: currentColor;
}

.elementor .elementor-element[data-hdgroup-component="benefit-item"] .elementor-heading-title {
	color: var(--e-global-color-hdg_on_primary);
	font-family: var(--e-global-typography-accent-font-family);
	font-size: var(--e-global-typography-accent-font-size);
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor .elementor-element[data-hdgroup-component="benefit-item"] .elementor-widget-text-editor,
.elementor .elementor-element[data-hdgroup-component="benefit-item"] .elementor-widget-text-editor p {
	color: color-mix(in srgb, var(--e-global-color-hdg_on_primary) 82%, transparent);
	font-size: var(--e-global-typography-text-font-size);
}

.elementor .elementor-element[data-hdgroup-component="feature-products"] {
	display: flex;
	flex-direction: row;
	align-items: stretch;
	gap: clamp(1rem, 2vw, 1.75rem);
}

.elementor .elementor-element[data-hdgroup-component="feature-products"] > .elementor-element[data-hdgroup-component="product-spotlight"] {
	display: flex;
	flex-direction: column;
	flex: 1 1 30%;
	min-width: 16rem;
	align-self: stretch;
	border: 1px solid color-mix(in srgb, var(--e-global-color-text) 18%, var(--e-global-color-hdg_surface));
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_surface);
	box-shadow: var(--hdgroup-shadow);
	overflow: hidden;
}

.elementor .elementor-element[data-hdgroup-component="feature-products"] > .elementor-element[data-hdgroup-component="product-spotlight"] .elementor-widget-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.elementor .elementor-element[data-hdgroup-component="featured-products-content"] {
	display: flex;
	flex-direction: column;
	flex: 2 1 60%;
	min-width: 0;
}

.elementor .elementor-element[data-hdgroup-component="category-tile"] {
	display: flex;
	flex-direction: row;
	width: 100%;
	gap: clamp(1rem, 3vw, 2rem);
	padding: clamp(1rem, 2vw, 1.5rem);
	border: 1px solid color-mix(in srgb, var(--e-global-color-text) 18%, var(--e-global-color-hdg_surface));
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_surface_alt);
}

.elementor .elementor-element[data-hdgroup-component="category-tile"] > .elementor-widget-image {
	flex: 0 1 28%;
}

.elementor .elementor-element[data-hdgroup-component="category-tile"] > .elementor-widget-image img {
	width: 100%;
	max-height: 15rem;
	border-radius: var(--hdgroup-radius-image);
	object-fit: cover;
}

.elementor .elementor-element[data-hdgroup-component="category-tile-copy"] {
	display: flex;
	flex-direction: column;
	flex: 1 1 60%;
	align-items: flex-start;
}

.elementor .elementor-element[data-hdgroup-component="contact"] {
	--hdgroup-contact-parallax-y: 0px;
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	min-height: clamp(17rem, 28vw, 23rem);
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border-radius: var(--hdgroup-radius);
	background-color: var(--e-global-color-hdg_surface_alt);
	color: var(--e-global-color-text);
	overflow: hidden;
}

.elementor .elementor-element[data-hdgroup-component="contact"][data-hdgroup-contact-image="true"] {
	background-image:
		linear-gradient(90deg,
			color-mix(in srgb, var(--e-global-color-hdg_header) 88%, transparent) 0%,
			color-mix(in srgb, var(--e-global-color-hdg_header) 76%, transparent) 48%,
			color-mix(in srgb, var(--e-global-color-hdg_header) 35%, transparent) 100%),
		var(--hdgroup-contact-background-image, none);
	background-repeat: no-repeat;
	background-size: cover, cover;
	background-position: center, center calc(50% + var(--hdgroup-contact-parallax-y));
	box-shadow: var(--hdgroup-shadow);
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .elementor-element[data-hdgroup-component="contact-copy"] {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 42rem;
}

.elementor .elementor-element[data-hdgroup-component="contact"][data-hdgroup-contact-image="true"] .elementor-heading-title,
.elementor .elementor-element[data-hdgroup-component="contact"][data-hdgroup-contact-image="true"] .elementor-widget-text-editor,
.elementor .elementor-element[data-hdgroup-component="contact"][data-hdgroup-contact-image="true"] .elementor-widget-text-editor p,
.elementor .elementor-element[data-hdgroup-component="contact"][data-hdgroup-contact-image="true"] .elementor-widget-text-editor a {
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .elementor-element[data-hdgroup-component="contact"] .elementor-button {
	border-color: var(--e-global-color-primary);
	background-color: var(--e-global-color-primary);
	color: var(--e-global-color-hdg_on_primary);
}

/* Product cards inherit their full palette from Elementor globals. */
.elementor .elementor-element[data-hdgroup-component="product-section"] .uael-woocommerce .products li.product,
.elementor .elementor-element[data-hdgroup-component="featured-products-content"] .uael-woocommerce .products li.product {
	display: flex;
	min-width: 0;
	height: 100%;
	flex-direction: column;
	padding: 0 0 1rem;
	border: 1px solid color-mix(in srgb, var(--e-global-color-text) 18%, var(--e-global-color-hdg_surface));
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_surface);
	box-shadow: var(--hdgroup-shadow);
	overflow: hidden;
}

/* Stretch UAEL carousel cards to the tallest item so prices and buttons line up. */
.elementor .elementor-element[data-hdgroup-component="product-section"] .uael-woocommerce .slick-track,
.elementor .elementor-element[data-hdgroup-component="featured-products-content"] .uael-woocommerce .slick-track {
	align-items: stretch;
}

.elementor .elementor-element[data-hdgroup-component="product-section"] .uael-woocommerce .products li.product.slick-slide,
.elementor .elementor-element[data-hdgroup-component="featured-products-content"] .uael-woocommerce .products li.product.slick-slide {
	align-items: stretch;
	align-self: stretch;
}

.elementor .elementor-element[data-hdgroup-component="product-section"] .uael-woocommerce .products li.product > .uael-woo-product-wrapper,
.elementor .elementor-element[data-hdgroup-component="featured-products-content"] .uael-woocommerce .products li.product > .uael-woo-product-wrapper {
	display: flex;
	width: 100%;
	flex: 1 1 auto;
	flex-direction: column;
}

.elementor .elementor-element[data-hdgroup-component="product-section"] .uael-woo-products-summary-wrap .uael-loop-product__link,
.elementor .elementor-element[data-hdgroup-component="featured-products-content"] .uael-woo-products-summary-wrap .uael-loop-product__link {
	min-height: 3.5em;
}

.elementor .uael-woocommerce .uael-woo-products-thumbnail-wrap img {
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--hdgroup-radius-image) var(--hdgroup-radius-image) 0 0;
	object-fit: cover;
}

.elementor .uael-woocommerce .uael-woo-products-summary-wrap {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	padding: 0.75rem 1rem 0;
}

.elementor .uael-woocommerce .products li.product .button,
.elementor .uael-woocommerce .uael-quick-view-btn {
	border: 1px solid var(--e-global-color-primary);
	border-radius: var(--hdgroup-radius-button);
	background: var(--e-global-color-primary);
	color: var(--e-global-color-hdg_on_primary);
	font-family: var(--e-global-typography-accent-font-family);
	font-weight: var(--e-global-typography-accent-font-weight);
}

.elementor .uael-woocommerce .products li.product .button {
	width: 100%;
	min-height: 2.75rem;
	margin: auto 0 0 !important;
	padding-inline: 0.35rem;
	font-size: min(var(--e-global-typography-accent-font-size), 0.8125rem);
	text-align: center;
	white-space: nowrap !important;
	word-break: normal;
}

.elementor .uael-woocommerce .products li.product .button:hover,
.elementor .uael-woocommerce .uael-quick-view-btn:hover {
	border-color: var(--e-global-color-secondary);
	background: var(--e-global-color-secondary);
	color: var(--e-global-color-hdg_on_primary);
}

.elementor .uael-woocommerce .slick-arrow {
	color: var(--e-global-color-hdg_header);
}

/* UAEL inserts Quick View outside Elementor's root, so style it from Site Kit globals here. */
html.uael-quick-view-is-open .uael-content-main {
	border-radius: var(--hdgroup-radius);
	background: var(--e-global-color-hdg_surface);
	color: var(--e-global-color-text);
	font-family: var(--e-global-typography-text-font-family);
	overflow: hidden;
}

html.uael-quick-view-is-open .uael-content-main :is(.product_title, .price, .woocommerce-Price-amount, .woocommerce-product-details__short-description, .product_meta) {
	color: var(--e-global-color-text);
	font-family: var(--e-global-typography-text-font-family);
}

html.uael-quick-view-is-open .uael-content-main :is(input, select, textarea, .quantity .qty) {
	border-radius: var(--hdgroup-radius-control) !important;
}

html.uael-quick-view-is-open .uael-content-main .product_title {
	color: var(--e-global-color-hdg_heading);
	font-family: var(--e-global-typography-primary-font-family);
}

html.uael-quick-view-is-open .uael-content-main .product_meta a {
	color: var(--e-global-color-primary) !important;
	font-family: var(--e-global-typography-text-font-family);
}

html.uael-quick-view-is-open .uael-content-main .product_meta a:hover,
html.uael-quick-view-is-open .uael-content-main .product_meta a:focus-visible {
	color: var(--e-global-color-secondary) !important;
}

html.uael-quick-view-is-open .uael-content-main .single_add_to_cart_button {
	min-height: 2.75rem;
	border: 1px solid var(--e-global-color-primary) !important;
	border-radius: var(--hdgroup-radius-button);
	background: var(--e-global-color-primary) !important;
	color: var(--e-global-color-hdg_on_primary) !important;
	font-family: var(--e-global-typography-accent-font-family) !important;
	font-size: var(--e-global-typography-accent-font-size);
	font-weight: var(--e-global-typography-accent-font-weight);
	white-space: nowrap;
}

html.uael-quick-view-is-open .uael-content-main .single_add_to_cart_button:hover,
html.uael-quick-view-is-open .uael-content-main .single_add_to_cart_button:focus-visible {
	border-color: var(--e-global-color-secondary) !important;
	background: var(--e-global-color-secondary) !important;
	color: var(--e-global-color-hdg_on_primary) !important;
}

html.uael-quick-view-is-open .uael-quick-view-close-btn {
	color: var(--e-global-color-hdg_heading) !important;
}

html.uael-quick-view-is-open .uael-quick-view-close-btn:hover,
html.uael-quick-view-is-open .uael-quick-view-close-btn:focus-visible {
	color: var(--e-global-color-secondary) !important;
}

.elementor .elementor-widget-woocommerce-products ul.products,
.elementor .elementor-widget-woocommerce-product-related ul.products,
.elementor .elementor-widget-woocommerce-product-upsell ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.elementor .elementor-widget-woocommerce-products ul.products li.product,
.elementor .elementor-widget-woocommerce-product-related ul.products li.product,
.elementor .elementor-widget-woocommerce-product-upsell ul.products li.product {
	width: auto;
	margin: 0;
}

@media (max-width: 58rem) {
	.elementor .elementor-element[data-hdgroup-component="showcase"] {
		flex-wrap: wrap;
	}

	.elementor .elementor-element[data-hdgroup-component="showcase-main"] {
		flex: 1 1 100%;
		min-height: 24rem;
	}

	.elementor .elementor-element[data-hdgroup-component="showcase"] > .elementor-element[data-hdgroup-component="product-spotlight"],
	.elementor .elementor-element[data-hdgroup-component="showcase-products"] {
		flex: 1 1 calc(50% - 0.75rem);
	}

	.elementor .elementor-element[data-hdgroup-component="feature-products"] > .elementor-element[data-hdgroup-component="product-spotlight"],
	.elementor .elementor-element[data-hdgroup-component="featured-products-content"] {
		flex-basis: 100%;
	}

	.elementor .elementor-widget-woocommerce-products ul.products,
	.elementor .elementor-widget-woocommerce-product-related ul.products,
	.elementor .elementor-widget-woocommerce-product-upsell ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 40rem) {
	body .hdgroup-page-hero .elementor-heading-title {
		font-size: var(--e-global-typography-secondary-font-size);
	}

	.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] {
		padding: 1.25rem;
	}

	.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] .elementor-heading-title {
		font-size: var(--e-global-typography-secondary-font-size);
	}

	.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-heading,
	.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-text-editor,
	.elementor .elementor-element[data-hdgroup-component="home-hero-copy"] > .elementor-widget-button {
		width: min(100%, 38rem);
	}

	.elementor .elementor-element[data-hdgroup-component="home-hero"] .elementor-swiper-button {
		width: 2.25rem;
		height: 2.25rem;
	}

	body.hdgroup-totocha-seed-site .elementor .elementor-element[data-hdgroup-component="home-hero"] .elementor-swiper-button {
		top: 0.75rem !important;
		transform: none !important;
	}

	body.hdgroup-totocha-seed-site .elementor .elementor-element[data-hdgroup-component="home-hero"] {
		min-height: var(--min-height, 21rem);
	}

	.elementor .uael-woocommerce .uael-woo-products-summary-wrap {
		padding-inline: 0.5rem;
	}

	.elementor .uael-woocommerce .products li.product .button {
		width: 100%;
		margin-inline: 0 !important;
		padding-inline: 0.2rem;
		font-size: min(var(--e-global-typography-accent-font-size), 0.75rem);
	}

	.elementor .elementor-element[data-hdgroup-component="showcase"],
	.elementor .elementor-element[data-hdgroup-component="product-section"],
	.elementor .elementor-element[data-hdgroup-component="feature-products"],
	.elementor .elementor-element[data-hdgroup-component="category-section"],
	.elementor .elementor-element[data-hdgroup-component="contact"],
	.elementor .elementor-element[data-hdgroup-component="benefits"] {
		width: var(--hdgroup-site-content-width);
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 0.25rem;
	}

	.elementor .hdgroup-home-featured-products {
		width: var(--hdgroup-site-content-width);
	}

	.elementor .hdgroup-home-featured-products__header h2 {
		font-size: var(--e-global-typography-text-font-size);
	}

	.elementor .elementor-element[data-hdgroup-component="showcase-main"] {
		min-height: 21rem;
	}

	.elementor .elementor-element[data-hdgroup-component="showcase-main-copy"] {
		padding: 1rem;
	}

	.elementor .elementor-element[data-hdgroup-component="showcase"] > .elementor-element[data-hdgroup-component="product-spotlight"],
	.elementor .elementor-element[data-hdgroup-component="showcase-products"] {
		flex-basis: 100%;
	}

	.elementor .elementor-element[data-hdgroup-component="showcase-products"] {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.elementor .elementor-element[data-hdgroup-component="benefit-item"] {
		display: grid;
		flex: none;
		grid-template-columns: 2.5rem minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: center;
		justify-items: start;
		gap: 0.2rem 0.75rem;
		width: auto;
		padding: 0.65rem 0;
		border-bottom: 1px solid color-mix(in srgb, var(--e-global-color-hdg_on_primary) 18%, transparent);
		text-align: left;
	}

	.elementor .elementor-element[data-hdgroup-component="benefit-item"] > .elementor-widget-icon {
		grid-column: 1;
		grid-row: 1 / span 2;
		width: 2.5rem;
	}

	.elementor .elementor-element[data-hdgroup-component="benefit-item"] > .elementor-widget-heading {
		grid-column: 2;
		grid-row: 1;
		width: auto;
	}

	.elementor .elementor-element[data-hdgroup-component="benefit-item"] > .elementor-widget-text-editor {
		grid-column: 2;
		grid-row: 2;
		width: auto;
	}

	.elementor .elementor-element[data-hdgroup-component="category-tile"] {
		flex-wrap: wrap;
	}

	.elementor .elementor-element[data-hdgroup-component="category-tile"] > .elementor-widget-image {
		flex-basis: 100%;
	}

	.elementor .elementor-element[data-hdgroup-component="category-tile-copy"] {
		flex-basis: 100%;
	}

	.elementor .elementor-widget-woocommerce-products ul.products,
	.elementor .elementor-widget-woocommerce-product-related ul.products,
	.elementor .elementor-widget-woocommerce-product-upsell ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
