/* ===== Каталог, формы, окна. Размеры сняты со старого сайта (ширина 1440). ===== */

.vp-filters *, .vp-toolbar *, .vp-pcard *, .vp-form *, .vp-modal *, .vp-buybox * { box-sizing: border-box; }
/* Ollie задаёт всем полям рамку, фон и отступы — в наших блоках они свои */
:root .vp-filters input[type=range],
:root .vp-checks input,
:root .vp-consent input { padding: 0; border: 0; border-radius: 0; min-height: 0; }

/* Весь сайт — одной ширины 1440 (28.09.2026). Раньше в разделах «Натуральный мёд», «Мёд с добавками», «Продукты
   пчеловодства» каталог был шире шапки (1240 против 1180), как на старом сайте (класс vp-cat-wide) — теперь всё по ширине шапки. */
.vp-cat-wide .vp-page > .vp-wide,
.vp-cat-wide .vp-page > .wp-block-group.vp-wide {
	max-width: var(--vp-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* в обычной ширине (1180) карточки уже: 3 × 267 */
@media (min-width: 1000px) {
	body:not(.vp-cat-wide) .vp-grid[data-view="grid"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Разделы без фильтра (по просьбе заказчика 27.09.2026): товары на ширину шапки, 4 в ряд (на 1000–1199 — 3) */
:root body .vp-catalog-page > .vp-catalog-layout.vp-wide { width: auto; max-width: var(--vp-container) !important; margin-left: auto !important; margin-right: auto !important; }
@media (min-width: 1200px) {
	:root body .vp-catalog-page .vp-grid[data-view="grid"] { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px 20px; }
}
/* «Акции»: после панели фильтра до «Остались вопросы?» 40px */
.vp-sale .vp-catalog-page { padding-bottom: 20px; }
/* без плиток подкатегорий между заголовком и каталогом 40px */
.vp-catalog-page > .vp-catalog-title + .vp-catalog-layout { margin-top: 40px !important; }

/* Заголовок категории */
.vp-catalog-page > .vp-breadcrumbs { margin-bottom: 18px !important; }
.vp-catalog-title { margin-top: 0 !important; margin-bottom: 0 !important; font-size: 52px; line-height: 62px; font-weight: 700; }
.vp-catalog-title[data-vp-count]::after { content: attr(data-vp-count); margin-left: 16px; font-size: 20px; line-height: 24px; font-weight: 400; letter-spacing: 0; color: var(--vp-brown-50); white-space: nowrap; }
@media (max-width: 999px) {
	.vp-catalog-title[data-vp-count]::after { margin-left: 10px; font-size: 14px; line-height: 17px; }
}

/* Плитки подкатегорий — по ширине шапки (1440), от её левого края */
.vp-subcats { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 40px !important; }
.vp-page > .vp-subcats {
	max-width: var(--vp-container) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.vp-subcats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	width: 190px;
	padding: 16px 20px;
	color: var(--vp-brown);
	text-decoration: none;
	transition: box-shadow .2s;
}
.vp-subcats__item:hover { box-shadow: 0 6px 20px -8px rgba(93,66,52,.25); color: var(--vp-brown); }
.vp-subcats__img { display: block; width: 150px; height: 75px; border-radius: 8px; overflow: hidden; background: var(--vp-brown-04); }
.vp-subcats__img img { width: 150px; height: 75px; object-fit: cover; display: block; }
.vp-subcats__label { font-size: 16px; line-height: 19px; font-weight: 700; text-align: center; }
/* на ширине 1440 плитки подразделов тянутся на весь ряд (7 в ряд; на 1200–1399 — 6) */
@media (min-width: 1200px) {
	.vp-page > .vp-subcats { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); }
	.vp-page > .vp-subcats > .vp-subcats__item { width: auto; min-width: 0; box-sizing: border-box; }
	.vp-page > .vp-subcats .vp-subcats__img { width: 100%; height: auto; aspect-ratio: 2 / 1; }
	.vp-page > .vp-subcats .vp-subcats__img img { width: 100%; height: 100%; }
}

/* Колонки: фильтры (300) + товары */
.vp-catalog-layout { gap: 26px; margin-top: 20px !important; align-items: flex-start !important; }
.vp-catalog-layout.is-loading .vp-catalog-main { opacity: .5; pointer-events: none; transition: opacity .2s; }
.vp-catalog-main { flex: 1 1 auto; min-width: 0; }
.vp-catalog-main > * + * { margin-block-start: 26px; }

/* ----- Фильтры ----- */
.vp-filters { flex: 0 0 300px; width: 300px; padding: 16px; position: sticky; top: 20px; }
.vp-filters__form { margin: 0; }
.vp-filter + .vp-filter { margin-top: 0; }
.vp-filter__title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 12px 0;
	font-size: 16px;
	line-height: 19px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
}
.vp-filter:first-child .vp-filter__title { padding-top: 0; }
.vp-filter__title::-webkit-details-marker { display: none; }
.vp-filter__chevron { color: var(--vp-brown-50); transition: transform .2s; }
.vp-filter[open] .vp-filter__chevron { transform: rotate(180deg); }
.vp-filter__body { padding-bottom: 12px; }

:root input.vp-input {
	width: 100%;
	height: 37px;
	padding: 9px 16px;
	border: 0;
	border-radius: 8px;
	background: var(--vp-brown-04);
	color: var(--vp-brown);
	font: 400 16px/19px var(--wp--preset--font-family--primary);
	-moz-appearance: textfield;
}
:root input.vp-input::placeholder { color: rgba(93,66,52,.3); }
:root input.vp-input:focus { outline: none; box-shadow: inset 0 0 0 1px var(--vp-honey); }
:root input.vp-input::-webkit-outer-spin-button,
:root input.vp-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
:root input.vp-input--sm { height: 29px; padding: 5px 16px 5px 26px; font-size: 16px; }

.vp-price__inputs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; }
/* как на старом сайте: тонкая линия во всю ширину, между ручками — полоса 4px; под ней деления */
.vp-price__slider { position: relative; height: 14px; margin: 6px 0 0; }
.vp-price__slider::before { content: ""; position: absolute; left: 0; right: 0; top: 5px; height: 2px; background: rgba(93,66,52,.16); }
.vp-price__track { position: absolute; left: 6px; right: 6px; top: 4px; height: 4px; }
.vp-price__bar { position: absolute; top: 0; bottom: 0; left: 0; width: 100%; background: var(--vp-honey); }
:root .vp-price__slider input[type=range] {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 12px;
	margin: 0;
	background: none;
	pointer-events: none;
	-webkit-appearance: none;
	appearance: none;
}
.vp-price__slider input[type=range]::-webkit-slider-thumb {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--vp-honey);
	border: 0;
	pointer-events: auto;
	cursor: pointer;
	-webkit-appearance: none;
}
.vp-price__slider input[type=range]::-moz-range-thumb {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--vp-honey);
	border: 0;
	pointer-events: auto;
	cursor: pointer;
}
.vp-price__ticks { --vp-tick: linear-gradient(rgba(93,66,52,.2), rgba(93,66,52,.2)); position: relative; height: 22px; font-size: 10px; line-height: 12px; color: rgba(93,66,52,.6); }
/* 5 больших делений (8px) под подписями и по 4 маленьких (4px) между ними */
.vp-price__ticks::before {
	content: "";
	position: absolute;
	top: 0;
	left: 6px;
	right: 5px;
	height: 8px;
	background-image: var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick), var(--vp-tick);
	background-size: 1px 8px, 1px 8px, 1px 8px, 1px 8px, 1px 8px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px, 1px 4px;
	background-position: 0% 0, 25% 0, 50% 0, 75% 0, 100% 0, 5% 0, 10% 0, 15% 0, 20% 0, 30% 0, 35% 0, 40% 0, 45% 0, 55% 0, 60% 0, 65% 0, 70% 0, 80% 0, 85% 0, 90% 0, 95% 0;
	background-repeat: no-repeat;
}
/* подпись — по центру своего деления, но не шире панели (крайние прижимаются к краю), как на старом сайте */
.vp-price__ticks span { position: absolute; top: 12px; transform: translateX(-50%); white-space: nowrap; }
.vp-price__ticks span:nth-child(1) { left: 6px; transform: translateX(max(-50%, -6px)); }
.vp-price__ticks span:nth-child(2) { left: calc(6px + (100% - 12px) * .25); }
.vp-price__ticks span:nth-child(3) { left: 50%; }
.vp-price__ticks span:nth-child(4) { left: calc(6px + (100% - 12px) * .75); }
.vp-price__ticks span:nth-child(5) { left: calc(100% - 6px); transform: translateX(min(-50%, calc(6px - 100%))); }

