/*
 * Европа-Ростов — мини-корзина, корзина.
 * Цвета и шрифты те же, что на странице товара.
 */

:root {
	--es-primary: #0077A8;
	--es-primary-hover: #005E85;
	--es-ink: #1A2733;
	--es-muted: #5A6B7A;
	--es-line: #DFE5EA;
	--es-panel: #F4F7F9;
}

/* ================================================================
   Мини-корзина (выпадающая и боковая)
   ================================================================ */

body .widget_shopping_cart .woocommerce-mini-cart-item {
	display: grid !important;
	grid-template-columns: 56px minmax(0, 1fr) 20px;
	align-items: start;
	gap: 0 12px;
	padding: 14px 0 !important;
	border-bottom: 1px solid var(--es-line) !important;
}

body .widget_shopping_cart .woocommerce-mini-cart-item img {
	width: 56px !important;
	height: 56px !important;
	max-width: none !important;
	margin: 0 !important;
	object-fit: contain;
	float: none !important;
}

body .widget_shopping_cart .cart-item-image,
body .widget_shopping_cart .woocommerce-mini-cart-item > a:not(.remove):not(.cart-item-link) {
	grid-column: 1;
	grid-row: 1 / span 2;
	margin: 0 !important;
}

body .widget_shopping_cart .cart-info {
	grid-column: 2;
	min-width: 0;
	padding: 0 !important;
}

body .widget_shopping_cart .woocommerce-mini-cart-item .remove {
	grid-column: 3;
	grid-row: 1;
	position: static !important;
	width: 20px !important;
	height: 20px !important;
	color: var(--es-muted) !important;
	font-size: 16px !important;
	line-height: 20px !important;
}

/* У темы крестик — иконка, а WooCommerce дописывает ещё символ «×».
   Оставляем только иконку темы. */
body .widget_shopping_cart .woocommerce-mini-cart-item .remove {
	overflow: hidden;
	font-size: 0 !important;
	text-indent: 0 !important;
}

body .widget_shopping_cart .woocommerce-mini-cart-item .remove::before {
	font-size: 12px !important;
	line-height: 20px !important;
}

body .widget_shopping_cart .woocommerce-mini-cart-item .remove:hover {
	color: #D32718 !important;
}

/* Название — 14px, не длиннее двух строк. */
body .widget_shopping_cart .wd-entities-title,
body .widget_shopping_cart .cart-info .product-title,
body .widget_shopping_cart .woocommerce-mini-cart-item .cart-info > a:not(.remove) {
	display: -webkit-box !important;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0 0 6px !important;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-transform: none !important;
}

/* Количество и цена одной строкой. */
body .widget_shopping_cart .cart-info .quantity {
	display: block;
	margin: 0 !important;
	color: var(--es-muted) !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

body .widget_shopping_cart .cart-info .quantity .amount,
body .widget_shopping_cart .cart-info .woocommerce-Price-amount {
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	white-space: nowrap;
}

/* Поле количества темы — компактное. */
body .widget_shopping_cart .cart-info div.quantity {
	display: inline-flex !important;
	height: 30px;
	margin: 0 0 6px !important;
	overflow: hidden;
	border: 1px solid var(--es-line);
	border-radius: 8px;
}

body .widget_shopping_cart .cart-info div.quantity input {
	width: 30px !important;
	min-width: 0 !important;
	height: 28px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--es-ink) !important;
	font-size: 13px !important;
	text-align: center;
}

