/* Стили магазина поверх шаблона Blocksy */

/* Палитра «синий + оранжевый» (выбор владельца 27.09.2026).
   Синий основной цвет шаблона — в setup-brand.php, здесь — тёмно-синие фоны и оранжевые кнопки покупки. */
:root {
	--es-navy: #0b2545;
	--es-navy-2: #133a6b;
	--es-navy-3: #081c36;
	--es-on-navy: #c3d2e4;
	--es-cta: #ff8a1f;
	--es-cta-hover: #ff9d42;
	--es-tint: #e8f1fc;
	--es-tint-2: #f0f6fd;
	/* Поверхности и текст — переменными, чтобы тёмная тема (dark.css) меняла их в одном месте. */
	--es-surface: #fff;
	--es-text: #0f172a;
	--es-muted: #64748b;
	--es-muted-2: #475569;
	--es-line: #e5e8ee;
	--es-line-2: #cbd5e1;
	--es-line-3: #dde3ea;
}

/* ===== Шапка: верхняя строка ===== */
header#header {
	position: relative;
	z-index: 60;
}

header#header [data-device="desktop"] [data-row="top"] {
	--height: 40px;
	background-color: var(--es-navy-3);
	border-bottom: 0;
	font-size: 13px;
	color: var(--es-on-navy);
}

.es-toplinks {
	display: flex;
	gap: 22px;
}

.es-toplinks a {
	color: var(--es-on-navy);
	text-decoration: none;
	transition: color 0.15s;
}

.es-toplinks a:hover {
	color: #fff;
}

header#header .trp-language-switcher {
	padding-block: 0;
	font-size: 13px;
	border: 0;
	background: transparent;
}

/* ===== Шапка: тёмно-синий фон со светлыми надписями ===== */
header#header [data-row*="middle"],
header#header [data-row*="bottom"] {
	background-color: var(--es-navy);
	border-color: transparent;
	--theme-text-color: var(--es-on-navy);
	--theme-link-initial-color: #fff;
	--theme-link-hover-color: var(--es-cta);
	--theme-icon-color: #fff;
	--theme-icon-hover-color: var(--es-cta);
	--theme-headings-color: #fff;
	color: var(--es-on-navy);
}

header#header [data-device="desktop"] [data-row*="bottom"] {
	background-color: var(--es-navy-2);
}

/* ===== Шапка: средняя строка ===== */
header#header [data-device="desktop"] [data-row="middle"] {
	--height: 88px;
}

header#header .site-title {
	white-space: nowrap;
}

header#header [data-id="search"] .dgwt-wcas-search-wrapp {
	max-width: none;
}

.es-phone {
	display: flex;
	align-items: center;
	gap: 10px;
	line-height: 1.25;
	text-decoration: none;
}

.es-phone__icon {
	flex: none;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a1f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.18 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.1 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center / 18px no-repeat;
}

.es-phone__text {
	display: flex;
	flex-direction: column;
}

.es-phone__hours {
	font-size: 12px;
	color: var(--es-on-navy);
}

.es-phone__number {
	font-size: 15px;
	font-weight: 700;
	color: #fff;
}

header#header .wishlist_products_counter {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #fff;
	text-decoration: none;
}

/* Число избранных — кружком в углу сердечка, как число товаров у корзины. Ноль тоже показываем. */
header#header .wishlist_products_counter {
	position: relative;
	gap: 0;
}

header#header .wishlist_products_counter::before {
	margin-right: 0;
}

header#header .wishlist_products_counter_number {
	position: absolute;
	top: -8px;
	right: -9px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--theme-palette-color-1);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
}

header#header .wishlist_products_counter_number:empty {
	display: none;
}

/* ===== Шапка: нижняя строка ===== */
header#header [data-device="desktop"] [data-row="bottom"] {
	--height: 54px;
}

/* Кнопка «Категории товаров» */
header#header .header-menu-1 > ul > li > .ct-menu-link {
	min-width: 260px;
	height: 40px;
	padding-inline: 18px;
	justify-content: space-between;
	border-radius: 6px;
	background: var(--theme-palette-color-1);
	color: #fff;
	font-weight: 600;
	text-transform: none;
}

header#header .header-menu-1 > ul > li > .ct-menu-link:hover {
	background: var(--theme-palette-color-2);
	color: #fff;
}

/* Выпадающий список категорий — светлый */
header#header .header-menu-1 .sub-menu {
	--dropdown-width: 260px;
	background: var(--es-surface);
	border: 1px solid var(--es-line);
	border-radius: 0 0 10px 10px;
	box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}

header#header .header-menu-1 .sub-menu .ct-menu-link {
	color: var(--es-text);
	font-size: 14px;
	font-weight: 500;
	text-transform: none;
}

header#header .header-menu-1 .sub-menu li:hover > .ct-menu-link {
	background: var(--es-tint-2);
	color: var(--theme-palette-color-1);
}

header#header .header-menu-2 .ct-menu-link {
	font-weight: 500;
	text-transform: none;
	color: #fff;
}

header#header .header-menu-2 .ct-menu-link:hover,
header#header .header-menu-2 .current-menu-item > .ct-menu-link {
	color: var(--es-cta);
}

header#header .header-menu-2 .sub-menu .ct-menu-link {
	color: var(--theme-palette-color-4);
}

/* ===== Шапка: телефоны и планшеты ===== */
@media (max-width: 999.98px) {
	header#header .site-title {
		font-size: 20px;
	}

	header#header [data-device="mobile"] [data-id="cart"] .ct-label {
		display: none;
	}

	header#header [data-device="mobile"] [data-row="bottom"] {
		padding-bottom: 10px;
	}
}

/* ===== Заголовок страниц (серая полоса) — компактнее ===== */
.hero-section[data-type="type-2"] > .entry-header {
	min-height: 0;
	padding-block: 28px;
}

