/**
 * Shared ELPH Guard catalog sidebar.
 *
 * Used by:
 * - catalog_product single templates (29306)
 * - product_category archives (29369)
 * - catalog_product archive /catalog/ (29381)
 *
 * Page-specific layout and the primary product Loop Grid remain in their own
 * stylesheets. This file only controls the shared sidebar and its modules.
 */

:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) {
	--eg-sidebar-ink: #172b35;
	--eg-sidebar-muted: #61727b;
	--eg-sidebar-line: #dce6ea;
	--eg-sidebar-soft: #f3f7f8;
	--eg-sidebar-primary: #1286a3;
	--eg-sidebar-primary-dark: #0b6177;
}

/* The two template families use different Elementor container IDs. */
:where(
	body.single-catalog_product,
	body.elementor-page-29306
) .elementor-element-2dde045,
:where(
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-element-f347e9b {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
	width: 100%;
	min-width: 0;
	padding: 20px !important;
	overflow: hidden;
	background: var(--eg-sidebar-soft) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

/* Product Categories and News headings. */
:where(
	body.single-catalog_product,
	body.elementor-page-29306
) :is(.elementor-element-e6fc207, .elementor-element-8e3f843) .elementor-heading-title,
:where(
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29369,
	body.elementor-page-29381
) :is(.elementor-element-9509668, .elementor-element-8975289) .elementor-heading-title {
	margin: 0;
	padding: 0 0 12px;
	color: var(--eg-sidebar-ink);
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	border-bottom: 2px solid var(--eg-sidebar-primary);
}

:where(
	body.single-catalog_product,
	body.elementor-page-29306
) .elementor-element-8e3f843,
:where(
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-element-8975289 {
	margin-top: 28px;
}

/* Category navigation. The widget supplies the dynamic taxonomy links. */
:where(
	body.single-catalog_product,
	body.elementor-page-29306
) .elementor-element-66a98dc,
:where(
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-element-8131df1 {
	--eg-category-text: var(--eg-sidebar-ink);
	--eg-category-accent: var(--eg-sidebar-primary-dark);
	--eg-category-divider: var(--eg-sidebar-line);
	margin: 0 !important;
}

:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elphguard-product-categories__link {
	min-height: 0;
	padding: 11px 2px;
	font-size: 14px;
	line-height: 1.35;
}

:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elphguard-product-categories__link:hover,
:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elphguard-product-categories__link:focus-visible {
	padding-inline-start: 7px;
	color: var(--eg-sidebar-primary-dark);
}

/* News Loop Grid: always a compact one-column list inside the sidebar. */
:where(
	body.single-catalog_product,
	body.elementor-page-29306
) .elementor-element-32face7,
:where(
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-element-f03d997 {
	margin: 0 !important;
}

:where(
	body.single-catalog_product,
	body.elementor-page-29306
) .elementor-element-32face7 .elementor-loop-container,
:where(
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-element-f03d997 .elementor-loop-container {
	display: grid;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0 !important;
}

:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-29318.e-loop-item,
:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-29318 .e-con,
:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-29318 .e-con-inner {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-29318 .elementor-heading-title {
	margin: 0;
	font-size: 14px;
	line-height: 1.45;
}

:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-29318 .elementor-heading-title a {
	display: block;
	padding: 11px 2px;
	color: var(--eg-sidebar-muted);
	border-bottom: 1px solid var(--eg-sidebar-line);
	transition: color 160ms ease, padding-inline-start 160ms ease;
}

:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-29318 .elementor-heading-title a:hover,
:where(
	body.single-catalog_product,
	body.tax-product_category,
	body.post-type-archive-catalog_product,
	body.elementor-page-29306,
	body.elementor-page-29369,
	body.elementor-page-29381
) .elementor-29318 .elementor-heading-title a:focus-visible {
	padding-inline-start: 7px;
	color: var(--eg-sidebar-primary-dark);
}

@media (min-width: 992px) {
	:where(
		body.single-catalog_product,
		body.elementor-page-29306
	) .elementor-element-2dde045,
	:where(
		body.tax-product_category,
		body.post-type-archive-catalog_product,
		body.elementor-page-29369,
		body.elementor-page-29381
	) .elementor-element-f347e9b {
		padding: 24px !important;
	}
}

