/**
 * Каталог AgroExpert — стили.
 *
 * Все правила живут под .agro-catalog (класс на body) и используют только
 * собственные классы agro-*. Классы темы и WooCommerce намеренно не
 * применяются — так стили темы физически не цепляются за каталог и их не
 * приходится перебивать.
 *
 * Токены объявлены здесь же, а не берутся из глобальных переменных Elementor:
 * правки в «Настройках сайта» не должны растаскивать каталог. Значения — из
 * макета.
 */

/**
 * Липкий сайдбар: тема ставит `body, html { overflow-x: hidden }`, а это делает
 * html прокручиваемым контейнером и отключает position:sticky у всех потомков.
 * `clip` режет так же, но контейнер прокрутки не создаёт — sticky оживает.
 *
 * Только на страницах каталога: файл грузится ещё и там, где стоит слайдер
 * товаров, а менять поведение прокрутки у чужих страниц незачем. Правило для
 * `html` задаётся инлайном из agro_assets() — до него классом body не достать.
 */
body.agro-catalog-page {
	overflow-x: clip;
}

.agro-catalog {
	--agro-width: 1600px;
	--agro-gutter: 24px;

	--agro-nav: #0d2137;
	--agro-blue: #1a3a5c;
	--agro-blue-mid: #3a6f9e;
	--agro-blue-lt: #6a9cc5;
	--agro-blue-50: #e3edf6;
	--agro-blue-100: #b8d0e8;
	--agro-blue-btn-h: #264f7a;

	--agro-cta: #d4a843;
	--agro-cta-dk: #b8912a;
	--agro-cta-lt: #f5d070;
	--agro-cta-50: #fff8e1;
	--agro-cta-100: #ffecb3;
	--agro-cta-ink: #3d2f00;

	--agro-page: #fafaf7;
	--agro-card: #fff;
	--agro-line: #e8e4dc;
	--agro-line-dk: #c4bfb3;

	--agro-ink: #2d2a25;
	--agro-ink2: #5c574e;
	--agro-ink3: #8a8478;
	--agro-shade: #f5f3ee;

	--agro-ok: #2e7d32;
	--agro-radius: 8px;
}

/**
 * Тема задаёт `svg { fill: currentColor }`, а CSS всегда сильнее атрибута
 * fill="none" в самой иконке — из-за этого все линейные иконки заливались
 * сплошным цветом. Признак наших контурных иконок — stroke на корне.
 */
.agro-catalog svg[stroke="currentColor"],
.agro-catalog svg[stroke="currentColor"] * {
	fill: none;
}

/* Рабочая область каталога */
.agro-catalog .agro-page {
	padding-bottom: 44px;
	background: var(--agro-page);
	color: var(--agro-ink);
	font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 15px;
	line-height: 1.55;
}

/**
 * Контейнер каталога.
 *
 * Шапка и подвал на Elementor выровнены по 1600px БЕЗ внутренних отступов
 * (в Elementor Kit `--container-default-padding-*: 0`), поэтому ширину
 * увеличиваем на боковые поля: тогда содержимое каталога встаёт ровно под
 * логотипом и меню, а не сдвинуто внутрь на величину отступа.
 */
.agro-catalog .agro-wrap {
	width: 100%;
	max-width: calc(var(--agro-width) + var(--agro-gutter) * 2);
	margin: 0 auto;
	padding: 0 var(--agro-gutter);
	box-sizing: border-box;
}

.agro-catalog .agro-page img {
	max-width: 100%;
	height: auto;
	border: 0;
}


/**
 * Шапка сайта не должна накрывать каталог.
 *
 * У документа шапки включена настройка «Overlap Content»: тема задаёт ей
 * `position: absolute !important` и ждёт, что первый блок страницы сам добавит
 * себе отступ сверху — но только если ему в Elementor проставили класс
 * `cmsmasters-section-for-header-yes`. Каталог нарисован не Elementor'ом,
 * поэтому компенсации нет и верх нашей тёмной шапки уходит под меню.
 *
 * Возвращаем шапке место в потоке — только на страницах каталога, файл на
 * остальной сайт не грузится.
 */
body.agro-catalog-page [data-elementor-type="cmsmasters_header"].cmsmasters-header-position-absolute-yes {
	position: relative !important;
	top: auto;
	left: auto;
}


/* ───────────────────────── Шапка раздела ───────────────────────── */

/**
 * Обрезка нужна только колонке с картинкой, у самой шапки её быть не должно:
 * с overflow:hidden содержимое, которое оказалось выше блока, срезается
 * сверху, и от шапки остаётся узкая полоса.
 */
.agro-catalog .agro-hero {
	position: relative;
	background: var(--agro-nav);
	color: #fff;
}

/* Золотая черта по левому краю */
.agro-catalog .agro-hero::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	z-index: 3;
	width: 5px;
	background: var(--agro-cta);
}

.agro-catalog .agro-hero .agro-wrap {
	padding: 0;
}

/* Содержимое лежит поверх картинки-слоя */
.agro-catalog .agro-hero__grid {
	display: flex;
	position: relative;
	z-index: 2;
	align-items: stretch;
	min-height: 210px;
}

.agro-catalog .agro-hero__main {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	padding: 30px var(--agro-gutter) 28px;
	min-width: 0;
}

/**
 * Ширина текста.
 *
 * С картинкой — половина шапки, чтобы строки не заезжали на изображение.
 * Без картинки предел мягче: длинная строка на 1600px просто плохо читается,
 * взгляд теряет начало следующей.
 */
.agro-catalog .agro-hero--image .agro-hero__main {
	max-width: 50%;
}

.agro-catalog .agro-hero__main > * {
	max-width: 820px;
}

.agro-catalog .agro-hero__title {
	margin: 0;
	color: #fff;
	font-size: 35px;
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.6px;
}

.agro-catalog .agro-hero__sub {
	max-width: 620px;
	margin-top: 10px;
	color: #a9c0d6;
	font-size: 14px;
}

.agro-catalog .agro-hero__count {
	margin-top: 16px;
	color: #cfe0f0;
	font-size: 14px;
}

.agro-catalog .agro-hero__count b {
	color: var(--agro-cta-lt);
	font-weight: 700;
}

/**
 * Поиск по каталогу в шапке витрины.
 *
 * Как в макете: белая плашка со скруглением и тенью, поле и кнопка внутри неё
 * без собственных границ. Селекторы из трёх классов и явные цвета — тема
 * красит поля ввода в шапке своим правилом и текст оказывался белым на белом.
 */
.agro-catalog .agro-search {
	display: flex;
	max-width: 620px;
	margin-top: 20px;
	border-radius: 6px;
	background: #fff;
	overflow: hidden;
	box-shadow: 0 6px 24px rgba(0, 0, 0, .22);
}

.agro-catalog .agro-search .agro-search__field {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 15px 18px;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: var(--agro-ink);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.3;
	outline: none;
	box-shadow: none;
	-webkit-text-fill-color: var(--agro-ink);
	-webkit-appearance: none;
	appearance: none;
}

.agro-catalog .agro-search .agro-search__field::placeholder {
	color: var(--agro-ink3);
	-webkit-text-fill-color: var(--agro-ink3);
	opacity: 1;
}

/* Крестик очистки в WebKit на белом фоне почти не виден — убираем */
.agro-catalog .agro-search .agro-search__field::-webkit-search-cancel-button {
	-webkit-appearance: none;
	appearance: none;
}

.agro-catalog .agro-search__go::before,
.agro-catalog .agro-search__go::after {
	content: none;
	display: none;
}

.agro-catalog .agro-search .agro-search__go {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	height: auto;
	margin: 0;
	padding: 0 26px;
	border: 0;
	border-radius: 0;
	background: var(--agro-cta);
	color: var(--agro-cta-ink);
	font-family: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color .15s ease;
}

.agro-catalog .agro-search .agro-search__go:hover,
.agro-catalog .agro-search .agro-search__go:focus {
	background: var(--agro-cta-lt);
	color: var(--agro-cta-ink);
}

/**
 * Картинка шапки — слой у правого края, а не колонка сетки.
 *
 * «Целиком»: высота равна высоте шапки, ширину берёт сама картинка по своим
 * пропорциям — панорама уходит вширь, вертикальная техника занимает узкую
 * полосу. Предел — половина шапки, иначе картинка подомнёт заголовок.
 * Ширина, заданная у категории, переопределяет это поведение.
 */
.agro-catalog .agro-hero__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	max-width: 50%;
	overflow: hidden;
}

.agro-catalog .agro-hero--contain .agro-hero__media img {
	display: block;
	width: auto;
	max-width: none;
	height: 100%;
	object-fit: contain;
	object-position: right center;
}

/* Ширина задана вручную — картинка вписывается в неё */
.agro-catalog .agro-hero--fixed .agro-hero__media {
	width: var(--agro-hero-img, 50%);
	max-width: 70%;
}

.agro-catalog .agro-hero--fixed.agro-hero--contain .agro-hero__media img {
	width: 100%;
}

.agro-catalog .agro-hero--cover .agro-hero__media {
	width: var(--agro-hero-img, 50%);
}

.agro-catalog .agro-hero--cover .agro-hero__media img {
	display: block;
	width: 100%;
	max-width: none;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Растворяем левый край картинки в фоне шапки: без этого у фотографий с
   собственным фоном виден резкий стык с тёмной плашкой */
.agro-catalog .agro-hero--fade .agro-hero__media::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, var(--agro-nav) 0, rgba(13, 33, 55, .55) 32%, rgba(13, 33, 55, 0) 72%);
}