/* ===== Главная: слайдер баннеров ===== */
.es-hero {
	position: relative;
	margin-block: 10px 30px;
}

.es-hero__track {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 100%;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	border-radius: 20px;
}

.es-hero__track::-webkit-scrollbar {
	display: none;
}

/* Баннер: текст слева, справа фото товаров на белых карточках; фон — градиент с мягким свечением и точками. */
.es-hero__slide {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	scroll-snap-align: start;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	align-items: center;
	gap: 32px;
	min-height: 440px;
	padding: 48px 56px 56px;
	color: #fff;
	text-decoration: none;
}

/* Точечная сетка справа — едва заметная, для глубины. */
.es-hero__slide::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: radial-gradient(rgba(255, 255, 255, 0.22) 1.2px, transparent 1.2px);
	background-size: 22px 22px;
	-webkit-mask-image: linear-gradient(90deg, transparent 35%, #000 75%);
	mask-image: linear-gradient(90deg, transparent 35%, #000 75%);
	opacity: 0.5;
}

.es-hero__slide--blue {
	background:
		radial-gradient(circle at 82% 30%, rgba(255, 255, 255, 0.2), transparent 42%),
		linear-gradient(135deg, #1d6fd8 0%, #0f4fa8 60%, #0b3a86 100%);
}

.es-hero__slide--dark {
	background:
		radial-gradient(circle at 80% 32%, rgba(255, 138, 31, 0.26), transparent 44%),
		linear-gradient(135deg, #0b2545 0%, #133a6b 100%);
}

/* Класс остался от зелёной палитры, баннер теперь оранжевый. */
.es-hero__slide--teal {
	background:
		radial-gradient(circle at 80% 30%, rgba(255, 255, 255, 0.35), transparent 44%),
		linear-gradient(135deg, #ffa24d 0%, #ff7a00 100%);
	color: #0b2545;
}

.es-hero__slide--teal::after {
	background-image: radial-gradient(rgba(11, 37, 69, 0.2) 1.2px, transparent 1.2px);
}

.es-hero__content {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.es-hero__eyebrow {
	align-self: flex-start;
	padding: 6px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.es-hero__slide--teal .es-hero__eyebrow {
	background: rgba(11, 37, 69, 0.1);
}

h1.es-hero__title,
.es-hero__title {
	margin: 0;
	color: inherit;
	max-width: 17ch;
	font-size: clamp(30px, 3.6vw, 50px);
	font-weight: 800;
	line-height: 1.08;
	letter-spacing: -0.01em;
}

.es-hero__text {
	max-width: 44ch;
	font-size: 16px;
	line-height: 1.55;
	opacity: 0.92;
}

/* Кнопка — сплошная: на синем белая, на тёмном оранжевая, на оранжевом тёмно-синяя. */
.es-hero__button {
	align-self: flex-start;
	margin-top: 8px;
	padding: 14px 26px;
	border-radius: 12px;
	background: #fff;
	color: #0b2545;
	font-weight: 700;
	box-shadow: 0 10px 24px rgba(8, 28, 54, 0.22);
	transition: transform 0.15s, box-shadow 0.15s;
}

.es-hero__slide--dark .es-hero__button {
	background: var(--es-cta);
}

.es-hero__slide--teal .es-hero__button {
	background: #0b2545;
	color: #fff;
}


.es-hero__perks {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: 6px;
	font-size: 13px;
	opacity: 0.92;
}

.es-hero__perk {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.es-hero__perk::before {
	content: "";
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: currentColor url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b2545' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 11px no-repeat;
}

.es-hero__slide--teal .es-hero__perk::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8a1f' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* Фото товаров: главное крупно, два поменьше — чуть повёрнуты, как карточки на столе. */
.es-hero__media {
	position: relative;
	height: 340px;
}

.es-hero__card {
	position: absolute;
	display: grid;
	place-items: center;
	padding: 18px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 24px 50px rgba(8, 28, 54, 0.3);
	transition: transform 0.3s ease;
}

.es-hero__card img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.es-hero__card--main {
	top: 50%;
	right: 14%;
	width: 290px;
	height: 290px;
	transform: translateY(-50%) rotate(-2deg);
}

.es-hero__card--side-1 {
	bottom: 0;
	left: 2%;
	width: 150px;
	height: 150px;
	transform: rotate(4deg);
}

.es-hero__card--side-2 {
	top: 0;
	right: 0;
	width: 138px;
	height: 138px;
	transform: rotate(5deg);
}


@media (prefers-reduced-motion: reduce) {
	.es-hero__card,
	.es-hero__button {
		transition: none;
	}
}

.es-hero__dots {
	position: absolute;
	right: 0;
	bottom: 20px;
	left: 0;
	display: flex;
	justify-content: center;
	gap: 10px;
}

.es-hero__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.55);
	box-shadow: 0 0 0 1px rgba(11, 37, 69, 0.12);
	cursor: pointer;
	transition: width 0.2s, background 0.2s;
}

.es-hero__dot.is-active {
	width: 28px;
	background: #fff;
}

/* ===== Главная: преимущества ===== */
.es-advantages {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-bottom: 46px;
	text-align: center;
}

.es-advantage {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 26px 18px;
	border: 1px solid var(--es-line);
	border-radius: 14px;
	background: var(--es-surface);
}

.es-advantage__icon {
	display: grid;
	place-items: center;
	width: 68px;
	height: 68px;
	margin-bottom: 6px;
	border-radius: 50%;
	background: var(--es-tint);
	color: var(--theme-palette-color-1);
}

.es-advantage__icon svg {
	width: 30px;
	height: 30px;
}

.es-advantage__title {
	font-size: 16px;
	font-weight: 700;
	color: var(--es-text);
}

.es-advantage__text {
	font-size: 13px;
	line-height: 1.45;
	color: var(--es-muted);
}

/* ===== Главная: разделы каталога кружками ===== */
.es-categories {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	gap: 8px;
	margin-bottom: 46px;
}

.es-category {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 18px 6px 16px;
	border-radius: 16px;
	color: var(--es-text);
	text-align: center;
	text-decoration: none;
	transition: background 0.15s, transform 0.15s;
}

.es-category:hover,
.es-category:focus-visible {
	background: var(--es-tint-2);
	transform: translateY(-2px);
}

.es-category__icon {
	display: grid;
	place-items: center;
	width: 74px;
	height: 74px;
	margin-bottom: 4px;
	border-radius: 50%;
	background: var(--es-tint);
	color: var(--theme-palette-color-1);
	transition: background 0.15s, color 0.15s;
}

.es-category:hover .es-category__icon,
.es-category:focus-visible .es-category__icon {
	background: var(--theme-palette-color-1);
	color: #fff;
}

.es-category__icon svg {
	width: 32px;
	height: 32px;
}

.es-category__name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
}

.es-category__count {
	font-size: 12px;
	color: var(--es-muted);
}

/* ===== Заказ обратного звонка ===== */
.es-callback {
	display: grid;
	grid-template-columns: 1fr minmax(320px, 46%);
	align-items: center;
	gap: 18px 40px;
	margin: 10px 0 46px;
	padding: 34px 38px;
	border-radius: 18px;
	background: linear-gradient(120deg, #0b2545 0%, #133a6b 100%);
	color: #fff;
}

.es-callback__text h2 {
	margin: 0 0 8px;
	color: #fff;
	font-size: clamp(20px, 2.2vw, 26px);
}

.es-callback__text p {
	margin: 0;
	color: var(--es-on-navy);
	font-size: 15px;
	line-height: 1.5;
}

.es-callback__form {
	display: grid;
	grid-template-columns: 1fr 1fr auto;
	gap: 10px;
}

.es-callback__form input[type="text"],
.es-callback__form input[type="tel"] {
	min-width: 0;
	padding: 13px 16px;
	border: 1px solid transparent;
	border-radius: 10px;
	background: var(--es-surface);
	color: var(--es-text);
	font-size: 15px;
}

.es-callback__form input:focus {
	border-color: var(--es-cta);
	outline: none;
}

.es-callback__form button {
	padding: 13px 22px;
	border: 0;
	border-radius: 10px;
	background: var(--es-cta);
	color: var(--es-navy);
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	transition: background 0.15s;
}

.es-callback__form button:hover {
	background: var(--es-cta-hover);
}

/* Поле-ловушка для роботов: убираем со страницы, но не через display:none — часть роботов это видит. */
.es-callback__trap {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.es-callback__notice {
	grid-column: 1 / -1;
	margin: 0;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 15px;
}

.es-callback__notice--good {
	background: rgba(140, 194, 255, 0.16);
	color: #bfdcff;
}

.es-callback__notice--bad {
	background: rgba(255, 255, 255, 0.1);
	color: #ffd9d4;
}

/* ===== Главная: заголовки разделов и бренды ===== */
.es-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 12px 0 18px;
}

.es-section-head h2 {
	margin: 0;
	font-size: clamp(20px, 2.2vw, 28px);
}

.es-section-head a {
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}

.es-brands {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 44px;
}

.es-brands__item {
	padding: 10px 18px;
	border: 1px solid var(--es-line);
	border-radius: 999px;
	background: var(--es-surface);
	color: var(--es-text);
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s, color 0.15s;
}

.es-brands__item:hover {
	border-color: var(--theme-palette-color-1);
	color: var(--theme-palette-color-1);
}

@media (max-width: 999.98px) {
	.es-categories {
		grid-template-columns: repeat(4, 1fr);
	}

	.es-callback {
		grid-template-columns: 1fr;
		padding: 26px 22px;
	}

	.es-advantages {
		grid-template-columns: repeat(2, 1fr);
	}

	/* Планшет: фото под текстом. */
	.es-hero__slide {
		grid-template-columns: 1fr;
		gap: 24px;
		min-height: 0;
		padding: 36px 36px 56px;
	}

	.es-hero__media {
		height: 240px;
	}

	.es-hero__card--main {
		right: 32%;
		width: 210px;
		height: 210px;
	}

	.es-hero__card--side-1 {
		left: 6%;
		width: 120px;
		height: 120px;
	}

	.es-hero__card--side-2 {
		right: 8%;
		width: 120px;
		height: 120px;
	}
}

@media (max-width: 575.98px) {
	.es-categories {
		grid-template-columns: repeat(3, 1fr);
		gap: 4px;
	}

	.es-category__icon {
		width: 62px;
		height: 62px;
	}

	.es-callback__form {
		grid-template-columns: 1fr;
	}

	.es-advantages {
		grid-template-columns: 1fr;
	}

	.es-hero__slide {
		gap: 18px;
		padding: 26px 20px 48px;
	}

	.es-hero__perks {
		gap: 6px 12px;
		font-size: 12px;
	}

	/* Телефон: три небольшие карточки в ряд, без поворота — так ничего не наезжает. */
	.es-hero__media {
		display: flex;
		justify-content: center;
		gap: 10px;
		height: auto;
	}

	.es-hero__card,
	.es-hero__card--main,
	.es-hero__card--side-1,
	.es-hero__card--side-2 {
		position: static;
		width: 30%;
		max-width: 120px;
		height: auto;
		aspect-ratio: 1;
		padding: 10px;
		border-radius: 16px;
		transform: none;
	}

	.es-hero__dots {
		bottom: 14px;
	}
}

/* ===== Кнопка Telegram ===== */
.es-telegram-float {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 90;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 54px;
	padding: 0 20px 0 16px;
	border-radius: 27px;
	background: #1778b0;
	color: #fff;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(23, 120, 176, 0.35);
	transition: transform 0.15s, box-shadow 0.15s;
}

.es-telegram-float:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 14px 28px rgba(23, 120, 176, 0.45);
}

.es-telegram-float svg {
	flex: none;
	width: 26px;
	height: 26px;
}

@media (max-width: 767.98px) {
	.es-telegram-float {
		right: 14px;
		bottom: 14px;
		width: 52px;
		height: 52px;
		padding: 0;
		justify-content: center;
	}

	.es-telegram-float__label {
		display: none;
	}
}

/* ===== Карточка товара: товары бренда, недавно просмотренные ===== */
.es-product-section {
	margin-top: 48px;
}

/* ===== Страница «Контакты» ===== */
.es-contacts {
	display: grid;
	gap: 12px;
	max-width: 520px;
	margin: 24px 0;
}

.es-contacts__row {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 16px;
	padding: 14px 18px;
	border: 1px solid var(--es-line);
	border-radius: 10px;
	background: var(--es-surface);
}

.es-contacts dt {
	color: var(--es-muted);
}

.es-contacts dd {
	margin: 0;
	font-weight: 600;
	color: var(--es-text);
}

/* ===== Оформление заказа ===== */
/* «Бесплатно» у доставки больше не прячем: с 12.10.2026 доставка от 600 000 сум действительно бесплатная. */

/* ===== Фильтры каталога ===== */
.ct-sidebar .ct-widget {
	padding: 18px;
	border: 1px solid var(--es-line);
	border-radius: 12px;
	background: var(--es-surface);
}

.ct-sidebar .widget-title {
	margin-bottom: 12px;
	font-size: 15px;
}

/* ===== Подвал ===== */
.es-footer {
	margin-top: 60px;
	padding: 56px 0 40px;
	background: var(--es-navy);
	color: var(--es-on-navy);
	font-size: 14px;
}

.es-footer__grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr;
	gap: 32px;
}

.es-footer h3 {
	margin: 0 0 16px;
	font-size: 16px;
	color: #fff;
}

.es-footer ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.es-footer a {
	color: #cbd5e1;
	text-decoration: none;
}

.es-footer a:hover {
	color: #fff;
}

.es-footer .es-footer__logo {
	display: inline-block;
	margin-bottom: 12px;
	font-size: 22px;
	font-weight: 800;
	color: #fff;
}

.es-footer__about p {
	max-width: 34ch;
	margin: 0 0 18px;
	line-height: 1.6;
}

.es-footer .es-footer__telegram {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 16px;
	border-radius: 8px;
	background: #1778b0;
	color: #fff;
	font-weight: 600;
}

.es-footer__telegram svg {
	width: 20px;
	height: 20px;
}

.es-footer__contacts span {
	display: block;
	font-size: 12px;
	color: #8fa6c1;
}

.ct-footer [data-row="bottom"] {
	background: var(--es-navy-3);
	color: #8fa6c1;
}

@media (max-width: 999.98px) {
	.es-footer__grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 575.98px) {
	.es-footer__grid {
		grid-template-columns: 1fr;
	}
}

/* ===== Полоса загрузки при переходе между страницами ===== */
.es-nav-progress {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 9999;
	width: 0;
	height: 3px;
	background: var(--es-cta, #ff8a1f);
	box-shadow: 0 0 8px rgba(255, 138, 31, 0.45);
	transition: width 0.4s ease-out;
}

/* Переключатель языка: без задержек на раскрытие */
header#header .trp-language-switcher,
header#header .trp-language-switcher * {
	transition-duration: 0.1s;
}

/* ===== Шапка: ссылки входа ===== */
.es-account {
	display: inline-flex;
	flex-direction: column;
	line-height: 1.35;
}

.es-account a {
	font-size: 13px;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
}

.es-account a:hover {
	color: var(--es-cta);
}

/* ===== Вариант оформления: карточки без рамок ===== */
.es-flat-cards ul.products li.product,
.es-flat-cards .es-advantage,
.es-flat-cards .es-contacts__row,
.es-flat-cards .ct-sidebar .ct-widget,
.es-flat-cards .es-brands__item {
	border: 0;
	box-shadow: 0 10px 26px rgba(11, 37, 69, 0.07);
}

.es-flat-cards ul.products li.product {
	padding: 14px 14px 18px;
	border-radius: 16px;
	background: var(--es-surface);
}

.es-flat-cards .es-advantage,
.es-flat-cards .ct-sidebar .ct-widget {
	border-radius: 16px;
}

.es-flat-cards .es-brands__item {
	background: var(--es-surface);
}

/* ===== Вариант оформления: больше воздуха ===== */
.es-airy .es-hero {
	margin-block: 18px 44px;
}

.es-airy .es-advantages {
	gap: 26px;
	margin-bottom: 64px;
}

.es-airy .es-advantage {
	padding: 34px 22px;
}

.es-airy .es-section-head {
	margin: 30px 0 24px;
}

.es-airy ul.products {
	--grid-columns-gap: 26px;
	--grid-rows-gap: 40px;
}

.es-airy .es-product-section {
	margin-top: 64px;
}

.es-airy .es-brands {
	gap: 14px;
	margin-bottom: 64px;
}

.es-airy .es-footer {
	padding: 68px 0 48px;
	margin-top: 76px;
}

/* Названия товаров переносим по словам, а не посреди слова. */
ul.products li.product .woocommerce-loop-product__title,
ul.products li.product .ct-product-title {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
}

/* На узких экранах с боковой колонкой фильтров четыре товара в ряд не помещаются. */
@media (min-width: 1000px) and (max-width: 1300px) {
	.woocommerce [data-products] {
		--shop-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Фото товаров показываем целиком, без обрезки: у широких коммутаторов (1U)
   снимок в 6 раз шире высоты, и при заполнении рамки от него оставалась
   только середина с портами. Пустые поля рамки — белые, как фон снимков. */
[data-products] .ct-media-container img,
.woocommerce-product-gallery .ct-media-container img,
.ct-product-gallery-container .ct-media-container img {
	object-fit: contain !important;
	background: var(--es-surface);
}

/* Главное фото в карточке товара — в квадратной рамке, а не в высокой 3:4. */
.woocommerce-product-gallery .ct-media-container img {
	aspect-ratio: 1 / 1 !important;
}

/* Колонка с фото в карточке товара — поуже, чтобы снимок не был огромным. */
.product-entry-wrapper {
	--product-gallery-width: 42%;
}

/* Миниатюры других ракурсов под главным фото: по 5 в ряд и на телефоне
   (у Blocksy там по 3 — семь снимков занимали три строки и отодвигали цену). */
.woocommerce-product-gallery .flexy-pills[data-type="thumbs"] li {
	--thumbs-width: 20%;
}

/* ===== Кнопки покупки — оранжевые =====
   Только «В корзину», «Оформить заказ» и «Подтвердить заказ»: исследования Baymard советуют,
   чтобы главная кнопка отличалась от всех остальных на странице. */
.button.add_to_cart_button,
.single_add_to_cart_button,
.checkout-button,
#place_order,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	--theme-button-background-initial-color: var(--es-cta);
	--theme-button-background-hover-color: var(--es-cta-hover);
	--theme-button-text-initial-color: var(--es-navy);
	--theme-button-text-hover-color: var(--es-navy);
	--theme-button-border-initial-color: var(--es-cta);
	--theme-button-border-hover-color: var(--es-cta-hover);
	background-color: var(--es-cta) !important;
	border-color: var(--es-cta) !important;
	color: var(--es-navy) !important;
	font-weight: 700;
}

.button.add_to_cart_button:hover,
.single_add_to_cart_button:hover,
.checkout-button:hover,
#place_order:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
	background-color: var(--es-cta-hover) !important;
	border-color: var(--es-cta-hover) !important;
}

/* ===== Тёмная шапка: приветствие, язык, поиск ===== */
header#header [data-row="top"] .entry-content {
	color: var(--es-on-navy);
}

header#header [data-row="top"] .trp-current-language-item__wrapper .trp-language-item-name {
	color: var(--es-on-navy) !important;
}

/* У поиска вокруг поля была белая рамка-подложка — на тёмном фоне она лишняя. */
header#header .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp {
	background: transparent;
}

