/* Blossom Shop — картки товарів і сторінки WooCommerce у стилі сайту */

:root {
	--bg-green:  var(--e-global-color-primary, #1A4B2E);
	--bg-dark:   var(--e-global-color-secondary, #1D2D25);
	--bg-light:  var(--e-global-color-text, #CCD2D2);
	--bg-accent: var(--e-global-color-accent, #91524B);
	--bg-rose:   #C09E94;
	--bg-font:   "Philosopher", "Times New Roman", serif;
}

/* ---------- Сітка ---------- */

.bg-products {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 30px;
	width: 100%;
	margin: 0;
	padding: 10px 0;
}

.bg-products--cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bg-products--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.bg-products__more {
	display: flex;
	justify-content: center;
	margin-top: 30px;
}

/* ---------- Картка ---------- */

.bg-product {
	display: flex;
	flex-direction: column;
	font-family: var(--bg-font);
}

.bg-product__media {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 15px;
	line-height: 0;
}

.bg-product__media img,
.bg-product__img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 15px;
	transition: transform .5s ease;
}

.bg-product__media:hover img { transform: scale(1.05); }

.bg-product__badge {
	position: absolute;
	top: 12px;
	left: 12px;
	padding: 5px 14px;
	border-radius: 3px;
	background: var(--bg-accent);
	color: var(--bg-light);
	font: 300 14px/1.2 var(--bg-font);
	letter-spacing: 1px;
}

.bg-product--out .bg-product__media img { filter: grayscale(.6); opacity: .75; }

.bg-product__title {
	margin: 16px 0 0;
	font-family: var(--bg-font);
	font-size: 25px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: .4px;
	text-transform: uppercase;
}

.bg-product__title a {
	color: var(--bg-green);
	text-decoration: none;
}

.bg-product__title a:hover { color: var(--bg-accent); }

.bg-product__desc {
	margin-top: 8px;
	color: #8A9490;
	font-family: var(--bg-font);
	font-size: 16px;
	line-height: 1.5;
}

.bg-product__price {
	margin-top: 10px;
	color: var(--bg-dark);
	font-family: var(--bg-font);
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
}

.bg-product__price del { opacity: .5; font-size: .75em; margin-right: 8px; }
.bg-product__price ins { text-decoration: none; color: var(--bg-accent); }

.bg-product__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: auto;
	padding-top: 18px;
}

/* ---------- Кнопки ---------- */

.bg-btn,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	display: inline-block;
	padding: 12px 24px;
	border: 0;
	border-radius: 3px;
	background: var(--bg-dark);
	color: var(--bg-light);
	font-family: var(--bg-font);
	font-size: 16px;
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 1px;
	text-transform: lowercase;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	box-shadow: 3px 5px 10px rgba(0, 0, 0, .35);
	transition: background-color .25s ease, color .25s ease;
}

.bg-btn:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
	background: var(--bg-green);
	color: #fff;
}

.bg-btn--more {
	background: var(--bg-rose);
}

.bg-btn--more:hover {
	background: var(--bg-accent);
	color: var(--bg-light);
}

/* Стан «додається» / «додано» для AJAX-кнопки */
.bg-btn--order.loading { opacity: .6; pointer-events: none; }

.bg-product__actions .added_to_cart {
	align-self: center;
	color: var(--bg-green);
	font-family: var(--bg-font);
	font-size: 15px;
	letter-spacing: .5px;
	text-decoration: underline;
}

/* ---------- Кошик у шапці ---------- */

.bg-cart { display: flex; align-items: center; }

.bg-cart__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--bg-green);
	font-family: var(--bg-font);
	font-size: 16px;
	text-decoration: none;
	transition: color .25s ease;
}

.bg-cart__link:hover { color: var(--bg-accent); }

.bg-cart__icon { flex: 0 0 auto; }

.bg-cart__count {
	position: absolute;
	top: -6px;
	left: 16px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: var(--bg-accent);
	color: #fff;
	font-size: 12px;
	line-height: 18px;
	text-align: center;
}