/* Хлебные крошки: разметку даёт Rank Math, красим по своим селекторам */
/* В тёмной шапке крошки белые — так же, как остальной текст, читаются лучше
   приглушённого синего. На странице товара они перекрашены отдельно. */
.agro-catalog .agro-crumbs {
	margin-bottom: 13px;
	color: #fff;
	font-size: 13px;
	line-height: 1.5;
}

.agro-catalog .agro-crumbs p {
	margin: 0;
}

.agro-catalog .agro-crumbs a {
	color: #fff;
	text-decoration: none;
}

.agro-catalog .agro-crumbs a:hover {
	color: var(--agro-cta-lt);
}

.agro-catalog .agro-crumbs span {
	color: #fff;
}

.agro-catalog .agro-crumbs .separator,
.agro-catalog .agro-crumbs__sep {
	margin: 0 7px;
	opacity: .45;
}


/* ─────────────────────────── Раскладка ─────────────────────────── */

.agro-catalog .agro-layout {
	display: grid;
	grid-template-columns: 288px minmax(0, 1fr);
	gap: 30px;
	align-items: start;
	/* Боковые поля обязательны: короткая запись перебивала padding контейнера,
	   и сетка уезжала левее остальных блоков страницы */
	padding: 26px var(--agro-gutter) 10px;
}

.agro-catalog .agro-layout--full {
	grid-template-columns: minmax(0, 1fr);
}

.agro-catalog .agro-main {
	min-width: 0;
}


/* ──────────────────────────── Сайдбар ──────────────────────────── */

/* Липнет внутри своей колонки: прилипание кончается там, где кончается сетка */
.agro-catalog .agro-side {
	position: sticky;
	top: 16px;
}

.agro-catalog .agro-box {
	overflow: hidden;
	margin-bottom: 14px;
	border: 1px solid var(--agro-line);
	border-radius: 6px;
	background: var(--agro-card);
}

.agro-catalog .agro-box__title {
	margin: 0;
	padding: 12px 16px;
	background: var(--agro-blue);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.agro-catalog .agro-catlist {
	padding: 8px 0 10px;
}

/**
 * Дерево каталога: путь от корня до текущего раздела и его подразделы.
 * Уровень задаёт отступ и вертикальную направляющую слева.
 */
.agro-catalog .agro-catlist__item {
	display: flex;
	position: relative;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 16px;
	border-left: 3px solid transparent;
	color: var(--agro-ink2);
	font-size: 14px;
	line-height: 1.35;
	text-decoration: none;
}

.agro-catalog .agro-catlist__item--all {
	border-bottom: 1px solid var(--agro-line);
	font-weight: 600;
}

.agro-catalog .agro-catlist__item--l1 {
	padding-left: 30px;
}

.agro-catalog .agro-catlist__item--l2 {
	padding-left: 44px;
}

.agro-catalog .agro-catlist__item--l3 {
	padding-left: 58px;
}

/* Направляющая уровня: показывает вложенность, не занимая места */
.agro-catalog .agro-catlist__item--l1::before,
.agro-catalog .agro-catlist__item--l2::before,
.agro-catalog .agro-catlist__item--l3::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 1px;
	background: var(--agro-line);
}

.agro-catalog .agro-catlist__item--l1::before {
	left: 19px;
}

.agro-catalog .agro-catlist__item--l2::before {
	left: 33px;
}

.agro-catalog .agro-catlist__item--l3::before {
	left: 47px;
}

.agro-catalog .agro-catlist__item em {
	flex: none;
	color: var(--agro-ink3);
	font-size: 12.5px;
	font-style: normal;
}

.agro-catalog .agro-catlist__item:hover {
	background: var(--agro-shade);
	color: var(--agro-blue);
}

.agro-catalog .agro-catlist__item.is-current {
	border-left-color: var(--agro-cta);
	background: var(--agro-cta-50);
	color: var(--agro-blue);
	font-weight: 600;
}

/* У текущего раздела направляющую перекрывает подсветка — прячем */
.agro-catalog .agro-catlist__item.is-current::before {
	content: none;
}

.agro-catalog .agro-catlist__item.is-current em {
	color: var(--agro-cta-dk);
	font-weight: 700;
}


/**
 * Виджеты зоны «Каталог: сайдбар».
 *
 * Обёртка и заголовок приходят уже в наших классах (см. register_sidebar),
 * поэтому любой штатный виджет сразу выглядит карточкой из макета. Здесь —
 * содержимое: списки категорий, фильтров и активных фильтров WooCommerce.
 * Подробная отделка фильтров — на своём этапе.
 */
.agro-catalog .agro-widget ul {
	margin: 0;
	padding: 8px 0 10px;
	list-style: none;
}

.agro-catalog .agro-widget li {
	margin: 0;
	padding: 0;
}

.agro-catalog .agro-widget li a {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 16px;
	border-left: 3px solid transparent;
	color: var(--agro-ink2);
	font-size: 14px;
	text-decoration: none;
}

.agro-catalog .agro-widget li a:hover {
	background: var(--agro-shade);
	color: var(--agro-blue);
}

.agro-catalog .agro-widget li.current-cat > a,
.agro-catalog .agro-widget li.chosen > a {
	border-left-color: var(--agro-cta);
	background: var(--agro-cta-50);
	color: var(--agro-blue);
	font-weight: 600;
}

/* Вложенные разделы */
.agro-catalog .agro-widget li ul {
	padding: 0;
}

.agro-catalog .agro-widget li ul a {
	padding-left: 30px;
	font-size: 13.5px;
}

.agro-catalog .agro-widget .count {
	color: var(--agro-ink3);
	font-size: 12.5px;
}

/* Всё, что не список: форма цены, выпадающие фильтры, тексты.
   Блок заявки исключён — у него своя внутренняя раскладка. */
.agro-catalog .agro-widget:not(.agro-consult) form,
.agro-catalog .agro-widget:not(.agro-consult) p,
.agro-catalog .agro-widget:not(.agro-consult) select,
.agro-catalog .agro-widget:not(.agro-consult) .price_slider_wrapper {
	margin: 12px 16px;
}

.agro-catalog .agro-widget select {
	max-width: calc(100% - 32px);
}

/**
 * Кнопки внутри виджетов (например «Фильтр» у фильтра по цене).
 * Тема красит их псевдоэлементом поверх фона и растягивает по вертикали —
 * гасим псевдоэлементы и задаём вид сами, как у остальных кнопок каталога.
 */
.agro-catalog .agro-widget button::before,
.agro-catalog .agro-widget button::after {
	content: none;
	display: none;
}

.agro-catalog .agro-widget button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 9px 16px;
	border: 1px solid var(--agro-blue);
	border-radius: 4px;
	background: var(--agro-blue);
	color: #fff;
	font-family: inherit;
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
	white-space: nowrap;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.agro-catalog .agro-widget button:hover,
.agro-catalog .agro-widget button:focus {
	border-color: var(--agro-blue-btn-h);
	background: var(--agro-blue-btn-h);
	color: #fff;
}

/* Фильтр по цене: ползунок и строка с суммой */
.agro-catalog .agro-widget .price_slider_amount {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	color: var(--agro-ink2);
	font-size: 13px;
}

.agro-catalog .agro-widget .price_slider_wrapper .ui-slider {
	position: relative;
	height: 4px;
	margin: 14px 2px 16px;
	border: 0;
	border-radius: 2px;
	background: var(--agro-line);
}

.agro-catalog .agro-widget .ui-slider .ui-slider-range {
	position: absolute;
	top: 0;
	height: 100%;
	border-radius: 2px;
	background: var(--agro-cta);
}

.agro-catalog .agro-widget .ui-slider .ui-slider-handle {
	position: absolute;
	top: -6px;
	width: 16px;
	height: 16px;
	margin-left: -8px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--agro-cta);
	box-shadow: 0 0 0 1px var(--agro-cta-dk);
	cursor: pointer;
}

/* Блок заявки под списком категорий */
.agro-catalog .agro-consult {
	padding: 16px;
	border: 1px solid var(--agro-line);
	border-radius: 6px;
	background: var(--agro-card);
}

.agro-catalog .agro-consult__title {
	margin: 0 0 6px;
	color: var(--agro-blue);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.agro-catalog .agro-consult__text {
	margin: 0 0 12px;
	color: var(--agro-ink2);
	font-size: 13px;
	line-height: 1.5;
}


/* ──────────────────────────── Фильтр ───────────────────────────── */

.agro-catalog .agro-filter__group {
	padding: 15px 16px;
	border-top: 1px solid var(--agro-line);
}

.agro-catalog .agro-filter__head {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 11px;
	padding: 0;
	color: var(--agro-ink);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0;
	text-transform: none;
}

/* Иконка атрибута — задаётся в «Товары → Атрибуты», пусто значит без неё */
.agro-catalog .agro-filter__icon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	color: var(--agro-cta-dk);
}

.agro-catalog .agro-filter__icon svg,
.agro-catalog .agro-filter__icon img,
.agro-catalog .agro-card__attr-icon svg,
.agro-catalog .agro-card__attr-icon img,
.agro-catalog .agro-keyspec__icon svg,
.agro-catalog .agro-keyspec__icon img,
.agro-catalog .agro-spectable__icon svg,
.agro-catalog .agro-spectable__icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/**
 * Те же иконки в карточке и в характеристиках. Размер разный: строки карточки
 * мельче строк на странице товара, одинаковая иконка выглядела бы в них крупнее
 * текста. Запасная точка приглушена, чтобы не спорить с настоящими иконками.
 */