header#header .dgwt-wcas-style-pirx .dgwt-wcas-sf-wrapp input[type="search"].dgwt-wcas-search-input {
	background: var(--es-surface);
}

header#header [data-row] {
	--theme-border-top: none;
	--theme-border-bottom: none;
}

/* На телефоне логотип был выше 36 px и наезжал на значок «Избранное». */
@media (max-width: 999.98px) {
	header#header [data-device="mobile"] .site-logo-container img {
		width: auto;
		max-height: 34px;
	}
}

/* Меню на телефоне — тоже тёмно-синее, а не серое по умолчанию. */
[data-header] #offcanvas .ct-panel-inner {
	background-color: rgba(11, 37, 69, 0.98);
}

/* На телефоне между двумя тёмными строками шапки иногда проступала светлая полоска в 1 px. */
header#header [data-device="mobile"] [data-row*="bottom"] {
	box-shadow: 0 -1px 0 var(--es-navy);
}

/* Число товаров в корзине — кружком справа сверху у сумки, вплотную к ней. Ноль тоже показываем. */
header#header .ct-header-cart .ct-dynamic-count-cart,
header#header .ct-header-cart .ct-dynamic-count-cart[data-count="0"] {
	display: flex !important;
	align-items: center;
	justify-content: center;
	top: -8px;
	right: -9px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--theme-palette-color-1);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
}