.vp-filter__search { position: relative; display: block; margin-bottom: 12px; }
.vp-filter__search svg { position: absolute; left: 8px; top: 50%; margin-top: -7px; color: rgba(93,66,52,.3); }
.vp-checks { list-style: none; margin: 0; padding: 0; }
.vp-checks__item + .vp-checks__item { margin-top: 12px; }
.vp-checks__item[hidden] { display: none; }
.vp-checks label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; line-height: 16px; cursor: pointer; }
:root .vp-checks input {
	border-radius: 3px;
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin: 0;
	border: 0;
	border-radius: 3px;
	background: var(--vp-brown-08);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
:root .vp-checks input:checked { background: var(--vp-honey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 10px no-repeat; }
.vp-checks__name { flex: 1 1 auto; }
.vp-checks__count { font-size: 12px; line-height: 14px; color: rgba(93,66,52,.6); }
/* как на старом сайте: под списком без отступа, а кнопка «наезжает» на следующий раздел на 10px */
.vp-filter__body:has(> .vp-filter__more) { padding-bottom: 0; }
.vp-filter__more { display: block; width: 100%; margin-top: 2px; margin-bottom: -10px; position: relative; z-index: 1; text-align: left; padding: 10px 0; border: 0; background: none; color: var(--vp-honey); font: 400 12px/14px var(--wp--preset--font-family--primary); cursor: pointer; }

/* ----- Панель: сортировка / вид / количество ----- */
.vp-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.vp-toolbar__label { font-size: 16px; line-height: 19px; color: var(--vp-brown); }
.vp-toolbar__right { display: flex; align-items: center; gap: 20px; }
.vp-toolbar__views { display: flex; align-items: center; gap: 10px; }
.vp-toolbar__count { display: flex; align-items: center; gap: 10px; }
.vp-view { display: flex; padding: 0; border: 0; background: none; color: var(--vp-brown); cursor: pointer; }
.vp-view.is-active,
.vp-view:hover { color: var(--vp-honey); }

.vp-dd { position: relative; }
.vp-dd__toggle {
	display: flex;
	align-items: center;
	gap: 7px;
	height: 43px;
	padding: 12px 20px;
	border: 0;
	border-radius: 4px;
	background: transparent;
	box-shadow: inset 0 0 0 1px var(--vp-brown-08);
	color: var(--vp-brown);
	font: 400 16px/19px var(--wp--preset--font-family--primary);
	cursor: pointer;
}
.vp-dd__toggle--boxed { height: 37px; padding: 10px 20px 8px; gap: 6px; box-shadow: 0 0 0 1px var(--vp-honey-10); color: var(--vp-honey); }
.vp-dd__menu {
	position: absolute;
	z-index: 20;
	top: calc(100% + 4px);
	left: 0;
	min-width: 100%;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 10px 30px -10px rgba(93,66,52,.3);
}
.vp-dd--small .vp-dd__menu { left: auto; right: 0; }
.vp-dd__menu[hidden] { display: none; }
.vp-dd__menu a { display: block; padding: 8px 20px; color: var(--vp-brown); white-space: nowrap; }
.vp-dd__menu a:hover,
.vp-dd__menu a.is-active { color: var(--vp-honey); }

/* ----- Карусели в карточке товара: «Похожие товары», «Подарки близким» (блок vp/product-carousel) ----- */
.vp-carousel { margin-top: 60px !important; }
.vp-carousel + .vp-carousel { margin-top: 50px !important; }
.vp-carousel__title { margin: 0 0 20px; font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: 0; color: var(--vp-brown); }
.vp-carousel__body { position: relative; }
:root .vp-carousel__track.vp-grid,
:root .vp-carousel__track--cats {
	display: flex;
	gap: 20px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.vp-carousel__track::-webkit-scrollbar { display: none; }
.vp-carousel__track > .vp-pcard { flex: 0 0 calc((100% - 60px) / 4); scroll-snap-align: start; }
/* большой полупрозрачный полукруг у правого края: стрелка и «Показать ещё» (у левого — только стрелка) */
.vp-carousel__half {
	position: absolute;
	z-index: 3;
	top: 50%;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 96px;
	height: 192px;
	margin-top: -96px;
	padding: 0 0 0 18px;
	border: 0;
	border-radius: 96px 0 0 96px;
	background: rgba(255, 255, 255, .72);
	-webkit-backdrop-filter: blur(4px);
	backdrop-filter: blur(4px);
	box-shadow: -6px 0 24px -8px rgba(61, 50, 44, .25);
	color: var(--vp-honey);
	cursor: pointer;
	transition: background-color .2s, opacity .2s, visibility .2s;
}
.vp-carousel__half--prev { right: auto; left: 0; padding: 0 18px 0 0; border-radius: 0 96px 96px 0; box-shadow: 6px 0 24px -8px rgba(61, 50, 44, .25); }
.vp-carousel__half:hover { background: rgba(255, 255, 255, .92); }
.vp-carousel__half:disabled { opacity: 0; visibility: hidden; }
.vp-carousel__arrow { width: 32px; height: 32px; background: currentColor; -webkit-mask: url(../icons/chevron-right.svg) center / contain no-repeat; mask: url(../icons/chevron-right.svg) center / contain no-repeat; }
.vp-carousel__half--prev .vp-carousel__arrow { transform: scaleX(-1); }
.vp-carousel__more { font-size: 12px; line-height: 14px; font-weight: 700; text-align: center; width: 64px; }
/* «Разделы каталога»: плитки как на странице раздела, 6 в ряд; плитка раздела — медовая, подразделы товара — в рамке */
.vp-carousel__track--cats { padding: 6px 0 14px; }
.vp-carousel__track--cats > .vp-subcats__item { flex: 0 0 calc((100% - 100px) / 6); width: auto; min-width: 0; padding: 14px 14px 16px; gap: 8px; scroll-snap-align: start; box-sizing: border-box; }
.vp-carousel__track--cats .vp-subcats__img { width: 100%; height: auto; aspect-ratio: 2 / 1; }
.vp-carousel__track--cats .vp-subcats__img img { width: 100%; height: 100%; }
.vp-carousel__track--cats .vp-subcats__label { font-size: 15px; line-height: 18px; white-space: normal; }
.vp-carousel--cats .vp-carousel__half { width: 72px; height: 144px; margin-top: -72px; padding-left: 12px; border-radius: 72px 0 0 72px; }
.vp-carousel--cats .vp-carousel__half--prev { padding: 0 12px 0 0; border-radius: 0 72px 72px 0; }
.vp-carousel--cats .vp-carousel__arrow { width: 26px; height: 26px; }
.vp-carousel--cats .vp-carousel__more { width: 52px; font-size: 11px; line-height: 13px; }
@media (min-width: 1000px) and (max-width: 1199px) {
	.vp-carousel__track > .vp-pcard { flex-basis: calc((100% - 40px) / 3); }
	.vp-carousel__track--cats > .vp-subcats__item { flex-basis: calc((100% - 80px) / 5); }
}
/* телефон и планшет: видно 2,5 товара, половинка третьего засветлена; листается пальцем */
@media (max-width: 999px) {
	.vp-carousel { margin-top: 40px !important; }
	.vp-carousel + .vp-carousel { margin-top: 30px !important; }
	.vp-carousel__title { margin-bottom: 14px; font-size: 24px; line-height: 29px; }
	:root .vp-carousel__track.vp-grid { gap: 10px; }
	.vp-carousel__track > .vp-pcard { flex-basis: calc((100% - 20px) / 2.5); }
	.vp-carousel__track--cats > .vp-subcats__item { flex-basis: calc((100% - 20px) / 2.5); padding: 10px 10px 12px; }
	.vp-carousel__track--cats .vp-subcats__label { font-size: 14px; line-height: 17px; }
	.vp-carousel__half { display: none; }
	.vp-carousel__body::after { content: ""; position: absolute; z-index: 2; top: 0; right: -1px; bottom: 0; width: 22%; background: linear-gradient(to right, rgba(250, 250, 250, 0), rgba(250, 250, 250, .92) 75%); pointer-events: none; transition: opacity .2s; }
	.vp-carousel__body.is-end::after { opacity: 0; }
}
/* телефон: карточка компактная во всех сетках плиткой — каталог по 2 в ряд, карусели, «Подарки близким»
   (фото, название, вес, цена, «В корзину»); количество — в самой карточке товара */
@media (max-width: 599px) {
	:root .vp-grid[data-view="grid"] .vp-pcard { padding-top: 0; }
	:root .vp-grid[data-view="grid"] .vp-pcard__body { padding: 10px 8px 8px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__title { font-size: 14px; line-height: 17px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	:root .vp-grid[data-view="grid"] .vp-pcard__params,
	:root .vp-grid[data-view="grid"] .vp-pcard__choice-label,
	:root .vp-grid[data-view="grid"] .vp-qty,
	:root .vp-grid[data-view="grid"] .vp-pcard__oneclick { display: none; }
	:root .vp-grid[data-view="grid"] .vp-pcard__buy { padding-top: 8px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__choice .vp-select { height: 32px; padding: 6px 28px 6px 10px; background-position: right 8px center; background-size: 16px; font-size: 13px; line-height: 16px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__choice + .vp-pcard__price { margin-top: 8px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__price { margin-top: 0; font-size: 24px; line-height: 29px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__unit { font-size: 12px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__row { margin-top: 8px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__add { width: 100%; height: 32px; padding: 6px 8px; font-size: 12px; line-height: 14px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__fav { top: 6px; right: 6px; width: 30px; height: 30px; }
	:root .vp-grid[data-view="grid"] .vp-pcard__badge { top: 6px; left: 6px; }
}
}

/* главная — белый фон: карточкам в блоках тонкая рамка, засветление края — белое */
.vp-home .vp-carousel .vp-pcard, .vp-home .vp-carousel .vp-subcats__item { box-shadow: 0 0 0 1px rgba(93, 66, 52, .1); }
@media (max-width: 999px) {
	.vp-home .vp-carousel__body::after { background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, .92) 75%); }
}

/* ----- «Подарки близким»: сетка по рядам и кнопка «Показать ещё» на всю ширину (layout "more") ----- */
:root body .vp-morelist__grid.vp-grid[data-view] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.vp-morelist__grid > .vp-pcard[hidden] { display: none; }
.vp-morelist__more {
	display: flex; align-items: center; justify-content: center; width: 100%; height: 51px; margin-top: 20px; padding: 0 20px;
	border: 0; border-radius: 4px; background: var(--vp-honey-10); color: var(--vp-honey);
	font: 700 16px/19px var(--wp--preset--font-family--primary); text-transform: uppercase; cursor: pointer; transition: background-color .2s, color .2s;
}
.vp-morelist__more:hover { background: var(--vp-honey); color: #fff; }
.vp-morelist__more:disabled { opacity: .6; cursor: default; }
.vp-morelist__more[hidden] { display: none; }
@media (min-width: 1000px) and (max-width: 1199px) {
	:root body .vp-morelist__grid.vp-grid[data-view] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 999px) {
	:root body .vp-morelist__grid.vp-grid[data-view] { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	.vp-morelist__more { height: 45px; margin-top: 14px; font-size: 14px; line-height: 17px; }
}

/* ----- Товары: плитка (по умолчанию) ----- */
.vp-grid { display: grid; grid-template-columns: repeat(3, 287px); gap: 26px; }
.vp-grid__empty { grid-column: 1 / -1; margin: 0; padding: 40px 0; text-align: center; }
.vp-grid__empty--none { padding: 0; text-align: left; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-pcard { position: relative; display: flex; flex-direction: column; min-width: 0; }
/* фото с плашкой («Новинка») и «в избранное» поверх, как на Wildberries (28.09.2026; раньше — над фото) */
.vp-pcard__pic { position: relative; flex: none; border-radius: 4px 4px 0 0; overflow: hidden; }
.vp-pcard__pic > .vp-pcard__media { width: 100%; }
.vp-pcard__fav {
	position: absolute;
	z-index: 2;
	top: 8px;
	right: 8px;
	width: 34px;
	height: 34px;
	padding: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: var(--vp-brown);
	box-shadow: 0 1px 4px rgba(93, 66, 52, .15);
}
.vp-pcard__fav.is-active { color: var(--vp-honey); }
.vp-pcard__media { display: block; aspect-ratio: 1; overflow: hidden; }
.vp-pcard__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .3s; }
.vp-pcard:hover .vp-pcard__image { transform: scale(1.03); }
.vp-pcard__body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 12px 20px 20px; }
.vp-pcard__title { display: block; color: var(--vp-brown); font-size: 18px; line-height: 22px; font-weight: 700; } /* у старого сайта шрифт «16» = Alegreya Sans Bold */
.vp-pcard__title:hover { color: var(--vp-honey); }
/* под названием одной строкой (28.09): наличие из МоегоСклада слева («В наличии: N шт» зелёным, «Нет в наличии» серым),
   код товара справа; не влезают — код переносится вниз, тоже вправо */
/* «★ 4,8 · 34 отзыва   12 вопросов» под названием (28–29.09, как во вкладках; ссылки — на отзывы / вопросы товара) */
.vp-pcard__rating { display: flex; flex-wrap: wrap; align-items: center; gap: 2px 12px; margin-top: 6px; font-size: 14px; line-height: 17px; }
.vp-pcard__rating .vp-rating__link { display: inline-flex; align-items: center; gap: 4px; color: var(--vp-brown); text-decoration: none; }
.vp-pcard__rating .vp-rating__star { color: #F2A93B; font-size: 15px; }
.vp-pcard__rating .vp-rating__sep, .vp-pcard__rating .vp-rating__count { color: var(--vp-brown-70); }
.vp-pcard__rating .vp-rating__link:hover .vp-rating__count { color: var(--vp-honey); }
.vp-pcard__meta { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; margin-top: 6px; font-size: 14px; line-height: 17px; }
.vp-pcard__stock { color: var(--vp-brown-70); }
.vp-pcard__stock.is-in { color: var(--wp--preset--color--success); }
.vp-pcard__code { margin-left: auto; color: var(--vp-brown-70); white-space: nowrap; }
/* узкая плитка (телефон — 2 в ряд): «Код: 612» и шрифт чуть меньше, чтобы наличие и код вошли в одну строку */
.vp-pcard__body { container-type: inline-size; }
@container (max-width: 240px) {
	.vp-pcard__code-w { display: none; }
	.vp-pcard__meta { column-gap: 8px; font-size: 13px; line-height: 16px; }
}
.vp-pcard__params { display: none; }
.vp-pcard__buy { margin-top: auto; padding-top: 20px; }
.vp-pcard__choice { display: block; margin: 0; }
.vp-pcard__choice-label { display: block; margin-bottom: 4px; font-size: 16px; line-height: 19px; }
:root select.vp-select {
	width: 100%;
	height: 39px;
	padding: 10px 40px 10px 20px;
	border: 0;
	border-radius: 4px;
	box-shadow: 0 0 0 1px var(--vp-honey-10);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23D39750' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 16px center / 24px no-repeat; /* медовая стрелка 12px, как у старого */
	color: var(--vp-honey);
	font: 400 16px/19px var(--wp--preset--font-family--primary);
	appearance: none;
	cursor: pointer;
}
.vp-pcard__price { margin-top: 10px; font-size: 36px; line-height: 43px; font-weight: 700; } /* цена крупнее на 50% (28.09.2026; было 24px) */
/* «за 50 г» после цены (по просьбе заказчика 27.09.2026) */
.vp-pcard__unit { margin-left: 4px; font-size: 14px; line-height: 17px; font-weight: 400; color: var(--vp-brown-70); white-space: nowrap; }
.vp-grid[data-view="table"] .vp-pcard__unit { display: block; margin: 2px 0 0; font-size: 12px; line-height: 14px; }
.vp-pcard__choice + .vp-pcard__price { margin-top: 10px; }
.vp-pcard__buy > .vp-pcard__price:first-child { margin-top: 0; }
.vp-pcard__row { display: flex; gap: 10px; margin-top: 10px; }

.vp-qty {
	display: flex;
	flex: 1 1 auto; /* у старого счётчик занимает всё, что осталось от кнопки «В корзину» */
	min-width: 0;
	height: 33px;
	border-radius: 4px;
	background: var(--vp-honey-10);
	box-shadow: 0 0 0 1px var(--vp-honey-10);
}
.vp-qty__btn { position: relative; flex: 0 0 37px; padding: 0; border: 0; background: none; color: var(--vp-honey); font-size: 0; line-height: 33px; cursor: pointer; }
/* «−» и «+» — значки 14px толщиной 2px, как у старого (текстовые знаки выходили мельче и тоньше) */
.vp-qty__btn::before { content: ""; position: absolute; inset: 0; margin: auto; width: 21px; height: 21px; background: currentColor; -webkit-mask: url(../icons/plus.svg) center / contain no-repeat; mask: url(../icons/plus.svg) center / contain no-repeat; }
.vp-qty__btn[data-vp-qty="-1"]::before { -webkit-mask-image: url(../icons/minus.svg); mask-image: url(../icons/minus.svg); }
:root input.vp-qty__input {
	flex: 1 1 auto;
	width: 48px;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--vp-honey);
	font: 400 16px/33px var(--wp--preset--font-family--primary);
	text-align: center;
	-moz-appearance: textfield;
}
:root input.vp-qty__input::-webkit-outer-spin-button,
:root input.vp-qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.vp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 33px;
	padding: 8px 20px;
	border: 0;
	border-radius: 4px;
	background: var(--vp-honey);
	color: #fff;
	font: 700 14px/17px var(--wp--preset--font-family--primary);
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.vp-btn:hover { background: var(--vp-honey-light); color: #fff; }
.vp-btn:disabled { opacity: .5; cursor: default; }
.vp-btn--outline { background: transparent; color: var(--vp-honey); box-shadow: inset 0 0 0 1px var(--vp-honey); }
.vp-btn--outline:hover,
.vp-btn--outline.is-added { background: var(--vp-honey); color: #fff; }
.vp-btn--lg { height: 51px; padding: 16px 20px; font-size: 16px; line-height: 19px; }
.vp-pcard__add { flex: 0 0 auto; }
.vp-pcard__oneclick { display: none; }

/* ----- Вид «список» ----- */
.vp-grid[data-view="list"] { grid-template-columns: 1fr; gap: 20px; }
.vp-grid[data-view="list"] .vp-pcard { flex-direction: row; align-items: flex-start; gap: 20px; padding: 20px; }
.vp-grid[data-view="list"] .vp-pcard__media { flex: 0 0 245px; width: 245px; }
.vp-grid[data-view="list"] .vp-pcard__pic { flex: 0 0 245px; width: 245px; border-radius: 4px; }
.vp-grid[data-view="list"] .vp-pcard__body { flex-direction: row; gap: 20px; padding: 0; }
.vp-grid[data-view="list"] .vp-pcard__info { flex: 1 1 auto; min-width: 0; }
.vp-grid[data-view="list"] .vp-pcard__params { display: block; margin-top: 30px; }
.vp-grid[data-view="list"] .vp-pcard__param { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; line-height: 14px; color: var(--vp-brown-50); }
.vp-grid[data-view="list"] .vp-pcard__param + .vp-pcard__param { margin-top: 8px; }
.vp-grid[data-view="list"] .vp-pcard__buy { flex: 0 0 300px; margin: 0; padding: 0; }
.vp-grid[data-view="list"] .vp-pcard__choice + .vp-pcard__price { margin-top: 20px; }
.vp-grid[data-view="list"] .vp-pcard__buy > .vp-pcard__price:first-child { margin-top: 0; }
.vp-grid[data-view="list"] .vp-pcard__row { margin-top: 16px; }
.vp-grid[data-view="list"] .vp-qty { flex: 1 1 auto; height: 35px; }
.vp-grid[data-view="list"] .vp-pcard__add { flex: 0 0 113px; height: 35px; }
.vp-grid[data-view="list"] .vp-pcard__oneclick {
	display: block;
	width: 100%;
	height: 33px;
	margin-top: 8px;
	border: 0;
	border-radius: 4px;
	background: var(--vp-honey-10);
	color: var(--vp-honey);
	font: 400 14px/17px var(--wp--preset--font-family--primary);
	cursor: pointer;
}
.vp-grid[data-view="list"] .vp-pcard__oneclick:hover { background: rgba(211,151,80,.2); }

/* ----- Вид «таблица» ----- */
.vp-grid[data-view="table"] { grid-template-columns: 1fr; gap: 8px; }
.vp-grid[data-view="table"] .vp-pcard { flex-direction: row; align-items: center; gap: 17px; padding: 10px; min-height: 70px; }
.vp-grid[data-view="table"] .vp-pcard__fav,
.vp-grid[data-view="table"] .vp-pcard__choice,
.vp-grid[data-view="table"] .vp-qty,
.vp-grid[data-view="table"] .vp-pcard__params,
.vp-grid[data-view="table"] .vp-pcard__oneclick { display: none; }
.vp-grid[data-view="table"] .vp-pcard__media { flex: 0 0 50px; width: 50px; }
.vp-grid[data-view="table"] .vp-pcard__pic { flex: 0 0 50px; width: 50px; }
.vp-grid[data-view="table"] .vp-pcard__body { flex-direction: row; align-items: center; padding: 0; }
.vp-grid[data-view="table"] .vp-pcard__info { flex: 1 1 auto; }
.vp-grid[data-view="table"] .vp-pcard__buy { display: flex; flex-direction: row-reverse; align-items: center; gap: 0; margin: 0; padding: 0; }
.vp-grid[data-view="table"] .vp-pcard__price { flex: 0 0 140px; margin: 0; font-size: 24px; font-weight: 400; text-align: right; }
.vp-grid[data-view="table"] .vp-pcard__row { margin: 0; }
.vp-grid[data-view="table"] .vp-pcard__add { width: 114px; height: 35px; }

/* ----- «Показать еще» и страницы ----- */
.vp-pager { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.vp-pager__more.is-loading { opacity: .6; pointer-events: none; }
.vp-pager__pages { display: flex; align-items: center; justify-content: center; gap: 16px; }
.vp-pager__page { padding: 12px; font-size: 14px; line-height: 17px; color: var(--vp-brown); }
.vp-pager__page.is-current,
.vp-pager__page:hover { color: var(--vp-honey); }

/* ----- Описание категории ----- */
.vp-catalog-desc { font-size: 16px; line-height: 24px; text-align: justify; }
.vp-catalog-desc p { margin: 0 0 16px; }
.vp-catalog-desc h2 { margin: 16px 0 16px; font-size: 28px; line-height: 34px; text-align: left; }
.vp-catalog-desc h3 { margin: 30px 0 12px; font-size: 22px; line-height: 27px; text-align: left; }
.vp-catalog-desc ul, .vp-catalog-desc ol { margin: 0 0 16px; padding-left: 20px; }
.vp-catalog-desc li + li { margin-top: 16px; }
/* маркеры как на старом сайте: «—» и «1.» у левого края, текст с отступом 20px */
.vp-catalog-desc ul, .vp-catalog-desc ol { list-style: none; }
.vp-catalog-desc ol { counter-reset: vp-desc-li; }
.vp-catalog-desc li { position: relative; }
.vp-catalog-desc ol > li { counter-increment: vp-desc-li; }
.vp-catalog-desc ul > li::before { content: "—"; position: absolute; left: -20px; }
.vp-catalog-desc ol > li::before { content: counter(vp-desc-li) "."; position: absolute; left: -20px; }

/* Соседние категории: плашки рядом и делят ширину по длине текста (одна — во всю ширину), как на старом сайте */
.vp-termnav { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 20px !important; } /* не помещаются рядом — друг под другом */
.vp-termnav > .vp-prodnav__item { flex: 1 1 auto; }
.vp-termnav .vp-prodnav__item { padding: 16px 20px; }
.vp-termnav .vp-prodnav__item--prev { text-align: left; }
.vp-termnav .vp-prodnav__item--prev + .vp-prodnav__item--next { margin-top: 0; }
.vp-catalog-page { padding-bottom: 0; }

/* ===== «Остались вопросы?» ===== */
/* На кремовом «бумажном» фоне во всю ширину экрана — на всех страницах (главная — 27.09.2026 по образцу заказчика,
   остальные — 29.09.2026, просьба заказчика «такую же заливку, как на главной»). Фон — ::before шириной 100vw; чтобы он
   не давал прокрутку вбок, у обёртки сайта overflow-x: clip (не мешает закреплённой шапке, в отличие от hidden). */
.wp-site-blocks, .vp-home { overflow-x: clip; }
.vp-contact { position: relative; isolation: isolate; padding: 60px 16px 70px; }
:root .vp-sections .vp-contact, :root .vp-landing .vp-contact { padding-top: 60px; padding-bottom: 70px; } /* сильнее .vp-sections .vp-contact { padding: 0 } и отступа лендингов */
.vp-home .vp-sections .vp-contact { margin-top: 0 !important; } /* сверху 80px даёт обёртка части */
.vp-contact::before { content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%); background: #FAF6EC url(../img/paper.webp) center / cover no-repeat; } /* та же бумага, что у плашек «Правильный мёд. Он какой?» */
@media (max-width: 999px) {
	.vp-home .vp-sections .vp-contact { margin-top: 5px !important; } /* вместе с обёрткой — 45px */
	:root .vp-contact, :root .vp-sections .vp-contact, :root .vp-landing .vp-contact { padding-top: 40px; padding-bottom: 40px; }
}
.vp-contact > * { margin-block: 0; }
.vp-contact__title { margin-top: 0 !important; margin-bottom: 0 !important; font-size: 32px; line-height: 38px; font-weight: 700; }
.vp-script,
.vp-contact__subtitle { font-family: var(--wp--preset--font-family--script); font-weight: 600; }
.vp-contact__subtitle { max-width: 650px !important; margin: 40px auto 0 !important; font-size: 36px; line-height: 40px; color: var(--vp-honey); }

.vp-form { margin: 0; }
/* «Остались вопросы?» (по просьбе заказчика 27.09.2026): Имя, Телефон, согласие и кнопка — столбиком по центру */
.vp-form--col {
	display: flex;
	flex-direction: column;
	gap: 16px;
	width: 100%;
	max-width: 400px !important;
	margin: 50px auto 0 !important;
}
.vp-form--col .vp-form__consent { padding-top: 4px; }
.vp-form--col .vp-consent { align-items: flex-start; }
.vp-form--col .vp-consent span { flex: 0 1 auto; }
.vp-form--col .vp-consent__req { margin: 3px 0 0; }
.vp-form--col .vp-form__submit { width: 100%; margin-top: 8px; }
.vp-form--col .vp-form__msg { margin-top: 0; }
:root input.vp-input--lg {
	height: 51px;
	padding: 16px 20px;
	border-radius: 4px;
	background: transparent;
	box-shadow: inset 0 0 0 1px rgba(93,66,52,.2);
}
:root input.vp-input--lg::placeholder { color: rgba(93,66,52,.32); }
.vp-consent { display: flex; align-items: center; gap: 8px; margin-top: 0; font-size: 16px; line-height: 19px; cursor: pointer; }
/* WooCommerce на страницах магазина даёт всем label отступ снизу 0.7em (.woocommerce-page label) — у наших полей его нет */
.woocommerce-page label:where(.vp-consent, .vp-field, .vp-pcard__choice, .vp-hp), .woocommerce-page .vp-checks label { margin-bottom: 0; }
:root .vp-consent input {
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin: 0;
	border-radius: 4px;
	border: 0;
	background: transparent;
	box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .2);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}
:root .vp-consent input:checked { background: var(--vp-honey) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 11px no-repeat; }
/* отметка «обязательно» после текста согласия — как на старом сайте */
.vp-consent__req { flex: 0 0 12px; width: 12px; height: 12px; margin-left: -4px; border-radius: 50%; background: rgba(211, 151, 80, .15); box-shadow: 0 0 0 1px rgba(211, 151, 80, .2); position: relative; }
.vp-consent__req::before { content: ""; position: absolute; inset: 0; margin: auto; width: 8px; height: 8px; background: var(--vp-honey); -webkit-mask: url(../icons/check.svg) center / contain no-repeat; mask: url(../icons/check.svg) center / contain no-repeat; }
.vp-consent__link { display: inline-block; margin-top: 8px; font-size: 16px; line-height: 19px; color: var(--vp-brown-50); text-decoration: underline; text-underline-offset: 3px; }
.vp-form__msg { margin: 12px 0 0; font-size: 14px; }
.vp-form__msg:empty { display: none; }
.vp-form__msg.is-ok { color: var(--wp--preset--color--success); }
.vp-form__msg.is-error { color: var(--wp--preset--color--danger); }
.vp-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.vp-manager { gap: 30px; margin-top: 70px !important; }
.vp-manager__photo { margin: 0; padding: 4px; border-radius: 50%; box-shadow: 0 0 0 2px var(--vp-honey); }
.vp-manager__photo img { width: 180px; height: 180px; border-radius: 50%; display: block; object-fit: cover; }
.vp-manager__text { gap: 0; flex: 0 0 334px; width: 334px; }
/* мессенджеры — те же круглые фирменные значки, что в подвале (style.css .vp-footer__msg) */
.vp-manager__msg { display: flex; gap: 12px; padding-top: 10px; } /* margin обнуляет раскладка группы */
.vp-manager__text p { margin: 0; font-size: 20px; line-height: 24px; width: 336px; max-width: none; }
.vp-manager__name { font-weight: 700; }
.vp-manager__link { margin-top: 8px !important; }
.vp-manager__link + .vp-manager__link { margin-top: 8px !important; }
.vp-manager__link a { color: var(--vp-honey); }

/* ===== Окна ===== */
.vp-modal-open { overflow: hidden; }
.vp-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	background: rgba(93, 66, 52, .24); /* как на старом сайте */
}
.vp-modal[hidden] { display: none; }
.vp-modal__box { position: relative; width: 100%; max-width: 440px; padding: 40px; border-radius: 8px; background: #fff; }
.vp-modal__close { position: absolute; top: 16px; right: 16px; padding: 0; border: 0; background: none; color: var(--vp-brown); cursor: pointer; }
.vp-modal__title { margin: 0 0 24px; font-size: 24px; line-height: 29px; font-weight: 700; }
.vp-modal__product { margin: -12px 0 20px; color: var(--vp-brown-70); }
.vp-form--stack { display: flex; flex-direction: column; gap: 16px; }
.vp-field { display: flex; flex-direction: column; gap: 6px; }
.vp-field__label { font-size: 16px; line-height: 19px; }

/* ===== Уведомление ===== */
.vp-toast {
	position: fixed;
	z-index: 1001;
	right: 20px;
	bottom: 20px;
	max-width: 340px;
	padding: 16px 20px;
	border-radius: 8px;
	background: var(--vp-brown);
	color: #fff;
	font-size: 16px;
	line-height: 22px;
	box-shadow: 0 10px 30px -10px rgba(0,0,0,.4);
	opacity: 0;
	transform: translateY(10px);
	pointer-events: none;
	transition: opacity .2s, transform .2s;
}
.vp-toast.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.vp-toast a { color: var(--vp-honey-light); margin-left: 6px; }

/* «Заявка на прайс» (оптовые продажи): поля с подчёркиванием, как на старом сайте */
.vp-modal--request .vp-modal__box { max-width: 500px; padding: 16px; border-radius: 4px; }
.vp-modal--request .vp-modal__close { top: 8px; right: 8px; }
.vp-modal--request .vp-modal__title { margin: 0 0 16px; font-size: 32px; line-height: 38px; text-align: center; }
.vp-form--request { display: flex; flex-direction: column; }
:root .vp-form--request .vp-uline {
	height: 31px;
	margin: 0 0 20px;
	padding: 0 20px 12px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08);
	color: var(--vp-brown);
	font: 400 16px/19px var(--wp--preset--font-family--primary);
}
:root .vp-form--request .vp-uline:focus { outline: none; box-shadow: inset 0 -1px 0 var(--vp-honey); }
.vp-form--request .vp-uline::placeholder, .vp-form--request .vp-area::placeholder { color: rgba(93, 66, 52, .32); opacity: 1; }
:root .vp-form--request .vp-area {
	height: 80px;
	margin: 0 0 20px;
	padding: 12px 20px;
	border: 0;
	border-radius: 4px;
	box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .1);
	background: transparent;
	color: var(--vp-brown);
	font: 400 16px/19px var(--wp--preset--font-family--primary);
	resize: vertical;
}
:root .vp-form--request .vp-area:focus { outline: none; box-shadow: inset 0 0 0 1px var(--vp-honey); }
.vp-form--request .vp-consent__link { margin-top: 8px; align-self: flex-start; }
.vp-modal--request .vp-consent__req,
.vp-form__req::before { flex: 0 0 4px; width: 4px; height: 4px; margin-left: -4px; border-radius: 50%; background: rgb(227, 66, 66); }
.vp-modal--request .vp-consent__req::before { display: none; }
.vp-form__note { margin: 16px 0 0; font-size: 12px; line-height: 14px; color: var(--vp-brown-50); }
.vp-form__note a { color: inherit; }
.vp-btn--block { width: 100%; margin-top: 16px; }
.vp-form__req { display: flex; align-items: center; gap: 4px; margin: 16px 0 0; font-size: 12px; line-height: 14px; color: var(--vp-brown-50); }
.vp-form__req::before { content: ""; margin-left: 0; }

/* блок согласия: ровно «строка + 8px + ссылка», без лишней высоты строки */
.vp-form__consent { display: flex; flex-direction: column; align-items: flex-start; }

/* ===================== Телефон: «Остались вопросы?» — поля столбиком, менеджер под формой ===================== */
@media (max-width: 999px) {
	.vp-contact { padding: 0 10px 40px; }
	/* на обычных страницах старого сайта блок уже на 10px с каждой стороны (кроме «О нас», «Экскурсий» и «Юридической информации») */
	body.page:not(.home):not(.vp-page-paseka):not(.vp-page-tour):not(.vp-page-legal):not(.vp-page-prays-list):not(.vp-page-clauses) .vp-contact { padding-left: 20px; padding-right: 20px; }
	.vp-contact > * { max-width: none !important; }
	.vp-contact__subtitle { max-width: none !important; font-size: 28px; line-height: 41px; }
	.vp-contact .vp-form--col { gap: 20px; }
	.vp-contact .vp-form--col .vp-form__submit { height: 49px; padding: 16px 20px; font-size: 14px; line-height: 17px; }
	.vp-contact .vp-manager { flex-direction: column; align-items: center !important; gap: 20px; margin-top: 30px !important; }
	.vp-manager__text { flex: 0 0 auto; width: 100%; align-self: stretch; }
	.vp-manager__text p { width: auto; }
	/* текст и значки мессенджеров под фото — по центру, как фото (просьба заказчика 30.09.2026) */
	:root .vp-contact .vp-manager__text { align-items: center; text-align: center; }
	.vp-contact .vp-manager__msg { justify-content: center; }
}

/* ===================== Телефон: каталог и карточка товара в списке ===================== */
.vp-filters__toggle { display: none; }
@media (max-width: 999px) {
	.vp-catalog-page { padding: 23px 10px 20px; }
	.vp-catalog-page > .vp-termnav { margin: 20px 10px 0 !important; row-gap: 10px; }
	:root .vp-termnav { margin-left: 10px !important; margin-right: 10px !important; } /* у старого соседние разделы — с полями 20px от края экрана */
	.vp-termnav .vp-prodnav__item--next, .vp-termnav .vp-prodnav__item--next .vp-prodnav__label { text-align: right; }
	.vp-catalog-page > * { max-width: none !important; }
	.vp-catalog-page > .vp-breadcrumbs { margin: 0 0 10px !important; padding: 0 10px; }
	.vp-catalog-title { padding-inline: 10px; font-size: 32px; line-height: 38px; text-align: center; }
	.vp-catalog-page > .vp-catalog-title + .vp-catalog-layout { margin-top: 36px !important; }
	.vp-sale .vp-catalog-page { padding-bottom: 40px; }
	/* как на старом сайте: плитки по 190px, второй столбец уходит за край экрана (без прокрутки страницы вбок) */
	.vp-subcats { display: grid; grid-template-columns: 190px 190px; gap: 8px; margin-top: 16px !important; width: auto !important; margin-left: 0 !important; margin-right: -10px !important; overflow: hidden; }
	.vp-subcats__item { gap: 10px; width: auto; min-width: 0; padding: 16px 20px; border-radius: 4px; box-sizing: border-box; }
	.vp-subcats__img, .vp-subcats__img img { width: 150px; height: 75px; }
	.vp-catalog-page > .vp-catalog-layout { flex-direction: column; gap: 0; width: auto !important; margin: 20px 0 0 !important; align-items: stretch !important; }
	.vp-filters { position: static; flex: none; width: auto; padding: 0; background: none; box-shadow: none; }
	.vp-filters__toggle {
		display: inline-flex; align-self: flex-start; height: 33px; padding: 8px 20px; border: 0; border-radius: 4px;
		background: var(--vp-honey); color: #fff; font: 700 14px/17px var(--wp--preset--font-family--primary); text-transform: uppercase; cursor: pointer;
	}
	.vp-filters__form { display: none; margin-top: 16px; padding: 16px; border-radius: 4px; background: #fff; }
	.vp-filters.is-open .vp-filters__form { display: block; }
	.vp-catalog-main { width: auto; min-width: 0; margin-top: 20px !important; }
	.vp-toolbar { display: block; }
	.vp-toolbar__right { display: none; }
	.vp-toolbar__sort { display: inline-block; }
	.vp-toolbar__sort .vp-dd__toggle { height: 43px; padding: 12px 20px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .08); gap: 8px; }
	.vp-grid, .vp-grid[data-view] { grid-template-columns: 1fr; gap: 8px; margin-top: 16px; }
	.vp-grid[data-view] .vp-pcard { flex-direction: column; align-items: stretch; gap: 0; padding: 0; min-height: 0; }
	.vp-grid[data-view] .vp-pcard__fav { display: flex; top: 8px; right: 8px; }
	.vp-grid[data-view] .vp-pcard__media, .vp-grid[data-view] .vp-pcard__pic { flex: none; width: 100%; }
	.vp-grid[data-view] .vp-pcard__body { flex-direction: column; gap: 0; padding: 22px 10px 10px; }
	.vp-pcard__title { display: block; font-size: 18px; line-height: 22px; font-weight: 700; }
	.vp-grid[data-view] .vp-pcard__params { display: block; margin-top: 13px; }
	.vp-grid[data-view] .vp-pcard__param { display: flex; justify-content: space-between; gap: 10px; font-size: 12px; line-height: 14px; color: var(--vp-brown-50); }
	.vp-grid[data-view] .vp-pcard__buy { display: block; flex: none; margin: 0; padding-top: 20px; }
	.vp-grid[data-view] .vp-pcard__choice { display: block; }
	.vp-grid[data-view] .vp-pcard__choice .vp-select { height: 39px; }
	.vp-grid[data-view] .vp-pcard__price { flex: none; margin-top: 10px; font-size: 36px; line-height: 43px; font-weight: 700; text-align: left; }
	.vp-grid[data-view] .vp-pcard__row { display: flex; align-items: center; margin-top: 10px; }
	.vp-grid[data-view] .vp-qty { display: flex; flex: 1 1 auto; min-width: 0; height: 33px; } /* счётчик — всё, что осталось от «В корзину» (218px на телефоне) */
	.vp-grid[data-view] .vp-pcard__add { flex: 0 0 auto; width: auto; height: 35px; font-size: 16px; }
	.vp-grid[data-view] .vp-pcard__choice-label { margin: 0 0 4px; }
	.vp-grid[data-view] .vp-pcard__param + .vp-pcard__param { margin-top: 13px; }
	.vp-grid[data-view] .vp-pcard__param:nth-child(n+3) { display: none; } /* на телефоне старый сайт показывает не больше двух характеристик */
	.vp-grid[data-view] .vp-pcard__info:has(.vp-pcard__params) + .vp-pcard__buy { padding-top: 22px; }
	.vp-grid[data-view] .vp-pcard__buy > .vp-pcard__price:first-child { margin-top: 0; }
	.vp-grid[data-view] .vp-pcard__oneclick { display: none; }
	.vp-catalog-main > .vp-pager, .vp-catalog-main > .wp-block-vp-catalog-pagination { margin-top: 32px !important; }
	.vp-catalog-main > .vp-catalog-desc { margin-top: 32px !important; }
}

/* ===== «Подарочные решения для корпоративных клиентов» под каталогом «Медовых наборов» (parts/corp-gifts.html) ===== */
.vp-corp { padding-top: 50px; } /* часть шаблона: у Ollie margin-top частей обнулён — отступ внутри */
.vp-corp > * { margin: 0; }
.vp-corp .vp-corp__squiggle { margin: 0 auto; }
.vp-corp__squiggle img { display: block; width: 760px; max-width: 100%; height: auto; }
.vp-corp .vp-corp__title { margin: 30px 0 0; font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: 0; color: var(--vp-brown); }
.vp-corp__row { display: flex; align-items: center; gap: 30px; margin-top: 40px !important; }
.vp-corp__row > * { flex: 1 1 0; width: auto; min-width: 0; margin: 0 !important; } /* две равные колонки: 575px на 1180 */
.vp-corp .vp-corp__text > * { margin: 0; }
.vp-corp .vp-corp__lead { font-size: 32px; line-height: 38px; font-weight: 700; }
.vp-corp__text .wp-block-buttons { margin-top: 30px; }
.vp-corp__btn .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; width: 200px; height: 33px; padding: 8px 20px;
	border: 0; border-radius: 4px; background: var(--vp-honey); color: #fff;
	font: 700 14px/17px var(--wp--preset--font-family--primary); text-transform: uppercase; text-decoration: none;
}
.vp-corp__btn .wp-block-button__link:hover { background: var(--vp-honey-light, #eba551); }
.vp-slider--corp { --vp-per-view: 1; --vp-gap: 20px; }
.vp-corp .vp-corp__slide > * { margin: 0; }
.vp-corp__img img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 8px; }
.vp-corp .vp-corp__cap { margin-top: 10px; font-size: 16px; line-height: 19px; }
.vp-corp__features { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; margin-top: 30px !important; }
.vp-corp .vp-corp__features > * { margin: 0; }
.vp-corp__feature { display: flex; align-items: flex-start; gap: 20px; }
.vp-corp__feature > * { margin: 0 !important; }
.vp-corp__icon { flex: 0 0 40px; }
.vp-corp__icon img { display: block; width: 40px; height: 40px; }
.vp-corp .vp-corp__fbody > * { margin: 0; }
.vp-corp .vp-corp__ftitle { font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-corp .vp-corp__ftext { margin-top: 8px; font-size: 16px; line-height: 24px; }
@media (max-width: 999px) {
	/* телефон: заголовок, текст, листаемые карточки 275px (следующая выглядывает), кнопка на всю ширину, преимущества столбиком */
	.vp-corp__row { flex-direction: column; align-items: stretch; gap: 0; margin-top: 30px !important; }
	.vp-corp__row > * { flex: none; width: auto; }
	.vp-corp__text { display: contents; }
	.vp-corp .vp-corp__lead { order: 1; font-size: 20px; line-height: 24px; font-weight: 400; text-align: center; }
	.vp-slider--corp { order: 2; --vp-gap: 16px; margin: 30px -10px 0 0 !important; }
	.vp-slider--corp .vp-slider__track > * { flex: 0 0 275px; }
	.vp-slider--corp .vp-slider__btn, .vp-slider--corp .vp-slider__dots { display: none !important; }
	.vp-corp__text .wp-block-buttons { order: 3; margin-top: 30px !important; }
	.vp-corp__btn, .vp-corp__btn .wp-block-button__link { width: 100%; }
	.vp-corp__features { grid-template-columns: minmax(0, 1fr); gap: 30px; }
}

/* ===== Форма «Ваш отзыв» (страница «Отзывы клиентов») — как на старом сайте ===== */
.vp-review-form > * { margin: 0; }
.vp-review-form .vp-review-form__lead { font-size: 16px; line-height: 19px; }
.vp-review-form__toggle {
	display: inline-flex; align-items: center; height: 33px; margin-top: 30px !important; padding: 8px 20px;
	border: 0; border-radius: 4px; background: var(--vp-honey); color: #fff;
	font: 700 14px/17px var(--wp--preset--font-family--primary); text-transform: uppercase; cursor: pointer;
}
.vp-review-form__toggle:hover { background: rgba(211, 151, 80, .9); }
.vp-rform { display: flex; flex-direction: column; margin-top: 30px !important; padding: 20px; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .1); }
.vp-rform[hidden] { display: none; }
.vp-rform > * { margin: 0; }
.vp-rform .vp-rform__title { margin-bottom: 16px; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-rfield { display: flex; flex-direction: column; gap: 4px; margin: 0 0 20px !important; }
.vp-rfield__label { font-size: 12px; line-height: 14px; color: var(--vp-brown); }
.vp-rfield__req { display: inline-block; width: 4px; height: 4px; margin-left: 4px; border-radius: 50%; background: rgb(227, 66, 66); vertical-align: top; position: relative; top: 5px; }
:root input.vp-rline {
	height: 31px; padding: 0 20px 12px 0; border: 0; border-radius: 0; background: transparent;
	box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08); color: var(--vp-brown); font: 400 16px/19px var(--wp--preset--font-family--primary);
}
:root input.vp-rline:focus { outline: none; box-shadow: inset 0 -1px 0 var(--vp-honey); }
.vp-rline::placeholder, .vp-rarea::placeholder { color: rgba(93, 66, 52, .32); opacity: 1; }
:root textarea.vp-rarea {
	height: 80px; padding: 12px 20px; border: 0; border-radius: 4px; background: transparent;
	box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .1); color: var(--vp-brown); font: 400 16px/19px var(--wp--preset--font-family--primary); resize: none;
}
:root textarea.vp-rarea:focus { outline: none; box-shadow: inset 0 0 0 1px var(--vp-honey); }
.vp-rdd .vp-rdd__toggle {
	display: flex; align-items: center; justify-content: space-between; width: 100%; height: 43px; padding: 12px 20px;
	border-radius: 4px; background: transparent; box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .08); color: var(--vp-brown); font-size: 16px; line-height: 19px;
}
.vp-rdd__value.is-empty { color: rgba(93, 66, 52, .5); }
.vp-rdd .vp-rdd__menu { top: calc(100% + 10px); left: 0; min-width: 160px; padding: 8px 0; }
.vp-rdd__menu a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 6px 14px; }
.vp-rdd__reset svg { flex: none; color: #000; }
.vp-rfiles { position: relative; display: inline-flex; align-self: flex-start; margin-top: 6px; cursor: pointer; }
.vp-rfiles input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.vp-rfiles__btn { display: inline-flex; align-items: center; height: 31px; padding: 6px 12px; border-radius: 6px; background: #fff; box-shadow: 0 0 0 1px rgba(0, 0, 0, .05); color: rgba(0, 0, 0, .5); font-size: 16px; line-height: 19px; }
.vp-rform__consent { display: flex; flex-direction: column; align-items: flex-start; }
.vp-rform .vp-consent__req { flex: 0 0 4px; width: 4px; height: 4px; margin-left: -4px; border-radius: 50%; background: rgb(227, 66, 66); box-shadow: none; align-self: flex-start; margin-top: 8px; }
.vp-rform .vp-consent__req::before { display: none; }
.vp-rform__submit {
	align-self: flex-start; height: 33px; margin-top: 16px !important; padding: 8px 20px; border: 0; border-radius: 4px;
	background: var(--vp-honey); color: #fff; font: 700 14px/17px var(--wp--preset--font-family--primary); text-transform: uppercase; cursor: pointer;
}
.vp-rform__submit:hover { background: rgba(211, 151, 80, .9); }
.vp-rform .vp-rform__note { margin-top: 16px; font-size: 16px; line-height: 19px; }
.vp-rform__note a { color: inherit; }
.vp-rdd__toggle svg { color: #000; }

/* Метка товара «Новинка»: на карточке — в левом верхнем углу, на странице товара — над названием */
.vp-pcard__badge,
.vp-badge { padding: 2px 6px; border-radius: 4px; background: var(--vp-honey); color: #fff; font: 700 12px/14px var(--wp--preset--font-family--primary); }
.vp-pcard__badge { position: absolute; z-index: 2; top: 10px; left: 10px; }
.vp-product__info { position: relative; }
/* карточка товара: плашка и «в избранное» — поверх большого фото (блок vp/product-media) */
.vp-pmedia__badge { position: absolute; z-index: 3; top: 14px; left: 14px; margin: 0; padding: 4px 8px; font-size: 13px; line-height: 16px; }
.vp-pmedia__fav { position: absolute; z-index: 3; top: 12px; right: 12px; width: 42px; height: 42px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--vp-brown); box-shadow: 0 2px 8px rgba(93, 66, 52, .18); }
.vp-pmedia__fav.is-active { color: var(--vp-honey); }

/* ===== «Избранное» (/wishlist, блок vp/wishlist) — как у старого: карточки 276px по четыре, если пусто — текст и кнопка ===== */
.vp-wishlist .vp-wishlist__empty[hidden], .vp-wishlist .vp-wishlist__grid[hidden] { display: none; }
.vp-wishlist__empty > * { margin: 0; }
.vp-wishlist__text { font-size: 16px; line-height: 19px; }
.vp-wishlist__empty > .vp-wishlist__btn { margin-top: 16px; }
.vp-wishlist__btn a {
	display: inline-flex; align-items: center; height: 33px; padding: 8px 20px; border-radius: 4px; background: var(--vp-honey); color: #fff;
	font: 700 14px/17px var(--wp--preset--font-family--primary); text-transform: uppercase; text-decoration: none;
}
.vp-wishlist__btn a:hover { background: rgba(211, 151, 80, .9); color: #fff; }
.vp-wishlist__grid { display: grid; grid-template-columns: repeat(4, 276px); gap: 26px; }
@media (max-width: 1271px) {
	.vp-wishlist__grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
}
@media (max-width: 999px) {
	.vp-wishlist__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-inline: 10px; }
	.vp-wishlist__empty { padding-inline: 10px; }
}

/* ===================== Планшет (600–999px) — каталог как у старого: плитки разделов и товары по две в ряд ===================== */
@media (min-width: 600px) and (max-width: 999px) {
	.vp-subcats { grid-template-columns: 1fr 1fr; margin-right: 0 !important; }
	.vp-grid, .vp-grid[data-view] { grid-template-columns: 1fr 1fr; }
	.vp-corp__features { grid-template-columns: repeat(2, minmax(0, 1fr)); } /* корпоративные подарки: преимущества 2×2 */
	/* в ряду карточки одной высоты — цена и кнопки прижаты к низу, как у старого */
	.vp-grid[data-view] .vp-pcard__body { flex: 1 1 auto; display: flex; }
	.vp-grid[data-view] .vp-pcard__buy { margin-top: auto; }
}

/* ===================== Планшет горизонтально (1000–1199px) — каталог как у старого: без боковой панели,
   «Показать фильтр» во всю ширину, товары по три в ряд ===================== */
@media (min-width: 1000px) and (max-width: 1199px) {
	.vp-catalog-page > .vp-catalog-layout { flex-direction: column; gap: 0; width: auto !important; align-items: stretch !important; }
	.vp-filters { position: static; flex: none; width: auto; padding: 0; background: none; box-shadow: none; }
	.vp-filters__toggle {
		display: flex; justify-content: center; align-items: center; width: 100%; height: 33px; padding: 8px 20px; border: 0; border-radius: 4px;
		background: var(--vp-honey); color: #fff; font: 700 14px/17px var(--wp--preset--font-family--primary); text-transform: uppercase; cursor: pointer;
	}
	.vp-filters__form { display: none; margin-top: 16px; padding: 16px; border-radius: 4px; background: #fff; }
	.vp-filters.is-open .vp-filters__form { display: block; }
	.vp-catalog-main { width: auto; min-width: 0; margin-top: 26px !important; }
	.vp-grid, .vp-grid[data-view="grid"] { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 26px; }
	body .vp-grid[data-view="grid"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.vp-contact { padding-left: 32px; padding-right: 32px; } /* «Остались вопросы?» — в тех же полях 32px */
	.vp-subcats__item { width: auto; min-width: 190px; box-sizing: border-box; } /* длинное название расширяет плитку, а не переносится */
	.vp-subcats__label { white-space: nowrap; }
}

/* ===== Сетки товаров плиткой (по просьбе заказчика 27.09.2026): телефон — 2 в ряд, планшет — 3 ===== */
@media (min-width: 600px) and (max-width: 999px) {
	:root body .vp-grid.vp-grid[data-view="grid"]:not(.vp-carousel__track) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 10px; }
}
@media (max-width: 599px) {
	:root body .vp-grid.vp-grid[data-view="grid"]:not(.vp-carousel__track) { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
/* поля формы «Остались вопросы?» — белые на кремовом фоне (на всех страницах) */
:root .vp-contact input.vp-input--lg,
:root .vp-contact .vp-consent input:not(:checked) { background-color: #fff; }

/* Плитки товаров (каталог, карусели «Хиты продаж», «Подарки близким»): цена и «В корзину» прижаты к низу карточки —
   на ≤999 правило «.vp-grid[data-view] .vp-pcard__buy { margin: 0 }» снимало margin-top: auto (30.09.2026) */
:root .vp-grid[data-view="grid"] .vp-pcard__buy { margin-top: auto; }