.bg-cart__link:not(.is-filled) .bg-cart__count { background: #A8B2AE; }

.bg-cart__total { white-space: nowrap; }

@media (max-width: 1024px) {
	.bg-cart__total { display: none; }
}

/* ---------- Сторінки WooCommerce у фірмовому стилі ---------- */

.woocommerce,
.woocommerce-page {
	font-family: var(--bg-font);
}

.woocommerce .woocommerce-breadcrumb {
	font-family: var(--bg-font);
	font-size: 15px;
	color: #8A9490;
}

.woocommerce .woocommerce-breadcrumb a { color: var(--bg-green); }

.woocommerce h1,
.woocommerce h2,
.woocommerce h3,
.woocommerce .product_title,
.woocommerce-page h1.entry-title {
	font-family: var(--bg-font);
	color: var(--bg-green);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.woocommerce .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--bg-dark);
	font-family: var(--bg-font);
	font-size: 26px;
	font-weight: 400;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bg-green); }

/* Сітка архіву каталогу */
.woocommerce ul.products li.product img {
	border-radius: 15px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--bg-font);
	font-size: 25px;
	font-weight: 600;
	color: var(--bg-green);
	text-transform: uppercase;
	letter-spacing: .4px;
}

.woocommerce ul.products li.product .price { font-size: 22px; }

.woocommerce span.onsale {
	background: var(--bg-accent);
	color: var(--bg-light);
	font-family: var(--bg-font);
	font-weight: 300;
	letter-spacing: 1px;
	text-transform: lowercase;
}

/* Повідомлення */
.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--bg-green);
	font-family: var(--bg-font);
}

.woocommerce-message::before,
.woocommerce-info::before { color: var(--bg-green); }

.woocommerce-error { border-top-color: var(--bg-accent); font-family: var(--bg-font); }
.woocommerce-error::before { color: var(--bg-accent); }

/* Кошик і оформлення */
.woocommerce table.shop_table {
	border-radius: 8px;
	font-family: var(--bg-font);
}

.woocommerce table.shop_table th { color: var(--bg-green); text-transform: uppercase; letter-spacing: 1px; }

.woocommerce-cart table.cart img { width: 80px; border-radius: 8px; }