/* ===== Реквизиты покупателя перед оформлением заказа (customer.js) ===== */
.es-customer-open {
	overflow: hidden;
}

.es-customer {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(8, 28, 54, 0.62);
}

.es-customer__dialog {
	position: relative;
	width: 100%;
	max-width: 480px;
	max-height: calc(100vh - 32px);
	overflow-y: auto;
	padding: 32px 28px 28px;
	border-radius: 16px;
	background: var(--es-surface);
	box-shadow: 0 24px 60px rgba(8, 28, 54, 0.35);
}

.es-customer__dialog--wide {
	max-width: 880px;
}

.es-customer__close {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: #fdecec;
	color: #b42318;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

.es-customer__close:hover {
	background: #fbd5d5;
}

.es-customer__logo {
	display: block;
	width: auto;
	height: auto;
	max-width: 200px;
	max-height: 44px;
	margin: 0 auto 14px;
	padding: 8px 14px;
	border-radius: 10px;
	background: var(--es-navy);
	box-sizing: content-box;
}

.es-customer__logo-text {
	margin: 0 0 12px;
	color: var(--es-navy);
	font-size: 22px;
	font-weight: 800;
	text-align: center;
}

.es-customer__intro {
	margin: 0 0 20px;
	color: #3d4b5c;
	font-size: 15px;
	text-align: center;
}

.es-customer__title {
	margin: 0 48px 20px 0;
	color: var(--es-navy);
	font-size: 20px;
}

.es-customer__subtitle {
	margin: 0 0 14px;
	color: var(--es-navy);
	font-size: 18px;
}

.es-customer__cols {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 32px;
}

.es-customer__field {
	margin-bottom: 14px;
}

.es-customer__field label {
	display: block;
	margin-bottom: 6px;
	color: var(--es-text);
	font-size: 14px;
	font-weight: 600;
}

.es-customer__field input,
.es-customer__field select {
	width: 100%;
	height: 46px;
	padding: 0 14px;
	border: 1px solid var(--es-line-2);
	border-radius: 10px;
	background: var(--es-surface);
	color: var(--es-text);
	font-size: 16px;
	box-sizing: border-box;
}

.es-customer__field input[readonly] {
	background: #f2f4f7;
	color: var(--es-muted-2);
}

.es-customer__field input:focus,
.es-customer__field select:focus {
	border-color: var(--theme-palette-color-1);
	outline: 2px solid rgba(29, 111, 216, 0.25);
	outline-offset: 0;
}

.es-customer__field.has-error input,
.es-customer__field.has-error select {
	border-color: #b42318;
}

.es-customer__error {
	margin: 4px 0 0;
	color: #b42318;
	font-size: 13px;
}

.es-customer__error:empty {
	display: none;
}

.es-customer__actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	margin-top: 8px;
}

