/* Секции страниц (главная и др.): баннер, плитки, слайдеры, карточки «Правильный мёд», награды, отзывы.
   Размеры и отступы сняты со старого сайта (ширина 1440). */

/* ===== Поток секций: между блоками 80px, под заголовком — 40px ===== */
.vp-home { margin: 0; background: #fff; }
.wp-site-blocks > .vp-home { margin-block-start: 0; }
.vp-sections { padding-bottom: 60px; }
.vp-sections.is-layout-constrained > * { margin-block: 0; }
.vp-sections.is-layout-constrained > * + * { margin-block-start: var(--vp-section-gap, 80px); }
.vp-sections.is-layout-constrained > .vp-hero + * { margin-block-start: 50px; }
.vp-sections.is-layout-constrained > .vp-script-title + * { margin-block-start: 40px; }
.vp-sections.is-layout-constrained > .vp-home-h1 + * { margin-block-start: 50px; }
.vp-sections.is-layout-constrained > .vp-reviews-title + .vp-reviews-link { margin-block-start: 0; }
.vp-sections.is-layout-constrained > .vp-reviews-link + * { margin-block-start: 40px; }
.vp-sections.is-layout-constrained > .vp-ach + .vp-slider { margin-block-start: 70px; }
.vp-sections .vp-contact { padding: 0; }
/* секции внутри обычной страницы (О нас и др.): между блоками 70px */
.vp-sections--page { --vp-section-gap: 70px; padding-bottom: 0; }
/* у частей шаблона тема Ollie жёстко обнуляет margin-top (!important) — отступ делаем внутренним */
.vp-sections.is-layout-constrained > .wp-block-template-part { padding-top: var(--vp-section-gap, 80px); }

.vp-sections figure.wp-block-image { margin: 0; }
.vp-sections p { margin: 0; }

/* Заголовки секций — рукописный шрифт */
:root .vp-script-title {
	font-family: var(--wp--preset--font-family--script);
	font-weight: 600;
	font-size: 52px;
	line-height: 40px;
	color: var(--vp-honey);
	letter-spacing: 0;
}
:root .vp-script-title--xl { font-size: 64px; line-height: 70px; }

/* ===== Первый экран ===== */
.vp-hero {
	position: relative;
	height: 810px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	color: #fff;
}
.vp-hero.is-layout-constrained > * { margin-block: 0; position: relative; z-index: 1; }
.vp-hero > .vp-hero__bg { position: absolute; inset: 0; z-index: 0; max-width: none; margin: 0; }
.vp-hero__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vp-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; background: rgba(0, 0, 0, .5); pointer-events: none; }
.vp-hero .vp-hero__logo img { width: 300px; height: 180px; display: block; }
.vp-hero.is-layout-constrained > .vp-hero__slogan {
	margin-top: 30px;
	font-family: var(--wp--preset--font-family--script);
	font-weight: 600;
	font-size: 42px;
	line-height: 70px;
	color: #fff;
}
.vp-hero.is-layout-constrained > .vp-hero__buttons { margin-top: 40px; }