.woocommerce form .form-row label,
.woocommerce-checkout h3 {
	font-family: var(--bg-font);
	color: var(--bg-green);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single {
	padding: 10px 14px;
	border: 1px solid #D6DCDA;
	border-radius: 3px;
	font-family: var(--bg-font);
	font-size: 16px;
}

.woocommerce #payment,
.woocommerce-checkout-review-order {
	font-family: var(--bg-font);
}

.woocommerce #payment div.payment_box { background: #F2F5F4; }

/* ---------- Адаптив ---------- */

@media (max-width: 1024px) {
	.bg-products { gap: 30px 20px; }
	.bg-products--cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bg-product__title { font-size: 22px; }
	.bg-product__price { font-size: 21px; }
}

@media (max-width: 767px) {
	.bg-products,
	.bg-products--cols-2,
	.bg-products--cols-3,
	.bg-products--cols-4 {
		grid-template-columns: minmax(0, 1fr);
		gap: 35px;
		padding: 10px;
	}

	.bg-product__actions .bg-btn { flex: 1 1 auto; }
}

/* Шапка: телефон поруч із кошиком не повинен переноситись */
.elementor-location-header .elementor-widget-heading .elementor-heading-title {
	white-space: nowrap;
}

@media (max-width: 767px) {
	.elementor-location-header .elementor-widget-heading .elementor-heading-title {
		white-space: normal;
	}
}

/* -------------------------------------------------------------------------
 * Блоки «Кошик» і «Оформлення замовлення» (WooCommerce Blocks)
 * ---------------------------------------------------------------------- */

/* alignwide вилазить за межі контейнера теми — притискаємо назад */
.wp-block-woocommerce-cart.alignwide,
.wp-block-woocommerce-checkout.alignwide,
.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-cart .page-content,
.woocommerce-checkout .page-content,
.woocommerce-account .page-content {
	padding-bottom: 60px;
	overflow-x: clip;
}

.wp-block-woocommerce-cart,
.wp-block-woocommerce-checkout,
.wc-block-components-sidebar-layout {
	font-family: var(--bg-font);
}

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title {
	font-family: var(--bg-font) !important;
	color: var(--bg-green);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.wc-block-components-product-name {
	color: var(--bg-green);
	font-family: var(--bg-font);
	font-size: 18px;
	text-decoration: none;
}

.wc-block-components-product-name:hover { color: var(--bg-accent); }

.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img {
	border-radius: 8px;
}

.wc-block-components-totals-item__value,
.wc-block-components-formatted-money-amount {
	font-family: var(--bg-font);
	color: var(--bg-dark);
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 24px;
}

/* Кнопки блоків */
.wc-block-components-button:not(.is-link) {
	border: 0;
	border-radius: 3px;
	background: var(--bg-dark);
	color: var(--bg-light);
	font-family: var(--bg-font);
	font-size: 16px;
	font-weight: 300;
	letter-spacing: 1px;
	text-transform: lowercase;
	box-shadow: 3px 5px 10px rgba(0, 0, 0, .35);
	transition: background-color .25s ease;
}

.wc-block-components-button:not(.is-link):hover {
	background: var(--bg-green);
	color: #fff;
}

.wc-block-components-button:not(.is-link) > .wc-block-components-button__text {
	text-decoration: none;
}

.wc-block-components-button.is-link {
	color: var(--bg-green);
	font-family: var(--bg-font);
}

/* Поля форми оформлення */
.wc-block-components-text-input input[type="text"],
.wc-block-components-text-input input[type="email"],
.wc-block-components-text-input input[type="tel"],
.wc-block-components-textarea,
.wc-blocks-components-select__container {
	border-radius: 3px;
	font-family: var(--bg-font);
}

.wc-block-components-text-input.is-active label,
.wc-block-components-text-input input:focus {
	color: var(--bg-green);
}

.wc-block-components-radio-control__option,
.wc-block-components-checkbox__label {
	font-family: var(--bg-font);
}

.wc-block-components-notice-banner {
	font-family: var(--bg-font);
	border-radius: 3px;
}

.wc-block-components-sidebar .wc-block-components-totals-wrapper {
	font-family: var(--bg-font);
}

@media (max-width: 767px) {
	.woocommerce-cart .page-content,
	.woocommerce-checkout .page-content {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* WooCommerce Blocks фарбує кнопки власними правилами з вищою вагою */
.wc-block-components-button.contained,
.wc-block-components-button.wp-element-button.contained,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	background-color: var(--bg-dark) !important;
	color: var(--bg-light) !important;
	border: 0 !important;
	border-radius: 3px !important;
}

.wc-block-components-button.contained:hover,
.wc-block-components-button.wp-element-button.contained:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--bg-green) !important;
	color: #fff !important;
}

.wc-block-components-button.contained:disabled,
.wc-block-components-checkout-place-order-button:disabled {
	opacity: .55;
}

/* -------------------------------------------------------------------------
 * Сторінка товару
 * ---------------------------------------------------------------------- */

.single-product .page-content,
.post-type-archive-product .page-content,
.tax-product_cat .page-content {
	padding-bottom: 60px;
}

.single-product div.product .woocommerce-product-gallery__image img {
	border-radius: 15px;
	max-height: 620px;
	object-fit: cover;
}

.single-product div.product .product_title {
	margin-bottom: 10px;
	font-size: 44px;
	line-height: 1.1;
}

.single-product div.product .woocommerce-product-details__short-description {
	margin: 14px 0 22px;
	color: #6E7A75;
	font-size: 17px;
	line-height: 1.6;
}

.single-product div.product form.cart {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 22px 0;
}

.single-product div.product form.cart .quantity input.qty {
	width: 72px;
	height: 46px;
	padding: 8px;
	border: 1px solid #D6DCDA;
	border-radius: 3px;
	font-family: var(--bg-font);
	font-size: 16px;
	text-align: center;
}

.single-product .product_meta {
	margin-top: 18px;
	color: #8A9490;
	font-size: 15px;
}

.single-product .product_meta a { color: var(--bg-accent); }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: transparent;
	border-radius: 3px 3px 0 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-family: var(--bg-font);
	font-size: 17px;
	color: var(--bg-dark);
	text-transform: uppercase;
	letter-spacing: 1px;
}

.woocommerce .related.products > h2,
.woocommerce .up-sells > h2 {
	margin-bottom: 24px;
	font-size: 32px;
}

@media (max-width: 767px) {
	.single-product div.product .product_title { font-size: 32px; }
	.single-product div.product .woocommerce-product-gallery__image img { max-height: 460px; }
}

/* Тема підкреслює всі посилання в контенті — кнопки мають лишатись без лінії */
a.bg-btn,
a.bg-btn:hover,
a.bg-btn:focus,
.bg-product__title a,
.bg-cart__link,
.bg-cart__link:hover {
	text-decoration: none !important;
}

/* -------------------------------------------------------------------------
 * Купівля в 1 клік
 * ---------------------------------------------------------------------- */

.bg-btn--quick {
	background: transparent;
	color: var(--bg-green);
	box-shadow: none;
	border: 1px solid var(--bg-green);
	padding: 11px 22px;
}

