/*
Theme Name: Вековая Пасека
Theme URI: https://vekovayapaseka.ru
Description: Дочерняя тема на основе Ollie. Дизайн сайта «Вековая Пасека» один в один: цвета, шрифты и размеры сняты со старого сайта.
Template: ollie
Version: 0.2.0
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Text Domain: vekovaya-paseka
*/

/* ===== Общие ===== */
:root {
	--vp-honey: #D39750;
	--vp-honey-light: #EBA551;
	--vp-brown: #5D4234;
	--vp-brown-70: rgba(93, 66, 52, .7);
	--vp-brown-50: rgba(93, 66, 52, .5);
	--vp-brown-10: rgba(93, 66, 52, .1);
	--vp-brown-08: rgba(93, 66, 52, .08);
	--vp-brown-04: rgba(93, 66, 52, .04);
	--vp-brown-03: rgba(93, 66, 52, .03);
	--vp-honey-10: rgba(211, 151, 80, .1);
	--vp-container: 1440px; /* весь сайт — до 1440px, как на Wildberries (по просьбе заказчика 28.09.2026; было 1180) */
}

body {
	-webkit-font-smoothing: antialiased;
}

/* как на старом сайте: цифры «прописные» (у Alegreya по умолчанию «старинные» — другой ширины), длинные слова переносятся */
html { word-break: break-word; }
body * { font-variant-numeric: lining-nums; }

/* Ollie даёт всем полям лёгкую тень снизу — на старом сайте её нет (свои тени полей заданы ниже более точными правилами) */
input:not([type="submit"]):not([type="radio"]),
select,
textarea { box-shadow: none; }

/* Иконки из CSS для абзацев с классом vp-ico--* (текст правится в редакторе) */
.vp-ico { display: flex; align-items: flex-start; gap: 8px; }
.vp-ico::before {
	content: "";
	flex: 0 0 16px;
	width: 16px;
	height: 16px;
	margin-top: 2px;
	background: currentColor;
	-webkit-mask: var(--vp-ico) center / contain no-repeat;
	mask: var(--vp-ico) center / contain no-repeat;
}
.vp-ico--phone { --vp-ico: url(assets/icons/phone.svg); }
.vp-ico--mail  { --vp-ico: url(assets/icons/mail.svg); }
.vp-ico--pin   { --vp-ico: url(assets/icons/map-pin.svg); }
.vp-ico--clock { --vp-ico: url(assets/icons/clock.svg); }

/* ===== Шапка ===== */
.vp-header {
	position: relative;
	z-index: 50;
	background: #fff;
	box-shadow: 0 5px 1px -5px rgba(93,66,52,.2), 0 6px 4px -6px rgba(93,66,52,.2), 0 8px 20px -13px rgba(93,66,52,.2);
	padding-top: 16px;
	padding-bottom: 10px;
}
.vp-header > * { margin-block: 0; }

.vp-header__top { gap: 20px; min-height: 50px; }
.vp-header__logo { flex: 0 0 auto; margin-right: -1px; }
.vp-header__logo img { width: 138px; height: auto; display: block; }

.vp-hc { gap: 0; flex: 0 0 auto; align-items: center !important; text-align: center; }
.vp-hc p { margin: 0; }
.vp-hc__main { font-size: 16px; line-height: 19px; font-weight: 700; white-space: nowrap; }
.vp-hc__main--regular { font-weight: 400; }
.vp-hc__main a { color: var(--vp-brown); }
.vp-hc__main a:hover { color: var(--vp-honey); }
.vp-hc__sub { font-size: 12px; line-height: 14px; color: var(--vp-brown-50); white-space: nowrap; }
.vp-hc__sub--accent a { color: var(--vp-honey); font-weight: 700; }
.vp-hc__sub--accent a:hover { color: var(--vp-honey-light); }

/* Поиск-«таблетка» (селекторы усилены: у ядра и Ollie свои рамки/отступы) */
.vp-search { flex: 1 1 auto; min-width: 200px; margin: 0; }
.wp-block-search.vp-search .wp-block-search__inside-wrapper {
	position: relative;
	height: 47px;
	padding: 2px;
	border: 0;
	border-radius: 24px;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--vp-brown-08);
}
.vp-search .wp-block-search__inside-wrapper::before {
	content: "";
	position: absolute;
	left: 20px;
	top: 50%;
	width: 14px;
	height: 14px;
	margin-top: -7px;
	background: var(--vp-brown-50);
	-webkit-mask: url(assets/icons/search.svg) center / contain no-repeat;
	mask: url(assets/icons/search.svg) center / contain no-repeat;
}
.wp-block-search.vp-search .wp-block-search__input {
	flex: 1 1 auto;
	height: 43px;
	margin: 0;
	border: 0 !important;
	border-radius: 24px;
	box-shadow: none;
	background: transparent;
	padding: 0 8px 0 40px;
	font-family: inherit;
	font-size: 16px;
	line-height: 19px;
	color: var(--vp-brown);
	min-width: 0;
}
.vp-search .wp-block-search__input::placeholder { color: var(--vp-brown-50); opacity: 1; }
.vp-search .wp-block-search__input:focus { outline: none; }
/* у старого рамка при вводе не меняется, и нет крестика «очистить» */
.vp-search input[type="search"]::-webkit-search-cancel-button, .vp-msearch input[type="search"]::-webkit-search-cancel-button { -webkit-appearance: none; display: none; }
.wp-block-search.vp-search .wp-block-search__button {
	flex: 0 0 auto;
	margin: 0;
	height: 43px;
	padding: 12px 20px;
	border: 0;
	border-radius: 24px;
	background: transparent;
	color: var(--vp-brown);
	font-family: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 19px;
	text-transform: none;
	cursor: pointer;
}
.vp-search .wp-block-search__button:hover { background: var(--vp-honey-10); color: var(--vp-brown); }

/* Результаты поиска — выпадающий список под полем, как у старого сайта (inc/search.php, site.js) */
.vp-search { position: relative; }
.vp-sres {
	position: absolute; right: 0; top: calc(100% + 11px); z-index: 120; width: 500px; max-width: calc(100vw - 20px); box-sizing: border-box;
	padding: 24px 4px 16px; border-radius: 8px; background: #fff; color: var(--vp-brown); text-align: left;
	box-shadow: 0 4px 16px -4px rgba(0, 0, 0, .04), 0 8px 64px -12px rgba(0, 0, 0, .2);
	font-size: 16px; line-height: 19px;
}
.vp-sres[hidden] { display: none; }
.vp-sres > * { margin: 0; }
.vp-sres__close { position: absolute; top: 0; right: 0; width: 56px; height: 56px; padding: 0; border: 0; background: none; color: rgba(93, 66, 52, .6); cursor: pointer; }
.vp-sres__close::before { content: ""; position: absolute; inset: 0; margin: auto; width: 19px; height: 19px; background: currentColor; -webkit-mask: url(assets/icons/x.svg) center / contain no-repeat; mask: url(assets/icons/x.svg) center / contain no-repeat; }
.vp-sres__close:hover { color: var(--vp-honey); }
.vp-sres__title { padding-left: 20px; font-size: 20px; line-height: 24px; }
.vp-sres__title strong { font-weight: 700; }
.vp-sres__title span { color: rgba(93, 66, 52, .6); }
.vp-sres .vp-sres__label { margin-top: 12px; padding-left: 20px; color: rgba(93, 66, 52, .6); }
.vp-sres .vp-sres__goods { display: grid; gap: 2px; max-height: 198px; overflow: auto; margin: 12px 0 16px; }
.vp-sres__good { display: flex; align-items: center; padding: 4px 20px; color: var(--vp-brown); text-decoration: none; }
.vp-sres__img { flex: 0 0 40px; height: 40px; margin-right: 12px; border-radius: 8px; background: center / contain no-repeat; }
.vp-sres__info { min-width: 0; }
.vp-sres__name { display: block; }
.vp-sres__price { display: block; margin-top: 2px; font-size: 12px; line-height: 14px; color: rgba(93, 66, 52, .6); }
.vp-sres .vp-sres__items { display: grid; gap: 2px; max-height: 142px; overflow: auto; margin-top: 8px; }
.vp-sres__item { display: block; padding: 8px 20px; color: var(--vp-brown); text-decoration: none; }
.vp-sres__good:hover, .vp-sres__item:hover { color: var(--vp-honey); }

/* Шапка (по просьбе заказчика 27.09.2026): у телефона «сноска» — окно с почтой и режимом работы, оформлено как результаты поиска */
.vp-hphone .vp-hc__main { position: relative; display: flex; align-items: center; gap: 6px; }
.vp-hphone__tip { display: flex; }
.vp-hphone__more { position: relative; flex: none; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: var(--vp-honey-10); color: var(--vp-honey); cursor: pointer; }
.vp-hphone__more::before { content: ""; position: absolute; inset: 0; margin: auto; width: 14px; height: 14px; background: currentColor; -webkit-mask: url(assets/icons/chevron-down.svg) center / contain no-repeat; mask: url(assets/icons/chevron-down.svg) center / contain no-repeat; transition: transform .2s; }
.vp-hphone__tip:hover .vp-hphone__more, .vp-hphone.is-open .vp-hphone__more { background: var(--vp-honey); color: #fff; }
.vp-hphone__tip:hover .vp-hphone__more::before, .vp-hphone.is-open .vp-hphone__more::before { transform: rotate(180deg); }
.vp-hphone__pop {
	position: absolute; left: -20px; top: calc(100% + 11px); z-index: 120; display: grid; width: 320px; box-sizing: border-box;
	padding: 24px 4px 16px; border-radius: 8px; background: #fff; color: var(--vp-brown); text-align: left; white-space: normal;
	box-shadow: 0 4px 16px -4px rgba(0, 0, 0, .04), 0 8px 64px -12px rgba(0, 0, 0, .2);
	font-size: 16px; line-height: 19px; font-weight: 400;
	opacity: 0; visibility: hidden; transition: opacity .15s, visibility .15s;
}
.vp-hphone__pop::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 16px; } /* «мостик»: окно не закрывается, пока мышь идёт к нему */
.vp-hphone__tip:hover .vp-hphone__pop, .vp-hphone__tip:focus-within .vp-hphone__pop, .vp-hphone.is-open .vp-hphone__pop { opacity: 1; visibility: visible; }
.vp-hphone.is-closed .vp-hphone__pop { opacity: 0; visibility: hidden; } /* нажали крестик — прячем, пока мышь не уйдёт */
.vp-hphone__close { position: absolute; top: 0; right: 0; width: 56px; height: 56px; padding: 0; border: 0; background: none; color: rgba(93, 66, 52, .6); cursor: pointer; }
.vp-hphone__close::before { content: ""; position: absolute; inset: 0; margin: auto; width: 19px; height: 19px; background: currentColor; -webkit-mask: url(assets/icons/x.svg) center / contain no-repeat; mask: url(assets/icons/x.svg) center / contain no-repeat; }
.vp-hphone__close:hover { color: var(--vp-honey); }
.vp-hphone__title { padding-left: 20px; margin-bottom: 12px; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-hphone__item { display: flex; align-items: center; padding: 4px 20px; color: var(--vp-brown); text-decoration: none; }
.vp-hc__main a.vp-hphone__item { color: var(--vp-brown); }
.vp-hphone__ico { position: relative; flex: 0 0 40px; height: 40px; margin-right: 12px; border-radius: 8px; background: var(--vp-honey-10); }
.vp-hphone__ico::before { content: ""; position: absolute; inset: 0; margin: auto; width: 20px; height: 20px; background: var(--vp-honey); -webkit-mask: var(--vp-ico) center / contain no-repeat; mask: var(--vp-ico) center / contain no-repeat; }
.vp-hphone__ico--mail { --vp-ico: url(assets/icons/mail.svg); }
.vp-hphone__ico--clock { --vp-ico: url(assets/icons/clock.svg); }
.vp-hphone__info { min-width: 0; }
.vp-hphone__name { display: block; }
.vp-hphone__sub { display: block; margin-top: 2px; font-size: 12px; line-height: 14px; color: rgba(93, 66, 52, .6); }
.vp-hc__main a.vp-hphone__item:hover .vp-hphone__name { color: var(--vp-honey); }

/* мессенджеры — те же круглые фирменные значки, что в подвале (.vp-footer__msg), 42px */
.vp-header .vp-header__msg { display: flex; flex: 0 0 auto; gap: 8px; margin: 0 !important; }
.vp-header .vp-header__msg a, .vp-header .vp-header__msg img { width: 42px; height: 42px; }

/* корзина в верхней строке — точно как «Избранное» и «Личный кабинет»: контурный значок 20px, под ним подпись 12px;
   число — красный кружок. .vp-cart.vp-cart--stack — сильнее общих правил .vp-cart ниже по файлу */
.vp-cart.vp-cart--stack { flex-direction: column; gap: 5px; min-width: 55px; color: var(--vp-brown-70); font-size: 12px; line-height: 14px; }
.vp-cart.vp-cart--stack .vp-cart__icon { display: flex; width: auto; height: auto; padding: 0; border-radius: 0; background: none; color: var(--vp-brown); }
.vp-cart.vp-cart--stack .vp-cart__icon svg { width: 20px; height: 20px; }
.vp-cart.vp-cart--stack.has-items .vp-cart__icon svg,
.vp-header__top .vp-wishlist-link.has-items .vp-wishlist-link__icon svg { fill: none; } /* три значка всегда контурные, наличие показывают кружки */
.vp-cart.vp-cart--stack:hover { color: var(--vp-honey); }
.vp-cart.vp-cart--stack:hover .vp-cart__icon { background: none; color: var(--vp-honey); }
.vp-cart.vp-cart--stack .vp-cart__text { display: block; min-width: 0; }
.vp-cart.vp-cart--stack .vp-cart__title { display: block; font-size: 12px; line-height: 14px; font-weight: 400; text-transform: none; color: inherit; }
.vp-cart.vp-cart--stack .vp-cart__count, .vp-cart.vp-cart--stack .vp-cart__sub { display: none !important; }
.vp-cart.vp-cart--stack .vp-cart__badge { top: -6px; right: -10px; } /* как у «Избранного» */

/* WhatsApp / Telegram в шапке */
.vp-header__messengers { gap: 8px !important; margin: 0 0 0 -4px !important; padding: 0; flex: 0 0 auto; }
.vp-header__messengers .wp-social-link,
.vp-socials .wp-social-link,
.vp-footer__social .wp-social-link {
	width: 42px;
	height: 42px;
	margin: 0 !important;
	border-radius: 24px;
	background: transparent !important;
	color: var(--vp-honey-light) !important;
	box-shadow: 0 0 0 1px var(--vp-brown-10);
	transition: background-color .2s;
}
.vp-header__messengers .wp-social-link:hover,
.vp-socials .wp-social-link:hover { background: var(--vp-honey-10) !important; transform: none; }
.vp-header__messengers .wp-social-link a,
.vp-socials .wp-social-link a,
.vp-footer__social .wp-social-link a { width: 100%; height: 100%; padding: 12px; display: flex; align-items: center; justify-content: center; }
.vp-header__messengers .wp-social-link svg,
.vp-socials .wp-social-link svg,
.vp-footer__social .wp-social-link svg { width: 21px; height: 21px; flex: 0 0 auto; }
/* значки-маски (Telegram, ВК, Дзен): на старом сайте глиф занимает всю клетку 18px */
.vp-header__messengers .wp-social-link a::before,
.vp-socials .wp-social-link a::before,
.vp-footer__social .wp-social-link a::before { flex: 0 0 auto; width: 20px !important; height: 20px !important; }
/* Telegram в шапке старого сайта — контурный «самолётик» (в подвале — залитый, как в ядре) */
.vp-header__messengers .wp-social-link-telegram svg,
.vp-socials .wp-social-link-telegram svg { display: none; }
.vp-header__messengers .wp-social-link-telegram a::before,
.vp-socials .wp-social-link-telegram a::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url(assets/icons/telegram-outline.svg) center / contain no-repeat;
	mask: url(assets/icons/telegram-outline.svg) center / contain no-repeat;
}