.es-customer__submit {
	width: 100%;
	height: 48px;
	margin-top: 6px;
	border: 0;
	border-radius: 10px;
	background: var(--es-cta);
	color: var(--es-navy);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.es-customer__actions .es-customer__submit {
	width: auto;
	min-width: 220px;
	margin-top: 0;
	padding: 0 28px;
}

.es-customer__submit:hover {
	background: var(--es-cta-hover);
}

.es-customer__back {
	padding: 10px 4px;
	border: 0;
	background: none;
	color: var(--theme-palette-color-1);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}

.es-customer-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin: 0 0 20px;
	padding: 14px 18px;
	border-radius: 12px;
	background: var(--es-tint);
	color: var(--es-navy);
	font-size: 15px;
}

.es-customer-summary__label {
	font-weight: 700;
}

.es-customer-summary__change {
	margin-left: auto;
	padding: 6px 2px;
	border: 0;
	background: none;
	color: var(--theme-palette-color-1);
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

/* Вход и регистрация в окне реквизитов (05.10.2026): пароль, сообщения, адреса из кабинета. */
.es-customer__message {
	margin: 0 0 12px;
	padding: 10px 14px;
	border-radius: 10px;
	background: #fdecec;
	color: #b42318;
	font-size: 14px;
}

.es-customer__message[hidden] {
	display: none;
}

.es-customer__hint {
	margin: 4px 0 0;
	color: var(--es-muted);
	font-size: 13px;
}

.es-customer__note {
	margin: 14px 0 0;
	color: var(--es-muted-2);
	font-size: 14px;
	text-align: center;
}

.es-customer__note--left {
	margin: 4px 0 14px;
	text-align: left;
}

.es-customer__password {
	margin-top: 4px;
	padding-top: 16px;
	border-top: 1px solid var(--es-line);
}

.es-customer__back--center {
	display: block;
	margin: 6px auto 0;
}

.es-customer__submit[disabled] {
	opacity: 0.6;
	cursor: progress;
}

.es-customer-summary {
	flex-direction: column;
	align-items: stretch;
}

.es-customer-summary__row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
}