.bg-btn--quick:hover {
	background: var(--bg-green);
	color: #fff;
}

.bg-btn--quick-single {
	margin-left: 12px;
}

.bg-quick[hidden] { display: none; }

.bg-quick {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

body.bg-quick-open { overflow: hidden; }

.bg-quick__overlay {
	position: absolute;
	inset: 0;
	background: rgba(29, 45, 37, .6);
}

.bg-quick__dialog {
	position: relative;
	width: 100%;
	max-width: 420px;
	max-height: 90vh;
	overflow-y: auto;
	padding: 32px 30px 26px;
	border-radius: 15px;
	background: #fff;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .35);
	font-family: var(--bg-font);
}

.bg-quick__close {
	position: absolute;
	top: 10px;
	right: 14px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--bg-dark);
	font-size: 30px;
	line-height: 1;
	cursor: pointer;
	opacity: .5;
}

.bg-quick__close:hover { opacity: 1; }

.bg-quick__title {
	margin: 0 0 6px;
	color: var(--bg-green);
	font-family: var(--bg-font);
	font-size: 26px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.bg-quick__product {
	margin: 0 0 10px;
	color: var(--bg-dark);
	font-size: 18px;
}

.bg-quick__hint {
	margin: 0 0 18px;
	color: #7C8783;
	font-size: 15px;
	line-height: 1.45;
}

.bg-quick__label {
	display: block;
	margin-bottom: 14px;
	color: var(--bg-green);
	font-size: 15px;
}

.bg-quick__label > span { display: block; margin-bottom: 5px; }
.bg-quick__label b { color: var(--bg-accent); }

.bg-quick__label input,
.bg-quick__label textarea {
	width: 100%;
	padding: 11px 14px;
	border: 1px solid #D6DCDA;
	border-radius: 3px;
	background: #fff;
	color: var(--bg-dark);
	font-family: var(--bg-font);
	font-size: 16px;
}

.bg-quick__label input:focus,
.bg-quick__label textarea:focus {
	border-color: var(--bg-green);
	outline: none;
}

.bg-quick__trap {
	position: absolute !important;
	left: -9999px !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
}

.bg-quick__submit {
	width: 100%;
	margin-top: 6px;
}

.bg-quick__msg {
	margin: 14px 0 0;
	font-size: 15px;
	line-height: 1.45;
}

.bg-quick__msg.is-error { color: #B4453C; }
.bg-quick__msg.is-ok { color: var(--bg-green); }

/* Приховані поля чекауту */
.bg-field-hidden,
#billing_country_field,
#shipping_country_field,
#billing_postcode_field,
#shipping_postcode_field {
	display: none !important;
}

@media (max-width: 480px) {
	.bg-quick__dialog { padding: 28px 20px 22px; }
	.bg-quick__title { font-size: 22px; }
	.bg-btn--quick-single { margin: 10px 0 0; width: 100%; }
	.single-product div.product form.cart { flex-wrap: wrap; }
}

/* Акційна ціна не має бути підкресленою */
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins,
.woocommerce ul.products li.product .price ins,
.bg-product__price ins {
	text-decoration: none !important;
	font-weight: 400;
}

/* Область не запитуємо — завжди Харківська */
#billing_state_field,
#shipping_state_field,
#calc_shipping_state_field {
	display: none !important;
}

/* =========================================================================
 * Мобільна шапка: один рядок «лого — телефон — кошик — бургер»
 * і бургер, який одразу показує каталог
 * ====================================================================== */