/* Избранное */
.vp-wishlist-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 5px;
	min-width: 55px;
	color: var(--vp-brown-70);
	font-size: 12px;
	line-height: 14px;
	text-decoration: none;
}
.vp-wishlist-link:hover { color: var(--vp-honey); }
.vp-wishlist-link__icon { position: relative; color: var(--vp-brown); display: flex; }
.vp-wishlist-link.has-items .vp-wishlist-link__icon svg { fill: currentColor; } /* пустое избранное — контур, с товарами — заливка */
.vp-wishlist-link:hover .vp-wishlist-link__icon { color: var(--vp-honey); }
.vp-wishlist-link__count,
.vp-cart__badge {
	position: absolute;
	top: -6px;
	right: -10px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 8px;
	background: var(--vp-honey);
	color: #fff;
	font-size: 10px;
	line-height: 16px;
	font-weight: 700;
	text-align: center;
}
.vp-wishlist-link__count[hidden] { display: none; }
/* кружок с числом товаров у корзины — такой же, как у «Избранного» (медовый, 16px; по просьбе заказчика 28.09.2026, раньше красный), число ставит site.js */
.vp-cart__icon { position: relative; }
.vp-cart__badge { z-index: 1; pointer-events: none; }
.vp-cart__badge[hidden] { display: none; }
.vp-cart__badge.is-bump { animation: vpBadgeBump .35s ease-out; }
@keyframes vpBadgeBump { 0% { transform: scale(.4); } 60% { transform: scale(1.25); } 100% { transform: scale(1); } }

/* Вторая строка шапки */
.vp-header__bottom { margin-top: 10px !important; min-height: 52px; }
.vp-header__navwrap { gap: 0; }

.vp-catalog { position: static; }
.vp-catalog__toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 52px;
	padding: 16px 20px;
	border: 0;
	border-radius: 8px;
	background: var(--vp-brown-03);
	color: var(--vp-brown);
	font: 700 16px/19px var(--wp--preset--font-family--primary);
	cursor: pointer;
	transition: background-color .2s, color .2s;
}
.vp-catalog__toggle:hover,
.vp-catalog.is-open .vp-catalog__toggle { background: var(--vp-honey-10); color: var(--vp-honey); }

.vp-catalog__panel {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	background: #fff;
	box-shadow: 0 20px 30px -20px rgba(93,66,52,.3);
	border-top: 1px solid var(--vp-brown-08);
}
.vp-catalog__panel[hidden] { display: none; }
.vp-catalog__inner {
	max-width: var(--vp-container);
	margin: 0 auto;
	padding: 30px 0 40px;
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 26px;
}
.vp-catalog__tabs { list-style: none; margin: 0; padding: 0; }
.vp-catalog__tab {
	display: block;
	padding: 8px 0;
	color: var(--vp-brown);
	font-size: 16px;
	line-height: 19px;
}
.vp-catalog__tab:hover,
.vp-catalog__tab.is-active { color: var(--vp-honey); }
.vp-catalog__pane { display: none; }
.vp-catalog__pane.is-active { display: block; }
.vp-catalog__title { margin: 0 0 20px; font-size: 24px; line-height: 29px; font-weight: 700; }
.vp-catalog__links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 199px);
	gap: 16px 8px;
}
.vp-catalog__links a { color: var(--vp-brown); font-weight: 700; font-size: 16px; line-height: 19px; }
.vp-catalog__links a:hover { color: var(--vp-honey); }

/* Главное меню */
/* селекторы усилены: раскладка ядра обнуляет отступы детей flex-групп, а навигация наследует цвет */
.vp-header__navwrap > .wp-block-navigation.vp-mainnav { margin-left: 32px; gap: 26px; flex-shrink: 0; }
.vp-mainnav .wp-block-navigation__container { gap: 26px; flex-wrap: nowrap; }
.vp-mainnav .wp-block-navigation-item { white-space: nowrap; }
.wp-block-navigation.vp-mainnav .wp-block-navigation-item__content { color: var(--vp-brown-70); font-size: 16px; line-height: 19px; font-weight: 400; padding: 0; white-space: nowrap; }
/* Ollie ставит меню полужирным (500) — у старого сайта обычный шрифт */
:root .wp-block-navigation { font-weight: 400; }
.wp-block-navigation.vp-mainnav .wp-block-navigation-item__content:hover { color: var(--vp-honey); }
.wp-block-navigation.vp-mainnav .vp-nav-strong > .wp-block-navigation-item__content { color: var(--vp-brown); font-weight: 700; }
.vp-mainnav .wp-block-navigation__submenu-icon { width: 12px; height: 12px; margin-left: 3px; color: var(--vp-brown); }
.vp-mainnav .wp-block-navigation__submenu-container {
	min-width: 220px !important;
	padding: 8px 0 !important;
	border: 0 !important;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 10px 30px -10px rgba(93,66,52,.3);
	top: calc(100% + 10px) !important;
}
/* «мостик» над списком: между пунктом и списком 10px пустоты — без него список закрывался, пока мышь шла к нему */
.vp-mainnav .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: 14px; }
.vp-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 8px 16px; color: var(--vp-brown); }
.vp-mainnav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--vp-honey); }

/* Закреплённая шапка: появляется при прокрутке ниже 135px (класс vp-scrolled ставит site.js) */
.vp-sticky {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 60;
	height: 72px;
	margin: 0 !important;
	background: #fff;
	box-shadow: 0 5px 1px -5px rgba(93,66,52,.2), 0 6px 4px -6px rgba(93,66,52,.2), 0 8px 20px -13px rgba(93,66,52,.2);
	transform: translateY(-20px);
	opacity: 0;
	visibility: hidden;
	transition: transform .15s cubic-bezier(.455,.03,.515,.955), opacity .15s cubic-bezier(.455,.03,.515,.955), visibility 0s .15s;
}
.vp-scrolled .vp-sticky { transform: none; opacity: 1; visibility: visible; transition-delay: 0s; }
.vp-sticky > * { margin-block: 0; }
.vp-sticky__row { height: 72px; gap: 0; }
.vp-sticky__row > * { margin: 0 !important; }
.vp-sticky .vp-header__logo { margin-right: 20px !important; }
.vp-sticky__row > .wp-block-navigation.vp-sticky__nav { margin-left: 22px !important; flex: 1 1 auto; min-width: 0; }
.vp-sticky__nav .wp-block-navigation__container { gap: 24px; }
.vp-sticky__nav .vp-nav-strong { margin-right: -3px; }
.vp-sticky .vp-wishlist-link--icon { min-width: 40px; width: 40px; height: 40px; justify-content: center; margin-right: 20px !important; }
.vp-sticky .vp-wishlist-link--icon .vp-wishlist-link__label { display: none; }
/* не сжиматься и не переносить строки — места не хватает только меню, лишние пункты site.js уносит в «Еще» */
.vp-sticky__row > :not(.vp-sticky__nav) { flex-shrink: 0; }
.vp-sticky .vp-catalog__toggle { white-space: nowrap; }
.vp-sticky .vp-cart.vp-cart--stack { width: 40px; min-width: 40px; height: 40px; justify-content: center; }
.vp-sticky .vp-cart.vp-cart--stack .vp-cart__text { display: none; }
.vp-sticky__nav .vp-sticky-more > .wp-block-navigation__submenu-container { left: auto !important; right: 0 !important; }
.vp-sticky .vp-catalog__panel { top: 72px; }