.agro-catalog .agro-card__attr-icon,
.agro-catalog .agro-keyspec__icon,
.agro-catalog .agro-spectable__icon {
	display: flex;
	flex: none;
	align-self: center;
	align-items: center;
	justify-content: center;
	color: var(--agro-cta-dk);
}

.agro-catalog .agro-card__attr-icon--dot,
.agro-catalog .agro-keyspec__icon--dot,
.agro-catalog .agro-spectable__icon--dot {
	color: var(--agro-line-dk);
}

.agro-catalog .agro-card__attr-icon {
	width: 14px;
	height: 14px;
}

.agro-catalog .agro-keyspec__icon {
	width: 16px;
	height: 16px;
}

/* Здесь иконка внутри ячейки с меткой, а не отдельным столбцом сетки */
.agro-catalog .agro-spectable__icon {
	display: inline-flex;
	width: 18px;
	height: 18px;
	margin-right: 6px;
	vertical-align: -4px;
}

/* Список значений: видно заданное число строк, остальное прокруткой */
.agro-catalog .agro-filter__list {
	max-height: calc(var(--agro-filter-rows, 99) * 32px);
	margin: 0 -4px;
	padding: 0 4px;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.agro-catalog .agro-filter__list::-webkit-scrollbar {
	width: 6px;
}

.agro-catalog .agro-filter__list::-webkit-scrollbar-thumb {
	border-radius: 3px;
	background: var(--agro-line-dk);
}

/* Тема вешает на ссылки свои псевдоэлементы подчёркивания — гасим */
.agro-catalog .agro-filter__opt::before,
.agro-catalog .agro-filter__opt::after {
	content: none;
	display: none;
}

.agro-catalog .agro-filter__opt {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 5px 0;
	border: 0;
	background: none;
	color: var(--agro-ink2);
	font-size: 14px;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.agro-catalog .agro-filter__opt:hover {
	color: var(--agro-blue);
}

.agro-catalog .agro-filter__box {
	position: relative;
	flex: none;
	width: 16px;
	height: 16px;
	border: 1.5px solid var(--agro-line-dk);
	border-radius: 3px;
	background: #fff;
}

.agro-catalog .agro-filter__opt.is-on {
	color: var(--agro-ink);
	font-weight: 500;
}

.agro-catalog .agro-filter__opt.is-on .agro-filter__box {
	border-color: var(--agro-cta-dk);
	background: var(--agro-cta);
}

.agro-catalog .agro-filter__opt.is-on .agro-filter__box::after {
	content: "";
	position: absolute;
	left: 4.5px;
	top: 1px;
	width: 4px;
	height: 9px;
	border: solid var(--agro-cta-ink);
	border-width: 0 2px 2px 0;
	transform: rotate(42deg);
}

/* Значение, по которому ничего не найдётся */
.agro-catalog .agro-filter__opt.is-off {
	color: var(--agro-line-dk);
	pointer-events: none;
}

.agro-catalog .agro-filter__name {
	min-width: 0;
}

.agro-catalog .agro-filter__n {
	margin-left: auto;
	padding-left: 8px;
	color: var(--agro-ink3);
	font-size: 12.5px;
}

/* Цена */
.agro-catalog .agro-filter__track {
	position: relative;
	height: 4px;
	margin: 14px 8px 4px;
	border-radius: 2px;
	background: var(--agro-line);
}

.agro-catalog .agro-filter__track i {
	position: absolute;
	top: 0;
	bottom: 0;
	background: var(--agro-cta);
}

.agro-catalog .agro-filter__track b {
	position: absolute;
	top: -6px;
	width: 16px;
	height: 16px;
	margin-left: -8px;
	border: 2px solid #fff;
	border-radius: 50%;
	background: var(--agro-cta);
	box-shadow: 0 0 0 1px var(--agro-cta-dk);
	cursor: grab;
	touch-action: none;
}

.agro-catalog .agro-filter__range {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}

.agro-catalog .agro-filter__range span {
	color: var(--agro-ink3);
}

/* Свойства заданы явно: тема красит поля ввода по тегу */
.agro-catalog .agro-filter__range input {
	width: 100%;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 8px 9px;
	border: 1px solid var(--agro-line);
	border-radius: 3px;
	background: #fff;
	color: var(--agro-ink);
	font-family: inherit;
	font-size: 13.5px;
	line-height: 1.3;
	box-shadow: none;
}

/* Подвал панели */
.agro-catalog .agro-filter__foot {
	display: flex;
	gap: 9px;
	padding: 14px 16px;
	border-top: 1px solid var(--agro-line);
}

.agro-catalog .agro-filter__foot .agro-btn {
	flex: 1 1 0;
	min-width: 0;
}

/**
 * Перебивает общее правило для кнопок внутри виджетов.
 * Кнопка — flex-контейнер, поэтому «Показать 5 товаров» не переносится сам:
 * нужен flex-wrap, иначе строка вылезает за края узкого сайдбара.
 */
.agro-catalog .agro-filter .agro-filter__apply {
	flex: 2 1 0;
	flex-wrap: wrap;
	gap: 0 5px;
	padding: 11px 10px;
	font-size: 13.5px;
	white-space: normal;
}

.agro-catalog .agro-filter .agro-filter__apply[disabled] {
	border-color: var(--agro-line);
	background: var(--agro-shade);
	color: var(--agro-ink3);
	cursor: default;
}

.agro-catalog .agro-filter .agro-filter__apply.is-counting {
	opacity: .65;
}

.agro-catalog .agro-filter .agro-filter__apply.is-empty:not([disabled]) {
	border-color: var(--agro-line-dk);
	background: var(--agro-line-dk);
}


/* ──────────────────── Кнопка шторки и шторка ───────────────────── */

/**
 * На широком экране сайдбар на месте — кнопка не нужна.
 * Класс .agro-btn ниже по файлу задаёт display, поэтому селектор из двух
 * классов: с одним правило проигрывало по порядку и кнопка была видна.
 */
.agro-catalog .agro-btn.agro-mfilter {
	display: none;
}

.agro-catalog .agro-mfilter__icon {
	display: inline-flex;
	line-height: 0;
}

.agro-catalog .agro-mfilter__n {
	color: var(--agro-cta-dk);
	font-weight: 700;
}

.agro-catalog .agro-side__bar,
.agro-catalog .agro-scrim {
	display: none;
}


/* ──────────────────────────── Тулбар ───────────────────────────── */

.agro-catalog .agro-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin-bottom: 20px;
	padding: 12px 16px;
	border: 1px solid var(--agro-line);
	border-radius: 6px;
	background: var(--agro-card);
}

.agro-catalog .agro-sort {
	display: flex;
	align-items: center;
	gap: 9px;
	margin: 0 0 0 auto;
	color: var(--agro-ink3);
	font-size: 13.5px;
}

/* Выбранные фильтры над сеткой */
.agro-catalog .agro-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	min-width: 0;
}

.agro-catalog .agro-chip::before,
.agro-catalog .agro-chip::after {
	content: none;
	display: none;
}

.agro-catalog .agro-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 11px;
	border: 1px solid var(--agro-cta-100);
	border-radius: 20px;
	background: var(--agro-cta-50);
	color: #6b5200;
	font-size: 13px;
	line-height: 1.3;
	text-decoration: none;
}

.agro-catalog .agro-chip:hover {
	border-color: var(--agro-cta-dk);
	color: #6b5200;
}

.agro-catalog .agro-chip span {
	color: var(--agro-cta-dk);
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
}

.agro-catalog .agro-chip .amount {
	color: inherit;
	font-size: inherit;
}

.agro-catalog .agro-chips__clear {
	border-bottom: 1px dashed var(--agro-line-dk);
	color: var(--agro-ink3);
	font-size: 13px;
	text-decoration: none;
}

.agro-catalog .agro-chips__clear:hover {
	border-bottom-color: var(--agro-blue);
	color: var(--agro-blue);
}

/* Тема красит label капсом и ломает его на две строки — задаём явно */
.agro-catalog .agro-sort__label {
	margin: 0;
	color: var(--agro-ink3);
	font-size: 13.5px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.3;
	text-transform: none;
	white-space: nowrap;
}

/* Свойства заданы явно: тема красит select по тегу */
.agro-catalog .agro-sort__select {
	margin: 0;
	padding: 9px 30px 9px 11px;
	border: 1px solid var(--agro-line-dk);
	border-radius: 3px;
	background-color: #fff;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M1 1l4 4 4-4' fill='none' stroke='%235C574E' stroke-width='1.6'/></svg>");
	background-repeat: no-repeat;
	background-position: right 11px center;
	color: var(--agro-ink);
	font-family: inherit;
	font-size: 14px;
	line-height: 1.3;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.agro-catalog .agro-sort__go {
	margin-left: 8px;
}


/* ────────────────────── Заголовок блока ────────────────────────── */

.agro-catalog .agro-blockhead {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 18px;
}

.agro-catalog .agro-blockhead__title {
	margin: 0;
	color: var(--agro-blue);
	font-size: 22px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.3px;
}

.agro-catalog .agro-blockhead__note {
	color: var(--agro-ink3);
	font-size: 13.5px;
	white-space: nowrap;
}

/* Тот же элемент ссылкой — «Смотреть все товары» в шапке блока */
.agro-catalog a.agro-blockhead__note {
	color: var(--agro-cta-dk);
	font-weight: 600;
	text-decoration: none;
}

.agro-catalog a.agro-blockhead__note:hover {
	color: var(--agro-blue);
}


/* ───────────────── Широкий блок заявки на витрине ──────────────── */

.agro-catalog .agro-cta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 30px;
	padding: 28px 32px;
	border: 1px solid var(--agro-cta-100);
	border-left: 4px solid var(--agro-cta);
	border-radius: 8px;
	background: var(--agro-cta-50);
}