@media (max-width: 767px) {

	/* --- рядок шапки --- */

	header .elementor-element-2a4c70b {
		position: relative !important;
	}

	header .elementor-element-2a4c70b > .e-con-inner {
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 10px !important;
		padding: 8px 12px !important;
	}

	header .elementor-element-2a4c70b > .e-con-inner > .e-con {
		width: auto !important;
		flex: 0 0 auto !important;
		padding: 0 !important;
		margin: 0 !important;
	}

	/* лого ліворуч */
	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(1) {
		order: 1;
	}

	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(1) img {
		max-width: 104px !important;
		height: auto !important;
	}

	/* телефон + кошик праворуч */
	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(3) {
		order: 2;
		flex: 1 1 auto !important;
		flex-direction: row !important;
		justify-content: flex-end !important;
		align-items: center !important;
		gap: 14px !important;
	}

	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(3) > .e-con {
		width: auto !important;
		flex: 0 0 auto !important;
		padding: 0 !important;
	}

	/* соцмережі в шапці на мобільному зайві — вони є у футері */
	header .elementor-widget-social-icons {
		display: none !important;
	}

	header .elementor-widget-heading .elementor-heading-title {
		font-size: 13px !important;
		line-height: 1.2 !important;
		letter-spacing: 0 !important;
		word-spacing: 0 !important;
		white-space: nowrap;
	}

	header .bg-cart__total { display: none; }
	header .bg-cart__icon { width: 24px; height: 24px; }

	/* бургер останній */
	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(2) {
		order: 3;
	}

	header .elementor-widget-navigation-menu .elementor-widget-container {
		display: flex;
		justify-content: flex-end;
	}

	header .hfe-nav-menu__toggle {
		margin: 0 !important;
		padding: 0 !important;
	}

	/* --- випадаюче меню --- */

	/* щоб панель позиціонувалась відносно всієї шапки, а не вузької колонки */
	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(2),
	header .elementor-widget-navigation-menu,
	header .hfe-nav-menu,
	header .hfe-nav-menu-layout,
	header .hfe-nav-menu .elementor-widget-container {
		position: static !important;
	}

	/* HFE тримає панель у власній обгортці — саме її треба розтягнути на всю шапку */
	header .hfe-nav-menu__layout-horizontal,
	header .hfe-nav-menu__layout-vertical {
		position: absolute !important;
		top: 100% !important;
		left: 0 !important;
		right: 0 !important;
		width: auto !important;
		margin: 0 !important;
		transform: none !important;
		border-top: 1px solid #E6EBE9;
		background: #fff !important;
		box-shadow: 0 16px 32px rgba(29, 45, 37, .18);
		z-index: 999;
	}

	header ul.hfe-nav-menu {
		position: static !important;
		width: auto !important;
		max-height: calc(100vh - 90px);
		overflow-y: auto;
		padding: 8px 0 14px !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	header ul.hfe-nav-menu > li > a.hfe-menu-item,
	header ul.hfe-nav-menu li a {
		line-height: 1.3 !important;
		padding: 13px 22px !important;
		font-size: 17px !important;
	}

	/* підменю каталогу завжди розгорнуте */
	header ul.hfe-nav-menu ul.sub-menu {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		height: auto !important;
		max-height: none !important;
		width: auto !important;
		padding: 0 !important;
		border: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
		transform: none !important;
	}

	header ul.hfe-nav-menu ul.sub-menu li {
		visibility: visible !important;
		opacity: 1 !important;
	}

	header ul.hfe-nav-menu ul.sub-menu li a {
		padding: 11px 22px 11px 38px !important;
		font-size: 16px !important;
		font-weight: 400 !important;
		color: var(--bg-dark) !important;
	}

	header ul.hfe-nav-menu ul.sub-menu li a:hover {
		color: var(--bg-accent) !important;
	}

	/* стрілка розкриття більше не потрібна */
	header .hfe-menu-toggle,
	header .hfe-nav-menu .sub-arrow,
	header ul.hfe-nav-menu > li > a .hfe-menu-toggle {
		display: none !important;
	}

	/* «Вітрина» стає заголовком групи, а не посиланням-пасткою */
	header ul.hfe-nav-menu > li.menu-item-has-children > a {
		color: var(--bg-green) !important;
		font-size: 15px !important;
		letter-spacing: 2px !important;
		opacity: .65;
		pointer-events: none;
	}
}

/* Планшет: меню ще горизонтальне, але місця вже мало —
   тому телефон компактний, соцмережі ховаємо, колонки не тягнемо у відсотках */
@media (min-width: 768px) and (max-width: 1024px) {

	header .elementor-element-2a4c70b > .e-con-inner {
		flex-wrap: nowrap !important;
		align-items: center !important;
		gap: 12px !important;
	}

	header .elementor-element-2a4c70b > .e-con-inner > .e-con {
		width: auto !important;
		flex: 0 0 auto !important;
	}

	/* меню забирає вільне місце */
	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(2) {
		flex: 1 1 auto !important;
	}

	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(3) {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 14px !important;
	}

	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(3) > .e-con {
		width: auto !important;
		flex: 0 0 auto !important;
	}

	header .elementor-widget-social-icons { display: none !important; }

	header .elementor-widget-heading .elementor-heading-title {
		font-size: 14px !important;
		line-height: 1.2 !important;
		letter-spacing: 0 !important;
		word-spacing: 0 !important;
		white-space: nowrap !important;
	}

	header .elementor-element-2a4c70b > .e-con-inner > .e-con:nth-child(1) img {
		max-width: 120px !important;
		height: auto !important;
	}

	header .hfe-nav-menu li a.hfe-menu-item {
		padding-left: 12px !important;
		padding-right: 12px !important;
		font-size: 17px !important;
		word-spacing: 0 !important;
	}
}

/* =========================================================================
 * Шапка: всі колонки по одній осі
 * (логотип, меню, соцмережі, телефон і кошик мають різну висоту,
 *  без цього кожен блок «плаває» на своїй висоті)
 * ====================================================================== */

header .elementor-element-2a4c70b > .e-con-inner,
header .elementor-element-2a4c70b > .e-con-inner > .e-con,
header .elementor-element-2a4c70b > .e-con-inner > .e-con > .e-con {
	align-items: center !important;
}

header .elementor-element-2a4c70b .elementor-widget,
header .elementor-element-2a4c70b .elementor-widget-container {
	display: flex;
	align-items: center;
}

header .elementor-element-2a4c70b .elementor-widget-heading .elementor-heading-title {
	margin: 0;
	line-height: 1.2;
}

/* Шапка стоїть на світлому тлі, а не поверх банера */
header.site-header,
.ehf-header header,
header .elementor-element-2a4c70b {
	background-color: #fff;
}

/* =========================================================================
 * Ієрархія кнопок: «замовити» — головна дія, «докладніше» — тиха
 * ====================================================================== */

/* Головна дія — акцентний колір бренду, білий текст, тепла тінь */
.bg-btn--order,
.woocommerce div.product form.cart button.button,
.woocommerce div.product form.cart .single_add_to_cart_button,
.woocommerce ul.products li.product a.add_to_cart_button,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.woocommerce .checkout-button.button,
.woocommerce #place_order {
	background: var(--bg-accent) !important;
	color: #fff !important;
	border: 0 !important;
	padding: 13px 28px;
	font-weight: 400;
	letter-spacing: 1.5px;
	box-shadow: 0 6px 18px rgba(145, 82, 75, .38) !important;
}