.es-customer-summary__row--addresses {
	padding-top: 8px;
	border-top: 1px solid rgba(11, 37, 69, 0.12);
}

.es-customer-summary__link {
	font-weight: 600;
}

.es-customer-summary__row--addresses .es-customer-summary__link {
	margin-left: auto;
}

.es-address-chip {
	padding: 6px 14px;
	border: 1px solid var(--es-line-2);
	border-radius: 999px;
	background: var(--es-surface);
	color: var(--es-text);
	font: inherit;
	font-size: 14px;
	cursor: pointer;
}

.es-address-chip:hover,
.es-address-chip[aria-pressed="true"] {
	border-color: var(--theme-palette-color-1);
	color: var(--theme-palette-color-1);
}

.es-address-chip[aria-pressed="true"] {
	background: var(--es-tint-2);
	font-weight: 600;
}

.es-delivery-note {
	margin: 12px 0 0;
	padding: 10px 14px;
	border-radius: 10px;
	background: var(--es-tint-2);
	color: var(--es-muted-2);
	font-size: 14px;
	line-height: 1.5;
}

/* «До бесплатной доставки не хватает …» */
.es-delivery-note--short {
	margin-top: 6px;
	background: #fff4e8;
	color: #8a4b0f;
	font-weight: 600;
}

.wc-block-checkout__shipping-method .wc-block-components-checkout-step__title[data-es-title] {
	font-size: 0;
}

.wc-block-checkout__shipping-method .wc-block-components-checkout-step__title[data-es-title]::after {
	content: attr(data-es-title);
	font-size: var(--es-step-title-size, 1.25rem);
}

@media (max-width: 767.98px) {
	.es-customer {
		align-items: flex-end;
		padding: 0;
	}

	.es-customer__dialog,
	.es-customer__dialog--wide {
		max-height: 92vh;
		padding: 28px 16px 20px;
		border-radius: 16px 16px 0 0;
	}

	.es-customer__cols {
		grid-template-columns: 1fr;
	}

	.es-customer__actions {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.es-customer__actions .es-customer__submit {
		width: 100%;
	}
}

/* ===== Телефон: находки mobile_test.py (29.09.2026) ===== */

/* Поля мельче 16 px iPhone увеличивает при нажатии и не возвращает масштаб — кнопка заказа уезжает за край.
   !important: правило должно перебить размеры из шаблона и WooCommerce во всех формах. */
@media (max-width: 999.98px), (pointer: coarse) {
	:root {
		--theme-form-font-size: 16px;
	}

	input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="hidden"]),
	select,
	textarea {
		font-size: 16px !important;
	}

	/* «Хлебные крошки» были 20 px в высоту и впритык друг к другу — пальцем легко промахнуться. */
	.ct-breadcrumbs a {
		display: inline-block;
		padding-block: 5px;
	}
}

/* Точки под баннером: видимая точка прежняя, а место для пальца — 24×24. */
.es-hero__dots {
	gap: 2px;
}

