

/* Astra-connected design tokens: change them from Astra → Global. */
:root {
	--eth-color-accent: var(--ast-global-color-0);
	--eth-color-accent-hover: var(--ast-global-color-1);
	--eth-color-dark: var(--ast-global-color-2);
	--eth-color-text: var(--ast-global-color-3);
	--eth-color-soft: var(--ast-global-color-4);
	--eth-color-surface: var(--ast-global-color-5);
	--eth-color-border: var(--ast-global-color-6);
	--eth-color-heading: var(--ast-global-color-7);
	--eth-color-neutral: var(--ast-global-color-8);
	--eth-color-accent-soft: color-mix(in srgb, var(--eth-color-accent) 34%, var(--eth-color-surface));
	--eth-font-body: inherit;
	--eth-font-heading: inherit;
}
/**
theme name: astra child
author: brainstorm force
author uri: http://wpastra.com/about/
description: astra child theme for ethereal.
version: 1.2.0
license: gnu general public license v2 or later
license uri: http://www.gnu.org/licenses/gpl-2.0.html
text domain: astra-child
template: astra
*/

/* === ethereal home mobile === */
@media (max-width: 767px) {
	body.home {
		overflow-x: hidden;
	}
	body.home #content,
	body.home #primary,
	body.home .site-main,
	body.home article,
	body.home .entry-content {
		width: 100%;
		max-width: 100%;
		margin: 0;
		padding: 0;
	}

	/* hero: image first, readable content card below it. */
	body.home .elementor-element.elementor-element-8f520ed {
		min-height: 0 !important;
		padding: 0 18px 34px !important;
		background-position: center top !important;
		background-size: 100% auto !important;
		background-repeat: no-repeat !important;
	}
	body.home .elementor-element.elementor-element-4f58f1b {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
		padding: 300px 0 0 !important;
		justify-content: flex-start !important;
	}
	body.home .elementor-element.elementor-element-6b6c785 {
		width: 100% !important;
		margin: 0 !important;
		padding: 22px 18px 8px !important;
		border-radius: 14px 14px 0 0;
		background: color-mix(in srgb, var(--eth-color-surface) 94%, transparent);
		backdrop-filter: blur(3px);
	}
	body.home .elementor-element.elementor-element-6b6c785 h1,
	body.home .elementor-element.elementor-element-6b6c785 .hfe-infocard-title {
		width: 100% !important;
		margin: 0 !important;
		font-size: clamp(34px, 10.5vw, 42px) !important;
		line-height: 1.03 !important;
		letter-spacing: -.035em !important;
		overflow-wrap: normal !important;
		word-break: normal !important;
	}
	body.home .elementor-element.elementor-element-6b6c785 h1 > span:first-child {
		margin-bottom: 12px;
		font-size: 10px !important;
		line-height: 1.5 !important;
		letter-spacing: .16em !important;
	}
	body.home .elementor-element.elementor-element-6b6c785 .hfe-infocard-text,
	body.home .elementor-element.elementor-element-6b6c785 p {
		font-size: 15px !important;
		line-height: 1.55 !important;
	}
	body.home .elementor-element.elementor-element-8f54736 {
		width: 100% !important;
		margin: 0 !important;
		padding: 0 18px 20px !important;
		border-radius: 0 0 14px 14px;
		background: color-mix(in srgb, var(--eth-color-surface) 94%, transparent);
	}
	body.home .elementor-element.elementor-element-8f54736 .elementor-button {
		width: 100%;
		min-height: 50px;
		justify-content: center;
	}

	/* compact two-column product cards, shared across home product widgets. */
	body.home .elementor-widget-woocommerce-products ul.products,
	body.home .elementor-widget-wc-archive-products ul.products,
	body.home .elementor-545 ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}
	body.home ul.products li.product {
		width: auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}
	body.home ul.products li.product img {
		width: 100% !important;
		aspect-ratio: 4 / 5;
		height: auto !important;
		object-fit: cover !important;
	}
	body.home ul.products li.product .woocommerce-loop-product__title,
	body.home ul.products li.product h2 {
		min-height: 36px;
		margin: 8px 6px 4px !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}
	body.home ul.products li.product .price {
		min-height: 22px;
		margin: 0 5px 8px !important;
		font-size: 12px !important;
	}
	body.home ul.products li.product .button {
		width: calc(100% - 12px) !important;
		min-width: 0 !important;
		min-height: 44px !important;
		margin: 0 6px 8px !important;
		padding: 10px 6px !important;
		font-size: 10px !important;
		line-height: 1.25 !important;
		white-space: normal !important;
	}

	/* keep section headings readable without oversized empty areas. */
	body.home .elementor-widget-heading h2,
	body.home .elementor-widget-heading h3 {
		overflow-wrap: normal;
		word-break: normal;
	}
	body.home .elementor-element.elementor-element-438bca8,
	body.home .elementor-element.elementor-element-8db1dd5 {
		padding-top: 44px !important;
		padding-bottom: 44px !important;
	}
}
@media (max-width: 360px) {
	body.home .elementor-element.elementor-element-4f58f1b {
		padding-top: 270px !important;
	}
	body.home .elementor-545 ul.products {
		gap: 10px !important;
	}
}
/* === end ethereal home mobile === */