.bg-btn--order:hover,
.woocommerce div.product form.cart button.button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.woocommerce ul.products li.product a.add_to_cart_button:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.woocommerce .checkout-button.button:hover,
.woocommerce #place_order:hover {
	background: #7C443E !important;
	color: #fff !important;
	box-shadow: 0 8px 22px rgba(145, 82, 75, .5) !important;
}

/* Другорядна дія — тихе посилання без заливки й тіні */
.bg-btn--more {
	padding: 13px 14px;
	border: 0;
	border-bottom: 1px solid transparent;
	border-radius: 0;
	background: transparent;
	color: #97A19D;
	font-weight: 300;
	letter-spacing: .5px;
	box-shadow: none;
}

.bg-btn--more:hover {
	background: transparent;
	border-bottom-color: var(--bg-green);
	color: var(--bg-green);
	box-shadow: none;
}

/* «купити в 1 клік» лишається проміжним варіантом — контурна кнопка */
.bg-btn--quick {
	border-color: #B9C3BF;
	color: var(--bg-green);
}

.bg-btn--quick:hover {
	border-color: var(--bg-green);
	background: var(--bg-green);
	color: #fff;
}

/* Кнопка «оглянути всі» під сіткою — контурна, не тиха */
.bg-btn--all {
	border: 1px solid var(--bg-green);
	background: transparent;
	color: var(--bg-green);
	box-shadow: none;
}

.bg-btn--all:hover {
	background: var(--bg-green);
	color: #fff;
}

/* Телефон у футері — посилання, але виглядає як звичайний текст */
a.bg-tel {
	color: inherit;
	text-decoration: none;
	transition: color .25s ease;
}

a.bg-tel:hover {
	color: var(--bg-accent);
	text-decoration: none;
}

/* Випадаюче меню каталогу на десктопі має непрозоре тло.
   Elementor задає тло самої панелі власним правилом з вищою вагою,
   тому тут потрібен !important. */
@media (min-width: 768px) {
	header .elementor-widget-navigation-menu .hfe-nav-menu ul.sub-menu,
	header .hfe-nav-menu ul.sub-menu {
		background-color: #fff !important;
		box-shadow: 0 10px 26px rgba(29, 45, 37, .18) !important;
		overflow: hidden;
	}
}