.es-hero__dot,
.es-hero__dot.is-active {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	background: transparent;
	box-shadow: none;
}

.es-hero__dot.is-active {
	width: 38px;
}

.es-hero__dot::before {
	content: "";
	width: 10px;
	height: 10px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.55);
	box-shadow: 0 0 0 1px rgba(11, 37, 69, 0.12);
	transition: width 0.2s, background 0.2s;
}

.es-hero__dot.is-active::before {
	width: 28px;
	background: #fff;
}

/* «Добавить купоны» в корзине: строка была 18 px в высоту прямо над кнопкой оформления. */
.wc-block-components-totals-coupon .wc-block-components-panel__button {
	min-height: 44px;
}

/* Кнопка «Показать пароль» (глазок в поле пароля) была 14×14 px — сделали 40×40, значок прежний.
   Значок шаблон рисует маской, поэтому маску не растягиваем, а ставим 14 px по центру.
   Селектор повторяет селектор Blocksy, чтобы перебить его без !important. */
form:is(.login, .register, .edit-account, .lost_reset_password) [class*="password-input"] .show-password-input {
	inset-inline-end: 1px;
	top: calc(var(--theme-form-field-height, 40px) / 2 - 20px);
	width: 40px;
	height: 40px;
	-webkit-mask-size: 14px;
	mask-size: 14px;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

/* Телефон, Telegram и почта на странице контактов — удобная высота для пальца. */
.es-contacts dd a {
	display: inline-block;
	padding-block: 6px;
}

/* «Отображение 1–16 из …» было 11 px. */
.woocommerce-result-count {
	font-size: 12px;
}

/* Телефон лёжа: высота экрана ~340 px, шапка 160 px — ужимаем строку с поиском. */
@media (orientation: landscape) and (max-height: 500px) {
	header#header [data-device="mobile"] [data-row*="middle"] {
		--height: 56px;
	}

	header#header [data-device="mobile"] [data-row*="bottom"] {
		--height: 58px;
		padding-bottom: 8px;
	}

	header#header [data-device="mobile"] [data-row*="bottom"] .ct-container {
		align-items: center;
	}

	header#header [data-device="mobile"] .dgwt-wcas-search-wrapp,
	header#header [data-device="mobile"] .js-dgwt-wcas-enable-mobile-form {
		min-height: 0;
		height: 44px;
	}

	header#header [data-device="mobile"] .dgwt-wcas-search-input {
		height: 44px;
		min-height: 0;
	}
}

/* ===== Простой фильтр над товарами: категория и цена (catalog-filter.php) ===== */
.es-filter {
	margin: 0 0 22px;
	padding: 16px 18px;
	border: 1px solid var(--es-line);
	border-radius: 14px;
	background: var(--es-surface);
}

.es-filter__row {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr) auto auto;
	align-items: end;
	gap: 12px;
}

.es-filter__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.es-filter__label {
	color: var(--es-muted-2);
	font-size: 13px;
	font-weight: 600;
}

.es-filter select,
.es-filter input {
	width: 100%;
	height: 46px;
	padding: 0 12px;
	border: 1px solid var(--es-line-2);
	border-radius: 10px;
	background: var(--es-surface);
	color: var(--es-text);
	font-size: 16px;
}

.es-filter select:focus,
.es-filter input:focus {
	border-color: var(--theme-palette-color-1);
	outline: 2px solid rgba(29, 111, 216, 0.25);
}

.es-filter__submit {
	height: 46px;
	padding: 0 24px;
	border: 0;
	border-radius: 10px;
	background: var(--theme-palette-color-1);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.es-filter__submit:hover {
	background: var(--theme-palette-color-2);
}

.es-filter__reset {
	display: inline-flex;
	align-items: center;
	height: 46px;
	padding: 0 6px;
	color: var(--es-muted-2);
	font-weight: 600;
}

.es-filter__presets {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.es-filter__preset {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 14px;
	border: 1px solid var(--es-line-3);
	border-radius: 999px;
	color: #0b2545;
	font-size: 14px;
	text-decoration: none;
}

.es-filter__preset:hover,
.es-filter__preset.is-active {
	border-color: var(--theme-palette-color-1);
	background: var(--es-tint);
	color: var(--theme-palette-color-1);
}

@media (max-width: 767.98px) {
	/* Телефон: категория на всю ширину, ниже цены «от — до», ниже кнопка. */
	.es-filter {
		padding: 14px;
	}

	.es-filter__row {
		grid-template-columns: 1fr 1fr;
	}

	.es-filter__field--category,
	.es-filter__submit {
		grid-column: 1 / -1;
	}

	.es-filter__reset {
		grid-column: 1 / -1;
		justify-content: center;
		height: 40px;
	}
}

/* ===== «Скачать коммерческое предложение» под кнопкой оформления (offer-pdf.php) ===== */
.es-kp {
	margin-top: 12px;
	text-align: center;
}

.es-kp__button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 16px;
	border: 2px solid var(--theme-palette-color-1);
	border-radius: 10px;
	background: var(--es-surface);
	color: var(--theme-palette-color-1);
	font-weight: 700;
	text-decoration: none;
}

.es-kp__button:hover {
	background: var(--es-tint);
}

.es-kp__hint {
	margin: 6px 0 0;
	color: var(--es-muted);
	font-size: 13px;
}

/* Оплата перечислением: реквизиты и «Скачать счёт на оплату» (includes/invoice.php) */
.es-invoice {
	margin: 0 0 24px;
	padding: 16px;
	border: 1px solid var(--es-line);
	border-radius: 16px;
	background: var(--es-tint-2);
	color: var(--es-text);
}

.es-invoice__title {
	margin: 0 0 6px;
	font-size: 18px;
}

.es-invoice__number {
	margin: 0 0 10px;
	font-weight: 700;
}

.es-invoice__details {
	display: grid;
	grid-template-columns: minmax(120px, max-content) 1fr;
	gap: 6px 16px;
	margin: 0 0 14px;
}

.es-invoice__details dt {
	color: var(--es-muted);
}

.es-invoice__details dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.es-invoice__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 10px 18px;
	border: 2px solid var(--theme-palette-color-1);
	border-radius: 10px;
	background: var(--es-surface);
	color: var(--theme-palette-color-1);
	font-weight: 700;
	text-decoration: none;
}