/* Итого */
body .widget_shopping_cart .woocommerce-mini-cart__total {
	display: flex !important;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 !important;
	padding: 16px 0 !important;
	border-top: 0 !important;
	color: var(--es-ink) !important;
	font-size: 15px !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__total strong {
	font-weight: 600 !important;
	text-transform: none !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__total .amount {
	color: var(--es-ink) !important;
	font-size: 20px !important;
	font-weight: 700 !important;
	white-space: nowrap;
}

/* Кнопки: «Оформить заказ» главная, «Перейти в корзину» — контурная. */
body .widget_shopping_cart .woocommerce-mini-cart__buttons {
	display: grid !important;
	gap: 8px;
	margin: 0 !important;
	padding: 0 !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__buttons .button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 44px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border-radius: 10px !important;
	box-shadow: none !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Тема добавляет свою «Просмотр корзины» — у нас уже есть «Перейти в корзину». */
body .widget_shopping_cart .woocommerce-mini-cart__buttons .button:not(.esync-mc-checkout):not(.esync-mc-cart),
body .widget_shopping_cart .woocommerce-mini-cart__buttons > a:not(.esync-mc-checkout):not(.esync-mc-cart) {
	display: none !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__buttons .esync-mc-checkout {
	border: 0 !important;
	background: var(--es-primary) !important;
	color: #fff !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__buttons .esync-mc-checkout:hover {
	background: var(--es-primary-hover) !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__buttons .esync-mc-cart {
	border: 1px solid var(--es-line) !important;
	background: #fff !important;
	color: var(--es-ink) !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__buttons .esync-mc-cart:hover {
	border-color: var(--es-primary) !important;
	color: var(--es-primary) !important;
}

body .widget_shopping_cart .woocommerce-mini-cart__empty-message {
	color: var(--es-muted) !important;
	font-size: 14px !important;
	text-align: center;
}

/* ================================================================
   Корзина
   ================================================================ */

body.woocommerce-cart table.shop_table.cart th {
	padding-top: 0 !important;
	color: var(--es-muted) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body.woocommerce-cart table.shop_table.cart td {
	padding-top: 18px !important;
	padding-bottom: 18px !important;
	border-color: var(--es-line) !important;
	vertical-align: middle !important;
}

body.woocommerce-cart table.shop_table.cart td.product-name,
body.woocommerce-cart table.shop_table.cart td.product-name a {
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-transform: none !important;
}

body.woocommerce-cart table.shop_table.cart td.product-name a:hover {
	color: var(--es-primary) !important;
}

/* Цены не рвём: «90 / 600 ₽» в две строки читалось как два числа. */
body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-subtotal,
body.woocommerce-cart .amount {
	white-space: nowrap !important;
}

/* Подсказки и способы доставки переносятся — иначе длинная строка
   «Варианты доставки будут обновлены…» распирала блок за подложку. */
.wd-cart-totals .cart_totals td,
.wd-cart-totals .cart_totals th,
.wd-cart-totals .woocommerce-shipping-destination,
.wd-cart-totals #shipping_method label {
	white-space: normal !important;
	overflow-wrap: anywhere;
}

body.woocommerce-cart table.shop_table.cart td.product-price,
body.woocommerce-cart table.shop_table.cart td.product-price .amount {
	color: var(--es-muted) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
}

body.woocommerce-cart table.shop_table.cart td.product-subtotal .amount {
	color: var(--es-ink) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

body.woocommerce-cart table.shop_table.cart td.product-thumbnail img {
	width: 72px !important;
	max-width: 72px !important;
	height: 72px !important;
	object-fit: contain;
}

body.woocommerce-cart table.shop_table.cart td.product-remove a {
	color: var(--es-muted) !important;
}

body.woocommerce-cart table.shop_table.cart td.product-remove a:hover {
	color: #D32718 !important;
}

/* Итог — подложкой, как блок покупки на странице товара. */
/* Подложку даёт контейнер Elementor вокруг виджета — свою не рисуем,
   иначе вложенные отступы складывались и таблица вылезала. */
body .cart_totals,
.wd-cart-totals .cart_totals {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
}

body .cart_totals table {
	width: 100% !important;
	margin: 0 !important;
	table-layout: auto !important;
}

.wd-cart-totals .cart-totals-inner h2,
.wd-cart-totals .cart_totals h2,
body .cart_totals h2,
body .cart_totals .title,
body .cart_totals > h2 {
	margin: 0 0 14px !important;
	color: var(--es-ink) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-transform: none !important;
}

body .cart_totals table,
body .cart_totals table tr,
body .cart_totals table th,
body .cart_totals table td {
	border-color: var(--es-line) !important;
	background: transparent !important;
}

body .cart_totals th,
body .cart_totals td {
	padding: 12px 0 !important;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	vertical-align: top !important;
}

body .cart_totals th {
	color: var(--es-muted) !important;
}

/* Строка доставки: подпись сверху, способы под ней на всю ширину —
   в две колонки радиокнопки наезжали на слово «Доставка». */
body .cart_totals tr.woocommerce-shipping-totals,
body .cart_totals tr.shipping {
	display: block !important;
	padding: 12px 0 !important;
	border-bottom: 1px solid var(--es-line) !important;
}

body .cart_totals tr.woocommerce-shipping-totals th,
body .cart_totals tr.woocommerce-shipping-totals td,
body .cart_totals tr.shipping th,
body .cart_totals tr.shipping td {
	display: block !important;
	width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	text-align: left !important;
}

body .cart_totals tr.woocommerce-shipping-totals th,
body .cart_totals tr.shipping th {
	margin-bottom: 8px !important;
}

/* Способы доставки — слева, списком, а не прижатыми к правому краю. */
body .cart_totals #shipping_method {
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

body .cart_totals #shipping_method li {
	display: flex !important;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 6px !important;
	text-align: left !important;
	font-size: 14px !important;
}

body .cart_totals #shipping_method li input {
	order: -1;
	margin: 0 !important;
}

body .cart_totals .woocommerce-shipping-destination,
body .cart_totals .woocommerce-shipping-calculator {
	margin: 6px 0 0 !important;
	color: var(--es-muted) !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	text-align: left !important;
}

body .cart_totals .order-total th,
body .cart_totals .order-total td {
	padding-top: 16px !important;
	color: var(--es-ink) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}

body .cart_totals .order-total .amount {
	color: var(--es-ink) !important;
	font-size: 26px !important;
	font-weight: 700 !important;
}

body .cart_totals .wc-proceed-to-checkout {
	padding: 8px 0 0 !important;
}

body .cart_totals .wc-proceed-to-checkout .checkout-button {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	text-align: center !important;
	height: 52px !important;
	min-height: 0 !important;
	margin: 0 !important;
	border-radius: 10px !important;
	background: var(--es-primary) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 52px !important;
	padding: 0 20px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .cart_totals .wc-proceed-to-checkout .checkout-button:hover {
	background: var(--es-primary-hover) !important;
}

/* Шаги «Корзина → Оформление → Заказ» — без капса. */
body .wd-checkout-steps li,
body .wd-checkout-steps a,
body .wd-checkout-steps span {
	font-size: 15px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Купон и кнопки корзины — тоже без капса. */
body.woocommerce-cart .actions .button,
body.woocommerce-cart .coupon .button {
	border-radius: 10px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Заголовок блока рекомендаций. */
body.woocommerce-cart .cross-sells > h2,
body.woocommerce-cart .wd-cross-sells h2,
body.woocommerce-cart .cross-sells .title {
	color: var(--es-ink) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

@media (max-width: 767px) {
}

/* ================================================================
   Обычное выпадающее меню шапки («Услуги»)
   ================================================================
   Стили мега-меню каталога (иконки разделов маской) задевали
   и это меню: у каждого пункта вставал серый квадрат, текст
   переносился в три строки. Здесь — простой список в стиле сайта:
   при наведении светлая подложка и синий текст, как в каталоге.
*/

body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default {
	width: auto !important;
	min-width: 300px !important;
	padding: 8px !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 32px rgba(26, 39, 51, .12) !important;
}

body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li {
	display: block !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a {
	display: block !important;
	padding: 9px 14px !important;
	border-left: 3px solid transparent !important;
	border-radius: 8px !important;
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	white-space: nowrap !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a:hover,
body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li.current-menu-item > a,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a:hover,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li.current-menu-item > a {
	background: var(--es-panel) !important;
	color: var(--es-primary) !important;
}

body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li.current-menu-item > a,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li.current-menu-item > a {
	border-left-color: var(--es-primary) !important;
	font-weight: 600 !important;
}

/* Внутренний контейнер темы задаёт ширину колонки — сбрасываем. */
body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default > .container {
	width: auto !important;
	max-width: none !important;
	padding: 0 !important;
}

/* Квадраты-иконки от стилей каталога — убрать. */
body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a::before,
body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a::after,
body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu .wd-nav-img,
body .wd-nav:not(.wd-nav-vertical) > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu .wd-nav-icon,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a::before,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu > li > a::after,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu .wd-nav-img,
body .wd-nav-main > .menu-item > .wd-dropdown-menu.wd-design-default .wd-sub-menu .wd-nav-icon {
	display: none !important;
	content: none !important;
}

/* Таблица итогов — строками «подпись … сумма», без табличной сетки:
   строка доставки иначе ломала колонки остальным. */
body .cart_totals table,
body .cart_totals table tbody {
	display: block !important;
	width: 100% !important;
	border: 0 !important;
}

body .cart_totals table tr {
	display: flex !important;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0 !important;
	border-bottom: 1px solid var(--es-line) !important;
}

body .cart_totals table tr th,
body .cart_totals table tr td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
}

body .cart_totals table tr td {
	text-align: right !important;
}

body .cart_totals table tr.woocommerce-shipping-totals,
body .cart_totals table tr.shipping {
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

body .cart_totals table tr.woocommerce-shipping-totals td,
body .cart_totals table tr.shipping td {
	text-align: left !important;
}

body .cart_totals table tr.order-total {
	border-bottom: 0 !important;
	padding-top: 16px !important;
}

body .cart_totals table tr th {
	flex: 0 0 auto;
	white-space: nowrap !important;
}

/* ================================================================
   Личный кабинет: меню слева
   ================================================================ */

body .wd-my-account-sidebar .woocommerce-MyAccount-title {
	margin: 0 0 12px !important;
	padding: 0 0 12px 14px !important;
	border-bottom: 1px solid var(--es-line) !important;
	color: var(--es-ink) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .woocommerce-MyAccount-navigation ul {
	display: grid;
	gap: 2px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .woocommerce-MyAccount-navigation li {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

body .woocommerce-MyAccount-navigation li a {
	display: block !important;
	padding: 9px 14px !important;
	border-left: 3px solid transparent !important;
	border-radius: 8px !important;
	background: transparent !important;
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.35 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
}

body .woocommerce-MyAccount-navigation li a:hover {
	background: var(--es-panel) !important;
	color: var(--es-primary) !important;
}

body .woocommerce-MyAccount-navigation li.is-active a {
	border-left-color: var(--es-primary) !important;
	background: var(--es-panel) !important;
	color: var(--es-primary) !important;
	font-weight: 600 !important;
}

body .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
	color: var(--es-muted) !important;
}

/* ================================================================
   Избранное
   ================================================================ */

body .wd-wishlist-head {
	display: flex !important;
	align-items: baseline;
	justify-content: space-between;
	margin: 0 0 8px !important;
	padding: 0 0 12px !important;
	border-bottom: 1px solid var(--es-line) !important;
}

body .wd-wishlist-head .title {
	margin: 0 !important;
	color: var(--es-ink) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* «Поделиться» списком избранного — не нужно. */
body .wd-wishlist-head .social-share,
body .wd-wishlist-head .wd-social-icons {
	display: none !important;
}

/* «Удалить / Выбрать все» и «Удалить ☐» у карточек — тихо, мелко. */
body .wd-wishlist-bulk-action,
body .wd-wishlist-product-actions {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 8px !important;
}

body .wd-wishlist-bulk-action {
	justify-content: flex-start;
	margin-bottom: 14px !important;
}

body .wd-wishlist-bulk-action a,
body .wd-wishlist-product-actions a,
body .wd-wishlist-bulk-action .wd-action-text,
body .wd-wishlist-product-actions .wd-action-text {
	color: var(--es-muted) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .wd-wishlist-bulk-action a:hover,
body .wd-wishlist-product-actions a:hover,
body .wd-wishlist-bulk-action a:hover .wd-action-text,
body .wd-wishlist-product-actions a:hover .wd-action-text {
	color: #D32718 !important;
}

body .wd-wishlist-bulk-action .wd-action-icon::before,
body .wd-wishlist-product-actions .wd-action-icon::before {
	font-size: 11px !important;
}

body .wd-wishlist-checkbox {
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	accent-color: var(--es-primary);
}

/* Колонки: тема на телефоне ставит две узкие карточки, текст в них
   ломается. Свойства задаются в style у сетки — перебиваем !important. */
@media (max-width: 1024px) {
	body .wd-wishlist-content .wd-products {
		--wd-col-md: 2 !important;
	}
}

@media (max-width: 767px) {
	body .wd-wishlist-content .wd-products {
		--wd-col-sm: 1 !important;
		--wd-col-md: 1 !important;
	}
}

/* Воздух между линией заголовка, «Удалить ☐» и карточкой: при наведении
   карточка с тенью наезжала на подписи. Серую заливку панели массовых
   действий (появляется при отмеченном чекбоксе) убираем. */
body .wd-wishlist-head {
	margin-bottom: 18px !important;
}

body .wd-wishlist-bulk-action {
	margin: 0 0 18px !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body .wd-wishlist-product-actions {
	position: relative;
	z-index: 2;
	margin: 0 0 14px !important;
	padding: 0 2px !important;
}

/* ================================================================
   Избранное на телефоне — карточка строкой
   ================================================================
   В одну колонку обычная плитка занимает целый экран: квадратное
   фото на всю ширину. В избранное возвращаются сравнить и купить,
   поэтому — компактная строка: фото слева, справа название,
   наличие, цена и кнопка. Характеристики прячем — они есть в карточке.
*/
@media (max-width: 767px) {
	body .wd-wishlist-content .wd-product .wd-product-wrapper {
		display: grid !important;
		grid-template-columns: 104px minmax(0, 1fr);
		align-items: start;
		gap: 0 14px;
		padding: 12px !important;
	}

	body .wd-wishlist-content .wd-product .wd-product-thumb {
		grid-column: 1;
		margin: 0 !important;
	}

	body .wd-wishlist-content .wd-product .wd-product-img-link {
		display: flex !important;
		align-items: center;
		justify-content: center;
		height: 104px !important;
		aspect-ratio: auto !important;
	}

	body .wd-wishlist-content .wd-product .wd-product-img-link img {
		width: auto !important;
		max-width: 100% !important;
		height: auto !important;
		max-height: 104px !important;
		object-fit: contain;
	}

	/* Слайдер фото, точки, кнопки на фото и плашка скидки в строке не нужны. */
	body .wd-wishlist-content .wd-product .wd-product-grid-slider,
	body .wd-wishlist-content .wd-product .wd-product-grid-slider-pagin,
	body .wd-wishlist-content .wd-product .wd-buttons,
	body .wd-wishlist-content .wd-product .product-labels,
	body .wd-wishlist-content .wd-product .esync-hints,
	body .wd-wishlist-content .wd-product .wd-product-card-hover {
		display: none !important;
	}

	body .wd-wishlist-content .wd-product .product-element-bottom {
		grid-column: 2;
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	body .wd-wishlist-content .wd-product .wd-entities-title,
	body .wd-wishlist-content .wd-product .wd-entities-title a {
		min-height: 0 !important;
		margin: 0 0 4px !important;
		font-size: 14px !important;
		line-height: 1.35 !important;
	}

	body .wd-wishlist-content .wd-product .esync-stock-row {
		margin: 0 0 6px !important;
	}

	body .wd-wishlist-content .wd-product .esync-stock,
	body .wd-wishlist-content .wd-product .esync-tile-rating {
		font-size: 12px !important;
	}

	body .wd-wishlist-content .wd-product .wrap-price {
		margin: 0 0 8px !important;
	}

	body .wd-wishlist-content .wd-product .price,
	body .wd-wishlist-content .wd-product .price .amount {
		font-size: 17px !important;
	}

	body .wd-wishlist-content .wd-product .price del,
	body .wd-wishlist-content .wd-product .price del .amount {
		font-size: 12px !important;
	}

	body .wd-wishlist-content .wd-product .wd-add-btn .button {
		height: 38px !important;
		min-height: 0 !important;
		padding: 0 12px !important;
		font-size: 14px !important;
		line-height: 38px !important;
	}

	body .wd-wishlist-content .wd-products {
		--wd-gap-lg: 12px !important;
		--wd-gap-md: 12px !important;
		--wd-gap-sm: 12px !important;
	}
}

/* ================================================================
   Итоги корзины — как блок покупки в карточке товара
   ================================================================
   Своя подложка: серый фон, скругление 16, те же отступы. Фон
   и отступы контейнера Elementor вокруг виджета лучше обнулить,
   чтобы подложка была одна. */
body .wd-cart-totals .cart_totals {
	padding: 26px 28px 24px !important;
	border-radius: 16px !important;
	background: var(--es-panel) !important;
}

body .wd-cart-totals .cart-totals-inner h2 {
	margin: 0 0 6px !important;
	font-size: 20px !important;
}

body .cart_totals table tr {
	border-bottom-color: #DCE3E9 !important;
}

/* Итог крупно — как цена в блоке покупки. */
body .cart_totals table tr.order-total {
	align-items: center;
	padding-top: 18px !important;
}

body .cart_totals table tr.order-total th {
	font-size: 16px !important;
	font-weight: 600 !important;
}

body .cart_totals .order-total .amount,
body .cart_totals .order-total .amount bdi {
	font-size: 30px !important;
	font-weight: 700 !important;
	letter-spacing: -.01em;
}

body .cart_totals .wc-proceed-to-checkout {
	padding: 18px 0 0 !important;
}

body .cart_totals .wc-proceed-to-checkout .checkout-button {
	height: 52px !important;
	line-height: 52px !important;
	border-radius: 10px !important;
	font-size: 16px !important;
}

@media (max-width: 767px) {
	body .wd-cart-totals .cart_totals {
		padding: 20px 18px 18px !important;
		border-radius: 14px !important;
	}

	body .cart_totals .order-total .amount,
	body .cart_totals .order-total .amount bdi {
		font-size: 26px !important;
	}
}

/* На телефоне WooCommerce («shop_table_responsive») прячет подписи
   строк и печатает их заново перед суммой — выходило «Товары, 3 шт.»
   дважды и второе «Итого» над ценой. Подписи у нас и так видны. */
body .cart_totals table td::before,
body .cart_totals table th::before {
	display: none !important;
	content: none !important;
}

body .cart_totals table tr th {
	display: block !important;
	text-align: left !important;
}

body .cart_totals table tr td {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	text-align: right !important;
}

body .cart_totals table tr.woocommerce-shipping-totals td,
body .cart_totals table tr.shipping td {
	text-align: left !important;
}

body .cart_totals table tr.woocommerce-shipping-totals th,
body .cart_totals table tr.shipping th {
	font-weight: 400 !important;
}

/* ================================================================
   Оформление заказа
   ================================================================ */

/* Свои заголовки внутри виджетов дублируют заголовки секций. */
body .wd-billing-details .woocommerce-billing-fields > h3,
body .wd-shipping-details .woocommerce-additional-fields > h3 {
	display: none !important;
}

/* Скрытая страна (нужна для расчёта доставки). */
body #billing_country_field,
body .esync-hidden-field {
	display: none !important;
}

body.woocommerce-checkout .form-row {
	margin: 0 0 16px !important;
	padding: 0 !important;
}

body.woocommerce-checkout .form-row label {
	display: block;
	margin: 0 0 6px !important;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body.woocommerce-checkout .form-row label .optional {
	color: var(--es-muted) !important;
	font-weight: 400 !important;
}

body.woocommerce-checkout .form-row label .required {
	color: #D32718 !important;
	text-decoration: none !important;
}

body.woocommerce-checkout .form-row input.input-text,
body.woocommerce-checkout .form-row textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 46px !important;
	padding: 0 14px !important;
	border: 1px solid var(--es-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--es-ink) !important;
	font-size: 15px !important;
}

body.woocommerce-checkout .form-row textarea {
	height: 96px !important;
	min-height: 96px !important;
	padding: 12px 14px !important;
	line-height: 1.5 !important;
}

body.woocommerce-checkout .form-row input.input-text:focus,
body.woocommerce-checkout .form-row textarea:focus {
	border-color: var(--es-primary) !important;
	outline: 0 !important;
}

body.woocommerce-checkout .form-row.woocommerce-invalid input.input-text {
	border-color: #D32718 !important;
}

/* Правая колонка — подложка как у блока покупки и итогов корзины. */
body .e-con:has(> .elementor-widget-wd_checkout_order_review) {
	padding: 26px 28px 24px !important;
	border-radius: 16px !important;
	background: var(--es-panel) !important;
}

/* Таблица заказа: без шапки «Товар / Подытог». */
body .wd-order-table .woocommerce-checkout-review-order-table thead {
	display: none !important;
}

body .wd-order-table .woocommerce-checkout-review-order-table,
body .wd-order-table .woocommerce-checkout-review-order-table tbody,
body .wd-order-table .woocommerce-checkout-review-order-table tfoot {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body .wd-order-table tr.cart_item {
	display: block !important;
	border-bottom: 1px solid #DCE3E9 !important;
}

body .wd-order-table td.wd-checkout-prod {
	display: grid !important;
	grid-template-columns: 18px 56px minmax(0, 1fr);
	align-items: start;
	gap: 0 10px;
	padding: 14px 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body .wd-order-table .wd-checkout-remove-btn-wrapp {
	padding-top: 2px;
}

body .wd-order-table .wd-checkout-remove-btn {
	color: var(--es-muted) !important;
	font-size: 12px !important;
}

body .wd-order-table .wd-checkout-prod-img img {
	width: 56px !important;
	height: 56px !important;
	max-width: none !important;
	object-fit: contain;
	border-radius: 8px;
	background: #fff;
}

body .wd-order-table .wd-checkout-prod-cont {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 4px 12px;
	align-items: start;
	min-width: 0;
}

body .wd-order-table .cart-product-label {
	display: -webkit-box !important;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin-bottom: 8px;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
}

/* Цена позиции — в одну строку, справа. Раньше «168 / 990 ₽». */
body .wd-order-table .wd-checkout-prod-total,
body .wd-order-table .wd-checkout-prod-total .amount {
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	text-align: right !important;
	white-space: nowrap !important;
}

body .wd-order-table .wd-checkout-prod-title .quantity {
	display: inline-flex !important;
	height: 30px;
	overflow: hidden;
	border: 1px solid var(--es-line);
	border-radius: 8px;
	background: #fff;
}

body .wd-order-table .wd-checkout-prod-title .quantity input,
body .wd-order-table .wd-checkout-prod-title .quantity .btn {
	width: 30px !important;
	min-width: 0 !important;
	height: 28px !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 13px !important;
	text-align: center;
}

/* Итоги — строками «подпись … сумма», как в корзине. */
body .wd-order-table tfoot tr {
	display: flex !important;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 0 !important;
	border-bottom: 1px solid #DCE3E9 !important;
}

body .wd-order-table tfoot th,
body .wd-order-table tfoot td {
	display: block !important;
	width: auto !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .wd-order-table tfoot th {
	flex: 0 0 auto;
	color: var(--es-muted) !important;
	text-align: left !important;
	white-space: nowrap;
}

body .wd-order-table tfoot td {
	text-align: right !important;
}

body .wd-order-table tfoot td::before,
body .wd-order-table tfoot th::before {
	display: none !important;
	content: none !important;
}

body .wd-order-table tfoot .amount {
	color: var(--es-ink) !important;
	white-space: nowrap;
}

body .wd-order-table tfoot tr.woocommerce-shipping-totals {
	flex-direction: column;
	align-items: stretch;
	gap: 8px;
}

body .wd-order-table tfoot tr.woocommerce-shipping-totals td {
	text-align: left !important;
}

body .wd-order-table #shipping_method {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .wd-order-table #shipping_method li {
	display: flex !important;
	align-items: baseline;
	gap: 8px;
	margin: 0 0 6px !important;
	text-align: left !important;
}

body .wd-order-table #shipping_method li input {
	order: -1;
	margin: 0 !important;
}

body .wd-order-table tfoot tr.order-total {
	align-items: center;
	padding-top: 18px !important;
	border-bottom: 0 !important;
}

body .wd-order-table tfoot tr.order-total th {
	color: var(--es-ink) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}

body .wd-order-table tfoot tr.order-total .amount,
body .wd-order-table tfoot tr.order-total .amount bdi {
	font-size: 28px !important;
	font-weight: 700 !important;
}

/* Оплата и кнопка */
body .wd-payment-methods .wc_payment_methods {
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

body .wd-payment-methods .wc_payment_method > label {
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
}

body .wd-payment-methods .payment_box {
	margin: 6px 0 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: var(--es-muted) !important;
	font-size: 13px !important;
}

body .wd-payment-methods .payment_box::before {
	display: none !important;
}

body .wd-payment-methods .woocommerce-privacy-policy-text,
body .wd-payment-methods .woocommerce-privacy-policy-text p {
	color: var(--es-muted) !important;
	font-size: 12px !important;
	line-height: 1.5 !important;
}

body .wd-payment-methods #place_order {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 52px !important;
	min-height: 0 !important;
	margin: 12px 0 0 !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--es-primary) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .wd-payment-methods #place_order:hover {
	background: var(--es-primary-hover) !important;
}

@media (max-width: 767px) {
	body .e-con:has(> .elementor-widget-wd_checkout_order_review) {
		padding: 20px 18px 18px !important;
		border-radius: 14px !important;
	}

	body.woocommerce-checkout .form-row-first,
	body.woocommerce-checkout .form-row-last {
		float: none !important;
		width: 100% !important;
	}
}

/* Фото позиций — белой «плиткой» с тонкой рамкой. Белый фон у
   снимков поставщиков есть почти всегда; на серой подложке он
   читался как случайное пятно, а в плитке — как задуманная карточка. */
body .wd-order-table .wd-checkout-prod-img {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 56px;
	height: 56px;
	padding: 4px;
	border: 1px solid var(--es-line);
	border-radius: 10px;
	background: #fff;
}

body .wd-order-table .wd-checkout-prod-img img {
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 100% !important;
	border-radius: 0 !important;
	background: transparent !important;
}

/* Количество — по содержимому, а не во всю ширину строки. */
body .wd-order-table .wd-checkout-prod-title {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
}

body .wd-order-table .wd-checkout-prod-title .quantity {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
}

/* «Создать личный кабинет» — под телефоном и почтой. */
body .esync-account-box {
	clear: both;
	margin: -4px 0 18px !important;
	padding: 0 !important;
}

body .esync-account-box .create-account label,
body .esync-account-box .woocommerce-form__label-for-checkbox {
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	margin: 0 !important;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	cursor: pointer;
}

body .esync-account-box input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin: 0 !important;
	accent-color: var(--es-primary);
}

body .esync-account-box .create-account:not(:first-child) {
	margin-top: 12px !important;
}

/* Описание способа оплаты на оформлении — без рамки и тени темы. */
body .wd-payment-methods .payment_box,
body .wd-payment-methods .wc_payment_method,
body .wd-payment-methods .wc_payment_methods {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

body .wd-payment-methods .wc_payment_methods {
	padding-bottom: 14px !important;
	border-bottom: 1px solid var(--es-line) !important;
}

/* ================================================================
   Шапка корзины и оформления: шаги по центру, без заливки
   ================================================================ */
body.woocommerce-cart .wd-page-title,
body.woocommerce-checkout .wd-page-title {
	background: transparent !important;
	background-image: none !important;
}

body .wd-checkout-steps {
	display: flex !important;
	justify-content: center !important;
	flex-wrap: wrap;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
}

/* ================================================================
   Спасибо за заказ
   ================================================================ */
body .woocommerce-order {
	max-width: 760px;
	margin: 0 auto 72px !important;
}

body .woocommerce-order .woocommerce-thankyou-order-received {
	display: flex !important;
	align-items: flex-start;
	gap: 16px;
	margin: 0 0 24px !important;
	padding: 24px 26px !important;
	border: 0 !important;
	border-radius: 16px !important;
	background: #EBF3E2 !important;
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	text-align: left !important;
	text-transform: none !important;
}

.esync-ty__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #3F7016;
}

.esync-ty__icon svg {
	width: 22px;
	height: 22px;
	fill: none;
	stroke: #fff;
	stroke-width: 2.4;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.esync-ty__text {
	display: grid;
	gap: 4px;
}

.esync-ty__title {
	color: #3F7016;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.esync-ty__note {
	color: var(--es-ink);
	font-size: 15px;
	line-height: 1.5;
}

/* Номер, дата, почта, итог, оплата — карточками на подложке. */
body .woocommerce-order ul.woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 1px;
	margin: 0 0 20px !important;
	padding: 0 !important;
	overflow: hidden;
	border-radius: 14px;
	background: var(--es-line);
	list-style: none !important;
}

body .woocommerce-order ul.woocommerce-order-overview li {
	display: grid !important;
	gap: 4px;
	margin: 0 !important;
	padding: 14px 16px !important;
	border: 0 !important;
	background: var(--es-panel) !important;
	color: var(--es-muted) !important;
	font-size: 13px !important;
	text-align: left !important;
	text-transform: none !important;
}

body .woocommerce-order ul.woocommerce-order-overview li strong {
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	overflow-wrap: anywhere;
}

body .woocommerce-order > p,
body .woocommerce-order > p:not(.woocommerce-thankyou-order-received) {
	color: var(--es-muted) !important;
	font-size: 14px !important;
}

/* Состав заказа */
body .woocommerce-order-details__title,
body .woocommerce-column__title,
body .woocommerce-customer-details h2 {
	margin: 32px 0 12px !important;
	color: var(--es-ink) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

body .woocommerce-table--order-details {
	width: 100% !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
}

body .woocommerce-table--order-details thead {
	display: none !important;
}

body .woocommerce-table--order-details th,
body .woocommerce-table--order-details td {
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--es-line) !important;
	background: transparent !important;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	text-transform: none !important;
	vertical-align: top !important;
}

body .woocommerce-table--order-details td.product-name,
body .woocommerce-table--order-details td.product-name a {
	color: var(--es-ink) !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

body .woocommerce-table--order-details td.product-name .product-quantity {
	margin-left: 6px;
	color: var(--es-muted) !important;
	font-weight: 400 !important;
	white-space: nowrap;
}

body .woocommerce-table--order-details td:last-child,
body .woocommerce-table--order-details tfoot td {
	text-align: right !important;
}

body .woocommerce-table--order-details .amount {
	color: var(--es-ink) !important;
	font-weight: 600 !important;
	white-space: nowrap;
}

body .woocommerce-table--order-details tfoot th {
	color: var(--es-muted) !important;
	text-align: left !important;
}

body .woocommerce-table--order-details tfoot tr:nth-last-child(1) th,
body .woocommerce-table--order-details tfoot tr:nth-last-child(1) td {
	border-bottom: 0 !important;
}

/* «Итого» заказа — крупнее остальных строк. */
body .woocommerce-table--order-details tfoot tr:has(th):nth-child(n) td .amount {
	font-weight: 600 !important;
}

body .woocommerce-table--order-details tfoot small.shipped_via {
	color: var(--es-muted) !important;
	font-size: 13px !important;
}

.esync-pickup-address {
	color: var(--es-muted);
	font-size: 13px;
}

/* Получатель — обычным шрифтом, не курсивом. */
body .woocommerce-customer-details address {
	padding: 16px 18px !important;
	border: 1px solid var(--es-line) !important;
	border-radius: 12px !important;
	color: var(--es-ink) !important;
	font-size: 15px !important;
	font-style: normal !important;
	line-height: 1.7 !important;
}

body .woocommerce-customer-details address p {
	margin: 0 !important;
	font-style: normal !important;
}

body .woocommerce-customer-details address .woocommerce-customer-details--phone::before,
body .woocommerce-customer-details address .woocommerce-customer-details--email::before {
	display: none !important;
}

@media (max-width: 767px) {
	body .woocommerce-order .woocommerce-thankyou-order-received {
		padding: 18px !important;
	}

	.esync-ty__title {
		font-size: 18px;
	}
}

/* Почту в сводке не показываем: она есть ниже в «Получателе»,
   у части заказов её нет вовсе, а длинный адрес рвался на строки. */
body .woocommerce-order ul.woocommerce-order-overview li.woocommerce-order-overview__email {
	display: none !important;
}

/* Блок оплаты: тема рисует свои линии у списка, у блока кнопки
   и у самого #payment — оставляем одну, нашу, под способом оплаты. */
body .wd-payment-methods #payment,
body .wd-payment-methods #payment .place-order,
body .wd-payment-methods #payment .woocommerce-terms-and-conditions-wrapper,
body .wd-payment-methods #payment .wc_payment_method,
body .wd-payment-methods #payment .payment_box {
	border: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

body .wd-payment-methods #payment::before,
body .wd-payment-methods #payment::after,
body .wd-payment-methods #payment .place-order::before,
body .wd-payment-methods #payment .place-order::after,
body .wd-payment-methods #payment .wc_payment_methods::before,
body .wd-payment-methods #payment .wc_payment_methods::after {
	display: none !important;
	content: none !important;
}

body .wd-payment-methods #payment .wc_payment_methods {
	border-top: 0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	border-bottom: 1px solid var(--es-line) !important;
}

body .wd-payment-methods #payment .place-order {
	margin: 0 !important;
	padding: 14px 0 0 !important;
}

/* ================================================================
   Быстрый просмотр — окно темы (.product-quick-view)
   ================================================================ */

/* Лишнее: короткое описание, артикул и категория, «Поделиться». */
body .product-quick-view .woocommerce-product-details__short-description,
body .product-quick-view .product_meta,
body .product-quick-view .product-share,
body .product-quick-view .wd-social-icons {
	display: none !important;
}

body .product-quick-view .summary-inner {
	display: flex;
	flex-direction: column;
}

body .product-quick-view .product_title,
body .product-quick-view .product_title a {
	margin: 0 0 12px !important;
	color: var(--es-ink) !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-transform: none !important;
	text-decoration: none !important;
}

body .product-quick-view .product_title a:hover {
	color: var(--es-primary) !important;
}

/* Цена — как в блоке покупки: обычная чёрная, со скидкой красная. */
body .product-quick-view .summary .price {
	display: flex !important;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 10px;
	margin: 0 0 8px !important;
	color: var(--es-ink) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
}

body .product-quick-view .summary .price .amount,
body .product-quick-view .summary .price ins {
	color: var(--es-ink) !important;
	font-size: 28px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	background: none !important;
}

body .product-quick-view .summary .price ins .amount {
	color: #D32718 !important;
}

body .product-quick-view .summary .price del,
body .product-quick-view .summary .price del .amount {
	order: 2;
	color: var(--es-muted) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
}

body .product-quick-view .summary .price .esync-price-badge {
	order: 3;
	align-self: center;
	padding: 3px 7px;
	border-radius: 6px;
	background: #D32718;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
}

body .product-quick-view .summary .stock {
	margin: 0 0 18px !important;
	font-size: 14px !important;
	font-weight: 600 !important;
}

/* Количество и «В корзину» */
body .product-quick-view form.cart {
	display: flex !important;
	align-items: stretch;
	gap: 10px;
	margin: 0 0 22px !important;
}

body .product-quick-view form.cart .quantity {
	display: flex !important;
	align-items: center;
	height: 48px;
	margin: 0 !important;
	overflow: hidden;
	border: 1px solid var(--es-line);
	border-radius: 10px;
	background: #fff;
}

body .product-quick-view form.cart .quantity input.qty {
	width: 42px !important;
	height: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	text-align: center;
}

body .product-quick-view form.cart .quantity .btn,
body .product-quick-view form.cart .quantity input[type="button"] {
	width: 34px !important;
	height: 100% !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--es-muted) !important;
	font-size: 18px !important;
}

body .product-quick-view .single_add_to_cart_button {
	flex: 1 1 auto;
	height: 48px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 10px !important;
	background: var(--es-primary) !important;
	color: #fff !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .product-quick-view .single_add_to_cart_button:hover {
	background: var(--es-primary-hover) !important;
}

/* «Посмотреть детали» под фото — контурной кнопкой, без капса. */
body .product-quick-view .view-details-btn {
	border: 1px solid var(--es-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--es-ink) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

/* Главные характеристики (добавляет плагин) */
.esync-qv-specs {
	margin: 0 0 14px !important;
	padding: 0;
	border-top: 1px solid var(--es-line);
}

.esync-qv-specs__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 14px;
	padding: 9px 0;
	border-bottom: 1px solid var(--es-line);
}

body .esync-qv-specs__row dt,
body .esync-qv-specs__row dd {
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.4 !important;
}

body .esync-qv-specs__row dt {
	color: var(--es-muted) !important;
	font-weight: 400 !important;
}

body .esync-qv-specs__row dd {
	color: var(--es-ink) !important;
	font-weight: 500 !important;
}

body .esync-qv-more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--es-primary) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
}

.esync-qv-more svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .15s ease;
}

.esync-qv-more:hover svg {
	transform: translateX(3px);
}

/* Быстрый просмотр: звёзды темы под названием не нужны — рейтинг
   выводится в строке наличия, как в плитках каталога. */
body .product-quick-view .woocommerce-product-rating,
body .product-quick-view .star-rating,
body .product-quick-view .woocommerce-review-link {
	display: none !important;
}

body .product-quick-view .esync-stock-row {
	margin: 0 0 18px !important;
}

body .product-quick-view .esync-stock-row .stock {
	margin: 0 !important;
}

body .product-quick-view .esync-tile-rating,
body .product-quick-view .esync-tile-rating span {
	font-size: 14px !important;
}

/* ==========================================================================
   Поиск в шапке: подсказки списком, как в крупных магазинах.
   Тема раскладывает их плитками в три колонки с рамками — переводим
   в строки: фото · название + наличие и рейтинг · цена справа.
   Скидка, наличие и рейтинг приходят из Front\Search через цену.
   ========================================================================== */

body .wd-search-results {
	border-radius: 12px !important;
	border: 1px solid #DFE5EA !important;
	box-shadow: 0 16px 40px rgba(26, 39, 51, .14) !important;
	overflow: hidden;
}

body .wd-search-results .wd-scroll-content {
	max-height: min(70vh, 640px) !important;
	padding: 0 !important;
}

/* Группа подсказок — один столбец вместо сетки. */
body .wd-search-suggestions .wd-suggestions-group {
	display: block !important;
	grid-template-columns: none !important;
	border: 0 !important;
	margin: 0 !important;
	padding: 6px 0 !important;
}

body .wd-search-suggestions .wd-suggestions-group + .wd-suggestions-group {
	border-top: 1px solid #DFE5EA !important;
}

body .wd-search-suggestions .wd-suggestion {
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 10px 18px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	transition: background-color .12s ease;
}

body .wd-search-suggestions .wd-suggestion:hover,
body .wd-search-suggestions .wd-suggestion.wd-active,
body .wd-search-suggestions .wd-suggestion:focus-within {
	background: #F4F7F9 !important;
}

body .wd-search-suggestions .wd-suggestion-thumb {
	flex: 0 0 64px !important;
	width: 64px !important;
	height: 64px !important;
	max-width: 64px !important;
	margin: 0 !important;
	padding: 4px;
	border: 1px solid #DFE5EA;
	border-radius: 8px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

body .wd-search-suggestions .wd-suggestion-thumb img {
	width: 100% !important;
	height: 100% !important;
	object-fit: contain !important;
	margin: 0 !important;
}

/* Название и строка наличия слева, цена — отдельной колонкой справа. */
body .wd-search-suggestions .wd-suggestion-content {
	flex: 1 1 auto !important;
	min-width: 0;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 20px;
	row-gap: 4px;
	align-items: center;
	margin: 0 !important;
}

body .wd-search-suggestions .wd-suggestion-content > * {
	margin: 0 !important;
}

body .wd-search-suggestions .wd-entities-title {
	grid-column: 1;
	grid-row: 1;
	font-size: 14px !important;
	line-height: 1.35 !important;
	font-weight: 500 !important;
	color: #1A2733 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-transform: none !important;
}

body .wd-search-suggestions .wd-suggestion:hover .wd-entities-title {
	color: #0077A8 !important;
}

/* Совпадение с запросом — полужирным, без подчёркивания темы. */
body .wd-search-suggestions .wd-entities-title strong {
	font-weight: 700 !important;
	color: inherit !important;
	text-decoration: none !important;
	border: 0 !important;
}

/* Обёртку цены темы «растворяем», чтобы её части встали в сетку. */
body .wd-search-suggestions .wd-suggestion-content > .price {
	display: contents !important;
}

body .wd-search-suggestions .esync-sr-price {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 2px;
	text-align: right;
	white-space: nowrap;
}

body .wd-search-suggestions .esync-sr-price .amount,
body .wd-search-suggestions .esync-sr-price ins {
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1A2733 !important;
	text-decoration: none !important;
	background: none !important;
}

/* Цена со скидкой: новая красная сверху, под ней старая и бейдж. */
body .wd-search-suggestions .esync-sr-price:has(.esync-sr-sale) {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: end;
	align-items: center;
	column-gap: 6px;
	row-gap: 2px;
}

body .wd-search-suggestions .esync-sr-sale {
	display: contents;
}

body .wd-search-suggestions .esync-sr-sale ins {
	grid-column: 1 / -1;
	grid-row: 1;
	justify-self: end;
}

body .wd-search-suggestions .esync-sr-sale del {
	grid-column: 1;
	grid-row: 2;
}

body .wd-search-suggestions .esync-sr-price .esync-sr-badge {
	grid-column: 2;
	grid-row: 2;
}

body .wd-search-suggestions .esync-sr-sale ins,
body .wd-search-suggestions .esync-sr-sale ins .amount {
	color: #D32718 !important;
}

body .wd-search-suggestions .esync-sr-sale del,
body .wd-search-suggestions .esync-sr-sale del .amount {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: #5A6B7A !important;
	opacity: 1 !important;
}

body .wd-search-suggestions .esync-sr-badge {
	display: inline-block;
	padding: 1px 6px;
	border-radius: 4px;
	background: #D32718;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	line-height: 16px;
}

/* «● В наличии в Ростове  ★ 4,8 (12)» */
body .wd-search-suggestions .esync-sr-meta {
	grid-column: 1;
	grid-row: 2;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 12px;
	font-size: 12px;
	line-height: 1.3;
}

body .wd-search-suggestions .esync-sr-stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 500;
}

body .wd-search-suggestions .esync-sr-stock::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: currentColor;
	flex: none;
}

body .wd-search-suggestions .esync-sr-stock.is-in { color: #3F7016; }
body .wd-search-suggestions .esync-sr-stock.is-order { color: #9A5C00; }
body .wd-search-suggestions .esync-sr-stock.is-out { color: #5A6B7A; }

body .wd-search-suggestions .esync-sr-rating {
	display: inline-flex;
	align-items: baseline;
	gap: 3px;
	font-style: normal;
}

body .wd-search-suggestions .esync-sr-rating__star { color: #F2A93B; }
body .wd-search-suggestions .esync-sr-rating__value { color: #1A2733; font-weight: 600; }
body .wd-search-suggestions .esync-sr-rating__count { color: #5A6B7A; }

/* «Посмотреть все результаты» — закреплённая строка внизу списка. */
body .wd-search-results .wd-all-results {
	position: sticky;
	bottom: 0;
	z-index: 2;
	display: block !important;
	margin: 0 !important;
	padding: 13px 18px !important;
	border-top: 1px solid #DFE5EA !important;
	background: #fff !important;
	color: #0077A8 !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-align: center;
}

body .wd-search-results .wd-all-results:hover {
	background: #F4F7F9 !important;
	color: #005E85 !important;
}

/* Популярные запросы и история — аккуратные «таблетки», без капса. */
body .wd-search-results .wd-search-requests,
body .wd-search-results .wd-search-history:not(:empty) {
	padding: 14px 18px 4px !important;
	margin: 0 !important;
}

body .wd-search-results .wd-search-title,
body .wd-search-requests .title,
body .wd-search-history .title {
	display: block;
	margin: 0 0 10px !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	color: #5A6B7A !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .wd-search-requests ul,
body .wd-search-history ul {
	display: flex !important;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 10px !important;
	padding: 0 !important;
	list-style: none !important;
}

body .wd-search-requests li,
body .wd-search-history li {
	margin: 0 !important;
}

body .wd-search-requests a,
body .wd-search-history a {
	display: inline-flex !important;
	align-items: center;
	min-height: 32px;
	padding: 0 14px !important;
	border: 1px solid #DFE5EA !important;
	border-radius: 16px !important;
	background: #fff !important;
	color: #1A2733 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .wd-search-requests a:hover,
body .wd-search-history a:hover {
	border-color: #0077A8 !important;
	color: #0077A8 !important;
}

/* Телефон: цена под названием, фото поменьше. */
@media (max-width: 575px) {
	body .wd-search-suggestions .wd-suggestion {
		padding: 10px 14px !important;
		gap: 12px !important;
	}

	body .wd-search-suggestions .wd-suggestion-thumb {
		flex-basis: 56px !important;
		width: 56px !important;
		height: 56px !important;
		max-width: 56px !important;
	}

	body .wd-search-suggestions .wd-suggestion-content {
		grid-template-columns: minmax(0, 1fr);
	}

	body .wd-search-suggestions .esync-sr-meta {
		grid-row: 2;
	}

	body .wd-search-suggestions .esync-sr-price {
		grid-column: 1;
		grid-row: 3;
		flex-direction: row;
		align-items: baseline;
		gap: 8px;
	}

	body .wd-search-suggestions .esync-sr-price:has(.esync-sr-sale) {
		grid-template-columns: auto auto auto;
		justify-content: start;
		column-gap: 8px;
	}

	body .wd-search-suggestions .esync-sr-sale ins {
		grid-column: 1;
		justify-self: start;
	}

	body .wd-search-suggestions .esync-sr-sale del {
		grid-column: 2;
		grid-row: 1;
	}

	body .wd-search-suggestions .esync-sr-price .esync-sr-badge {
		grid-column: 3;
		grid-row: 1;
	}
}

/* ==========================================================================
   Страница 404: «Возможно, вы искали» — шорткод [esync_404].
   ========================================================================== */

.esync-404 {
	margin: 0;
}

.esync-404__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 20px;
}

body .esync-404__title {
	margin: 0 !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: #1A2733 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.esync-404__all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #0077A8;
	font-size: 15px;
	font-weight: 600;
	white-space: nowrap;
}

.esync-404__all:hover {
	color: #005E85;
}

.esync-404__all svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .15s ease;
}

.esync-404__all:hover svg {
	transform: translateX(3px);
}

@media (max-width: 767px) {
	body .esync-404__title {
		font-size: 20px !important;
	}
}

/* Сетка тем Woodmart берёт число колонок из своих переменных — на
   компьютере задаём их из шорткода (по умолчанию 5 в ряд). */
@media (min-width: 1025px) {
	.esync-404 .wd-grid-g,
	.esync-404 .products {
		--wd-col-lg: var(--esync-404-cols, 5) !important;
		--wd-col: var(--esync-404-cols, 5) !important;
	}
}

/* ==========================================================================
   Фильтр в каталоге: заголовки блоков без капса.
   Тема выводит заголовки виджетов боковой колонки прописными
   («ЦЕНА, ₽», «БРЕНД») — делаем обычным полужирным текстом.
   ========================================================================== */

body .sidebar-container .widget-title,
body .wd-sidebar .widget-title,
body .filters-area .widget-title,
body .wd-widget .widget-title,
body .widget .widgettitle,
body .elementor-widget-sidebar .widget-title,
body .elementor-widget-wp-widget-woocommerce_price_filter .widget-title,
body .wd-pf-title .title,
body .wd-pf-checkboxes .wd-pf-title {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #1A2733 !important;
}

/* ==========================================================================
   Фильтр каталога (виджет «Боковая колонка» Woodmart в Elementor).
   Одна карточка, блоки разделены линиями; все списки — строки с
   одинаковыми флажками; бренды — текстом, без мелких логотипов,
   которые сливаются в пятна; счётчики — серым без «таблеток».
   ========================================================================== */

body .elementor-widget-wd_sidebar > .elementor-widget-container {
	background: #fff !important;
	border: 1px solid #DFE5EA !important;
	border-radius: 12px !important;
	padding: 0 20px !important;
}

body .elementor-widget-wd_sidebar .wd-widget {
	margin: 0 !important;
	padding: 20px 0 !important;
	border: 0 !important;
	border-top: 1px solid #DFE5EA !important;
	background: none !important;
	box-shadow: none !important;
}

body .elementor-widget-wd_sidebar .wd-widget:first-of-type {
	border-top: 0 !important;
}

body .elementor-widget-wd_sidebar .widget-title {
	margin: 0 0 14px !important;
	padding: 0 !important;
	border: 0 !important;
}

/* --- Цена --- */
body .elementor-widget-wd_sidebar .price_slider_wrapper {
	padding-top: 12px !important;
}

body .elementor-widget-wd_sidebar .price_slider {
	height: 4px !important;
	margin: 0 9px 18px !important;
	border: 0 !important;
	border-radius: 2px !important;
	background: #DFE5EA !important;
}

body .elementor-widget-wd_sidebar .price_slider .ui-slider-range {
	height: 4px !important;
	top: 0 !important;
	background: #0077A8 !important;
	border-radius: 2px !important;
}

body .elementor-widget-wd_sidebar .price_slider .ui-slider-handle {
	top: -7px !important;
	width: 18px !important;
	height: 18px !important;
	margin-left: -9px !important;
	border: 2px solid #0077A8 !important;
	border-radius: 50% !important;
	background: #fff !important;
	box-shadow: 0 1px 3px rgba(26, 39, 51, .18) !important;
	transform: none !important;
	cursor: grab;
}

/* У ручек темы внутри полоска-«засечка» — убираем. */
body .elementor-widget-wd_sidebar .price_slider .ui-slider-handle::before,
body .elementor-widget-wd_sidebar .price_slider .ui-slider-handle::after {
	content: none !important;
	display: none !important;
}

body .elementor-widget-wd_sidebar .price_slider .ui-slider-handle:focus {
	outline: none;
	box-shadow: 0 0 0 4px rgba(0, 119, 168, .18) !important;
}

body .elementor-widget-wd_sidebar .price_slider_amount {
	display: flex !important;
	flex-direction: column;
	gap: 12px;
	text-align: left !important;
}

body .elementor-widget-wd_sidebar .price_slider_amount .clear {
	display: none;
}

body .elementor-widget-wd_sidebar .price_label {
	order: 1;
	text-align: left !important;
	float: none !important;
	margin: 0 !important;
	font-size: 14px !important;
	line-height: 1.4;
	color: #5A6B7A !important;
}

body .elementor-widget-wd_sidebar .price_label .from,
body .elementor-widget-wd_sidebar .price_label .to {
	font-size: 15px;
	font-weight: 700;
	color: #1A2733;
}

body .elementor-widget-wd_sidebar .price_slider_amount .button {
	order: 2;
	float: none !important;
	width: 100% !important;
	min-height: 40px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #0077A8 !important;
	color: #fff !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
}

body .elementor-widget-wd_sidebar .price_slider_amount .button:hover {
	background: #005E85 !important;
}

/* --- Поиск внутри списка («Найти бренд») --- */
body .elementor-widget-wd_sidebar .wd-filter-search {
	margin: 0 0 10px !important;
}

body .elementor-widget-wd_sidebar .wd-filter-search input {
	height: 38px !important;
	padding: 0 34px 0 12px !important;
	border: 1px solid #DFE5EA !important;
	border-radius: 8px !important;
	background: #F4F7F9 !important;
	font-size: 14px !important;
	color: #1A2733 !important;
	box-shadow: none !important;
}

body .elementor-widget-wd_sidebar .wd-filter-search input:focus {
	border-color: #0077A8 !important;
	background: #fff !important;
}

/* --- Списки значений --- */
body .elementor-widget-wd_sidebar .wd-scroll-content,
body .elementor-widget-wd_sidebar .wd-filter-list,
body .elementor-widget-wd_sidebar .wd-checkboxes-on {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .elementor-widget-wd_sidebar .wd-scroll-content {
	max-height: 232px;
	padding-right: 6px !important;
	scrollbar-width: thin;
	scrollbar-color: #C9D3DB transparent;
}

body .elementor-widget-wd_sidebar .wd-filter-list li,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li {
	display: flex !important;
	align-items: center !important;
	gap: 8px;
	width: 100% !important;
	margin: 0 !important;
	padding: 5px 0 !important;
	border: 0 !important;
	background: none !important;
}

body .elementor-widget-wd_sidebar .wd-filter-list li > a,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li > a {
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 10px;
	flex: 1 1 auto;
	min-width: 0;
	padding: 0 !important;
	border: 0 !important;
	background: none !important;
	font-size: 15px !important;
	line-height: 1.35 !important;
	font-weight: 400 !important;
	color: #1A2733 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .elementor-widget-wd_sidebar .wd-filter-list li > a:hover,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li > a:hover {
	color: #0077A8 !important;
}

/* Флажок — один для всех списков. */
body .elementor-widget-wd_sidebar .wd-filter-list li > a::before,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li > a::before {
	content: "" !important;
	position: static !important;
	display: block !important;
	flex: 0 0 18px;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	border: 1.5px solid #B7C3CC !important;
	border-radius: 5px !important;
	background: #fff center / 14px 14px no-repeat !important;
	transform: none !important;
	opacity: 1 !important;
	transition: border-color .12s ease, background-color .12s ease;
}

body .elementor-widget-wd_sidebar .wd-filter-list li > a::after,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li > a::after {
	content: none !important;
	display: none !important;
}

body .elementor-widget-wd_sidebar .wd-filter-list li > a:hover::before,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li > a:hover::before {
	border-color: #0077A8 !important;
}

body .elementor-widget-wd_sidebar .wd-filter-list li:is(.chosen, .wd-active, .active) > a::before,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li:is(.chosen, .wd-active, .active) > a::before {
	border-color: #0077A8 !important;
	background-color: #0077A8 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
}

body .elementor-widget-wd_sidebar .wd-filter-list li:is(.chosen, .wd-active, .active) > a,
body .elementor-widget-wd_sidebar .wd-checkboxes-on li:is(.chosen, .wd-active, .active) > a {
	font-weight: 600 !important;
}

/* Бренды: логотип размером с ноготь не читается — оставляем название. */
body .elementor-widget-wd_sidebar .wd-swatches-brands .wd-swatch {
	display: none !important;
}

body .elementor-widget-wd_sidebar .wd-filter-lable {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: inherit !important;
	color: inherit !important;
	text-transform: none !important;
}

/* Счётчик — тихой цифрой справа. */
body .elementor-widget-wd_sidebar .count {
	flex: none;
	margin-left: auto !important;
	min-width: 0 !important;
	height: auto !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	color: #8796A3 !important;
	opacity: 1 !important;
}

/* На телефоне фильтр открывается боковой панелью — рамка не нужна. */
@media (max-width: 1024px) {
	body .wd-side-hidden .elementor-widget-wd_sidebar > .elementor-widget-container,
	body .wd-col-offcanvas-md-sm .elementor-widget-wd_sidebar > .elementor-widget-container {
		border: 0;
		border-radius: 0;
		padding: 0 4px;
	}
}

/* Ползунок цены — жёстко, поверх раскладки темы: тема рисует дорожку
   своими псевдоэлементами и сдвигает ручки, из-за чего ручки
   оказывались над линией. Дорожка — сам .price_slider высотой 4px,
   ручки — по его центру. */
body .elementor-widget-wd_sidebar .price_slider_wrapper::before,
body .elementor-widget-wd_sidebar .price_slider_wrapper::after,
body .elementor-widget-wd_sidebar .price_slider::before,
body .elementor-widget-wd_sidebar .price_slider::after,
body .elementor-widget-wd_sidebar .price_slider .ui-slider-range::before,
body .elementor-widget-wd_sidebar .price_slider .ui-slider-range::after {
	content: none !important;
	display: none !important;
}

body .elementor-widget-wd_sidebar .price_slider {
	position: relative !important;
	box-sizing: content-box !important;
	height: 4px !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin: 8px 9px 20px !important;
	border: 0 !important;
	box-shadow: none !important;
	background: #DFE5EA !important;
	background-image: none !important;
}

body .elementor-widget-wd_sidebar .price_slider .ui-slider-range {
	position: absolute !important;
	top: 0 !important;
	bottom: auto !important;
	height: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	box-shadow: none !important;
	background: #0077A8 !important;
}

body .elementor-widget-wd_sidebar .price_slider .ui-slider-handle {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	margin: -9px 0 0 -9px !important;
	transform: none !important;
}

body .elementor-widget-wd_sidebar .price_slider_amount {
	align-items: stretch !important;
	justify-content: flex-start !important;
}

body .elementor-widget-wd_sidebar .price_label {
	width: 100% !important;
	text-align: left !important;
}

/* ==========================================================================
   Блог «Новости и акции»: [esync_posts], [esync_post]; [esync_sale].
   ========================================================================== */

.esync-blog {
	--b-ink: #1A2733;
	--b-muted: #5A6B7A;
	--b-line: #DFE5EA;
	--b-panel: #F4F7F9;
	--b-blue: #0077A8;
	--b-red: #D32718;
}

body .esync-blog__heading {
	margin: 0 !important;
	font-size: 24px !important;
	line-height: 1.25 !important;
	font-weight: 700 !important;
	color: #1A2733 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.esync-blog--related {
	margin-top: 56px;
}

.esync-blog--related .esync-blog__heading {
	margin-bottom: 20px !important;
}

/* Вкладки рубрик */
.esync-blog__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 28px;
}

.esync-blog__tabs a {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 0 18px;
	border: 1px solid var(--b-line);
	border-radius: 19px;
	background: #fff;
	color: var(--b-ink) !important;
	font-size: 15px;
	font-weight: 500;
	transition: border-color .12s ease, color .12s ease, background-color .12s ease;
}

.esync-blog__tabs a:hover {
	border-color: var(--b-blue);
	color: var(--b-blue) !important;
}

.esync-blog__tabs a.is-active {
	border-color: var(--b-blue);
	background: var(--b-blue);
	color: #fff !important;
}

/* Сетка карточек */
.esync-blog__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.esync-blog__card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--b-line);
	border-radius: 12px;
	background: #fff;
	transition: box-shadow .15s ease, transform .15s ease;
}

.esync-blog__card:hover {
	box-shadow: 0 10px 28px rgba(26, 39, 51, .10);
	transform: translateY(-2px);
}

.esync-blog__media {
	display: block;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: var(--b-panel);
}

body .esync-blog__img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .3s ease;
}

.esync-blog__card:hover .esync-blog__img {
	transform: scale(1.03);
}

.esync-blog__img--empty {
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #B7C3CC;
	font-size: 56px;
	font-weight: 800;
	background: linear-gradient(135deg, #EEF4F8, #F7FAFC);
}

.is-promo .esync-blog__img--empty {
	color: rgba(211, 39, 24, .35);
	background: linear-gradient(135deg, #FDECEB, #FFF7F6);
}

.esync-blog__img--empty svg {
	width: 48px;
	height: 48px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
	stroke-linejoin: round;
}

.esync-blog__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	gap: 10px;
	padding: 18px 20px 20px;
}

.esync-blog__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--b-muted, #5A6B7A);
}

.esync-blog__chip {
	display: inline-flex;
	align-items: center;
	height: 24px;
	padding: 0 10px;
	border-radius: 12px;
	background: #E8F1F7;
	color: #0077A8 !important;
	font-size: 12px;
	font-weight: 600;
}

.is-promo .esync-blog__chip {
	background: #FDECEB;
	color: #D32718 !important;
}

body .esync-blog__title {
	margin: 0 !important;
	font-size: 18px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

body .esync-blog__title a {
	color: var(--b-ink) !important;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

body .esync-blog__title a:hover {
	color: var(--b-blue) !important;
}

.esync-blog__excerpt {
	margin: 0 !important;
	font-size: 15px;
	line-height: 1.55;
	color: var(--b-muted);
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.esync-blog__more {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-top: auto;
	padding-top: 4px;
	color: var(--b-blue) !important;
	font-size: 15px;
	font-weight: 600;
}

.is-promo .esync-blog__more {
	color: var(--b-red) !important;
}

.esync-blog__more svg,
.esync-post__back svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .15s ease;
}

.esync-blog__more:hover svg {
	transform: translateX(3px);
}

.esync-blog__empty {
	padding: 40px 24px;
	border-radius: 12px;
	background: var(--b-panel);
	text-align: center;
	color: var(--b-muted);
	font-size: 16px;
}

/* Постраничка */
.esync-blog__pages {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
	margin-top: 36px;
}

.esync-blog__pages .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--b-line);
	border-radius: 8px;
	background: #fff;
	color: var(--b-ink) !important;
	font-size: 15px;
	font-weight: 500;
}

.esync-blog__pages a.page-numbers:hover {
	border-color: var(--b-blue);
	color: var(--b-blue) !important;
}

.esync-blog__pages .page-numbers.current {
	border-color: var(--b-blue);
	background: var(--b-blue);
	color: #fff !important;
}

.esync-blog__pages .page-numbers.dots {
	border: 0;
	background: none;
}

/* Одиночная запись */
.esync-post {
	max-width: 820px;
	margin: 0 auto;
	color: #1A2733;
}

.esync-post__head {
	margin-bottom: 24px;
}

body .esync-post__title {
	margin: 14px 0 0 !important;
	font-size: 36px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	color: #1A2733 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.esync-post__cover {
	margin: 0 0 32px !important;
	overflow: hidden;
	border-radius: 12px;
	background: #F4F7F9;
}

.esync-post__cover img {
	display: block;
	width: 100%;
	height: auto;
}

.esync-post__content {
	font-size: 17px;
	line-height: 1.7;
	color: #1A2733;
}

.esync-post__content > * + * {
	margin-top: 1em;
}

.esync-post__content h2 {
	margin-top: 1.6em !important;
	font-size: 26px !important;
	line-height: 1.3 !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

.esync-post__content h3 {
	margin-top: 1.4em !important;
	font-size: 21px !important;
	line-height: 1.35 !important;
	font-weight: 700 !important;
	text-transform: none !important;
}

.esync-post__content a {
	color: #0077A8;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.esync-post__content ul,
.esync-post__content ol {
	padding-left: 1.3em;
}

.esync-post__content li + li {
	margin-top: .35em;
}

.esync-post__content img {
	max-width: 100%;
	height: auto;
	border-radius: 10px;
}

.esync-post__content blockquote {
	margin: 1.5em 0;
	padding: 16px 22px;
	border-left: 4px solid #0077A8;
	border-radius: 0 10px 10px 0;
	background: #F4F7F9;
	font-style: normal;
}

.is-promo .esync-post__content blockquote {
	border-left-color: #D32718;
	background: #FFF5F4;
}

.esync-post__back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 36px;
	color: #0077A8 !important;
	font-size: 15px;
	font-weight: 600;
}

.esync-post__back:hover svg {
	transform: translateX(-3px);
}

/* Товары со скидкой */
.esync-sale {
	margin: 0;
}

.esync-sale__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0 0 20px;
}

.esync-sale__empty {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 28px;
	border-radius: 12px;
	background: #F4F7F9;
}

.esync-sale__empty p {
	margin: 0 !important;
	font-size: 16px;
	color: #5A6B7A;
}

.esync-sale__btn {
	flex: none;
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 22px;
	border-radius: 8px;
	background: #0077A8;
	color: #fff !important;
	font-size: 15px;
	font-weight: 600;
}

.esync-sale__btn:hover {
	background: #005E85;
}

@media (min-width: 1025px) {
	.esync-sale .wd-grid-g,
	.esync-sale .products {
		--wd-col-lg: var(--esync-sale-cols, 5) !important;
		--wd-col: var(--esync-sale-cols, 5) !important;
	}
}

@media (max-width: 1024px) {
	.esync-blog__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px;
	}
}

@media (max-width: 767px) {
	.esync-blog__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	body .esync-post__title {
		font-size: 26px !important;
	}

	.esync-post__content {
		font-size: 16px;
	}

	.esync-sale__empty {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	body .esync-blog__heading {
		font-size: 20px !important;
	}
}

/* Обложки любых пропорций: картинка целиком, поля — она же, размытая. */
.esync-blog__media.has-blur {
	position: relative;
	isolation: isolate;
}

.esync-blog__media.has-blur::before {
	content: "";
	position: absolute;
	inset: -24px;
	z-index: -1;
	background: var(--esync-blur) center / cover no-repeat;
	filter: blur(22px) saturate(1.1);
	opacity: .55;
}

.esync-blog__media.has-blur .esync-blog__img {
	object-fit: contain !important;
}

.esync-blog__card:hover .esync-blog__media.has-blur .esync-blog__img {
	transform: scale(1.02);
}

/* Срок акции */
.esync-blog__until {
	font-size: 13px;
	font-weight: 600;
	color: #D32718;
}

.esync-blog__card.is-ended .esync-blog__chip,
.esync-post .esync-blog__chip.is-ended {
	background: #EEF1F4 !important;
	color: #5A6B7A !important;
}

.esync-blog__card.is-ended .esync-blog__img {
	filter: grayscale(.7);
	opacity: .8;
}

.esync-blog__card.is-ended .esync-blog__more {
	color: #0077A8 !important;
}

.esync-post__notice {
	margin: 0 0 24px;
	padding: 14px 18px;
	border-radius: 10px;
	background: #FDECEB;
	color: #1A2733;
	font-size: 15px;
	line-height: 1.5;
}

.esync-post__notice.is-ended {
	background: #F4F7F9;
	color: #5A6B7A;
}

.esync-post__notice a {
	color: #0077A8;
	font-weight: 600;
}

/* Блог: 4 карточки в ряд на широком экране. */
@media (min-width: 1200px) {
	.esync-blog__grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 1025px) and (max-width: 1199px) {
	.esync-blog__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Хлебные крошки под заголовком записи */
.esync-post__crumbs {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.5;
	color: #5A6B7A;
}

.esync-post__crumbs a {
	color: #1A2733 !important;
}

.esync-post__crumbs a:hover {
	color: #0077A8 !important;
}

.esync-post__crumbs .breadcrumb_last {
	color: #5A6B7A;
}

/* ==========================================================================
   Таблетки соцсетей и мессенджеров (.esync-social) — шапка, контакты
   ========================================================================== */

.esync-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.esync-social__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 14px 0 8px;
	border: 1px solid #DFE5EA;
	border-radius: 20px;
	background: #fff;
	color: #1A2733 !important;
	font-size: 14px;
	font-weight: 600;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.esync-social__link:hover {
	border-color: #C9D3DB;
	box-shadow: 0 4px 12px rgba(26, 39, 51, .08);
}

.esync-social__badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: -.02em;
}

.esync-social__badge.is-vk { background: #0077FF; }
.esync-social__badge.is-ok { background: #EE8208; }
.esync-social__badge.is-max { background: linear-gradient(135deg, #3B5BFF, #9B4DFF); }

.esync-social__img {
	width: 26px !important;
	height: 26px !important;
	border-radius: 50%;
	object-fit: cover;
}


/* ==========================================================================
   Шапка: блок «Позвонить» под телефоном ([esync_phone_menu])
   ========================================================================== */

body .esync-callmenu {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
	gap: 22px 32px;
	width: 100%;
	max-width: 600px;
	color: #1A2733;
	font-size: 14px;
	line-height: 1.45;
	text-align: left;
}

body .esync-callmenu p,
body .esync-callmenu ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

body .esync-callmenu li {
	margin: 0 !important;
}

body .esync-callmenu li::before {
	display: none !important;
}

body .esync-callmenu p.esync-callmenu__title {
	margin-bottom: 10px !important;
	color: #5A6B7A;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}

body .esync-callmenu p.esync-callmenu__status {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px !important;
	padding: 4px 10px !important;
	border-radius: 14px;
	background: #F4F7F9;
	color: #5A6B7A;
	font-size: 13px;
	font-weight: 600;
}

body .esync-callmenu p.esync-callmenu__status[hidden] {
	display: none;
}

body .esync-callmenu__status i {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #9AA5AD;
}

body .esync-callmenu p.esync-callmenu__status.is-on {
	background: #EEF5E7;
	color: #3F7016;
}

body .esync-callmenu p.esync-callmenu__status.is-on i {
	background: #3F7016;
	box-shadow: 0 0 0 3px rgba(63, 112, 22, .18);
}

body .esync-callmenu__phones {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

body .esync-callmenu__phone a {
	display: block;
	color: #1A2733 !important;
	font-size: 16px;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
	text-decoration: none !important;
}

body .esync-callmenu__phone.is-main a {
	color: #0077A8 !important;
	font-size: 21px;
	letter-spacing: -.01em;
}

body .esync-callmenu__phone a:hover {
	color: #005E85 !important;
}

body .esync-callmenu__phone span {
	display: block;
	color: #5A6B7A;
	font-size: 12px;
}

body .esync-callmenu ul.esync-callmenu__info {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-left: 32px !important;
	border-left: 1px solid #DFE5EA;
}

body .esync-callmenu__info li {
	display: flex;
	gap: 10px;
	align-items: flex-start;
}

body .esync-callmenu__icon {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	fill: none;
	stroke: #0077A8;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

body .esync-callmenu__info strong {
	display: block;
	font-weight: 600;
}

body .esync-callmenu__info span {
	display: block;
	color: #5A6B7A;
	font-size: 13px;
}

body .esync-callmenu__route {
	display: inline-block;
	margin-top: 2px;
	color: #0077A8 !important;
	font-size: 13px;
	font-weight: 600;
	text-decoration: none !important;
}

body .esync-callmenu__route:hover,
body .esync-callmenu__mail:hover {
	color: #005E85 !important;
}

body .esync-callmenu__mail {
	color: #1A2733 !important;
	font-weight: 600;
	text-decoration: none !important;
}

body .esync-callmenu__social {
	grid-column: 1 / -1;
	padding-top: 18px;
	border-top: 1px solid #DFE5EA;
}

body .esync-callmenu .esync-social__link {
	text-decoration: none !important;
}

@media (max-width: 600px) {
	body .esync-callmenu {
		grid-template-columns: 1fr;
	}

	body .esync-callmenu ul.esync-callmenu__info {
		padding: 18px 0 0 !important;
		border-left: 0;
		border-top: 1px solid #DFE5EA;
	}
}

/* ==========================================================================
   Шапка: каталог — правая часть меню раздела ([esync_menu_cat])
   ========================================================================== */

body .esync-mcat {
	display: flex;
	flex-direction: column;
	gap: 18px;
	width: 100%;
	color: #1A2733;
	text-align: left;
}

body .esync-mcat a {
	text-decoration: none !important;
}

body .esync-mcat__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 6px 20px;
}

body .esync-mcat__title {
	color: #1A2733 !important;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

body .esync-mcat__title:hover {
	color: #0077A8 !important;
}

body .esync-mcat__all {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #0077A8 !important;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

body .esync-mcat__all:hover {
	color: #005E85 !important;
}

body .esync-mcat__all svg {
	width: 16px;
	height: 16px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
	stroke-linejoin: round;
	transition: transform .15s ease;
}

body .esync-mcat__all:hover svg {
	transform: translateX(3px);
}

body .esync-mcat__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
}

body .esync-mcat__tile {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 96px;
	padding: 10px 14px 10px 10px;
	border: 1px solid #DFE5EA;
	border-radius: 10px;
	background: #fff;
	color: #1A2733 !important;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body .esync-mcat__tile:hover {
	border-color: #0077A8;
	box-shadow: 0 6px 18px rgba(26, 39, 51, .08);
}

body .esync-mcat__media {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 76px;
	height: 76px;
	border-radius: 8px;
	background: #F4F7F9;
	overflow: hidden;
}

body .esync-mcat__media img {
	width: 100% !important;
	height: 100% !important;
	padding: 6px;
	box-sizing: border-box;
	object-fit: contain;
	mix-blend-mode: multiply; /* белый фон фото сливается с подложкой */
}

body .esync-mcat__text {
	display: flex;
	flex-direction: column;
	gap: 3px;
	min-width: 0;
}

body .esync-mcat__name {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

body .esync-mcat__tile:hover .esync-mcat__name {
	color: #0077A8;
}

body .esync-mcat__count {
	color: #5A6B7A;
	font-size: 13px;
	font-variant-numeric: tabular-nums;
}

body .esync-mcat__brands {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding-top: 16px;
	border-top: 1px solid #DFE5EA;
}

body .esync-mcat__label {
	margin-right: 6px;
	color: #5A6B7A;
	font-size: 13px;
	font-weight: 600;
}

body .esync-mcat__brand {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid #DFE5EA;
	border-radius: 16px;
	background: #fff;
	color: #1A2733 !important;
	font-size: 14px;
	font-weight: 600;
	transition: border-color .15s ease, color .15s ease;
}

body .esync-mcat__brand span {
	color: #8796A3;
	font-size: 12px;
	font-weight: 500;
}

body .esync-mcat__brand:hover {
	border-color: #0077A8;
	color: #0077A8 !important;
}

/* Левая колонка меню каталога (разделы, «Товары со скидкой») оформлена
   в «Своём CSS» темы, раздел «Меню категорий в шапке». Здесь её нет,
   чтобы правила не спорили. */

/* ==========================================================================
   Страница «Бренды» ([esync_brands])
   ========================================================================== */

body .esync-brandsp {
	display: flex;
	flex-direction: column;
	gap: 24px;
	color: #1A2733;
}

/* Вкладки слева (переносятся внутри своей колонки), поиск — справа
   отдельной колонкой фиксированной ширины. Сеткой, а не потоком:
   тема и Elementor вмешиваются в размеры label, а ячейку сетки
   они не меняют. */
body .esync-brandsp .esync-brandsp__bar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 260px;
	align-items: start;
	gap: 12px 24px;
}

body .esync-brandsp .esync-brandsp__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	min-width: 0;
}

/* Кнопки темы крупнее (шрифт, отступы, высота) — задаём свои жёстко. */
body .esync-brandsp .esync-brandsp__tab {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	height: 38px !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 14px !important;
	border: 1px solid #DFE5EA !important;
	border-radius: 19px !important;
	background: #fff;
	color: #1A2733;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: border-color .15s ease, background-color .15s ease, color .15s ease;
}

body .esync-brandsp .esync-brandsp__tab span {
	color: #8796A3;
	font-size: 12px;
	font-weight: 500;
}

body .esync-brandsp .esync-brandsp__tab:hover {
	border-color: #0077A8 !important;
	background: #fff;
	color: #0077A8;
}

body .esync-brandsp .esync-brandsp__tab.is-active {
	border-color: #0077A8 !important;
	background: #0077A8;
	color: #fff;
}

body .esync-brandsp .esync-brandsp__tab.is-active span {
	color: rgba(255, 255, 255, .75);
}

body .esync-brandsp .esync-brandsp__search {
	position: relative;
	display: block !important;
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .esync-brandsp__search svg {
	position: absolute;
	top: 50%;
	left: 14px;
	width: 18px;
	height: 18px;
	margin-top: -9px;
	fill: none;
	stroke: #5A6B7A;
	stroke-width: 2;
	stroke-linecap: round;
	pointer-events: none;
}

body .esync-brandsp__search input {
	box-sizing: border-box;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	height: 38px;
	padding: 0 14px 0 42px;
	border: 1px solid #DFE5EA;
	border-radius: 8px;
	background: #F4F7F9;
	font-size: 15px;
}

body .esync-brandsp__search input:focus {
	border-color: #0077A8;
	background: #fff;
}

body .esync-brandsp__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: 16px;
}

body .esync-brandsp__card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 18px 16px 16px;
	border: 1px solid #DFE5EA;
	border-radius: 12px;
	background: #fff;
	color: #1A2733 !important;
	text-align: center;
	text-decoration: none !important;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body .esync-brandsp__card[hidden] {
	display: none !important;
}

body .esync-brandsp__card:hover {
	border-color: #0077A8;
	box-shadow: 0 0 1.2rem rgba(0, 0, 0, .09);
	transform: translateY(-3px);
}

body .esync-brandsp__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 84px;
	margin-bottom: 10px;
}

body .esync-brandsp__img {
	max-width: 80% !important;
	max-height: 64px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	filter: grayscale(1);
	opacity: .75;
	transition: filter .2s ease, opacity .2s ease;
}

body .esync-brandsp__card:hover .esync-brandsp__img {
	filter: none;
	opacity: 1;
}

body .esync-brandsp__word {
	color: #5A6B7A;
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -.01em;
}

body .esync-brandsp__name {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.3;
}

body .esync-brandsp__card:hover .esync-brandsp__name {
	color: #0077A8;
}

body .esync-brandsp__count {
	color: #5A6B7A;
	font-size: 13px;
}

body .esync-brandsp__cats {
	margin-top: 6px;
	padding-top: 8px;
	border-top: 1px solid #EEF2F5;
	width: 100%;
	color: #8796A3;
	font-size: 12px;
	line-height: 1.4;
}

body .esync-brandsp__empty {
	margin: 0;
	padding: 32px;
	border-radius: 12px;
	background: #F4F7F9;
	color: #5A6B7A;
	text-align: center;
}

@media (max-width: 767px) {
	body .esync-brandsp .esync-brandsp__bar {
		grid-template-columns: minmax(0, 1fr);
	}

	body .esync-brandsp .esync-brandsp__search {
		order: -1;
	}

	/* Вкладки на телефоне — одной строкой с прокруткой пальцем */
	body .esync-brandsp .esync-brandsp__tabs {
		flex-wrap: nowrap;
		overflow-x: auto;
		padding-bottom: 4px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	body .esync-brandsp__tab {
		flex: none;
		white-space: nowrap;
	}

	body .esync-brandsp__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	body .esync-brandsp__cats {
		display: none;
	}
}

/* ==========================================================================
   Оформление заказа: галочка согласия не отмечена
   ========================================================================== */

body .woocommerce-terms-and-conditions-wrapper .form-row.esync-terms-error {
	padding: 10px 12px !important;
	border: 1px solid #D32718;
	border-radius: 8px;
	background: #FDF1F0;
	transition: background-color .2s ease, border-color .2s ease;
}

body .woocommerce-terms-and-conditions-wrapper .form-row.esync-terms-error input[type="checkbox"] {
	outline: 2px solid #D32718;
	outline-offset: 1px;
}

/* ==========================================================================
   Оформление: фото позиции не выходит за плитку
   (ссылку-обёртку и картинку жёстко вписываем в квадрат 56 px)
   ========================================================================== */

body .wd-order-table .wd-checkout-prod-img {
	width: 56px !important;
	min-width: 56px !important;
	max-width: 56px !important;
	height: 56px !important;
	overflow: hidden;
	flex: none;
}

body .wd-order-table .wd-checkout-prod-img > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: 100% !important;
}

body .wd-order-table .wd-checkout-prod-img img {
	object-fit: contain !important;
}

/* ==========================================================================
   Отзывы: галочка «Запомнить имя и эл. почту» в одну строку с текстом
   ========================================================================== */

body .comment-form-cookies-consent {
	display: flex !important;
	align-items: center;
	gap: 10px;
}

body .comment-form-cookies-consent input[type="checkbox"] {
	flex: none;
	margin: 0 !important;
}

body .comment-form-cookies-consent label {
	margin: 0 !important;
	font-weight: 400;
}

/* ==========================================================================
   Поиск: выпадающий список во всю ширину поля, популярные запросы в строку
   ========================================================================== */

/* Тема отодвигает список от краёв на величину скругления поля — у
   круглого поля он выходит заметно уже и висит «посередине». */
body .wd-search-form .wd-dropdown-results,
body .wd-search-form .wd-search-results.wd-dropdown {
	left: 0 !important;
	right: 0 !important;
	width: auto !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	border-radius: 14px !important;
}

/* Популярные запросы и история — таблетками в строку с переносом,
   а не столбиком на всю ширину. */
body .wd-search-requests li,
body .wd-search-history li {
	flex: none !important;
	width: auto !important;
	max-width: 100% !important;
}

/* ================================================================
   Плитки товара на телефоне — две в ряд, ровные и компактные
   ================================================================
   Две колонки, как у маркетплейсов: в одну колонку плитка с
   квадратным фото занимает весь экран, и список листается вчетверо
   дольше. Чтобы ряд не «скакал», плитка — колонка на всю высоту
   ряда, а цена с кнопкой прижаты к низу. Характеристик не больше
   двух, каждая в одну строку, — иначе соседние плитки разной высоты.
   Действует везде: главная, разделы, бренды, «Похожие товары».
*/
@media (max-width: 767px) {
	body .wd-products,
	body .products.wd-grid-g {
		--wd-gap: 10px !important;
	}

	/* Карусели («Похожие», «Недавно смотрели»): слайд на высоту ряда. */
	body .wd-carousel .wd-carousel-item {
		height: auto !important;
	}

	body .wd-carousel .wd-carousel-item > .wd-product {
		height: 100%;
	}

	body .wd-product .wd-product-wrapper {
		height: 100%;
		display: flex;
		flex-direction: column;
		padding: 10px !important;
		box-sizing: border-box;
	}

	body .wd-product .product-element-bottom {
		flex: 1 1 auto;
		display: flex;
		flex-direction: column;
		padding: 0 !important;
		margin-top: 8px !important;
	}

	body .wd-product .product-element-bottom > .wrap-price {
		margin-top: auto !important;
		padding-top: 6px;
	}

	body .wd-product.product-grid-item .wd-entities-title,
	body .wd-product.product-grid-item .wd-entities-title a {
		font-size: 14px !important;
		line-height: 1.35 !important;
		margin-bottom: 0 !important;
	}

	body .wd-product.product-grid-item .wd-entities-title {
		min-height: 2.7em !important;
	}

	body .wd-product .esync-stock-row {
		margin: 4px 0 0 !important;
	}

	body .wd-product .esync-stock,
	body .wd-product .esync-tile-rating {
		font-size: 12px !important;
	}

	body .wd-product .esync-hints {
		margin: 4px 0 0 !important;
	}

	body .wd-product .esync-hint {
		font-size: 12px !important;
		line-height: 1.45 !important;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	body .wd-product .esync-hint:nth-child(n+3) {
		display: none !important;
	}

	body .wd-product .price,
	body .wd-product .price .amount {
		font-size: 18px !important;
		line-height: 1.2 !important;
	}

	body .wd-product .price del,
	body .wd-product .price del .amount {
		font-size: 12px !important;
	}

	body .wd-product .price del {
		display: block;
		margin-bottom: 2px;
	}

	body .wd-product .wd-add-btn .button {
		height: 40px !important;
		min-height: 0 !important;
		padding: 0 8px !important;
		font-size: 14px !important;
		line-height: 40px !important;
	}

	/* Сердечко и плашка скидки — поменьше, не закрывают фото. */
	body .wd-product .wd-buttons {
		transform: scale(.85);
		transform-origin: top right;
	}

	body .wd-product .product-labels .product-label {
		font-size: 11px !important;
		min-height: 0 !important;
		padding: 3px 8px !important;
	}

	/* Название товара на его странице: 34 px давали пять строк на экран. */
	body.single-product .product_title {
		font-size: 22px !important;
		line-height: 1.3 !important;
	}

	/* Миниатюры галереи: лента начинается ровно от края, первая
	   не обрезается слева (тема сдвигает ленту отрицательным отступом). */
	body .woocommerce-product-gallery .wd-gallery-thumb,
	body .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-inner {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
	}

	body .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-wrap {
		margin: 0 !important;
		padding: 1px 1px 6px !important;
		transform: none !important;
	}
}

/* Миниатюры галереи, вторая попытка: тема сдвигает ленту влево через
   отрицательный отступ самой карусели и зазор --wd-gap. Обнуляем всё. */
@media (max-width: 767px) {
	body .woocommerce-product-gallery .wd-gallery-thumb {
		--wd-gap: 0px !important;
	}

	body .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel,
	body .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-container {
		margin: 0 !important;
		padding: 0 !important;
		left: 0 !important;
		transform: none !important;
	}

	body .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-wrap {
		padding-left: 2px !important;
		gap: 8px !important;
	}

	body .woocommerce-product-gallery .wd-gallery-thumb .wd-carousel-inner {
		scroll-padding-left: 2px;
	}
}