/* =========================================================================
 * Трирівневе меню каталогу: Каталог → група → розділ
 * Третій рівень показуємо всередині тієї самої панелі, а не окремим
 * випадаючим блоком збоку — так видно всю структуру одразу.
 * ====================================================================== */

/* Пункт-група — це заголовок, а не посилання */
header li.bg-menu-group > .hfe-has-submenu-container > a,
header li.bg-menu-group > a {
	pointer-events: none;
	color: var(--bg-green) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 2px !important;
	text-transform: uppercase;
	opacity: .55;
}

header li.bg-menu-group .sub-arrow,
header li.bg-menu-group .hfe-menu-toggle {
	display: none !important;
}

@media (min-width: 768px) {

	/* панель ширша — у неї тепер вкладені пункти */
	header .elementor-widget-navigation-menu .hfe-nav-menu ul.sub-menu,
	header .hfe-nav-menu ul.sub-menu {
		min-width: 280px;
		padding: 10px 0 14px !important;
	}

	/* вкладене підменю стає звичайним списком у потоці */
	header .hfe-nav-menu ul.sub-menu ul.sub-menu {
		position: static !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: auto !important;
		min-width: 0 !important;
		left: auto !important;
		top: auto !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		transform: none !important;
	}

	header .hfe-nav-menu ul.sub-menu ul.sub-menu > li > a {
		padding-left: 44px !important;
		font-size: 15px !important;
		font-weight: 400 !important;
	}

	header li.bg-menu-group > .hfe-has-submenu-container > a {
		padding-top: 12px !important;
		padding-bottom: 4px !important;
	}
}

@media (max-width: 767px) {

	/* у бургері так само: групи — заголовки, розділи під ними */
	header ul.hfe-nav-menu ul.sub-menu ul.sub-menu > li > a {
		padding-left: 54px !important;
		font-size: 15px !important;
	}

	header li.bg-menu-group > .hfe-has-submenu-container > a {
		padding-top: 14px !important;
		padding-bottom: 4px !important;
	}
}

/* =========================================================================
 * Панель фільтрів каталогу
 * ====================================================================== */

.bg-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 28px;
	padding: 0 0 26px;
	margin-bottom: 6px;
	border-bottom: 1px solid #E3E9E6;
	font-family: var(--bg-font);
}

.bg-filters__group {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.bg-filters__label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--bg-green);
	opacity: .55;
	margin-right: 2px;
}

.bg-filters__items { display: flex; flex-wrap: wrap; gap: 8px; }