/* Кнопка «Наверх» */
.vp-totop {
	position: fixed;
	right: 20px;
	bottom: 32px;
	z-index: 55;
	width: 48px;
	height: 48px;
	border: 0;
	border-radius: 50%;
	background: #fff;
	box-shadow: inset 0 0 0 1px var(--vp-honey);
	color: var(--vp-honey);
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(20px);
	transition: transform .15s cubic-bezier(.455,.03,.515,.955), opacity .15s cubic-bezier(.455,.03,.515,.955), visibility 0s .15s, background-color .2s;
}
.vp-totop::before {
	content: "";
	position: absolute;
	inset: 0;
	margin: auto;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url(assets/icons/arrow-up.svg) center / contain no-repeat;
	mask: url(assets/icons/arrow-up.svg) center / contain no-repeat;
}
.vp-totop:hover { background: var(--vp-honey); color: #fff; }
.vp-scrolled-far .vp-totop { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

/* Плашка cookie */
.vp-cookie {
	position: fixed;
	left: 20px;
	bottom: 20px;
	z-index: 99999;
	width: 360px;
	padding: 20px;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 40px -10px rgba(93,66,52,.2), 0 0 0 1px rgba(93,66,52,.04);
	color: var(--vp-brown);
	font-size: 16px;
	line-height: 19px;
	box-sizing: border-box;
}
.vp-cookie[hidden] { display: none; }
.vp-cookie p { margin: 0; }
.vp-cookie a { color: var(--vp-honey); text-decoration: none; }
.vp-cookie a:hover { color: var(--vp-honey-light); }
.vp-cookie__buttons { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.vp-cookie__btn {
	height: 33px;
	padding: 8px 12px;
	border: 0;
	border-radius: 6px;
	font: 700 14px/17px var(--wp--preset--font-family--primary);
	cursor: pointer;
}
.vp-cookie__btn--accept { background: var(--vp-honey); color: #fff; }
.vp-cookie__btn--accept:hover { background: var(--vp-honey-light); }
.vp-cookie__btn--decline { background: rgba(93, 66, 52, .06); color: var(--vp-brown-70); font-weight: 400; }
.vp-cookie__btn--decline:hover { background: var(--vp-brown-08); }

/* Корзина в шапке */
.vp-cart { display: flex; align-items: center; gap: 8px; color: var(--vp-brown); text-decoration: none; }
.vp-cart__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: var(--vp-brown-03);
	color: #000;
}
.vp-cart__icon svg { width: 22px; height: 22px; flex: 0 0 auto; }
.vp-cart.has-items .vp-cart__icon svg { fill: currentColor; } /* как на старом сайте: пустая корзина — контур, с товарами — заливка */
.vp-cart:hover .vp-cart__icon { background: var(--vp-honey-10); color: var(--vp-honey); }
.vp-cart__text { display: flex; flex-direction: column; min-width: 70px; }
.vp-cart__title { font-size: 16px; line-height: 19px; font-weight: 700; text-transform: uppercase; color: var(--vp-brown); }
.vp-cart__count::before { content: " ("; }
.vp-cart__count::after { content: ")"; }
.vp-cart__count[hidden] { display: none; }
.vp-cart__sub { font-size: 12px; line-height: 14px; color: var(--vp-brown-70); white-space: nowrap; }

/* ===== Подвал ===== */
.vp-footer { background: var(--vp-brown); color: #fff; padding-top: 80px; margin-top: 0; }
.vp-footer a { color: inherit; }
.vp-footer__main > * + * { margin-block-start: 0; }
.vp-footer__row > .vp-footer__logo { flex: 0 0 auto; margin: 0 !important; } /* справа, по верхнему краю колонок (28.09) */
@media (min-width: 1200px) { /* по середине свободного места справа от соцсетей */
	.vp-footer__row > .vp-footer__logo { flex: 1 1 auto; display: flex; justify-content: center; }
}
.vp-footer__logo img { width: 200px; height: auto; display: block; }
/* значок рейтинга Яндекса под логотипом (код заказчика 29.09.2026); грузится, только когда подвал близко (loading="lazy") */
.vp-footer__logo { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.vp-footer__logo > * { margin: 0 !important; }
.vp-footer__rating { width: 150px; height: 50px; }
.vp-footer__rating iframe { display: block; width: 150px; height: 50px; border: 0; }
.vp-footer__row { align-items: flex-start !important; }
.vp-footer__menus { gap: 0; }
.vp-footer__col { width: 180px; gap: 20px; }
.vp-footer__col p { margin: 0; }
.vp-footer__title { font-size: 16px; line-height: 19px; font-weight: 700; color: #fff; margin-bottom: 10px !important; }
.vp-footer__nav .wp-block-navigation__container,
.vp-footer__nav { gap: 0 !important; }
.wp-block-navigation.vp-footer__nav .wp-block-navigation-item__content {
	padding: 10px 10px 10px 0;
	font-size: 16px;
	line-height: 19px;
	font-weight: 400;
	color: rgba(255,255,255,.7);
}
.wp-block-navigation.vp-footer__nav .wp-block-navigation-item__content:hover { color: #fff; }
.vp-footer__nav--legal .wp-block-navigation__container { gap: 16px !important; }
.vp-footer__contacts-wrap { gap: 40px; align-items: flex-end !important; }
.vp-footer__contacts { gap: 16px; align-items: center !important; }
.vp-footer__contacts p { margin: 0; font-size: 16px; line-height: 20px; }
.vp-footer__contacts .vp-ico { gap: 10px; }
.vp-footer__contacts .vp-ico::before { flex-basis: 20px; width: 20px; height: 20px; margin-top: 0; color: #fff; }
.vp-footer__address { max-width: 250px; line-height: 19px !important; }
.vp-footer__hours { color: rgba(255,255,255,.7); }
.vp-footer__social { gap: 16px !important; margin: 0 !important; padding: 0; }
.vp-footer__social .wp-social-link { color: #fff !important; box-shadow: 0 0 0 1px rgba(255,255,255,.2); }
.vp-footer__social .wp-social-link:hover { background: rgba(255,255,255,.1) !important; transform: none; }
.vp-footer__social .vp-social-dzen svg,
.vp-socials .vp-social-dzen svg,
.vp-socials .wp-social-link-vk svg { display: none; }
.vp-socials .wp-social-link-vk a::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url(assets/icons/vk-square.svg) center / contain no-repeat;
	mask: url(assets/icons/vk-square.svg) center / contain no-repeat;
}
.vp-footer__social .vp-social-dzen a::before,
.vp-socials .vp-social-dzen a::before {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url(assets/icons/dzen-square.svg) center / contain no-repeat;
	mask: url(assets/icons/dzen-square.svg) center / contain no-repeat;
}
/* Подвал: ВК и Telegram — залитые, как на старом сайте */
.vp-footer__social .wp-social-link-vk svg,
.vp-footer__social .wp-social-link-telegram svg { display: none; }
.vp-footer__social .wp-social-link-vk a::before,
.vp-footer__social .wp-social-link-telegram a::before {
	content: "";
	background: currentColor;
	-webkit-mask: var(--vp-soc) center / contain no-repeat;
	mask: var(--vp-soc) center / contain no-repeat;
}
.vp-footer__social .wp-social-link-vk { --vp-soc: url(assets/icons/brand-vk.svg); }
.vp-footer__social .wp-social-link-telegram { --vp-soc: url(assets/icons/telegram-fill.svg); }
.vp-footer__bottom {
	margin-top: 80px !important;
	padding: 30px 0;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.vp-footer__pay { gap: 20px; }
.vp-footer__pay figure { margin: 0; }
/* колонка «Контакты» (по просьбе заказчика): телефон, почта, адрес, время, «Контакты подробно», «Реквизиты», мессенджеры */
.vp-footer__col--contacts { width: 360px; }
.vp-footer__clist { gap: 0 !important; }
.vp-footer__clist > p { margin: 0; padding: 10px 0; font-size: 16px; line-height: 19px; color: #fff; }
.vp-footer__clist > .vp-ico { gap: 10px; }
.vp-footer__clist > .vp-ico::before { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 0; color: #fff; }
.vp-footer__clist a { color: #fff; text-decoration: none; }
.vp-footer__clist a:hover { color: var(--vp-honey-light); }
.vp-footer__clist > .vp-footer__req { padding-left: 30px; }
.vp-footer__clist > .vp-footer__hours { color: #fff; }
.vp-footer__clist > .vp-footer__address { max-width: none; }
/* ряд мессенджеров (MAX, Telegram, WhatsApp) — фирменные круглые значки */
.vp-footer__clist > .vp-footer__msg { display: flex; gap: 12px; padding-top: 12px; }
.vp-footer__msg a { display: block; width: 44px; height: 44px; border-radius: 50%; transition: transform .2s, box-shadow .2s; }
.vp-footer__msg a:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0,0,0,.25); }
.vp-footer__msg img { display: block; width: 44px; height: 44px; }
/* колонка «Социальные сети»: значок, название, подписчики (блок vp/social-list) */
.vp-footer__col--social { width: auto; }
.vp-slist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.vp-slist__item { margin: 0; }
.vp-slist__link { display: flex; align-items: center; gap: 12px; color: #fff; text-decoration: none; }
.vp-slist__icon { position: relative; flex: 0 0 42px; height: 42px; border-radius: 50%; box-shadow: 0 0 0 1px rgba(255,255,255,.2); transition: background-color .2s; }
.vp-slist__icon::before { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; background: #fff; -webkit-mask: var(--vp-soc) center / contain no-repeat; mask: var(--vp-soc) center / contain no-repeat; }
.vp-slist__icon--dzen { --vp-soc: url(assets/icons/dzen-square.svg); }
.vp-slist__icon--vk { --vp-soc: url(assets/icons/brand-vk.svg); }
.vp-slist__icon--tg { --vp-soc: url(assets/icons/telegram-fill.svg); }
.vp-slist__icon--max { --vp-soc: url(assets/icons/brand-max.svg); }
.vp-slist__icon--ok { --vp-soc: url(assets/icons/brand-ok.svg); }
.vp-slist__icon--yt { --vp-soc: url(assets/icons/brand-youtube.svg); }
.vp-slist__icon--vkv { --vp-soc: url(assets/icons/brand-vkvideo.svg); }
.vp-slist__link:hover .vp-slist__icon { background: rgba(255,255,255,.1); }
.vp-slist__text { display: flex; flex-direction: column; gap: 2px; }
.vp-slist__name { font-size: 16px; line-height: 19px; }
.vp-slist__count { font-size: 12px; line-height: 14px; color: rgba(255,255,255,.7); }
.vp-slist__link:hover .vp-slist__name { color: var(--vp-honey-light); }
.vp-footer__clist > .vp-footer__req a { color: rgba(255,255,255,.7); }
.vp-footer__clist > .vp-footer__req a:hover { color: #fff; }
.vp-footer > .vp-footer__credit { margin-block-start: 0; box-shadow: inset 0 1px 0 rgba(255,255,255,.2); padding: 8px 0; }
.vp-footer__credit p { margin: 0; color: rgba(255,255,255,.7); font-size: 16px; line-height: 19px; }

/* Шаблоны Ollie добавляют отступ перед подвалом — убираем */
.wp-site-blocks > footer { margin-block-start: 0; }
.wp-site-blocks > main,
.wp-site-blocks > .vp-page { margin-block-start: 0; }

/* ===== Общие элементы страниц ===== */
.vp-page { padding-top: 33px; padding-bottom: 116px; }
.vp-page.vp-product-page { padding-top: 30px; padding-bottom: 100px; } /* у страницы товара на старом сайте крошки на 3px выше, а до подвала 100px */
.vp-page > * { margin-block-start: 0; }
.vp-card { background: #fff; border-radius: 4px; }

/* Хлебные крошки: «Главная страница — Раздел — Товар» */
.vp-page > .vp-breadcrumbs {
	max-width: var(--vp-container) !important;
	margin: 0 auto 35px !important;
}
.vp-bc { display: flex; flex-wrap: nowrap; align-items: center; font-size: 12px; line-height: 14px; color: var(--vp-brown-70); }
/* стрелка «назад» в раздел и домик вместо «Главная страница»; строка не переносится — листается вбок, как карусель
   (functions.php, render_block_woocommerce/breadcrumbs; 30.09.2026) */
.vp-bc-back { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-right: 12px; border-radius: 50%; background: var(--vp-honey); color: #fff !important; box-shadow: 0 2px 6px rgba(211, 151, 80, .35); transition: background-color .15s, transform .15s; }
.vp-bc-back:hover { background: var(--vp-brown); transform: translateX(-2px); }
.vp-bc-back .vp-icon { transform: scaleX(-1); }
.vp-bc-list { display: flex; align-items: center; min-width: 0; overflow-x: auto; white-space: nowrap; scrollbar-width: none; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.vp-bc-list::-webkit-scrollbar { display: none; }
.vp-bc-home { display: inline-flex; align-items: center; color: var(--vp-brown-70); }
.vp-bc-home .vp-icon { display: block; }
.vp-bc a { color: var(--vp-brown-70); }
.vp-bc a:hover { color: var(--vp-honey); }
.vp-bc-sep { display: inline-flex; flex: none; margin: 0 6px; color: rgba(93, 66, 52, .45); } /* маленькая стрелка «›» вместо тире (просьба заказчика 30.09.2026) */
.vp-bc-sep .vp-icon { display: block; }
.vp-bc-item:last-child { color: var(--vp-honey); }

/* ===== Карточка товара ===== */
:root .vp-product { gap: 20px; align-items: flex-start !important; } /* WordPress ставит свой зазор 15px */
.vp-product__left { flex: 0 0 835px; width: 835px; min-width: 0; }
.vp-product__left > * + * { margin-block-start: 20px; }
.vp-product__main { padding: 16px 20px 16px 16px; gap: 36px; align-items: flex-start !important; } /* справа 20px: у старого колонка с названием 311px — длинные названия переносятся так же */

.vp-gallery { flex: 0 0 452px; width: 452px; gap: 14px; }
.vp-gallery .wc-block-product-gallery-large-image,
.vp-gallery .wc-block-product-gallery-large-image__container { width: 452px; }
.vp-gallery .wc-block-product-gallery-large-image img { width: 452px; height: 452px; object-fit: cover; border-radius: 0; }
.vp-gallery .wc-block-next-previous-buttons__button {
	width: 40px;
	height: 60px;
	border: 0;
	border-radius: 20px;
	background: rgba(255,255,255,.8);
	color: var(--vp-brown);
	box-shadow: none;
	opacity: 0;
	transition: opacity .2s;
}
.vp-gallery:hover .wc-block-next-previous-buttons__button { opacity: 1; }
.vp-gallery .wc-block-product-gallery-thumbnails { width: 452px; aspect-ratio: auto !important; height: auto !important; }
.vp-gallery .wc-block-product-gallery-thumbnails__scrollable { height: auto !important; }
.vp-gallery .wc-block-product-gallery-thumbnails__scrollable { flex-direction: row !important; gap: 20px; padding: 2px; overflow-x: auto; scrollbar-width: none; }
.vp-gallery .wc-block-product-gallery-thumbnails__thumbnail { flex: 0 0 96px !important; width: 96px !important; height: 96px; }
.vp-gallery .wc-block-product-gallery-thumbnails__thumbnail__image { width: 96px; height: 96px; object-fit: cover; border-radius: 4px; }
.vp-gallery .wc-block-product-gallery-thumbnails__thumbnail__image--is-active { outline: 2px solid var(--vp-honey); outline-offset: 0; }

/* ----- Карточка товара как на Wildberries (28.09.2026, по просьбе заказчика) -----
   Ширина страницы товара до 1440px с полями 32px (на WB: фото 620 | описание | покупка 340, зазоры 32).
   Фото и видео — блок vp/product-media: миниатюры слева, большое фото 3:4, первым видео. */
@media (min-width: 1200px) {
	.vp-page.vp-product-page { --vp-container: 1440px; padding-left: 32px; padding-right: 32px; }
	.vp-product-page > * { max-width: 1440px !important; }
	:root .vp-product { gap: 32px; }
	.vp-product__left { flex: 1 1 auto; width: auto; }
	.vp-product-page .vp-buybox { flex: 0 0 340px; width: 340px; }
	.vp-product__main { gap: 32px; }
	/* шапка (и закреплённая), выпадающий каталог и подвал — той же ширины, что карточка товара */
	.vp-header.has-global-padding, .vp-sticky.has-global-padding, .vp-footer__main.has-global-padding { padding-left: 32px; padding-right: 32px; }
	.vp-header > *, .vp-sticky > *, .vp-footer__main > * { max-width: 1440px !important; }
	.vp-catalog__inner { box-sizing: border-box; max-width: 1504px; padding-left: 32px; padding-right: 32px; }
}
.vp-pmedia { position: relative; display: grid; grid-template-columns: clamp(64px, 13.5%, 84px) minmax(0, 1fr); gap: 8px; flex: 0 0 min(620px, 58%); width: min(620px, 58%); min-width: 0; }
.vp-pmedia.is-single { grid-template-columns: minmax(0, 1fr); }
.vp-pmedia__thumbs { position: relative; min-height: 0; }
.vp-pmedia__thumbs-list { position: absolute; inset: 0; display: flex; flex-direction: column; gap: 8px; overflow-y: auto; scrollbar-width: none; overscroll-behavior: contain; }
.vp-pmedia__thumbs-list::-webkit-scrollbar { display: none; }
.vp-pmedia__thumb { position: relative; flex: none; display: block; width: 100%; aspect-ratio: 3 / 4; margin: 0; padding: 0; border: 2px solid transparent; border-radius: 8px; overflow: hidden; background: var(--vp-bg, #f6f1ea); cursor: pointer; transition: border-color .15s; }
.vp-pmedia__thumb:hover { border-color: rgba(211, 151, 80, .5); }
.vp-pmedia__thumb.is-active { border-color: var(--vp-honey); }
.vp-pmedia__thumb img, .vp-pmedia__thumb video { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 6px; pointer-events: none; }
.vp-pmedia__play { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.vp-pmedia__play .vp-icon { box-sizing: content-box; padding: 8px 7px 8px 9px; border-radius: 50%; background: rgba(255, 255, 255, .9); color: var(--vp-brown); fill: currentColor; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.vp-pmedia__scroll { position: absolute; left: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-left: -16px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--vp-brown); box-shadow: 0 2px 8px rgba(0, 0, 0, .18); cursor: pointer; }
.vp-pmedia__scroll--up { top: 6px; }
.vp-pmedia__scroll--down { bottom: 6px; }
.vp-pmedia__scroll[hidden], .vp-pmedia__nav[hidden] { display: none; }
.vp-pmedia__stage { position: relative; min-width: 0; }
.vp-pmedia__track { position: relative; display: flex; gap: 8px; aspect-ratio: 3 / 4; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; border-radius: 12px; background: #fff; overscroll-behavior-x: contain; }
.vp-pmedia__track::-webkit-scrollbar { display: none; }
.vp-pmedia__slide { position: relative; flex: 0 0 100%; width: 100%; height: 100%; scroll-snap-align: start; scroll-snap-stop: always; display: flex; align-items: flex-start; justify-content: center; overflow: hidden; cursor: zoom-in; }
.vp-pmedia__slide--video { cursor: default; background: #000; }
.vp-pmedia__img { display: block; width: 100%; height: 100%; object-fit: contain; object-position: 50% 0; } /* квадратное фото в рамке 3:4 — по верхнему краю */
.vp-pmedia__video { display: block; width: 100%; height: 100%; object-fit: cover; }
.vp-pmedia__nav { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; margin-top: -20px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--vp-brown); box-shadow: 0 2px 10px rgba(0, 0, 0, .18); cursor: pointer; opacity: 0; transition: opacity .2s; }
.vp-pmedia__nav--prev { left: 12px; }
.vp-pmedia__nav--next { right: 12px; }
@media (hover: hover) { .vp-pmedia__stage:hover .vp-pmedia__nav { opacity: 1; } }
.vp-pmedia__vbtn, .vp-pmedia__sound { position: absolute; bottom: 14px; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 6px; height: 40px; padding: 0; border: 0; background: #fff; color: var(--vp-brown); box-shadow: 0 2px 10px rgba(0, 0, 0, .25); cursor: pointer; font: 600 14px/17px var(--wp--preset--font-family--primary); }
.vp-pmedia__vbtn { left: 14px; width: 40px; border-radius: 50%; }
.vp-pmedia__vbtn .vp-icon { fill: currentColor; }
.vp-pmedia__vbtn .vp-pmedia__i-play, .vp-pmedia__vbtn.is-paused .vp-pmedia__i-pause { display: none; }
.vp-pmedia__vbtn.is-paused .vp-pmedia__i-play { display: block; }
/* «Включить звук» — заметная кнопка справа внизу; со звуком — одна иконка */
.vp-pmedia__sound { right: 14px; padding: 0 16px 0 12px; border-radius: 20px; background: var(--vp-honey); color: #fff; }
.vp-pmedia__sound:hover { background: var(--vp-honey-light, #e0a969); }
.vp-pmedia__sound .vp-pmedia__i-on, .vp-pmedia__sound.is-on .vp-pmedia__i-off { display: none; }
.vp-pmedia__sound.is-on .vp-pmedia__i-on { display: block; }
.vp-pmedia__sound.is-on { width: 40px; padding: 0; border-radius: 50%; background: #fff; color: var(--vp-brown); }
.vp-pmedia__sound.is-on span { display: none; }
.vp-pmedia__dots { position: absolute; left: 0; right: 0; bottom: 8px; z-index: 1; display: none; justify-content: center; gap: 5px; pointer-events: none; }
.vp-pmedia__dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(93, 66, 52, .25); transition: background-color .2s, transform .2s; }
.vp-pmedia__dot.is-active { background: var(--vp-honey); transform: scale(1.3); }
.vp-pmedia__slide--video ~ .vp-pmedia__dots { bottom: 8px; }
/* 1000–1199 и меньше: без миниатюр, листается пальцем, точки снизу (на WB до 1024 так же) */
@media (max-width: 1199px) {
	.vp-pmedia { grid-template-columns: minmax(0, 1fr); }
	.vp-pmedia__thumbs { display: none; }
	.vp-pmedia__dots { display: flex; }
	.vp-pmedia__vbtn, .vp-pmedia__sound { bottom: 24px; }
}
/* Фото на весь экран */
.vp-mbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; background: rgba(30, 20, 14, .92); touch-action: pan-y; }
.vp-mbox[hidden] { display: none; }
.vp-mbox__img, .vp-mbox__video { max-width: calc(100vw - 140px); max-height: calc(100vh - 80px); object-fit: contain; border-radius: 8px; user-select: none; }
.vp-mbox__img[hidden], .vp-mbox__video[hidden] { display: none; }
.vp-mbox__video { background: #000; }
.vp-mbox__btn { position: absolute; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .15); color: #fff; cursor: pointer; }
.vp-mbox__btn:hover { background: rgba(255, 255, 255, .3); }
.vp-mbox__btn--close { top: 16px; right: 16px; }
.vp-mbox__btn--prev { left: 16px; top: 50%; margin-top: -24px; }
.vp-mbox__btn--next { right: 16px; top: 50%; margin-top: -24px; }
.vp-mbox__count { position: absolute; top: 28px; left: 0; right: 0; text-align: center; color: rgba(255, 255, 255, .8); font-size: 14px; line-height: 17px; }
@media (max-width: 999px) {
	.vp-mbox__img, .vp-mbox__video { max-width: 100vw; max-height: calc(100vh - 120px); border-radius: 0; }
	.vp-mbox__btn--prev, .vp-mbox__btn--next { display: none; }
}

/* ===== Отзывы в карточке товара (перенесены с Wildberries, 28.09.2026; inc/product-reviews.php) ===== */
.vp-tab-count { margin-left: 4px; color: var(--vp-brown-70); font-weight: 400; }
/* вкладка «Отзывы» скрыта с самого начала (скрипт WooCommerce прячет её только после загрузки — к этому времени браузер
   уже начинал грузить её фото); при открытии вкладки jQuery .show() ставит display сам */
.vp-tabs .woocommerce-Tabs-panel--reviews, .vp-tabs .woocommerce-Tabs-panel--questions { display: none; }
.vp-rvs { display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; text-align: left; } /* minmax: длинная лента фото не раздвигает вкладку; текст — не по ширине, как во вкладке */
.vp-rvs__top { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; }
.vp-rvs__sum { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rvs__empty { margin: 0; font-size: 18px; line-height: 22px; color: var(--vp-brown-70); }
.vp-rvs__add { flex: none; height: 44px; padding: 0 28px; border: 0; border-radius: 24px; background: var(--vp-honey); color: #fff; font: 700 16px/19px var(--wp--preset--font-family--primary); cursor: pointer; }
.vp-rvs__add:hover { background: rgba(211, 151, 80, .9); }
.vp-rvs__add[aria-expanded="true"] { background: rgba(211, 151, 80, .15); color: var(--vp-brown); }
/* «Добавить отзыв»: вход по почте и форма (inc/review-form.php) */
.vp-rv-add { padding: 20px; border-radius: 12px; background: rgba(211, 151, 80, .08); }
.vp-rv-add[hidden], .vp-rv-add__step[hidden] { display: none; }
.vp-rv-add__step { display: grid; gap: 12px; margin: 0; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv-add__title { margin: 0; font-size: 18px; line-height: 22px; font-weight: 700; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv-add__hint { margin: 0; font-size: 14px; line-height: 18px; color: var(--vp-brown-70); }
.vp-rv-add__row { display: flex; flex-wrap: wrap; gap: 8px; }
.vp-rvs .vp-rv-add .vp-rv-add__input { flex: 1 1 220px; min-width: 0; width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid rgba(93, 66, 52, .2); border-radius: 8px; background: #fff; color: var(--vp-brown); font: 400 16px/20px var(--wp--preset--font-family--primary); }
.vp-rvs .vp-rv-add .vp-rv-add__input:focus { outline: none; border-color: var(--vp-honey); box-shadow: 0 0 0 3px rgba(211, 151, 80, .2); }
.vp-rvs .vp-rv-add textarea.vp-rv-add__input { resize: vertical; min-height: 84px; }
.vp-rv-add__input--code { letter-spacing: 4px; }
.vp-rv-add__btn { flex: none; height: 46px; padding: 0 24px; border: 0; border-radius: 24px; background: var(--vp-honey); color: #fff; font: 700 16px/19px var(--wp--preset--font-family--primary); cursor: pointer; }
.vp-rv-add__btn:disabled { opacity: .6; cursor: default; }
.vp-rv-add__step[data-vp-rv-step="review"] .vp-rv-add__btn { justify-self: start; }
.vp-rv-add__field { display: grid; gap: 6px; }
.vp-rv-add__label { font-size: 14px; line-height: 17px; font-weight: 700; }
.vp-rv-add__files { justify-self: start; cursor: pointer; }
.vp-rv-add__files input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.vp-rv-add__files-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; border: 1px dashed var(--vp-honey); border-radius: 24px; color: var(--vp-brown); font-size: 15px; line-height: 18px; }
.vp-rv-add__files-btn::before { content: "+"; font-size: 20px; line-height: 1; color: var(--vp-honey); }
.vp-rv-add__files input:focus-visible + .vp-rv-add__files-btn { box-shadow: 0 0 0 3px rgba(211, 151, 80, .3); }
.vp-rv-add__previews { display: flex; flex-wrap: wrap; gap: 8px; }
.vp-rv-add__previews:empty { display: none; }
.vp-rv-add__preview { position: relative; width: 64px; height: 86px; border-radius: 8px; overflow: hidden; background: #3D322C; }
.vp-rv-add__preview img { width: 100%; height: 100%; object-fit: cover; }
.vp-rv-add__preview.is-video::after { content: "▶"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 20px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv-add__links { display: flex; flex-wrap: wrap; gap: 4px 20px; margin: 0; }
.vp-rv-add__links button { padding: 0; border: 0; background: none; color: var(--vp-honey); font: inherit; font-size: 14px; cursor: pointer; }
.vp-rv-add__consent { font-size: 14px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv-add__msg { margin: 10px 0 0; font-size: 15px; line-height: 19px; color: #B3261E; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv-add__msg:empty { display: none; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv-add__msg.is-ok { color: var(--wp--preset--color--success); }
.vp-rv-thumb:not(:has(img)) { background: #3D322C; } /* видео без обложки */
/* «★ 4,8 · 34 отзыва   12 вопросов» под названием товара (блок vp/product-rating): ссылки на вкладки */
.vp-rating { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 18px; font-size: 16px; line-height: 19px; }
.vp-rating__link { display: inline-flex; align-items: center; gap: 4px; color: var(--vp-brown); text-decoration: none; }
.vp-rating__star { color: #F2A93B; font-size: 18px; }
.vp-rating__sep { color: var(--vp-brown-70); }
.vp-rating__count { color: var(--vp-brown-70); }
.vp-rating__link:hover .vp-rating__count { color: var(--vp-honey); text-decoration: underline; }
.vp-rating--card { margin-top: 10px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-qa__count { margin: 0; font-size: 18px; line-height: 22px; font-weight: 700; }
@media (max-width: 599px) {
	.vp-rvs__add { width: 100%; }
	.vp-rv-add { padding: 16px; }
	.vp-rv-add__btn { flex: 1 1 100%; }
}
.vp-rvs__avg { font-size: 40px; line-height: 1; font-weight: 700; color: var(--vp-brown); }
.vp-rvs__count { font-size: 16px; line-height: 19px; color: var(--vp-brown-70); }
.vp-stars { display: inline-block; font-size: 16px; line-height: 1; letter-spacing: 2px; white-space: nowrap; }
.vp-stars > span { background: linear-gradient(90deg, #F2A93B var(--vp-r), rgba(93, 66, 52, .15) var(--vp-r)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.vp-stars--big { font-size: 24px; }
.vp-rvs p.vp-rvs__title { margin: 0 0 12px; font-size: 20px; line-height: 24px; font-weight: 700; }
.vp-rvs__title span { margin-left: 4px; font-weight: 400; color: var(--vp-brown-70); }
/* лента «Фото и видео покупателей»: листается пальцем, на компьютере — стрелками */
.vp-rv-strip { position: relative; }
.vp-rv-strip__track { display: flex; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; overscroll-behavior-x: contain; }
.vp-rv-strip__track::-webkit-scrollbar { display: none; }
.vp-rv-strip__nav { position: absolute; top: 50%; z-index: 2; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin-top: -18px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--vp-brown); box-shadow: 0 2px 8px rgba(0, 0, 0, .18); cursor: pointer; }
.vp-rv-strip__nav--prev { left: -12px; }
.vp-rv-strip__nav--next { right: -12px; }
.vp-rv-strip__nav:disabled { display: none; }
@media (hover: none) { .vp-rv-strip__nav { display: none; } }
.vp-rv-thumb { position: relative; flex: none; width: 96px; aspect-ratio: 3 / 4; margin: 0; padding: 0; border: 0; border-radius: 8px; overflow: hidden; background: rgba(211, 151, 80, .1); cursor: zoom-in; scroll-snap-align: start; }
.vp-rv-thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.vp-rv-thumb--own { width: 72px; }
.vp-rv-thumb:hover img { opacity: .9; }
.vp-rv-thumb__play { position: absolute; inset: 0; width: 32px; height: 32px; margin: auto; border-radius: 50%; background: rgba(255, 255, 255, .9); box-shadow: 0 2px 8px rgba(0, 0, 0, .2); }
.vp-rv-thumb__play::before { content: ""; position: absolute; top: 10px; left: 12px; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent var(--vp-brown); }
.vp-rv-thumb__sec { position: absolute; left: 6px; bottom: 6px; padding: 1px 6px; border-radius: 10px; background: rgba(0, 0, 0, .55); color: #fff; font-size: 12px; line-height: 16px; }
/* отзыв */
.vp-rv { padding: 20px 0; box-shadow: inset 0 -1px 0 var(--vp-brown-08); }
.vp-rv:first-child { padding-top: 0; }
.vp-rv__head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.vp-rv__name { font-size: 16px; line-height: 19px; font-weight: 700; }
.vp-rv__date { flex: none; font-size: 14px; line-height: 17px; color: var(--vp-brown-70); }
.vp-rv__meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin-top: 6px; }
.vp-rv__variant { font-size: 14px; line-height: 17px; color: var(--vp-brown-70); }
.vp-rvs p.vp-rv__part { margin: 8px 0 0; font-size: 16px; line-height: 22px; overflow-wrap: anywhere; }
.vp-rvs p.vp-rv__part + p.vp-rv__part { margin-top: 4px; }
.vp-rv__media { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.vp-rv__answer { margin-top: 14px; padding: 12px 16px; border-radius: 8px; background: rgba(211, 151, 80, .1); }
.vp-rvs p.vp-rv__answer-head { margin: 0; font-size: 14px; line-height: 17px; }
.vp-rv__answer-name { font-weight: 700; }
.vp-rv__answer-role { color: var(--vp-brown-70); }
.vp-rvs p.vp-rv__answer-text { margin: 6px 0 0; font-size: 15px; line-height: 21px; overflow-wrap: anywhere; }
.vp-rvs__more { justify-self: start; padding: 12px 28px; border: 0; border-radius: 24px; background: rgba(211, 151, 80, .15); color: var(--vp-brown); font: 700 16px/19px var(--wp--preset--font-family--primary); cursor: pointer; }
.vp-rvs__more:hover { background: rgba(211, 151, 80, .25); }
.vp-rvs__more[hidden] { display: none; }
/* у абзацев во вкладках (описание) — поля 16px и выравнивание по ширине длинным селектором; отзывам это не подходит */
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p { margin: 0; text-align: left; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rvs__title { margin: 0 0 12px; font-size: 20px; line-height: 24px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv__part { margin: 8px 0 0; font-size: 16px; line-height: 22px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv__part + p.vp-rv__part { margin-top: 4px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv__answer-head { margin: 0; font-size: 14px; line-height: 17px; }
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel .vp-rvs p.vp-rv__answer-text { margin: 6px 0 0; font-size: 15px; line-height: 21px; }
.vp-rvs + .vp-rvs__form { margin-top: 32px; }
.vp-rvs + .vp-rvs__form #comments { display: none; } /* «Отзывов пока нет» WooCommerce — свой список выше */
@media (max-width: 599px) {
	.vp-rv-thumb--strip { width: 80px; }
	.vp-rv-thumb--own { width: 64px; }
	.vp-rvs__avg { font-size: 32px; }
}

.vp-product__info { flex: 1 1 auto; min-width: 0; padding-top: 4px; }
.vp-product__info > * { margin-block: 0; }
.vp-product__head { flex-direction: column; align-items: stretch !important; gap: 10px; }
.vp-product__head .vp-fav { align-self: flex-end; order: -1; color: var(--vp-brown); } /* у старого «сердечко» у товара тёмное */
.vp-product__title { margin: 0 !important; font-size: 24px; line-height: 29px; font-weight: 700; }
.vp-product__stock { margin-top: 10px !important; }
:root .vp-product__sku { margin: 10px 0 0 !important; font-size: 16px; line-height: 19px; } /* «Артикул: 00007», как у старого */
.vp-product__stock .wc-block-components-product-stock-indicator,
.vp-product__stock.wc-block-components-product-stock-indicator,
.vp-product__stock {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 16px;
	line-height: 19px;
	font-weight: 700;
	color: var(--wp--preset--color--success);
}
.vp-product__stock.wc-block-components-product-stock-indicator--out-of-stock { color: var(--vp-brown-70); }

.vp-params { margin-top: 20px !important; container-type: inline-size; } /* черта над характеристиками убрана — вместо неё заголовок (29.09.2026) */
.vp-params__title { margin: 0 0 12px !important; }
/* Строка как на Wildberries: название серым, точки до второй колонки, значение — во второй колонке по левому краю.
   Приём: у строки поле слева 50% ширины блока и отступ первой строки −50% → первая строка начинается с названия
   (inline-block шириной в колонку), значение идёт следом, а его следующие строки — со второй колонки. Название —
   inline-block: его последняя строка стоит на одной линии с первой строкой значения. Точки — фон по низу названия,
   под текстом их закрывает белый фон самого текста. */
.vp-params__row { padding-left: 50cqw; text-indent: -50cqw; font-size: 16px; line-height: 20px; color: var(--vp-brown); }
.vp-params__row + .vp-params__row { margin-top: 10px; }
.vp-params__name { display: inline-block; box-sizing: border-box; width: calc(50cqw - 12px); margin-right: 12px; text-indent: 0; color: var(--vp-brown-70); background: radial-gradient(circle, rgba(93, 66, 52, .35) 0 1px, transparent 1.5px) left bottom 4px / 5px 3px repeat-x; }
.vp-params__name > span { padding-right: 6px; background: #fff; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.vp-params__value { text-indent: 0; overflow-wrap: anywhere; }
.vp-params__more { display: inline-block; margin-top: 12px; font-size: 14px; line-height: 17px; color: var(--vp-honey); text-decoration: underline; text-underline-offset: 3px; }
.vp-params__more:hover { color: var(--vp-honey-light); }

/* Сердечко «в избранное» */
.vp-fav {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 0;
	background: none;
	color: var(--vp-honey);
	cursor: pointer;
}
.vp-fav svg { transition: transform .15s; }
.vp-fav:hover svg { transform: scale(1.1); }
.vp-fav.is-active svg { fill: currentColor; }

/* Блок покупки */
.vp-buybox { flex: 0 0 325px; width: 325px; padding: 20px; position: sticky; top: var(--vp-buybox-top, 20px); }
/* от 1200 при прокрутке сверху закреплённая шапка 72px — блок прилипает под ней; не помещается по высоте — не прилипает (site.js) */
@media (min-width: 1200px) { .vp-buybox { --vp-buybox-top: 92px; } }
.vp-buybox.is-tall { position: static; }
.vp-buybox form { margin: 0; }
.vp-buybox form > * { margin-block: 0; }
.vp-buy__variations { margin: 0 !important; }
.vp-buy__attr { gap: 4px !important; margin: 0 !important; align-items: stretch !important; }
.vp-buy__attr > *,
.vp-buybox .wc-block-dropdown,
.vp-buybox .wc-block-dropdown__fieldset { width: 100%; margin: 0; padding: 0; border: 0; min-width: 0; }
.vp-buy__attr .wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name,
.vp-buybox label { font-size: 16px; line-height: 19px; font-weight: 400; color: var(--vp-brown); margin: 0; }
:root .vp-buybox 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;
}
/* варианты — плашками (по просьбе заказчика 27.09.2026; блок WooCommerce product-filter-chips) */
.vp-buybox .wc-block-product-filter-chips__fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.vp-buybox .wc-block-product-filter-chips__items { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
/* вид — как вкладки «Описание / Характеристики» (.vp-tabs): медовая плашка, выбранная — белая с медовой рамкой */
.vp-buybox .wc-block-product-filter-chips__item {
	display: inline-flex; align-items: center; margin: 0; padding: 8px 20px; border: 0 !important; border-radius: 4px !important;
	background: var(--vp-honey-10) !important; box-shadow: none; color: var(--vp-honey) !important;
	font: 400 14px/17px var(--wp--preset--font-family--primary); cursor: pointer; transition: box-shadow .15s, background-color .15s;
}
.vp-buybox .wc-block-product-filter-chips__item:hover { background: rgba(211, 151, 80, .2) !important; }
.vp-buybox .wc-block-product-filter-chips__item[aria-checked="true"] { background: #fff !important; box-shadow: inset 0 0 0 1px var(--vp-honey); cursor: default; }
.vp-buybox .wc-block-product-filter-chips__item:disabled { opacity: .45; cursor: default; }
.vp-buybox .wc-block-product-filter-chips__item[hidden] { display: none; }
.vp-buybox .wc-block-product-filter-chips__label, .vp-buybox .wc-block-product-filter-chips__text { font: inherit; color: inherit; }
/* плашки группы вариантов (vp/linked-variants, inc/linked.php) — как плашки вариантов выше, но это ссылки на соседние товары */
.vp-linked { display: flex; flex-direction: column; gap: 12px; }
.vp-linked__attr { display: flex; flex-direction: column; gap: 6px; } /* + 4px у плашек = 10px, как под «Напишите мне» */
/* Заголовки в блоке покупки — «Вес» (свойство для выбора), «Напишите мне», «Доставка и оплата» — одинаковые: слева,
   заглавными (просьба заказчика 29.09.2026) */
.vp-linked__name, .vp-buy__h, .vp-params__title { font-size: 14px; line-height: 17px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; text-align: left; color: var(--vp-brown); }
.vp-linked__items { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.vp-linked__item {
	display: inline-flex; align-items: center; padding: 8px 20px; border-radius: 4px;
	background: var(--vp-honey-10); color: var(--vp-honey); text-decoration: none;
	font: 400 14px/17px var(--wp--preset--font-family--primary); transition: box-shadow .15s, background-color .15s;
}
a.vp-linked__item:hover { background: rgba(211, 151, 80, .2); color: var(--vp-honey); }
.vp-linked__item[aria-current="page"] { background: #fff; box-shadow: inset 0 0 0 1px var(--vp-honey); cursor: default; }
.vp-linked__item.is-out { opacity: .45; }
/* «В корзину» как на Wildberries (vp_cart_control, 28.09.2026): закруглённая медовая кнопка → счётчик «− 1 +».
   Карточка товара — 52px, скругление 20 (как у WB); плитки и карусели — 44 / 16; прайс-лист — 36 / 12. */
.vp-cartctl { position: relative; width: 100%; }
.vp-cartctl__add { display: flex; align-items: center; justify-content: center; width: 100%; height: 44px; margin: 0; padding: 0 16px; border: 0; border-radius: 16px; background: var(--vp-honey); color: #fff; font: 600 15px/18px var(--wp--preset--font-family--primary); white-space: nowrap; cursor: pointer; transition: background-color .15s; }
.vp-cartctl__add:hover { background: #c1843d; }
.vp-cartctl__add:disabled { background: var(--vp-brown-08); color: var(--vp-brown-50); cursor: default; }
.vp-cartctl__add[hidden], .vp-cartctl__qty[hidden] { display: none; }
/* в корзине: слева счётчик на светлой плашке, справа медовая «В корзине ›» — как на WB */
.vp-cartctl__qty { display: flex; gap: 8px; height: 44px; }
.vp-cartctl__stepper { flex: 1 1 50%; display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: 0 6px; border-radius: 16px; background: #f4f1ee; }
.vp-cartctl__step { flex: none; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin: 0; padding: 0; border: 0; border-radius: 10px; background: none; color: var(--vp-honey); cursor: pointer; transition: background-color .15s; }
.vp-cartctl__step:hover { background: rgba(211, 151, 80, .15); }
.vp-cartctl__n { min-width: 0; font: 400 16px/19px var(--wp--preset--font-family--primary); color: var(--vp-brown); }
.vp-cartctl__go { flex: 1 1 50%; display: flex; align-items: center; justify-content: center; gap: 4px; min-width: 0; padding: 0 10px; border-radius: 16px; background: var(--vp-honey); color: #fff !important; font: 600 15px/18px var(--wp--preset--font-family--primary); white-space: nowrap; text-decoration: none; transition: background-color .15s; }
.vp-cartctl__go:hover { background: #c1843d; }
.vp-cartctl__go span { overflow: hidden; text-overflow: ellipsis; }
.vp-cartctl__go .vp-icon { flex: none; }
.vp-cartctl.is-busy { opacity: .75; }
.vp-cartctl--large .vp-cartctl__add, .vp-cartctl--large .vp-cartctl__qty { height: 52px; font-size: 16px; }
.vp-cartctl--large .vp-cartctl__add, .vp-cartctl--large .vp-cartctl__stepper, .vp-cartctl--large .vp-cartctl__go { border-radius: 20px; }
.vp-cartctl--large .vp-cartctl__go { font-size: 16px; }
.vp-cartctl--large .vp-cartctl__step { width: 40px; height: 40px; border-radius: 14px; }
/* прайс-лист и узкие плитки: у «В корзине» только стрелка */
.vp-cartctl--plist .vp-cartctl__add, .vp-cartctl--plist .vp-cartctl__qty { height: 36px; font-size: 14px; }
.vp-cartctl--plist .vp-cartctl__add, .vp-cartctl--plist .vp-cartctl__stepper, .vp-cartctl--plist .vp-cartctl__go { border-radius: 12px; }
.vp-cartctl--plist .vp-cartctl__step { width: 28px; height: 28px; }
.vp-cartctl--plist .vp-cartctl__go { flex: 0 0 36px; padding: 0; }
.vp-cartctl--plist .vp-cartctl__go span { display: none; }
.vp-buybox .vp-buy__cart { margin: 16px 0 0 !important; }
/* Состав набора (vp/set-items, inc/sets.php) — маленькая карусель между фото и описанием: 6 в ряд, между ними «+» */
.vp-setc { position: relative; padding: 16px 20px 18px; }
.vp-setc__title { margin: 0 0 12px !important; font-size: 18px; line-height: 22px; font-weight: 700; color: var(--vp-brown); }
.vp-setc__count { margin-left: 8px; font-size: 14px; font-weight: 400; color: var(--vp-brown-50); }
.vp-setc__body { position: relative; }
.vp-setc__track { --vp-setc-plus: 32px; container-type: inline-size; display: flex; align-items: stretch; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-x: contain; }
.vp-setc__track::-webkit-scrollbar { display: none; }
.vp-setc__item { flex: 0 0 calc((100% - 5 * var(--vp-setc-plus)) / 6); min-width: 0; display: flex; flex-direction: column; align-items: center; gap: 6px; scroll-snap-align: start; color: var(--vp-brown); text-decoration: none; text-align: center; }
.vp-setc__img { display: block; width: 100%; aspect-ratio: 1; border-radius: 12px; overflow: hidden; background: var(--vp-brown-04); } /* фото на всю ячейку: между фото только «+» (32px) */
.vp-setc__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s; }
.vp-setc__item:hover .vp-setc__img img { transform: scale(1.05); }
.vp-setc__name { font-size: 13px; line-height: 16px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.vp-setc__item:hover .vp-setc__name { color: var(--vp-honey); }
.vp-setc__qty { order: -1; font-size: 13px; line-height: 16px; font-weight: 700; color: var(--vp-honey); } /* количество — над картинкой (по просьбе заказчика) */
.vp-setc__plus { flex: 0 0 var(--vp-setc-plus); align-self: flex-start; margin-top: 22px; height: calc((100cqw - 5 * var(--vp-setc-plus)) / 6); display: flex; align-items: center; justify-content: center; font-size: 22px; line-height: 1; font-weight: 300; color: var(--vp-honey); }
.vp-setc__nav { position: absolute; top: 52px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #fff; color: var(--vp-brown); box-shadow: 0 2px 8px rgba(93, 66, 52, .2); cursor: pointer; }
.vp-setc__nav--prev { left: -10px; }
.vp-setc__nav--next { right: -10px; }
.vp-setc__nav[hidden] { display: none; }
@media (max-width: 999px) {
	.vp-setc { order: 3; margin: 0 !important; padding: 14px 10px 16px; } /* телефон: фото → покупка → состав → описание */
	.vp-setc__track { --vp-setc-plus: 18px; }
	.vp-setc__item { flex-basis: 110px; }
	.vp-setc__plus { height: 110px; }
	.vp-setc__nav { display: none; }
}

/* «Купить сейчас» — под «Добавить в корзину», светлая, как у WB: в корзину и сразу на страницу корзины */
.vp-buynow { display: flex; align-items: center; justify-content: center; width: 100%; height: 52px; margin-top: 10px; border-radius: 20px; background: var(--vp-honey-10); color: var(--vp-honey) !important; font: 600 16px/19px var(--wp--preset--font-family--primary); text-decoration: none; transition: background-color .15s; }
.vp-buynow:hover { background: rgba(211, 151, 80, .2); }
.vp-buynow.is-busy { opacity: .7; pointer-events: none; }
.vp-pcard__row > .vp-cartctl { flex: 1 1 auto; }
/* плитки и карусели: счётчик по размеру содержимого, остальное — «В корзине ›» */
.vp-cartctl--card .vp-cartctl__stepper { flex: 0 0 auto; gap: 2px; padding: 0 4px; }
.vp-cartctl--card .vp-cartctl__step { width: 28px; height: 28px; }
.vp-cartctl--card .vp-cartctl__n { min-width: 20px; text-align: center; }
.vp-cartctl--card .vp-cartctl__go { flex: 1 1 auto; padding: 0 8px; }
@media (max-width: 599px) {
	.vp-grid .vp-cartctl__add, .vp-grid .vp-cartctl__qty { height: 38px; font-size: 14px; }
	.vp-grid .vp-cartctl__add, .vp-grid .vp-cartctl__stepper, .vp-grid .vp-cartctl__go { border-radius: 12px; }
	.vp-grid .vp-cartctl__step { width: 28px; height: 28px; }
	.vp-grid .vp-cartctl__go { flex: 0 0 38px; padding: 0; }
	.vp-grid .vp-cartctl__go span { display: none; }
}
.vp-plist__buy .vp-cartctl { width: 150px; margin-left: auto; }
@media (max-width: 999px) {
	.vp-plist__buy .vp-cartctl { width: 130px; }
}

/* цена и «за 50 г» в одну строку */
.vp-buy__pricerow { gap: 8px; margin: 16px 0 0 !important; }
.vp-buy__pricerow > .vp-buy__price { margin: 0 !important; }
.vp-buy__unit { margin: 0 !important; padding-bottom: 3px; font-size: 16px; line-height: 19px; color: var(--vp-brown-70); }
/* «Напишите нам» и коротко о доставке и оплате — под кнопками */
.vp-buy__extra { display: grid; gap: 20px; margin-top: 20px !important; padding-top: 20px; border-top: 1px solid rgba(93, 66, 52, .08); }
.vp-buy__block > * { margin: 0; }
.vp-buy__block + .vp-buy__block { padding-top: 20px; border-top: 1px solid rgba(93, 66, 52, .08); } /* такая же черта, как над «Напишите мне» */
/* «Напишите мне» — под «Доставка и оплата» (поменяны местами), от черты на той же кремовой «бумаге», что «Остались
   вопросы?», шириной с кнопки (просьбы заказчика 29.09.2026) */
.vp-buy__block--write { padding: 20px 16px; background: #FAF6EC url(assets/img/paper.webp) center / cover no-repeat; }
.vp-buy__h { margin: 0 0 10px !important; }
.vp-buy__msg { display: flex; gap: 12px; }
/* вставка с Екатериной (как в «Остались вопросы?», уменьшенная под колонку покупки) */
.vp-buy__manager { display: flex; align-items: flex-start; gap: 14px; }
.vp-buy__mphoto { flex: none; margin-top: 23px; padding: 3px; border-radius: 50%; box-shadow: 0 0 0 2px var(--vp-honey); } /* верх кольца — на строке «директор по развитию» (имя 19px + 2px; кольцо 2px снаружи), просьба заказчика 29.09.2026 */
.vp-buy__mphoto img { display: block; width: 84px; height: 84px; border-radius: 50%; object-fit: cover; }
.vp-buy__mtext { min-width: 0; }
.vp-buy__mtext > p { margin: 0; font-size: 14px; line-height: 18px; }
.vp-buy__mname { font-size: 16px !important; line-height: 19px !important; font-weight: 700; color: var(--vp-brown); }
.vp-buy__mrole { margin-top: 2px !important; color: var(--vp-brown); }
.vp-buy__mlink { margin-top: 6px !important; }
.vp-buy__mlink a { color: var(--vp-honey); text-decoration: none; word-break: break-word; }
.vp-buy__mlink a:hover { color: var(--vp-honey-light); }
.vp-buy__manager .vp-buy__msg { gap: 12px; margin-top: 10px; } /* было 8px, +50% — просьба заказчика 29.09.2026 */
.vp-buy__manager .vp-buy__msg a, .vp-buy__manager .vp-buy__msg img { width: 36px; height: 36px; }
.vp-buy__list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; font-size: 14px; line-height: 18px; color: var(--vp-brown-70); }
.vp-buy__li { position: relative; padding-left: 28px; }
.vp-buy__li::before { content: ""; position: absolute; left: 0; top: -1px; width: 20px; height: 20px; background: var(--vp-honey); -webkit-mask: var(--vp-ico) center / contain no-repeat; mask: var(--vp-ico) center / contain no-repeat; }
.vp-buy__li b { font-weight: 700; color: var(--vp-brown); }
.vp-buy__more { display: inline-block; margin-top: 12px; font-size: 14px; line-height: 17px; color: var(--vp-honey); text-decoration: underline; text-underline-offset: 3px; }
.vp-buy__more:hover { color: var(--vp-honey-light); }
.vp-buy__price { margin: 16px 0 0 !important; font-size: 36px; line-height: 43px; font-weight: 700; color: var(--vp-brown); } /* цена крупнее на 50% (28.09.2026; было 24px) */
.vp-buy__price .wc-block-components-product-price,
.vp-buy__price .wc-block-components-product-price * { font-size: 36px; font-weight: 700; color: var(--vp-brown); }
.vp-buy__row { margin-top: 16px !important; gap: 10px; }

/* Счётчик количества (−  1  +) — как на старом сайте */
.vp-buybox .wc-block-components-quantity-selector,
.vp-buybox .quantity {
	display: flex;
	align-items: stretch;
	width: 100px;
	height: 33px;
	margin: 0;
	border: 0;
	border-radius: 4px;
	background: var(--vp-honey-10);
	box-shadow: 0 0 0 1px var(--vp-honey-10);
	overflow: hidden;
}
.vp-buybox .wc-block-components-quantity-selector::after { display: none; }
.vp-buybox .wp-block-woocommerce-add-to-cart-with-options-quantity-selector { flex: 0 0 100px; width: 100px; margin: 0 !important; }
.vp-buybox .wc-block-components-quantity-selector input,
.vp-buybox .quantity input {
	width: 26px;
	min-width: 26px;
	flex: 0 0 26px;
	margin: 0;
	padding: 0 !important;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--vp-honey);
	font: 400 16px/33px var(--wp--preset--font-family--primary);
	text-align: center;
	-moz-appearance: textfield;
}
.vp-buybox .quantity input::-webkit-outer-spin-button,
.vp-buybox .quantity input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.vp-buybox .wc-block-components-quantity-selector__button,
.vp-buybox .quantity button {
	flex: 0 0 37px;
	width: 37px;
	min-width: 37px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--vp-honey);
	font-size: 0;
	line-height: 33px;
	opacity: 1;
	cursor: pointer;
	position: relative;
}
/* «−» и «+» — значки 14px толщиной 2px, как у старого */
.vp-buybox .wc-block-components-quantity-selector__button::before { content: ""; position: absolute; inset: 0; margin: auto; width: 19px; height: 19px; background: currentColor; -webkit-mask: url(assets/icons/plus.svg) center / contain no-repeat; mask: url(assets/icons/plus.svg) center / contain no-repeat; }
.vp-buybox .wc-block-components-quantity-selector__button--minus::before { -webkit-mask-image: url(assets/icons/minus.svg); mask-image: url(assets/icons/minus.svg); }

/* Кнопка «В корзину» — медовая обводка */
.vp-buy__button { flex: 1 1 auto; margin: 0 !important; }
.vp-buy__button .wp-block-button__link,
.vp-buy__button button,
.vp-buy__button .wc-block-components-product-button__button {
	width: 100%;
	height: 33px;
	min-height: 0;
	margin: 0;
	padding: 8px 20px;
	border: 0;
	border-radius: 4px;
	background: var(--vp-honey); /* залитая — заметная (по просьбе заказчика 27.09.2026; раньше — контурная) */
	box-shadow: none;
	color: #fff;
	font: 700 14px/17px var(--wp--preset--font-family--primary);
	text-transform: uppercase;
	white-space: nowrap;
}
.vp-buy__button .wp-block-button__link:hover,
.vp-buy__button button:hover,
.vp-buy__button .wc-block-components-product-button__button:hover { background: var(--vp-honey-light); color: #fff; }

/* Вкладки «Описание / Характеристики / Отзывы» */
.vp-product__tabs { padding: 20px; }
.vp-tabs .woocommerce-tabs { margin: 0; padding: 0; }
.vp-tabs ul.tabs,
.vp-tabs .wc-tabs {
	display: flex;
	gap: 10px;
	margin: 0 0 20px !important;
	padding: 0 !important;
	list-style: none;
	border: 0 !important;
	overflow: visible;
}
.vp-tabs ul.tabs::before,
.vp-tabs ul.tabs::after,
.vp-tabs ul.tabs li::before,
.vp-tabs ul.tabs li::after { display: none !important; }
.vp-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 4px !important; background: none !important; }
.vp-tabs ul.tabs li a {
	display: block;
	padding: 8px 20px !important;
	border-radius: 4px;
	background: var(--vp-honey-10);
	color: var(--vp-honey) !important;
	font-size: 14px;
	line-height: 17px;
	font-weight: 400 !important;
	text-decoration: none;
}
.vp-tabs ul.tabs li.active a { background: #fff; box-shadow: inset 0 0 0 1px var(--vp-honey); }
.vp-tabs .woocommerce-Tabs-panel { margin: 0 !important; padding: 0 !important; }
.vp-tabs .woocommerce-Tabs-panel p { margin: 0 0 16px; font-size: 16px; line-height: 24px; }
.vp-tabs .woocommerce-Tabs-panel p:last-child { margin-bottom: 0; }
/* Ollie (woocommerce.css) обнуляет отступ у последнего абзаца, даже если после него идёт список — у старого 16px */
.woocommerce div.product .vp-tabs .woocommerce-Tabs-panel p:not(:last-child) { margin-bottom: 16px; }
/* подзаголовки в описании (h2) — как у старого: 28px жирный, отступ 16px после */
:root .vp-tabs .woocommerce-Tabs-panel h2 { margin: 0 0 16px; font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: 0; color: var(--vp-brown); }
:root .vp-tabs .woocommerce-Tabs-panel h2:last-child { margin-bottom: 0; }
/* описание, вставленное на старом сайте из Тильды (блоки div): межстрочный интервал обычный, между блоками 16px */
:root .vp-tabs .woocommerce-Tabs-panel .vp-desc-tilda { line-height: normal; }
:root .vp-tabs .woocommerce-Tabs-panel .vp-desc-tilda > * { margin: 0; }
:root .vp-tabs .woocommerce-Tabs-panel .vp-desc-tilda > * + * { margin-top: 16px; }
.vp-tabs .woocommerce-product-attributes { width: 100%; border: 0; border-collapse: collapse; margin: 0; }
.vp-tabs .woocommerce-product-attributes th,
.vp-tabs .woocommerce-product-attributes td {
	padding: 8px 0;
	border: 0;
	border-bottom: 1px dotted rgba(93, 66, 52, .3);
	background: none !important;
	font-size: 16px;
	font-weight: 400;
	text-align: left;
}
.vp-tabs .woocommerce-product-attributes td { text-align: right; font-style: normal; }
.vp-tabs .woocommerce-product-attributes td p { margin: 0; }

/* Соседние товары */
.vp-prodnav { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 38px !important; }
.vp-prodnav__item { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; color: var(--vp-brown); text-decoration: none; }
.vp-prodnav__item--next { text-align: right; }
/* у товара плашки делят ширину по длине текста, как на старом сайте (flex: 1 1 auto) */
.vp-product-page > .vp-prodnav { display: flex; }
.vp-product-page > .vp-prodnav > .vp-prodnav__item { flex: 1 1 auto; }
.vp-prodnav__label { font-size: 12px; line-height: 14px; color: var(--vp-brown-70); }
.vp-prodnav__title { font-size: 16px; line-height: 19px; }
.vp-prodnav__item:hover .vp-prodnav__title { color: var(--vp-honey); }

/* ===================== Телефон (до 767px): шапка, меню, поиск — как в мобильной версии старого сайта ===================== */
:root .vp-mhead, :root .vp-msearch, .vp-drawer, .vp-mhead__phone, .vp-mhead__max { display: none; } /* :root — сильнее, чем display:flex раскладки WordPress */
@media (max-width: 999px) {
	.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 100; }
	.vp-header { padding: 10px 0 0; }
	.vp-header > .vp-header__top, .vp-header > .vp-header__bottom, .vp-sticky, .vp-totop { display: none !important; }
	.vp-header.has-global-padding { padding-left: 0; padding-right: 0; }
	:root .vp-mhead { display: flex; }
	.vp-mhead { height: 58px; padding: 0 10px 10px; gap: 0; max-width: none !important; box-sizing: border-box; }
	.vp-mhead > * { margin: 0 !important; }
	.vp-mhead__btn, .vp-mhead .vp-cart__icon {
		display: flex; align-items: center; justify-content: center;
		width: 48px; height: 48px; padding: 14px; border: 0; border-radius: 8px;
		background: rgba(93, 66, 52, .03); color: var(--vp-brown); cursor: pointer; box-sizing: border-box;
	}
	.vp-mmenu.is-open .vp-mhead__btn { background: rgba(211, 151, 80, .2); }
	.vp-mhead__logo { margin-left: 20px !important; }
	.vp-mhead__logo img { width: 97px; height: auto; display: block; }
	/* значок MAX рядом с логотипом (как в шапке компьютера) */
	.vp-mhead .vp-mhead__max { display: block; flex: none; width: 36px; height: 36px; margin-left: 12px !important; border-radius: 50%; }
	.vp-mhead__max img { display: block; width: 36px; height: 36px; }
	.vp-mhead__search { margin-left: auto !important; width: 56px; height: 48px; padding: 16px 20px; border: 0; background: none; color: var(--vp-brown); cursor: pointer; position: relative; }
	.vp-mhead__search::before { content: ""; position: absolute; inset: 0; margin: auto; width: 18px; height: 18px; background: currentColor; -webkit-mask: url(assets/icons/search-bold.svg) center / contain no-repeat; mask: url(assets/icons/search-bold.svg) center / contain no-repeat; }
	.vp-mhead__search[aria-expanded="true"] { color: var(--vp-honey); }
	.vp-mhead .vp-cart { gap: 0; }
	.vp-mhead .vp-cart__text { display: none; }
	.vp-mhead .vp-cart__icon { width: 48px; height: 48px; }

	/* строка поиска под шапкой */
	.vp-header > .wp-block-search.vp-msearch { max-width: none !important; margin: 0 !important; padding: 0 16px 10px; background: #fff; }
	:root .vp-msearch.is-open { display: block; }
	.vp-header > .wp-block-search.vp-msearch { position: absolute; left: 0; right: 0; top: 100%; z-index: 5; } /* поверх страницы, как у старого */
	.vp-msearch .vp-sres { position: static; width: auto; max-width: none; padding: 8px 0 0; border-radius: 0; box-shadow: none; }
	.vp-msearch .vp-sres__close { display: none; }
	.vp-msearch .wp-block-search__inside-wrapper { border: 0; padding: 0; }
	:root .vp-msearch .wp-block-search__input {
		height: 39px; padding: 10px 0; border: 0; border-radius: 0; background: transparent;
		box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08);
		font: 400 16px/19px var(--wp--preset--font-family--primary); color: var(--vp-brown);
	}
	.vp-msearch .wp-block-search__input::placeholder { color: rgba(93, 66, 52, .5); opacity: 1; }
	.vp-msearch .wp-block-search__input:focus { outline: none; }

	/* выезжающее меню */
	.vp-drawer {
		display: flex; flex-direction: column;
		position: fixed; left: 0; top: 0; bottom: 0; z-index: 200;
		width: 332px; max-width: 85vw; overflow-y: auto; background: #fff;
		box-shadow: 0 12px 40px 0 rgba(93, 66, 52, .12), 0 0 0 1px rgba(93, 66, 52, .04);
		transform: translateX(-105%); visibility: hidden; transition: transform .2s ease, visibility 0s .2s;
	}
	.vp-mmenu.is-open .vp-drawer { transform: none; visibility: visible; transition-delay: 0s; }
	.vp-drawer > * { margin: 0; flex: 0 0 auto; }
	.vp-drawer__top { display: flex; justify-content: space-between; align-items: center; height: 58px; padding: 10px; box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08); box-sizing: border-box; }
	.vp-drawer__fav, .vp-drawer__close { display: flex; align-items: center; justify-content: center; width: 34px; height: 38px; padding: 12px 8px 8px; border: 0; background: none; color: var(--vp-brown); cursor: pointer; box-sizing: border-box; position: relative; }
	.vp-drawer__close { color: var(--vp-honey); }
	.vp-drawer__fav .vp-wishlist-link__icon { color: inherit; }
	.vp-drawer__icons { display: flex; align-items: center; gap: 4px; } /* избранное и личный кабинет */
	.vp-drawer__msg { display: flex; gap: 12px; margin-left: 20px !important; padding: 10px 0 10px 10px; box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08); } /* все мессенджеры под почтой */
	.vp-drawer__msg a, .vp-drawer__msg img { width: 36px; height: 36px; }
	.vp-drawer__title { padding: 16px 0; font-size: 16px; line-height: 19px; text-align: center; box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08); }
	.vp-drawer__city { display: flex; align-items: center; gap: 6px; margin-left: 20px !important; height: 42px; padding: 12px 10px; font-size: 14px; line-height: 17px; box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08); box-sizing: border-box; }
	.vp-drawer__city::before { content: ""; flex: 0 0 18px; width: 18px; height: 18px; background: var(--vp-brown); -webkit-mask: url(assets/icons/map-pin.svg) center / contain no-repeat; mask: url(assets/icons/map-pin.svg) center / contain no-repeat; }
	.vp-drawer__row { display: block; margin-left: 20px; padding: 12px 0 12px 10px; font-size: 16px; line-height: 19px; color: var(--vp-brown-70); text-decoration: none; box-shadow: inset 0 -1px 0 rgba(93, 66, 52, .08); }
	.vp-drawer__panels { position: relative; min-height: 430px; margin-left: 20px !important; }
	.vp-drawer__panel { list-style: none; margin: 0; padding: 0; }
	.vp-drawer__panel[hidden] { display: none; }
	.vp-drawer__panel li { display: flex; align-items: center; margin: 0; }
	.vp-drawer__panel a, .vp-drawer__back { flex: 1 1 auto; display: block; padding: 12px 10px; border: 0; background: none; font: 400 16px/19px var(--wp--preset--font-family--primary); color: var(--vp-brown-70); text-align: left; text-decoration: none; cursor: pointer; }
	.vp-drawer__panel a:hover, .vp-drawer__back:hover { color: var(--vp-honey); }
	.vp-drawer__more { flex: 0 0 34px; height: 43px; padding: 0; border: 0; background: none; color: var(--vp-brown-70); cursor: pointer; display: flex; align-items: center; justify-content: center; }
	.vp-drawer__addr { margin-left: 20px !important; padding: 12px 20px 12px 10px; box-shadow: inset 0 1px 0 rgba(93, 66, 52, .08); font-size: 16px; line-height: 19px; color: var(--vp-brown-70); }
	.vp-drawer__addr p { margin: 0; }
	.vp-drawer__addr p + p { margin-top: 4px; }

	/* плашка cookie во всю ширину снизу */
	.vp-cookie { left: 0; right: 0; bottom: 0; width: auto; border-radius: 0; }
}

/* ===================== Телефон: подвал ===================== */
@media (max-width: 999px) {
	.vp-footer { padding-top: 36px; background: rgba(93, 66, 52, .9); }
	.vp-footer > .vp-footer__main { padding-left: 30px !important; padding-right: 30px !important; }
	.vp-footer__main > * { max-width: none !important; }
	.vp-footer__row > .vp-footer__logo { order: -1; margin: 0 auto 30px !important; }
	.vp-footer__logo a { display: block; }
	.vp-footer__main > .vp-footer__row { display: flex; flex-direction: column; align-items: stretch !important; gap: 0; }
	.vp-footer__row > .vp-footer__contacts-wrap { order: -1; align-items: flex-start !important; gap: 0; }
	.vp-footer__row .vp-footer__contacts { flex-direction: column; align-items: flex-start !important; gap: 0; }
	.vp-footer__contacts p { padding: 10px 0; }
	.vp-footer__contacts .vp-footer__address { max-width: none; line-height: 20px !important; }
	.vp-footer__contacts .vp-footer__hours { padding: 10px 0 15px; font-size: 16px; line-height: 19px; }
	.vp-footer__contacts .vp-ico--clock::before { flex-basis: 16px; width: 16px; height: 16px; color: rgba(255,255,255,.7); background: currentColor; }
	.vp-footer__row .vp-footer__social { justify-content: flex-start !important; margin-top: 0 !important; }
	.vp-footer__row > .vp-footer__menus { flex-direction: column; gap: 0; margin-top: 30px; }
	.vp-footer__menus > .vp-footer__col { width: auto; gap: 16px; }
	.vp-footer__menus > .vp-footer__col + .vp-footer__col { margin-top: 26px; }
	.vp-footer__menus > .vp-footer__col--contacts { width: auto; }
	/* соцсети во всю ширину (28.09): строка — значок и название слева, подписчики справа; одним столбцом (две колонки заказчик отменил) */
	.vp-footer__menus > .vp-footer__col--social { align-self: stretch; }
	.vp-footer__col--social .vp-slist { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; width: 100%; }
	.vp-slist__link { padding: 4px 16px 4px 4px; border-radius: 25px; background: rgba(255, 255, 255, .05); }
	.vp-slist__text { flex: 1 1 auto; flex-direction: row; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 10px; min-width: 0; } /* не влезает в строку — подписчики под названием */
	.vp-slist__count { flex: none; text-align: right; }
	.vp-footer__col .vp-footer__title { margin-bottom: 0 !important; }
	.vp-footer__col .vp-footer__nav .wp-block-navigation__container { flex-direction: row !important; flex-wrap: wrap !important; gap: 10px !important; align-items: flex-start !important; }
	.wp-block-navigation.vp-footer__nav:not(.vp-footer__nav--legal) .wp-block-navigation-item__content {
		display: block; padding: 8px 16px; border-radius: 24px; background: rgba(255, 255, 255, .05);
		font-size: 12px; line-height: 14px; color: rgba(255, 255, 255, .7);
	}
	.vp-footer__main > .vp-footer__bottom {
		flex-direction: column-reverse; align-items: center !important; gap: 16px;
		margin-top: 30px !important; padding: 30px 0; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2);
	}
	.vp-footer__bottom .vp-footer__pay { gap: 10px; }
	.vp-footer__nav--legal .wp-block-navigation__container { gap: 0 !important; }
	.wp-block-navigation.vp-footer__nav--legal .wp-block-navigation-item__content { padding: 10px 10px 10px 0; font-size: 16px; line-height: 19px; color: rgba(255, 255, 255, .7); }
	.vp-footer > .vp-footer__credit { padding: 12px 16px 10px !important; }
	.vp-footer__credit > * { max-width: none !important; margin: 0 !important; }
}

/* ===================== Телефон: карточка товара ===================== */
.vp-buy__oneclick { display: none; }
@media (max-width: 999px) {
	.vp-buybox .vp-buy__oneclick { display: block; width: 100%; height: 37px; margin: 10px 0 0 !important; padding: 10px 20px; 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-buybox .vp-buy__oneclick:hover { background: rgba(211, 151, 80, .2); }
	.vp-tabs ul.tabs li a { padding: 10px 20px !important; line-height: 17px !important; }
	.vp-page.vp-product-page { padding: 23px 10px 60px; }
	.vp-product-page > * { max-width: none !important; }
	.vp-product-page > .vp-breadcrumbs { margin: 0 0 18px !important; padding: 0 10px; }
	/* на телефоне у старого сайта крошки всегда в одну строку, «—» темнее */
	.vp-page > .vp-breadcrumbs { overflow: visible; } /* было hidden; крошки теперь листаются сами (.vp-bc-list), а тень стрелки «назад» не обрезается */
	.vp-bc { flex-wrap: nowrap; white-space: nowrap; }
	.vp-product-page > .vp-product { flex-direction: column; align-items: stretch !important; gap: 20px; }
	.vp-product > .vp-product__left { display: contents; }
	.vp-product__main { order: 1; flex-direction: column; gap: 0; padding: 10px; }
	.vp-buybox { order: 2; position: static; flex: none; width: auto; padding: 10px; }
	.vp-product__tabs { order: 3; padding: 10px; margin: 0 !important; }
	.vp-gallery { flex: none; width: 100%; gap: 14px; }
	.vp-gallery .wc-block-product-gallery-large-image,
	.vp-gallery .wc-block-product-gallery-large-image__container,
	.vp-gallery .wc-block-product-gallery-thumbnails { width: 100%; }
	.vp-gallery .wc-block-product-gallery-large-image img { width: 100%; height: auto; aspect-ratio: 1; }
	.vp-gallery .wc-block-product-gallery-thumbnails__thumbnail__image { border-radius: 8px; }
	/* фото и видео: планшет — до 560px по центру, телефон — во всю ширину экрана, как на WB */
	.vp-pmedia { flex: none; width: 100%; max-width: 560px; align-self: center; }
	.vp-product__info { width: 100%; padding-top: 20px; }
	.vp-product__head { gap: 8px; }
	.vp-buybox .vp-buy__price { margin-top: 16px !important; }
	.vp-buybox .vp-buy__row { flex-direction: column; gap: 10px; margin-top: 16px !important; }
	.vp-buybox .vp-buy__row > .vp-buy__button { align-self: stretch; width: 100%; max-width: none; } /* «В корзину» на всю ширину, как у старого */
	.vp-buybox .wc-block-components-quantity-selector, .vp-buybox .quantity,
	.vp-buybox .wp-block-woocommerce-add-to-cart-with-options-quantity-selector { display: none !important; }
	.vp-buy__button .wc-block-components-product-button__button, .vp-buy__button button { height: 33px; }
	.vp-tabs ul.tabs, .vp-tabs .wc-tabs { gap: 10px; }
	.vp-tabs .woocommerce-Tabs-panel { margin-top: 20px !important; }
	.vp-tabs .woocommerce-Tabs-panel p { text-align: justify; }
	.vp-product-page > .vp-prodnav { display: grid; grid-template-columns: 1fr; gap: 10px; margin-top: 40px !important; }
	.vp-prodnav__item { padding: 16px 20px; gap: 4px; }
	.vp-prodnav__item--next { text-align: left; align-items: flex-end; } /* короткое название — справа, длинное переносится с левым краем, как у старого */
	.vp-prodnav__item--next .vp-prodnav__label { text-align: right; }
	.vp-product-page > .vp-prodnav > span:empty { display: none; } /* нет «предыдущего» — не оставлять пустую строку */
}
/* Простой товар (без вариантов): цена сразу сверху блока покупки и жирная, как у старого */
:root .vp-buybox form > .vp-buy__price:first-child { margin-top: 0 !important; }
:root .vp-buy__price bdi { font-weight: 700; }

/* Списки в описании товара — как в текстах старого сайта: «—» / «1.» у левого края, между пунктами 16px */
.vp-tabs .woocommerce-Tabs-panel ul, .vp-tabs .woocommerce-Tabs-panel ol { margin: 0 0 16px; padding-left: 20px; list-style: none; font-size: 16px; line-height: 24px; }
.vp-tabs .woocommerce-Tabs-panel ol { counter-reset: vp-tab-li; }
.vp-tabs .woocommerce-Tabs-panel li { position: relative; margin: 0; }
.vp-tabs .woocommerce-Tabs-panel li + li { margin-top: 16px; }
.vp-tabs .woocommerce-Tabs-panel ol > li { counter-increment: vp-tab-li; }
.vp-tabs .woocommerce-Tabs-panel ul > li::before { content: "—"; position: absolute; left: -20px; }
.vp-tabs .woocommerce-Tabs-panel ol > li::before { content: counter(vp-tab-li) "."; position: absolute; left: -20px; }
.vp-tabs .woocommerce-Tabs-panel > :last-child { margin-bottom: 0; }

/* ===================== Планшет (600–999px) — как у старого: шапка выше, с телефоном и кнопкой «Корзина» ===================== */
@media (min-width: 600px) and (max-width: 999px) {
	.vp-header { padding-top: 16px; }
	.vp-mhead { height: 62px; padding: 0 20px 10px; }
	.vp-mhead__btn { width: 60px; height: 52px; padding: 16px 20px; }
	.vp-mhead__logo img { width: 138px; }
	.vp-mhead .vp-mhead__phone { display: block; margin-left: 20px !important; padding: 10px 0; color: var(--vp-brown); font-size: 16px; line-height: 19px; font-weight: 700; text-decoration: none; white-space: nowrap; }
	.vp-mhead .vp-cart { position: relative; display: flex; align-items: center; gap: 10px; height: 44px; padding: 12px 20px; border-radius: 8px; background: rgba(93, 66, 52, .03); box-sizing: border-box; }
	.vp-mhead .vp-cart .vp-cart__icon { position: static; width: 20px; height: 20px; padding: 0; background: none; border-radius: 0; }
	.vp-mhead .vp-cart__text { display: block; }
	.vp-mhead .vp-cart__title { font-size: 16px; line-height: 19px; font-weight: 700; text-transform: uppercase; }
	.vp-mhead .vp-cart__sub { display: none; }
	/* плашка cookie — карточкой слева внизу, как на компьютере */
	.vp-cookie { left: 20px; right: auto; bottom: 20px; width: 360px; border-radius: 12px; }
	/* подвал: логотипы оплаты и ссылки — одной строкой по центру */
	.vp-footer__main > .vp-footer__bottom { flex-direction: row-reverse; justify-content: center !important; }
}

/* ===================== Планшет горизонтально (1000–1199px) — как у старого: шапка в две строки =====================
   1-я строка: «Каталог», логотип, телефон, поиск, «сообщения», «избранное», «Корзина»; 2-я — меню, лишние пункты — в «Еще». */
.vp-hchat, .vp-mainnav .vp-nav-more { display: none !important; }
@media (min-width: 1000px) {
	html body { --wp--style--root--padding-left: 32px; --wp--style--root--padding-right: 32px; } /* поля 32px, как у старого и на Wildberries */
}
@media (min-width: 1000px) and (max-width: 1199px) {
	.vp-header.has-global-padding { display: grid; grid-template-columns: auto auto auto minmax(0, 1fr) auto auto auto auto; grid-template-rows: 62px 51px; column-gap: 20px; align-items: center; padding: 10px 32px 0 !important; }
	.vp-header::after { content: ""; position: absolute; left: 32px; right: 32px; top: 72px; height: 1px; background: rgba(93, 66, 52, .08); }
	.vp-header > .vp-header__top, .vp-header > .vp-header__bottom, .vp-header__navwrap { display: contents !important; }
	.vp-header > * { max-width: none !important; }
	.vp-header .vp-catalog { grid-column: 1; grid-row: 1; align-self: start; }
	.vp-header .vp-header__logo { grid-column: 2; grid-row: 1; align-self: start; margin: 1px 0 0 !important; }
	.vp-header .vp-hc--phone { grid-column: 3; grid-row: 1; align-self: start; margin: 7px 0 0 !important; }
	.vp-header .vp-hc--phone .vp-hc__sub, .vp-header .vp-header__msg { display: none !important; }
	.vp-header .vp-hc--phone .vp-hc__main { padding: 10px 0; }
	.vp-header .vp-search { grid-column: 4; grid-row: 1; align-self: start; min-width: 0; margin: 7px 0 0 !important; }
	.wp-block-search.vp-search .wp-block-search__inside-wrapper { height: 39px; }
	.wp-block-search.vp-search .wp-block-search__input { height: 35px; }
	.wp-block-search.vp-search .wp-block-search__button { display: none; } /* у старого на планшете кнопки «Найти» нет */
	.vp-header .vp-hchat { display: block !important; grid-column: 5; grid-row: 1; align-self: start; position: relative; margin-top: 6px; }
	.vp-header .vp-wishlist-link { grid-column: 6; grid-row: 1; align-self: start; margin: 6px 0 0 -20px !important; }
	.vp-header .vp-wishlist-link__label { display: none; }
	.vp-header .vp-wishlist-link { width: 40px; min-width: 0; height: 40px; justify-content: center; align-items: center; }
	.vp-header .vp-wishlist-link.vp-account-link { grid-column: 7; }
	.vp-header .vp-cart.vp-cart--stack { grid-column: 8; grid-row: 1; align-self: start; width: 40px; min-width: 0; height: 40px; margin: 6px 0 0 -20px !important; justify-content: center; }
	.vp-header .vp-cart.vp-cart--stack .vp-cart__text { display: none; }
	/* вторая строка — меню */
	.vp-header .wp-block-navigation.vp-mainnav { grid-column: 1 / -1; grid-row: 2; margin: 0 !important; }
	.vp-mainnav .wp-block-navigation__container { gap: 56px; } /* было 64px; с пунктом «Акции» (30.09.2026) иначе «Еще» на 1000 px вылезал за край */
	.vp-header .vp-mainnav .vp-nav-strong { padding-left: 26px; margin-right: -6px; }
	.vp-header .vp-mainnav .vp-nav-strong > .wp-block-navigation-item__content { display: flex; align-items: center; gap: 6px; }
	.vp-header .vp-mainnav .vp-nav-strong > .wp-block-navigation-item__content::before { content: ""; flex: 0 0 16px; width: 16px; height: 16px; background: currentColor; -webkit-mask: url(assets/icons/zap.svg) center / contain no-repeat; mask: url(assets/icons/zap.svg) center / contain no-repeat; } /* «молния», как у старого */
	.vp-header .vp-mainnav .vp-nav-more { display: flex !important; }
	.vp-header .vp-mainnav .vp-nav-more > .wp-block-navigation__submenu-container { left: auto !important; right: 0 !important; } /* не вылезать за край экрана */
	.vp-header .vp-mainnav .vp-nav-tour, .vp-header .vp-mainnav .vp-nav-clauses, .vp-header .vp-mainnav .vp-nav-contacts { display: none; }
	.vp-sticky { display: none !important; } /* закреплённая шапка компьютера здесь не помещается */
	/* «сообщения»: значок и выпадающие ссылки на мессенджеры */
	.vp-hchat__btn { display: block; width: 40px; height: 40px; padding: 0; border: 0; background: none; color: var(--vp-brown); cursor: pointer; position: relative; }
	.vp-hchat__btn::before { content: ""; position: absolute; inset: 0; margin: auto; width: 22px; height: 22px; background: currentColor; -webkit-mask: url(assets/icons/message-square.svg) center / contain no-repeat; mask: url(assets/icons/message-square.svg) center / contain no-repeat; }
	.vp-hchat__btn:hover, .vp-hchat__btn[aria-expanded="true"] { color: var(--vp-honey); }
	.vp-hchat__menu { position: absolute; top: 100%; right: 0; z-index: 60; display: grid; min-width: 160px; padding: 8px 0; border-radius: 8px; background: #fff; box-shadow: 0 4px 16px -4px rgba(0, 0, 0, .04), 0 8px 64px -12px rgba(0, 0, 0, .2); }
	.vp-hchat__menu[hidden] { display: none; }
	.vp-hchat__menu a { padding: 8px 16px; color: var(--vp-brown); font-size: 16px; line-height: 19px; text-decoration: none; }
	.vp-hchat__menu a:hover { color: var(--vp-honey); }
}
@media (min-width: 1000px) and (max-width: 1199px) {
	/* подвал: поля 50px, контакты в две строки по правому краю */
	.vp-footer > .vp-footer__main.has-global-padding { padding-left: 50px !important; padding-right: 50px !important; }
	.vp-footer__main > * { max-width: none !important; }
	.vp-footer__row > .vp-footer__contacts-wrap { flex: 1 1 auto; min-width: 0; }
	/* логотипу справа не хватает места — над колонками по центру */
	.vp-footer__main > .vp-footer__row { flex-wrap: wrap !important; }
	.vp-footer__row > .vp-footer__logo { order: -1; flex: 0 0 100%; margin: 0 0 22px !important; }
	.vp-footer__logo a { display: block; width: 200px; margin: 0 auto; }
}
@media (min-width: 1000px) and (max-width: 1199px) {
	/* карточка товара: фото 325px, покупка 325px справа, колонка с названием — что останется */
	.vp-product__left { flex: 1 1 auto; width: auto; }
	.vp-gallery { flex: 0 0 325px; width: 325px; }
	.vp-gallery .wc-block-product-gallery-large-image,
	.vp-gallery .wc-block-product-gallery-large-image__container,
	.vp-gallery .wc-block-product-gallery-thumbnails { width: 325px; }
	.vp-gallery .wc-block-product-gallery-large-image img { width: 325px; height: 325px; }
	.vp-pmedia { flex: 0 0 325px; width: 325px; }
}
@media (max-width: 599px) {
	.vp-product__main > .vp-pmedia { width: calc(100% + 40px); max-width: none; margin: -10px -20px 0; }
	.vp-pmedia__track { border-radius: 0; }
}
@media (min-width: 1115px) and (max-width: 1199px) { /* было от 1068px — до пункта «Акции» */
	.vp-header .vp-mainnav .vp-nav-tour { display: flex; }
	.vp-header .vp-mainnav .vp-more-tour { display: none; }
}