/* Кнопки */
.vp-btn-white .wp-block-button__link {
	padding: 12px 20px;
	border-radius: 4px;
	background: #fff;
	color: var(--vp-brown);
	font-size: 16px;
	line-height: 19px;
	font-weight: 700;
	text-transform: uppercase;
}
.vp-btn-white .wp-block-button__link:hover { background: var(--vp-honey); color: #fff; }

.vp-btn-line .wp-block-button__link {
	padding: 16px 26px;
	border-radius: 4px;
	background: transparent;
	color: var(--vp-brown);
	box-shadow: inset 0 0 0 1px var(--vp-brown);
	font-size: 16px;
	line-height: 19px;
	font-weight: 700;
	text-transform: uppercase;
}
.vp-btn-line .wp-block-button__link:hover { background: var(--vp-brown); color: #fff; }

/* ===== Плитки разделов ===== */
.vp-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vp-tiles > * { margin: 0; }
.vp-tile { position: relative; height: 187px; border-radius: 24px; overflow: hidden; }
.vp-tile__img, .vp-tile__img a, .vp-tile__img img { display: block; width: 100%; height: 100%; }
.vp-tile__img img { object-fit: cover; transition: transform .4s ease; }
.vp-tile::after { content: ""; position: absolute; inset: 0; background: rgba(0, 0, 0, .5); pointer-events: none; border-radius: inherit; transition: background .3s; }
.vp-tile:hover::after { background: rgba(0, 0, 0, .35); }
.vp-tile .vp-tile__label {
	position: absolute;
	inset: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 16px;
	text-align: center;
	color: #fff;
	font-size: 20px;
	line-height: 24px;
	font-weight: 700;
	pointer-events: none;
}

/* ===== Слайдер (assets/js/site.js) =====
   В редакторе и до запуска скрипта — просто ряд карточек. */
.vp-slider { --vp-per-view: 1; --vp-gap: 20px; position: relative; }
.vp-slider > .vp-slider__viewport { overflow: hidden; }
.vp-slider__track { display: flex; gap: var(--vp-gap); transition: transform .5s ease; will-change: transform; }
.vp-slider__track > * {
	flex: 0 0 calc((100% - (var(--vp-per-view) - 1) * var(--vp-gap)) / var(--vp-per-view));
	min-width: 0;
	margin: 0 !important;
}
.vp-slider:not(.is-ready) { display: flex; gap: var(--vp-gap); overflow: hidden; }
.vp-slider:not(.is-ready) > * { flex: 0 0 calc((100% - (var(--vp-per-view) - 1) * var(--vp-gap)) / var(--vp-per-view)); margin: 0; }
.vp-slider__btn {
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 40px;
	height: 40px;
	margin-top: -20px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: 0 3px 5px -2px rgba(93, 66, 52, .5);
	color: var(--vp-brown);
	cursor: pointer;
}
.vp-slider__btn::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url(../icons/chevron-right.svg) center / contain no-repeat;
	mask: url(../icons/chevron-right.svg) center / contain no-repeat;
	opacity: .5;
}
.vp-slider__btn:hover::before { opacity: 1; }
.vp-slider__btn--prev::before { transform: scaleX(-1); }
.vp-slider__btn[hidden] { display: none; }
.vp-slider__btn--prev { left: -20px; }
.vp-slider__btn--next { right: -20px; }

/* История пасеки: фото слева, текст справа */
.vp-slider--story { --vp-per-view: 1; --vp-gap: 20px; }
.vp-story { display: flex; align-items: center; gap: 40px; height: 560px; }
.vp-story > * { margin: 0 !important; }
.vp-story__img { flex: 0 0 780px; height: 560px; border-radius: 24px; overflow: hidden; }
.vp-story__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vp-story__text { flex: 1 1 auto; min-width: 0; }
.vp-story__text > * { margin: 0; }
.vp-story__text p { font-size: 20px; line-height: 24px; }
.vp-story__text p + p { margin-top: 16px; }
.vp-story__text .vp-story__title {
	max-width: 280px;
	margin-bottom: 20px;
	font-family: var(--wp--preset--font-family--script);
	font-weight: 600;
	font-size: 36px;
	line-height: 40px;
	color: var(--vp-honey);
}
.vp-story__text .vp-story__title + p { margin-top: 0; }
.vp-story__text .vp-story__sign { font-weight: 700; color: var(--vp-honey); }
.vp-story__buttons { margin-top: 36px !important; }
.vp-story__buttons .wp-block-button__link {
	width: 100%;
	padding: 8px 20px;
	border-radius: 4px;
	background: var(--vp-honey);
	color: #fff;
	font-size: 14px;
	line-height: 17px;
	font-weight: 700;
	text-transform: uppercase;
}
.vp-story__buttons .wp-block-button__link:hover { background: var(--vp-honey-light); }

/* ===== «Правильный мёд. Он какой?» — при наведении название сменяется текстом ===== */
.vp-flips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vp-flips > * { margin: 0; }
.vp-flip {
	position: relative;
	height: 400px;
	padding: 20px 50px;
	border-radius: 8px;
	background: url(../img/paper.webp) center / cover;
	display: flex;
	flex-direction: column;
	justify-content: center;
	overflow: hidden;
}
.vp-flip > * { margin: 0 !important; transition: opacity .15s cubic-bezier(.455, .03, .515, .955); }
.vp-flip__front {
	position: absolute;
	inset: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.vp-flip .vp-flip__label {
	font-family: var(--wp--preset--font-family--script);
	font-weight: 600;
	font-size: 24px;
	line-height: 35px;
	text-align: center;
}
.vp-flip__back { opacity: 0; }
.vp-flip__back > * { margin: 0; }
.vp-flip .vp-flip__title { font-size: 24px; line-height: 29px; font-weight: 700; }
.vp-flip__back p:not(.vp-flip__title) { margin-top: 6px; font-size: 20px; line-height: 24px; }
.vp-flip:hover .vp-flip__front, .vp-flip:focus-within .vp-flip__front, .vp-flip.is-open .vp-flip__front { opacity: 0; }
.vp-flip:hover .vp-flip__back, .vp-flip:focus-within .vp-flip__back, .vp-flip.is-open .vp-flip__back { opacity: 1; }

/* ===== Рецепт правильного мёда ===== */
.vp-recipe { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.vp-recipe > * { margin: 0; }
.vp-recipe__item > * { margin: 0; }
.vp-recipe__icon img { width: 150px; height: 150px; object-fit: contain; display: block; margin: 0 auto; }
:root .vp-recipe__title { margin-top: 20px; font-size: 24px; line-height: 29px; font-weight: 700; letter-spacing: 0; }
.vp-recipe__item p { margin-top: 10px; font-size: 20px; line-height: 24px; }
.vp-recipe__item p a { color: var(--vp-honey); text-decoration: none; }
.vp-recipe__item p a:hover { color: var(--vp-honey-light); }

/* ===== Нас показывают, о нас пишут ===== */
.vp-media { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vp-media > * { margin: 0; }
.vp-media__item > * { margin: 0; }
.vp-media__img a { display: block; }
.vp-media__img img { width: 100%; height: 312px; object-fit: cover; border-radius: 24px; display: block; }
.vp-media .vp-media__title { margin-top: 16px; font-size: 20px; line-height: 24px; }
.vp-media .vp-media__source { margin-top: 8px; font-size: 16px; line-height: 19px; }
.vp-media__item .wp-block-buttons { margin-top: 16px; }

/* ===== Наши достижения ===== */
.vp-ach { position: relative; height: 540px; }
.vp-ach > .vp-ach__photo { margin: 0; height: 540px; border-radius: 24px; overflow: hidden; }
.vp-ach__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 0 0; display: block; }
.vp-ach__card {
	position: absolute;
	right: 50px;
	bottom: -20px;
	width: 400px;
	padding: 30px;
	border-radius: 24px;
	isolation: isolate;
}
.vp-ach__card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: url(../img/paper-card.webp) center / cover;
	opacity: .7;
}
.vp-ach__card > * { margin: 0; }
.vp-ach__card .vp-ach__title { font-size: 24px; line-height: 29px; font-weight: 700; }
.vp-ach__card p:not(.vp-ach__title) { font-size: 20px; line-height: 24px; }
.vp-ach__card .vp-ach__title + p { margin-top: 26px; }
.vp-ach__card p + p { margin-top: 16px; }

.vp-slider--awards { --vp-per-view: 4; --vp-gap: 20px; }
.vp-slider--awards .vp-slider__btn--prev { left: 10px; }
.vp-slider--awards .vp-slider__btn--next { right: 10px; }
.vp-award { display: flex; align-items: flex-start; }
.vp-award > * { margin: 0 !important; }
.vp-award__icon { flex: 0 0 40px; }
.vp-award__icon img { width: 40px; height: auto; display: block; }
.vp-award__body { margin-left: 20px !important; display: flex; flex-direction: column; gap: 8px; }
.vp-award__body > * { margin: 0; }
.vp-award .vp-award__title { font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-award .vp-award__text { font-size: 16px; line-height: 19px; }
.vp-award .vp-award__link { font-size: 16px; line-height: 19px; }
.vp-award .vp-award__link a { color: var(--vp-honey); text-decoration: none; }
.vp-award .vp-award__link a:hover { color: var(--vp-honey-light); }

/* ===== Отзывы ===== */
.vp-reviews-link { text-align: center; }
.vp-reviews-link a { display: inline-block; padding: 6px 0; color: var(--vp-honey); text-decoration: none; font-size: 16px; line-height: 19px; }
.vp-reviews-link a:hover { color: var(--vp-honey-light); }
.vp-slider--reviews { --vp-per-view: 2; --vp-gap: 30px; }
.vp-slider--reviews .vp-slider__track { align-items: stretch; }
.vp-slider--reviews .vp-slider__btn { width: 30px; height: 30px; margin-top: -15px; background: none; box-shadow: none; color: #000; }
.vp-slider--reviews .vp-slider__btn::before { opacity: 1; inset: -3px; width: 36px; height: 36px; }
.vp-slider--reviews .vp-slider__btn--prev { left: -50px; }
.vp-slider--reviews .vp-slider__btn--next { right: -50px; }
.vp-review {
	display: flex;
	flex-direction: column;
	padding: 30px;
	border-radius: 24px;
	background: var(--vp-brown-04);
	font-size: 16px;
	line-height: 19px;
}
.vp-review > * { margin: 0; }
.vp-review p { margin: 0; }
.vp-review__date { color: var(--vp-honey); }
.vp-review__title { margin-top: 16px !important; font-weight: 700; }
.vp-review__text { margin-top: 16px; flex: 1 1 auto; text-align: justify; line-height: 24px; }
.vp-review__text p + p { margin-top: 16px; }
.vp-review__author { margin-top: 16px; }
.vp-review__name { font-weight: 700; }
.vp-review__label { margin-top: 4px !important; color: var(--vp-brown-50); }

/* ===== Преимущества внизу страницы ===== */
.vp-advantages { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vp-advantages > * { margin: 0; }
.vp-adv { display: flex; align-items: center; gap: 20px; min-height: 60px; }
.vp-adv > * { margin: 0 !important; }
.vp-adv__icon { flex: 0 0 60px; }
.vp-adv__icon img { width: 60px; height: 60px; display: block; }
.vp-adv .vp-adv__text { font-size: 16px; line-height: 19px; }

/* ===== Обычные страницы (шаблоны page и page-simple) ===== */
.vp-content-page { padding-bottom: 50px; }
.vp-content-page > .vp-breadcrumbs { margin-bottom: 18px !important; }
:root .vp-page-title { margin-block: 0 !important; font-size: 52px; line-height: 62px; font-weight: 700; letter-spacing: 0; }
.vp-content-page > .vp-page-content { margin-top: 40px !important; }
.vp-page-content > * { margin-block: 0; }
.vp-page-content.is-layout-constrained > * + * { margin-block-start: 30px; }

/* Контакты: карта и карточка */
.vp-contacts { display: flex; gap: 30px; height: 400px; }
.vp-contacts > * { margin: 0 !important; }
.vp-contacts__map { flex: 0 0 820px; width: 820px; height: 400px; border: 0; border-radius: 8px; display: block; }
.vp-contacts__card {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 16px;
	border-radius: 4px;
	background: #fff;
}
.vp-contacts__card > * { margin: 0 !important; }
.vp-contacts__item { display: flex; flex-direction: column; gap: 4px; }
.vp-contacts__item > * { margin: 0 !important; }
.vp-contacts .vp-contacts__label { font-size: 12px; line-height: 14px; color: var(--vp-brown-50); }
.vp-contacts .vp-contacts__value { font-size: 16px; line-height: 19px; }
.vp-contacts .vp-contacts__value--big { font-size: 24px; line-height: 29px; font-weight: 700; }
.vp-contacts__value a { color: var(--vp-brown); text-decoration: none; }
.vp-contacts__value a:hover { color: var(--vp-honey); }
.vp-contacts .vp-socials { gap: 8px !important; margin: 0; padding: 0; }
.vp-contacts .vp-socials .wp-social-link { color: var(--vp-honey) !important; }

/* ===== О нас: фото и текст, «7 причин» ===== */
.vp-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; align-items: start; }
.vp-intro > * { margin: 0 !important; }
.vp-intro__photo { height: 603px; border-radius: 24px; overflow: hidden; }
.vp-intro__photo img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; display: block; }
.vp-intro__text > * { margin: 0; }
.vp-intro__text > p { font-size: 16px; line-height: 24px; }
.vp-intro__text > p + p { margin-top: 16px; }
:root .vp-intro__h2 { margin-top: 20px; font-size: 24px; line-height: 29px; font-weight: 700; letter-spacing: 0; }
.vp-reasons { margin-top: 20px !important; display: flex; flex-direction: column; gap: 10px; }
.vp-reasons > * { margin: 0; }
.vp-reason { display: flex; gap: 10px; align-items: flex-start; }
.vp-reason > * { margin: 0 !important; }
.vp-reason__icon { flex: 0 0 20px; }
.vp-reason__icon img { width: 20px; height: 30px; object-fit: contain; display: block; }
.vp-reason__body { flex: 1 1 auto; min-width: 0; }
.vp-reason__body > * { margin: 0; }
:root .vp-reason__title { font-size: 20px; line-height: 24px; font-weight: 700; letter-spacing: 0; }
.vp-reason__body p { margin-top: 10px; font-size: 16px; line-height: 24px; }
.vp-reason__body p + p { margin-top: 16px; }

/* Текстовые списки на страницах: «— пункт» с висячим тире, как на старом сайте */
.vp-page-content ul.wp-block-list { list-style: none; margin: 16px 0 0 20px; padding: 0; font-size: 16px; line-height: 24px; }
.vp-page-content ul.wp-block-list li { position: relative; margin: 12px 0 16px; }
.vp-page-content ul.wp-block-list li:first-child { margin-top: 0; }
.vp-page-content ul.wp-block-list li:last-child { margin-bottom: 0; }
.vp-page-content ul.wp-block-list li::before { content: "—"; position: absolute; left: -20px; }

/* Благодарственные письма */
.vp-letters { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; }
.vp-letters > * { margin: 0 !important; }
.vp-letter { height: 441px; padding: 10px; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 1px var(--vp-brown-08); box-sizing: border-box; }
.vp-letter a, .vp-letter img { display: block; width: 100%; height: 100%; }
.vp-letter img { object-fit: contain; }

/* ===== Страница-рассказ (шаблон page-landing): «О главном пчеловоде» и др. ===== */
.vp-landing { margin: 0; background: #fff; }
/* «Остались вопросы?» внутри белой области: сверху 150px от последнего блока, снизу 80px (Ollie обнуляет margin частей — отступ внутренний) */
.vp-landing > .wp-block-template-part { padding-top: 130px; }
.vp-landing .vp-contact { padding-bottom: 80px; }
.wp-site-blocks > .vp-landing { margin-block-start: 0; }
.vp-land > * { margin-block: 0; }
.vp-land.is-layout-constrained > * + * { margin-block-start: 50px; }
.vp-land.is-layout-constrained > .vp-hero + * { margin-block-start: 80px; }
.vp-land.is-layout-constrained > .vp-cap { margin-block-start: 30px; }
.vp-land.is-layout-constrained > .vp-cap + * { margin-block-start: 80px; }
.vp-land.is-layout-constrained > .vp-gap-30 { margin-block-start: 30px; }
.vp-land p { margin: 0; }

.vp-hero--page .vp-hero__bg img { object-position: 0 0; }
.vp-hero--page { gap: 10px; }
:root .vp-hero--page .vp-hero__title { font-family: var(--wp--preset--font-family--script); font-weight: 600; font-size: 64px; line-height: 70px; color: #fff; letter-spacing: 0; }
.vp-hero.is-layout-constrained > .vp-hero__sub { font-size: 24px; line-height: 29px; font-weight: 700; color: #fff; }

.vp-ltext { font-size: 20px; line-height: 30px; }
.vp-ltext--bold { font-weight: 700; }
.vp-cap { font-size: 20px; line-height: 24px; color: rgba(0, 0, 0, .5); }
.vp-lquote, .vp-lquote-sm { font-family: var(--wp--preset--font-family--script); font-weight: 600; color: var(--vp-honey); }
.vp-land .vp-lquote { font-size: 52px; line-height: 40px; }
.vp-land .vp-lquote--tall { line-height: 70px; }
.vp-land .vp-lquote-sm { font-size: 36px; line-height: 40px; }

.vp-lrow { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 50px; align-items: center; }
.vp-lrow > * { margin: 0 !important; }
.vp-lrow__aside > * { margin: 0; }
.vp-lrow__aside .wp-block-buttons { margin-top: 16px; }
.vp-lrow__aside .vp-lsquiggle { margin: 0 auto; }
.vp-lsquiggle img { width: 183px; height: 45px; display: block; }

.vp-lphoto { height: 590px; overflow: hidden; }
.vp-lphoto--round { border-radius: 24px; }
.vp-lphoto img { width: 100%; height: 100%; object-fit: cover; display: block; }

.vp-btn-honey .wp-block-button__link {
	padding: 8px 20px;
	border-radius: 4px;
	background: var(--vp-honey);
	color: #fff;
	font-size: 14px;
	line-height: 17px;
	font-weight: 700;
	text-transform: uppercase;
}
.vp-btn-honey .wp-block-button__link:hover { background: var(--vp-honey-light); }

/* ===== Две колонки с разделами (Доставка и оплата и др.) ===== */
.vp-cols2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 70px; align-items: start; }
.vp-cols2 > * { margin: 0 !important; }
.vp-page-content .vp-cols2__left > *, .vp-page-content .vp-cols2__right > * { margin: 0; }
.vp-page-content .vp-sec-title { font-size: 32px; line-height: 38px; font-weight: 700; }
.vp-page-content .vp-lead { margin-top: 36px; font-size: 20px; line-height: 24px; color: var(--vp-honey); }
.vp-page-content .vp-dblock > * { margin: 0; }
.vp-dblock + .vp-dblock { margin-top: 30px; }
.vp-page-content .vp-dblock__title { font-size: 20px; line-height: 24px; }
.vp-dblock > p { font-size: 16px; line-height: 24px; }
.vp-page-content .vp-dblock > * + * { margin-top: 8px; }
.vp-page-content .vp-dblock > p:not(.vp-dblock__title) + p:not(.vp-dblock__link) { margin-top: 16px; }
.vp-page-content .vp-dblock > ul.wp-block-list { margin-top: 20px; }
.vp-page-content .vp-dblock__link { font-size: 20px; line-height: 24px; }
.vp-dblock__link a { color: var(--vp-honey); text-decoration: none; }
.vp-dblock__link a:hover { color: var(--vp-honey-light); }
.vp-page-content ol.wp-block-list { margin: 8px 0 16px 20px; padding: 0; font-size: 16px; line-height: 24px; }
.vp-page-content ol.wp-block-list li { margin: 12px 0 16px; }
.vp-page-content ol.wp-block-list li:first-child { margin-top: 0; }
.vp-page-content ol.wp-block-list li:last-child { margin-bottom: 0; }
.vp-page-content .vp-dblock > ol.wp-block-list + p { margin-top: 16px; }
.vp-paylogos { display: flex; gap: 10px; }
.vp-paylogos > * { margin: 0 !important; }
.vp-paylogo img { height: 40px; width: auto; display: block; }

/* ===== Оптовые продажи и другие страницы-лендинги ===== */
.vp-land.is-layout-constrained > .vp-gap-8 { margin-block-start: 8px; }
.vp-land.is-layout-constrained > .vp-gap-60 { margin-block-start: 60px; }
.vp-land.is-layout-constrained > .vp-gap-70 { margin-block-start: 70px; }
.vp-landing:has(.vp-last-70) > .wp-block-template-part { padding-top: 50px; }
.vp-hero--page .vp-hero__title { max-width: 760px; }
.vp-hero.is-layout-constrained > .vp-hero__sub--regular { font-weight: 400; }
.vp-hero.is-layout-constrained > .vp-hero__buttons--tight { margin-top: 0; }
:root .vp-ltitle { font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: 0; max-width: 700px; }
:root .vp-ltitle--narrow { max-width: 400px; }
.vp-lpic img { display: block; height: auto; }
.vp-lcontact { font-size: 22px; line-height: 26px; }
.vp-lcontact a { color: var(--vp-honey); text-decoration: none; }
.vp-lcontact a:hover { color: var(--vp-honey-light); }

.vp-benefits { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
.vp-benefits > * { margin: 0 !important; }
.vp-benefit { display: flex; gap: 20px; align-items: flex-start; }
.vp-benefit > * { margin: 0 !important; }
.vp-benefit__icon { flex: 0 0 40px; }
.vp-benefit__icon img { width: 40px; height: 40px; display: block; }
.vp-benefit__body > * { margin: 0; }
.vp-land .vp-benefit__title { font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-land .vp-benefit__text { margin-top: 10px; font-size: 16px; line-height: 24px; }

.vp-btn-dark .wp-block-button__link {
	padding: 16px 26px;
	border-radius: 4px;
	background: #3D322C;
	color: #fff;
	font-size: 16px;
	line-height: 19px;
	font-weight: 700;
	text-transform: uppercase;
}
.vp-btn-dark .wp-block-button__link:hover { background: var(--vp-brown); }
.vp-btns-full .vp-btn-full { width: 100%; }
.vp-btns-full .vp-btn-full .wp-block-button__link { width: 100%; }

.vp-dl { display: inline-flex; align-items: center; gap: 6px; color: var(--vp-brown); text-decoration: none; font-size: 16px; line-height: 19px; }
.vp-dl::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor; -webkit-mask: url(../icons/download.svg) center / contain no-repeat; mask: url(../icons/download.svg) center / contain no-repeat; }
.vp-dl:hover { color: var(--vp-honey); }
.vp-land .vp-dl-wrap { display: flex; justify-content: center; line-height: 19px; }

.vp-showcase { display: grid; grid-template-columns: repeat(4, 1fr); gap: 30px; align-items: start; }
.vp-showcase > * { margin: 0 !important; }
.vp-showcase__item > * { margin: 0; }
.vp-showcase__img a { display: block; }
.vp-showcase__img img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 24px; display: block; }
.vp-land .vp-showcase__title { margin-top: 10px; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-showcase__title a { color: var(--vp-brown); text-decoration: none; }
.vp-showcase__title a:hover { color: var(--vp-honey); }
.vp-land .vp-showcase__desc { margin-top: 10px; font-size: 16px; line-height: 19px; }

/* ===== Экскурсии (/tour): зелёный акцент ===== */
:root { --vp-green: #377852; }
.vp-land.is-layout-constrained > .vp-gap-20 { margin-block-start: 20px; }
.vp-land.is-layout-constrained > .vp-gap-26 { margin-block-start: 26px; }
.vp-land.is-layout-constrained > .vp-gap-96 { margin-block-start: 96px; }
.vp-hero--page .vp-hero__title--wide { max-width: 770px; }

.vp-pills { gap: 20px; }
.vp-pills > * { margin: 0 !important; }
.vp-pill a { display: block; padding: 10px 16px; border-radius: 24px; background: rgba(93, 66, 52, .1); color: var(--vp-brown); font-size: 16px; line-height: 19px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.vp-pill a:hover { background: rgba(93, 66, 52, .16); }
.vp-land .vp-tintro { max-width: 700px; font-size: 20px; line-height: 24px; color: var(--vp-green); }
:root .vp-tbig { font-size: 52px; line-height: 62px; font-weight: 700; letter-spacing: 0; }

.vp-why { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vp-why > * { margin: 0 !important; }
.vp-why__item > * { margin: 0; }
.vp-why__img img { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; display: block; }
.vp-land .vp-why__title { margin-top: 30px; font-size: 32px; line-height: 38px; font-weight: 700; }
.vp-land .vp-why__sub { font-size: 32px; line-height: 38px; font-weight: 700; color: var(--vp-green); }
.vp-land .vp-why__text { margin-top: 16px; font-size: 20px; line-height: 24px; }

.vp-btn-green .wp-block-button__link { padding: 16px 30px; border-radius: 8px; background: var(--vp-green); color: #fff; font-size: 16px; line-height: 19px; font-weight: 400; text-transform: uppercase; }
.vp-btn-green .wp-block-button__link:hover { background: #2c6343; }
.vp-dl:not([href]) { cursor: default; }
.vp-dl:not([href]):hover { color: var(--vp-brown); }

.vp-trows { display: flex; flex-direction: column; gap: 30px; }
.vp-trows > * { margin: 0 !important; }
.vp-trow { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; padding-top: 30px; box-shadow: inset 0 1px 0 rgba(93, 66, 52, .08); }
.vp-trow > * { margin: 0 !important; }
.vp-tcol > * { margin: 0; }
.vp-tcol--text { display: flex; flex-direction: column; align-items: flex-start; }
.vp-tphoto { margin: 0; }
.vp-tphoto img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; display: block; }
.vp-land .vp-tcap { margin-top: 16px; font-size: 16px; line-height: 19px; color: rgba(0, 0, 0, .5); }
.vp-land .vp-tmonth { padding: 10px 16px; border-radius: 100px; outline: 1px dashed var(--vp-green); outline-offset: -1px; color: var(--vp-green); font-size: 16px; line-height: 19px; font-weight: 700; text-transform: uppercase; }
:root .vp-ttitle { margin: 30px 0 0; font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: 0; }
:root .vp-ttitle--green { margin-top: 0; color: var(--vp-green); }
.vp-land .vp-tlead { margin-top: 16px; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-land .vp-tsub { margin-top: 30px; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-land ul.vp-tlist { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 20px; line-height: 24px; }
.vp-tcol--text > .vp-ttitle + .vp-tlead + ul.vp-tlist { margin-top: 30px; }
.vp-land ul.vp-tlist li { position: relative; margin: 0; padding-left: 22px; }
.vp-land ul.vp-tlist li::before { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 14px; background: var(--vp-green); -webkit-mask: url(../icons/send-horizontal.svg) center / contain no-repeat; mask: url(../icons/send-horizontal.svg) center / contain no-repeat; }
.vp-land .vp-textra { margin-top: 30px; font-size: 20px; line-height: 24px; }
.vp-tcol--text > .vp-tbtn { margin-top: auto !important; padding-top: 30px; width: 100%; }
.vp-btns-full .vp-btn-full .wp-block-button__link { display: block; width: 100%; text-align: center; }

.vp-trow--kids { display: block; }
.vp-kids { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 30px; padding: 30px; border-radius: 8px; background: url(../img/paper-lilac.webp) center / cover; }
.vp-kids > * { margin: 0 !important; }
.vp-kids .vp-tnote { grid-column: 1 / -1; margin-top: 20px !important; padding: 10px; border-radius: 8px; outline: 1px dashed rgba(93, 66, 52, .2); outline-offset: -1px; font-size: 16px; line-height: 19px; }

.vp-hr { height: 1px; margin-bottom: -1px; box-shadow: inset 0 1px 0 rgba(93, 66, 52, .08); }

.vp-land .vp-tpromise { max-width: 600px; font-size: 24px; line-height: 29px; font-weight: 700; color: var(--vp-green); }
.vp-prog { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.vp-prog > * { margin: 0 !important; }
.vp-prog__item > * { margin: 0; }
.vp-land .vp-prog__title { font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-prog__img { margin-top: 20px !important; }
.vp-prog__img img { width: 100%; height: 327px; object-fit: cover; border-radius: 8px; display: block; }
.vp-land .vp-prog__text { margin-top: 32px; font-size: 16px; line-height: 24px; }

.vp-faq { max-width: 760px; }
.vp-faq--wide { max-width: none; }
.vp-page-content .vp-faq__item p { margin: 0 0 16px; font-size: 16px; line-height: 24px; }
.vp-page-content .vp-faq__item p:empty { display: none; }
.vp-faq > * { margin: 0 !important; }
.vp-faq__item { border-bottom: 1px solid rgba(93, 66, 52, .1); }
.vp-faq__item summary { position: relative; display: block; padding: 16px 48px 16px 0; font-size: 20px; line-height: 24px; font-weight: 700; cursor: pointer; list-style: none; }
.vp-faq__item summary::-webkit-details-marker { display: none; }
.vp-faq__item summary::after { content: ""; position: absolute; right: 16px; top: 50%; width: 16px; height: 16px; margin-top: -8px; background: currentColor; -webkit-mask: url(../icons/chevron-down.svg) center / contain no-repeat; mask: url(../icons/chevron-down.svg) center / contain no-repeat; transition: transform .2s; }
.vp-faq__item[open] summary::after { transform: rotate(180deg); }
.vp-faq__item p { margin: 0 0 16px; font-size: 16px; line-height: 24px; }

.vp-prices { display: flex; flex-direction: column; gap: 16px; }
.vp-prices > * { margin: 0 !important; }
.vp-price__item > * { margin: 0; }
.vp-land .vp-price__label { font-size: 20px; line-height: 24px; font-weight: 700; color: var(--vp-green); }
.vp-land .vp-price__value { font-size: 20px; line-height: 24px; font-weight: 700; }

.vp-tend > * { margin: 0; }
.vp-land .vp-tquote { max-width: 630px; margin-inline: auto; font-family: var(--wp--preset--font-family--script); font-weight: 600; font-size: 36px; line-height: 40px; color: var(--vp-green); }
.vp-tend .wp-block-buttons { margin-top: 30px; }
.vp-land .vp-pin-wrap { display: flex; justify-content: center; margin-top: 20px; line-height: 19px; }
.vp-pin { display: inline-flex; align-items: center; gap: 6px; color: var(--vp-green); text-decoration: none; font-size: 16px; line-height: 19px; }
.vp-pin::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor; -webkit-mask: url(../icons/map-pin.svg) center / contain no-repeat; mask: url(../icons/map-pin.svg) center / contain no-repeat; }

.vp-banner { position: relative; min-height: 263px; padding: 40px; border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; }
.vp-banner > * { position: relative; z-index: 1; margin: 0 !important; }
.vp-banner > .vp-banner__bg { position: absolute; inset: 0; z-index: 0; }
.vp-banner__bg img { width: 100%; height: 100%; object-fit: cover; display: block; }
.vp-banner::after { content: ""; position: absolute; inset: 0; z-index: 0; background: rgba(0, 0, 0, .5); pointer-events: none; }
.vp-land .vp-banner__title { max-width: 50%; font-family: var(--wp--preset--font-family--script); font-weight: 600; font-size: 52px; line-height: 60px; color: #fff; }
.vp-banner .wp-block-buttons { margin-top: 30px !important; }

/* ===== Юридическая информация ===== */
/* на старом сайте реквизиты набраны шрифтом «Vekovaya», которого нет, — браузер показывает Arial; повторяем */
.vp-sections .vp-legal { position: relative; top: 1px; font: 400 20px/34px Arial, sans-serif; color: var(--vp-brown); }
.vp-legal strong { font-weight: 700; }
.vp-docs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 30px; }
.vp-docs > * { margin: 0 !important; }
.vp-sections .vp-docs__item { padding: 10px; border-radius: 4px; background: #fff; box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .08); }
.vp-docs__item a { display: block; }
.vp-docs__item img { display: block; width: 100%; height: auto; }

/* ===== Документы с нумерацией «1. / 1.1. / 1.1.1.» (политика конфиденциальности) ===== */
/* номера — счётчиками CSS, как на старом сайте: у раздела номер на 20px левее текста, у пунктов — на 40 и 60 */
.vp-content-page--simple { padding-bottom: 100px; }
.vp-sections .vp-doc { padding-left: 20px; counter-reset: vpdoc1; font-size: 16px; line-height: 24px; text-align: justify; }
.vp-doc > .vp-doc__sec { position: relative; margin: 0; counter-increment: vpdoc1; }
.vp-doc > .vp-doc__sec + .vp-doc__sec { margin-top: 16px; }
.vp-doc__sec::before { content: counter(vpdoc1) "."; position: absolute; left: -20px; top: 0; }
.vp-doc__sec > * { margin: 0; }
.vp-sections .vp-doc .vp-doc__sec > * + * { margin-top: 16px; }
.vp-doc ol.wp-block-list { margin: 0; padding: 0 0 0 20px; list-style: none; }
.vp-doc__sec > ol.wp-block-list { counter-reset: vpdoc2; }
.vp-doc__sec > ol > li { position: relative; counter-increment: vpdoc2; }
.vp-doc__sec > ol > li::before { content: counter(vpdoc1) "." counter(vpdoc2) "."; position: absolute; left: -40px; top: 0; }
.vp-doc__sec > ol > li > ol.wp-block-list { margin-top: 16px; counter-reset: vpdoc3; }
.vp-doc__sec > ol > li > ol > li { position: relative; counter-increment: vpdoc3; }
.vp-doc__sec > ol > li > ol > li::before { content: counter(vpdoc1) "." counter(vpdoc2) "." counter(vpdoc3) "."; position: absolute; left: -60px; top: 0; }
.vp-doc li + li { margin-top: 16px; }
.vp-doc a { color: #00f; text-decoration: underline; }
.vp-sections .vp-doc__table { margin: 0; }
.vp-doc__table table { width: 100%; border-collapse: collapse; }
.vp-doc__table td { padding: 8px 12px; border: 1px solid #dcdcdc; vertical-align: middle; text-align: left; }

/* ===== Просмотр картинки (награды) ===== */
.vp-lightbox {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px;
	background: rgba(0, 0, 0, .8);
	cursor: zoom-out;
}
.vp-lightbox[hidden] { display: none; }
.vp-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; border-radius: 8px; box-shadow: 0 10px 40px rgba(0, 0, 0, .4); }
.vp-lightbox__close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	color: var(--vp-brown);
	cursor: pointer;
}
.vp-lightbox__close::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url(../icons/x.svg) center / contain no-repeat;
	mask: url(../icons/x.svg) center / contain no-repeat;
}

/* ===== Планшеты и телефоны ===== */
@media (max-width: 1240px) {
	.vp-slider__btn--prev { left: 0; }
	.vp-slider__btn--next { right: 0; }
	.vp-slider--reviews .vp-slider__btn--prev { left: -10px; }
	.vp-slider--reviews .vp-slider__btn--next { right: -10px; }
}
@media (min-width: 1000px) and (max-width: 1240px) {
	.vp-story__img { flex: 1 1 auto; min-width: 0; }
	.vp-story__text { flex: 0 0 360px; } /* у старого текст всегда 360px, фото — что осталось (560 на 1024) */
}
@media (max-width: 999px) {
	.vp-trow, .vp-kids { grid-template-columns: 1fr; gap: 24px; }
	.vp-why, .vp-prog { grid-template-columns: 1fr 1fr; }
	.vp-pills { flex-wrap: wrap !important; gap: 10px; }
	.vp-benefits { grid-template-columns: 1fr; }
	.vp-showcase { grid-template-columns: repeat(2, 1fr); }
	.vp-cols2 { grid-template-columns: 1fr; gap: 24px; }
	.vp-lrow { grid-template-columns: 1fr; gap: 24px; }
	.vp-lphoto { height: auto; aspect-ratio: 2 / 1; }
	.vp-intro { grid-template-columns: 1fr; }
	.vp-intro__photo { height: 480px; }
	.vp-letters { grid-template-columns: repeat(2, 1fr); }
	.vp-contacts { flex-direction: column; height: auto; }
	.vp-contacts__map { flex: 0 0 auto; width: 100%; height: 320px; }
	.vp-hero { height: 600px; }
	.vp-tiles, .vp-flips, .vp-media { grid-template-columns: repeat(2, 1fr); }
	.vp-recipe { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
	.vp-slider--awards { --vp-per-view: 2; }
	.vp-advantages { grid-template-columns: 1fr; gap: 20px; }
	.vp-ach { height: auto; }
	.vp-ach > .vp-ach__photo { height: 400px; }
	.vp-ach__card { position: relative; right: auto; bottom: auto; width: auto; margin-top: -60px !important; margin-inline: 20px !important; }
}
@media (max-width: 999px) {
	:root .vp-hero--page .vp-hero__title { font-size: 40px; line-height: 46px; }
	.vp-land .vp-lquote { font-size: 34px; line-height: 38px; }
	.vp-ltext { font-size: 17px; line-height: 26px; }
	.vp-landing > .wp-block-template-part { padding-top: 60px; }
	:root .vp-page-title { font-size: 32px; line-height: 38px; }
	.vp-content-page > .vp-page-content { margin-top: 24px !important; }
	:root .vp-script-title { font-size: 36px; line-height: 40px; }
	.vp-sections.is-layout-constrained > * + * { margin-block-start: 60px; }
	.vp-sections.is-layout-constrained > .wp-block-template-part { padding-top: 60px; }
	.vp-hero { height: 520px; padding: 0 16px; }
	.vp-hero .vp-hero__logo img { width: 200px; height: 120px; }
	.vp-hero.is-layout-constrained > .vp-hero__slogan { font-size: 30px; line-height: 40px; }
	.vp-tiles { grid-template-columns: 1fr 1fr; gap: 12px; }
	.vp-tile { height: 120px; border-radius: 16px; }
	.vp-tile .vp-tile__label { font-size: 16px; line-height: 19px; padding: 0 8px; }
	.vp-story { flex-direction: column; height: auto; gap: 24px; }
	.vp-story__img { flex: 0 0 auto; width: 100%; height: 260px; }
	.vp-slider--story .vp-slider__btn { top: 130px; }
	.vp-flips, .vp-media { grid-template-columns: 1fr; }
	.vp-flip { height: auto; min-height: 320px; }
	.vp-recipe { grid-template-columns: 1fr; }
	.vp-slider--awards { --vp-per-view: 1; }
	.vp-slider--reviews { --vp-per-view: 1; }
	.vp-slider--reviews .vp-slider__btn { display: none; }
	.vp-review { padding: 20px; }
	.vp-ach > .vp-ach__photo { height: 260px; }
	.vp-ach__card { margin-inline: 0 !important; padding: 20px; }
}

/* ===================== Телефон и планшет (до 999px, как у старого): главная и секции — как в мобильной версии старого сайта ===================== */
.vp-slider__dots { display: none; }
@media (max-width: 999px) {
	.vp-home { background: #fafafa; }
	.vp-sections.has-global-padding { padding-left: 10px !important; padding-right: 10px !important; padding-bottom: 40px; }
	.vp-sections.is-layout-constrained > * + * { margin-block-start: 40px; }
	.vp-sections.is-layout-constrained > .vp-hero + *,
	.vp-sections.is-layout-constrained > .vp-script-title + *,
	.vp-sections.is-layout-constrained > .vp-home-h1 + *,
	.vp-sections.is-layout-constrained > .vp-reviews-link + * { margin-block-start: 40px; }
	.vp-sections.is-layout-constrained > .vp-tiles + * { margin-block-start: 80px; }
	.vp-sections.is-layout-constrained > .vp-reviews-title + .vp-reviews-link { margin-block-start: 10px; }
	.vp-sections.is-layout-constrained > .vp-ach + .vp-slider { margin-block-start: 20px; }
	.vp-sections.is-layout-constrained > .wp-block-template-part { padding-top: 40px; }
	:root .vp-script-title { font-size: 36px; line-height: 53px; }
	:root .vp-script-title.vp-lh40 { line-height: 40px; }

	/* первый экран на весь экран телефона */
	.vp-sections > .vp-hero.alignfull { margin-left: -10px !important; margin-right: -10px !important; max-width: none; }
	.vp-hero { height: 100vh; padding: 0 10px; } /* первый экран — на всю высоту окна, как у старого (телефон 844, планшет 900) */
	.vp-hero .vp-hero__logo img { width: 300px; height: 180px; }
	.vp-hero.is-layout-constrained > .vp-hero__slogan { margin-top: 30px; font-size: 24px; line-height: 40px; }
	.vp-hero.is-layout-constrained > .vp-hero__buttons { margin-top: 40px; }

	/* разделы: в одну колонку, с кнопкой «Перейти в раздел» */
	.vp-tiles { grid-template-columns: 1fr; gap: 16px; }
	body.vp-page-catalog .vp-tiles { gap: 20px; padding-inline: 10px; } /* страница «Каталог»: поля 20px и промежуток 20px, как у старого */
	.vp-tile { height: 280px; border-radius: 24px; }
	.vp-tile .vp-tile__label { flex-direction: column; gap: 10px; font-size: 24px; line-height: 29px; padding: 0 16px; }
	.vp-tile .vp-tile__label::after {
		content: "Перейти в раздел"; padding: 12px 20px; border-radius: 4px; background: #fff; color: var(--vp-brown);
		font-size: 16px; line-height: 19px; font-weight: 700; text-transform: uppercase;
	}

	/* история пасеки: фото сверху, полосы-переключатели снизу */
	.vp-slider--story .vp-slider__btn { display: none; }
	.vp-slider--story { --vp-gap: 8px; }
	.vp-story { flex-direction: column; align-items: stretch; height: auto; gap: 0; }
	.vp-story__img { flex: none; width: 100%; height: auto; }
	.vp-story__img img { height: auto; object-fit: initial; }
	.vp-story__text .vp-story__title { max-width: none; margin: 20px 0 20px; text-align: center; }
	.vp-story__buttons { margin-top: 36px !important; }
	.vp-slider--story .vp-slider__dots { display: flex; justify-content: center; gap: 8px; margin-top: 32px; }
	.vp-slider__dot { width: 60px; height: 8px; padding: 0; border: 0; border-radius: 100px; background: rgba(93, 66, 52, .3); cursor: pointer; }
	.vp-slider__dot.is-active { background: rgba(93, 66, 52, .8); }

	/* «Правильный мёд»: сразу текст, без переворота */
	.vp-flips { grid-template-columns: 1fr; gap: 16px; }
	.vp-flip { display: block; height: auto; min-height: 0; padding: 20px; }
	.vp-flip__front { display: none !important; }
	.vp-flip__back { opacity: 1 !important; }
	.vp-flip .vp-flip__title { font-size: 24px; line-height: 29px; }
	.vp-flip__back p:not(.vp-flip__title) { margin-top: 10px; }

	.vp-recipe { grid-template-columns: 1fr; gap: 16px; }
	.vp-recipe__item p { font-size: 20px; line-height: 24px; }

	/* ленты карточек листаются пальцем */
	.vp-media { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: -10px !important; padding-right: 10px; scrollbar-width: none; }
	.vp-media::-webkit-scrollbar { display: none; }
	.vp-media > .vp-media__item { flex: 0 0 275px; scroll-snap-align: start; }
	.vp-media__img img { height: 230px; }
	.vp-slider--awards, .vp-slider--reviews { margin-right: -10px !important; }
	.vp-slider--awards > .vp-slider__viewport, .vp-slider--reviews > .vp-slider__viewport { overflow-x: auto; scroll-snap-type: x mandatory; padding-right: 10px; scrollbar-width: none; }
	.vp-slider--awards > .vp-slider__viewport::-webkit-scrollbar, .vp-slider--reviews > .vp-slider__viewport::-webkit-scrollbar { display: none; }
	.vp-slider--awards .vp-slider__track, .vp-slider--reviews .vp-slider__track { transform: none !important; gap: 16px; }
	.vp-slider--awards .vp-slider__track > *, .vp-slider--reviews .vp-slider__track > * { flex: 0 0 275px; scroll-snap-align: start; }
	.vp-slider--awards .vp-slider__btn, .vp-slider--reviews .vp-slider__btn { display: none !important; }
	.vp-slider:not(.is-ready) { overflow-x: auto; }

	/* достижения: фото, под ним карточка */
	.vp-ach { height: auto; }
	.vp-ach > .vp-ach__photo { height: auto; aspect-ratio: 3 / 2; } /* фото целиком: 370×247 на телефоне, 748×499 на планшете */
	.vp-ach__card { position: relative; right: auto; bottom: auto; width: auto; margin: 20px 0 0 !important; padding: 30px; }
	.vp-ach__card::before { opacity: 1; }

	.vp-review { padding: 30px; }
	.vp-advantages { grid-template-columns: 1fr; gap: 16px; }
}

/* ===================== Телефон: обычные страницы (контакты, о нас, доставка, вопросы…) ===================== */
@media (max-width: 999px) {
	.vp-page.vp-content-page { padding: 23px 10px 40px; }
	.vp-content-page > * { max-width: none !important; }
	.vp-content-page > .vp-breadcrumbs { margin: 0 0 10px !important; padding: 0 10px; }
	:root .vp-page-title { padding-inline: 10px; font-size: 32px; line-height: 38px; text-align: center; } /* у старого сайта заголовок шириной 350 */
	.vp-content-page > .vp-page-content { margin-top: 16px !important; }
	.vp-page-content.has-global-padding, .vp-page-content .vp-sections.has-global-padding { padding-left: 0 !important; padding-right: 0 !important; }
	.vp-page-content .vp-sections { padding-bottom: 0; }
	.vp-sections--page { --vp-section-gap: 40px; }
	.vp-page-content .vp-sections.is-layout-constrained > * + * { margin-block-start: 40px; }
	/* юр. информация: реквизиты в колонке 350; документы — карточки 275×445 в ряд (у старого сайта ряд шире экрана
	   и вся страница ездит вбок — здесь прокручивается только сам ряд) */
	.vp-sections .vp-legal { padding-inline: 10px; }
	.vp-docs { display: flex; gap: 16px; overflow-x: auto; margin-inline: -10px !important; padding-inline: 10px; scrollbar-width: none; }
	.vp-docs::-webkit-scrollbar { display: none; }
	.vp-docs > .vp-docs__item { flex: 0 0 275px; }
	.vp-page-content .vp-sections.is-layout-constrained > .vp-ach + .vp-slider { margin-block-start: 20px; }

	/* контакты: карточка, под ней карта */
	.vp-contacts { flex-direction: column-reverse; height: auto; gap: 40px; }
	.vp-contacts__map { flex: none; width: 100%; height: 250px; }
	.vp-contacts__card { padding: 10px; }

	/* о нас */
	.vp-intro { grid-template-columns: 1fr; gap: 30px; }
	.vp-intro__photo { height: auto; border-radius: 8px; }
	.vp-intro__photo img { height: auto; object-fit: initial; }
	:root .vp-intro__h2 { margin-top: 30px; }
	.vp-intro__text > p { font-size: 16px; line-height: 24px; }
	.vp-page-content .vp-advantages { padding: 0 20px; }
	:root .vp-script-title--xl { font-size: 36px; line-height: 53px; }
	.vp-letters { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: -10px !important; padding-right: 10px; scrollbar-width: none; }
	.vp-letters::-webkit-scrollbar { display: none; }
	.vp-letters > .vp-letter { flex: 0 0 275px; height: 445px; scroll-snap-align: start; }
}

/* ===================== Телефон: доставка и оплата, частые вопросы ===================== */
@media (max-width: 999px) {
	.vp-page-content .vp-sections.vp-sections--page > .vp-cols2 + .vp-cols2 { margin-block-start: 20px; }
	.vp-cols2 { grid-template-columns: 1fr; gap: 30px; }
	.vp-page-content .vp-sec-title { font-size: 24px; line-height: 29px; }
	.vp-page-content .vp-lead { margin-top: 20px; }
	.vp-dblock + .vp-dblock { margin-top: 16px; }
	.vp-page-content .vp-dblock__title { font-size: 20px; line-height: 24px; }
	.vp-page-contacts .vp-contacts__card { padding: 10px; }
	.vp-faq__item summary { padding-right: 48px; }
}

/* ===================== Телефон: страницы-рассказы (шаблон page-landing) ===================== */
@media (max-width: 999px) {
	.vp-hide-mobile { display: none !important; } /* класс для блоков, которых нет в мобильной версии старого сайта */
	.vp-landing { background: #fafafa; }
	.vp-land.has-global-padding { padding-left: 10px !important; padding-right: 10px !important; }
	.vp-land.is-layout-constrained > * + *,
	.vp-land.is-layout-constrained > .vp-hero + *,
	.vp-land.is-layout-constrained > .vp-cap + *,
	.vp-land.is-layout-constrained > .vp-gap-60,
	.vp-land.is-layout-constrained > .vp-gap-70,
	.vp-land.is-layout-constrained > .vp-gap-96 { margin-block-start: 40px; }
	.vp-land.is-layout-constrained > .vp-cap { margin-block-start: 16px; }
	.vp-landing > .wp-block-template-part { padding-top: 40px; }
	.vp-landing .vp-contact { padding-bottom: 40px; }
	/* оптовые продажи */
	.vp-hero.is-layout-constrained > .vp-hero__buttons--tight { margin-top: 0; }
	.vp-benefits { grid-template-columns: 1fr; gap: 30px; }
	.vp-showcase { grid-template-columns: 1fr; gap: 30px; }
	:root .vp-ltitle { max-width: none; } /* на телефоне и планшете — на всю ширину */
	.vp-land .vp-showcase__title { text-align: left; }
	.vp-btns-full .vp-btn-full .wp-block-button__link { padding-left: 10px; padding-right: 10px; }
	.vp-landing:has(.vp-last-70) > .wp-block-template-part { padding-top: 40px; }
	.vp-land > .vp-hero.alignfull { margin-left: -10px !important; margin-right: -10px !important; max-width: none; }
	.vp-hero--page { height: 100vh; } /* на всю высоту окна, как у старого */
	:root .vp-hero--page .vp-hero__title { font-size: 36px; line-height: 40px; max-width: none; }
	.vp-hero.is-layout-constrained > .vp-hero__sub { font-size: 20px; line-height: 24px; font-weight: 400; }
	.vp-ltext, .vp-ltext--bold { font-size: 20px; line-height: 30px; font-weight: 400; }
	.vp-lrow { grid-template-columns: 1fr; gap: 40px; }
	.vp-lrow__aside .wp-block-buttons { margin-top: 40px; }
	.vp-land .vp-lquote, .vp-land .vp-lquote-sm { font-size: 36px; line-height: 53px; }
	.vp-land .vp-lquote--tall { line-height: 70px; }
	.vp-lphoto { height: auto; aspect-ratio: 2 / 1; border-radius: 24px; }
	.vp-land .vp-cap { font-size: 20px; line-height: 24px; }
}

/* ===================== Телефон: экскурсии ===================== */
@media (max-width: 999px) {
	.vp-land.is-layout-constrained > .vp-mgap-60 { margin-block-start: 60px; }
	.vp-land.is-layout-constrained > .vp-gap-96 { margin-block-start: 66px; }
	.vp-land.is-layout-constrained > .vp-gap-26 { margin-block-start: 26px; }
	.vp-pills { flex-wrap: wrap !important; gap: 20px; }
	.vp-land .vp-tintro { max-width: none; }
	:root .vp-tbig { font-size: 32px; line-height: 38px; }
	.vp-why { grid-template-columns: 1fr; gap: 30px; }
	.vp-land .vp-why__title { margin-top: 16px; font-size: 24px; line-height: 29px; }
	.vp-land .vp-why__sub { font-size: 24px; line-height: 29px; }
	.vp-land .vp-why__text { margin-top: 12px; }

	.vp-trows { gap: 0; }
	.vp-trows > .vp-trow--kids { margin-top: 30px !important; }
	.vp-trow { grid-template-columns: 1fr; gap: 20px; }
	.vp-trow > .vp-tcol:not(.vp-tcol--text) { order: -1; }
	:root .vp-ttitle { margin-top: 16px; font-size: 24px; line-height: 29px; }
	:root .vp-ttitle--green { margin-top: 0; }
	.vp-land .vp-tsub, .vp-land .vp-textra { margin-top: 16px; }
	.vp-tcol--text > .vp-ttitle + .vp-tlead + ul.vp-tlist { margin-top: 16px; }
	.vp-tcol--text > .vp-tbtn { margin-top: 0 !important; padding-top: 16px; }
	.vp-kids { grid-template-columns: 1fr; gap: 0; padding: 10px; }
	.vp-kids > .vp-tphoto { order: -1; }
	.vp-kids > .vp-tcol--text { margin-top: 30px !important; }
	.vp-kids .vp-tnote { margin-top: 16px !important; }

	.vp-land .vp-tpromise { max-width: none; margin-left: -10px !important; margin-right: -10px !important; }
	.vp-prog { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; margin-right: -10px !important; padding-right: 10px; scrollbar-width: none; }
	.vp-prog::-webkit-scrollbar { display: none; }
	.vp-prog > .vp-prog__item { flex: 0 0 275px; scroll-snap-align: start; }
	.vp-prog__img img { height: 241px; }
	.vp-land .vp-tquote { max-width: none; font-size: 28px; line-height: 41px; }
	.vp-banner { height: auto; padding: 20px; }
	.vp-land .vp-banner__title { max-width: 330px; font-size: 36px; line-height: 60px; }
	@media (min-width: 600px) { .vp-land .vp-banner__title { max-width: none; } } /* планшет: в одну строку */
}
/* простой текст 16/24 (политика cookie и др.) */
.vp-sections .vp-text16 { font-size: 16px; line-height: 24px; }

/* ===== Карта сайта: разделы через 40px, ссылки в 4 колонки (265px, между колонками 40) ===== */
.vp-sitemap { display: grid; gap: 40px; }
.vp-sitemap__section > * { margin: 0; }
.vp-sitemap .vp-sitemap__title { margin: 0; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-sitemap__cols { margin-top: 20px !important; columns: 4; column-gap: 40px; }
.vp-sitemap__list { display: grid; gap: 4px; }
.vp-sitemap__link { display: block; font-size: 16px; line-height: 19px; color: var(--vp-brown); text-decoration: none; }
.vp-sitemap__link:hover { color: var(--vp-honey); }
@media (max-width: 999px) {
	.vp-sitemap { grid-template-columns: minmax(0, 1fr); padding-inline: 10px; }
	.vp-sitemap__cols { columns: 1; }
}

/* ===== «Отзывы клиентов»: вступление, форма, слайдер ===== */
.vp-sections.is-layout-constrained > .vp-otz-strong { margin-block-start: 16px; }
.vp-sections.is-layout-constrained > .vp-otz-form { margin-block-start: 30px; }
.vp-sections.is-layout-constrained > .vp-otz-title { margin-block-start: 60px; }
@media (max-width: 999px) {
	/* у старого сайта на этой странице поля 20px (текст 350, карточки отзывов с x=30) */
	.vp-page-otzyvy .vp-page-content .vp-sections { padding-inline: 10px !important; }
	.vp-page-otzyvy .vp-slider--reviews { margin-left: 10px !important; }
	/* вместо формы старый сайт на телефоне пишет «зарегистрируйтесь» — у нас форма; выравниваем, чтобы слайдер стоял на месте */
	.vp-sections.is-layout-constrained > .vp-otz-title { margin-block-start: 56px; }
}

/* ===== Статьи: рубрики слева (354), справа карточки или статья (796) ===== */
.vp-content-page > .vp-articles-layout { margin-top: 40px !important; }
.vp-articles-layout { display: flex; align-items: flex-start; gap: 30px; }
.vp-articles-layout > * { margin: 0 !important; }
.vp-rubrics { flex: 0 0 354px; border-radius: 4px; background: #fff; }
.vp-rubrics__item { display: block; padding: 10px 26px 10px 16px; font-size: 16px; line-height: 19px; color: var(--vp-brown); text-decoration: none; }
.vp-rubrics__item:hover, .vp-rubrics__item.is-active { color: var(--vp-honey); }
.vp-articles-layout > .vp-agrid, .vp-articles-layout > .vp-article { flex: 1 1 auto; min-width: 0; }
.vp-agrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.vp-acard { display: flex; flex-direction: column; height: 355px; border-radius: 8px; background: #fff; box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .08); color: var(--vp-brown); text-decoration: none; overflow: hidden; }
.vp-acard__img { flex: none; height: 205px; }
.vp-acard__img img { display: block; width: 100%; height: 205px; object-fit: cover; border-radius: 8px 8px 0 0; }
.vp-acard__body { flex: 1 1 auto; display: flex; flex-direction: column; padding: 16px; }
.vp-acard__date { font-size: 12px; line-height: 14px; color: rgba(93, 66, 52, .7); }
.vp-acard__title { margin-top: 8px; font-size: 16px; line-height: 19px; font-weight: 700; }
.vp-acard__source { margin-top: 10px; font-size: 16px; line-height: 19px; color: rgba(93, 66, 52, .7); }
.vp-acard__more { margin-top: auto; font-size: 16px; line-height: 19px; color: rgba(93, 66, 52, .7); }
.vp-acard:hover .vp-acard__title, .vp-acard:hover .vp-acard__more { color: var(--vp-honey); }
.vp-article > * { margin: 0 !important; }
.vp-article__image img { display: block; width: 100%; height: 318px; object-fit: cover; border-radius: 8px; } /* как на старом: 796×318 */
.vp-article .vp-article__content { margin-top: 30px !important; font-size: 16px; line-height: 24px; text-align: justify; }
.vp-article__content > * { margin: 0 0 16px !important; }
.vp-article__content > :last-child { margin-bottom: 0 !important; }
.vp-article__content h2 { font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: 0; }
.vp-article__content a { color: #00f; text-decoration: underline; }
.vp-article__content iframe { display: block; max-width: 100%; }
.vp-article .vp-afoot { margin-top: 30px !important; }
.vp-afoot > * { margin: 0; }
.vp-afoot .vp-afoot__date { padding: 30px 0; box-shadow: inset 0 1px 0 rgba(93, 66, 52, .08); font-size: 16px; line-height: 19px; color: rgba(93, 66, 52, .7); }
.vp-afoot__nav { display: flex; justify-content: space-between; gap: 20px; padding: 30px; border-radius: 4px; box-shadow: inset 0 0 0 1px rgba(93, 66, 52, .1); }
.vp-afoot__link { display: flex; flex-direction: column; gap: 8px; color: var(--vp-brown); text-decoration: none; }
.vp-afoot__link--next { margin-left: auto; text-align: right; }
.vp-afoot__label { font-size: 12px; line-height: 14px; color: rgba(93, 66, 52, .7); }
.vp-afoot__title { font-size: 16px; line-height: 19px; font-weight: 700; }
.vp-afoot__link:hover .vp-afoot__title { color: var(--vp-honey); }
.vp-afoot .vp-afoot__all { display: block; margin-top: 40px; padding: 16px 20px; border-radius: 8px; background: rgba(93, 66, 52, .03); color: var(--vp-brown); font-size: 14px; line-height: 17px; text-align: center; text-decoration: none; }
.vp-afoot__all:hover { color: var(--vp-honey); }
.vp-afoot .vp-afoot__popular { display: none; }
.vp-acard__body > :nth-last-child(2) { margin-bottom: 10px; } /* не меньше 10px до «Читать статью» */
@media (max-width: 999px) {
	/* статьи на телефоне — как в мобильной версии старого сайта */
	.vp-content-page > .vp-articles-layout { margin-top: 16px !important; }
	.vp-articles-layout { flex-direction: column; align-items: stretch; gap: 40px; }
	.vp-rubrics { flex: none; display: flex; justify-content: space-evenly; margin: 0 -10px !important; }
	body.category .vp-rubrics { display: none; }
	.vp-agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 30px; }
	.vp-acard { height: 311px; }
	.vp-acard__img, .vp-acard__img img { height: 142px; }
	.vp-article__image img { height: auto; }
	.vp-afoot__nav { padding: 10px; }
	.vp-afoot .vp-afoot__popular { display: block; margin-top: 40px; font-size: 24px; line-height: 29px; font-weight: 700; }
	.vp-afoot .vp-afoot__all { margin: 40px -10px 0; font-size: 16px; line-height: 19px; }
	body.single-post .vp-contact, body.category .vp-contact { display: none; }
}

/* ===== Прайс-лист ===== */
.vp-sections.is-layout-constrained > .vp-plist-top { margin-block-start: 0; }
.vp-plist-top { display: flex; justify-content: flex-end; }
.vp-plist-top .wp-block-button__link {
	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-plist-top .wp-block-button__link:hover { background: rgba(211, 151, 80, .9); }
.vp-sections.is-layout-constrained > .vp-prices-list { margin-block-start: 16px; }
.vp-prices-list { display: flex; flex-direction: column; gap: 20px; }
.vp-stock-list__time, .vp-stock-list__empty { margin: 0; font-size: 14px; line-height: 17px; color: rgba(93, 66, 52, .6); }
.vp-plist { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; font-size: 16px; line-height: 19px; color: var(--vp-brown); }
.vp-plist th, .vp-plist td { padding: 0; border: 0; text-align: left; vertical-align: middle; }
.vp-plist thead th { height: 44px; background: rgba(211, 151, 80, .2); font-weight: 700; }
.vp-plist thead th:first-child { padding-left: 16px; border-radius: 8px 0 0 8px; font-size: 20px; line-height: 24px; }
.vp-plist thead th:last-child { border-radius: 0 8px 8px 0; }
.vp-plist tbody td { height: 51px; box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08); }
.vp-plist tbody td:first-child { padding-left: 16px; }
.vp-plist .vp-plist__name { width: auto; }
.vp-plist .vp-plist__price { width: 156px; padding-left: 16px; text-align: center; }
.vp-plist .vp-plist__stock { width: 172px; padding: 0 16px; text-align: center; }
.vp-plist td.vp-plist__stock.is-in { color: #377852; }
.vp-plist__name a { color: inherit; text-decoration: none; }
.vp-plist__name a:hover { color: var(--vp-honey); }
.vp-plist-sec > .vp-plist__title, .vp-plist__col { display: none; }
@media (max-width: 999px) {
	/* телефон: плашка раздела, под ней «Наименование / Цена / Наличие»; колонка наличия уходит за край (как у старого сайта) */
	.vp-plist-sec { overflow: hidden; }
	.vp-plist-sec > .vp-plist__title { display: block; margin: 0; padding: 10px; border-radius: 8px; background: rgba(211, 151, 80, .2); font-size: 20px; line-height: 24px; font-weight: 700; }
	.vp-plist { width: 512px; }
	.vp-plist thead th { height: auto; padding-top: 16px; background: none; border-radius: 0 !important; font-size: 16px; line-height: 19px; }
	.vp-plist thead th:first-child { padding-left: 0; font-size: 16px; line-height: 19px; }
	.vp-plist__sec { display: none; }
	.vp-plist__col { display: inline; }
	.vp-plist tbody td { height: auto; padding-top: 16px; padding-bottom: 16px; }
	.vp-plist tbody td:first-child { padding-left: 0; }
	.vp-plist .vp-plist__name { width: 200px; }
	.vp-plist .vp-plist__stock { width: 156px; padding-right: 0; }
	/* «Наличие» (vp/stock-list): все три колонки на экране */
	.vp-stock-list .vp-plist { width: 100%; }
	.vp-stock-list .vp-plist .vp-plist__name { width: auto; padding-right: 8px; }
	.vp-stock-list .vp-plist .vp-plist__price { width: 72px; padding-left: 0; }
	.vp-stock-list .vp-plist .vp-plist__stock { width: 104px; padding-left: 8px; padding-right: 0; white-space: nowrap; }
	.vp-stock-list .vp-plist thead .vp-plist__stock { padding-top: 16px; }
}

/* ===== Прайс-лист (по просьбе заказчика, 27.09.2026): заголовок + «Скачать» в строку, общая шапка колонок,
   сворачиваемые разделы, миниатюра с увеличением, «Единица», наличие, «В корзину» и окно выбора ===== */
.vp-content-page > .vp-breadcrumbs + .vp-page-content { margin-top: 0 !important; } /* шаблон page-prays-list: без заголовка в шаблоне */
.vp-sections.is-layout-constrained > .vp-plist-head { margin-block-start: 0; }
:root .vp-plist-head { gap: 16px 24px; }
.vp-plist-head > .vp-page-title { flex: 1 1 auto; }
.vp-plist-head > .vp-plist-top { flex: none; margin: 0 !important; }
.vp-sections.is-layout-constrained > .vp-plist-head + .vp-plist-shop { margin-block-start: 24px; }

.vp-plist-shop { gap: 12px; }
.vp-plist-shop *, .vp-plist-shop *::before, .vp-plist-shop *::after { box-sizing: border-box; }
.vp-plist--shop .vp-plist__c-img { width: 80px; }
.vp-plist--shop .vp-plist__c-code { width: 110px; }
.vp-plist--shop .vp-plist__code { text-align: center; color: var(--vp-brown-70); }
.vp-plist-headrow .vp-plist thead th.vp-plist__code { color: #fff; }
.vp-plist__code-l { display: none; }
/* поиск по прайсу (28.09): по названию и коду, фильтрует строки на месте (site.js «Поиск по прайсу») */
.vp-plist-search { position: relative; display: flex; align-items: center; }
.vp-plist-search__icon { position: absolute; left: 14px; color: var(--vp-brown-70); pointer-events: none; }
/* селектор длиннее общего правила полей темы Ollie (input:not([type=submit]):not([type=radio])) — иначе оно перебивает */
.vp-plist-shop .vp-plist-search input.vp-plist-search__input {
	width: 100%; height: 48px; margin: 0; padding: 0 140px 0 44px; border: 1px solid rgba(93, 66, 52, .15); border-radius: 8px;
	background: #fff; color: var(--vp-brown); font: 400 16px/19px var(--wp--preset--font-family--primary); outline: none;
}
.vp-plist-shop .vp-plist-search input.vp-plist-search__input:focus { border-color: var(--vp-honey); box-shadow: 0 0 0 3px rgba(211, 151, 80, .2); }
.vp-plist-search__input::placeholder { color: rgba(93, 66, 52, .5); }
.vp-plist-search__count { position: absolute; right: 16px; font-size: 14px; line-height: 17px; color: var(--vp-brown-70); pointer-events: none; }
.vp-plist-search__empty { margin: 0; padding: 16px; border-radius: 8px; background: rgba(211, 151, 80, .1); color: var(--vp-brown-70); }
.vp-plist-shop tr[hidden], .vp-plist-shop .vp-plist-sec[hidden], .vp-plist-shop [hidden] { display: none !important; }
.vp-plist--shop .vp-plist__c-unit { width: 130px; }
.vp-plist--shop .vp-plist__c-price { width: 130px; }
.vp-plist--shop .vp-plist__c-stock { width: 150px; }
.vp-plist--shop .vp-plist__c-buy { width: 164px; }
.vp-plist--shop .vp-plist__price, .vp-plist--shop .vp-plist__stock { width: auto; }
.vp-plist--shop .vp-plist__unit { text-align: center; }

/* общая шапка колонок: прилипает под шапкой сайта */
.vp-plist-headrow { position: sticky; top: 72px; z-index: 5; }
@media (min-width: 1000px) and (max-width: 1199px) {
	.vp-plist-headrow { top: 0; } /* здесь закреплённой шапки сайта нет (style.css) */
}
.vp-plist-headrow .vp-plist thead th { height: 44px; background: var(--vp-honey); color: #fff; font-size: 16px; line-height: 19px; }
.vp-plist-headrow .vp-plist thead th:first-child { font-size: 16px; line-height: 19px; }

/* плашка раздела: нажатие сворачивает / разворачивает */
.vp-plist-shop > .vp-plist-sec > summary.vp-plist__title {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 44px;
	margin: 0;
	padding: 10px 16px;
	border-radius: 8px;
	background: rgba(211, 151, 80, .2);
	font-size: 20px;
	line-height: 24px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
	user-select: none;
}
.vp-plist-shop > .vp-plist-sec > summary.vp-plist__title::-webkit-details-marker { display: none; }
.vp-plist-shop > .vp-plist-sec > summary.vp-plist__title::after {
	content: "";
	flex: none;
	width: 24px;
	height: 24px;
	margin-left: auto;
	background: var(--vp-honey);
	-webkit-mask: url(../icons/chevron-down.svg) center / contain no-repeat;
	mask: url(../icons/chevron-down.svg) center / contain no-repeat;
	transition: transform .2s;
}
.vp-plist-shop > .vp-plist-sec:not([open]) > summary.vp-plist__title::after { transform: rotate(-90deg); }
.vp-plist-shop > .vp-plist-sec > summary.vp-plist__title:hover { background: rgba(211, 151, 80, .28); }
.vp-plist__cnt { font-size: 14px; line-height: 17px; font-weight: 400; color: var(--vp-brown-70); }

.vp-plist--shop tbody td { height: auto; padding-top: 8px; padding-bottom: 8px; }
.vp-plist--shop tbody td.vp-plist__name { padding-left: 0; padding-right: 16px; }
.vp-plist__img a { display: block; width: 56px; cursor: zoom-in; }
.vp-plist__thumb { display: block; width: 56px; height: 56px; object-fit: cover; border-radius: 4px; }
.vp-plist__more { display: block; margin-top: 2px; font-size: 12px; line-height: 14px; color: rgba(93, 66, 52, .6); }
.vp-plist__stock-l { display: none; }
.vp-plist--shop .vp-plist__buy { padding-right: 16px; text-align: right; }
.vp-plist__add { gap: 8px; padding: 8px 14px; }
.vp-plist__add svg { flex: none; }

/* увеличенная в 5 раз миниатюра рядом (site.js) */
.vp-zoom {
	position: fixed;
	z-index: 900;
	overflow: hidden;
	border-radius: 8px;
	background: #fff center / cover no-repeat;
	box-shadow: 0 12px 32px -8px rgba(61, 50, 44, .35);
	opacity: 0;
	visibility: hidden;
	transition: opacity .15s, visibility .15s;
}
.vp-zoom.is-visible { opacity: 1; visibility: visible; }
.vp-zoom img { display: block; width: 100%; height: 100%; object-fit: cover; }

.vp-modal--addcart .vp-modal__box { max-width: 480px; padding: 32px; }
.vp-modal--addcart .vp-modal__title { margin-bottom: 20px; }
.vp-addcart__product { display: flex; align-items: center; gap: 16px; margin: 0 0 20px; }
.vp-addcart__img { flex: none; width: 64px; height: 64px; object-fit: cover; border-radius: 4px; }
.vp-addcart__name { margin: 0; font-size: 18px; line-height: 22px; font-weight: 700; }
.vp-addcart__opts { margin: 0 0 20px; }
.vp-addcart__opts[hidden] { display: none; }
.vp-addcart__opts > .vp-field__label { margin: 0 0 8px; }
.vp-addcart__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.vp-chip {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 2px;
	padding: 8px 12px;
	border: 0;
	border-radius: 4px;
	background: var(--vp-honey-10);
	box-shadow: none;
	color: var(--vp-honey);
	font: 400 14px/17px var(--wp--preset--font-family--primary);
	text-align: left;
	cursor: pointer;
}
/* как плашки в карточке товара и вкладки «Описание / Характеристики» */
.vp-chip:hover { background: rgba(211, 151, 80, .2); }
.vp-chip[aria-checked="true"] { background: #fff; box-shadow: inset 0 0 0 1px var(--vp-honey); }
.vp-chip:disabled { opacity: .45; cursor: default; }
.vp-chip__price { font-size: 12px; line-height: 14px; color: var(--vp-brown-70); }
.vp-addcart__row { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.vp-addcart__row .vp-qty { flex: 0 0 160px; }
.vp-addcart__total { margin: 20px 0 0; font-size: 18px; line-height: 22px; }
.vp-modal--addcart .vp-btn--block { margin-top: 16px; }

@media (max-width: 999px) {
	.vp-plist-head > .vp-page-title { padding-inline: 0; text-align: left; }
	.vp-plist-head .wp-block-button__link { white-space: nowrap; }
	.vp-plist-headrow { display: none; } /* на телефоне строки — карточки, колонок нет */
	.vp-plist-shop > .vp-plist-sec { overflow: visible; }
	/* телефон и планшет: строка — карточка «фото | название / единица, цена, кнопка / наличие» */
	.vp-plist.vp-plist--shop { display: block; width: 100%; }
	.vp-plist--shop colgroup, .vp-plist--shop thead { display: none; }
	.vp-plist--shop tbody { display: block; }
	.vp-plist--shop tr {
		display: grid;
		grid-template-columns: 56px auto 1fr auto;
		grid-template-areas: "img name name name" "img code code code" "img unit price buy" "img stock stock buy";
		align-items: center;
		column-gap: 12px;
		padding: 12px 0;
		box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08);
	}
	.vp-plist--shop tbody td { display: block; width: auto !important; height: auto; padding: 0 !important; box-shadow: none; text-align: left; }
	.vp-plist--shop td.vp-plist__img { grid-area: img; align-self: start; }
	.vp-plist--shop td.vp-plist__name { grid-area: name; margin-bottom: 2px; }
	.vp-plist--shop td.vp-plist__code { grid-area: code; margin-bottom: 6px; font-size: 14px; line-height: 17px; text-align: left; }
	.vp-plist__code-l { display: inline; }
	.vp-plist-shop .vp-plist-search input.vp-plist-search__input { padding-right: 16px; }
	.vp-plist-search__count { display: none; }
	.vp-plist--shop td.vp-plist__unit { grid-area: unit; color: var(--vp-brown-70); text-align: left; }
	.vp-plist--shop td.vp-plist__price { grid-area: price; padding-left: 8px !important; font-weight: 700; text-align: left; }
	.vp-plist--shop td.vp-plist__stock { grid-area: stock; margin-top: 4px; font-size: 14px; line-height: 17px; text-align: left; }
	.vp-plist__stock-l { display: inline; }
	.vp-plist--shop td.vp-plist__buy { grid-area: buy; align-self: end; }
	.vp-plist__add { width: 44px; height: 36px; padding: 0; }
	.vp-plist__add span { display: none; }
	.vp-modal--addcart .vp-modal__box { max-height: calc(100vh - 32px); overflow-y: auto; padding: 24px 16px 16px; }
}
@media (max-width: 599px) {
	.vp-plist-shop > .vp-plist-sec > summary.vp-plist__title { font-size: 18px; line-height: 22px; }
}

/* ===== «Медовая палитра» (/event): меню разделов в рамке ===== */
.vp-sections .vp-side-menu { width: 280px; border-radius: 4px; box-shadow: 0 0 0 1px rgba(93, 66, 52, .05); }
.vp-side-menu > * { margin: 0 !important; }
.vp-sections .vp-side-menu__item { font-size: 16px; line-height: 19px; box-shadow: 0 1px 0 0 rgba(93, 66, 52, .05); }
.vp-side-menu__item a { display: block; padding: 16px 20px; color: var(--vp-brown); text-decoration: none; }
.vp-side-menu__item a:hover { color: var(--vp-honey); }
@media (max-width: 999px) {
	.vp-page-event .vp-side-menu { display: none; }
}

/* ===== Страница 404 — как у старого: «404», текст (с его опечаткой), «На главную» ===== */
.vp-404 { padding: 40px 16px; text-align: center; background: #fff; } /* на компьютере фон белый, на телефоне — серый */
.vp-404.is-layout-constrained > * { margin-block: 0; }
:root .vp-404 .vp-404__code { font-size: 32px; line-height: 38px; font-weight: 700; letter-spacing: 0; }
.vp-404.is-layout-constrained > .vp-404__text { margin-top: 10px; font-size: 16px; line-height: 19px; }
.vp-404.is-layout-constrained > .vp-404__btn { margin-top: 16px; }
.vp-404__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-404__btn a:hover { background: rgba(211, 151, 80, .9); color: #fff; }
@media (max-width: 999px) {
	.vp-404.has-global-padding { padding: 40px 32px; background: #fafafa; }
}

/* ===================== Планшет (600–999px) — как у старого: те же блоки, что на телефоне, но шире ===================== */
@media (min-width: 600px) and (max-width: 999px) {
	.vp-tiles { grid-template-columns: 1fr 1fr; }
	.vp-showcase { grid-template-columns: 1fr 1fr; }
	.vp-acard { height: 431px; }
	.vp-acard__img, .vp-acard__img img { height: 300px; }
	/* статья: поля 20px, соседняя статья в рамке с отступом 30px, «Все статьи» — не во всю ширину */
	body.single-post .vp-article-page.has-global-padding { padding-left: 20px !important; padding-right: 20px !important; }
	body.single-post .vp-rubrics { margin: 0 !important; }
	.vp-afoot__nav { margin-top: 40px !important; padding: 30px; }
	.vp-afoot .vp-afoot__all { margin: 80px 0 0; }
	.vp-sitemap__cols { columns: 3; } /* карта сайта: три колонки */
}

/* ===================== Планшет горизонтально (1000–1199px) — как у старого: разделы 2:1 ===================== */
@media (min-width: 1000px) and (max-width: 1199px) {
	.vp-tile { height: auto; aspect-ratio: 2 / 1; }
	:root .vp-recipe__title { min-height: 58px; } /* описания в ряд — на одной высоте, под самым длинным названием */
	.vp-media__img img { height: auto; aspect-ratio: 373 / 312; }
	/* контакты: карта — сколько останется, карточка 330px */
	.vp-contacts { gap: 20px; }
	.vp-contacts__map { flex: 1 1 auto; width: auto; min-width: 0; }
	.vp-contacts__card { flex: 0 0 330px; width: 330px; box-sizing: border-box; }
	/* фото и письма — в тех же пропорциях, что на компьютере */
	.vp-lphoto { height: auto; aspect-ratio: 2 / 1; }
	.vp-letter { height: auto; }
	.vp-letter a, .vp-letter img { height: auto; aspect-ratio: 3 / 5; }
	.vp-prog__img img { height: auto; aspect-ratio: 373 / 327; }
	/* статьи: рубрики 288px, карточки по две в ряд */
	.vp-rubrics { flex: 0 0 288px; }
	.vp-agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.vp-acard { height: auto; }
	.vp-acard__img, .vp-acard__img img { height: auto; aspect-ratio: 245 / 205; }
	.vp-article__image img { height: auto; aspect-ratio: 796 / 318; }
}

/* ===== Первый экран (30.09.2026, просьба заказчика): низ баннера — на 30 px выше нижнего края экрана, на всех ширинах.
   --vp-head-h — высота шапки над баннером (замерено: 138 / 123 / 78 / 68 px), svh — видимая высота экрана телефона
   с панелями браузера. Меньше 440 px не делаем — иначе не поместятся логотип, слоган и кнопка. ===== */
:root { --vp-head-h: 138px; }
@media (max-width: 1199px) { :root { --vp-head-h: 123px; } }
@media (max-width: 999px) { :root { --vp-head-h: 78px; } }
@media (max-width: 599px) { :root { --vp-head-h: 68px; } }
:root .vp-hero {
	height: calc(100vh - var(--vp-head-h) - var(--wp-admin--admin-bar--height, 0px) - 30px);
	height: calc(100svh - var(--vp-head-h) - var(--wp-admin--admin-bar--height, 0px) - 30px);
	min-height: 440px;
}