.es-invoice__button:hover {
	background: var(--es-tint);
}

.es-invoice__note,
.es-invoice__paid {
	margin: 10px 0 0;
	color: var(--es-muted-2);
	font-size: 14px;
}

@media (max-width: 480px) {
	.es-invoice__details {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.es-invoice__details dd {
		margin-bottom: 6px;
	}
}

/* Баннер при наведении мыши не меняется (просьба владельца 29.09.2026): шаблон перекрашивал текст ссылки
   при наведении, а баннер — это одна большая ссылка, поэтому весь текст темнел. */
.es-hero__slide,
.es-hero__slide:hover,
.es-hero__slide:focus,
.es-hero__slide:active {
	color: #fff;
	text-decoration: none;
}

.es-hero__slide--teal,
.es-hero__slide--teal:hover,
.es-hero__slide--teal:focus,
.es-hero__slide--teal:active {
	color: #0b2545;
}

/* ===== Меню «Бренды» в шапке: выпадающий список был тёмным с тёмным текстом — пункты не было видно ===== */
header#header .header-menu-2 .sub-menu {
	--dropdown-background-color: #fff;
	background: var(--es-surface);
	border: 1px solid var(--es-line);
	border-radius: 0 0 10px 10px;
	box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
}

header#header .header-menu-2 .sub-menu .ct-menu-link {
	color: var(--es-text);
}

header#header .header-menu-2 .sub-menu li:hover > .ct-menu-link,
header#header .header-menu-2 .sub-menu .ct-menu-link:hover {
	background: var(--es-tint-2);
	color: var(--theme-palette-color-1);
}

/* ===== Страница «Бренды»: карточки с названием, числом товаров и фото товара бренда ===== */
.es-brand-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
	gap: 16px;
	margin: 10px 0 40px;
}

.es-brand-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 16px 14px 18px;
	border: 1px solid var(--es-line);
	border-radius: 14px;
	background: var(--es-surface);
	color: var(--es-text);
	text-align: center;
	text-decoration: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}

.es-brand-card:hover {
	border-color: var(--theme-palette-color-1);
	box-shadow: 0 10px 24px rgba(11, 37, 69, 0.08);
	color: var(--es-text);
}

.es-brand-card__photo {
	display: grid;
	place-items: center;
	width: 100%;
	aspect-ratio: 4 / 3;
	margin-bottom: 4px;
}

.es-brand-card__photo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.es-brand-card__name {
	font-size: 17px;
	font-weight: 700;
}

.es-brand-card__count {
	color: var(--es-muted);
	font-size: 13px;
}

@media (max-width: 575.98px) {
	.es-brand-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}
}

/* Название способа доставки под суммой в корзине (появилось с самовывозом, 05.10.2026): WooCommerce пишет его
   мельче 10 px — на телефоне не прочитать. */
.wc-block-components-totals-shipping__via {
	font-size: 12px !important;
}

/* ===== Кнопка «← Назад» под шапкой (includes/back-button.php, 06.10.2026) ===== */
.es-back {
	padding-top: 14px;
}

.es-back__link {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 36px;
	padding: 0 14px 0 8px;
	border: 1px solid var(--es-line-2);
	border-radius: 999px;
	background: var(--es-surface);
	color: var(--es-text);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: border-color 0.15s, color 0.15s;
}

.es-back__link:hover,
.es-back__link:focus-visible {
	border-color: var(--theme-palette-color-1);
	color: var(--theme-palette-color-1);
}

/* У содержимого страницы сверху отступ 60 px — с кнопкой над ним он лишний, уменьшаем. */
.es-back + [class*="ct-container"] {
	padding-top: 22px !important;
}

@media (max-width: 689.98px) {
	.es-back {
		padding-top: 10px;
	}

	.es-back__link {
		min-height: 40px; /* удобнее попасть пальцем */
	}
}

/* «Заказ успешно оформлен» на странице после заказа (includes/checkout.php) */
.es-order-done {
	max-width: 640px;
	margin: 0 auto 28px;
	padding: 28px 22px;
	border: 1px solid var(--es-line);
	border-radius: 16px;
	background: var(--es-surface);
	color: var(--es-text);
	text-align: center;
}

.es-order-done__icon {
	width: 64px;
	height: 64px;
	color: var(--theme-palette-color-1);
}

.es-order-done__title {
	margin: 12px 0 8px;
	font-size: 22px;
}

.es-order-done__text {
	margin: 0 auto 18px;
	max-width: 440px;
	color: var(--es-muted-2);
}

.es-order-done__facts {
	margin: 0 0 18px;
	border: 1px solid var(--es-line);
	border-radius: 12px;
	text-align: left;
}

.es-order-done__facts div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 16px;
}

.es-order-done__facts div + div {
	border-top: 1px solid var(--es-line);
}

.es-order-done__facts dt {
	color: var(--es-muted);
}

.es-order-done__facts dd {
	margin: 0;
	font-weight: 700;
}

.es-order-done__button {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	border-radius: 10px;
	background: var(--es-navy);
	color: #fff;
	font-weight: 700;
	text-decoration: none;
}

.es-order-done__button:hover {
	background: var(--es-navy-2);
	color: #fff;
}

/* Строку WooCommerce «Спасибо. Ваш заказ был получен» заменяет карточка выше */
.woocommerce-order .woocommerce-thankyou-order-received {
	display: none;
}