a.bg-filter {
	display: inline-block;
	padding: 7px 15px;
	border: 1px solid #DCE3E0;
	border-radius: 3px;
	background: transparent;
	color: var(--bg-dark);
	font-family: var(--bg-font);
	font-size: 14.5px;
	line-height: 1.2;
	letter-spacing: .3px;
	text-decoration: none !important;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

a.bg-filter:hover {
	border-color: var(--bg-green);
	color: var(--bg-green);
}

a.bg-filter.is-active {
	border-color: var(--bg-accent);
	background: var(--bg-accent);
	color: #fff;
}

a.bg-filters__reset {
	margin-left: auto;
	color: #97A19D;
	font-size: 14px;
	text-decoration: none !important;
	border-bottom: 1px solid transparent;
}

a.bg-filters__reset:hover {
	color: var(--bg-accent);
	border-bottom-color: var(--bg-accent);
}

.bg-empty {
	padding: 30px 0 10px;
	color: #7C8783;
	font-family: var(--bg-font);
	font-size: 16px;
}

@media (max-width: 767px) {
	.bg-filters {
		gap: 12px 16px;
		padding: 0 10px 20px;
	}

	.bg-filters__group { width: 100%; }
	.bg-filters__label { width: 100%; margin-bottom: 2px; }
	a.bg-filter { padding: 8px 13px; font-size: 14px; }
	a.bg-filters__reset { margin-left: 0; }
}

/* =========================================================================
 * Шапка розділу: без фонового фото, лише H1.
 * Банер на 350px відсував товар нижче згину — і на мобільному, і на десктопі.
 * ====================================================================== */

.bg-section-hero {
	background-image: none !important;
	background-color: transparent !important;
	min-height: 0 !important;
	height: auto !important;
	padding: 34px 10px 12px !important;
	border-radius: 0 !important;
}

.bg-section-hero .elementor-widget-heading .elementor-widget-container {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.bg-section-hero .elementor-heading-title {
	margin: 0;
	color: var(--bg-green) !important;
	font-family: var(--bg-font);
	font-size: 44px !important;
	font-weight: 700;
	line-height: 1.1 !important;
	letter-spacing: 1px;
	text-align: left !important;
	text-shadow: none !important;
}

/* <br> у заголовку лишаємо: без нього слова злипаються («на»+«день») */

@media (max-width: 767px) {
	.bg-section-hero {
		padding: 22px 10px 2px !important;
	}

	.bg-section-hero .elementor-widget-heading .elementor-widget-container {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.bg-section-hero .elementor-heading-title {
		font-size: 30px !important;
		line-height: 1.15 !important;
		letter-spacing: .5px;
	}
}

/* =========================================================================
 * Панель каталогу: дві кнопки в один рядок (мобільний)
 * На десктопі кнопок немає — фільтр і категорії показані одразу.
 * ====================================================================== */

.bg-toolbar { display: none; }

@media (max-width: 767px) {

	.bg-toolbar {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
		padding: 4px 10px 14px;
	}

	/* якщо кнопка одна — займає всю ширину */
	.bg-toolbar:has(> :only-child) { grid-template-columns: 1fr; }

	.bg-toolbar__btn {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
		width: 100%;
		padding: 13px 14px;
		border: 1px solid #D3DCD8;
		border-radius: 3px;
		background: #fff;
		color: var(--bg-dark);
		font-family: var(--bg-font);
		font-size: 16px;
		letter-spacing: .5px;
		cursor: pointer;
		transition: border-color .2s ease, color .2s ease;
	}

	.bg-toolbar__btn::after {
		content: "";
		width: 7px;
		height: 7px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: rotate(45deg) translate(-2px, -2px);
		transition: transform .2s ease;
	}

	.bg-toolbar__btn[aria-expanded="true"] {
		border-color: var(--bg-green);
		color: var(--bg-green);
	}

	.bg-toolbar__btn[aria-expanded="true"]::after {
		transform: rotate(-135deg) translate(-3px, -3px);
	}

	.bg-toolbar__count {
		min-width: 20px;
		height: 20px;
		padding: 0 6px;
		border-radius: 10px;
		background: var(--bg-accent);
		color: #fff;
		font-size: 12px;
		line-height: 20px;
		text-align: center;
	}

	/* панелі згорнуті, поки не натиснули кнопку */
	.bg-panel {
		display: none;
	}

	.bg-panel.is-open {
		display: block;
	}

	/* усередині згорнутої панелі фільтр уже без власного відступу зверху */
	.bg-panel .bg-filters {
		padding-top: 4px;
	}
}

/* ---------- список підкатегорій ---------- */

.bg-subcats {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0 0 22px;
	margin-bottom: 4px;
	border-bottom: 1px solid #E3E9E6;
}

a.bg-subcat {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 16px;
	border: 1px solid #DCE3E0;
	border-radius: 3px;
	color: var(--bg-green);
	font-family: var(--bg-font);
	font-size: 15px;
	text-decoration: none !important;
	transition: border-color .2s ease, background-color .2s ease, color .2s ease;
}

a.bg-subcat:hover {
	border-color: var(--bg-green);
	background: var(--bg-green);
	color: #fff;
}

.bg-subcat__n {
	font-size: 12px;
	opacity: .55;
}

@media (max-width: 767px) {
	.bg-subcats {
		flex-direction: column;
		align-items: stretch;
		padding: 0 10px 18px;
	}

	a.bg-subcat { justify-content: space-between; }
}

/* =========================================================================
 * Заголовок архіву категорії WooCommerce.
 * Глобальна типографіка теми — 80px, і назва підкатегорії вилазила за екран.
 * ====================================================================== */

.woocommerce .woocommerce-products-header__title,
.woocommerce-page h1.page-title,
h1.woocommerce-products-header__title {
	font-family: var(--bg-font);
	font-size: 44px !important;
	line-height: 1.1 !important;
	letter-spacing: 1px !important;
	word-spacing: normal !important;
	color: var(--bg-green);
	overflow-wrap: break-word;
	text-wrap: balance;
}

.woocommerce .woocommerce-products-header {
	padding-bottom: 6px;
}

@media (max-width: 767px) {
	.woocommerce .woocommerce-products-header__title,
	.woocommerce-page h1.page-title,
	h1.woocommerce-products-header__title {
		font-size: 28px !important;
		letter-spacing: .5px !important;
	}
}