.agro-catalog .agro-cta__main {
	flex: 1 1 420px;
	min-width: 0;
}

.agro-catalog .agro-cta__title {
	margin-bottom: 8px;
	color: var(--agro-blue);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.3px;
}

.agro-catalog .agro-cta__text {
	max-width: 760px;
	margin: 0;
	color: var(--agro-ink2);
	font-size: 14.5px;
	line-height: 1.55;
}

.agro-catalog .agro-cta__btn {
	flex: none;
	padding: 14px 28px;
	font-size: 15px;
}


/* ─────────────── Сетка товаров вне каталога (шорткод) ──────────── */

.agro-catalog .agro-catalog-block {
	padding: 10px 0 20px;
}


/* ──────────────────────── Плитки категорий ─────────────────────── */

.agro-catalog .agro-cats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin-bottom: 34px;
}

/* Разделы внутри категории крупнее — их меньше и они важнее */
.agro-catalog .agro-cats--wide {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.agro-catalog .agro-catcard {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-width: 0;
	border-bottom: 3px solid transparent;
	border-radius: var(--agro-radius);
	background: var(--agro-card);
	box-shadow: 0 1px 3px rgba(45, 42, 37, .06);
	text-decoration: none;
	transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.agro-catalog .agro-catcard:hover {
	border-bottom-color: var(--agro-cta);
	box-shadow: 0 12px 30px rgba(13, 33, 55, .13);
	transform: translateY(-2px);
}

/* Окно картинки одного размера у всех плиток (16:10) */
.agro-catalog .agro-catcard__media {
	display: block;
	position: relative;
	height: 0;
	padding-bottom: 62.5%;
	overflow: hidden;
	background: linear-gradient(#fff, var(--agro-shade));
}

.agro-catalog .agro-catcard__media img {
	position: absolute;
	inset: 16px;
	width: auto;
	height: auto;
	max-width: calc(100% - 32px);
	max-height: calc(100% - 32px);
	margin: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.agro-catalog .agro-catcard__noimage {
	display: flex;
	position: absolute;
	inset: 0;
	align-items: center;
	justify-content: center;
	color: var(--agro-ink3);
	font-size: 12.5px;
}

.agro-catalog .agro-catcard__qty {
	position: absolute;
	top: 0;
	left: 14px;
	z-index: 1;
	padding: 4px 11px;
	border-radius: 0 0 4px 4px;
	background: var(--agro-cta);
	color: var(--agro-cta-ink);
	font-size: 11.5px;
	font-weight: 700;
}

.agro-catalog .agro-catcard__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 14px 16px 16px;
	min-width: 0;
}

.agro-catalog .agro-catcard__title {
	display: block;
	margin-bottom: 8px;
	color: var(--agro-blue);
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.3;
}

.agro-catalog .agro-cats--wide .agro-catcard__title {
	font-size: 17px;
	line-height: 1.25;
}

.agro-catalog .agro-catcard:hover .agro-catcard__title {
	color: var(--agro-blue-mid);
}

.agro-catalog .agro-catcard__desc {
	display: block;
	margin-bottom: 12px;
	color: var(--agro-ink2);
	font-size: 13px;
	line-height: 1.5;
}

.agro-catalog .agro-catcard__subs {
	display: block;
	margin-top: auto;
	padding-top: 4px;
	color: var(--agro-ink3);
	font-size: 12.5px;
	line-height: 1.55;
}

.agro-catalog .agro-catcard__subs b {
	color: var(--agro-ink2);
	font-weight: 600;
	white-space: nowrap;
}

.agro-catalog .agro-catcard__go {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
	color: var(--agro-cta-dk);
	font-size: 13.5px;
	font-weight: 600;
}

.agro-catalog .agro-catcard__go svg {
	transition: transform .15s ease;
}

.agro-catalog .agro-catcard:hover .agro-catcard__go svg {
	transform: translateX(3px);
}


/* ───────────────────────────── Сетка ───────────────────────────── */

.agro-catalog .agro-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	align-items: stretch;
}


/* ──────────────────────────── Карточка ─────────────────────────── */

.agro-catalog .agro-card {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	min-width: 0;
	border-bottom: 3px solid transparent;
	border-radius: var(--agro-radius);
	background: var(--agro-card);
	box-shadow: 0 1px 3px rgba(45, 42, 37, .06);
	transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.agro-catalog .agro-card:hover {
	border-bottom-color: var(--agro-cta);
	box-shadow: 0 12px 30px rgba(13, 33, 55, .13);
	transform: translateY(-2px);
}

/**
 * Окно фото одного размера у всех карточек: высота задана долей от ширины
 * (5:4), само фото центрируется внутри и вписывается целиком. Через
 * aspect-ratio не выйдет — она уступает высоте содержимого, и карточки с
 * вытянутыми фото разъезжаются.
 */
.agro-catalog .agro-card__media {
	display: block;
	position: relative;
	height: 0;
	padding-bottom: 80%;
	overflow: hidden;
	background: linear-gradient(#fff, var(--agro-shade));
	text-decoration: none;
}

.agro-catalog .agro-card__media img {
	position: absolute;
	inset: 18px;
	width: auto;
	height: auto;
	max-width: calc(100% - 36px);
	max-height: calc(100% - 36px);
	margin: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.agro-catalog .agro-card__noimage {
	display: flex;
	position: absolute;
	inset: 0;
	align-items: center;
	justify-content: center;
	padding: 18px;
	color: var(--agro-ink3);
	font-size: 12.5px;
	letter-spacing: .03em;
	text-align: center;
}

.agro-catalog .agro-card__badge {
	position: absolute;
	top: 0;
	right: 14px;
	padding: 5px 11px;
	border-radius: 0 0 4px 4px;
	background: var(--agro-cta);
	color: var(--agro-cta-ink);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
}

.agro-catalog .agro-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 15px 17px 17px;
	min-width: 0;
}

.agro-catalog .agro-card__cat {
	display: inline-block;
	margin-bottom: 7px;
	color: var(--agro-cta-dk);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .11em;
	text-transform: uppercase;
	text-decoration: none;
}

.agro-catalog .agro-card__cat:hover {
	color: var(--agro-cta);
}

.agro-catalog .agro-card__title {
	margin: 0 0 12px;
	min-height: 41px;
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.32;
}

.agro-catalog .agro-card__title a {
	color: var(--agro-blue);
	text-decoration: none;
}

.agro-catalog .agro-card:hover .agro-card__title a {
	color: var(--agro-blue-mid);
}

/* Характеристики точечными рейками */
.agro-catalog .agro-card__attrs {
	margin: 0 0 13px;
	padding: 9px 0;
	border-top: 1px dotted var(--agro-line-dk);
	border-bottom: 1px dotted var(--agro-line-dk);
	list-style: none;
}

.agro-catalog .agro-card__attrs li {
	display: flex;
	align-items: baseline;
	gap: 6px;
	margin: 0;
	padding: 0;
	color: var(--agro-ink3);
	font-size: 12.5px;
	line-height: 1.95;
}

.agro-catalog .agro-card__attrs i {
	position: relative;
	top: -3px;
	flex: 1 1 auto;
	border-bottom: 1px dotted var(--agro-line-dk);
	font-style: normal;
}

.agro-catalog .agro-card__attrs b {
	color: var(--agro-ink2);
	font-weight: 600;
	white-space: nowrap;
}

.agro-catalog .agro-card__attr-label {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.agro-catalog .agro-card__foot {
	margin-top: auto;
}

/**
 * Та же карточка внутри виджетов Elementor-аддона — слайдера товаров на
 * главной. Разметку даёт woocommerce/content-product.php, сам плагин не тронут.
 * Тема и штатный WooCommerce оформляют li.product и картинку в нём, и их
 * правила длиннее наших, поэтому гасим их селектором такой же длины.
 */
.agro-catalog .woocommerce ul.products li.product {
	display: flex;
	height: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	vertical-align: top;
}

/**
 * Слайды одной высоты. Без этого слайдер тянет каждый по своему содержимому, и
 * карточки с длинным названием категории стоят лесенкой — низ кнопок не совпадает.
 */
.agro-catalog .cmsmasters-slider ul.products {
	align-items: stretch;
}

.agro-catalog .woocommerce ul.products li.product .agro-card {
	flex: 1 1 auto;
	width: 100%;
}

/**
 * Название категории занимает ровно две строки: у одних разделов оно короткое,
 * у других переносится, и тогда всё содержимое карточки уезжает вниз. Место
 * резервируется всегда, длинное имя обрезается многоточием.
 */
.agro-catalog .cmsmasters-slider .agro-card__cat {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 2.8em;
	overflow: hidden;
	line-height: 1.4;
}

/**
 * Стрелки слайдера за края карточек.
 *
 * Swiper обрезает свою область по краю, но блок стрелок лежит уровнем выше, в
 * .cmsmasters-slider, поэтому вынести их наружу можно простым отступом. На узких
 * экранах места по бокам нет — там возвращаем внутрь.
 */
.agro-catalog .cmsmasters-slider .swiper-buttons-wrap {
	margin: 0 -52px;
}

/* Тема: `li.product a img { width: 100%; margin: 0 0 1em }` — ломает окно фото */
.agro-catalog .woocommerce ul.products li.product .agro-card__media img {
	width: auto;
	height: auto;
	margin: auto;
}

.agro-catalog .agro-card__sku {
	margin-top: 10px;
	color: var(--agro-ink3);
	font-size: 11.5px;
	letter-spacing: .02em;
	text-align: center;
}


/* ───────────────────── Наличие и цена ──────────────────────────── */

.agro-catalog .agro-stock {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 8px;
	color: var(--agro-ok);
	font-size: 12px;
	font-weight: 600;
}

.agro-catalog .agro-stock::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}

.agro-catalog .agro-stock--wait {
	color: var(--agro-cta-dk);
}

.agro-catalog .agro-stock--out {
	color: var(--agro-ink3);
}

.agro-catalog .agro-card__price {
	display: flex;
	align-items: baseline;
	gap: 9px;
	margin-bottom: 13px;
	min-height: 30px;
}

/* WooCommerce печатает <del> перед <ins> — в макете старая цена стоит второй */
.agro-catalog .agro-price {
	display: flex;
	align-items: baseline;
	gap: 9px;
	color: var(--agro-ink);
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.4px;
}

.agro-catalog .agro-price ins {
	order: 1;
	background: none;
	color: inherit;
	text-decoration: none;
}

.agro-catalog .agro-price del {
	order: 2;
	color: var(--agro-ink3);
	font-size: 13px;
	font-weight: 400;
	text-decoration: line-through;
}

/* Цены в каталоге ориентировочные — приставка стоит у каждой */
.agro-catalog .agro-price__from {
	color: var(--agro-ink3);
	font-size: 13px;
	font-weight: 600;
}

.agro-catalog .agro-price--request {
	color: var(--agro-ink2);
	font-size: 16px;
	font-weight: 600;
}


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

/**
 * Тема рисует фон КНОПОК НЕ фоном элемента, а псевдоэлементом поверх него:
 * `button { background: transparent; z-index: 0 }` + `button:before { inset:0;
 * z-index:-1; background: var(--cmsmasters-button-normal-colors-bg) }`.
 * Из-за z-index:0 кнопка создаёт контекст наложения, и :before ложится поверх
 * собственного фона — перебивать цвет бесполезно, гасим псевдоэлементы.
 * Тема делает так же для своей формы поиска.
 */
.agro-catalog .agro-btn::before,
.agro-catalog .agro-btn::after {
	content: none;
	display: none;
}

/* Все свойства заданы явно, чтобы стили темы не влияли */
.agro-catalog .agro-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin: 0;
	padding: 11px 16px;
	border: 1px solid transparent;
	border-radius: 4px;
	background: none;
	font-family: inherit;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: center;
	text-decoration: none;
	text-transform: none;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.agro-catalog .agro-btn--primary {
	border-color: var(--agro-blue);
	background-color: var(--agro-blue);
	color: #fff;
}

.agro-catalog .agro-btn--primary:hover,
.agro-catalog .agro-btn--primary:focus {
	border-color: var(--agro-blue-btn-h);
	background-color: var(--agro-blue-btn-h);
	color: #fff;
}

.agro-catalog .agro-btn--ghost {
	border-color: var(--agro-blue-100);
	background-color: #fff;
	color: var(--agro-blue);
}

.agro-catalog .agro-btn--ghost:hover,
.agro-catalog .agro-btn--ghost:focus {
	border-color: var(--agro-blue-mid);
	background-color: var(--agro-blue-50);
	color: var(--agro-blue);
}

.agro-catalog .agro-btn--amber {
	border-color: var(--agro-cta);
	background-color: var(--agro-cta);
	color: var(--agro-cta-ink);
}

.agro-catalog .agro-btn--amber:hover,
.agro-catalog .agro-btn--amber:focus {
	border-color: var(--agro-cta-lt);
	background-color: var(--agro-cta-lt);
	color: var(--agro-cta-ink);
}

.agro-catalog .agro-btn--block {
	width: 100%;
}


/* ─────────────────── Пустой раздел и пагинация ─────────────────── */

.agro-catalog .agro-empty {
	padding: 40px 0;
	color: var(--agro-ink3);
}

.agro-catalog .agro-pager {
	padding: 32px 0 6px;
}

.agro-catalog .agro-pager ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.agro-catalog .agro-pager li {
	margin: 0;
}

.agro-catalog .agro-pager a,
.agro-catalog .agro-pager span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 10px;
	border: 1px solid var(--agro-line);
	border-radius: 4px;
	background: #fff;
	color: var(--agro-ink2);
	font-size: 15px;
	text-decoration: none;
}

.agro-catalog .agro-pager a:hover {
	border-color: var(--agro-blue-100);
	color: var(--agro-blue);
}

.agro-catalog .agro-pager span.dots {
	border-color: transparent;
	background: none;
}

.agro-catalog .agro-pager span.current {
	border-color: var(--agro-blue);
	background: var(--agro-blue);
	color: #fff;
	font-weight: 700;
}


/* ─────────────────────── Нижняя зона ───────────────────────────── */

.agro-catalog .agro-bottom {
	padding-bottom: 44px;
}

.agro-catalog .agro-sec {
	padding-top: 42px;
}

.agro-catalog .agro-eyebrow {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	color: var(--agro-cta-dk);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.agro-catalog .agro-eyebrow::after {
	content: "";
	flex: 1 1 auto;
	height: 1px;
	background: var(--agro-line);
}

/* Описание раздела */
.agro-catalog .agro-seo {
	padding: 26px 30px;
	border: 1px solid var(--agro-line);
	border-left: 4px solid var(--agro-cta);
	border-radius: 6px;
	background: var(--agro-card);
	color: var(--agro-ink2);
	font-size: 14.5px;
	line-height: 1.65;
}

.agro-catalog .agro-seo > *:first-child {
	margin-top: 0;
}

.agro-catalog .agro-seo > *:last-child {
	margin-bottom: 0;
}

.agro-catalog .agro-seo h2,
.agro-catalog .agro-seo h3 {
	margin: 0 0 12px;
	color: var(--agro-blue);
	font-size: 21px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.3px;
}

.agro-catalog .agro-seo h3 {
	font-size: 17px;
}

.agro-catalog .agro-seo p {
	max-width: 1150px;
	margin: 0 0 11px;
}

/* Смотрите также */
.agro-catalog .agro-minicats {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px;
}

.agro-catalog .agro-minicat {
	display: flex;
	flex-direction: column;
	padding: 14px;
	border: 1px solid var(--agro-line);
	border-radius: 6px;
	background: var(--agro-card);
	text-align: center;
	text-decoration: none;
	transition: border-color .15s ease, box-shadow .15s ease;
}

.agro-catalog .agro-minicat:hover {
	border-color: var(--agro-cta-100);
	box-shadow: 0 6px 18px rgba(13, 33, 55, .08);
}

.agro-catalog .agro-minicat__media {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 82px;
	margin-bottom: 9px;
}

.agro-catalog .agro-minicat__media img {
	max-height: 100%;
	width: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.agro-catalog .agro-minicat__title {
	display: block;
	color: var(--agro-blue);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.3;
}

.agro-catalog .agro-minicat__count {
	display: block;
	margin-top: 4px;
	color: var(--agro-ink3);
	font-size: 12px;
}

/* Часто ищут */
.agro-catalog .agro-queries {
	padding: 20px 24px;
	border: 1px solid var(--agro-cta-100);
	border-radius: var(--agro-radius);
	background: var(--agro-cta-50);
}

.agro-catalog .agro-queries__lead {
	margin-bottom: 13px;
	color: #6b5200;
	font-size: 14px;
}

.agro-catalog .agro-queries__list {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.agro-catalog .agro-query {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 15px 9px 13px;
	border: 1px solid var(--agro-cta-100);
	border-radius: 20px;
	background: #fff;
	color: var(--agro-ink2);
	font-size: 13.5px;
	text-decoration: none;
}

.agro-catalog .agro-query:hover {
	border-color: var(--agro-cta-dk);
	color: var(--agro-cta-dk);
}

.agro-catalog .agro-query svg {
	opacity: .55;
}

/* Метки */
.agro-catalog .agro-tags {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 9px;
}

.agro-catalog .agro-tag {
	padding: 7px 14px;
	border: 1px solid var(--agro-line);
	border-radius: 5px;
	background: #fff;
	color: var(--agro-ink2);
	font-size: 13.5px;
	text-decoration: none;
}

.agro-catalog .agro-tag:hover {
	border-color: var(--agro-blue-100);
	color: var(--agro-blue);
}


/* ──────────────────── Частые вопросы (плагин) ──────────────────── */

/* Блок плагина живёт вне .agro-wrap — выравниваем его теми же величинами */
.agro-catalog .cfd-faq-block {
	max-width: calc(var(--agro-width) + var(--agro-gutter) * 2);
	margin: 0 auto;
	padding: 42px var(--agro-gutter) 0;
	box-sizing: border-box;
}

.agro-catalog .cfd-faq__title {
	margin: 0 0 14px;
	color: var(--agro-cta-dk);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
}

/* Две равные колонки, как в макете */
.agro-catalog .cfd-faq__list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 26px;
	align-items: start;
}

.agro-catalog .cfd-faq__item {
	padding: 15px 0;
	border-bottom: 1px solid var(--agro-line);
}

.agro-catalog .cfd-faq__q {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--agro-blue);
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	text-align: left;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

/* Та же мина, что и с кнопками: фон темы рисуется псевдоэлементом */
.agro-catalog .cfd-faq__q::before,
.agro-catalog .cfd-faq__q::after {
	content: none;
	display: none;
}

.agro-catalog .cfd-faq__icon {
	flex: none;
	color: var(--agro-cta-dk);
	font-size: 18px;
	line-height: 1;
}

.agro-catalog .cfd-faq__icon::before {
	content: "+";
}

.agro-catalog .cfd-faq__item.is-open .cfd-faq__icon::before {
	content: "\2212";
}

.agro-catalog .cfd-faq__answer {
	max-width: 640px;
	margin-top: 9px;
	color: var(--agro-ink2);
	font-size: 14px;
	line-height: 1.6;
}

.agro-catalog .cfd-faq__answer p {
	margin: 0 0 8px;
}

.agro-catalog .cfd-faq__answer p:last-child {
	margin-bottom: 0;
}

/* Пока скрипт не отработал, ответы открыты — так их видит поисковик */
.agro-catalog .cfd-faq.is-enhanced .cfd-faq__item:not(.is-open) .cfd-faq__panel {
	display: none;
}


/* ─── Страница товара: временный каркас, переделывается своим этапом ─── */

/* Крошки идут узкой полосой сразу под шапкой — своего отступа сверху не нужно */
.agro-catalog .agro-single {
	padding-bottom: 60px;
}

/* На странице товара крошки лежат на светлой полосе — там они тёмные.
   Разделители перечислены отдельно: у них своё правило выше по файлу. */
.agro-catalog .agro-single .agro-crumbs,
.agro-catalog .agro-single .agro-crumbs a,
.agro-catalog .agro-single .agro-crumbs span {
	color: var(--agro-ink3);
}

.agro-catalog .agro-single .agro-crumbs a:hover {
	color: var(--agro-blue-mid);
}

/* Верх страницы: слева галерея, справа заказ */
.agro-catalog .agro-top {
	display: grid;
	grid-template-columns: 460px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
	padding-top: 28px;
}

.agro-catalog .agro-bcrumb {
	padding: 12px 0;
	border-bottom: 1px solid var(--agro-line);
	background: var(--agro-card);
}

.agro-catalog .agro-bcrumb .agro-crumbs {
	margin: 0;
}

/* Галерея */
.agro-catalog .agro-gallery {
	position: sticky;
	top: 16px;
}

.agro-catalog .agro-gallery__main {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 22px;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--agro-line);
	border-radius: var(--agro-radius);
	background: var(--agro-card);
}

.agro-catalog .agro-gallery__main img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.agro-catalog .agro-gallery__badge {
	position: absolute;
	top: 0;
	left: 16px;
	padding: 5px 12px;
	border-radius: 0 0 4px 4px;
	background: var(--agro-cta);
	color: var(--agro-cta-ink);
	font-size: 12.5px;
	font-weight: 700;
}

.agro-catalog .agro-gallery__noimage {
	color: var(--agro-ink3);
	font-size: 13px;
}

.agro-catalog .agro-gallery__thumbs {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 10px;
}

.agro-catalog .agro-gallery__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 7px;
	aspect-ratio: 1 / 1;
	border: 1px solid var(--agro-line);
	border-radius: 6px;
	background: var(--agro-card);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.agro-catalog .agro-gallery__thumb::before,
.agro-catalog .agro-gallery__thumb::after {
	content: none;
	display: none;
}

.agro-catalog .agro-gallery__thumb img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.agro-catalog .agro-gallery__thumb:hover {
	border-color: var(--agro-blue-100);
}

.agro-catalog .agro-gallery__thumb.is-current {
	border-width: 2px;
	border-color: var(--agro-cta);
}

/* Поделиться */
.agro-catalog .agro-share {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 14px;
	color: var(--agro-ink3);
	font-size: 13px;
}

.agro-catalog .agro-share__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--agro-line);
	border-radius: 7px;
	background: var(--agro-card);
	color: var(--agro-ink2);
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.agro-catalog .agro-share__btn::before,
.agro-catalog .agro-share__btn::after {
	content: none;
	display: none;
}

.agro-catalog .agro-share__btn:hover {
	border-color: var(--agro-blue-100);
	color: var(--agro-blue);
}

.agro-catalog .agro-share__done {
	color: var(--agro-ok);
	font-size: 12.5px;
}

.agro-catalog .agro-single__info {
	min-width: 0;
}

.agro-catalog .agro-single__cat {
	display: inline-block;
	margin-bottom: 8px;
	color: var(--agro-cta-dk);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
}

.agro-catalog .agro-single__cat:hover {
	color: var(--agro-cta);
}

.agro-catalog .agro-single__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin: 8px 0 18px;
	color: var(--agro-ink3);
	font-size: 13.5px;
}

.agro-catalog .agro-single__meta .agro-stock {
	margin-bottom: 0;
}

.agro-catalog .agro-single__title {
	margin: 0;
	color: var(--agro-blue);
	font-size: 30px;
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.5px;
}

.agro-catalog .agro-single__sku {
	color: #c62828;
	font-weight: 700;
}

.agro-catalog .agro-single__short {
	margin-bottom: 18px;
	color: var(--agro-ink2);
	font-size: 14.5px;
	line-height: 1.65;
}

/* Блок заказа: слева описание и главные характеристики, справа цена */
.agro-catalog .agro-order {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 20px;
	align-items: start;
	margin-bottom: 22px;
}

.agro-catalog .agro-order__main {
	min-width: 0;
}

.agro-catalog .agro-keyspec {
	overflow: hidden;
	border: 1px solid var(--agro-line);
	border-radius: var(--agro-radius);
	background: var(--agro-card);
}

.agro-catalog .agro-keyspec__head {
	padding: 12px 18px 0;
	color: var(--agro-ink3);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.agro-catalog .agro-keyspec__body {
	padding: 6px 18px 14px;
}

.agro-catalog .agro-keyspec__body div {
	display: flex;
	align-items: baseline;
	gap: 8px;
	padding: 7px 0;
	border-bottom: 1px dotted var(--agro-line);
	font-size: 13.5px;
	line-height: 1.4;
}

.agro-catalog .agro-keyspec__body div:last-child {
	border-bottom: 0;
}

.agro-catalog .agro-keyspec__body span {
	color: var(--agro-ink3);
}

.agro-catalog .agro-keyspec__body i {
	position: relative;
	top: -4px;
	flex: 1 1 auto;
	border-bottom: 1px dotted var(--agro-line-dk);
	font-style: normal;
}

.agro-catalog .agro-keyspec__body b {
	color: var(--agro-ink);
	font-weight: 600;
	white-space: nowrap;
}

/* Ценовая карточка */
.agro-catalog .agro-pricecard {
	position: sticky;
	top: 16px;
	padding: 18px 20px;
	border: 1px solid var(--agro-line);
	border-radius: var(--agro-radius);
	background: linear-gradient(var(--agro-card), var(--agro-shade));
}

.agro-catalog .agro-pricecard__price {
	margin-bottom: 14px;
}

.agro-catalog .agro-pricecard__price .agro-price {
	font-size: 30px;
	letter-spacing: -0.6px;
}

.agro-catalog .agro-pricecard__price .agro-price--request {
	font-size: 21px;
}

.agro-catalog .agro-pricecard .agro-btn + .agro-btn {
	margin-top: 9px;
}

.agro-catalog .agro-pricecard__phone {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid var(--agro-line);
	text-align: center;
}

.agro-catalog .agro-pricecard__num {
	color: var(--agro-blue);
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}

.agro-catalog .agro-pricecard__hours {
	margin-top: 3px;
	color: var(--agro-ink3);
	font-size: 12px;
}

/* Кнопка WhatsApp */
.agro-catalog .agro-btn--wa {
	border-color: #25a366;
	background-color: #fff;
	color: #25a366;
}

.agro-catalog .agro-btn--wa:hover,
.agro-catalog .agro-btn--wa:focus {
	border-color: #25a366;
	background-color: #eaf8f1;
	color: #25a366;
}

/* Блок доверия */
.agro-catalog .agro-trust {
	display: flex;
	flex-wrap: wrap;
	overflow: hidden;
	border: 1px solid var(--agro-line);
	border-radius: var(--agro-radius);
	background: var(--agro-card);
}

.agro-catalog .agro-trust__item {
	display: flex;
	flex: 1 1 200px;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 14px 18px;
	border: 0;
	border-right: 1px solid var(--agro-line);
	background: none;
	font-family: inherit;
	text-align: left;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	transition: background-color .15s ease;
}

.agro-catalog .agro-trust__item::before,
.agro-catalog .agro-trust__item::after {
	content: none;
	display: none;
}

.agro-catalog .agro-trust__item:last-child {
	border-right: 0;
}

.agro-catalog .agro-trust__item--plain {
	cursor: default;
}

.agro-catalog .agro-trust__item:not(.agro-trust__item--plain):hover {
	background-color: var(--agro-cta-50);
}

.agro-catalog .agro-trust__ic {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid var(--agro-cta-100);
	border-radius: 10px;
	background: var(--agro-cta-50);
	color: var(--agro-cta-dk);
	transition: background-color .15s ease, border-color .15s ease;
}

.agro-catalog .agro-trust__ic svg {
	display: block;
}

/* Своя иконка: картинкой или кодом — вписываем в ту же плитку */
.agro-catalog .agro-trust__ic--custom svg,
.agro-catalog .agro-trust__ic--custom img {
	display: block;
	width: 21px;
	height: 21px;
	max-width: 21px;
	object-fit: contain;
}

.agro-catalog .agro-trust__item:hover .agro-trust__ic {
	border-color: var(--agro-cta);
	background: #fff;
}

.agro-catalog .agro-trust__body {
	display: block;
	min-width: 0;
}

/* Размеры и начертание — как в макете, регистр не меняем */
.agro-catalog .agro-trust__title {
	display: flex;
	align-items: center;
	gap: 5px;
	color: var(--agro-blue);
	font-size: 13.5px;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: 0;
	text-transform: none;
}

/* Стрелка только у плиток, которые открывают окно */
.agro-catalog .agro-trust__item:not(.agro-trust__item--plain) .agro-trust__title::after {
	content: "\203A";
	color: var(--agro-line-dk);
	font-size: 15px;
}

.agro-catalog .agro-trust__item:hover .agro-trust__title {
	color: var(--agro-cta-dk);
}

.agro-catalog .agro-trust__sub {
	display: block;
	margin-top: 2px;
	color: var(--agro-ink3);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

/* Окно условий */
.agro-catalog .agro-modal {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
}

.agro-catalog .agro-modal[hidden] {
	display: none;
}

.agro-catalog .agro-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(13, 33, 55, .55);
}

.agro-catalog .agro-modal__box {
	position: relative;
	width: 100%;
	max-width: 560px;
	max-height: 80vh;
	overflow-y: auto;
	padding: 26px 28px;
	border-radius: var(--agro-radius);
	background: #fff;
	box-shadow: 0 20px 60px rgba(13, 33, 55, .3);
}

.agro-catalog .agro-modal__close {
	position: absolute;
	top: 10px;
	right: 12px;
	padding: 4px 8px;
	border: 0;
	background: none;
	color: var(--agro-ink3);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.agro-catalog .agro-modal__close::before,
.agro-catalog .agro-modal__close::after {
	content: none;
	display: none;
}

.agro-catalog .agro-modal__title {
	margin: 0 0 12px;
	color: var(--agro-blue);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
}

.agro-catalog .agro-modal__content {
	color: var(--agro-ink2);
	font-size: 14.5px;
	line-height: 1.65;
}

.agro-catalog .agro-modal__content p {
	margin: 0 0 10px;
}

.agro-catalog .agro-modal__content p:last-child {
	margin-bottom: 0;
}

/* Панель заказа при прокрутке */
.agro-catalog .agro-stickybar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	border-bottom: 1px solid var(--agro-line);
	background: rgba(255, 255, 255, .97);
	box-shadow: 0 4px 18px rgba(13, 33, 55, .08);
}

.agro-catalog .agro-stickybar[hidden] {
	display: none;
}

.agro-catalog .agro-stickybar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding-top: 9px;
	padding-bottom: 9px;
}

.agro-catalog .agro-stickybar__left {
	display: flex;
	align-items: center;
	gap: 14px;
	min-width: 0;
}

.agro-catalog .agro-stickybar__thumb {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 44px;
	padding: 5px;
	border: 1px solid var(--agro-line);
	border-radius: 6px;
	background: #fff;
}

.agro-catalog .agro-stickybar__thumb img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	object-fit: contain;
	mix-blend-mode: multiply;
}

.agro-catalog .agro-stickybar__info {
	display: block;
	min-width: 0;
}

.agro-catalog .agro-stickybar__name {
	display: block;
	overflow: hidden;
	max-width: 520px;
	color: var(--agro-ink);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.agro-catalog .agro-stickybar__meta {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 2px;
	color: var(--agro-ink3);
	font-size: 12px;
}

.agro-catalog .agro-stickybar__meta .agro-stock {
	margin-bottom: 0;
}

.agro-catalog .agro-stickybar__sku {
	color: #c62828;
	font-weight: 600;
}

.agro-catalog .agro-stickybar__right {
	display: flex;
	flex: none;
	align-items: center;
	gap: 12px;
}

.agro-catalog .agro-stickybar__price .agro-price {
	font-size: 20px;
	white-space: nowrap;
}

.agro-catalog .agro-stickybar__price .agro-price--request {
	font-size: 15px;
}

/* Нижняя панель на мобильном */
.agro-catalog .agro-mobilebar {
	display: none;
}

/* Похожие товары */
.agro-catalog .agro-sec__sub {
	margin: 6px 0 18px;
	color: var(--agro-ink3);
	font-size: 13.5px;
}

.agro-catalog .agro-minicats--row {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.agro-catalog .agro-minicats--row .agro-minicat {
	flex-direction: row;
	align-items: center;
	gap: 16px;
	padding: 14px 16px;
	text-align: left;
}

.agro-catalog .agro-minicats--row .agro-minicat__media {
	flex: none;
	width: 78px;
	height: 62px;
	margin-bottom: 0;
	border-radius: 6px;
	background: var(--agro-shade);
}

.agro-catalog .agro-minicats--row .agro-minicat__title {
	font-size: 15px;
}

/* Таблица характеристик в две колонки */
.agro-catalog .agro-spectable {
	display: grid;
	grid-template-columns: 1fr 1fr;
	overflow: hidden;
	border: 1px solid var(--agro-line);
	border-radius: var(--agro-radius);
	background: var(--agro-card);
}

.agro-catalog .agro-spectable__row {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	padding: 12px 20px;
	border-bottom: 1px solid var(--agro-line);
	font-size: 13.5px;
}

.agro-catalog .agro-spectable__row:nth-child(odd) {
	border-right: 1px solid var(--agro-line);
}

.agro-catalog .agro-spectable__row span {
	color: var(--agro-ink3);
}

.agro-catalog .agro-spectable__row b {
	color: var(--agro-ink);
	font-weight: 600;
	text-align: right;
}

.agro-catalog .agro-section__title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 14px;
	color: var(--agro-blue);
	font-size: 19px;
	font-weight: 700;
	letter-spacing: -0.3px;
}

.agro-catalog .agro-section__title::before {
	content: "";
	width: 4px;
	height: 20px;
	border-radius: 2px;
	background: var(--agro-cta);
}

.agro-catalog .agro-text {
	padding: 22px 24px;
	border: 1px solid var(--agro-line);
	border-radius: var(--agro-radius);
	background: #fff;
	color: var(--agro-ink2);
	font-size: 14px;
	line-height: 1.7;
}


/* ─────────────────────────── Видеообзор ────────────────────────── */

.agro-catalog .agro-videos {
	display: grid;
	gap: 20px;
}

.agro-catalog .agro-videos--grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* aspect-ratio тема не держит — пропорции задаём отступом, как в карточке */
.agro-catalog .agro-video {
	position: relative;
	padding-bottom: 56.25%;
	overflow: hidden;
	border-radius: var(--agro-radius);
	background: #000;
}

/* Тема задаёт `iframe { margin: 3rem 0 }` — без сброса плеер съезжает вниз */
.agro-catalog .agro-video iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	border: 0;
}


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

@media (max-width: 1500px) {
	.agro-catalog .agro-grid,
	.agro-catalog .agro-cats {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.agro-catalog .agro-cats--wide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1100px) {
	.agro-catalog .agro-layout {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		padding-top: 18px;
	}

	/* По бокам места не осталось — стрелки возвращаются на карточки */
	.agro-catalog .cmsmasters-slider .swiper-buttons-wrap {
		margin: 0;
	}

	/**
	 * Сайдбар уезжает в шторку целиком — с разделами, фильтром и всем, что
	 * владелец поставил в зону. Прячем сдвигом, а не display:none: так он
	 * открывается плавно и остаётся тем же блоком, что на десктопе.
	 */
	.agro-catalog .agro-side {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		z-index: 100000;
		width: min(340px, 88vw);
		padding: 0 14px 20px;
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--agro-page);
		box-shadow: 4px 0 24px rgba(13, 33, 55, .18);
		transform: translateX(-102%);
		visibility: hidden;
		transition: transform .22s ease, visibility .22s;
	}

	.agro-catalog .agro-side.is-open {
		transform: none;
		visibility: visible;
	}

	.agro-catalog .agro-side__bar {
		display: flex;
		position: sticky;
		top: 0;
		z-index: 1;
		align-items: center;
		justify-content: space-between;
		margin: 0 -14px 14px;
		padding: 12px 14px;
		background: var(--agro-nav);
		color: #fff;
	}

	.agro-catalog .agro-side__label {
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .1em;
		text-transform: uppercase;
	}

	/* Тема рисует фон кнопок псевдоэлементом поверх — гасим, как везде */
	.agro-catalog .agro-side__close::before,
	.agro-catalog .agro-side__close::after {
		content: none;
		display: none;
	}

	.agro-catalog .agro-side__close {
		width: 32px;
		height: 32px;
		padding: 0;
		border: 0;
		background: none;
		color: #fff;
		font-size: 26px;
		line-height: 1;
		cursor: pointer;
		-webkit-appearance: none;
		appearance: none;
	}

	.agro-catalog .agro-scrim {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 99999;
		background: rgba(13, 33, 55, .45);
		opacity: 0;
		visibility: hidden;
		transition: opacity .22s ease, visibility .22s;
	}

	body.agro-side-open .agro-scrim {
		opacity: 1;
		visibility: visible;
	}

	body.agro-side-open {
		overflow: hidden;
	}

	.agro-catalog .agro-btn.agro-mfilter {
		display: flex;
		width: 100%;
		margin: 12px 0 14px;
	}

	.agro-catalog .cfd-faq__list {
		grid-template-columns: 1fr;
	}

	.agro-catalog .agro-minicats {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	/* Узкая полоса справа на телефоне бесполезна: от техники видно колесо.
	   Поэтому картинка либо занимает всю шапку фоном, либо не выводится. */
	.agro-catalog .agro-hero--image .agro-hero__main {
		max-width: 100%;
	}

	.agro-catalog .agro-hero--mob-none .agro-hero__media {
		display: none;
	}

	.agro-catalog .agro-hero--mob-bg .agro-hero__media {
		left: 0;
		width: auto;
		max-width: none;
	}

	.agro-catalog .agro-hero--mob-bg .agro-hero__media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	/**
	 * Сплошное затемнение вместо бокового растворения — иначе текст не прочесть.
	 * Позиционирование задано здесь же: при выключенном растворении правила
	 * выше не срабатывают и псевдоэлемент остался бы в потоке.
	 */
	.agro-catalog .agro-hero--mob-bg .agro-hero__media::before {
		content: "";
		position: absolute;
		inset: 0;
		z-index: 1;
		background: rgba(13, 33, 55, .68);
	}
}

@media (max-width: 760px) {
	/* Поля задаём переменной — её используют и контейнер, и раскладка, и FAQ */
	.agro-catalog {
		--agro-gutter: 14px;
	}

	/* На узком экране подпись у кнопки поиска только мешает */
	.agro-catalog .agro-search__go span {
		display: none;
	}

	.agro-catalog .agro-search__go {
		padding: 0 18px;
	}

	.agro-catalog .agro-cta {
		padding: 20px 18px;
	}

	.agro-catalog .agro-cta__title {
		font-size: 18px;
	}

	.agro-catalog .agro-cta__btn {
		width: 100%;
	}

	.agro-catalog .agro-hero__title {
		font-size: 24px;
	}

	/* Два ролика в ряд на телефоне нечитаемы */
	.agro-catalog .agro-videos--grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.agro-catalog .agro-hero__main {
		padding: 20px 14px 18px;
	}

	.agro-catalog .agro-grid,
	.agro-catalog .agro-cats,
	.agro-catalog .agro-cats--wide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.agro-catalog .agro-blockhead__title {
		font-size: 18px;
	}

	.agro-catalog .agro-minicats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.agro-catalog .agro-seo {
		padding: 18px;
	}

	.agro-catalog .cfd-faq-block {
		padding: 32px 14px 0;
	}

	.agro-catalog .agro-card__body {
		padding: 12px 12px 13px;
	}

	.agro-catalog .agro-card__title {
		min-height: 37px;
		font-size: 14px;
	}

	.agro-catalog .agro-price {
		font-size: 18px;
	}

	.agro-catalog .agro-card__attrs li {
		font-size: 11.5px;
		line-height: 1.8;
	}

	.agro-catalog .agro-btn {
		padding: 10px 12px;
		font-size: 13.5px;
	}

	.agro-catalog .agro-toolbar {
		padding: 11px 12px;
	}

	.agro-catalog .agro-sort {
		margin-left: 0;
		width: 100%;
	}

	.agro-catalog .agro-sort__select {
		flex: 1 1 auto;
	}

	.agro-catalog .agro-single__title {
		font-size: 22px;
	}

	.agro-catalog .agro-spectable {
		grid-template-columns: minmax(0, 1fr);
	}

	.agro-catalog .agro-spectable__row:nth-child(odd) {
		border-right: 0;
	}

	.agro-catalog .agro-trust__item {
		flex: 1 1 100%;
		border-right: 0;
		border-bottom: 1px solid var(--agro-line);
	}

	.agro-catalog .agro-trust__item:last-child {
		border-bottom: 0;
	}

	/* На мобильном работает нижняя панель, верхняя не нужна */
	.agro-catalog .agro-stickybar {
		display: none;
	}

	.agro-catalog .agro-mobilebar {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 50;
		align-items: center;
		gap: 10px;
		padding: 10px 14px;
		border-top: 1px solid var(--agro-line);
		background: #fff;
		box-shadow: 0 -4px 16px rgba(0, 0, 0, .08);
	}

	.agro-catalog .agro-mobilebar__info {
		flex: 1 1 auto;
		min-width: 0;
	}

	.agro-catalog .agro-mobilebar__info .agro-stock {
		margin-bottom: 2px;
		font-size: 11px;
	}

	.agro-catalog .agro-mobilebar__price .agro-price {
		font-size: 18px;
	}

	.agro-catalog .agro-mobilebar__price .agro-price--request {
		font-size: 14px;
	}

	.agro-catalog.single-product {
		padding-bottom: 70px;
	}
}

@media (max-width: 1200px) {
	.agro-catalog .agro-top {
		grid-template-columns: 340px minmax(0, 1fr);
		gap: 24px;
	}

	.agro-catalog .agro-order {
		grid-template-columns: minmax(0, 1fr);
		gap: 16px;
	}

	/* Цена поднимается над описанием: на узком экране она важнее */
	.agro-catalog .agro-pricecard {
		position: static;
		order: -1;
	}
}

@media (max-width: 900px) {
	.agro-catalog .agro-top {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
	}

	.agro-catalog .agro-gallery {
		position: static;
	}

	.agro-catalog .agro-minicats--row {
		grid-template-columns: minmax(0, 1fr);
	}
}


/* ─────────────────── Телефоны: от 360px ──────────────────────── */

/**
 * Блок идёт последним в файле сознательно: правила выше перечислены не по
 * убыванию ширины, и только так узкие экраны получают финальное слово.
 */
@media (max-width: 520px) {
	/* Две колонки товаров на 360px дают карточку в 160px — рейки характеристик
	   в ней уже не читаются, поэтому товары идут в одну колонку. */
	.agro-catalog .agro-grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.agro-catalog .agro-card__title {
		min-height: 0;
		font-size: 15px;
	}

	.agro-catalog .agro-card__attrs li {
		font-size: 12.5px;
	}

	/* Разделы остаются по два — там только картинка и название */
	.agro-catalog .agro-cats,
	.agro-catalog .agro-cats--wide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px;
	}

	.agro-catalog .agro-catcard__title,
	.agro-catalog .agro-cats--wide .agro-catcard__title {
		font-size: 14px;
	}

	.agro-catalog .agro-catcard__desc {
		display: none;
	}

	.agro-catalog .agro-hero__title {
		font-size: 21px;
	}

	.agro-catalog .agro-hero__main {
		padding: 16px 14px 16px;
	}

	.agro-catalog .agro-crumbs {
		margin-bottom: 10px;
		font-size: 12px;
	}

	.agro-catalog .agro-crumbs .separator,
	.agro-catalog .agro-crumbs__sep {
		margin: 0 4px;
	}

	.agro-catalog .agro-hero__sub,
	.agro-catalog .agro-hero__count {
		font-size: 13px;
	}

	.agro-catalog .agro-search {
		margin-top: 16px;
	}

	.agro-catalog .agro-search .agro-search__field {
		padding: 12px 14px;
		font-size: 14px;
	}

	.agro-catalog .agro-search .agro-search__go {
		padding: 0 15px;
	}

	.agro-catalog .agro-blockhead {
		gap: 8px;
	}

	.agro-catalog .agro-blockhead__title {
		font-size: 17px;
	}

	/* Пагинация: кнопки мельче, иначе строка не помещается */
	.agro-catalog .agro-pager {
		padding: 24px 0 4px;
	}

	.agro-catalog .agro-pager ul {
		gap: 5px;
	}

	.agro-catalog .agro-pager a,
	.agro-catalog .agro-pager span {
		min-width: 36px;
		height: 36px;
		padding: 0 7px;
		font-size: 14px;
	}

	.agro-catalog .agro-sec {
		padding-top: 30px;
	}

	.agro-catalog .agro-seo {
		padding: 16px 14px;
	}

	.agro-catalog .agro-seo h2 {
		font-size: 18px;
	}

	.agro-catalog .agro-queries {
		padding: 16px 14px;
	}

	.agro-catalog .agro-cta {
		padding: 18px 14px;
	}

	.agro-catalog .agro-cta__text {
		font-size: 13.5px;
	}

	/* Страница товара */
	.agro-catalog .agro-single__title {
		font-size: 20px;
	}

	.agro-catalog .agro-pricecard {
		padding: 16px 14px;
	}

	.agro-catalog .agro-trust__item {
		padding: 12px 14px;
	}

	.agro-catalog .agro-trust__ic {
		width: 36px;
		height: 36px;
	}

	.agro-catalog .agro-modal__box {
		padding: 20px 16px;
	}

	/* Нижняя панель товара: цена и кнопка не должны наезжать друг на друга */
	.agro-catalog .agro-mobilebar {
		gap: 8px;
		padding: 8px 12px;
	}

	.agro-catalog .agro-mobilebar .agro-btn {
		padding: 10px 14px;
		font-size: 13px;
	}

	.agro-catalog .agro-mobilebar__price .agro-price {
		font-size: 16px;
	}

	/* Шторка сайдбара на самых узких экранах занимает почти весь экран */
	.agro-catalog .agro-side {
		width: min(320px, 92vw);
	}
}