/* =====================================================================
 * ЮДОМ — витрина. Стили всех блоков плагина.
 *
 * Цвета, скругления и отступы — только через переменные ниже: поменяли
 * здесь — поменялось во всех блоках. Шрифт не задаём: его держит тема.
 * Woodmart оформляет button и a.button по-своему, поэтому у наших кнопок
 * основные свойства с !important.
 * ================================================================== */

:root {
	--ys-brand: #C43233;          /* фирменный: кнопки, цена со скидкой, акценты */
	--ys-brand-hover: #9E2426;
	--ys-brand-soft: #FBEDED;     /* фон выделенного пункта */
	--ys-warm: #F3E7D2;           /* тёплый фон: плитки категорий, промо */
	--ys-warm-text: #5C4A2A;
	--ys-bg: #F7F5F3;             /* подложка секций */
	--ys-surface: #FFFFFF;
	--ys-text: #241F1D;
	--ys-text-2: #6B615C;
	--ys-muted: #9A918C;
	--ys-border: #E6E1DD;
	--ys-ok: #2F7D4F;             /* в наличии */
	--ys-radius-sm: 8px;
	--ys-radius: 12px;
	--ys-radius-lg: 16px;
	--ys-shadow: 0 10px 30px rgba(36, 31, 29, .12), 0 2px 6px rgba(36, 31, 29, .06);
	--ys-gap: 16px;
	--ys-ease: cubic-bezier(.2, .8, .2, 1);
}

/* ---------- общие ---------- */

.ys-link {
	all: unset;
	cursor: pointer;
	color: var(--ys-brand) !important;
	font-size: inherit;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, var(--ys-brand) 35%, transparent);
	text-underline-offset: 3px;
}
.ys-link:hover { color: var(--ys-brand-hover) !important; text-decoration-color: currentColor; }
.ys-link:focus-visible { outline: 2px solid var(--ys-brand); outline-offset: 2px; border-radius: 2px; }

/* ---------- плашка магазина в шапке ---------- */

.ys-store-chip {
	all: unset;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	gap: 8px;
	max-width: 100%;
	padding: 6px 12px 6px 8px !important;
	border-radius: 999px !important;
	background: var(--ys-bg) !important;
	color: var(--ys-text) !important;
	cursor: pointer;
	line-height: 1.2 !important;
	transition: background .15s, box-shadow .15s;
}
.ys-store-chip { background: var(--ys-surface) !important; border: 1px solid var(--ys-border) !important; }
.ys-store-chip:hover { background: var(--ys-brand-soft) !important; border-color: color-mix(in srgb, var(--ys-brand) 30%, transparent) !important; }
/* Шапка Woodmart наследует капслок и жирность пунктов меню — плашке это не нужно. */
.ys-store-chip,
.ys-store-chip * { text-transform: none !important; letter-spacing: normal !important; font-family: inherit; }
.ys-store-chip:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }

.ys-store-chip__icon {
	position: relative;
	display: inline-flex;
	flex: 0 0 auto;
	width: 28px;
	height: 28px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--ys-surface);
	color: var(--ys-brand);
}
.ys-store-chip__icon svg,
.ys-store-note svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.ys-store-chip__text { display: flex; flex-direction: column; min-width: 0; text-align: left; }
.ys-store-chip__hint { font-size: 11px; color: var(--ys-text-2); }
.ys-store-chip__name { font-size: 13px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 240px; }

/* Магазин не выбран — заметно: точка-маячок и красная подпись. */
.ys-store-chip.is-empty .ys-store-chip__name { color: var(--ys-brand); }
.ys-store-chip.is-empty .ys-store-chip__icon::after {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ys-brand);
	box-shadow: 0 0 0 2px var(--ys-surface);
	animation: ys-pulse 1.8s var(--ys-ease) infinite;
}
@keyframes ys-pulse {
	0%   { box-shadow: 0 0 0 2px var(--ys-surface), 0 0 0 2px color-mix(in srgb, var(--ys-brand) 45%, transparent); }
	70%  { box-shadow: 0 0 0 2px var(--ys-surface), 0 0 0 9px color-mix(in srgb, var(--ys-brand) 0%, transparent); }
	100% { box-shadow: 0 0 0 2px var(--ys-surface), 0 0 0 2px color-mix(in srgb, var(--ys-brand) 0%, transparent); }
}

@media (max-width: 767px) {
	.ys-store-chip { padding: 4px 10px 4px 4px !important; }
	.ys-store-chip__hint { display: none; }
	.ys-store-chip__name { max-width: 150px; font-size: 12px; }
}

/* ---------- строка «Цены и наличие — в магазине…» ---------- */

.ys-store-note {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
	padding: 10px 14px;
	border-radius: var(--ys-radius-sm);
	background: var(--ys-bg);
	color: var(--ys-text-2);
	font-size: 13px;
	line-height: 1.4;
}
.ys-store-note svg { color: var(--ys-brand); flex: 0 0 auto; }
.ys-store-note b { color: var(--ys-text); font-weight: 600; }

/* ---------- верхняя полоса шапки [yudom_topbar] ---------- */

.ys-topbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px 10px;
	font-size: 13px;
	line-height: 1.3;
	color: var(--ys-warm-text);
}
.ys-topbar__sep { opacity: .5; }
body .ys-topbar__link {
	all: unset;
	cursor: pointer;
	font: inherit;
	color: inherit !important;
	text-transform: none !important;
	letter-spacing: normal !important;
	text-decoration: underline;
	text-decoration-color: color-mix(in srgb, currentColor 35%, transparent);
	text-underline-offset: 3px;
}
body .ys-topbar__link,
body .ys-topbar__link:hover,
body .ys-topbar__link:focus,
body .ys-topbar__link:active { background: transparent !important; box-shadow: none !important; padding: 0 !important; min-height: 0 !important; }
body .ys-topbar__link:hover { color: var(--ys-brand) !important; text-decoration-color: currentColor; }
body .ys-topbar__link:focus-visible { outline: 2px solid var(--ys-brand); outline-offset: 2px; border-radius: 2px; }

/* ---------- окно выбора магазина ---------- */

html.ys-picker-open { overflow: hidden; }

.ys-picker { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.ys-picker[hidden] { display: none; }

.ys-picker__backdrop { position: absolute; inset: 0; background: rgba(36, 31, 29, .45); opacity: 0; transition: opacity .2s; }

.ys-picker__panel {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: 520px;
	max-height: min(640px, calc(100vh - 32px));
	display: flex;
	flex-direction: column;
	padding: 28px 28px 16px;
	border-radius: var(--ys-radius-lg);
	background: var(--ys-surface);
	box-shadow: var(--ys-shadow);
	color: var(--ys-text);
	opacity: 0;
	transform: translateY(12px) scale(.98);
	transition: opacity .2s var(--ys-ease), transform .25s var(--ys-ease);
}
.ys-picker.is-open .ys-picker__backdrop { opacity: 1; }
.ys-picker.is-open .ys-picker__panel { opacity: 1; transform: none; }
.ys-picker__panel:focus { outline: none; }
.ys-picker.is-loading .ys-picker__panel { opacity: .6; pointer-events: none; }

.ys-picker__close {
	all: unset;
	position: absolute !important;
	top: 12px;
	right: 12px;
	width: 36px;
	height: 36px;
	display: flex !important;
	align-items: center;
	justify-content: center;
	border-radius: 50% !important;
	color: var(--ys-text-2) !important;
	cursor: pointer;
}
.ys-picker__close:hover { background: var(--ys-bg) !important; color: var(--ys-text) !important; }
.ys-picker__close svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

.ys-picker__head { padding-right: 32px; margin-bottom: 18px; }
.ys-picker__title { font-size: 22px; font-weight: 700; line-height: 1.25; color: var(--ys-text); }
.ys-picker__lead { margin: 6px 0 0 !important; font-size: 14px; line-height: 1.5; color: var(--ys-text-2); }

.ys-picker__cities { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.ys-picker__city {
	all: unset;
	box-sizing: border-box;
	padding: 8px 14px !important;
	border-radius: 999px !important;
	border: 1px solid var(--ys-border) !important;
	background: var(--ys-surface) !important;
	color: var(--ys-text) !important;
	font-size: 14px !important;
	line-height: 1.2 !important;
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.ys-picker__city:hover { border-color: var(--ys-text-2) !important; }
.ys-picker__city.is-active { background: var(--ys-text) !important; border-color: var(--ys-text) !important; color: #fff !important; }
.ys-picker__city:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }

.ys-picker__stores { list-style: none !important; margin: 0 -4px !important; padding: 0 4px !important; overflow-y: auto; display: grid; gap: 8px; }
.ys-picker__stores li { margin: 0 !important; padding: 0 !important; }
.ys-picker__stores li::before { display: none !important; }

.ys-picker__store {
	all: unset;
	box-sizing: border-box;
	width: 100%;
	display: grid !important;
	grid-template-columns: 1fr auto;
	grid-template-areas: "addr mark" "hours mark";
	align-items: center;
	column-gap: 12px;
	row-gap: 2px;
	padding: 14px 16px !important;
	border-radius: var(--ys-radius) !important;
	border: 1px solid var(--ys-border) !important;
	background: var(--ys-surface) !important;
	color: var(--ys-text) !important;
	cursor: pointer;
	transition: border-color .15s, background .15s;
}
.ys-picker__store:hover { border-color: var(--ys-brand) !important; }
.ys-picker__store:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }
.ys-picker__store.is-active { border-color: var(--ys-brand) !important; background: var(--ys-brand-soft) !important; }

.ys-picker__store-addr { grid-area: addr; font-size: 15px; font-weight: 600; line-height: 1.35; }
.ys-picker__store-hours { grid-area: hours; font-size: 13px; color: var(--ys-text-2); }
.ys-picker__store-mark {
	grid-area: mark;
	padding: 7px 12px;
	border-radius: var(--ys-radius-sm);
	background: var(--ys-brand);
	color: #fff;
	font-size: 13px;
	font-weight: 600;
	white-space: nowrap;
}
.ys-picker__store:hover .ys-picker__store-mark { background: var(--ys-brand-hover); }
.ys-picker__store.is-active .ys-picker__store-mark { background: transparent; color: var(--ys-brand); padding-right: 0; }

.ys-picker__foot { display: flex; justify-content: center; padding-top: 14px; margin-top: 6px; font-size: 14px; }
.ys-picker__foot .ys-link { color: var(--ys-text-2) !important; }

/*
 * Защита от стилей кнопок темы. Woodmart задаёт всем <button> капслок,
 * жирность, центровку, фон и минимальную высоту — внутри окна и плашки
 * это ломает вид. Префикс #ys-picker даёт перевес над любыми селекторами темы.
 */
#ys-picker button,
body .ys-store-chip,
body .ys-store-chip * {
	text-transform: none !important;
	letter-spacing: normal !important;
	font-family: inherit !important;
	min-height: 0 !important;
	min-width: 0 !important;
	box-shadow: none;
}
#ys-picker button { text-align: left !important; }

#ys-picker .ys-picker__close {
	width: 36px !important;
	height: 36px !important;
	padding: 0 !important;
	background: transparent !important;
}
#ys-picker .ys-picker__close:hover { background: var(--ys-bg) !important; }

#ys-picker .ys-picker__city { font-weight: 500 !important; }
.ys-picker__city-single {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ys-text-2);
}
.ys-picker__city-single::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--ys-brand);
}

.ys-picker__step {
	margin: 0 0 8px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ys-muted);
	text-transform: uppercase;
	letter-spacing: .04em;
}
.ys-picker__step[hidden] { display: none; }
.ys-picker__cities + .ys-picker__step { margin-top: 4px; }

#ys-picker .ys-picker__city { display: inline-flex !important; align-items: center; gap: 6px; }
.ys-picker__city-count {
	min-width: 20px;
	padding: 1px 6px;
	border-radius: 999px;
	background: var(--ys-bg);
	color: var(--ys-text-2);
	font-size: 12px;
	font-weight: 600;
	line-height: 18px;
	text-align: center;
}
.ys-picker__city.is-active .ys-picker__city-count { background: rgba(255, 255, 255, .2); color: #fff; }

.ys-picker__stores .ys-picker__hint {
	padding: 18px 16px !important;
	border: 1px dashed var(--ys-border);
	border-radius: var(--ys-radius);
	color: var(--ys-text-2);
	font-size: 14px;
	text-align: center;
}

#ys-picker .ys-picker__store { justify-items: start; }
#ys-picker .ys-picker__store-addr { font-size: 15px !important; font-weight: 600 !important; color: var(--ys-text) !important; }
#ys-picker .ys-picker__store-hours { font-size: 13px !important; font-weight: 400 !important; color: var(--ys-text-2) !important; }
#ys-picker .ys-picker__store-mark { justify-self: end; font-size: 13px !important; font-weight: 600 !important; line-height: 1.2 !important; }

#ys-picker .ys-picker__foot .ys-link {
	padding: 8px 12px !important;
	background: transparent !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	color: var(--ys-text-2) !important;
}
#ys-picker .ys-picker__foot .ys-link:hover { color: var(--ys-text) !important; }

/* Телефон: окно — шторкой снизу. */
@media (max-width: 600px) {
	.ys-picker { align-items: flex-end; padding: 0; }
	.ys-picker__panel {
		max-width: none;
		max-height: 88vh;
		padding: 22px 16px calc(12px + env(safe-area-inset-bottom));
		border-radius: 20px 20px 0 0;
		transform: translateY(40px);
	}
	.ys-picker__title { font-size: 20px; }
	.ys-picker__store { padding: 12px 14px !important; }
}

@media (prefers-reduced-motion: reduce) {
	.ys-picker__panel, .ys-picker__backdrop { transition: none; }
	.ys-store-chip.is-empty .ys-store-chip__icon::after { animation: none; }
}

/* ---------- Woodmart: выпадающий «Каталог» в шапке ----------
 * 22 раздела не помещаются по высоте окна при липкой шапке.
 * Список прокручивается внутри, а подкатегории открываются панелью
 * справа от всего списка (позиционируются от .wd-dropdown-cats, а не
 * от пункта) — так прокрутка их не обрезает.
 */
body .wd-header-cats .wd-dropdown-cats {
	--ys-cats-max: calc(100vh - 150px);
	padding: 0 !important;
}
body .wd-header-cats .wd-dropdown-cats > ul.wd-nav-vertical {
	position: static !important;
	max-height: var(--ys-cats-max) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	scrollbar-width: thin;
	scrollbar-color: var(--ys-border) transparent;
}
body .wd-header-cats .wd-dropdown-cats > ul.wd-nav-vertical > li {
	position: static !important;
}
body .wd-header-cats .wd-dropdown-cats > ul.wd-nav-vertical > li > a {
	padding-top: 9px !important;
	padding-bottom: 9px !important;
	min-height: 0 !important;
	line-height: 1.3 !important;
}
body .wd-header-cats .wd-dropdown-cats > ul.wd-nav-vertical > li > .wd-dropdown-menu {
	position: absolute !important;
	top: 0 !important;
	bottom: auto !important;
	left: 100% !important;
	right: auto !important;
	inset-inline-start: 100% !important;
	margin: 0 !important;
	transform: none !important;
	min-height: 100%;
	max-height: var(--ys-cats-max);
	overflow-y: auto;
	border-radius: 0 8px 8px 0;
	box-shadow: 0 8px 24px rgba(36, 31, 29, .12);
}

/* Подкатегории управляются скриптом catalog-menu.js (класс .ys-open),
   чтобы панель не пропадала по пути к ней. Без скрипта работает :hover темы. */
body .wd-dropdown-cats.ys-aim > ul > li:not(.ys-open) > .wd-dropdown-menu {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}
body .wd-dropdown-cats.ys-aim > ul > li.ys-open > .wd-dropdown-menu {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}
body .wd-dropdown-cats.ys-aim > ul > li.ys-open > a { color: var(--ys-brand) !important; background: var(--ys-brand-soft); }

/* Панель подкатегорий: шире, в две колонки, с заголовком раздела. */
body .wd-header-cats .wd-dropdown-cats > ul.wd-nav-vertical > li > .wd-dropdown-menu {
	width: 620px !important;
	max-width: calc(100vw - 560px);
	background: var(--ys-surface) !important;
	border-left: 1px solid var(--ys-border);
}
body .wd-dropdown-cats .wd-dropdown-menu > .container {
	padding: 22px 26px 24px !important;
	width: auto !important;
	max-width: none !important;
}
.ys-sub-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	padding-bottom: 14px;
	margin-bottom: 10px;
	border-bottom: 1px solid var(--ys-border);
}
.ys-sub-head__title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--ys-text);
	text-transform: lowercase;
}
.ys-sub-head__title::first-letter { text-transform: uppercase; }
body .ys-sub-head__all {
	flex: 0 0 auto;
	font-size: 14px;
	font-weight: 600;
	color: var(--ys-brand) !important;
	white-space: nowrap;
	text-decoration: none;
}
body .ys-sub-head__all:hover { color: var(--ys-brand-hover) !important; text-decoration: underline; }

body .wd-dropdown-cats ul.ys-sub-grid {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2px 20px;
	margin: 0 !important;
	padding: 0 !important;
	columns: auto !important;
}
body .wd-dropdown-cats ul.ys-sub-grid > li { margin: 0 !important; padding: 0 !important; list-style: none !important; }
body .wd-dropdown-cats ul.ys-sub-grid > li::before { display: none !important; }
body .wd-dropdown-cats ul.ys-sub-grid > li > a {
	display: block !important;
	padding: 8px 10px !important;
	margin: 0 -10px;
	border-radius: 6px;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	color: var(--ys-text) !important;
	text-decoration: none !important;
	transition: background .12s, color .12s;
}
body .wd-dropdown-cats ul.ys-sub-grid > li > a:hover {
	background: var(--ys-brand-soft);
	color: var(--ys-brand) !important;
}
/* Узкий экран (ноутбук 1280): одна колонка, чтобы панель не вылезала за окно. */
@media (max-width: 1280px) {
	body .wd-dropdown-cats ul.ys-sub-grid { grid-template-columns: 1fr; }
	body .wd-header-cats .wd-dropdown-cats > ul.wd-nav-vertical > li > .wd-dropdown-menu { width: 360px !important; }
}

/* Квадратные фото подкатегорий в панели «Каталог». */
body .wd-dropdown-cats ul.ys-sub-grid > li > a.has-thumb {
	display: flex !important;
	align-items: center;
	gap: 12px;
	padding-top: 6px !important;
	padding-bottom: 6px !important;
}
/* Тема ограничивает картинки в меню 18 px (иконки пунктов) — снимаем. */
body .wd-dropdown-cats .ys-sub-thumb {
	flex: 0 0 48px !important;
	width: 48px !important;
	height: 48px !important;
	min-width: 48px !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	opacity: 1 !important;
	border-radius: 8px;
	border: 1px solid var(--ys-border) !important;
	background: #fff !important;
	object-fit: contain;
	padding: 6px !important;
	box-sizing: border-box;
	transition: border-color .12s;
}
body .wd-dropdown-cats ul.ys-sub-grid > li > a:hover .ys-sub-thumb { border-color: color-mix(in srgb, var(--ys-brand) 35%, transparent) !important; }

/* Нет фото — иконка раздела (наследуется от пункта главного списка). */
span.ys-sub-thumb { display: inline-flex !important; align-items: center; justify-content: center; }
span.ys-sub-thumb::before {
	content: "";
	width: 24px;
	height: 24px;
	background-color: var(--ys-muted);
	-webkit-mask: var(--ys-ico) center / contain no-repeat;
	mask: var(--ys-ico) center / contain no-repeat;
	opacity: .7;
}
body .wd-dropdown-cats ul.ys-sub-grid > li > a:hover span.ys-sub-thumb::before { background-color: var(--ys-brand); opacity: 1; }

/* ======================================================================
 * Магазины: список [yudom_stores] и страница магазина
 * ==================================================================== */

.ys-ico { width: 18px; height: 18px; flex: 0 0 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }

.ys-stores__cities { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
body .ys-stores__cities .ys-picker__city { all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--ys-border); color: var(--ys-text); font-size: 14px; font-weight: 500; text-decoration: none; }
body .ys-stores__cities .ys-picker__city:hover { border-color: var(--ys-text-2); }
body .ys-stores__cities .ys-picker__city.is-active { background: var(--ys-text); border-color: var(--ys-text); color: #fff; }

.ys-stores__city { margin: 0 0 40px; scroll-margin-top: 140px; }
.ys-stores__city-title { display: flex; align-items: baseline; gap: 10px; margin: 0 0 16px !important; font-size: 24px; }
.ys-stores__city-title span { font-size: 14px; font-weight: 500; color: var(--ys-muted); }
.ys-stores__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 20px; }

.ys-store-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); scroll-margin-top: 140px; transition: box-shadow .15s, border-color .15s; }
.ys-store-card:hover { border-color: #d9d2cc; box-shadow: 0 6px 20px rgba(36, 31, 29, .07); }
.ys-store-card__media { display: block; aspect-ratio: 16 / 9; background: var(--ys-bg); }
.ys-store-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ys-store-card__img--empty { display: flex; align-items: center; justify-content: center; color: #cfc6bf; }
.ys-store-card__img--empty .ys-ico { width: 40px; height: 40px; stroke-width: 1.3; }
.ys-store-card__body { display: flex; flex-direction: column; gap: 12px; flex: 1; padding: 18px 20px 20px; }
.ys-store-card__title { margin: 0 !important; font-size: 18px; line-height: 1.3; }
.ys-store-card__title a { color: var(--ys-text); text-decoration: none; }
.ys-store-card__title a:hover { color: var(--ys-brand); }

.ys-store-rows { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 8px; font-size: 14px; line-height: 1.4; color: var(--ys-text-2); }
.ys-store-rows li { display: flex; gap: 10px; align-items: flex-start; margin: 0 !important; }
.ys-store-rows li::before { display: none !important; }
.ys-store-rows .ys-ico { margin-top: 1px; color: var(--ys-muted); }
.ys-store-rows a { color: var(--ys-text); text-decoration: none; }
.ys-store-rows a:hover { color: var(--ys-brand); }
.ys-store-rows .ys-amen { gap: 16px; flex-wrap: wrap; }
.ys-store-rows .ys-amen span { display: inline-flex; align-items: center; gap: 6px; }

.ys-open-status { display: block; font-weight: 600; color: var(--ys-text); }
.ys-open-status.is-open { color: var(--ys-ok); }
.ys-open-status.is-closed { color: var(--ys-brand); }

.ys-store-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: auto; padding-top: 4px; }
body .ys-btn { all: unset; box-sizing: border-box; display: inline-flex !important; align-items: center; justify-content: center; gap: 6px; min-height: 40px; padding: 0 14px !important; border-radius: var(--ys-radius-sm) !important; border: 1px solid var(--ys-border) !important; background: var(--ys-surface) !important; color: var(--ys-text) !important; font: inherit; font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: normal !important; cursor: pointer; white-space: nowrap; transition: background .15s, border-color .15s, color .15s; }
body .ys-btn:hover { border-color: var(--ys-text-2) !important; }
body .ys-btn:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }
body .ys-btn--primary { background: var(--ys-brand) !important; border-color: var(--ys-brand) !important; color: #fff !important; }
body .ys-btn--primary:hover { background: var(--ys-brand-hover) !important; border-color: var(--ys-brand-hover) !important; }
body .ys-btn--done { background: var(--ys-brand-soft) !important; border-color: transparent !important; color: var(--ys-brand) !important; cursor: default; }
body .ys-btn--link { border-color: transparent !important; color: var(--ys-text-2) !important; padding: 0 6px !important; }
body .ys-btn--link:hover { color: var(--ys-brand) !important; }
body .ys-btn[disabled] { opacity: .6; pointer-events: none; }

/* Страница магазина */
.ys-store-info { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; margin: 0 0 32px; align-items: start; }
.ys-store-info.no-gallery { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ys-store-gallery { display: grid; gap: 8px; }
.ys-store-gallery.is-multi { grid-template-columns: repeat(3, 1fr); }
.ys-store-gallery a { display: block; overflow: hidden; border-radius: var(--ys-radius-sm); background: var(--ys-bg); }
.ys-store-gallery.is-multi a:first-child { grid-column: 1 / -1; }
.ys-store-gallery img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.ys-store-gallery.is-multi a:first-child img { aspect-ratio: 16 / 9; }
.ys-store-info__main { display: flex; flex-direction: column; gap: 16px; padding: 24px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); }
.ys-store-info__city { display: flex; gap: 10px; align-items: flex-start; margin: 0 !important; font-size: 18px; font-weight: 600; color: var(--ys-text); line-height: 1.35; }
.ys-store-info__city .ys-ico { width: 22px; height: 22px; flex-basis: 22px; color: var(--ys-brand); }
.ys-store-info .ys-store-rows { font-size: 15px; }
.ys-store-info .ys-store-actions { margin-top: 4px; }
.ys-store-info__yandex { margin: 0 !important; font-size: 14px; }
.ys-store-info__yandex a { color: var(--ys-text-2); }

@media (max-width: 860px) {
	.ys-store-info { grid-template-columns: 1fr; gap: 20px; }
	.ys-stores__grid { grid-template-columns: 1fr; }
	.ys-stores__city-title { font-size: 20px; }
}

/* ---------- единая шапка страниц [yudom_page_head] ---------- */
.ys-page-head { padding: 0 0 24px; margin: 0 0 28px; border-bottom: 1px solid var(--ys-border); }
.ys-page-head__crumbs { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 10px; font-size: 14px; color: var(--ys-muted); }
.ys-page-head__crumbs a { color: var(--ys-text-2); text-decoration: none; }
.ys-page-head__crumbs a:hover { color: var(--ys-brand); }
.ys-page-head__crumbs .is-current { color: var(--ys-text); }
.ys-page-head__title { margin: 0 !important; font-size: 36px; line-height: 1.2; color: var(--ys-text); }
.ys-page-head__sub { margin: 8px 0 0 !important; font-size: 16px; color: var(--ys-text-2); }
@media (max-width: 767px) {
	.ys-page-head { padding: 4px 0 16px; margin-bottom: 20px; }
	.ys-page-head__title { font-size: 26px; }
}
/* Страница магазина: тема выводит её шаблоном записи блога — убираем
   блоговые части (автор, дата, «поделиться», «новее/старше», комментарии). */
.single-yudom_store .wd-single-post-header,
.single-yudom_store .wd-single-footer,
.single-yudom_store .wd-page-nav,
.single-yudom_store .comments-area,
.single-yudom_store .page-title { display: none !important; }


/* Хлебные крошки Yoast внутри единой шапки — в том же стиле. */
.ys-page-head__crumbs > span { display: flex; flex-wrap: wrap; gap: 6px; }
.ys-page-head__crumbs .breadcrumb_last { color: var(--ys-text); }

body .ys-stores__cities .ys-picker__city:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }
.ys-stores { padding-top: 8px; }
.ys-stores__city[hidden] { display: none !important; }
/* Отступ от шапки, если страница начинается не с [yudom_page_head]. */


/* ---------- карта магазинов ---------- */
.ys-stores-map { margin: 0 0 32px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); overflow: hidden; background: var(--ys-bg); }
.ys-stores-map__canvas { height: 440px; }
.ys-stores-map.is-failed { border-style: dashed; }
.ys-stores-map__fallback { margin: 0 !important; padding: 16px 20px; font-size: 14px; color: var(--ys-text-2); }
@media (max-width: 767px) { .ys-stores-map__canvas { height: 320px; } }

/* Панель магазина поверх карты (своя, вместо балуна Яндекса) */
.ys-stores-map { position: relative; }
.ys-map-card { position: absolute; z-index: 5; top: 16px; left: 16px; width: 320px; max-height: calc(100% - 32px); overflow: auto; box-sizing: border-box; background: var(--ys-surface); border-radius: var(--ys-radius); box-shadow: var(--ys-shadow); font-family: inherit; font-size: 14px; line-height: 1.45; color: var(--ys-text); animation: ys-card-in .18s var(--ys-ease); }
.ys-map-card[hidden] { display: none !important; }
@keyframes ys-card-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.ys-map-card__media { aspect-ratio: 2 / 1; background: var(--ys-bg); }
.ys-map-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ys-map-card__body { padding: 16px 18px 18px; }
.ys-map-card__city { font-size: 12px; font-weight: 500; letter-spacing: .02em; color: var(--ys-muted); }
.ys-map-card__addr { margin: 2px 0 10px; font-family: Manrope, Inter, sans-serif; font-size: 17px; font-weight: 700; line-height: 1.3; }
.ys-map-card__status { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 3px 10px; border-radius: 999px; font-size: 13px; font-weight: 600; }
.ys-map-card__status i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.ys-map-card__status.is-open { background: #E8F3EC; color: var(--ys-ok); }
.ys-map-card__status.is-closed { background: var(--ys-brand-soft); color: var(--ys-brand); }
.ys-map-card__rows { margin: 0 0 14px !important; padding: 0 !important; list-style: none !important; display: grid; gap: 6px; }
.ys-map-card__rows li { display: flex; align-items: center; gap: 8px; margin: 0 !important; color: var(--ys-text-2); }
.ys-map-card__rows a { color: var(--ys-text) !important; text-decoration: none !important; font-weight: 500; }
.ys-map-card__rows a:hover { color: var(--ys-brand) !important; }
.ys-map-card svg { flex: none; width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ys-map-card__rows svg { color: var(--ys-muted); }
.ys-map-card__actions { display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.ys-map-card__actions .ys-btn { min-height: 40px; }
.ys-map-card__more { display: inline-flex; align-items: center; gap: 4px; margin-top: 12px; font-size: 13px; font-weight: 600; color: var(--ys-text-2) !important; text-decoration: none !important; }
.ys-map-card__more:hover { color: var(--ys-brand) !important; }
body .ys-map-card__close { all: unset; box-sizing: border-box; position: absolute; z-index: 2; top: 10px; right: 10px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--ys-text); box-shadow: 0 1px 4px rgba(36, 31, 29, .18); cursor: pointer; }
body .ys-map-card__close:hover { background: #fff; color: var(--ys-brand); }
body .ys-map-card__close:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }
@media (max-width: 767px) {
	.ys-map-card { top: auto; left: 8px; right: 8px; bottom: 8px; width: auto; max-height: calc(100% - 16px); }
	.ys-map-card__media { display: none; } /* на телефоне карта важнее фото */
	.ys-map-card__body { padding: 14px 14px 14px; }
	.ys-map-card__addr { font-size: 16px; margin-right: 36px; margin-bottom: 8px; }
	.ys-map-card__status { margin-bottom: 8px; font-size: 12px; padding: 2px 8px; }
	.ys-map-card__rows { margin-bottom: 12px !important; font-size: 13px; }
	.ys-map-card__actions { grid-template-columns: 1fr 1fr; }
	.ys-map-card__actions .ys-btn { min-height: 38px; padding: 0 10px !important; font-size: 13px !important; }
	.ys-map-card__more { display: none; }
	body .ys-map-card__close { top: 8px; right: 8px; background: var(--ys-bg); box-shadow: none; }
}

/* ---------- общий телефон / почта ---------- */
.ys-contact { display: inline-flex; flex-direction: column; gap: 2px; }
.ys-contact__label { font-size: 12px; color: var(--ys-muted); }
.ys-contact a { display: inline-flex; align-items: center; gap: 8px; color: inherit; text-decoration: none; font-weight: 600; }
.ys-contact a:hover { color: var(--ys-brand); }
body .ys-btn[hidden] { display: none !important; }

/* Страница магазина: правая колонка (данные + карта) липкая при прокрутке фото. */
.ys-store-info__side { display: flex; flex-direction: column; gap: 16px; position: sticky; top: 110px; }
.ys-stores-map--single { margin: 0; }
.ys-stores-map--single .ys-stores-map__canvas { height: 260px; }
@media (max-width: 860px) {
	.ys-store-info__side { position: static; }
	.ys-store-info.no-gallery { grid-template-columns: 1fr; }
}

/* Лайтбоксы (Elementor и Woodmart/PhotoSwipe): без кнопки «Поделиться». */
.elementor-slideshow__share-btn,
.elementor-slideshow__share-menu,
.elementor-lightbox .eicon-share-arrow,
.pswp__button--share,
.pswp__share-modal { display: none !important; }

/* ---------- 0.4.3: мобильная шапка и отступ до заголовка ---------- */
@media (max-width: 1024px) {
	/* Нижняя строка мобильной шапки Woodmart (плашка магазина + поиск) — повыше. */
	.whb-header-bottom .whb-header-bottom-inner,
	.whb-header-bottom .whb-flex-row { height: 64px !important; max-height: 64px !important; }
	/* Плашка магазина тянется на всю ширину строки, адрес не обрезается. */
	.whb-header-bottom .whb-column:has(.ys-store-chip) { flex: 1 1 auto; min-width: 0; }
	body .whb-header-bottom .ys-store-chip { width: 100%; max-width: calc(100vw - 88px); padding: 6px 14px 6px 6px !important; }
	body .whb-header-bottom .ys-store-chip__icon { width: 32px; height: 32px; background: var(--ys-brand-soft); }
	body .whb-header-bottom .ys-store-chip__text { flex: 1 1 auto; }
	body .whb-header-bottom .ys-store-chip__hint { display: block; font-size: 11px; }
	body .whb-header-bottom .ys-store-chip__name { max-width: none; font-size: 14px; }
}
@media (max-width: 767px) {
	/* Тема даёт свой отступ сверху контента — подтягиваем шапку страницы ближе к шапке сайта. */
	.ys-page-head { margin-top: -18px; padding-top: 0; }
}

/* ---------- 0.4.4 ---------- */
/* Плашка магазина в шапке: воздух справа, текст не упирается в рамку. */
body .ys-store-chip { padding-right: 18px !important; flex-shrink: 0; }
body .ys-store-chip__name { padding-right: 2px; }

/* Окно выбора: города ровной сеткой во всю ширину. */
#ys-picker .ys-picker__cities { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
#ys-picker .ys-picker__city { justify-content: center; width: 100%; box-sizing: border-box; }
@media (max-width: 480px) { #ys-picker .ys-picker__cities { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Карточка в списке магазинов: все кнопки в одну строку. */
.ys-store-card .ys-store-actions { flex-wrap: nowrap; align-items: center; gap: 6px; }
.ys-store-card .ys-store-actions .ys-btn { padding: 0 12px !important; }
.ys-store-card .ys-store-actions .ys-btn--primary,
.ys-store-card .ys-store-actions .ys-btn--done { flex: 1 1 auto; }
.ys-store-card .ys-store-actions .ys-btn--link { padding: 0 4px !important; margin-left: auto; }
@media (max-width: 380px) { .ys-store-card .ys-store-actions { flex-wrap: wrap; } }

/* Лайтбокс Elementor: кнопка «Поделиться» в новой разметке (SVG-иконка вместо шрифта). */
.elementor-lightbox .e-eicon-share-arrow,
.elementor-lightbox [aria-label="Share"],
.elementor-lightbox [aria-label="Поделиться"],
.elementor-slideshow__header > :has(.e-eicon-share-arrow),
.elementor-slideshow__header > :has(.eicon-share-arrow) { display: none !important; }

/* ---------- 0.4.5 ---------- */
/* Окно выбора: города по ширине текста, строки дотягиваются до края, последняя — не растягивается. */
#ys-picker .ys-picker__cities { display: flex !important; flex-wrap: wrap; gap: 8px; }
#ys-picker .ys-picker__cities::after { content: ""; flex: 999 1 0; }
#ys-picker .ys-picker__city { flex: 1 1 auto; width: auto !important; justify-content: center; white-space: nowrap; padding-left: 16px !important; padding-right: 12px !important; }

/* Страница магазина без фото: данные слева, карта справа. */
@media (min-width: 861px) {
	.ys-store-info.no-gallery { grid-template-columns: 1fr; }
	.ys-store-info.no-gallery .ys-store-info__side { position: static; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: stretch; }
	.ys-store-info.no-gallery .ys-stores-map--single { display: flex; flex-direction: column; min-height: 300px; }
	.ys-store-info.no-gallery .ys-stores-map--single .ys-stores-map__canvas { flex: 1; height: auto; min-height: 300px; }
}

/* Кнопка «Каталог» в шапке — компактнее, не спорит с логотипом. */
body .whb-header .wd-header-cats { height: auto !important; align-self: center; }
body .whb-header .wd-header-cats .menu-opener {
	height: 42px !important; min-height: 0 !important; line-height: 42px !important;
	padding: 0 16px 0 14px !important; gap: 8px;
	border-radius: 8px !important;
	font-size: 15px !important; font-weight: 600 !important;
	width: auto !important; min-width: 0 !important;
}
body .whb-header .wd-header-cats .menu-opener .menu-opener-icon { transform: scale(.85); }
body .whb-header .wd-header-cats .menu-opener::after { font-size: 11px; }

/* ---------- 0.5.0: подвал [yudom_footer] ---------- */
.ys-footer {
	--f-bg: #241F1D; --f-line: rgba(255, 255, 255, .09); --f-text: #B8AEA8; --f-head: #F7F5F3; --f-muted: #9A918C; --f-accent: #EF8A8B;
	background: var(--f-bg); color: var(--f-text); font-size: 15px; line-height: 1.5;
}
.ys-footer__in { max-width: 1280px; margin: 0 auto; padding: 56px 24px 0; box-sizing: border-box; }
.ys-footer__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) repeat(3, minmax(0, 1fr)) minmax(0, 1.15fr); gap: 32px 40px; padding-bottom: 44px; }
.ys-footer ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
.ys-footer li { margin: 0 0 10px !important; padding: 0 !important; }
.ys-footer a { color: var(--f-text) !important; text-decoration: none !important; transition: color .15s; }
.ys-footer a:hover { color: #fff !important; }
.ys-footer__title { margin: 0 0 18px !important; font-family: Manrope, Inter, sans-serif; font-size: 16px; font-weight: 700; color: var(--f-head); letter-spacing: 0; text-transform: none; }

.ys-footer__logo { display: inline-block; margin-bottom: 18px; }
.ys-footer__logo img { display: block; height: 48px; width: auto; border-radius: 8px; }
.ys-footer__wordmark { display: inline-block; padding: 8px 16px; border-radius: 8px; background: var(--ys-brand); color: #fff; font-family: Manrope, Inter, sans-serif; font-size: 22px; font-weight: 800; letter-spacing: .02em; }
.ys-footer__about { margin: 0 !important; max-width: 300px; font-size: 14px; line-height: 1.6; color: var(--f-muted); }

.ys-footer__all a { color: var(--f-accent) !important; font-weight: 600; }
.ys-footer__all a:hover { color: #fff !important; }
.ys-footer__cities a { display: inline-flex; align-items: center; gap: 8px; }
.ys-footer__cities a span { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; box-sizing: border-box; border-radius: 999px; background: rgba(255, 255, 255, .08); font-size: 12px; color: var(--f-muted); }

.ys-footer svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ys-footer__contacts a, .ys-footer__note { display: inline-flex; align-items: center; gap: 10px; }
.ys-footer__contacts svg { color: var(--f-accent); }
.ys-footer__phone a { font-family: Manrope, Inter, sans-serif; font-size: 19px; font-weight: 700; color: var(--f-head) !important; }
.ys-footer__note { font-size: 14px; color: var(--f-muted); }
.ys-footer__social { display: flex; gap: 10px; margin-top: 18px; }
.ys-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 10px; background: rgba(255, 255, 255, .07); color: var(--f-head) !important; transition: background .15s, color .15s; }
.ys-footer__social a:hover { background: var(--ys-brand); color: #fff !important; }
.ys-footer__social svg { width: 20px; height: 20px; }

.ys-footer__bottom { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 28px; padding: 22px 0 26px; border-top: 1px solid var(--f-line); font-size: 13px; color: var(--f-muted); }
.ys-footer__copy { margin: 0 !important; }
.ys-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 20px; }
.ys-footer__legal li { margin: 0 !important; }
.ys-footer__legal a { color: var(--f-muted) !important; }
.ys-footer__dev { margin: 0 0 0 auto !important; }
/* Ссылка разработчика: светлый оттенок фирменного красного, подчёркивание проявляется при наведении. */
.ys-footer__dev a {
	color: var(--f-accent) !important; font-weight: 500;
	background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-position: 0 100%; background-repeat: no-repeat;
	transition: color .2s, background-size .25s var(--ys-ease);
}
.ys-footer__dev a:hover { color: #fff !important; background-size: 100% 1px; }
.ys-footer a:focus-visible { outline: 2px solid var(--f-accent); outline-offset: 3px; border-radius: 2px; }

/* Обёртки Woodmart вокруг подвала: без своих отступов и фона, без второй строки ©. */
.footer-container:has(.ys-footer) { background: #241F1D !important; border: 0 !important; padding: 0 !important; }
.footer-container:has(.ys-footer) .main-footer,
.footer-container:has(.ys-footer) .container { padding: 0 !important; max-width: none !important; }
.footer-container:has(.ys-footer) .copyrights-wrapper { display: none !important; }
.footer-container:has(.ys-footer) .elementor-widget-shortcode,
.footer-container:has(.ys-footer) .elementor-widget-container { margin: 0 !important; }

@media (max-width: 1100px) {
	.ys-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ys-footer__brand { grid-column: 1 / -1; }
	.ys-footer__about { max-width: 520px; }
}
@media (max-width: 767px) {
	.ys-footer__in { padding: 40px 16px 0; }
	.ys-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 20px; padding-bottom: 32px; }
	.ys-footer__col--contacts { grid-column: 1 / -1; }
	.ys-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; padding-bottom: 80px; } /* место под нижнюю панель Woodmart */
	.ys-footer__dev { margin: 4px 0 0 !important; }
}

/* 0.5.1: логотип в подвале — аккуратного размера, тема не растягивает. */
.ys-footer .ys-footer__logo img { height: 40px !important; width: auto !important; max-width: 100% !important; border-radius: 0 !important; }
@media (max-width: 767px) { .ys-footer .ys-footer__logo img { height: 36px !important; } }

/* ---------- 0.6.0: продажи на сайте выключены (витрина) ---------- */
.ys-sales-note { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0 16px; padding: 12px 16px; border-radius: var(--ys-radius-sm); background: var(--ys-warm); color: var(--ys-warm-text); font-size: 14px; line-height: 1.45; }
.ys-sales-note svg { flex: none; width: 18px; height: 18px; margin-top: 1px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
/* Корзина в шапке, мини-корзина, нижняя панель, «Купить сейчас» — пока продаж нет, не показываем. */
body.ys-sales-off .wd-header-cart,
body.ys-sales-off .wd-toolbar-cart,
body.ys-sales-off .cart-widget-side,
body.ys-sales-off .wd-buy-now-btn,
body.ys-sales-off .wd-sticky-btn-cart { display: none !important; }

/* =====================================================================
   0.7.0 — КАТАЛОГ: шапка раздела, подразделы, фильтры, плитка товара
   ===================================================================== */

/* Шапку Woodmart (крошки, «Отображение 1–24 из …», «Показывать боковую панель») заменяет наша. */
/* Woodmart выводит наши блоки внутри своей строки .shop-loop-head — строку оставляем, прячем только её элементы. */
body.ys-catalog .shop-loop-head,
body.ys-catalog .shop-loop-head > .wd-shop-tools { display: block !important; width: 100%; max-width: none; margin: 0 !important; padding: 0 !important; border: 0 !important; flex: none !important; }
body.ys-catalog .shop-loop-head .wd-breadcrumbs,
body.ys-catalog .shop-loop-head .woocommerce-breadcrumb,
body.ys-catalog .woocommerce-result-count,
body.ys-catalog .wd-show-sidebar-btn,
body.ys-catalog .shop-loop-head .woocommerce-ordering,
body.ys-catalog .shop-loop-head .wd-products-per-page,
body.ys-catalog .shop-loop-head .wd-products-shop-view { display: none !important; }
.ys-cat-head { margin-bottom: 20px; }
.ys-cat-head .ys-page-head__sub { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 6px; }
.ys-cat-count { font-weight: 600; color: var(--ys-text); }
body .ys-cat-store { all: unset; cursor: pointer; color: var(--ys-brand); text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--ys-brand) 35%, transparent); text-underline-offset: 3px; }
body .ys-cat-store:hover { color: var(--ys-brand-hover); }

/* Подразделы */
.ys-subcats { display: flex; flex-wrap: wrap; gap: 8px; list-style: none !important; margin: 0 0 20px !important; padding: 0 !important; }
.ys-subcats li { margin: 0 !important; }
.ys-subcat { display: inline-flex; align-items: center; gap: 10px; padding: 5px 12px 5px 5px; border: 1px solid var(--ys-border); border-radius: 10px; background: var(--ys-surface); color: var(--ys-text) !important; font-size: 14px; font-weight: 500; line-height: 1.25; text-decoration: none !important; transition: border-color .15s, background .15s; }
.ys-subcat:hover { border-color: var(--ys-brand); background: var(--ys-brand-soft); }
.ys-subcat__img { flex: none; width: 36px; height: 36px; overflow: hidden; border-radius: 7px; background: var(--ys-bg); }
.ys-subcat__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ys-subcat__ph { display: block; width: 100%; height: 100%; }
.ys-subcat__n { font-size: 12px; font-weight: 500; color: var(--ys-muted); }
/* Главная страница каталога — крупные плитки разделов */
.ys-subcats.is-top { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin-bottom: 28px !important; }
.ys-subcats.is-top .ys-subcat { display: flex; padding: 8px 14px 8px 8px; border-radius: 12px; font-size: 15px; }
.ys-subcats.is-top .ys-subcat__img { width: 56px; height: 56px; border-radius: 9px; }
.ys-subcats.is-top .ys-subcat__name { flex: 1; }

/* Панель фильтров и сортировки */
.ys-filter { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 20px; padding: 12px 0; border-top: 1px solid var(--ys-border); border-bottom: 1px solid var(--ys-border); }
.ys-filter__box { flex: 1 1 auto; min-width: 0; }
.ys-filter__toggle { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; font-weight: 600; font-size: 14px; color: var(--ys-text); padding: 8px 14px; border: 1px solid var(--ys-border); border-radius: 8px; background: var(--ys-surface); }
.ys-filter__toggle::-webkit-details-marker { display: none; }
.ys-filter__toggle i { width: 7px; height: 7px; border-radius: 50%; background: var(--ys-brand); }
.ys-filter svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.ys-filter__fields { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
.ys-filter__label { font-size: 14px; font-weight: 600; color: var(--ys-text); margin-right: 2px; }
body .ys-filter input[type=number] { box-sizing: border-box; width: 96px; height: 40px; padding: 0 12px !important; border: 1px solid var(--ys-border) !important; border-radius: 8px !important; background: var(--ys-surface) !important; font-size: 14px; color: var(--ys-text); box-shadow: none !important; -moz-appearance: textfield; }
body .ys-filter input[type=number]::-webkit-outer-spin-button,
body .ys-filter input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
body .ys-filter input[type=number]:focus { border-color: var(--ys-text-2) !important; outline: none; }
.ys-filter__dash { color: var(--ys-muted); }
.ys-filter__check { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 6px 0 8px !important; font-size: 14px; font-weight: 500; color: var(--ys-text); cursor: pointer; }
.ys-filter__check input { width: 18px; height: 18px; margin: 0 !important; accent-color: var(--ys-brand); }
.ys-filter__apply { min-height: 40px !important; }
.ys-filter__reset { font-size: 14px; color: var(--ys-text-2) !important; text-decoration: underline !important; text-underline-offset: 3px; }
.ys-filter__reset:hover { color: var(--ys-brand) !important; }
.ys-filter__sort { margin: 0 !important; }
body .ys-filter__sort select { height: 40px; min-width: 190px; padding: 0 36px 0 12px !important; border: 1px solid var(--ys-border) !important; border-radius: 8px !important; background-color: var(--ys-surface) !important; font-size: 14px; font-weight: 500; color: var(--ys-text); cursor: pointer; box-shadow: none !important; }
@media (min-width: 768px) {
	.ys-filter__box[open] > .ys-filter__toggle { display: none; }
}

/* ---------- Плитка товара (везде, где сетка Woodmart) ---------- */
body .wd-products .wd-product .wd-product-card-bg { display: none !important; }
body .wd-products.products-bordered-grid-ins .wd-product,
body .wd-products.products-bordered-grid .wd-product { border: 0 !important; box-shadow: none !important; }
body .wd-products .wd-product .wd-product-wrapper {
	display: flex; flex-direction: column; height: 100%; box-sizing: border-box;
	padding: 12px 12px 14px !important; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface);
	transition: border-color .15s, box-shadow .2s;
}
body .wd-products .wd-product:hover .wd-product-wrapper { border-color: #d9d2cc; box-shadow: 0 8px 24px rgba(36, 31, 29, .08); }
body .wd-products .wd-product .wd-product-thumb { margin: 0 0 12px !important; border-radius: 8px; overflow: hidden; background: #fff; }
body .wd-products .wd-product .wd-product-thumb img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
body .wd-products .wd-product .product-element-bottom { display: flex; flex-direction: column; flex: 1 1 auto; padding: 0 !important; text-align: left; }
body .wd-products .wd-product .wd-entities-title { margin: 0 0 8px !important; min-height: 2.7em; font-size: 14px !important; font-weight: 500 !important; line-height: 1.35 !important; }
body .wd-products .wd-product .wd-entities-title a { color: var(--ys-text) !important; }
body .wd-products .wd-product .wd-entities-title a:hover { color: var(--ys-brand) !important; }
body .wd-products .wd-product .wd-product-stock { margin: 0 0 6px !important; font-size: 13px !important; font-weight: 500 !important; color: var(--ys-ok) !important; }
body .wd-products .wd-product .wd-product-stock.is-low { color: #B4610E !important; }
body .wd-products .wd-product .wd-product-stock.out-of-stock { color: var(--ys-muted) !important; }
body .wd-products .wd-product .wrap-price { margin: 0 0 12px; }
body .wd-products .wd-product .price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: 19px !important; font-weight: 700 !important; line-height: 1.2; color: var(--ys-text) !important; font-family: Manrope, Inter, sans-serif; }
body .wd-products .wd-product .price .amount { color: inherit !important; }
body .wd-products .wd-product .price ins { order: 1; color: var(--ys-brand) !important; text-decoration: none !important; }
body .wd-products .wd-product .price del { order: 2; font-size: 13px; font-weight: 400; color: var(--ys-muted) !important; opacity: 1; }
body .wd-products .wd-product .price del .amount { color: var(--ys-muted) !important; }
/* Кнопка — внизу карточки, на всю ширину, без «- 1 +» (количество — в корзине и в карточке товара). */
body .wd-products .wd-product .wd-add-btn { margin-top: auto !important; width: 100%; }
body .wd-products .wd-product .wd-add-btn .quantity { display: none !important; }
body .wd-products .wd-product .wd-add-btn > .button,
body .wd-products .wd-product .wd-add-btn > a.button {
	display: flex !important; align-items: center; justify-content: center; gap: 8px; box-sizing: border-box; width: 100% !important; min-height: 42px; padding: 0 12px !important;
	border-radius: 8px !important; background: var(--ys-brand) !important; color: #fff !important;
	font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
	transition: background .15s;
}
body .wd-products .wd-product .wd-add-btn > .button:hover { background: var(--ys-brand-hover) !important; }
body .wd-products .wd-product .wd-add-btn > .add_to_cart_button .wd-action-text::before {
	content: ""; display: inline-block; width: 17px; height: 17px; margin: -3px 8px 0 0; vertical-align: middle; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* «Подробнее» у товара, которого нет в магазине, и в режиме витрины — спокойная кнопка. */
body .wd-products .wd-product .wd-add-btn > .button:not(.add_to_cart_button) { background: var(--ys-surface) !important; color: var(--ys-text) !important; border: 1px solid var(--ys-border) !important; }
body .wd-products .wd-product .wd-add-btn > .button:not(.add_to_cart_button):hover { border-color: var(--ys-text-2) !important; }
body .wd-products .wd-product.outofstock .wd-product-thumb img { opacity: .55; }
/* Метка скидки */
body .wd-products .product-labels .product-label.onsale { border-radius: 6px; background: var(--ys-brand); color: #fff; font-weight: 700; padding: 4px 8px; min-height: 0; }

/* «Загрузить больше товаров» */
body .wd-loop-footer .wd-load-more {
	min-height: 46px; padding: 0 32px !important; border: 1px solid var(--ys-border) !important; border-radius: 8px !important;
	background: var(--ys-surface) !important; color: var(--ys-text) !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}
body .wd-loop-footer .wd-load-more:hover { border-color: var(--ys-text-2) !important; }

/* Пустой раздел */
.ys-empty { max-width: 560px; margin: 24px auto 48px; padding: 36px 24px; text-align: center; border: 1px dashed var(--ys-border); border-radius: 16px; background: var(--ys-surface); }
.ys-empty > svg { width: 44px; height: 44px; fill: none; stroke: var(--ys-muted); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.ys-empty__title { margin: 12px 0 6px !important; font-family: Manrope, Inter, sans-serif; font-size: 20px; font-weight: 700; color: var(--ys-text); }
.ys-empty__text { margin: 0 0 18px !important; color: var(--ys-text-2); }
.ys-empty__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }

@media (max-width: 767px) {
	.ys-cat-head .ys-page-head__title { font-size: 24px; }
	.ys-subcats:not(.is-top) { flex-wrap: nowrap; overflow-x: auto; margin-left: -16px !important; margin-right: -16px !important; padding: 0 16px 4px !important; scrollbar-width: none; }
	.ys-subcats:not(.is-top)::-webkit-scrollbar { display: none; }
	.ys-subcat { white-space: nowrap; }
	.ys-subcats.is-top { grid-template-columns: 1fr 1fr; gap: 8px; }
	.ys-subcats.is-top .ys-subcat { padding: 6px; gap: 8px; font-size: 13px; }
	.ys-subcats.is-top .ys-subcat__img { width: 44px; height: 44px; }
	.ys-subcats.is-top .ys-subcat__n { display: none; }
	.ys-filter { gap: 8px; padding: 10px 0; }
	.ys-filter__box { flex: 0 0 auto; }
	.ys-filter__box[open] { flex: 1 1 100%; order: 2; }
	.ys-filter__box[open] .ys-filter__fields { margin-top: 10px; }
	.ys-filter__label { flex: 1 1 100%; }
	body .ys-filter input[type=number] { flex: 1 1 0; width: auto; min-width: 0; }
	.ys-filter__check { margin: 4px 0 !important; flex: 1 1 100%; }
	.ys-filter__apply { flex: 1; }
	.ys-filter__sort { flex: 1; }
	body .ys-filter__sort select { width: 100%; min-width: 0; }
	body .wd-products .wd-product .wd-product-wrapper { padding: 8px 8px 10px !important; border-radius: 10px; }
	body .wd-products .wd-product .wd-entities-title { font-size: 13px !important; }
	body .wd-products .wd-product .price { font-size: 16px !important; }
	body .wd-products .wd-product .wd-add-btn > .button { min-height: 38px; font-size: 13px !important; padding: 0 6px !important; }
	body .wd-products .wd-product .wd-add-btn > .add_to_cart_button .wd-action-text::before { width: 15px; height: 15px; margin-right: 6px; }
}

/* ---------- 0.7.2: спокойные ховеры каталога ---------- */
/* Адрес магазина в шапке раздела — без серой плашки темы. */
body .ys-cat-store,
body .ys-cat-store:hover,
body .ys-cat-store:focus,
body .ys-cat-store:active { background: none !important; box-shadow: none !important; padding: 0 !important; border: 0 !important; }
body .ys-cat-store:focus-visible { outline: 2px solid var(--ys-brand); outline-offset: 2px; border-radius: 2px; }

/* Карточка: без «подпрыгивания» и расширения (эффект Woodmart «с проявлением»). */
body .wd-products .wd-product,
body .wd-products .wd-product:hover,
body .wd-products .wd-product .wd-product-wrapper,
body .wd-products .wd-product:hover .wd-product-wrapper,
body .wd-products .wd-product .product-element-bottom,
body .wd-products .wd-product:hover .product-element-bottom,
body .wd-products .wd-product .wd-product-thumb,
body .wd-products .wd-product:hover .wd-product-thumb { transform: none !important; margin-top: 0 !important; margin-bottom: 0 !important; top: auto !important; }
body .wd-products .wd-product .wd-product-card-hover { display: none !important; }
body .wd-products .wd-product.wd-hover-with-fade { z-index: auto !important; }

/* Кнопка: всегда «🛍 В корзину», без подмены на иконку тележки. */
body .wd-products .wd-product .wd-add-btn-replace .add-to-cart-loop .wd-action-text,
body .wd-products .wd-product:hover .wd-add-btn-replace .add-to-cart-loop .wd-action-text { position: static !important; transform: none !important; opacity: 1 !important; visibility: visible !important; }
/* Своя иконка-состояние стоит у надписи; значок Woodmart (справа) не нужен ни в каком состоянии. */
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop .wd-action-icon,
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop::before,
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop::after,
body .wd-products .wd-product .wd-add-btn a.added_to_cart { display: none !important; }
/* Добавляется: кружок-загрузка вместо пакета, надпись остаётся. */
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.loading { pointer-events: none; opacity: .85; }
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.loading .wd-action-text::before {
	-webkit-mask: none !important; mask: none !important; background: none !important;
	box-sizing: border-box; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%;
	animation: ys-spin .7s linear infinite;
}
@keyframes ys-spin { to { transform: rotate(360deg); } }
/* Добавлен: «✓ В корзине» — спокойная розовая кнопка, видна и без наведения. */
body .wd-products .wd-product .wd-add-btn > .add-to-cart-loop.added { background: var(--ys-brand-soft) !important; color: var(--ys-brand) !important; }
body .wd-products .wd-product .wd-add-btn > .add-to-cart-loop.added:hover { background: #F7DCDC !important; }
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.added .wd-action-text { font-size: 0 !important; }
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.added .wd-action-text::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important;
	        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important;
}
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.added .wd-action-text::after { content: "В корзине"; font-size: 14px; }
@media (max-width: 767px) { body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.added .wd-action-text::after { font-size: 13px; } }

/* Шапка раздела сразу над панелью фильтров — без двойной линии. */
.ys-cat-head + .ys-filter { border-top: 0; padding-top: 0; }

/* 0.7.4: иконка и надпись в кнопке — по центру по вертикали во всех состояниях. */
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop .wd-action-text { display: inline-flex !important; align-items: center; justify-content: center; gap: 8px; line-height: 1 !important; }
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop .wd-action-text::before { margin: 0 !important; vertical-align: initial !important; flex: none; }
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.added .wd-action-text::after { line-height: 1; }
@media (max-width: 767px) { body .wd-products .wd-product .wd-add-btn .add-to-cart-loop .wd-action-text { gap: 6px; } }
body .wd-products .wd-product .wd-add-btn .add-to-cart-loop.added .wd-action-text::before { transform: translateY(-1px); }

/* ---------- 0.8.0: счётчик «− N +» в плитке, когда товар в корзине ---------- */
body .wd-products .wd-product .wd-add-btn.ys-in-cart > .button { display: none !important; }
.ys-qty { display: flex; align-items: stretch; width: 100%; height: 42px; box-sizing: border-box; border-radius: 8px; background: var(--ys-brand-soft); color: var(--ys-brand); overflow: hidden; }
body .ys-qty .ys-qty__btn {
	all: unset; box-sizing: border-box; flex: 0 0 44px; display: flex; align-items: center; justify-content: center;
	font-size: 22px; font-weight: 500; line-height: 1; color: var(--ys-brand); cursor: pointer; transition: background .15s;
}
body .ys-qty .ys-qty__btn:hover { background: #F7DCDC; }
body .ys-qty .ys-qty__btn:focus-visible { box-shadow: inset 0 0 0 2px var(--ys-brand); }
body .ys-qty .ys-qty__btn:disabled { opacity: .35; cursor: default; background: none; }
.ys-qty__val { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.1; min-width: 0; }
.ys-qty__val b { font-size: 15px; font-weight: 700; }
.ys-qty__val small { font-size: 11px; font-weight: 500; opacity: .8; }
@media (max-width: 767px) {
	.ys-qty { height: 38px; }
	body .ys-qty .ys-qty__btn { flex-basis: 36px; font-size: 20px; }
	.ys-qty__val b { font-size: 14px; }
	.ys-qty__val small { font-size: 10px; }
}

/* 0.8.1: выпадающая корзина шапки раскрывается после «В корзину» (класс ставит cart-qty.js). */
body .whb-header .wd-header-cart.ys-cart-open > .wd-dropdown { opacity: 1 !important; visibility: visible !important; pointer-events: auto !important; transform: none !important; }

/* =====================================================================
   0.9.0 — ОКНО ВЫБОРА МАГАЗИНА С КАРТОЙ
   ===================================================================== */
.ys-picker__body { display: contents; }
.ys-picker__side { display: contents; }
.ys-picker__group { margin: 10px 0 2px !important; padding: 0 2px !important; font-size: 12px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--ys-muted); }
.ys-picker__group:first-child { margin-top: 0 !important; }
body #ys-picker .ys-picker__maptoggle {
	all: unset; box-sizing: border-box; display: none; align-items: center; justify-content: center; gap: 8px; width: 100%;
	margin: 0 0 10px; padding: 10px 14px; border: 1px solid var(--ys-border); border-radius: 8px;
	font-size: 14px; font-weight: 600; color: var(--ys-text); cursor: pointer; text-align: center !important;
}
body #ys-picker .ys-picker__maptoggle:hover { border-color: var(--ys-text-2); }
#ys-picker .ys-picker__maptoggle svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linejoin: round; }
.ys-picker__mapcol { display: none; position: relative; }
.ys-picker__map { margin: 0 !important; border: 0 !important; border-radius: 0 !important; height: 100%; }
.ys-picker__map .ys-stores-map__canvas { height: 100%; min-height: 260px; }

/* ПК: слева города и список, справа карта. */
@media (min-width: 900px) {
	#ys-picker .ys-picker__panel.has-map { max-width: 1080px; height: min(680px, calc(100vh - 48px)); max-height: none; padding: 0; overflow: hidden; }
	.has-map .ys-picker__body { display: grid; grid-template-columns: 420px minmax(0, 1fr); height: 100%; min-height: 0; }
	.has-map .ys-picker__side { display: flex; flex-direction: column; min-height: 0; padding: 28px 24px 14px 28px; }
	.has-map .ys-picker__side .ys-picker__stores { flex: 1 1 auto; min-height: 0; }
	.has-map .ys-picker__mapcol { display: block; border-left: 1px solid var(--ys-border); background: var(--ys-bg); }
	.has-map .ys-picker__mapcol .ys-stores-map { height: 100%; }
	/* Крестик окна — над картой, справа сверху. */
	#ys-picker .has-map .ys-picker__close { z-index: 10; top: 14px; right: 14px; background: #fff !important; box-shadow: 0 1px 6px rgba(36, 31, 29, .18); }
	#ys-picker .has-map .ys-picker__close:hover { background: #fff !important; color: var(--ys-brand); }
	/* Карточка магазина на карте — слева снизу, чтобы не спорить с крестиком. */
	.ys-picker__mapcol .ys-map-card { top: auto; bottom: 16px; }
}

/* Телефон и планшет: карта по кнопке — между городами и списком. */
@media (max-width: 899px) {
	.has-map .ys-picker__body { display: flex; flex-direction: column; min-height: 0; flex: 1 1 auto; }
	.has-map .ys-picker__side { display: contents; }
	.has-map .ys-picker__stores { flex: 1 1 auto; min-height: 0; order: 2; }
	.has-map .ys-picker__foot { order: 2; }
	body #ys-picker .has-map .ys-picker__maptoggle { display: flex; }
	.has-map.show-map .ys-picker__mapcol { display: block; order: 1; height: 40vh; min-height: 220px; margin: 0 0 12px; border-radius: 12px; overflow: hidden; border: 1px solid var(--ys-border); flex: none; }
	.has-map.show-map .ys-picker__mapcol .ys-stores-map { height: 100%; }
	/* С открытой картой подзаголовок прячем — место для списка. */
	.has-map.show-map .ys-picker__lead { display: none; }
}
body #ys-picker .ys-picker__maptoggle { padding: 10px 14px !important; margin: 0 0 10px !important; min-height: 42px !important; }
@media (max-width: 899px) {
	/* Карта открыта: города одной строкой с прокруткой, карта пониже — списку остаётся место. */
	#ys-picker .has-map.show-map .ys-picker__cities { display: flex !important; flex-wrap: nowrap; overflow-x: auto; margin-left: -16px; margin-right: -16px; padding: 0 16px 2px; scrollbar-width: none; }
	#ys-picker .has-map.show-map .ys-picker__cities::-webkit-scrollbar { display: none; }
	#ys-picker .has-map.show-map .ys-picker__cities::after { display: none; }
	#ys-picker .has-map.show-map .ys-picker__city { flex: none !important; width: auto !important; }
	.has-map.show-map .ys-picker__mapcol { height: 32vh; min-height: 200px; }
	.has-map.show-map .ys-picker__stores { min-height: 150px; }
}

/* 0.9.1: строки списка — к верху, без растягивания по высоте колонки. */
#ys-picker .ys-picker__stores { align-content: start; grid-auto-rows: max-content; }

/* =====================================================================
   0.10.0 — КАРТОЧКА ТОВАРА
   ===================================================================== */
/* Галерея */
.ys-pdp .wd-gallery-images .woocommerce-product-gallery__image { border: 1px solid var(--ys-border); border-radius: 12px; overflow: hidden; background: #fff; }
.ys-pdp .wd-gallery-images .woocommerce-product-gallery__image img { object-fit: contain; }
/* Миниатюры: рамка на картинке, между ними отступ (слайды Woodmart стоят вплотную). */
.ys-pdp .wd-gallery-thumb .wd-carousel-item { box-sizing: border-box; padding: 4px 0; border: 0; background: none; opacity: .7; transition: opacity .15s; cursor: pointer; }
.ys-pdp .wd-gallery-thumb .wd-carousel-item img { display: block; box-sizing: border-box; width: 100%; height: 100%; object-fit: contain; border: 1px solid var(--ys-border); border-radius: 8px; background: #fff; transition: border-color .15s; }
.ys-pdp .wd-gallery-thumb .wd-carousel-item:hover { opacity: 1; }
.ys-pdp .wd-gallery-thumb .wd-carousel-item.wd-thumb-active { opacity: 1; }
.ys-pdp .wd-gallery-thumb .wd-carousel-item.wd-thumb-active img { border-color: var(--ys-brand); }
/* Кнопка «Нажмите, чтобы увеличить»: круглая, при наведении — плашка-«пилюля». */
.ys-pdp .wd-gallery-btn a,
.ys-pdp .woodmart-show-product-gallery { border-radius: 999px !important; }

/* Правая колонка */
.ys-pdp .single-breadcrumbs-wrapper { font-size: 13px; margin-bottom: 8px !important; }
.ys-pdp .single-breadcrumbs-wrapper .wd-breadcrumbs .wd-last,
.ys-pdp .single-breadcrumbs-wrapper .wd-breadcrumbs .wd-delimiter:nth-last-child(2) { display: none; }
.ys-pdp .summary-inner > .product_title { margin: 0 0 16px !important; font-family: Manrope, Inter, sans-serif; font-size: 28px !important; font-weight: 700 !important; line-height: 1.25 !important; color: var(--ys-text); }
.ys-pdp .summary-inner > .price { display: inline-flex !important; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 0 10px 16px 0 !important; font-family: Manrope, Inter, sans-serif; font-size: 32px !important; font-weight: 800 !important; line-height: 1.1; color: var(--ys-text) !important; vertical-align: middle; }
.ys-pdp .summary-inner > .price .amount { color: inherit !important; }
.ys-pdp .summary-inner > .price ins { order: 1; color: var(--ys-brand) !important; text-decoration: none !important; }
.ys-pdp .summary-inner > .price del { order: 2; font-size: 18px; font-weight: 500; color: var(--ys-muted) !important; opacity: 1; }
.ys-pdp .summary-inner > .price del .amount { color: var(--ys-muted) !important; }
.ys-pdp-discount { display: inline-block; vertical-align: middle; margin: 0 0 16px !important; padding: 4px 9px; border-radius: 6px; background: var(--ys-brand); color: #fff; font-size: 14px; font-weight: 700; line-height: 1.2; }
.ys-pdp .summary-inner > .stock,
.ys-pdp .product_meta .posted_in { display: none !important; }

/* Блок «Ваш магазин» */
.ys-pdp-store { margin: 0 0 18px !important; padding: 14px 16px; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface); font-size: 14px; }
.ys-pdp-store__row { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.ys-pdp-store__status { display: inline-flex; align-items: center; gap: 7px; font-weight: 700; font-size: 15px; }
.ys-pdp-store__status i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ys-pdp-store.is-in .ys-pdp-store__status { color: var(--ys-ok); }
.ys-pdp-store.is-low .ys-pdp-store__status { color: #B4610E; }
.ys-pdp-store.is-out .ys-pdp-store__status { color: var(--ys-brand); }
.ys-pdp-store__where { display: inline-flex; align-items: center; gap: 4px; color: var(--ys-text-2); }
.ys-pdp-store__where a { color: var(--ys-text) !important; font-weight: 600; text-decoration: none !important; }
.ys-pdp-store__where a:hover { color: var(--ys-brand) !important; }
.ys-pdp .ys-ico { flex: none; width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ys-pdp-store__where .ys-ico { color: var(--ys-brand); }
body .ys-pdp-store__change { margin-left: auto; font-size: 14px !important; }
.ys-pdp-store__cond { display: grid; gap: 6px; margin: 12px 0 0 !important; padding: 12px 0 0 !important; list-style: none !important; border-top: 1px solid var(--ys-border); color: var(--ys-text-2); }
.ys-pdp-store__cond li { display: flex; align-items: center; gap: 10px; margin: 0 !important; }
.ys-pdp-store__cond .ys-ico { color: var(--ys-muted); }

/* Количество и «В корзину» */
.ys-pdp .summary-inner form.cart { display: flex !important; flex-wrap: wrap; align-items: stretch; gap: 10px; margin-bottom: 14px !important; }
.ys-pdp .summary-inner form.cart.ys-in-cart,
.wd-sticky-btn form.cart.ys-in-cart { display: none !important; }
.ys-pdp form.cart .quantity:not(.hidden) { display: inline-flex !important; align-items: stretch; height: 50px; margin: 0 !important; border: 1px solid var(--ys-border); border-radius: 8px; overflow: hidden; background: #fff; }
.ys-pdp form.cart .quantity input.qty { width: 46px !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; text-align: center; font-size: 16px; font-weight: 600; box-shadow: none !important; }
.ys-pdp form.cart .quantity .minus,
.ys-pdp form.cart .quantity .plus { width: 40px !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--ys-text) !important; font-size: 20px !important; }
.ys-pdp form.cart .quantity .minus:hover,
.ys-pdp form.cart .quantity .plus:hover { background: var(--ys-bg) !important; }
.ys-pdp .summary-inner form.cart .single_add_to_cart_button {
	display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; flex: 1 1 220px; max-width: 340px; min-height: 50px; padding: 0 28px !important;
	border-radius: 8px !important; background: var(--ys-brand) !important; color: #fff !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}
.ys-pdp .summary-inner form.cart .single_add_to_cart_button:hover { background: var(--ys-brand-hover) !important; }
.ys-pdp .summary-inner form.cart .single_add_to_cart_button::before {
	content: ""; width: 19px; height: 19px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 8h12l-1 12H7L6 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Счётчик в карточке после добавления */
.ys-qty-wrap { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: 0 0 14px; }
.ys-qty-wrap .ys-qty { width: 260px; max-width: 100%; height: 50px; }
.ys-qty-wrap .ys-qty .ys-qty__btn { flex-basis: 50px !important; }
.ys-qty-go { font-size: 15px; font-weight: 600; color: var(--ys-brand) !important; text-decoration: none !important; }
.ys-qty-go:hover { color: var(--ys-brand-hover) !important; }
.wd-sticky-btn .ys-qty-wrap { margin: 0; }
.wd-sticky-btn .ys-qty-wrap .ys-qty { width: 220px; height: 44px; }
.wd-sticky-btn .ys-qty-go { display: none; }

.ys-pdp .summary-inner > .wd-wishlist-btn { margin-bottom: 18px !important; }
.ys-pdp .summary-inner > .wd-wishlist-btn a { font-size: 14px !important; font-weight: 500 !important; color: var(--ys-text-2) !important; }
.ys-pdp .summary-inner > .wd-wishlist-btn a:hover { color: var(--ys-brand) !important; }
.ys-pdp .product_meta { padding-top: 14px !important; border-top: 1px solid var(--ys-border); font-size: 13px; color: var(--ys-muted); }
.ys-pdp .product_meta .meta-label { font-weight: 500; color: var(--ys-muted); }

/* Есть ещё в магазинах */
.ys-pdp-other { margin: 0 0 18px !important; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface); }
.ys-pdp-other > summary { display: flex; align-items: center; gap: 10px; padding: 13px 16px; cursor: pointer; list-style: none; font-size: 15px; font-weight: 600; color: var(--ys-text); }
.ys-pdp-other > summary::-webkit-details-marker { display: none; }
.ys-pdp-other > summary::after { content: ""; width: 8px; height: 8px; margin-left: auto; border-right: 2px solid var(--ys-text-2); border-bottom: 2px solid var(--ys-text-2); transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
.ys-pdp-other[open] > summary::after { transform: rotate(-135deg) translateY(-2px); }
.ys-pdp-other > summary .ys-ico { color: var(--ys-brand); }
.ys-pdp-other ul { margin: 0 !important; padding: 0 16px 6px !important; list-style: none !important; border-top: 1px solid var(--ys-border); }
.ys-pdp-other li { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 4px 14px; margin: 0 !important; padding: 11px 0 !important; border-bottom: 1px solid var(--ys-border); font-size: 14px; }
.ys-pdp-other li:last-child { border-bottom: 0; }
.ys-pdp-other__addr { display: flex; flex-direction: column; min-width: 0; }
.ys-pdp-other__addr b { font-weight: 600; color: var(--ys-text); }
.ys-pdp-other__addr small { font-size: 12px; color: var(--ys-muted); }
.ys-pdp-other__qty { color: var(--ys-ok); font-weight: 500; white-space: nowrap; }
.ys-pdp-other__price { font-weight: 700; white-space: nowrap; }
.ys-pdp-other__price.is-diff { color: var(--ys-brand); }
body .ys-pdp-other .ys-pdp-other__choose { min-height: 34px !important; padding: 0 12px !important; font-size: 13px !important; }

/* Описание и характеристики — рядом, без вкладок */
.ys-pdp .product-tabs-wrapper { padding: 40px 0 8px; }
.ys-pdp .product-tabs-wrapper .wd-nav-tabs-wrapper { display: none !important; }
.ys-pdp .product-tabs-wrapper .woocommerce-tabs { display: grid !important; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 32px 64px; text-align: left; }
.ys-pdp .product-tabs-wrapper .wd-accordion-item { margin: 0 !important; border: 0 !important; }
.ys-pdp .product-tabs-wrapper .wd-accordion-title { display: block !important; padding: 0 !important; margin: 0 0 16px !important; border: 0 !important; pointer-events: none; }
.ys-pdp .product-tabs-wrapper .wd-accordion-title-text { font-family: Manrope, Inter, sans-serif; font-size: 22px !important; font-weight: 700 !important; text-transform: none !important; color: var(--ys-text) !important; }
.ys-pdp .product-tabs-wrapper .wd-accordion-opener { display: none !important; }
.ys-pdp .product-tabs-wrapper .woocommerce-Tabs-panel { display: block !important; opacity: 1 !important; visibility: visible !important; height: auto !important; padding: 0 !important; margin: 0 !important; transform: none !important; }
.ys-pdp .product-tabs-wrapper .woocommerce-Tabs-panel > h2:first-child { display: none; }
.ys-pdp .product-tabs-wrapper .woocommerce-Tabs-panel { font-size: 15px; line-height: 1.65; color: var(--ys-text); }
.ys-pdp .shop_attributes { width: 100%; margin: 0 !important; border: 0 !important; border-collapse: collapse !important; font-size: 14px; }
.ys-pdp .shop_attributes tr { border-bottom: 1px solid var(--ys-border); }
.ys-pdp .shop_attributes th,
.ys-pdp .shop_attributes td { padding: 10px 0 !important; border: 0 !important; background: none !important; text-align: left !important; vertical-align: top; }
.ys-pdp .shop_attributes th { width: 48%; padding-right: 16px !important; font-weight: 500 !important; color: var(--ys-text-2) !important; }
.ys-pdp .shop_attributes td { font-weight: 600; color: var(--ys-text); }
.ys-pdp .shop_attributes td p { margin: 0; }

/* Похожие товары */
.ys-pdp .related-products .slider-title { margin-bottom: 20px !important; text-align: left; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 700 !important; text-transform: none !important; }
.ys-pdp .related-products .slider-title::after { display: none; }

/* Нижняя «липкая» панель Woodmart */
.wd-sticky-btn .single_add_to_cart_button { border-radius: 8px !important; text-transform: none !important; font-weight: 600 !important; }
.wd-sticky-btn .price { font-weight: 800 !important; color: var(--ys-text) !important; }
.wd-sticky-btn .price ins { color: var(--ys-brand) !important; text-decoration: none; }

@media (max-width: 1024px) {
	.ys-pdp .product-tabs-wrapper .woocommerce-tabs { grid-template-columns: 1fr; gap: 28px; }
}
@media (max-width: 767px) {
	.ys-pdp .summary-inner > .product_title { font-size: 21px !important; margin-bottom: 12px !important; }
	.ys-pdp .summary-inner > .price { font-size: 26px !important; }
	.ys-pdp-store { padding: 12px 14px; }
	body .ys-pdp-store__change { margin-left: 0; }
	.ys-pdp .summary-inner form.cart .single_add_to_cart_button { max-width: none; }
	.ys-qty-wrap .ys-qty { width: 100%; }
	.ys-pdp-other li { grid-template-columns: minmax(0, 1fr) auto; }
	.ys-pdp-other__qty { grid-column: 1; grid-row: 2; font-size: 13px; }
	.ys-pdp-other__price { grid-column: 2; grid-row: 1; text-align: right; }
	body .ys-pdp-other .ys-pdp-other__choose { grid-column: 2; grid-row: 2; }
	.ys-pdp .product-tabs-wrapper { padding-top: 24px; }
	.ys-pdp .product-tabs-wrapper .wd-accordion-title-text { font-size: 19px !important; }
	.wd-sticky-btn .ys-qty-wrap .ys-qty { width: 100%; }
}

/* ---------- 0.10.1: карточка — правки ---------- */
/* «Ваш магазин»: статус крупно, ниже адрес и ссылка «Изменить». */
.ys-pdp-store .ys-pdp-store__status { display: flex; align-items: center; gap: 8px; font-size: 16px; font-weight: 700; }
.ys-pdp-store .ys-pdp-store__where { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; margin-top: 6px; color: var(--ys-text-2); }
body .ys-pdp-store .ys-pdp-store__change {
	all: unset; cursor: pointer; margin-left: 6px; font-size: 14px; font-weight: 600; color: var(--ys-brand);
	text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--ys-brand) 35%, transparent); text-underline-offset: 3px;
}
body .ys-pdp-store .ys-pdp-store__change:hover { color: var(--ys-brand-hover); text-decoration-color: currentColor; }
body .ys-pdp-store .ys-pdp-store__change:focus-visible { outline: 2px solid var(--ys-brand); outline-offset: 2px; border-radius: 2px; }
.ys-pdp-store.is-out { background: var(--ys-bg); }
/* Нет в выбранном магазине — цена этого магазина серая (купить здесь сейчас нельзя). */
.single-product-page.outofstock .summary-inner > .price,
.single-product-page.outofstock .summary-inner > .price ins { color: var(--ys-muted) !important; }
.single-product-page.outofstock .ys-pdp-discount { display: none; }

/* Нижняя липкая панель: счётчик на всю доступную ширину (на телефоне — во всю панель). */
.wd-sticky-btn .ys-qty-wrap { flex: 1 1 auto; min-width: 200px; }
@media (max-width: 1024px) {
	.wd-sticky-btn .wd-sticky-btn-cart { flex: 1 1 100%; width: 100%; }
	.wd-sticky-btn .ys-qty-wrap { flex: 1 1 100%; width: 100%; min-width: 0; }
	.wd-sticky-btn .ys-qty-wrap .ys-qty { width: 100% !important; height: 48px; border-radius: 0; }
}

/* =====================================================================
   0.11.0 — КОРЗИНА И ОФОРМЛЕНИЕ
   ===================================================================== */
/* ---------- Мини-корзина в шапке ---------- */
.wd-dropdown-cart { border-radius: 12px !important; box-shadow: var(--ys-shadow) !important; }
.wd-dropdown-cart .woocommerce-mini-cart-item { padding: 12px 28px 12px 0 !important; border-bottom: 1px solid var(--ys-border); }
.wd-dropdown-cart .woocommerce-mini-cart-item .cart-item-image img { width: 56px !important; height: 56px !important; object-fit: contain; border: 1px solid var(--ys-border); border-radius: 8px; background: #fff; }
.wd-dropdown-cart .cart-info .wd-entities-title { font-size: 13px !important; font-weight: 500 !important; line-height: 1.35 !important; color: var(--ys-text) !important;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.wd-dropdown-cart .cart-info .quantity:not(span) { display: inline-flex !important; height: 30px; margin: 8px 0 4px !important; border: 1px solid var(--ys-border); border-radius: 6px; overflow: hidden; }
.wd-dropdown-cart .cart-info .quantity:not(span) input.qty { width: 32px !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; font-size: 13px; text-align: center; }
.wd-dropdown-cart .cart-info .quantity:not(span) .btn { width: 26px !important; min-width: 0 !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; font-size: 15px !important; color: var(--ys-text) !important; }
.wd-dropdown-cart .cart-info span.quantity { display: block; font-size: 13px; color: var(--ys-muted); }
.wd-dropdown-cart .cart-info span.quantity .amount { font-weight: 700; color: var(--ys-text) !important; }
.wd-dropdown-cart .remove { top: 12px !important; right: 0 !important; width: 22px !important; height: 22px !important; color: var(--ys-muted) !important; }
.wd-dropdown-cart .remove:hover { color: var(--ys-brand) !important; }
.wd-dropdown-cart .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; padding-top: 14px !important; font-size: 15px; }
.wd-dropdown-cart .woocommerce-mini-cart__total strong { font-weight: 600; color: var(--ys-text-2); }
.wd-dropdown-cart .woocommerce-mini-cart__total .amount { font-family: Manrope, Inter, sans-serif; font-size: 20px; font-weight: 800; color: var(--ys-text) !important; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons { display: grid; grid-template-columns: 1fr 1.4fr; gap: 8px; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons .button { min-height: 44px; margin: 0 !important; border-radius: 8px !important; font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
.wd-dropdown-cart .ys-mini-cart__cart { background: var(--ys-surface) !important; color: var(--ys-text) !important; border: 1px solid var(--ys-border) !important; }
.wd-dropdown-cart .ys-mini-cart__cart:hover { border-color: var(--ys-text-2) !important; }
.wd-dropdown-cart .ys-mini-cart__checkout { background: var(--ys-brand) !important; color: #fff !important; }
.wd-dropdown-cart .ys-mini-cart__checkout:hover { background: var(--ys-brand-hover) !important; }

/* ---------- Общие куски ---------- */
.ys-cart-store, .ys-pickup { font-size: 14px; color: var(--ys-text-2); }
.ys-cart-store .ys-ico, .ys-pickup .ys-ico, .ys-thanks .ys-ico { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
body .ys-pickup__change { all: unset; cursor: pointer; margin-left: auto; font-size: 14px; font-weight: 600; color: var(--ys-brand); white-space: nowrap;
	text-decoration: underline; text-decoration-color: color-mix(in srgb, var(--ys-brand) 35%, transparent); text-underline-offset: 3px; }
body .ys-pickup__change:hover { color: var(--ys-brand-hover); }

/* ---------- Корзина ---------- */
.ys-cart-store { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin: 0 0 20px; padding: 12px 16px; border-radius: 12px; background: var(--ys-bg); }
.ys-cart-store .ys-ico { color: var(--ys-brand); }
.ys-cart-store b { color: var(--ys-text); font-weight: 600; }
.ys-cart-page .shop_table.cart { border: 0 !important; }
.ys-cart-page .shop_table.cart th { font-size: 13px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ys-muted) !important; }
.ys-cart-page .shop_table.cart td { padding-top: 16px !important; padding-bottom: 16px !important; border-color: var(--ys-border) !important; vertical-align: middle; }
.ys-cart-page .shop_table.cart .product-thumbnail img { width: 72px !important; height: 72px; object-fit: contain; border: 1px solid var(--ys-border); border-radius: 8px; background: #fff; }
.ys-cart-page .shop_table.cart .product-name a { font-size: 15px; font-weight: 500; color: var(--ys-text) !important; }
.ys-cart-page .shop_table.cart .product-price,
.ys-cart-page .shop_table.cart .product-subtotal { font-weight: 700; color: var(--ys-text) !important; }
.ys-cart-page .shop_table.cart .product-price .amount,
.ys-cart-page .shop_table.cart .product-subtotal .amount { color: inherit !important; }
.ys-cart-page .shop_table.cart .quantity { display: inline-flex !important; height: 40px; border: 1px solid var(--ys-border); border-radius: 8px; overflow: hidden; }
.ys-cart-page .shop_table.cart .quantity input.qty { width: 40px !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; text-align: center; font-weight: 600; }
.ys-cart-page .shop_table.cart .quantity .btn,
.ys-cart-page .shop_table.cart .quantity .minus,
.ys-cart-page .shop_table.cart .quantity .plus { width: 34px !important; height: 100% !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; background: transparent !important; color: var(--ys-text) !important; }
.ys-cart-page .shop_table.cart .product-remove a { color: var(--ys-muted) !important; }
.ys-cart-page .shop_table.cart .product-remove a:hover { color: var(--ys-brand) !important; }
.ys-cart-page .shop_table.cart .actions .coupon { display: none; } /* купонов нет */
.ys-cart-page .shop_table.cart .actions button[name="update_cart"] { border-radius: 8px !important; text-transform: none !important; }
.ys-cart-page .cart_totals { padding: 20px 22px !important; border: 1px solid var(--ys-border) !important; border-radius: 12px; background: var(--ys-surface); }
.ys-cart-page .cart_totals > h2 { margin: 0 0 12px !important; font-family: Manrope, Inter, sans-serif; font-size: 20px !important; font-weight: 700 !important; text-transform: none !important; }
.ys-cart-page .cart_totals .shop_table { border: 0 !important; margin: 0 !important; }
.ys-cart-page .cart_totals .shop_table th, .ys-cart-page .cart_totals .shop_table td { padding: 8px 0 !important; border: 0 !important; background: none !important; }
.ys-cart-page .cart_totals .order-total th { font-size: 16px; font-weight: 700; color: var(--ys-text); }
.ys-cart-page .cart_totals .order-total .amount { font-family: Manrope, Inter, sans-serif; font-size: 24px; font-weight: 800; color: var(--ys-text) !important; }
.ys-cart-page .wc-proceed-to-checkout .checkout-button,
.ys-checkout-page #place_order {
	display: flex !important; align-items: center; justify-content: center; width: 100%; min-height: 52px; border-radius: 8px !important;
	background: var(--ys-brand) !important; color: #fff !important; font-size: 16px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}
.ys-cart-page .wc-proceed-to-checkout .checkout-button:hover,
.ys-checkout-page #place_order:hover { background: var(--ys-brand-hover) !important; }

/* ---------- Оформление ---------- */
.ys-pickup { margin: 0 0 24px; padding: 18px 20px; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface); }
.ys-pickup__title { margin: 0 0 12px !important; font-family: Manrope, Inter, sans-serif; font-size: 18px; font-weight: 700; color: var(--ys-text); }
.ys-pickup__store { display: flex; align-items: flex-start; gap: 10px; }
.ys-pickup__store .ys-ico { margin-top: 2px; color: var(--ys-brand); }
.ys-pickup__store > div { display: flex; flex-direction: column; gap: 2px; }
.ys-pickup__store b { font-size: 15px; font-weight: 600; color: var(--ys-text); }
.ys-pickup__cond { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 12px 0 0 !important; padding: 12px 0 0 !important; border-top: 1px solid var(--ys-border); list-style: none !important; }
.ys-pickup__cond li { display: inline-flex; align-items: center; gap: 6px; margin: 0 !important; }
.ys-pickup__cond .ys-ico { width: 16px; height: 16px; color: var(--ys-ok); }
.ys-pickup.is-empty { border-style: dashed; text-align: center; }
.ys-checkout-page .woocommerce-billing-fields > h3,
.ys-checkout-page #order_review_heading,
.ys-checkout-page .woocommerce-additional-fields > h3 { margin: 0 0 14px !important; font-family: Manrope, Inter, sans-serif; font-size: 18px !important; font-weight: 700 !important; text-transform: none !important; }
.ys-checkout-page .form-row label { font-size: 14px; font-weight: 500; color: var(--ys-text); }
.ys-checkout-page .form-row input.input-text,
.ys-checkout-page .form-row textarea { min-height: 46px; border: 1px solid var(--ys-border) !important; border-radius: 8px !important; background: #fff !important; box-shadow: none !important; font-size: 15px; }
.ys-checkout-page .form-row input.input-text:focus,
.ys-checkout-page .form-row textarea:focus { border-color: var(--ys-text-2) !important; }
.ys-checkout-page .form-row .description { margin-top: 4px; font-size: 12px; color: var(--ys-muted); background: none !important; padding: 0 !important; }
.ys-checkout-page .form-row .description::before { display: none !important; }
.ys-checkout-page #order_review { padding: 20px 22px !important; border: 1px solid var(--ys-border) !important; border-radius: 12px; background: var(--ys-surface); }
.ys-checkout-page .woocommerce-checkout-review-order-table { border: 0 !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table th,
.ys-checkout-page .woocommerce-checkout-review-order-table td { padding: 8px 0 !important; border-color: var(--ys-border) !important; background: none !important; font-size: 14px; }
.ys-checkout-page .woocommerce-checkout-review-order-table .order-total .amount { font-family: Manrope, Inter, sans-serif; font-size: 22px; font-weight: 800; color: var(--ys-text) !important; }
.ys-checkout-page #payment { background: none !important; border-radius: 0 !important; }
.ys-checkout-page #payment .payment_methods { padding: 0 !important; border: 0 !important; }
.ys-checkout-page #payment .payment_methods li label { font-weight: 600; }
.ys-checkout-page #payment .payment_box { border-radius: 8px; background: var(--ys-bg) !important; font-size: 13px; }
.ys-checkout-page #payment .payment_box::before { display: none !important; }
.ys-consent { margin: 4px 0 14px !important; font-size: 13px; line-height: 1.5; color: var(--ys-text-2); }
.ys-consent label { display: flex !important; align-items: flex-start; gap: 8px; font-weight: 400 !important; }
.ys-consent input { flex: none; width: 18px; height: 18px; margin-top: 1px !important; accent-color: var(--ys-brand); }
.ys-consent a { color: var(--ys-brand) !important; }
.ys-checkout-page .woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text { display: none; } /* своё согласие выше */
.ys-checkout-page .woocommerce-form-coupon-toggle { display: none; } /* купонов нет */

/* ---------- «Спасибо» ---------- */
.ys-thankyou-page .woocommerce-thankyou-order-received:empty,
.ys-thankyou-page .woocommerce-order-overview { display: none !important; }
.ys-thanks { max-width: 640px; margin: 8px auto 32px; padding: 32px 28px; text-align: center; border: 1px solid var(--ys-border); border-radius: 16px; background: var(--ys-surface); }
.ys-thanks__icon { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #E8F3EC; color: var(--ys-ok); }
.ys-thanks__icon .ys-ico { width: 28px; height: 28px; stroke-width: 2.4; }
.ys-thanks__title { margin: 14px 0 8px !important; font-family: Manrope, Inter, sans-serif; font-size: 26px !important; font-weight: 800 !important; }
.ys-thanks__lead { margin: 0 auto 18px !important; max-width: 480px; color: var(--ys-text-2); line-height: 1.55; }
.ys-thanks__store { display: flex; gap: 10px; margin: 0 0 14px; padding: 14px 16px; text-align: left; border-radius: 12px; background: var(--ys-bg); font-size: 14px; color: var(--ys-text-2); }
.ys-thanks__store .ys-ico { margin-top: 2px; color: var(--ys-brand); }
.ys-thanks__store > div { display: flex; flex-direction: column; gap: 3px; }
.ys-thanks__store b { font-size: 15px; color: var(--ys-text); }
.ys-thanks__store a { color: var(--ys-brand) !important; font-weight: 600; }
.ys-thanks__facts { display: flex; justify-content: center; margin: 0 0 20px !important; padding: 0 !important; list-style: none !important; font-size: 15px; }
.ys-thanks__facts li { display: inline-flex; align-items: center; gap: 8px; }
.ys-thanks__facts .ys-ico { color: var(--ys-muted); }
.ys-thanks__actions { margin: 0 !important; }
.ys-thankyou-page .woocommerce-order-details,
.ys-thankyou-page .woocommerce-customer-details { max-width: 640px; margin-left: auto; margin-right: auto; }

@media (max-width: 767px) {
	.ys-thanks { padding: 24px 16px; }
	.ys-thanks__title { font-size: 22px !important; }
	.ys-pickup { padding: 14px 16px; }
	.ys-cart-page .shop_table.cart .product-thumbnail img { width: 60px !important; height: 60px; }
}

/* 0.11.1: плитки разделов — длинные слова переносятся, число не вылезает за рамку. */
.ys-subcat { min-width: 0; max-width: 100%; box-sizing: border-box; }
.ys-subcat__name { min-width: 0; overflow-wrap: anywhere; -webkit-hyphens: auto; hyphens: auto; }
.ys-subcat__n { flex: none; }
.ys-subcats.is-top .ys-subcat { gap: 12px; }

/* ---------- 0.11.2: правки корзины и оформления ---------- */
/* Мини-корзина: две кнопки в ряд, без переносов. */
.wd-dropdown-cart .woocommerce-mini-cart__buttons { display: grid !important; grid-template-columns: 1fr 1.3fr; gap: 8px; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons .button { display: flex !important; align-items: center; justify-content: center; width: 100%; padding: 0 12px !important; white-space: nowrap; line-height: 1.2 !important; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons .button:not(.checkout) { background: var(--ys-surface) !important; color: var(--ys-text) !important; border: 1px solid var(--ys-border) !important; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover { border-color: var(--ys-text-2) !important; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons .button.checkout { background: var(--ys-brand) !important; color: #fff !important; border: 0 !important; }
.wd-dropdown-cart .woocommerce-mini-cart__buttons .button.checkout:hover { background: var(--ys-brand-hover) !important; }

/* «Изменить» — без серой плашки темы при наведении. */
body .ys-pickup__change, body .ys-pickup__change:hover, body .ys-pickup__change:focus { background: none !important; box-shadow: none !important; padding: 0 !important; }

/* Корзина: количество обновляется само — кнопка «Обновить» не нужна; итог одной рамкой. */
.ys-cart-page .woocommerce-cart-form .actions button[name="update_cart"] { display: none !important; }
.ys-cart-page .woocommerce-cart-form .actions:empty,
.ys-cart-page .woocommerce-cart-form tr:has(> td.actions:only-child) { display: none; }
.ys-cart-page .cart_totals { padding: 0 !important; border: 0 !important; background: none !important; }
.ys-cart-page .cart-totals-inner, .ys-cart-page .cart_totals > div { border-radius: 12px !important; border-color: var(--ys-border) !important; }
.ys-cart-page .cart_totals .cart-subtotal,
.ys-checkout-page .woocommerce-checkout-review-order-table .cart-subtotal { display: none; } /* без доставки и налогов «Сумма» = «Итого» */
.ys-cart-page .woocommerce-cart-form.processing { opacity: .6; }

/* Оформление: «Ваш заказ» — одна рамка (свою убираем, остаётся блок темы). */
.ys-checkout-page #order_review { padding: 0 !important; border: 0 !important; background: none !important; }
.ys-checkout-page .woocommerce-additional-fields > h3 { display: none; }
.ys-review__item { display: flex; align-items: center; gap: 12px; }
.ys-review__img { flex: none; width: 56px !important; height: 56px !important; object-fit: contain; border: 1px solid var(--ys-border); border-radius: 8px; background: #fff; }
.ys-review__name { min-width: 0; }
.ys-checkout-page .woocommerce-checkout-review-order-table .product-name { font-size: 14px; line-height: 1.4; }
.ys-checkout-page .woocommerce-checkout-review-order-table .product-quantity { display: none; }
.ys-review-qty { display: inline-flex; align-items: center; height: 30px; margin: 8px 0 0 68px; border: 1px solid var(--ys-border); border-radius: 6px; overflow: hidden; vertical-align: middle; }
.ys-review-qty b { min-width: 30px; text-align: center; font-size: 13px; }
body .ys-review-qty .ys-review-qty__btn { all: unset; box-sizing: border-box; width: 28px; height: 100%; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 16px; color: var(--ys-text); }
body .ys-review-qty .ys-review-qty__btn:hover { background: var(--ys-bg); }
body .ys-review-qty .ys-review-qty__btn:disabled { opacity: .3; cursor: default; background: none; }
.ys-review-qty.is-busy { opacity: .5; pointer-events: none; }

/* ---------- 0.11.3: пустые корзина и избранное ---------- */
/* Корзина: только наш блок, стандартное (Woodmart) прячем. */
body.ys-cart-empty .woocommerce > :not(.ys-empty-page):not(.woocommerce-notices-wrapper) { display: none !important; }
.ys-empty-page { max-width: 560px; margin: 32px auto 56px !important; padding: 40px 28px !important; text-align: center; border: 1px solid var(--ys-border); border-radius: 16px; background: var(--ys-surface); }
.ys-empty-page__icon { display: inline-flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: var(--ys-brand-soft); color: var(--ys-brand); }
.ys-empty-page__icon .ys-ico { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.ys-empty-page__title { margin: 18px 0 8px !important; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 800 !important; color: var(--ys-text); }
.ys-empty-page__text { margin: 0 auto 22px !important; max-width: 420px; color: var(--ys-text-2); line-height: 1.55; }
.ys-empty-page__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ys-empty-page__actions .ys-btn { min-height: 46px; padding: 0 22px !important; }

/* Избранное (страница Woodmart): своя иконка-сердце вместо серой картинки темы. */
body .wd-empty-page::before {
	content: "" !important; display: block !important; width: 72px !important; height: 72px !important; margin: 0 auto 18px !important;
	border-radius: 50%; font-size: 0 !important; color: transparent !important; opacity: 1 !important;
	background: var(--ys-brand-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C43233' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7-4.4-7-10a4 4 0 0 1 7-2.6A4 4 0 0 1 19 10c0 5.6-7 10-7 10z'/%3E%3C/svg%3E") center / 34px no-repeat !important;
}
body .wd-empty-page { margin: 40px auto 8px !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: center; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 800 !important; color: var(--ys-text) !important; }
body .wd-empty-page + .wd-empty-page-text,
body .wd-empty-page-text { max-width: 420px; margin: 0 auto 22px !important; text-align: center; font-size: 15px; color: var(--ys-text-2); line-height: 1.55; }
body .return-to-shop { text-align: center; margin: 0 0 56px !important; }
body .return-to-shop .button { min-height: 46px; padding: 0 24px !important; border-radius: 8px !important; background: var(--ys-brand) !important; color: #fff !important; text-transform: none !important; font-weight: 600 !important; letter-spacing: 0 !important; }
body .return-to-shop .button:hover { background: var(--ys-brand-hover) !important; }

/* ---------- 0.11.4 ---------- */
/* Иконка пустой корзины — крупная (тема ужимала svg). */
.ys-empty-page .ys-empty-page__icon .ys-ico { width: 34px !important; height: 34px !important; min-width: 34px; }
/* Корзину опустошили на лету (AJAX) — класса на body ещё нет: прячем блок темы по соседству с нашим. */
.woocommerce:has(> .ys-empty-page) > :not(.ys-empty-page) { display: none !important; }
/* Оформление: счётчик компактный, под названием, а не на всю ширину. */
body .ys-review-qty { display: inline-flex !important; width: auto !important; max-width: none !important; flex: none !important; height: 30px !important; margin: 8px 0 0 68px !important; padding: 0 !important; background: #fff !important; }
body .ys-review-qty b { display: block; width: 30px; min-width: 30px; line-height: 28px; font-weight: 600; }
.ys-checkout-page .woocommerce-checkout-review-order-table .product-name { vertical-align: top; }
.ys-checkout-page .woocommerce-checkout-review-order-table .product-name .variation,
.ys-checkout-page .woocommerce-checkout-review-order-table .product-name .wc-item-meta { margin: 6px 0 0 68px !important; font-size: 12px; color: var(--ys-muted); }

/* ---------- 0.11.5: заголовок и шаги покупки ---------- */
.ys-checkout-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; margin: 0 0 24px; }
.ys-checkout-head__title { display: flex; align-items: baseline; gap: 12px; margin: 0 !important; font-family: Manrope, Inter, sans-serif; font-size: 32px !important; font-weight: 800 !important; line-height: 1.2; color: var(--ys-text); }
.ys-checkout-head__sub { font-family: Inter, sans-serif; font-size: 15px; font-weight: 500; color: var(--ys-muted); }
.ys-steps { display: flex; align-items: center; gap: 0; margin: 0 !important; padding: 0 !important; list-style: none !important; counter-reset: none; }
.ys-steps li { display: flex; align-items: center; margin: 0 !important; padding: 0 !important; font-size: 14px; font-weight: 500; color: var(--ys-muted); }
.ys-steps li + li::before { content: ""; width: 32px; height: 1px; margin: 0 10px; background: var(--ys-border); }
.ys-steps li.is-done + li::before { background: var(--ys-ok); }
.ys-steps li > span, .ys-steps li > a { display: inline-flex; align-items: center; gap: 8px; color: inherit !important; text-decoration: none !important; }
.ys-steps__n { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; border-radius: 50%; border: 1px solid var(--ys-border); background: #fff; font-size: 13px; font-weight: 700; }
.ys-steps__n .ys-ico { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; }
.ys-steps li.is-current { color: var(--ys-text); font-weight: 600; }
.ys-steps li.is-current .ys-steps__n { border-color: var(--ys-brand); background: var(--ys-brand); color: #fff; }
.ys-steps li.is-done { color: var(--ys-ok); }
.ys-steps li.is-done .ys-steps__n { border-color: var(--ys-ok); background: #E8F3EC; color: var(--ys-ok); }
.ys-steps li.is-done a:hover { color: var(--ys-text) !important; }
.ys-thankyou-page .ys-checkout-head { justify-content: center; margin-top: 8px; }
/* Пустая корзина: шаги не нужны. */
.woocommerce:has(> .ys-empty-page) .ys-checkout-head { display: none !important; }
@media (max-width: 767px) {
	.ys-checkout-head { margin-bottom: 18px; }
	.ys-checkout-head__title { font-size: 24px !important; }
	.ys-steps li + li::before { width: 16px; margin: 0 6px; }
	.ys-steps li { font-size: 13px; }
	.ys-steps__n { width: 22px; height: 22px; font-size: 12px; }
}
/* 0.11.6: шаги — отступ между кружком и текстом, текущий шаг красным. */
.ys-steps li { gap: 8px; }
.ys-steps li + li::before { margin: 0 4px 0 2px; }
.ys-steps li.is-current { color: var(--ys-brand); }
/* 0.11.7: цифра в красном кружке — белая; линия ровно посередине между шагами (12px с каждой стороны). */
.ys-steps li.is-current .ys-steps__n { color: #fff !important; }
.ys-steps li.is-done .ys-steps__n { color: var(--ys-ok) !important; }
.ys-steps li + li::before { margin: 0 4px 0 12px; }
@media (max-width: 767px) { .ys-steps li + li::before { margin: 0 0 0 8px; } }

/* 0.11.8 — значок у наличия в цвет текста: зелёный «В наличии», оранжевый «Осталось N шт», серый «Нет» */
body .wd-product-stock::before,
body .wd-product-stock::after,
body p.stock::before,
body .stock.in-stock::before,
body .stock.out-of-stock::before { color: inherit !important; }
body .wd-product-stock.is-low,
body .stock.is-low { color: #B4610E !important; }

/* ================= 0.12.0 — главная [yudom_home] ================= */
.ys-home { display: flex; flex-direction: column; gap: 40px; min-width: 0; margin: 8px 0 48px; color: var(--ys-text); }
.ys-home__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin: 0 0 16px; }
.ys-home__title { margin: 0 !important; font-family: Manrope, Inter, sans-serif; font-size: 26px !important; font-weight: 800 !important; line-height: 1.2 !important; color: var(--ys-text) !important; text-transform: none !important; letter-spacing: -.01em; }
.ys-home__more { display: inline-flex; align-items: center; gap: 6px; flex-shrink: 0; color: var(--ys-brand) !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.ys-home__more .ys-ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
.ys-home__more:hover { color: var(--ys-brand-hover) !important; }
.ys-home__more:hover .ys-ico { transform: translateX(3px); }
.ys-home .ys-ico { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

/* Первый экран */
.ys-home-hero { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 16px; }
.ys-home-hero.is-solo { grid-template-columns: 1fr; }
.ys-home-hero__panel { position: relative; overflow: hidden; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 18px; padding: 36px 40px; border-radius: var(--ys-radius-lg); background: var(--ys-brand); color: #fff; }
body .ys-home-hero__store { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px; max-width: 100%; padding: 7px 14px 7px 10px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff; font-size: 14px; font-weight: 500; line-height: 1.3; cursor: pointer; transition: background .15s; }
body .ys-home-hero__store:hover { background: rgba(255, 255, 255, .24); }
body .ys-home-hero__store:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.ys-home-hero__store .ys-ico { width: 18px; height: 18px; flex-shrink: 0; }
.ys-home-hero__store span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ys-home-hero__store u { flex-shrink: 0; opacity: .8; text-underline-offset: 3px; }
.ys-home-hero__title { margin: 0 !important; max-width: 560px; font-family: Manrope, Inter, sans-serif; font-size: 40px !important; font-weight: 800 !important; line-height: 1.12 !important; letter-spacing: -.02em; color: #fff !important; text-transform: none !important; }
.ys-home-hero__sub { margin: 0 !important; max-width: 520px; font-size: 16px; line-height: 1.5; color: rgba(255, 255, 255, .88); }
.ys-home-hero__search { box-sizing: border-box; position: relative; display: flex; align-items: center; width: 100%; max-width: 520px; margin: 4px 0 0; padding: 5px 5px 5px 46px; border-radius: 12px; background: #fff; box-shadow: 0 6px 20px rgba(0, 0, 0, .12); }
.ys-home-hero__search > .ys-ico { position: absolute; left: 15px; top: 50%; width: 20px; height: 20px; margin-top: -10px; color: var(--ys-muted); }
body .ys-home-hero__search input[type="search"] { flex: 1; min-width: 0; width: auto !important; height: 44px !important; padding: 0 8px !important; border: 0 !important; background: none !important; box-shadow: none !important; color: var(--ys-text) !important; font-size: 15px !important; }
body .ys-home-hero__search button { all: unset; box-sizing: border-box; height: 44px; padding: 0 20px; border-radius: 9px; background: var(--ys-text); color: #fff; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .15s; }
body .ys-home-hero__search button:hover { background: #000; }
.ys-home-hero__btns { display: flex; flex-wrap: wrap; gap: 10px; }
body .ys-home-hero__btn { display: inline-flex !important; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px !important; border-radius: 10px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; text-decoration: none !important; letter-spacing: 0 !important; transition: background .15s, color .15s, border-color .15s; }
body .ys-home-hero__btn.is-light { background: #fff !important; border: 1px solid #fff !important; color: var(--ys-brand) !important; }
body .ys-home-hero__btn.is-light:hover { background: var(--ys-brand-soft) !important; border-color: var(--ys-brand-soft) !important; }
body .ys-home-hero__btn.is-ghost { background: transparent !important; border: 1px solid rgba(255, 255, 255, .6) !important; color: #fff !important; }
body .ys-home-hero__btn.is-ghost:hover { background: rgba(255, 255, 255, .12) !important; border-color: #fff !important; }
.ys-home-hero__facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 0 !important; padding: 0 !important; list-style: none !important; font-size: 14px; color: rgba(255, 255, 255, .9); }
.ys-home-hero__facts li { position: relative; margin: 0 !important; padding-left: 22px; }
.ys-home-hero__facts li::before { content: ""; position: absolute; left: 2px; top: 4px; width: 10px; height: 6px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }

/* «Сегодня в магазине» — витрина из товаров вместо баннера */
.ys-home-show { display: flex; flex-direction: column; gap: 12px; padding: 18px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius-lg); background: var(--ys-surface); }
.ys-home-show__label { font-family: Manrope, Inter, sans-serif; font-size: 15px; font-weight: 700; color: var(--ys-text-2); }
.ys-home-show__grid { flex: 1; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ys-home-show__item { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 8px 8px 10px; border-radius: var(--ys-radius); color: var(--ys-text) !important; text-decoration: none !important; transition: background .15s; }
.ys-home-show__item:hover { background: var(--ys-bg); }
.ys-home-show__img { position: relative; display: flex; align-items: center; justify-content: center; aspect-ratio: 16 / 10; overflow: hidden; border-radius: 10px; background: var(--ys-bg); }
.ys-home-show__img img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; padding: 8px; transition: transform .25s var(--ys-ease); }
.ys-home-show__item:hover .ys-home-show__img img { transform: scale(1.04); }
.ys-home-show__badge { position: absolute; left: 8px; top: 8px; padding: 3px 8px; border-radius: 6px; background: var(--ys-brand); color: #fff; font-size: 12px; font-style: normal; font-weight: 700; line-height: 1.2; }
.ys-home-show__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 14px; line-height: 1.35; min-height: 2.7em; }
.ys-home-show__price { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 8px; }
.ys-home-show__price b { font-size: 17px; font-weight: 700; color: var(--ys-text); }
.ys-home-show__price b.is-sale { color: var(--ys-brand); }
.ys-home-show__price s { font-size: 13px; color: var(--ys-muted); }

/* Преимущества */
.ys-home-ben { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-home-ben li { display: flex; align-items: center; gap: 14px; margin: 0 !important; padding: 16px 18px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); }
.ys-home-ben__ico { display: flex; align-items: center; justify-content: center; flex-shrink: 0; width: 44px; height: 44px; border-radius: 50%; background: var(--ys-brand-soft); color: var(--ys-brand); }
.ys-home-ben__ico .ys-ico { width: 22px; height: 22px; }
.ys-home-ben b { display: block; font-size: 15px; font-weight: 700; line-height: 1.3; }
.ys-home-ben small { display: block; margin-top: 2px; font-size: 13px; line-height: 1.35; color: var(--ys-text-2); }

/* Каталог и подборки */
.ys-home-cats .ys-subcats.is-top { margin-bottom: 0 !important; }
.ys-home-row__grid .woocommerce { margin: 0; }
.ys-home-row__grid .wd-products, .ys-home-row__grid ul.products { margin-bottom: 0 !important; }
.ys-home-row--sale .ys-home__title::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 10px; border-radius: 50%; background: var(--ys-brand); vertical-align: middle; }

@media (max-width: 1100px) {
	.ys-home-hero__title { font-size: 34px !important; }
	.ys-home-ben { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	.ys-home { gap: 32px; }
	.ys-home-hero { grid-template-columns: minmax(0, 1fr); }
	.ys-home-hero__panel { padding: 24px 20px; gap: 14px; }
	.ys-home-hero__title { font-size: 28px !important; }
	.ys-home-hero__sub { font-size: 15px; }
	.ys-home-show { padding: 14px 0 14px 14px; }
	.ys-home-show__grid { display: flex; overflow-x: auto; gap: 8px; padding-right: 14px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.ys-home-show__grid::-webkit-scrollbar { display: none; }
	.ys-home-show__item { flex: 0 0 156px; scroll-snap-align: start; padding: 4px; }
	.ys-home__title { font-size: 22px !important; }
}
@media (max-width: 560px) {
	.ys-home-hero__btns { width: 100%; }
	body .ys-home-hero__btn { flex: 1 1 auto; }
	body .ys-home-hero__search button { padding: 0 14px; }
	.ys-home-ben { grid-template-columns: 1fr; gap: 8px; }
	.ys-home-ben li { padding: 12px 14px; }
	.ys-home__head { flex-wrap: wrap; }
}

/* 0.12.1 — первый экран: разделы-ссылки; магазины как окно выбора */
.ys-home-hero__cats { display: flex; flex-direction: column; gap: 8px; width: 100%; margin-top: 4px; padding-top: 18px; border-top: 1px solid rgba(255, 255, 255, .2); }
.ys-home-hero__cats > span { font-size: 13px; font-weight: 600; color: rgba(255, 255, 255, .75); }
.ys-home-hero__cats > div { display: flex; flex-wrap: wrap; gap: 8px; }
.ys-home-hero__cats a { display: inline-flex; align-items: center; padding: 7px 14px; border-radius: 999px; background: rgba(255, 255, 255, .14); color: #fff !important; font-size: 14px; font-weight: 500; line-height: 1.25; text-decoration: none !important; transition: background .15s, color .15s; }
.ys-home-hero__cats a:hover { background: #fff; color: var(--ys-brand) !important; }
.ys-home-hero__facts { margin-top: -4px !important; }

.ys-home-stores__box { display: grid; grid-template-columns: minmax(0, 400px) minmax(0, 1fr); min-height: 480px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius-lg); overflow: hidden; background: var(--ys-surface); }
.ys-home-stores__side { display: flex; flex-direction: column; min-height: 0; border-right: 1px solid var(--ys-border); }
.ys-home-stores__side .ys-stores__cities { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 18px 18px 14px; border-bottom: 1px solid var(--ys-border); }
.ys-home-stores__side .ys-picker__city { display: inline-flex !important; align-items: center; gap: 6px; white-space: nowrap; }
.ys-home-stores__list { flex: 1; min-height: 0; max-height: 420px; overflow-y: auto; padding: 4px 18px 14px; scrollbar-width: thin; }
.ys-home-stores__city { margin: 14px 0 4px !important; font-family: Inter, sans-serif; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .06em; text-transform: uppercase !important; color: var(--ys-muted) !important; }
.ys-home-stores__list ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-home-store { display: flex; align-items: center; gap: 12px; margin: 0 !important; padding: 10px 0; border-top: 1px solid var(--ys-border); }
.ys-home-stores__list ul .ys-home-store:first-child { border-top: 0; }
.ys-home-store__main { flex: 1; min-width: 0; }
.ys-home-store__main b { display: block; font-size: 15px; font-weight: 600; line-height: 1.35; }
.ys-home-store__main b a { color: var(--ys-text) !important; text-decoration: none !important; }
.ys-home-store__main b a:hover { color: var(--ys-brand) !important; }
.ys-home-store__main small { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; margin-top: 3px; font-size: 13px; color: var(--ys-text-2); }
.ys-home-store__act { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
body .ys-home-store__choose { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border: 1px solid var(--ys-border); border-radius: 8px; color: var(--ys-text); font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s, color .15s; }
body .ys-home-store__choose:hover { border-color: var(--ys-brand); background: var(--ys-brand); color: #fff; }
.ys-home-store__mine { display: inline-flex; align-items: center; height: 34px; padding: 0 12px; border-radius: 8px; background: var(--ys-brand-soft); color: var(--ys-brand); font-size: 13px; font-weight: 600; }
body .ys-home-store__map { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; border-radius: 8px; color: var(--ys-text-2); cursor: pointer; transition: background .15s, color .15s; }
body .ys-home-store__map[hidden] { display: none; }
body .ys-home-store__map:hover { background: var(--ys-bg); color: var(--ys-brand); }
.ys-home-store__map .ys-ico { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.ys-home-store.is-current .ys-home-store__main b a { color: var(--ys-brand) !important; }
.ys-home-stores__mapcol { position: relative; min-height: 0; background: var(--ys-bg); }
.ys-home-stores__map { height: 100%; margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
.ys-home-stores__map .ys-stores-map__canvas { height: 100%; min-height: 480px; }

@media (max-width: 900px) {
	.ys-home-stores__box { grid-template-columns: minmax(0, 1fr); min-height: 0; }
	.ys-home-stores__side { border-right: 0; }
	.ys-home-stores__side .ys-stores__cities { flex-wrap: nowrap; overflow-x: auto; padding: 14px; scrollbar-width: none; }
	.ys-home-stores__side .ys-stores__cities::-webkit-scrollbar { display: none; }
	.ys-home-stores__list { max-height: 340px; padding: 0 14px 10px; }
	.ys-home-stores__mapcol { order: -1; border-bottom: 1px solid var(--ys-border); }
	.ys-home-stores__map .ys-stores-map__canvas { min-height: 280px; height: 280px; }
	.ys-home-hero__cats { padding-top: 14px; }
}
.ys-home-stores__map { position: absolute !important; inset: 0; height: auto; }
.ys-home-stores__map .ys-stores-map__canvas { height: 100% !important; min-height: 0; }
body .ys-home-stores__side .ys-picker__city { flex: 0 0 auto !important; width: auto !important; white-space: nowrap !important; }
@media (max-width: 900px) {
	.ys-home-stores__mapcol { height: 280px; }
}
@media (max-width: 560px) {
	.ys-home-hero__cats a:nth-child(n+5) { display: none; }
}
body .ys-stores.ys-home-stores__box { padding: 0 !important; margin: 0 !important; }
/* 0.12.2 — «Найти»: тема перекрашивала текст при наведении; галочки фактов по центру строки */
body .ys-home-hero__search button,
body .ys-home-hero__search button:hover,
body .ys-home-hero__search button:focus { color: #fff !important; background: var(--ys-text) !important; box-shadow: none !important; }
body .ys-home-hero__search button:hover { background: #000 !important; }
.ys-home-hero__facts li { display: inline-flex; align-items: center; gap: 8px; padding-left: 0 !important; line-height: 1.4; }
.ys-home-hero__facts li::before { position: static !important; flex-shrink: 0; width: 10px; height: 5px; margin: -4px 0 0 2px; }
/* 0.12.3 — кнопка магазина в первом экране: тема перекрашивала её при наведении */
body .ys-home-hero__store,
body .ys-home-hero__store:focus { background: rgba(255, 255, 255, .14) !important; color: #fff !important; border: 0 !important; box-shadow: none !important; text-transform: none !important; }
body .ys-home-hero__store:hover { background: rgba(255, 255, 255, .26) !important; color: #fff !important; }
body .ys-home-hero__store span, body .ys-home-hero__store u, body .ys-home-hero__store .ys-ico { color: #fff !important; }
body .ys-home-hero__store:hover u { opacity: 1; }

/* ================= 0.12.4 — мобильная версия: ленты, отступы, карточка товара ================= */

/* Затемнение справа у горизонтальных лент — в пределах контента */
.ys-fade:not(.ys-fade-end) {
	-webkit-mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent);
	mask-image: linear-gradient(90deg, #000 calc(100% - 56px), transparent);
}

@media (max-width: 767px) {
	/* Подразделы в разделе — лента внутри контента, без выхода за край экрана */
	.ys-subcats:not(.is-top) { margin-left: 0 !important; margin-right: 0 !important; padding: 0 0 4px !important; }

	/* Разделы верхнего уровня (главная, каталог): лента в 3 ряда, листается вправо */
	.ys-subcats.is-top { display: grid !important; grid-auto-flow: column; grid-template-rows: repeat(3, auto); grid-template-columns: none; grid-auto-columns: 78%; gap: 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding-bottom: 2px !important; }
	.ys-subcats.is-top::-webkit-scrollbar { display: none; }
	.ys-subcats.is-top li { scroll-snap-align: start; min-width: 0; }
	.ys-subcats.is-top .ys-subcat { white-space: normal; height: 100%; box-sizing: border-box; }
	.ys-subcats.is-top .ys-subcat__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

	/* Витрина дня: поля карточки с обеих сторон, затемнение у правой рамки */
	.ys-home-show { padding: 14px !important; }
	.ys-home-show__grid { padding-right: 0 !important; }
}

/* Отступы страниц каталога и товара от шапки и подвала */
@media (max-width: 1024px) {
	body.ys-catalog .main-page-wrapper,
	body.ys-pdp .main-page-wrapper { padding-top: 18px !important; padding-bottom: 48px !important; }
	body.ys-catalog .wd-loop-footer { margin-bottom: 8px; }
	body.ys-pdp .related-products, body.ys-pdp .related { margin-bottom: 0 !important; }
}

/* Карточка товара: миниатюры галереи с промежутками (на телефоне лента горизонтальная) */
@media (max-width: 1024px) {
	.ys-pdp .wd-gallery-thumb .wd-carousel-item { padding: 0 4px !important; }
	.ys-pdp .wd-gallery-thumb .wd-carousel-inner, .ys-pdp .wd-gallery-thumb .wd-carousel { margin: 0 -4px; }
}

/* «в магазине … Изменить»: значок, адрес и ссылка в одну строку, адрес переносится сам */
.ys-pdp-store .ys-pdp-store__where { display: grid !important; grid-template-columns: 18px minmax(0, 1fr) auto; align-items: start; gap: 2px 8px; }
.ys-pdp-store .ys-pdp-store__where > .ys-ico { margin-top: 2px; }
.ys-pdp-store .ys-pdp-store__where > span { min-width: 0; line-height: 1.45; }
.ys-pdp-store .ys-pdp-store__change { white-space: nowrap; line-height: 1.45; }

/* «Описание» ближе к артикулу на телефоне */
@media (max-width: 767px) {
	.ys-pdp .product-image-summary-wrap, .ys-pdp .product-image-summary { margin-bottom: 0 !important; }
	.ys-pdp .summary-inner > .product_meta, .ys-pdp .product_meta { margin-bottom: 0 !important; }
	.ys-pdp .product-tabs-wrapper { padding-top: 8px !important; margin-top: 0 !important; }
}

/* 0.13.0 — подсказка ближайшего магазина в окне выбора */
#ys-picker .ys-picker__geo { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 14px; padding: 12px 14px; border-radius: 10px; background: var(--ys-brand-soft); color: var(--ys-text); font-size: 14px; line-height: 1.45; }
#ys-picker .ys-picker__geo[hidden] { display: none; }
#ys-picker .ys-picker__geo-text { flex: 1 1 220px; }
#ys-picker .ys-picker__geo-text b { font-weight: 600; }
body #ys-picker .ys-picker__geo-btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; height: 34px; padding: 0 14px; border-radius: 8px; background: var(--ys-brand) !important; color: #fff !important; font-size: 14px; font-weight: 600; cursor: pointer; white-space: nowrap; }
body #ys-picker .ys-picker__geo-btn:hover { background: var(--ys-brand-hover) !important; }
#ys-picker [data-ys-cities-title] { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
#ys-picker [data-ys-cities-title][hidden] { display: none; }
body #ys-picker .ys-picker__locate { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 6px; color: var(--ys-brand) !important; font-size: 13px; font-weight: 600; text-transform: none; letter-spacing: 0; cursor: pointer; }
body #ys-picker .ys-picker__locate[hidden] { display: none; }
body #ys-picker .ys-picker__locate:hover { color: var(--ys-brand-hover) !important; }
body #ys-picker .ys-picker__locate:disabled { opacity: .6; cursor: default; }
#ys-picker .ys-picker__locate svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }

/* ================= 0.13.1 — окно выбора на телефоне и планшете =================
 * Всё окно — одна прокрутка (раньше прокручивался только список, а города при открытой
 * карте сжимались до полоски). Города — одной строкой с прокруткой и затемнением справа,
 * при прокрутке списка строка городов прилипает к верху окна. Карта — между кнопкой и списком.
 */
@media (max-width: 899px) {
	#ys-picker .ys-picker__panel { max-height: 92vh; max-height: 92dvh; padding: 0 !important; overflow: hidden; }
	#ys-picker .ys-picker__body { display: flex !important; flex-direction: column; flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 0 16px calc(12px + env(safe-area-inset-bottom)); }
	#ys-picker .ys-picker__side { display: contents !important; }
	#ys-picker .ys-picker__body > *, #ys-picker .ys-picker__side > * { flex-shrink: 0; }
	#ys-picker .ys-picker__head { margin-top: 22px; }
	#ys-picker .ys-picker__stores { flex: none !important; min-height: 0 !important; overflow: visible !important; order: 2; }
	#ys-picker .ys-picker__foot { order: 3; }
	#ys-picker .ys-picker__mapcol { order: 1; }

	/* Города: одна строка, листается вправо; прилипает к верху при прокрутке */
	#ys-picker .ys-picker__cities { position: sticky; top: 0; z-index: 3; display: flex !important; flex-wrap: nowrap !important; gap: 8px; overflow-x: auto; margin: 0 0 6px !important; padding: 8px 0 !important; background: var(--ys-surface); scrollbar-width: none; }
	#ys-picker .ys-picker__cities::-webkit-scrollbar { display: none; }
	#ys-picker .ys-picker__cities::after { display: none !important; }
	#ys-picker .ys-picker__city { flex: 0 0 auto !important; width: auto !important; padding: 8px 12px 8px 14px !important; }
	#ys-picker .ys-picker__step[data-ys-cities-title] { margin-bottom: 0; }

	/* Карта: под кнопкой «Показать на карте», города и список остаются на виду */
	#ys-picker .has-map.show-map .ys-picker__mapcol { display: block; height: 38vh; min-height: 220px; max-height: 360px; margin: 0 0 12px; border: 1px solid var(--ys-border); border-radius: 12px; overflow: hidden; }
	#ys-picker .has-map.show-map .ys-picker__lead { display: block; }
	#ys-picker .has-map.show-map .ys-picker__stores { min-height: 0 !important; }

	/* Подсказка по городу — компактнее */
	#ys-picker .ys-picker__geo { margin: 0 0 10px; padding: 10px 12px; }
}
@media (max-width: 600px) {
	#ys-picker .ys-picker__panel { border-radius: 20px 20px 0 0; }
}
@media (max-width: 899px) {
	#ys-picker .ys-picker__close { z-index: 6; background: #fff !important; box-shadow: 0 1px 6px rgba(36, 31, 29, .16); }
}

/* ================= 0.14.0 — «О компании» [yudom_about] ================= */
.ys-about { display: flex; flex-direction: column; gap: 56px; margin: 8px 0 56px; color: var(--ys-text); }
.ys-about .ys-ico { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.ys-about__eyebrow { display: inline-block; margin-bottom: 10px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ys-brand); }
.ys-about h2, .ys-about h3 { text-transform: none !important; letter-spacing: -.01em; color: var(--ys-text) !important; }
.ys-about__head { max-width: 760px; margin-bottom: 24px; }
.ys-about__head h2 { margin: 0 0 10px !important; font-family: Manrope, Inter, sans-serif; font-size: 30px !important; font-weight: 800 !important; line-height: 1.2 !important; }
.ys-about__head p { margin: 0 !important; font-size: 16px; line-height: 1.6; color: var(--ys-text-2); }

/* Первый экран */
.ys-about-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 40px; align-items: center; padding: 48px; border-radius: var(--ys-radius-lg); background: var(--ys-warm); }
.ys-about-hero__title { margin: 0 0 16px !important; font-family: Manrope, Inter, sans-serif; font-size: 42px !important; font-weight: 800 !important; line-height: 1.12 !important; letter-spacing: -.02em; color: var(--ys-text) !important; text-transform: none !important; }
.ys-about-hero__lead { margin: 0 !important; font-size: 17px; line-height: 1.6; color: var(--ys-warm-text); }
.ys-about-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-about-stats li { display: flex; flex-direction: column; gap: 4px; margin: 0 !important; padding: 20px; border-radius: var(--ys-radius); background: var(--ys-surface); }
.ys-about-stats b { font-family: Manrope, Inter, sans-serif; font-size: 34px; font-weight: 800; line-height: 1.1; color: var(--ys-brand); }
.ys-about-stats span { font-size: 14px; color: var(--ys-text-2); }

/* Карточки «зачем» и «почему» */
.ys-about-cards { display: grid; gap: 16px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-about-cards.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ys-about-cards.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ys-about-cards li { margin: 0 !important; padding: 24px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); }
.ys-about-cards h3 { margin: 16px 0 8px !important; font-family: Manrope, Inter, sans-serif; font-size: 18px !important; font-weight: 700 !important; line-height: 1.3 !important; }
.ys-about-cards p { margin: 0 !important; font-size: 15px; line-height: 1.55; color: var(--ys-text-2); }
.ys-about__ico { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--ys-brand-soft); color: var(--ys-brand); }
.ys-about__ico .ys-ico { width: 24px; height: 24px; }

/* Зоны магазина */
.ys-about-zones { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-about-zones li { margin: 0 !important; }
.ys-about-zone { display: flex; align-items: center; gap: 16px; height: 100%; box-sizing: border-box; padding: 12px 16px 12px 12px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); color: var(--ys-text) !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
a.ys-about-zone:hover { border-color: color-mix(in srgb, var(--ys-brand) 40%, var(--ys-border)); box-shadow: 0 6px 18px rgba(36, 31, 29, .08); }
.ys-about-zone__img { flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 10px; background: var(--ys-bg); overflow: hidden; }
.ys-about-zone__img img { width: 100% !important; height: 100% !important; object-fit: contain; mix-blend-mode: multiply; padding: 6px; box-sizing: border-box; }
.ys-about-zone__ph { width: 100%; height: 100%; background: var(--ys-warm); }
.ys-about-zone__txt { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.ys-about-zone__txt b { font-size: 16px; font-weight: 700; line-height: 1.3; }
.ys-about-zone__txt small { font-size: 13.5px; line-height: 1.45; color: var(--ys-text-2); }
.ys-about__more { margin: 16px 0 0 !important; }
.ys-about__more a { display: inline-flex; align-items: center; gap: 6px; color: var(--ys-brand) !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
.ys-about__more .ys-ico, .ys-about-cta__link .ys-ico { width: 18px; height: 18px; stroke-width: 2; transition: transform .15s; }
.ys-about__more a:hover .ys-ico, .ys-about-cta__link:hover .ys-ico { transform: translateX(3px); }

/* Семья ЮДОМ */
.ys-about-fam { padding: 48px; border-radius: var(--ys-radius-lg); background: var(--ys-bg); border: 1px solid var(--ys-border); }
.ys-about-fam__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-about-fam__list li { margin: 0 !important; padding: 24px 20px; border-radius: var(--ys-radius); background: var(--ys-surface); text-align: center; }
.ys-about-fam__pic { display: inline-flex; align-items: center; justify-content: center; width: 96px; height: 96px; border-radius: 0 50% 0 50%; background: var(--ys-brand); color: #fff; overflow: hidden; }
.ys-about-fam__pic .ys-ico { width: 40px; height: 40px; }
.ys-about-fam__pic.has-img { width: 140px; height: 140px; border-radius: 12px; background: none; }
.ys-about-fam__pic img { width: 100%; height: 100%; object-fit: contain; }
.ys-about-fam__list h3 { margin: 16px 0 6px !important; font-family: Manrope, Inter, sans-serif; font-size: 18px !important; font-weight: 700 !important; }
.ys-about-fam__list p { margin: 0 !important; font-size: 14.5px; line-height: 1.5; color: var(--ys-text-2); }
.ys-about-fam__note { margin: 24px 0 0 !important; font-family: Manrope, Inter, sans-serif; font-size: 18px; font-weight: 700; line-height: 1.4; text-align: center; color: var(--ys-text); }

/* Приглашение */
.ys-about-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px 40px; flex-wrap: wrap; padding: 40px 48px; border-radius: var(--ys-radius-lg); background: var(--ys-brand); color: #fff; }
.ys-about-cta > div:first-child { flex: 1 1 360px; }
.ys-about-cta h2 { margin: 0 0 8px !important; font-family: Manrope, Inter, sans-serif; font-size: 30px !important; font-weight: 800 !important; color: #fff !important; }
.ys-about-cta p { margin: 0 !important; font-size: 16px; line-height: 1.55; color: rgba(255, 255, 255, .88); }
.ys-about-cta__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
body .ys-about-cta__btn { display: inline-flex !important; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px !important; border-radius: 10px !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; cursor: pointer; box-shadow: none !important; transition: background .15s, border-color .15s; }
body .ys-about-cta__btn.is-light, body .ys-about-cta__btn.is-light:hover, body .ys-about-cta__btn.is-light:focus { background: #fff !important; border: 1px solid #fff !important; color: var(--ys-brand) !important; }
body .ys-about-cta__btn.is-light:hover { background: var(--ys-brand-soft) !important; }
body .ys-about-cta__btn.is-ghost, body .ys-about-cta__btn.is-ghost:hover, body .ys-about-cta__btn.is-ghost:focus { background: transparent !important; border: 1px solid rgba(255, 255, 255, .6) !important; color: #fff !important; }
body .ys-about-cta__btn.is-ghost:hover { background: rgba(255, 255, 255, .12) !important; border-color: #fff !important; }
.ys-about-cta__link { display: inline-flex; align-items: center; gap: 6px; color: #fff !important; font-size: 15px; font-weight: 600; text-decoration: none !important; opacity: .9; }
.ys-about-cta__link:hover { opacity: 1; }

@media (max-width: 1100px) {
	.ys-about-cards.is-4, .ys-about-fam__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ys-about-zones { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ys-about-hero__title { font-size: 36px !important; }
}
@media (max-width: 860px) {
	.ys-about { gap: 40px; }
	.ys-about-hero { grid-template-columns: minmax(0, 1fr); gap: 24px; padding: 28px 20px; }
	.ys-about-hero__title { font-size: 30px !important; }
	.ys-about-hero__lead { font-size: 16px; }
	.ys-about-stats b { font-size: 28px; }
	.ys-about-stats li { padding: 16px; }
	.ys-about-cards.is-3 { grid-template-columns: minmax(0, 1fr); }
	.ys-about__head h2, .ys-about-cta h2 { font-size: 24px !important; }
	.ys-about-fam { padding: 28px 16px; }
	.ys-about-cta { padding: 28px 20px; }
}
@media (max-width: 560px) {
	.ys-about-cards.is-4, .ys-about-zones { grid-template-columns: minmax(0, 1fr); }
	.ys-about-fam__list { gap: 10px; }
	.ys-about-fam__list li { padding: 18px 12px; }
	.ys-about-fam__pic { width: 72px; height: 72px; }
	.ys-about-fam__pic .ys-ico { width: 30px; height: 30px; }
	.ys-about-cards li { padding: 18px; }
	.ys-about-cta__btns { width: 100%; }
	body .ys-about-cta__btn { flex: 1 1 100%; }
}
.ys-about .ys-ico { flex: none; }
.ys-about .ys-about__ico .ys-ico { width: 24px; height: 24px; }
.ys-about .ys-about-fam__pic .ys-ico { width: 40px; height: 40px; stroke-width: 1.6; }
@media (max-width: 560px) { .ys-about .ys-about-fam__pic .ys-ico { width: 30px; height: 30px; } }
/* 0.14.1 — крошки в первом экране «О компании» вместо надписи */
.ys-about-hero .ys-about-hero__crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; font-size: 14px; font-weight: 500; color: var(--ys-warm-text); }
.ys-about-hero .ys-about-hero__crumbs a { color: var(--ys-warm-text) !important; text-decoration: none !important; opacity: .8; transition: opacity .15s, color .15s; }
.ys-about-hero .ys-about-hero__crumbs a:hover { opacity: 1; color: var(--ys-brand) !important; }
.ys-about-hero .ys-about-hero__crumbs > span[aria-hidden], .ys-about-hero .ys-about-hero__crumbs .separator { opacity: .45; }
.ys-about-hero .ys-about-hero__crumbs .is-current, .ys-about-hero .ys-about-hero__crumbs .breadcrumb_last { color: var(--ys-brand); font-weight: 600; }

/* ================= 0.15.0 — «Доставка и оплата» [yudom_delivery] ================= */
.ys-dlv-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-dlv-facts li { display: flex; align-items: center; gap: 12px; margin: 0 !important; padding: 18px; border-radius: var(--ys-radius); background: var(--ys-surface); }
.ys-dlv-fact__ico { display: flex; align-items: center; justify-content: center; flex: none; width: 44px; height: 44px; border-radius: 50%; background: var(--ys-brand-soft); color: var(--ys-brand); }
.ys-dlv .ys-dlv-fact__ico .ys-ico { width: 22px; height: 22px; }
.ys-dlv-facts b { display: block; font-size: 15px; font-weight: 700; line-height: 1.3; color: var(--ys-text); }
.ys-dlv-facts small { display: block; margin-top: 2px; font-size: 14px; color: var(--ys-brand); font-weight: 600; }

.ys-dlv-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; counter-reset: none; }
.ys-dlv-steps li { position: relative; margin: 0 !important; padding: 22px 20px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); }
.ys-dlv-steps li:not(:last-child)::after { content: ""; position: absolute; top: 39px; right: -12px; width: 12px; height: 2px; background: var(--ys-border); }
.ys-dlv-step__n { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--ys-brand); color: #fff; font-family: Manrope, Inter, sans-serif; font-size: 16px; font-weight: 800; }
.ys-dlv-steps h3 { margin: 14px 0 6px !important; font-family: Manrope, Inter, sans-serif; font-size: 17px !important; font-weight: 700 !important; line-height: 1.3 !important; }
.ys-dlv-steps p { margin: 0 !important; font-size: 14px; line-height: 1.5; color: var(--ys-text-2); }

.ys-dlv-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ys-dlv-col { padding: 28px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius-lg); background: var(--ys-surface); }
.ys-dlv-col h2 { margin: 14px 0 14px !important; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 800 !important; }
.ys-dlv-list { display: flex; flex-direction: column; gap: 12px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-dlv-list li { display: flex; align-items: flex-start; gap: 10px; margin: 0 !important; font-size: 15px; line-height: 1.55; color: var(--ys-text); }
.ys-dlv .ys-dlv-list .ys-ico { width: 18px; height: 18px; margin-top: 3px; color: var(--ys-ok); stroke-width: 2.2; }

.ys-dlv-soon { display: flex; align-items: flex-start; gap: 20px; padding: 28px; border-radius: var(--ys-radius-lg); background: var(--ys-bg); border: 1px dashed color-mix(in srgb, var(--ys-text-2) 35%, transparent); }
.ys-dlv-soon__ico { display: flex; align-items: center; justify-content: center; flex: none; width: 56px; height: 56px; border-radius: 0 50% 0 50%; background: var(--ys-text); color: #fff; }
.ys-dlv .ys-dlv-soon__ico .ys-ico { width: 28px; height: 28px; }
.ys-dlv-soon h2 { margin: 0 0 6px !important; font-family: Manrope, Inter, sans-serif; font-size: 22px !important; font-weight: 800 !important; }
.ys-dlv-soon p { margin: 0 !important; font-size: 15px; line-height: 1.55; color: var(--ys-text-2); }
.ys-dlv-soon p + p { margin-top: 8px !important; }

@media (max-width: 1100px) {
	.ys-dlv-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ys-dlv-steps li::after { display: none; }
}
@media (max-width: 860px) {
	.ys-dlv-cols { grid-template-columns: minmax(0, 1fr); }
	.ys-dlv-col { padding: 22px 18px; }
	.ys-dlv-col h2 { font-size: 21px !important; }
	.ys-dlv-steps { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.ys-dlv-steps li { display: grid; grid-template-columns: 36px 1fr; column-gap: 14px; padding: 16px; }
	.ys-dlv-step__n { grid-row: span 2; }
	.ys-dlv-steps h3 { margin: 6px 0 4px !important; }
	.ys-dlv-soon { padding: 20px 16px; gap: 14px; }
	.ys-dlv-soon__ico { width: 44px; height: 44px; }
	.ys-dlv .ys-dlv-soon__ico .ys-ico { width: 22px; height: 22px; }
}
@media (max-width: 560px) {
	.ys-dlv-facts { gap: 8px; }
	.ys-dlv-facts li { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px; }
}

/* ================= 0.16.0 — «Возврат и обмен» [yudom_returns] ================= */
.ys-dlv-steps.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ys-ret-lead { margin: -4px 0 14px !important; font-size: 15px; line-height: 1.55; color: var(--ys-text-2); }
.ys-ret-note { margin: 16px 0 0 !important; padding: 14px 16px; border-radius: 10px; background: var(--ys-bg); font-size: 14px; line-height: 1.55; color: var(--ys-text); }
.ys-ret-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-ret-list li { display: flex; align-items: flex-start; gap: 10px; margin: 0 !important; padding: 12px 14px; border: 1px solid var(--ys-border); border-radius: 10px; background: var(--ys-surface); font-size: 15px; line-height: 1.45; }
.ys-ret .ys-ret-list .ys-ico { width: 18px; height: 18px; margin-top: 2px; color: var(--ys-brand); stroke-width: 2.2; }
.ys-ret-source { margin: 14px 0 0 !important; font-size: 13px; color: var(--ys-muted); }
@media (max-width: 1100px) { .ys-dlv-steps.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) {
	.ys-dlv-steps.is-3 { grid-template-columns: minmax(0, 1fr); }
	.ys-ret-list { grid-template-columns: minmax(0, 1fr); gap: 8px; }
}

/* ================= 0.17.0 — «Вопросы и ответы» [yudom_faq] ================= */
.ys-faq-hero { grid-template-columns: minmax(0, 1fr); }
.ys-faq-hero .ys-about-hero__lead { max-width: 760px; }
.ys-faq__nav { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 22px; }
.ys-faq__nav a { display: inline-flex; align-items: center; padding: 8px 16px; border-radius: 999px; background: var(--ys-surface); color: var(--ys-text) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; transition: background .15s, color .15s; }
.ys-faq__nav a:hover { background: var(--ys-brand); color: #fff !important; }
.ys-faq__body { display: flex; flex-direction: column; gap: 36px; max-width: 900px; }
.ys-faq__group { scroll-margin-top: 120px; }
.ys-faq__group h2 { margin: 0 0 14px !important; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 800 !important; }
.ys-faq__item { margin: 0 0 8px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); transition: border-color .15s, box-shadow .15s; }
.ys-faq__item[open] { border-color: color-mix(in srgb, var(--ys-brand) 35%, var(--ys-border)); box-shadow: 0 6px 18px rgba(36, 31, 29, .06); }
.ys-faq__item > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px 20px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 600; line-height: 1.4; color: var(--ys-text); }
.ys-faq__item > summary::-webkit-details-marker { display: none; }
.ys-faq__item > summary:hover { color: var(--ys-brand); }
.ys-faq__item > summary i { position: relative; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--ys-bg); transition: background .15s, transform .2s var(--ys-ease); }
.ys-faq__item > summary i::before, .ys-faq__item > summary i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; border-radius: 1px; background: var(--ys-text); transition: transform .2s var(--ys-ease), background .15s; }
.ys-faq__item > summary i::after { transform: rotate(90deg); }
.ys-faq__item[open] > summary i { background: var(--ys-brand); }
.ys-faq__item[open] > summary i::before, .ys-faq__item[open] > summary i::after { background: #fff; }
.ys-faq__item[open] > summary i::after { transform: rotate(0deg); }
.ys-faq__a { padding: 0 20px 18px; font-size: 15px; line-height: 1.6; color: var(--ys-text-2); }
.ys-faq__a p { margin: 0 0 8px !important; }
.ys-faq__a p:last-child { margin-bottom: 0 !important; }
.ys-faq__a a { color: var(--ys-brand) !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: color-mix(in srgb, var(--ys-brand) 40%, transparent); }
@media (max-width: 860px) {
	.ys-faq__group h2 { font-size: 21px !important; }
	.ys-faq__item > summary { padding: 14px 16px; font-size: 15px; }
	.ys-faq__a { padding: 0 16px 16px; }
	.ys-faq__nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
	.ys-faq__nav::-webkit-scrollbar { display: none; }
	.ys-faq__nav a { flex: none; }
}
.ys-faq__body { max-width: none; }

/* ================= 0.18.0 — «Контакты» [yudom_contacts], реквизиты [yudom_seller] ================= */
.ys-cnt-cards { display: flex; flex-direction: column; gap: 10px; }
.ys-cnt-card { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: var(--ys-radius); background: var(--ys-surface); color: var(--ys-text) !important; text-decoration: none !important; transition: box-shadow .15s, transform .15s; }
.ys-cnt-card:hover { box-shadow: 0 8px 22px rgba(36, 31, 29, .1); transform: translateY(-1px); }
.ys-cnt-card > span:last-child { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ys-cnt-card small { font-size: 13px; color: var(--ys-text-2); }
.ys-cnt-card b { font-family: Manrope, Inter, sans-serif; font-size: 20px; font-weight: 800; line-height: 1.25; overflow-wrap: anywhere; }
.ys-cnt-card em { font-size: 13px; font-style: normal; color: var(--ys-muted); }
.ys-cnt .ys-about__ico { flex: none; }
.ys-home-store__tel { display: inline-block; margin-top: 3px; color: var(--ys-text) !important; font-size: 14px; font-weight: 600; text-decoration: none !important; }
.ys-home-store__tel:hover { color: var(--ys-brand) !important; }
.ys-cnt-req .ys-dlv-col { max-width: 760px; }
.ys-seller { display: flex; flex-direction: column; gap: 0; margin: 0 !important; }
.ys-seller > div { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 4px 20px; padding: 10px 0; border-top: 1px solid var(--ys-border); }
.ys-seller > div:first-child { border-top: 0; padding-top: 0; }
.ys-seller dt { margin: 0; font-size: 14px; color: var(--ys-text-2); font-weight: 400; }
.ys-seller dd { margin: 0; font-size: 15px; color: var(--ys-text); font-weight: 500; overflow-wrap: anywhere; }
@media (max-width: 860px) {
	.ys-cnt-card b { font-size: 18px; }
	.ys-seller > div { grid-template-columns: minmax(0, 1fr); }
}

/* ================= 0.19.0 — юридические документы [yudom_privacy] [yudom_consent] [yudom_offer] ================= */
.ys-doc { margin: 8px 0 56px; color: var(--ys-text); }
.ys-doc__head { padding: 36px 40px; border-radius: var(--ys-radius-lg); background: var(--ys-bg); margin-bottom: 32px; }
.ys-doc .ys-doc__crumbs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 12px; font-size: 14px; color: var(--ys-text-2); }
.ys-doc .ys-doc__crumbs a { color: var(--ys-text-2) !important; text-decoration: none !important; }
.ys-doc .ys-doc__crumbs a:hover { color: var(--ys-brand) !important; }
.ys-doc .ys-doc__crumbs > span[aria-hidden] { opacity: .5; }
.ys-doc .ys-doc__crumbs .is-current, .ys-doc .ys-doc__crumbs .breadcrumb_last { color: var(--ys-brand); font-weight: 600; }
.ys-doc__title { margin: 0 !important; font-family: Manrope, Inter, sans-serif; font-size: 36px !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.02em; color: var(--ys-text) !important; text-transform: none !important; }
.ys-doc__date { margin: 10px 0 0 !important; font-size: 14px; color: var(--ys-muted); }
.ys-doc__grid { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 48px; align-items: start; }
.ys-doc__toc { position: sticky; top: 110px; padding: 20px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); background: var(--ys-surface); }
.ys-doc__toc b { display: block; margin-bottom: 10px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ys-muted); }
.ys-doc__toc ol { margin: 0 !important; padding: 0 !important; list-style: none !important; display: flex; flex-direction: column; gap: 2px; }
.ys-doc__toc li { margin: 0 !important; }
.ys-doc__toc a { display: block; padding: 6px 8px; border-radius: 6px; color: var(--ys-text-2) !important; font-size: 14px; line-height: 1.35; text-decoration: none !important; transition: background .15s, color .15s; }
.ys-doc__toc a:hover { background: var(--ys-bg); color: var(--ys-brand) !important; }
.ys-doc__body { max-width: 780px; font-size: 16px; line-height: 1.7; }
.ys-doc__lead { margin-bottom: 28px; padding: 18px 20px; border-left: 3px solid var(--ys-brand); border-radius: 0 10px 10px 0; background: var(--ys-brand-soft); }
.ys-doc__lead p { margin: 0 !important; }
.ys-doc__sec { scroll-margin-top: 120px; margin-bottom: 28px; }
.ys-doc__sec h2 { margin: 0 0 10px !important; font-family: Manrope, Inter, sans-serif; font-size: 21px !important; font-weight: 800 !important; line-height: 1.3 !important; color: var(--ys-text) !important; text-transform: none !important; }
.ys-doc__sec p { margin: 0 0 10px !important; color: var(--ys-text); }
.ys-doc__sec ul { margin: 0 0 10px !important; padding: 0 !important; list-style: none !important; }
.ys-doc__sec li { position: relative; margin: 0 0 6px !important; padding-left: 22px; }
.ys-doc__sec li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 0 50% 0 50%; background: var(--ys-brand); }
.ys-doc__seller { margin-top: 8px; padding: 22px 24px; border: 1px solid var(--ys-border); border-radius: var(--ys-radius); }
.ys-offer-note { margin: 4px 0 14px !important; font-size: 13px; color: var(--ys-text-2); }
.ys-offer-note a { color: var(--ys-brand) !important; }
@media (max-width: 960px) {
	.ys-doc__grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.ys-doc__toc { position: static; }
	.ys-doc__head { padding: 24px 20px; }
	.ys-doc__title { font-size: 28px !important; }
	.ys-doc__body { font-size: 15px; }
	.ys-doc__sec h2 { font-size: 19px !important; }
}

/* ================= 0.20.0 — плашка cookie (Яндекс Метрика) ================= */
.ys-cookie { position: fixed; left: 20px; bottom: 20px; z-index: 99990; box-sizing: border-box; width: min(440px, calc(100vw - 40px)); padding: 18px 20px; border-radius: var(--ys-radius); background: var(--ys-surface); box-shadow: var(--ys-shadow); color: var(--ys-text); font-size: 14px; line-height: 1.5; }
.ys-cookie[hidden] { display: none; }
.ys-cookie p { margin: 0 0 14px !important; }
.ys-cookie a { color: var(--ys-brand) !important; }
.ys-cookie__btns { display: flex; flex-wrap: wrap; gap: 8px; }
body .ys-cookie__btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; flex: 1 1 auto; min-height: 40px; padding: 0 16px; border: 1px solid var(--ys-border); border-radius: 8px; background: var(--ys-surface); color: var(--ys-text); font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s; }
body .ys-cookie__btn:hover { border-color: var(--ys-text-2); }
body .ys-cookie__btn.is-main { border-color: var(--ys-brand); background: var(--ys-brand); color: #fff; }
body .ys-cookie__btn.is-main:hover { background: var(--ys-brand-hover); border-color: var(--ys-brand-hover); }
body .ys-cookie__btn:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }
.ys-doc__cookie { margin-top: 8px; }
@media (max-width: 1024px) {
	/* над нижней панелью Woodmart на телефоне */
	.ys-cookie { left: 12px; right: 12px; bottom: 72px; width: auto; padding: 14px 16px; }
}

/* ===== 0.23.0 — Акции ===== */
.ys-promo-badge { display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: 999px; background: var(--ys-brand); color: #fff; font-size: 13px; line-height: 1.2; font-weight: 500; }
.ys-promo-badge b { font-weight: 700; }
.ys-promo-badge i { font-style: normal; opacity: .85; }
.ys-promo-badge.is-soon { background: var(--ys-warm); color: var(--ys-warm-text); }
.ys-promo-badge--pdp { margin: 4px 0 12px; }
body .product-labels .ys-promo-label { background: var(--ys-brand) !important; color: #fff !important; }
body .product-labels .ys-promo-label.is-soon { background: var(--ys-warm) !important; color: var(--ys-warm-text) !important; }

.ys-promos { max-width: 1222px; margin: 0 auto; padding: 24px 15px 48px; color: var(--ys-text); }
.ys-promos__head { margin-bottom: 24px; }
.ys-promos__title { margin: 8px 0 8px; font-size: clamp(26px, 4vw, 36px); line-height: 1.15; }
.ys-promos__lead { margin: 0; max-width: 720px; color: var(--ys-text-2); font-size: 16px; }
.ys-promos__empty { padding: 40px 24px; border-radius: var(--ys-radius-lg); background: var(--ys-bg); text-align: center; }
.ys-promos__empty p { margin: 0 0 16px; font-size: 16px; }
.ys-promo { margin: 0 0 40px; }
.ys-promo__top { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; align-items: center; padding: 16px; border-radius: var(--ys-radius-lg); background: var(--ys-bg); }
.ys-promo__img { display: block; width: 100%; height: auto; border-radius: var(--ys-radius); }
.ys-promo__name { margin: 12px 0 6px; font-size: 22px; line-height: 1.25; }
.ys-promo__state { margin: 0; color: var(--ys-text-2); }
.ys-promo__sub { margin: 24px 0 12px; font-size: 18px; }
.ys-promo--soon .ys-promo__top { background: #fff; border: 1px dashed var(--ys-border); }
@media (max-width: 760px) {
	.ys-promo__top { grid-template-columns: 1fr; padding: 12px; gap: 12px; }
	.ys-promo__name { font-size: 19px; }
}

.ys-home-promos__row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ys-gap); }
.ys-home-promo { position: relative; display: block; border-radius: var(--ys-radius); overflow: hidden; background: var(--ys-bg); color: inherit; text-decoration: none; }
.ys-home-promo img { display: block; width: 100%; height: auto; transition: transform .3s var(--ys-ease); }
.ys-home-promo:hover img { transform: scale(1.02); }
.ys-home-promo__cap { position: absolute; left: 10px; bottom: 10px; }
@media (max-width: 860px) {
	.ys-home-promos__row { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 4px; }
	.ys-home-promo { flex: 0 0 78%; scroll-snap-align: start; }
}

/* ===== 0.23.2 — корзина: липкий блок «Итого»; «Спасибо»: без пустой плашки ===== */
.ys-cart-page .cart-collaterals { align-self: stretch !important; }
.ys-cart-page .cart-collaterals .cart_totals { position: sticky; top: 120px; }
.ys-cart-page .cart-totals-inner, .ys-cart-page .cart_totals > div {
	border-width: 1px !important; border-style: solid !important; border-color: var(--ys-border) !important;
	box-shadow: 0 8px 28px rgba(36, 31, 29, .08), 0 1px 3px rgba(36, 31, 29, .05) !important;
}
.ys-cart-page .shop_table .product-price .amount,
.ys-cart-page .shop_table .product-subtotal .amount { white-space: nowrap; }
.woocommerce-order-received .woocommerce-thankyou-order-received { display: none !important; }
.woocommerce-order-received .woocommerce-customer-details address { font-style: normal; border: 0; padding: 0; }

/* ===== 0.24.0 — кабинет, вход, избранное ===== */

/* Вход (без аккаунта): узкая форма по центру */
body.ys-account--login .woocommerce { max-width: 480px; margin: 8px auto 56px; }
body.ys-account--login .wd-login-title h2,
body.ys-account--login .woocommerce h2 { font-family: Manrope, Inter, sans-serif; font-size: 26px !important; font-weight: 800 !important; text-transform: none !important; color: var(--ys-text); }
body.ys-account--login .woocommerce-form-login { padding: 0 !important; border: 0 !important; }
body.ys-account--login .woocommerce-form-login .button { width: 100%; min-height: 48px; border-radius: var(--ys-radius-sm) !important; background: var(--ys-brand) !important; color: #fff !important; font-weight: 600 !important; text-transform: none !important; }
body.ys-account--login .woocommerce-form-login .button:hover { background: var(--ys-brand-hover) !important; }
body.ys-account--login .woocommerce-LostPassword a, body.ys-account--login .lost_password a { color: var(--ys-brand) !important; }

/* Меню кабинета слева и в выпадашке шапки */
body .wd-my-account-sidebar .woocommerce-MyAccount-title { margin: 0 0 12px !important; padding: 0 0 12px 14px !important; border-bottom: 1px solid var(--ys-border) !important; color: var(--ys-text) !important; font-size: 18px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; }
body .woocommerce-MyAccount-navigation ul { display: grid; gap: 2px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
body .woocommerce-MyAccount-navigation li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body .woocommerce-MyAccount-navigation li a { display: block !important; padding: 9px 14px !important; border-left: 3px solid transparent !important; border-radius: 8px !important; background: transparent !important; color: var(--ys-text) !important; font-size: 15px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; text-decoration: none !important; }
body .woocommerce-MyAccount-navigation li a:hover { background: var(--ys-bg) !important; color: var(--ys-brand) !important; }
body .woocommerce-MyAccount-navigation li.is-active a { border-left-color: var(--ys-brand) !important; background: var(--ys-brand-soft) !important; color: var(--ys-brand) !important; font-weight: 600 !important; }
body .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--ys-text-2) !important; }

/* Плитки на главной кабинета */
body.ys-account .wd-my-account-links a { border-radius: var(--ys-radius) !important; border-color: var(--ys-border) !important; }
body.ys-account .wd-my-account-links a:hover { border-color: var(--ys-brand) !important; box-shadow: var(--ys-shadow); }
body.ys-account .woocommerce-MyAccount-content a:not(.button):not(.wd-my-account-links a) { color: var(--ys-brand); }

/* «Мои данные»: фамилия и отображаемое имя не нужны */
.woocommerce-EditAccountForm p.form-row:has(#account_last_name),
.woocommerce-EditAccountForm p.form-row:has(#account_display_name) { display: none !important; }
.woocommerce-EditAccountForm p.form-row:has(#account_first_name) { width: 100% !important; float: none !important; }
.woocommerce-EditAccountForm .optional, .woocommerce-MyAccount-content .optional { color: var(--ys-muted); font-size: 12px; font-weight: 400; }

/* Оформление: «Создать личный кабинет» под почтой */
.ys-account-box { margin: -4px 0 18px !important; padding: 12px 14px; border-radius: var(--ys-radius-sm); background: var(--ys-bg); }
.ys-account-box .create-account label { margin: 0 !important; font-weight: 500; }
.ys-account-box .create-account p { margin: 10px 0 0 !important; }

/* Избранное */
body .wd-wishlist-head { display: flex !important; align-items: baseline; justify-content: space-between; margin: 0 0 18px !important; padding: 0 0 12px !important; border-bottom: 1px solid var(--ys-border) !important; }
body .wd-wishlist-head .title { margin: 0 !important; color: var(--ys-text) !important; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: 0 !important; }
body .wd-wishlist-head .social-share, body .wd-wishlist-head .wd-social-icons { display: none !important; }
body .wd-wishlist-bulk-action, body .wd-wishlist-product-actions { display: flex !important; align-items: center; justify-content: space-between; gap: 16px; }
body .wd-wishlist-bulk-action { justify-content: flex-start; margin: 0 0 18px !important; padding: 0 !important; background: transparent !important; box-shadow: none !important; }
body .wd-wishlist-product-actions { position: relative; z-index: 2; margin: 0 0 14px !important; padding: 0 2px !important; }
body .wd-wishlist-bulk-action a, body .wd-wishlist-product-actions a,
body .wd-wishlist-bulk-action .wd-action-text, body .wd-wishlist-product-actions .wd-action-text { color: var(--ys-text-2) !important; font-size: 13px !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; }
body .wd-wishlist-bulk-action a:hover, body .wd-wishlist-product-actions a:hover,
body .wd-wishlist-bulk-action a:hover .wd-action-text, body .wd-wishlist-product-actions a:hover .wd-action-text { color: var(--ys-brand) !important; }
body .wd-wishlist-checkbox { width: 16px !important; height: 16px !important; margin: 0 !important; accent-color: var(--ys-brand); }
@media (max-width: 1024px) { body .wd-wishlist-content .wd-products { --wd-col-md: 2 !important; } }
@media (max-width: 767px) {
	body .wd-wishlist-content .wd-products { --wd-col-sm: 1 !important; --wd-col-md: 1 !important; --wd-gap-lg: 12px !important; --wd-gap-md: 12px !important; --wd-gap-sm: 12px !important; }
	body .wd-wishlist-content .wd-product .wd-product-wrapper { display: grid !important; grid-template-columns: 104px minmax(0, 1fr); align-items: start; gap: 0 14px; padding: 12px !important; }
	body .wd-wishlist-content .wd-product .wd-product-thumb { grid-column: 1; margin: 0 !important; }
	body .wd-wishlist-content .wd-product .wd-product-img-link { display: flex !important; align-items: center; justify-content: center; height: 104px !important; aspect-ratio: auto !important; }
	body .wd-wishlist-content .wd-product .wd-product-img-link img { width: auto !important; max-width: 100% !important; height: auto !important; max-height: 104px !important; object-fit: contain; }
	body .wd-wishlist-content .wd-product .wd-product-grid-slider, body .wd-wishlist-content .wd-product .wd-product-grid-slider-pagin,
	body .wd-wishlist-content .wd-product .wd-buttons, body .wd-wishlist-content .wd-product .product-labels,
	body .wd-wishlist-content .wd-product .wd-product-card-hover { display: none !important; }
	body .wd-wishlist-content .wd-product .product-element-bottom { grid-column: 2; margin: 0 !important; padding: 0 !important; text-align: left !important; }
	body .wd-wishlist-content .wd-product .wd-entities-title, body .wd-wishlist-content .wd-product .wd-entities-title a { min-height: 0 !important; margin: 0 0 4px !important; font-size: 14px !important; line-height: 1.35 !important; }
	body .wd-wishlist-content .wd-product .price, body .wd-wishlist-content .wd-product .price .amount { font-size: 17px !important; }
	body .wd-wishlist-content .wd-product .wd-add-btn .button { height: 38px !important; min-height: 0 !important; padding: 0 12px !important; font-size: 14px !important; line-height: 38px !important; }
}

/* Пустые страницы: разделы таблетками */
.ys-empty-page__cats { margin-top: 26px; padding-top: 20px; border-top: 1px solid var(--ys-border); }
.ys-empty-page__cats > span { display: block; margin-bottom: 12px; color: var(--ys-text-2); font-size: 13px; font-weight: 600; }
.ys-empty-page__cats > div { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.ys-empty-page__cats a { padding: 7px 14px; border: 1px solid var(--ys-border); border-radius: 18px; background: var(--ys-surface); color: var(--ys-text) !important; font-size: 14px; text-decoration: none !important; transition: border-color .15s, color .15s; }
.ys-empty-page__cats a:hover { border-color: var(--ys-brand); color: var(--ys-brand) !important; }
.ys-empty-page--wishlist { margin-top: 8px !important; }
@media (max-width: 767px) { .ys-empty-page__cats a { font-size: 13px; padding: 6px 12px; } }

/* ===== 0.24.1 — «Мои заказы» и страница заказа ===== */
.ys-status { display: inline-flex; align-items: center; padding: 4px 10px; border-radius: 999px; background: var(--ys-bg); color: var(--ys-text-2); font-size: 13px; font-weight: 600; line-height: 1.3; white-space: nowrap; }
.ys-status.is-processing { background: var(--ys-warm); color: var(--ys-warm-text); }
.ys-status.is-ys-ready { background: #E3F1E8; color: var(--ys-ok); }
.ys-status.is-completed { background: #EEF0F2; color: #4A5560; }
.ys-status.is-cancelled, .ys-status.is-failed, .ys-status.is-refunded { background: var(--ys-brand-soft); color: var(--ys-brand); }

/* Список заказов — строки-карточки */
body .woocommerce-orders-table { border-collapse: separate !important; border-spacing: 0 10px !important; margin-top: -10px !important; border: 0 !important; }
body .woocommerce-orders-table thead th { padding: 0 14px 2px !important; border: 0 !important; background: none !important; color: var(--ys-muted) !important; font-size: 12px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; }
body .woocommerce-orders-table tbody td { padding: 14px !important; vertical-align: middle !important; background: var(--ys-surface) !important; border: 0 !important; border-top: 1px solid var(--ys-border) !important; border-bottom: 1px solid var(--ys-border) !important; color: var(--ys-text); font-size: 14px; line-height: 1.35; }
body .woocommerce-orders-table tbody td:first-child { border-left: 1px solid var(--ys-border) !important; border-radius: 12px 0 0 12px; }
body .woocommerce-orders-table tbody td:last-child { border-right: 1px solid var(--ys-border) !important; border-radius: 0 12px 12px 0; text-align: right; }
body .woocommerce-orders-table tbody tr:hover td { border-color: #D8D1CC !important; }
.ys-ord__num { display: block; color: var(--ys-text) !important; font-weight: 700; font-size: 15px; white-space: nowrap; text-decoration: none !important; }
.ys-ord__num:hover { color: var(--ys-brand) !important; }
.ys-ord__sub { display: block; margin-top: 3px; color: var(--ys-text-2); font-size: 12.5px; font-weight: 400; }
.ys-ord__city { display: block; font-weight: 600; }
.ys-ord__sum, .ys-ord__sum .amount { color: var(--ys-text) !important; font-weight: 700; white-space: nowrap; }
.ys-ord__thumbs { display: inline-flex; align-items: center; gap: 6px; padding: 7px 7px 0 0; text-decoration: none !important; }
.ys-ord__thumb { position: relative; display: inline-flex; flex: none; width: 48px; height: 48px; border: 1px solid var(--ys-border); border-radius: 8px; background: #fff; }
.ys-ord__thumb img { width: 100% !important; height: 100% !important; object-fit: contain; margin: 0 !important; border-radius: 7px; }
.ys-ord__badge { position: absolute; top: -7px; right: -7px; display: flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 5px; border: 2px solid #fff; border-radius: 11px; background: var(--ys-text); color: #fff; font-size: 11px; font-weight: 700; line-height: 1; box-sizing: border-box; }
body .woocommerce-orders-table .woocommerce-button, body .woocommerce-orders-table .button { display: inline-flex !important; align-items: center; min-height: 34px !important; margin: 2px 0 2px 6px !important; padding: 0 14px !important; border: 1px solid var(--ys-border) !important; border-radius: 8px !important; background: var(--ys-surface) !important; color: var(--ys-text) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1 !important; text-transform: none !important; box-shadow: none !important; }
body .woocommerce-orders-table .woocommerce-button:hover, body .woocommerce-orders-table .button:hover { border-color: var(--ys-brand) !important; color: var(--ys-brand) !important; }
body .woocommerce-orders-table .woocommerce-button.cancel { color: var(--ys-text-2) !important; }
@media (max-width: 767px) {
	body .woocommerce-orders-table thead { display: none; }
	body .woocommerce-orders-table, body .woocommerce-orders-table tbody { display: block; }
	body .woocommerce-orders-table tbody tr { display: grid !important; grid-template-columns: 1fr auto; gap: 8px 12px; margin-bottom: 12px; padding: 14px; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface); }
	body .woocommerce-orders-table tbody td { display: block !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; text-align: left !important; background: none !important; }
	body .woocommerce-orders-table tbody td::before { display: none !important; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-ys-items { grid-column: 1 / -1; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button { margin: 0 6px 0 0 !important; }
}

/* Страница заказа: шапка-карточка вместо строки «Заказ № … был оформлен…» */
body.ys-view-order .woocommerce-MyAccount-content > p:has(mark) { display: none !important; }
.ys-order-head { margin: 0 0 28px; padding: 20px 22px; border: 1px solid var(--ys-border); border-radius: 14px; background: var(--ys-surface); }
.ys-order-head__top { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.ys-order-head__title { margin: 0 !important; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 800 !important; color: var(--ys-text); }
.ys-order-head__meta { margin: 8px 0 0 !important; color: var(--ys-text-2); font-size: 14px; }
.ys-order-head__meta b, .ys-order-head__meta .amount { color: var(--ys-text) !important; }
.ys-order-head__note { margin: 12px 0 0 !important; padding: 10px 12px; border-radius: 10px; background: var(--ys-bg); color: var(--ys-text); font-size: 14px; }
.ys-order-head__store { display: flex; gap: 10px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--ys-border); font-size: 14px; }
.ys-order-head__store .ys-ico { flex: none; width: 20px; height: 20px; margin-top: 1px; fill: none; stroke: var(--ys-brand); stroke-width: 1.8; }
.ys-order-head__store div { display: grid; gap: 3px; }
.ys-order-head__store span { color: var(--ys-text-2); }
.ys-order-head__store a { color: var(--ys-brand) !important; }
.ys-order-head__map { font-weight: 600; }

/* Состав заказа: фото у товара, цены — цветом текста */
.woocommerce-table--order-details td.product-name { position: relative; padding-left: 78px !important; min-height: 64px; }
.ys-oi__img { position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 64px !important; height: 64px !important; padding: 4px; border: 1px solid var(--ys-border); border-radius: 10px; background: #fff; object-fit: contain; }
.woocommerce-table--order-details td.product-name a { color: var(--ys-text) !important; }
.woocommerce-table--order-details td.product-name a:hover { color: var(--ys-brand) !important; }
.woocommerce-table--order-details .amount { color: var(--ys-text) !important; }
.woocommerce-table--order-details tfoot tr:last-child .amount, .woocommerce-table--order-details .order-total .amount { font-weight: 700; }
.woocommerce-table--order-details .order-actions-button, .woocommerce-table--order-details tfoot .button { border-radius: 8px !important; text-transform: none !important; }
.woocommerce-customer-details address { font-style: normal !important; border: 0 !important; padding: 0 !important; }

/* ===== 0.24.4 — липкое «Итого», таблица на «Спасибо», кнопки в «Мои заказы» ===== */
.ys-sticky-totals { position: sticky !important; align-self: flex-start !important; z-index: 2; }

/* Состав заказа («Спасибо» и страница заказа): без прокрутки вбок, «Итого» всегда видно */
.ys-thankyou-page .woocommerce-order-details,
.ys-thankyou-page .woocommerce-customer-details { max-width: 760px; }
.woocommerce-order-details .responsive-table, .woocommerce-order-details .wd-table-wrapper { overflow: visible !important; }
body .woocommerce-table--order-details { width: 100% !important; min-width: 0 !important; table-layout: auto !important; }
body .woocommerce-table--order-details th.product-total,
body .woocommerce-table--order-details td.product-total,
body .woocommerce-table--order-details tfoot td { width: 1%; padding-left: 16px !important; white-space: nowrap; text-align: right !important; }
body .woocommerce-table--order-details td.product-name { word-break: normal; overflow-wrap: anywhere; }
body .woocommerce .woocommerce-table--order-details td.product-name a { color: var(--ys-text) !important; }
body .woocommerce .woocommerce-table--order-details td.product-name a:hover { color: var(--ys-brand) !important; }
@media (max-width: 767px) {
	body .woocommerce-table--order-details td.product-name { padding-left: 62px !important; font-size: 14px; }
	body .woocommerce-table--order-details .ys-oi__img { width: 50px !important; height: 50px !important; }
	body .woocommerce-table--order-details th, body .woocommerce-table--order-details td { padding-top: 12px !important; padding-bottom: 12px !important; }
}

/* «Мои заказы»: кнопки одной ширины, с отступом */
body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { width: 1%; white-space: nowrap; }
body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button { display: flex !important; justify-content: center; width: 100%; margin: 0 !important; }
body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button + .button { margin-top: 8px !important; }
@media (max-width: 767px) {
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions { display: flex !important; gap: 8px; width: auto; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button { width: auto; flex: 1 1 0; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-actions .button + .button { margin-top: 0 !important; }
}

/* ===== 0.25.0 — плашка cookie: карточка внизу справа (как в «Европе»), выезжает и уезжает ===== */
.ys-cookie { left: auto !important; right: 24px; bottom: 24px; width: min(480px, calc(100vw - 48px)); padding: 18px 20px; border: 1px solid var(--ys-border); border-radius: 12px; box-shadow: 0 12px 32px rgba(36, 31, 29, .14); opacity: 0; transform: translateY(calc(100% + 40px)); transition: transform .35s ease, opacity .35s ease; }
.ys-cookie.is-on { opacity: 1; transform: none; }
.ys-cookie .ys-cookie__text { margin: 0 0 14px !important; color: var(--ys-text); font-size: 14px; line-height: 1.5; }
.ys-cookie__btns { align-items: center; gap: 8px 10px; }
body .ys-cookie__btn { flex: 0 0 auto; padding: 0 22px; }
body .ys-cookie__btn.is-main { padding: 0 28px; }
body .ys-cookie .ys-cookie__more { margin-left: auto; color: var(--ys-text-2) !important; font-size: 14px; font-weight: 500; text-decoration: underline !important; text-underline-offset: 3px; }
body .ys-cookie .ys-cookie__more:hover { color: var(--ys-brand) !important; }
/* Пока плашка на экране, кнопка темы «Наверх» (тот же угол) спрятана. */
html.ys-cookie-on .scrollToTop { opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
/* Woodmart: своя полоса cookie не нужна — отключить в настройках темы; на всякий случай скрыта. */
body .wd-cookies-popup { display: none !important; }
@media (max-width: 1024px) {
	.ys-cookie { left: 12px !important; right: 12px; bottom: 12px; width: auto; padding: 16px; }
	body.sticky-toolbar-on .ys-cookie { bottom: 67px; }
	body .ys-cookie__btn { flex: 1 1 auto; }
	body .ys-cookie .ys-cookie__more { flex-basis: 100%; margin: 4px 0 0; text-align: center; }
}
@media (prefers-reduced-motion: reduce) { .ys-cookie { transition: none; } }

/* ===== 0.26.0 — «Каталог»: панель на всю ширину шапки (от логотипа до корзины) ===== */
@media (min-width: 1025px) {
	body .wd-header-cats .wd-dropdown-cats.ys-mega {
		left: var(--ys-mega-left) !important;
		right: auto !important;
		inset-inline-start: var(--ys-mega-left) !important;
		width: var(--ys-mega-w) !important;
		max-width: none !important;
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 0 14px 14px !important;
		background: var(--ys-surface) !important;
		box-shadow: 0 24px 48px rgba(36, 31, 29, .18) !important;
		overflow: hidden;
	}
	body .wd-header-cats .wd-dropdown-cats.ys-mega > ul.wd-nav-vertical {
		width: 300px !important;
		height: min(var(--ys-cats-max), 640px);
		max-height: min(var(--ys-cats-max), 640px) !important;
		padding: 8px 0 !important;
		background: #FBFAF9 !important;
		border-right: 1px solid var(--ys-border);
	}
	body .wd-header-cats .wd-dropdown-cats.ys-mega > ul > li > a { padding-left: 18px !important; padding-right: 18px !important; }
	body .wd-dropdown-cats.ys-mega.ys-aim > ul > li.ys-open > a { box-shadow: inset 3px 0 0 var(--ys-brand); }
	body .wd-header-cats .wd-dropdown-cats.ys-mega > ul.wd-nav-vertical > li > .wd-dropdown-menu {
		left: 300px !important;
		inset-inline-start: 300px !important;
		right: 0 !important;
		top: 0 !important;
		bottom: 0 !important;
		width: auto !important;
		max-width: none !important;
		min-height: 0;
		max-height: none;
		border: 0 !important;
		border-radius: 0 !important;
		box-shadow: none !important;
	}
	body .wd-dropdown-cats.ys-mega .wd-dropdown-menu > .container { padding: 24px 32px 28px !important; }
	body .wd-dropdown-cats.ys-mega .ys-sub-head { margin-bottom: 20px; }
	body .wd-dropdown-cats.ys-mega .ys-sub-head__title { font-size: 22px; }

	/* Подразделы — карточки: фото сверху, подпись, ниже ссылки третьего уровня. */
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 14px; align-items: start; }
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid > li > a,
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid > li > a.has-thumb {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
		margin: 0;
		padding: 12px !important;
		border: 1px solid var(--ys-border);
		border-radius: 12px;
		background: var(--ys-surface);
		font-size: 13.5px !important;
		font-weight: 600 !important;
		line-height: 1.3 !important;
		text-align: center;
		transition: border-color .15s, box-shadow .15s, color .15s;
	}
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid > li > a:hover {
		background: var(--ys-surface);
		border-color: color-mix(in srgb, var(--ys-brand) 40%, var(--ys-border));
		box-shadow: 0 6px 16px rgba(36, 31, 29, .08);
	}
	body .wd-dropdown-cats.ys-mega .ys-sub-thumb {
		flex: none !important;
		width: 100% !important;
		height: 96px !important;
		min-width: 0 !important;
		padding: 6px !important;
		border: 0 !important;
		border-radius: 8px;
		background: var(--ys-bg) !important;
		mix-blend-mode: multiply;
	}
	body .wd-dropdown-cats.ys-mega span.ys-sub-thumb::before { width: 34px; height: 34px; }
	.ys-sub-kids { display: grid; gap: 5px; margin-top: 10px; padding: 0 2px; }
	body .ys-sub-kids a { color: var(--ys-text-2) !important; font-size: 13px; line-height: 1.3; text-decoration: none !important; }
	body .ys-sub-kids a:hover { color: var(--ys-brand) !important; }
	body .ys-sub-kids a.is-more { color: var(--ys-muted) !important; font-size: 12.5px; }

	/* Затемнение страницы под открытым каталогом (шапка остаётся светлой). */
	html.ys-mega-on body::after { content: ""; position: fixed; inset: 0; z-index: 2; background: rgba(36, 31, 29, .45); pointer-events: none; animation: ys-fade-in .15s ease; }
	html.ys-mega-on .whb-header { position: relative; z-index: 400; }
}
@media (min-width: 1025px) and (max-width: 1280px) {
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	body .wd-header-cats .wd-dropdown-cats.ys-mega > ul.wd-nav-vertical > li > .wd-dropdown-menu { width: auto !important; }
}
@keyframes ys-fade-in { from { opacity: 0; } to { opacity: 1; } }

/* ===== 0.26.1 — «Каталог»: карточки подразделов одной высоты ===== */
@media (min-width: 1025px) {
	/* Подпись — всегда место под 3 строки, по центру; длиннее — обрезается многоточием. */
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid > li > a,
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid > li > a.has-thumb {
		display: grid !important;
		grid-template-rows: 96px calc(3 * 1.3em);
		align-items: center;
		align-content: start;
	}
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid > li > a {
		overflow: hidden;
	}
	/* Фото на белом: у картинок товаров свой белый фон — серая подложка давала «квадрат в квадрате». */
	body .wd-dropdown-cats.ys-mega .ys-sub-thumb { background: #fff !important; mix-blend-mode: normal; }
	body .wd-dropdown-cats.ys-mega span.ys-sub-thumb { background: var(--ys-bg) !important; }
}
@media (min-width: 1025px) {
	body .wd-dropdown-cats.ys-mega .ys-sub-name { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
}
/* 0.26.2 — без ссылок третьего уровня: ряды карточек плотнее */
@media (min-width: 1025px) {
	body .wd-dropdown-cats.ys-mega ul.ys-sub-grid { gap: 14px; }
	.ys-sub-kids { display: none !important; }
}

/* =====================================================================
 * 0.27.0 — телефон: шапка в две строки, мобильное меню (☰), нижняя панель
 * ===================================================================== */

/* Короткий адрес в плашке магазина — только в узкой плашке телефона. */
.ys-store-chip__short { display: none; }

@media (max-width: 1024px) {
	/* ---------- Шапка: строка 1 — ☰, логотип, плашка магазина (коротко) ---------- */
	body .whb-header-main .ys-store-chip,
	body .whb-header-top .ys-store-chip {
		height: 34px;
		max-width: min(190px, 46vw);
		padding: 0 10px 0 4px !important;
		gap: 5px;
		border: 1px solid var(--ys-border) !important;
		background: var(--ys-surface) !important;
	}
	body .whb-header-main .ys-store-chip__icon,
	body .whb-header-top .ys-store-chip__icon { width: 26px; height: 26px; background: var(--ys-brand-soft); }
	body .whb-header-main .ys-store-chip__hint,
	body .whb-header-main .ys-store-chip__name,
	body .whb-header-top .ys-store-chip__hint,
	body .whb-header-top .ys-store-chip__name { display: none !important; }
	body .whb-header-main .ys-store-chip__short,
	body .whb-header-top .ys-store-chip__short { display: block; overflow: hidden; font-size: 12.5px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
	body .whb-header-main .ys-store-chip__text,
	body .whb-header-top .ys-store-chip__text { min-width: 0; }
	body .whb-header-main .whb-column:has(.ys-store-chip) { min-width: 0; flex: 0 1 auto; }

	/* ---------- Шапка: строка 2 — поиск на всю ширину ---------- */
	.whb-header-bottom .whb-header-bottom-inner,
	.whb-header-bottom .whb-flex-row { height: 58px !important; max-height: 58px !important; }
	.whb-header-bottom .whb-column:has(.wd-search-form) { flex: 1 1 auto !important; min-width: 0; max-width: none !important; }
	.whb-header-bottom .wd-search-form,
	.whb-header-bottom .wd-header-search-form-mobile { width: 100% !important; max-width: none !important; }
	.whb-header-bottom .searchform { width: 100%; }
	body .whb-header-bottom .searchform input[type="text"],
	body .whb-header-bottom .searchform input[type="search"] {
		height: 42px !important;
		padding-left: 14px !important;
		border: 0 !important;
		border-radius: 10px !important;
		background: var(--ys-bg) !important;
		color: var(--ys-text) !important;
		font-size: 15px !important;
		box-shadow: none !important;
	}
	body .whb-header-bottom .searchform .searchsubmit { height: 42px !important; color: var(--ys-text-2) !important; }

	/* Главная, первый экран: магазин и поиск уже есть в шапке — без дублей. */
	body .ys-home-hero__store,
	body .ys-home-hero__search { display: none !important; }

	/* ---------- Нижняя панель (своя; панель Woodmart выключить в настройках темы) ---------- */
	.wd-toolbar { display: none !important; }
	body.ys-tbar-on { padding-bottom: calc(62px + env(safe-area-inset-bottom)); }
	.ys-tbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 400;
		display: grid; grid-template-columns: repeat(5, minmax(0, 1fr));
		height: calc(62px + env(safe-area-inset-bottom));
		padding-bottom: env(safe-area-inset-bottom);
		background: var(--ys-surface);
		border-top: 1px solid var(--ys-border);
		box-shadow: 0 -4px 16px rgba(36, 31, 29, .05);
	}
	body .ys-tbar__item {
		position: relative;
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
		min-width: 0;
		color: var(--ys-text-2) !important;
		font-size: 10.5px; font-weight: 500; line-height: 1.1;
		text-decoration: none !important;
		-webkit-tap-highlight-color: transparent;
	}
	body .ys-tbar__item.is-active { color: var(--ys-brand) !important; }
	.ys-tbar__ico { position: relative; display: block; width: 24px; height: 24px; }
	.ys-tbar__ico svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
	.ys-tbar__label { max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
	.ys-tbar__cnt {
		position: absolute; top: -6px; left: 14px;
		min-width: 18px; height: 18px; padding: 0 4px; box-sizing: border-box;
		border: 2px solid var(--ys-surface); border-radius: 9px;
		background: var(--ys-brand); color: #fff;
		font-size: 10px; font-weight: 700; line-height: 14px; text-align: center;
	}
	/* Сумма корзины — на месте подписи. */
	.ys-tbar__sum { position: absolute; top: calc(100% + 4px); left: 50%; transform: translateX(-50%); color: var(--ys-text); font-size: 10.5px; font-weight: 700; white-space: nowrap; }
	.ys-tbar__cnt[hidden], .ys-tbar__sum[hidden] { display: none; }
	body .ys-tbar__item.is-cart:has(.ys-tbar__sum:not([hidden])) .ys-tbar__label { visibility: hidden; }
	body.ys-sales-off .ys-tbar__item.is-cart { display: none; }
	body.ys-sales-off .ys-tbar { grid-template-columns: repeat(4, minmax(0, 1fr)); }

	/* Плашка cookie и кнопка «Наверх» — над панелью. */
	body.ys-tbar-on .ys-cookie { bottom: calc(74px + env(safe-area-inset-bottom)); }
	body.ys-tbar-on .scrollToTop { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }

	/* ---------- Мобильное меню (☰) ---------- */
	body .mobile-nav .wd-heading {
		display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
		min-height: 58px !important; padding: 8px 16px !important;
		border-bottom: 1px solid var(--ys-border);
	}
	body .mobile-nav .ys-mnav-logo { display: inline-flex; align-items: center; min-width: 0; }
	body .mobile-nav .ys-mnav-logo img { display: block; width: auto !important; max-width: 130px !important; height: auto !important; max-height: 38px !important; }
	body .mobile-nav .wd-heading .close-side-widget { margin-left: auto; }
	body .mobile-nav .wd-heading .close-side-widget > a,
	body .mobile-nav .wd-heading .wd-action-btn > a { gap: 4px !important; font-size: 13px !important; font-weight: 500 !important; color: var(--ys-text-2) !important; text-transform: none !important; letter-spacing: 0 !important; }
	body .mobile-nav .wd-heading .wd-action-btn > a::before,
	body .mobile-nav .wd-heading .close-side-widget .wd-action-icon::before { font-size: 10px !important; }

	/* «Ваш магазин» */
	.ys-mstore { display: flex; align-items: center; gap: 10px; margin: 12px 14px; padding: 10px 12px; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface); }
	.ys-mstore__ico { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; background: var(--ys-brand-soft); }
	.ys-mstore__ico svg { width: 17px; height: 17px; fill: none; stroke: var(--ys-brand); stroke-width: 1.8; }
	.ys-mstore__txt { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
	.ys-mstore__txt small { color: var(--ys-muted); font-size: 11px; }
	.ys-mstore__txt b { color: var(--ys-text); font-size: 13.5px; font-weight: 600; }
	body .ys-mstore__btn { all: unset; margin-left: auto; padding: 6px 2px 6px 8px; color: var(--ys-brand); font-size: 13px; font-weight: 600; cursor: pointer; white-space: nowrap; }

	/* Вкладки */
	body .mobile-nav .wd-nav-mob-tab > li > a { padding-top: 12px !important; padding-bottom: 12px !important; font-size: 14px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ys-muted) !important; }
	body .mobile-nav .wd-nav-mob-tab > li.wd-active > a { color: var(--ys-text) !important; font-weight: 600 !important; }
	body .mobile-nav .wd-nav-mob-tab > li.wd-active > a::after,
	body .mobile-nav .wd-nav-mob-tab .nav-link-text::after { background-color: var(--ys-brand) !important; }

	/* Пункты */
	body .mobile-nav .wd-nav-mobile li,
	body .mobile-nav .wd-nav-mobile > li > a,
	body .mobile-nav .wd-nav-mobile .wd-sub-menu,
	body .mobile-nav .wd-nav-mobile .wd-sub-menu li > a { border: 0 !important; box-shadow: none !important; }
	body .mobile-nav .wd-nav-mobile > li { position: relative; }
	body .mobile-nav .wd-nav-mobile > li + li::before { content: ""; position: absolute; top: 0; left: 16px; right: 0; height: 1px; background: #F0ECE8; pointer-events: none; }
	body .mobile-nav .wd-nav-mobile > li:has(> .wd-nav-opener.wd-active) + li::before { display: none; }
	body .mobile-nav .wd-nav-mobile > li > a {
		min-height: 48px !important; padding: 10px 52px 10px 16px !important;
		gap: 12px; color: var(--ys-text) !important;
		font-size: 15px !important; font-weight: 500 !important; line-height: 1.3 !important;
		text-transform: none !important; letter-spacing: 0 !important;
	}
	body .mobile-nav .wd-nav-mobile > li > a .wd-nav-img,
	body .mobile-nav .wd-nav-mobile > li > a img { width: 20px !important; height: 20px !important; max-width: 20px !important; margin-right: 0 !important; opacity: .85; }
	body .mobile-nav .wd-nav-mobile .wd-nav-opener { width: 48px !important; height: 48px !important; border: 0 !important; background: transparent !important; color: var(--ys-muted) !important; }
	body .mobile-nav .wd-nav-mobile .wd-nav-opener::after { color: inherit !important; font-size: 12px !important; }
	body .mobile-nav .wd-nav-mobile .wd-nav-opener.wd-active { color: var(--ys-brand) !important; }
	body .mobile-nav .wd-nav-mobile .wd-sub-menu { padding: 4px 0 8px !important; background: #FAF8F6 !important; }
	body .mobile-nav .wd-nav-mobile .wd-sub-menu li::before,
	body .mobile-nav .wd-nav-mobile .wd-sub-menu li::after { display: none !important; }
	body .mobile-nav .wd-nav-mobile .wd-sub-menu li > a { min-height: 40px !important; padding: 8px 16px 8px 48px !important; color: var(--ys-text-2) !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.35 !important; text-transform: none !important; }
	body .mobile-nav .wd-nav-mobile .wd-sub-menu li > a:hover,
	body .mobile-nav .wd-nav-mobile .wd-sub-menu li.current-menu-item > a { color: var(--ys-brand) !important; }
	body .mobile-nav .mobile-pages-menu .wd-sub-menu li > a,
	body .mobile-nav .site-mobile-menu .wd-sub-menu li > a { padding-left: 28px !important; }

	/* Скидки, избранное, кабинет — под разделами каталога */
	body .mobile-nav .ys-mextra.is-first { margin-top: 6px; border-top: 6px solid #F3F0ED !important; }
	body .mobile-nav .ys-mextra.is-first::before { display: none; }
	body .mobile-nav .ys-mextra > a { display: flex !important; align-items: center; }
	.ys-mextra__ico { flex: 0 0 20px; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; opacity: .85; }
	body .mobile-nav .ys-mextra.is-sale > a { color: var(--ys-brand) !important; }

	/* Карточка магазина и контакты */
	.ys-mc { margin: 16px 12px 20px; padding: 14px; border-radius: 16px; background: var(--ys-bg); color: var(--ys-text); font-size: 13px; line-height: 1.45; }
	body .ys-mc__call { display: flex; align-items: center; gap: 10px; padding: 10px; border-radius: 12px; background: var(--ys-surface); box-shadow: 0 2px 10px rgba(36, 31, 29, .06); color: var(--ys-text) !important; text-decoration: none !important; }
	.ys-mc__call[hidden] { display: none; }
	.ys-mc__ring { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 50%; background: var(--ys-brand); }
	.ys-mc__ring svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
	.ys-mc__num { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
	.ys-mc__num b { font-size: 15px; font-weight: 600; white-space: nowrap; font-variant-numeric: tabular-nums; }
	.ys-mc__status { display: inline-flex; align-items: center; gap: 6px; color: var(--ys-text-2); font-size: 12px; font-weight: 500; white-space: nowrap; }
	.ys-mc__status::before { content: ""; flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--ys-muted); }
	.ys-mc__status.is-open { color: var(--ys-ok); }
	.ys-mc__status.is-open::before { background: var(--ys-ok); box-shadow: 0 0 0 3px rgba(47, 125, 79, .18); }
	.ys-mc__status[hidden] { display: none; }
	.ys-mc__rows { display: flex; flex-direction: column; gap: 10px; margin: 14px 0 0 !important; padding: 0 !important; list-style: none !important; }
	.ys-mc__rows li { display: flex; gap: 10px; margin: 0 !important; }
	.ys-mc__rows li > div { display: flex; flex-direction: column; min-width: 0; }
	.ys-mc__ico { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 1px; fill: none; stroke: var(--ys-brand); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
	.ys-mc .is-muted { color: var(--ys-muted); font-size: 12px; }
	body .ys-mc__rows a { color: var(--ys-text) !important; text-decoration: none !important; overflow-wrap: anywhere; }
	body .ys-mc__rows a.is-link { margin-top: 2px; color: var(--ys-brand) !important; font-size: 12.5px; font-weight: 600; }
	.ys-mc__rows a[hidden], .ys-mc__rows span[hidden] { display: none; }
	.ys-mc__socials { display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr)); gap: 6px; margin-top: 14px; }
	body .ys-mc__soc { display: inline-flex; align-items: center; justify-content: center; gap: 6px; padding: 7px 6px; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface); color: var(--ys-text) !important; font-size: 12.5px; font-weight: 600; text-decoration: none !important; }
	.ys-mc__soc svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; }
	.ys-mc__soc.is-vk svg { color: #0077FF; }
	.ys-mc__soc.is-tg svg { color: #2AABEE; }
	.ys-mc__soc.is-ok svg { color: #EE8208; }
	.ys-mc__soc.is-max svg { color: #6D4BFF; }
}
@media (max-width: 400px) {
	body .mobile-nav .wd-nav-mobile > li { flex-wrap: wrap; }
	body .mobile-nav .wd-nav-mobile > li > a { flex: 1 1 0 !important; min-width: 0 !important; }
	body .mobile-nav .wd-nav-mobile > li > .wd-nav-opener { flex: 0 0 44px !important; }
	.ys-mc { margin-left: 10px; margin-right: 10px; padding: 12px; }
}
@media (min-width: 1025px) {
	.ys-tbar { display: none; }
	body.ys-tbar-on { padding-bottom: 0; }
}

/* ===== 0.27.1 — правки мобильной шапки и меню по живому сайту ===== */
@media (max-width: 1024px) {
	/* Плашка магазина в первой строке (у Woodmart строка — .whb-general-header): короткий адрес. */
	body .whb-general-header .ys-store-chip {
		height: 34px;
		max-width: min(200px, 48vw);
		padding: 0 12px 0 4px !important;
		gap: 5px;
		border: 1px solid var(--ys-border) !important;
		background: var(--ys-surface) !important;
	}
	body .whb-general-header .ys-store-chip__icon { width: 26px; height: 26px; background: var(--ys-brand-soft); }
	body .whb-general-header .ys-store-chip__hint,
	body .whb-general-header .ys-store-chip__name { display: none !important; }
	body .whb-general-header .ys-store-chip__short { display: block; overflow: hidden; font-size: 12.5px; font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
	body .whb-general-header .ys-store-chip__text { min-width: 0; }
	body .whb-general-header .whb-column:has(.ys-store-chip) { min-width: 0; flex: 0 1 auto; }

	/* Верхняя строка меню, если у темы её нет. */
	body .mobile-nav .ys-mnav-head { display: flex !important; }
	body .ys-mnav-close { all: unset; display: inline-flex; align-items: center; gap: 5px; margin-left: auto; padding: 8px 0 8px 8px; color: var(--ys-text-2); font-size: 13px; font-weight: 500; cursor: pointer; }
	.ys-mnav-close svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }

	/* «Ваш магазин»: город мелко, адрес коротко — в две строки максимум. */
	.ys-mstore__txt b { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
	body .ys-mstore__btn,
	body .ys-mstore__btn:hover,
	body .ys-mstore__btn:focus,
	body .ys-mstore__btn:active { background: none !important; box-shadow: none !important; color: var(--ys-brand) !important; }

	/* Вкладки — без серой заливки у неактивной. */
	body .mobile-nav .wd-nav-mob-tab,
	body .mobile-nav .wd-nav-mob-tab > li,
	body .mobile-nav .wd-nav-mob-tab > li > a { background: var(--ys-surface) !important; }
	body .mobile-nav .wd-nav-mob-tab { border-bottom: 1px solid var(--ys-border); }

	/* Статус магазина — переносится, не вылезает за карточку. */
	.ys-mc__status { align-items: flex-start; white-space: normal; line-height: 1.3; }
	.ys-mc__status::before { margin-top: 4px; }

	/* Нижняя панель уходит под затемнение, пока открыто меню или окно. */
	.ys-tbar { z-index: 300; }
}

/* ===== 0.27.2 ===== */
@media (max-width: 1024px) {
	/* «Закрыть» в меню — без серой подложки темы при нажатии. */
	body .ys-mnav-close,
	body .ys-mnav-close:hover,
	body .ys-mnav-close:focus,
	body .ys-mnav-close:active { background: none !important; box-shadow: none !important; border: 0 !important; color: var(--ys-text-2) !important; }
	body .ys-mnav-close:hover { color: var(--ys-text) !important; }
	/* MAX — цветной значок. */
	.ys-mc__soc svg.is-badge { width: 20px; height: 20px; stroke: none; }
}
/* 0.27.3 — перед «Товары со скидкой»: вместо серой полосы — воздух и обычная тонкая линия на всю ширину */
@media (max-width: 1024px) {
	body .mobile-nav .ys-mextra.is-first { margin-top: 12px; border-top: 1px solid var(--ys-border) !important; padding-top: 6px; }
}
/* 0.27.5 — каталог и раздел на телефоне: от шапки до крошек столько же воздуха, сколько на главной (~20 px).
   Общее правило «.ys-page-head { margin-top: -18px }» для страниц съедало отступ каталога. */
@media (max-width: 1024px) {
	body.ys-catalog .main-page-wrapper,
	body.ys-pdp .main-page-wrapper { padding-top: 20px !important; }
	body.ys-catalog .ys-page-head { margin-top: 0 !important; }
}
/* 0.28.0 — акции на раздел: кнопки в раздел */
.ys-promo__cats { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
body .ys-promo__cat { white-space: normal; text-align: left; }
/* 0.28.1 — страница акций в контейнере Elementor: без его полей и узкой «коробки», как остальные страницы */
body .elementor .e-con:has(.ys-promos),
body .elementor .e-flexbox-base:has(.ys-promos),
body .elementor .e-con:has(.ys-promos) > .e-con-inner {
	padding: 0 !important; margin: 0 !important;
	width: 100% !important; max-width: none !important;
	--padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px; --content-width: 100%;
}
body .elementor-widget-shortcode:has(.ys-promos) { margin: 0 !important; padding: 0 !important; }

/* ===== 0.28.2 — акции: страница без своих полей, метки, пустая страница ===== */
/* Страница — по сетке темы, как «Магазины» (свои поля 15/24 px давали сдвиг). */
.ys-promos { max-width: none; margin: 0; padding: 0 0 48px; }

/* Метка в плитке каталога: скруглённая, с отступом от края фото. */
body .product-labels:has(.ys-promo-label) { top: 10px !important; left: 10px !important; right: auto !important; gap: 4px; }
body .product-labels .ys-promo-label {
	display: inline-flex !important; align-items: center;
	min-height: 0 !important; margin: 0 !important; padding: 5px 10px !important;
	border-radius: 999px !important;
	font-size: 12px !important; font-weight: 700 !important; line-height: 1.2 !important;
	text-transform: none !important; letter-spacing: 0 !important; white-space: nowrap;
	box-shadow: 0 2px 6px rgba(36, 31, 29, .12);
}

/* Карточка товара: метка отдельной строкой над ценой. */
body .ys-promo-badge.ys-promo-badge--pdp { display: flex; width: fit-content; max-width: 100%; margin: 6px 0 14px; flex-wrap: wrap; }

/* Пустая страница акций — первый экран как на «О компании». */
.ys-promos.is-empty { padding-bottom: 32px; }
.ys-promos__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
body .ys-promos__ghost { background: var(--ys-surface) !important; color: var(--ys-text) !important; border: 1px solid var(--ys-border) !important; }
body .ys-promos__ghost:hover { border-color: var(--ys-brand) !important; color: var(--ys-brand) !important; }
.ys-promos__hero .ys-about-stats li.is-wide { grid-column: 1 / -1; }
.ys-promos__hero .ys-about-stats li.is-wide span { font-size: 15px; color: var(--ys-text); }

/* ===== 0.29.0 — акции: «Напомнить», «Поделиться», блок подписки ===== */
.ys-pact { position: relative; display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.ys-pact__wrap { position: relative; }
body .ys-pact__btn {
	all: unset; box-sizing: border-box; display: inline-flex; align-items: center; gap: 8px;
	height: 40px; padding: 0 16px; border: 1px solid var(--ys-border); border-radius: 10px;
	background: var(--ys-surface); color: var(--ys-text) !important; font-size: 14px; font-weight: 600; line-height: 1;
	cursor: pointer; text-decoration: none !important; transition: border-color .15s, color .15s, background .15s;
}
body .ys-pact__btn:hover { border-color: var(--ys-brand); color: var(--ys-brand) !important; }
body .ys-pact__btn.is-main { background: var(--ys-text); border-color: var(--ys-text); color: #fff !important; }
body .ys-pact__btn.is-main:hover { background: var(--ys-brand); border-color: var(--ys-brand); color: #fff !important; }
body .ys-pact__btn:focus-visible { box-shadow: 0 0 0 2px var(--ys-brand); }
.ys-pact__ico { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ys-pact__net { flex: none; width: 20px; height: 20px; border-radius: 50%; }
.ys-pact__menu { position: absolute; left: 0; top: calc(100% + 6px); z-index: 30; min-width: 230px; padding: 6px; border: 1px solid var(--ys-border); border-radius: 12px; background: var(--ys-surface); box-shadow: 0 12px 28px rgba(36, 31, 29, .14); }
.ys-pact__menu[hidden] { display: none; }
body .ys-pact__menu a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; color: var(--ys-text) !important; font-size: 14px; text-decoration: none !important; }
body .ys-pact__menu a:hover { background: var(--ys-bg); }
.ys-pact__toast { position: absolute; left: 0; top: calc(100% + 6px); z-index: 31; padding: 8px 12px; border-radius: 8px; background: var(--ys-text); color: #fff; font-size: 13px; white-space: nowrap; }
.ys-pact__toast[hidden] { display: none; }

.ys-promos-sub { display: flex; align-items: center; gap: 24px; margin: 8px 0 0; padding: 28px 32px; border-radius: var(--ys-radius-lg); background: var(--ys-warm); }
.ys-promos-sub__title { margin: 0 0 6px !important; font-family: Manrope, Inter, sans-serif; font-size: 24px !important; font-weight: 800 !important; line-height: 1.2 !important; color: var(--ys-text) !important; }
.ys-promos-sub__text { margin: 0 !important; color: var(--ys-warm-text); font-size: 15px; }
.ys-promos-sub__btns { display: flex; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.ys-promos.is-empty .ys-promos-sub { margin-top: 24px; }
@media (max-width: 767px) {
	.ys-promos-sub { flex-direction: column; align-items: flex-start; gap: 16px; padding: 22px 20px; }
	.ys-promos-sub__btns { margin-left: 0; }
	.ys-promos-sub__title { font-size: 20px !important; }
}
/* 0.29.1 — значки соцсетей в кружках */
.ys-pact__net { display: inline-flex; align-items: center; justify-content: center; color: #fff; }
.ys-pact__net svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ys-pact__net.is-vk svg { width: 15px; height: 15px; }
.ys-pact__net.is-max svg { stroke-width: 2.6; }

/* ===== 0.30.0 — новости ===== */
.ys-news { margin: 8px 0 40px; }
.ys-news__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
body a.ys-news-card { display: flex; flex-direction: column; overflow: hidden; border: 1px solid var(--ys-border); border-radius: 14px; background: var(--ys-surface); color: var(--ys-text) !important; text-decoration: none !important; transition: border-color .15s, box-shadow .15s; }
body a.ys-news-card:hover { border-color: color-mix(in srgb, var(--ys-brand) 35%, var(--ys-border)); box-shadow: 0 8px 22px rgba(36, 31, 29, .08); }
.ys-news-card__media { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--ys-warm); }
.ys-news-card__img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform .3s; }
a.ys-news-card:hover .ys-news-card__img { transform: scale(1.03); }
.ys-news-card__ph { display: block; width: 100%; height: 100%; background: linear-gradient(135deg, var(--ys-warm), #EAD7B8); }
.ys-news-card__body { display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 18px; }
.ys-news-card__meta { display: flex; align-items: center; gap: 8px; color: var(--ys-muted); font-size: 12.5px; }
.ys-news-card__tag { padding: 3px 9px; border-radius: 999px; background: var(--ys-warm); color: var(--ys-warm-text); font-size: 11.5px; font-weight: 600; }
.ys-news-card__title { font-family: Manrope, Inter, sans-serif; font-size: 17px; font-weight: 700; line-height: 1.3; }
a.ys-news-card:hover .ys-news-card__title { color: var(--ys-brand); }
.ys-news-card__text { color: var(--ys-text-2); font-size: 14px; line-height: 1.5; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
@media (max-width: 1024px) { .ys-news__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	.ys-news__grid:not(.is-all) { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 4px; }
	.ys-news__grid:not(.is-all) .ys-news-card { flex: 0 0 80%; scroll-snap-align: start; }
	.ys-news__grid.is-all { grid-template-columns: 1fr; }
}

/* Страница новости: текст в удобную ширину, плашка магазина, «ещё новости» */
body.ys-news-single .entry-content,
body.ys-news-single .wd-single-post-content { max-width: 760px; }
body.ys-news-single .entry-content p { font-size: 16px; line-height: 1.7; }
.ys-news-cta { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 28px 0 0; padding: 16px 18px; border-radius: 14px; background: var(--ys-bg); }
.ys-news-cta__hint { display: block; color: var(--ys-muted); font-size: 12.5px; }
.ys-news-cta b { font-size: 15px; color: var(--ys-text); }
.ys-news-more { margin-top: 28px; }
.ys-news-more h2 { margin: 0 0 10px !important; font-size: 18px !important; font-weight: 700 !important; }
.ys-news-more ul { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.ys-news-more li { display: flex; justify-content: space-between; gap: 16px; padding: 10px 0; border-top: 1px solid var(--ys-border); margin: 0 !important; }
.ys-news-more li::before { display: none !important; }
body .ys-news-more a { color: var(--ys-text) !important; font-weight: 600; text-decoration: none !important; }
body .ys-news-more a:hover { color: var(--ys-brand) !important; }
.ys-news-more time { flex: none; color: var(--ys-muted); font-size: 13px; }
@media (max-width: 600px) { .ys-news-cta { flex-direction: column; align-items: flex-start; } }

/* ===== 0.31.0 — «Новости и акции»: вкладки; страница новости в стиле сайта ===== */
.ys-promos__tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.ys-promos__pane[hidden] { display: none !important; }
.ys-news.is-tab { margin-top: 0; }
.ys-promos__hero.is-compact { padding: 36px 40px; }
.ys-promos__hero.is-compact .ys-about-hero__title { font-size: 32px !important; }
.ys-promos > .ys-promos__pane + .ys-promos-sub { margin-top: 8px; }

.ys-post-page { padding: 8px 0 56px; }
.ys-post { max-width: 820px; margin: 0 auto; }
.ys-post__head { margin: 0 0 20px; }
.ys-post__head .ys-page-head__crumbs { margin-bottom: 14px; }
.ys-post__meta { display: flex; align-items: center; gap: 10px; color: var(--ys-muted); font-size: 14px; }
.ys-post__title { margin: 12px 0 0 !important; font-family: Manrope, Inter, sans-serif; font-size: clamp(26px, 4vw, 38px) !important; font-weight: 800 !important; line-height: 1.15 !important; letter-spacing: -.01em; color: var(--ys-text) !important; text-transform: none !important; text-align: left !important; }
.ys-post__media { margin: 0 0 28px; overflow: hidden; border-radius: var(--ys-radius-lg); background: var(--ys-bg); }
.ys-post__img { display: block; width: 100% !important; height: auto !important; max-height: 520px; object-fit: cover; }
.ys-post__body { font-size: 17px; line-height: 1.7; color: var(--ys-text); }
.ys-post__body p { margin: 0 0 16px !important; font-size: 17px; line-height: 1.7; }
.ys-post__body h2, .ys-post__body h3 { margin: 28px 0 12px !important; font-family: Manrope, Inter, sans-serif; font-weight: 800 !important; line-height: 1.25 !important; }
.ys-post__body strong, .ys-post__body b { color: var(--ys-text); }
.ys-post__body a { color: var(--ys-brand) !important; }
.ys-post__body img { max-width: 100%; height: auto; border-radius: var(--ys-radius); }
.ys-post__share { margin: 24px 0 0; }
.ys-post__share .ys-pact { margin-top: 0; }
.ys-post .ys-news-cta { margin-top: 20px; }
.ys-post__more { max-width: none; margin: 48px 0 0; }
@media (max-width: 767px) {
	.ys-post-page { padding-top: 0; }
	.ys-post__body, .ys-post__body p { font-size: 16px; }
	.ys-post__media { margin-bottom: 20px; }
	.ys-promos__hero.is-compact { padding: 24px 20px; }
}
/* 0.31.1 — кнопки «Поделиться»/«Напомнить» без серой заливки темы; крошки новости — как на других страницах */
body .ys-pact__btn:not(.is-main):hover,
body .ys-pact__btn:not(.is-main):focus,
body .ys-pact__btn:not(.is-main):active { background: var(--ys-surface) !important; border-color: var(--ys-brand) !important; color: var(--ys-brand) !important; box-shadow: none !important; }
body .ys-pact__btn.is-main:focus,
body .ys-pact__btn.is-main:active { background: var(--ys-text) !important; color: #fff !important; }
body .ys-pact__btn.is-main:hover { background: var(--ys-brand) !important; border-color: var(--ys-brand) !important; }
.ys-post-page { padding-top: 0 !important; }
.ys-post__head .ys-page-head__crumbs { margin-top: 0 !important; }
/* 0.32.0 — вкладка «Все»: акции и новости одной лентой с подзаголовками; в «Все» — 3 последние новости */
.ys-promos__pane-head { margin-top: 8px; }
.ys-promos[data-tab="promos"] .ys-promos__pane-head,
.ys-promos[data-tab="news"] .ys-promos__pane-head { display: none; }
.ys-promos[data-tab="all"] [data-ys-pane="news"] { margin-top: 16px; }
.ys-promos[data-tab="all"] [data-ys-pane="news"] .ys-news-card:nth-child(n+4) { display: none; }
body .ys-promos__more { all: unset; cursor: pointer; color: var(--ys-brand) !important; font-size: 15px; font-weight: 600; }
body .ys-promos__more:hover { text-decoration: underline; }
/* 0.32.2 — карточка акции: цветная подложка вместо светлой пунктирной рамки */
.ys-promo .ys-promo__top { gap: 32px; padding: 20px; border: 0 !important; border-radius: var(--ys-radius-lg); background: var(--ys-brand-soft); }
.ys-promo--soon .ys-promo__top { background: #FAF3E8; }
.ys-promo__info { padding: 8px 12px 8px 0; }
.ys-promo--soon .ys-promo-badge.is-soon { background: var(--ys-surface); }
.ys-promo__name { font-family: Manrope, Inter, sans-serif; font-size: 26px !important; font-weight: 800 !important; }
@media (max-width: 767px) {
	.ys-promo .ys-promo__top { gap: 14px; padding: 12px; }
	.ys-promo__info { padding: 4px 6px 8px; }
	.ys-promo__name { font-size: 20px !important; }
}
/* 0.32.3 — «Все новости» во вкладке «Все» — как ссылки главной (стрелка отъезжает) */
body .ys-promos__more { display: inline-flex; align-items: center; gap: 6px; }
body .ys-promos__more .ys-ico { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
body .ys-promos__more:hover { text-decoration: none; color: var(--ys-brand-hover) !important; }
body .ys-promos__more:hover .ys-ico { transform: translateX(3px); }

/* ===== 0.33.0 — правки по мобильной проверке ===== */

/* Главная: одна акция — крупно (баннер + описание), на телефоне баннер во всю ширину */
.ys-home-promo-one { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: center; padding: 20px; border-radius: var(--ys-radius-lg); background: var(--ys-brand-soft); }
.ys-home-promo-one.ys-promo--soon { background: #FAF3E8; }
.ys-home-promo-one__img { display: block; overflow: hidden; border-radius: var(--ys-radius); }
.ys-home-promo-one__img img { display: block; width: 100%; height: auto; transition: transform .3s; }
.ys-home-promo-one__img:hover img { transform: scale(1.02); }
.ys-home-promo-one__info { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.ys-home-promo-one .ys-promo__name { margin: 4px 0 0 !important; }
.ys-home-promo-one .ys-promo-badge.is-soon { background: var(--ys-surface); }
.ys-home-promo-one .ys-btn { margin-top: 6px; }
@media (max-width: 860px) {
	.ys-home-promo-one { grid-template-columns: 1fr; gap: 14px; padding: 12px; }
	.ys-home-promo-one__info { padding: 0 4px 6px; gap: 8px; }
	.ys-home-promo-one .ys-btn { width: 100%; justify-content: center; }
}

/* Каталог на телефоне: «Фильтры» раскрываются панелью во всю ширину в красной рамке */
@media (max-width: 767px) {
	.ys-filter__box[open] { padding: 12px; border: 1px solid var(--ys-brand); border-radius: 12px; background: var(--ys-surface); box-shadow: 0 6px 18px rgba(196, 50, 51, .08); }
	.ys-filter__box[open] > .ys-filter__toggle { display: flex; width: 100%; box-sizing: border-box; padding: 0 0 10px; border: 0; border-bottom: 1px solid var(--ys-border); border-radius: 0; background: none; color: var(--ys-brand); }
	.ys-filter__box[open] > .ys-filter__toggle::after { content: ""; margin-left: auto; width: 14px; height: 14px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E") center / contain no-repeat; }
	.ys-filter__box[open] .ys-filter__fields { margin-top: 12px; }
	.ys-filter__box:not([open]) > .ys-filter__toggle { min-height: 40px; box-sizing: border-box; }
}

/* Карточка товара: заголовок спокойнее, цена — заметная, фирменным цветом */
.ys-pdp .summary-inner > .product_title { font-weight: 600 !important; font-size: 24px !important; }
.ys-pdp .summary-inner > .price { margin-top: 2px !important; font-size: 34px !important; color: var(--ys-brand) !important; }
.ys-pdp .summary-inner > .price del, .ys-pdp .summary-inner > .price del .amount { color: var(--ys-muted) !important; }
@media (max-width: 767px) {
	.ys-pdp .summary-inner > .product_title { font-size: 19px !important; line-height: 1.3 !important; margin-bottom: 10px !important; }
	.ys-pdp .summary-inner > .price { font-size: 30px !important; }
}
.single-product-page.outofstock .summary-inner > .price { color: var(--ys-muted) !important; }

/* Характеристики: значение всегда по правому краю, и когда в две строки */
.ys-pdp .shop_attributes td, .ys-pdp .shop_attributes td p { text-align: right !important; }

/* Липкая кнопка «В корзину» на телефоне — ровно над нашей нижней панелью */
@media (max-width: 1024px) {
	body.ys-tbar-on .wd-sticky-btn { bottom: calc(62px + env(safe-area-inset-bottom)) !important; z-index: 299 !important; border-top: 1px solid var(--ys-border); box-shadow: 0 -4px 14px rgba(36, 31, 29, .06); }
	body.ys-tbar-on:has(.wd-sticky-btn-shown) .scrollToTop { bottom: calc(140px + env(safe-area-inset-bottom)) !important; }
	body.ys-tbar-on:has(.wd-sticky-btn-shown) .ys-cookie { bottom: calc(140px + env(safe-area-inset-bottom)); }
}

/* ===== 0.33.1 ===== */
/* «Скоро» в метке — прямым начертанием (тема делала курсив, и последняя буква обрезалась). */
body .ys-promo-badge i { font-style: normal !important; font-weight: 500; padding-right: 1px; }

/* Открытые фильтры на телефоне: «Показать» во всю ширину. */
@media (max-width: 767px) {
	.ys-filter__box[open] .ys-filter__apply { flex: 1 1 100% !important; width: 100%; justify-content: center; }
}

/* Липкая кнопка «В корзину» на телефоне: белая панель, аккуратный счётчик, скруглённая кнопка. */
@media (max-width: 1024px) {
	body.ys-tbar-on .wd-sticky-btn { background: var(--ys-surface) !important; padding: 8px 12px !important; }
	.wd-sticky-btn .wd-sticky-btn-container, .wd-sticky-btn .wd-sticky-btn-content { padding: 0 !important; }
	.wd-sticky-btn .wd-sticky-btn-cart, .wd-sticky-btn form.cart { display: flex !important; align-items: center; gap: 8px; width: 100%; margin: 0 !important; padding: 0 !important; }
	.wd-sticky-btn form.cart .quantity {
		display: inline-flex !important; align-items: center; flex: none; height: 46px; margin: 0 !important;
		overflow: hidden; border: 1px solid var(--ys-border) !important; border-radius: 10px !important; background: var(--ys-surface) !important;
	}
	.wd-sticky-btn form.cart .quantity .minus,
	.wd-sticky-btn form.cart .quantity .plus {
		width: 38px !important; height: 44px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
		background: var(--ys-surface) !important; color: var(--ys-text) !important; font-size: 20px !important; font-weight: 500 !important; box-shadow: none !important;
	}
	.wd-sticky-btn form.cart .quantity input.qty {
		width: 36px !important; height: 44px !important; min-height: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
		background: var(--ys-surface) !important; color: var(--ys-text) !important; font-size: 16px !important; font-weight: 700 !important; text-align: center; box-shadow: none !important;
	}
	.wd-sticky-btn form.cart .single_add_to_cart_button {
		flex: 1 1 auto; height: 46px !important; min-height: 0 !important; margin: 0 !important; border-radius: 10px !important; font-size: 16px !important;
	}
	/* Уже в корзине — счётчик «− N шт +» тоже со скруглением. */
	.wd-sticky-btn .ys-qty-wrap .ys-qty { height: 46px !important; border-radius: 10px !important; overflow: hidden; }
}
/* 0.33.2 — цена на карточке тёмная (красный — только для цены со скидкой, как в каталоге); заметность — размером */
.ys-pdp .summary-inner > .price { color: var(--ys-text) !important; }
.ys-pdp .summary-inner > .price ins, .ys-pdp .summary-inner > .price ins .amount { color: var(--ys-brand) !important; }

/* ===== 0.33.3 ===== */
/* Липкая «В корзину» на телефоне: сплошная красная полоса без скруглений, счётчик белым по красному */
@media (max-width: 1024px) {
	body.ys-tbar-on .wd-sticky-btn { padding: 0 !important; background: var(--ys-brand) !important; border-top: 0 !important; box-shadow: 0 -4px 14px rgba(36, 31, 29, .10); }
	.wd-sticky-btn .wd-sticky-btn-cart, .wd-sticky-btn form.cart { gap: 0 !important; }
	.wd-sticky-btn form.cart .quantity { height: 52px !important; border: 0 !important; border-right: 1px solid rgba(255, 255, 255, .35) !important; border-radius: 0 !important; background: transparent !important; }
	.wd-sticky-btn form.cart .quantity .minus,
	.wd-sticky-btn form.cart .quantity .plus,
	.wd-sticky-btn form.cart .quantity input.qty { height: 52px !important; background: transparent !important; color: #fff !important; }
	.wd-sticky-btn form.cart .quantity .minus, .wd-sticky-btn form.cart .quantity .plus { width: 44px !important; font-size: 22px !important; }
	.wd-sticky-btn form.cart .quantity input.qty { width: 34px !important; font-size: 17px !important; }
	.wd-sticky-btn form.cart .quantity .minus:active, .wd-sticky-btn form.cart .quantity .plus:active { background: rgba(255, 255, 255, .12) !important; }
	.wd-sticky-btn form.cart .single_add_to_cart_button { height: 52px !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; font-size: 17px !important; font-weight: 700 !important; }
	.wd-sticky-btn .ys-qty-wrap .ys-qty { height: 52px !important; border-radius: 0 !important; }
}

/* Карточка товара: цена — главный акцент. Заголовок спокойнее, над ценой подпись «Цена в вашем магазине». */
.ys-pdp .summary-inner > .product_title { font-weight: 500 !important; }
.ys-pdp .summary-inner > .price { font-size: 36px !important; font-weight: 800 !important; letter-spacing: -.01em; }
.ys-pdp .summary-inner > .price::before { content: "Цена в вашем магазине"; flex: 1 1 100%; order: -1; margin-bottom: 2px; font-family: Inter, sans-serif; font-size: 13px; font-weight: 500; letter-spacing: 0; color: var(--ys-muted); }
@media (max-width: 767px) {
	.ys-pdp .summary-inner > .product_title { font-size: 17px !important; color: var(--ys-text-2) !important; }
	.ys-pdp .summary-inner > .price { font-size: 34px !important; }
}
/* 0.33.4 */
@media (max-width: 767px) { .ys-pdp .summary-inner > .product_title { color: var(--ys-text) !important; } }
@media (max-width: 1024px) {
	.wd-sticky-btn form.cart .single_add_to_cart_button { font-weight: 500 !important; }
	.wd-sticky-btn form.cart .quantity input.qty { font-weight: 500 !important; }
}
/* 0.33.5 — заголовок товара жирнее; номера страниц (поиск и др.) в стиле сайта и с отступом от подвала */
.ys-pdp .summary-inner > .product_title { font-weight: 700 !important; }
body .woocommerce-pagination, body .wd-pagination, body .navigation.pagination { margin: 32px 0 56px !important; }
body .woocommerce-pagination ul.page-numbers, body .wd-pagination ul { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 6px; border: 0 !important; }
body .woocommerce-pagination ul.page-numbers li, body .wd-pagination li { margin: 0 !important; border: 0 !important; }
body .woocommerce-pagination .page-numbers a, body .woocommerce-pagination .page-numbers span,
body .wd-pagination a, body .wd-pagination span { display: inline-flex !important; align-items: center; justify-content: center; min-width: 40px; height: 40px; padding: 0 10px !important; border: 1px solid var(--ys-border) !important; border-radius: 10px !important; background: var(--ys-surface) !important; color: var(--ys-text) !important; font-size: 15px; font-weight: 600; text-decoration: none !important; }
body .woocommerce-pagination .page-numbers a:hover, body .wd-pagination a:hover { border-color: var(--ys-brand) !important; color: var(--ys-brand) !important; }
body .woocommerce-pagination .page-numbers .current, body .wd-pagination .current { border-color: var(--ys-text) !important; background: var(--ys-text) !important; color: #fff !important; }
body.search-results .main-page-wrapper { padding-bottom: 48px !important; }
/* 0.33.6 — «Показать ещё» вместо номеров страниц (поиск) */
.wd-loop-footer:has(.ys-more) { display: flex; justify-content: center; margin: 28px 0 56px; }
body .ys-more { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; min-width: 240px; height: 48px; padding: 0 28px; border: 1px solid var(--ys-border); border-radius: 10px; background: var(--ys-surface); color: var(--ys-text); font-size: 15px; font-weight: 600; cursor: pointer; transition: border-color .15s, color .15s; }
body .ys-more:hover { border-color: var(--ys-brand); color: var(--ys-brand); }
body .ys-more.is-busy { opacity: .6; cursor: progress; }
@media (max-width: 767px) { body .ys-more { width: 100%; } }
body .ys-more { min-height: 46px; height: auto; border-radius: 8px; }
body .ys-more:hover { border-color: var(--ys-text-2); color: var(--ys-text); }
/* 0.33.7 — «Магазины» на телефоне: города ровной сеткой во всю ширину (как в окне выбора); кнопки карточки в две строки */
@media (max-width: 767px) {
	.ys-stores > .ys-stores__cities, .ys-stores__cities:not(.ys-home-stores__side .ys-stores__cities) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
	body .ys-stores__cities .ys-picker__city { justify-content: center; width: 100%; min-height: 44px; padding: 8px 10px; border-radius: 22px; text-align: center; white-space: normal; overflow-wrap: anywhere; line-height: 1.2; }
	body .ys-stores__cities .ys-picker__city-count { flex: none; }
	.ys-store-card .ys-store-actions { flex-wrap: wrap !important; }
	.ys-store-card .ys-store-actions .ys-btn { flex: 1 1 auto; justify-content: center; }
	.ys-store-card .ys-store-actions > :last-child:not(.ys-btn) { flex: 1 1 100%; justify-content: center; margin-top: 2px; }
}
@media (min-width: 481px) and (max-width: 767px) {
	.ys-stores > .ys-stores__cities { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* 0.33.8 — поиск: номера страниц скрыты, когда есть «Загрузить больше товаров»; «На карте» в карточке — значок-кнопка в одном ряду */
body .wd-loop-footer .woocommerce-pagination[hidden] { display: none !important; }
.wd-loop-footer:has(.ys-more) { display: flex !important; justify-content: center; }
body .ys-more { min-height: 46px; height: 46px; padding: 0 32px; border: 1px solid var(--ys-border); border-radius: 8px; font-size: 15px; font-weight: 600; }
@media (max-width: 767px) {
	.ys-store-card .ys-store-actions { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 46px; gap: 8px; }
	.ys-store-card .ys-store-actions .ys-btn { width: 100%; min-width: 0; padding: 0 8px !important; }
	.ys-store-card .ys-store-actions .ys-btn--link {
		grid-column: 3; display: inline-flex !important; align-items: center; justify-content: center;
		width: 46px; height: 46px; min-height: 46px; margin: 0 !important; padding: 0 !important;
		border: 1px solid var(--ys-border) !important; border-radius: 8px !important; background: var(--ys-surface) !important;
		font-size: 0 !important; color: var(--ys-brand) !important;
	}
	.ys-store-card .ys-store-actions .ys-btn--link[hidden] { display: none !important; }
	.ys-store-card .ys-store-actions .ys-btn--link .ys-ico { width: 20px; height: 20px; margin: 0 !important; }
	.ys-store-card .ys-store-actions:not(:has(.ys-btn--link:not([hidden]))) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.ys-store-card .ys-store-actions > :last-child:not(.ys-btn) { flex: none; margin-top: 0; }
}
/* 0.33.9 — «Загрузить больше товаров»: ховер как в каталоге, крутилка при загрузке, товары плавно появляются; значок «На карте» ровно */
body .ys-more, body .ys-more:hover, body .ys-more:focus, body .ys-more:active { background: var(--ys-surface) !important; box-shadow: none !important; }
body .ys-more:hover { border-color: var(--ys-text-2) !important; color: var(--ys-text) !important; }
body .ys-more.is-busy { opacity: 1; gap: 10px; color: var(--ys-text-2) !important; }
body .ys-more.is-busy::before { content: ""; width: 18px; height: 18px; border: 2px solid var(--ys-border); border-top-color: var(--ys-brand); border-radius: 50%; animation: ys-spin .7s linear infinite; }
@keyframes ys-spin { to { transform: rotate(360deg); } }
.ys-appear { animation: ys-appear .35s ease both; }
@keyframes ys-appear { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .ys-appear { animation: none; } }

@media (max-width: 767px) {
	.ys-store-card .ys-store-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: stretch; }
	.ys-store-card .ys-store-actions .ys-btn--link { width: auto !important; height: auto !important; min-height: 0 !important; aspect-ratio: 1; gap: 0 !important; line-height: 0 !important; box-sizing: border-box; }
	.ys-store-card .ys-store-actions .ys-btn--link .ys-ico { display: block; margin: 0 auto !important; }
}

/* ===== 0.34.0 ===== */
/* «На карте» в карточке магазина: квадрат 46 px в своей колонке, по высоте ряда */
@media (max-width: 767px) {
	.ys-store-card .ys-store-actions { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 46px !important; }
	.ys-store-card .ys-store-actions .ys-btn--link { width: 100% !important; height: auto !important; aspect-ratio: auto !important; align-self: stretch; }
}

/* iPhone увеличивает страницу при фокусе на поле с текстом мельче 16 px — на телефоне все поля 16 px */
@media (max-width: 1024px) {
	body input[type="text"], body input[type="search"], body input[type="email"], body input[type="tel"],
	body input[type="number"], body input[type="password"], body select, body textarea,
	body .searchform input[type="text"] { font-size: 16px !important; }
}

/* Подсказки поиска (Woodmart): один аккуратный список везде */
body .wd-dropdown-results { margin-top: 6px !important; border: 1px solid var(--ys-border) !important; border-radius: 12px !important; background: var(--ys-surface) !important; box-shadow: 0 14px 34px rgba(36, 31, 29, .14) !important; overflow: hidden; }
body .wd-dropdown-results .autocomplete-suggestions,
body .wd-dropdown-results .wd-suggestions-group { display: block !important; grid-template-columns: none !important; }
body .wd-dropdown-results .autocomplete-suggestion {
	display: flex !important; align-items: center; gap: 12px; width: 100% !important; box-sizing: border-box;
	margin: 0 !important; padding: 10px 14px !important; border: 0 !important; border-bottom: 1px solid var(--ys-border) !important; background: none !important;
}
body .wd-dropdown-results .autocomplete-suggestion:hover,
body .wd-dropdown-results .autocomplete-suggestion.autocomplete-selected { background: var(--ys-bg) !important; }
body .wd-dropdown-results .suggestion-thumb { flex: 0 0 52px !important; width: 52px !important; max-width: 52px !important; margin: 0 !important; }
body .wd-dropdown-results .suggestion-thumb img { width: 52px !important; height: 52px !important; object-fit: contain; border-radius: 8px; background: #fff; }
body .wd-dropdown-results .suggestion-content { flex: 1 1 auto; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "t p" "s p"; align-items: center; gap: 2px 12px; }
body .wd-dropdown-results .suggestion-title { grid-area: t; margin: 0 !important; color: var(--ys-text) !important; font-size: 14px !important; font-weight: 500 !important; line-height: 1.35 !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
body .wd-dropdown-results .suggestion-title strong,
body .wd-dropdown-results .suggestion-title u { text-decoration: none !important; font-weight: 700; color: var(--ys-text); }
body .wd-dropdown-results .suggestion-sku { grid-area: s; margin: 0 !important; color: var(--ys-muted) !important; font-size: 12px !important; line-height: 1.3; }
body .wd-dropdown-results .suggestion-price { grid-area: p; margin: 0 !important; white-space: nowrap; font-size: 15px !important; font-weight: 700 !important; }
body .wd-dropdown-results .suggestion-price, body .wd-dropdown-results .suggestion-price .amount { color: var(--ys-text) !important; }
body .wd-dropdown-results .suggestion-price ins, body .wd-dropdown-results .suggestion-price ins .amount { color: var(--ys-brand) !important; text-decoration: none; }
body .wd-dropdown-results .suggestion-price del { display: none; }
body .wd-dropdown-results .view-all-results { padding: 13px 14px !important; border: 0 !important; background: var(--ys-surface) !important; color: var(--ys-brand) !important; font-size: 14px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; text-align: center; }
body .wd-dropdown-results .view-all-results:hover { background: var(--ys-brand-soft) !important; }
@media (max-width: 1024px) {
	body .wd-dropdown-results { left: 0 !important; right: 0 !important; width: auto !important; max-height: 65vh; }
	body .wd-dropdown-results .suggestion-content { grid-template-columns: minmax(0, 1fr) auto; }
	body .wd-dropdown-results .suggestion-title { font-size: 14px !important; }
}
/* 0.34.2 — кабинет создаётся только при оформлении заказа: ссылку «Создать аккаунт» в выпадашке входа не показываем */
body .wd-dropdown-register .create-account-link,
body .login-dropdown-inner .create-account-link,
body .wd-header-my-account .create-account-link { display: none !important; }

/* ===== 0.34.4 — оформление и корзина ===== */
/* «Создать личный кабинет»: галочка на уровне текста */
.ys-account-box .create-account label,
.ys-account-box .woocommerce-form__label-for-checkbox { display: flex !important; align-items: center; gap: 10px; line-height: 1.35; }
.ys-account-box input[type="checkbox"] { flex: none; width: 18px; height: 18px; margin: 0 !important; position: static !important; accent-color: var(--ys-brand); }

/* Комментарий к заказу — поле в три строки */
body #order_comments, body textarea[name="order_comments"] { min-height: 92px !important; height: 92px; resize: vertical; padding-top: 12px !important; line-height: 1.45 !important; }

/* Корзина: строка самовывоза — значок и текст в ряд, «Изменить» справа */
.ys-cart-store { display: grid !important; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 4px 12px; padding: 14px 16px; }
.ys-cart-store > .ys-ico { grid-row: 1; width: 20px; height: 20px; }
.ys-cart-store > span { line-height: 1.45; }
body .ys-cart-store .ys-pickup__change { justify-self: end; }
@media (max-width: 600px) {
	.ys-cart-store { grid-template-columns: auto minmax(0, 1fr); padding: 12px 14px; font-size: 14px; }
	.ys-cart-store > .ys-ico { align-self: start; margin-top: 2px; }
	body .ys-cart-store .ys-pickup__change { grid-column: 2; justify-self: start; padding: 2px 0 !important; font-size: 14px; }
}
/* 0.34.5 — «Изменить» в строке самовывоза на телефоне — под текстом, по левому краю */
@media (max-width: 600px) {
	body .ys-cart-store .ys-pickup__change { grid-column: 2 !important; justify-self: start !important; margin: 2px 0 0 !important; text-align: left !important; width: auto !important; }
}
/* 0.34.6 — счётчик «Избранного» в нижней панели */
@media (max-width: 1024px) { .ys-tbar__cnt.is-wish[hidden] { display: none; } }

/* ===== 0.34.7 — кабинет на телефоне ===== */
@media (max-width: 767px) {
	/* «Мои заказы»: всё в одну колонку слева — фото, статус, магазин, сумма, кнопки */
	body .woocommerce-orders-table tbody tr { grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number { display: flex !important; align-items: baseline; gap: 8px; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-number .ys-ord__sub { margin: 0; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-ys-store .ys-ord__city { display: inline; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-ys-store .ys-ord__sub { display: inline; margin: 0 0 0 4px; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-ys-store .ys-ord__city::after { content: ","; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total { display: flex !important; align-items: baseline; gap: 8px; }
	body .woocommerce-orders-table td.woocommerce-orders-table__cell-order-total .ys-ord__sub { margin: 0; }

	/* Страница заказа: таблица состава не шире экрана, сумма видна справа */
	body .woocommerce-MyAccount-content, body .ys-thankyou-page .woocommerce-order { overflow-x: hidden; }
	body .woocommerce-table--order-details { table-layout: fixed !important; width: 100% !important; }
	body .woocommerce-table--order-details th.product-name, body .woocommerce-table--order-details td.product-name { width: auto !important; }
	body .woocommerce-table--order-details th.product-total, body .woocommerce-table--order-details td.product-total,
	body .woocommerce-table--order-details tfoot td { width: 96px !important; }
	body .woocommerce-table--order-details tfoot th { width: auto !important; }
	body .woocommerce-table--order-details thead th { font-size: 13px !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ys-muted) !important; }
	body .woocommerce-table--order-details td.product-name { overflow-wrap: anywhere; font-size: 14px; line-height: 1.35; }
	body .woocommerce-table--order-details td.product-name .wc-item-meta { font-size: 12.5px; }
}
/* 0.34.8 — страница заказа: состав заказа в такой же карточке с рамкой, как блок выше; длинные значения в итогах переносятся */
body.ys-view-order .woocommerce-table--order-details,
body.woocommerce-order-received .woocommerce-table--order-details {
	border: 1px solid var(--ys-border) !important; border-radius: 14px !important; border-collapse: separate !important; border-spacing: 0 !important;
	background: var(--ys-surface); overflow: hidden;
}
body.ys-view-order .woocommerce-table--order-details th, body.ys-view-order .woocommerce-table--order-details td,
body.woocommerce-order-received .woocommerce-table--order-details th, body.woocommerce-order-received .woocommerce-table--order-details td { padding-left: 16px !important; padding-right: 16px !important; }
body.ys-view-order .woocommerce-table--order-details td.product-name,
body.woocommerce-order-received .woocommerce-table--order-details td.product-name { padding-left: 94px !important; }
body.ys-view-order .woocommerce-table--order-details .ys-oi__img,
body.woocommerce-order-received .woocommerce-table--order-details .ys-oi__img { left: 16px; }
body.ys-view-order .woocommerce-table--order-details tr:last-child th, body.ys-view-order .woocommerce-table--order-details tr:last-child td { border-bottom: 0 !important; }
body .woocommerce-table--order-details tfoot td { white-space: normal !important; overflow-wrap: anywhere; text-align: right !important; }
@media (max-width: 767px) {
	body .woocommerce-table--order-details tfoot td { width: 55% !important; }
	body.ys-view-order .woocommerce-table--order-details th, body.ys-view-order .woocommerce-table--order-details td,
	body.woocommerce-order-received .woocommerce-table--order-details th, body.woocommerce-order-received .woocommerce-table--order-details td { padding-left: 14px !important; padding-right: 14px !important; }
	body.ys-view-order .woocommerce-table--order-details td.product-name,
	body.woocommerce-order-received .woocommerce-table--order-details td.product-name { padding-left: 76px !important; }
	body.ys-view-order .woocommerce-table--order-details .ys-oi__img,
	body.woocommerce-order-received .woocommerce-table--order-details .ys-oi__img { left: 14px; }
}
/* 0.34.9 — длинные названия не вылезают за рамку; «Оплата при получении» — по словам, без разрыва слова */
body .woocommerce-table--order-details td.product-name { overflow: hidden; }
body .woocommerce-table--order-details td.product-name,
body .woocommerce-table--order-details td.product-name * { white-space: normal !important; overflow-wrap: break-word !important; word-break: break-word !important; max-width: 100%; }
body .woocommerce-table--order-details tfoot td { overflow-wrap: break-word !important; word-break: normal !important; hyphens: none; }
@media (max-width: 767px) {
	body .woocommerce-table--order-details tfoot th { width: 40% !important; white-space: nowrap; }
	body .woocommerce-table--order-details tfoot td { width: 60% !important; }
}
/* 0.34.10 — итоги заказа на телефоне: строки с текстом (способ оплаты, доставка, примечание) — значение второй строкой слева */
@media (max-width: 767px) {
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) { display: block; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) th,
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) td { display: block; width: auto !important; text-align: left !important; white-space: normal !important; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) th { padding-bottom: 2px !important; border-bottom: 0 !important; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) td { padding-top: 0 !important; color: var(--ys-text-2); }
}
@media (max-width: 767px) {
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) { width: 100% !important; box-sizing: border-box; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) th,
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) td { width: 100% !important; max-width: none !important; box-sizing: border-box; white-space: nowrap !important; }
}
/* 0.34.12 — линии у строк «Способ оплаты», «Действия» во всю ширину карточки */
@media (max-width: 767px) {
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) th,
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) td { border: 0 !important; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) { border-top: 1px solid var(--ys-border) !important; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) td { padding-bottom: 14px !important; }
}
/* 0.34.13 — состав заказа на телефоне: не таблица, а строки во всю ширину (линии ровные, без двойных) */
@media (max-width: 767px) {
	body .woocommerce-table--order-details,
	body .woocommerce-table--order-details thead,
	body .woocommerce-table--order-details tbody,
	body .woocommerce-table--order-details tfoot { display: block !important; width: 100% !important; }
	body .woocommerce-table--order-details tr { display: flex !important; flex-wrap: wrap; align-items: center; justify-content: space-between; width: 100% !important; box-sizing: border-box; border: 0 !important; border-top: 1px solid var(--ys-border) !important; }
	body .woocommerce-table--order-details thead tr { border-top: 0 !important; }
	body .woocommerce-table--order-details th, body .woocommerce-table--order-details td { display: block !important; border: 0 !important; box-sizing: border-box; }
	body .woocommerce-table--order-details td.product-name { flex: 1 1 0 !important; width: auto !important; min-width: 0; }
	body .woocommerce-table--order-details td.product-total { flex: none; width: auto !important; }
	body .woocommerce-table--order-details tfoot th { flex: 1 1 auto; width: auto !important; }
	body .woocommerce-table--order-details tfoot td { flex: none; width: auto !important; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) th,
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) td { flex: 1 1 100% !important; width: 100% !important; }
	body .woocommerce-table--order-details tfoot tr:not(:has(.amount)) { border-top: 1px solid var(--ys-border) !important; }
}

/* ===== 0.35.0 — «В избранное» на карточке товара: кнопка в рамке, в избранном — розовая с красным сердцем ===== */
.ys-pdp .summary-inner .wd-wishlist-btn { display: block; margin: 0 0 16px !important; }
.ys-pdp .summary-inner .wd-wishlist-btn > a {
	display: flex !important; align-items: center; justify-content: center; gap: 10px;
	width: 100%; min-height: 46px; box-sizing: border-box; padding: 0 18px !important;
	border: 1px solid var(--ys-border) !important; border-radius: 10px !important; background: var(--ys-surface) !important;
	color: var(--ys-text) !important; font-size: 15px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important;
	transition: border-color .15s, color .15s, background .15s;
}
.ys-pdp .summary-inner .wd-wishlist-btn > a::before,
.ys-pdp .summary-inner .wd-wishlist-btn .wd-action-icon::before { font-size: 18px !important; color: var(--ys-brand) !important; }
.ys-pdp .summary-inner .wd-wishlist-btn > a:hover { border-color: var(--ys-brand) !important; color: var(--ys-brand) !important; }
.ys-pdp .summary-inner .wd-wishlist-btn > a.added {
	border-color: color-mix(in srgb, var(--ys-brand) 35%, var(--ys-border)) !important;
	background: var(--ys-brand-soft) !important; color: var(--ys-brand) !important;
}
.ys-pdp .summary-inner .wd-wishlist-btn > a.loading { opacity: .6; }
@media (min-width: 768px) {
	.ys-pdp .summary-inner .wd-wishlist-btn > a { width: auto; display: inline-flex !important; min-width: 220px; }
}
/* 0.35.1 — текст кнопки «В избранное» не сереет: при наведении и в избранном — красный */
.ys-pdp .summary-inner .wd-wishlist-btn > a .wd-action-text { color: inherit !important; opacity: 1 !important; }
.ys-pdp .summary-inner .wd-wishlist-btn > a:hover,
.ys-pdp .summary-inner .wd-wishlist-btn > a:focus,
.ys-pdp .summary-inner .wd-wishlist-btn > a:active,
.ys-pdp .summary-inner .wd-wishlist-btn > a.added,
.ys-pdp .summary-inner .wd-wishlist-btn > a.added:hover { color: var(--ys-brand) !important; opacity: 1 !important; }
/* 0.35.2 — «В избранное» во всю ширину колонки и на компьютере */
@media (min-width: 768px) {
	.ys-pdp .summary-inner .wd-wishlist-btn > a { display: flex !important; width: 100% !important; min-width: 0; }
}
/* 0.35.3 — компьютер: «В корзину» тянется на всю ширину колонки (рядом со счётчиком) */
@media (min-width: 768px) {
	.ys-pdp .summary-inner form.cart:not(.ys-in-cart) { flex-wrap: nowrap; gap: 12px; width: 100%; }
	.ys-pdp .summary-inner form.cart .quantity { flex: none; margin: 0 !important; }
	.ys-pdp .summary-inner form.cart .single_add_to_cart_button { flex: 1 1 auto; width: auto !important; max-width: none !important; margin: 0 !important; }
	.ys-pdp .summary-inner .ys-qty-wrap { width: 100%; }
	.ys-pdp .summary-inner .ys-qty-wrap .ys-qty { flex: 1 1 auto; }
}

/* ===== 0.35.4 ===== */
/* Магазин без фото — знак «Ю» на тёплом фоне с лёгким узором */
.ys-store-card__img--empty {
	background: radial-gradient(circle at 50% 45%, #FBF4EA 0, #F3E7D2 70%) !important;
}
.ys-store-card__mark { display: block; width: 64px !important; height: 64px !important; border-radius: 0; box-shadow: none !important; filter: drop-shadow(0 6px 14px rgba(196, 50, 51, .22)); }
@media (max-width: 767px) { .ys-store-card__mark { width: 56px !important; height: 56px !important; } }

/* Окно выбора магазина: при выборе не становится прозрачным — поверх списка крутилка */
.ys-picker.is-loading .ys-picker__panel { opacity: 1 !important; pointer-events: none; }
.ys-picker.is-loading .ys-picker__panel::after {
	content: ""; position: absolute; inset: 0; z-index: 20; border-radius: inherit;
	background: rgba(255, 255, 255, .72) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='20' fill='none' stroke='%23E6E1DD' stroke-width='4'/%3E%3Cpath d='M25 5a20 20 0 0 1 20 20' fill='none' stroke='%23C43233' stroke-width='4' stroke-linecap='round'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='.7s' repeatCount='indefinite'/%3E%3C/path%3E%3C/svg%3E") center / 44px no-repeat;
}

/* Телефон: окно не шире экрана — лента городов прокручивается внутри, скругления видны */
@media (max-width: 899px) {
	#ys-picker .ys-picker__panel { max-width: 100% !important; overflow: hidden !important; }
	#ys-picker .ys-picker__body, #ys-picker .ys-picker__side { min-width: 0; max-width: 100%; overflow-x: hidden; }
	#ys-picker .ys-picker__cities { min-width: 0; max-width: 100%; }
}

/* ===== 0.35.5 ===== */
/* Окно выбора на телефоне не шире экрана: у flex-элемента min-width по содержимому перебивал max-width */
#ys-picker .ys-picker__panel { min-width: 0 !important; }
@media (max-width: 899px) { #ys-picker .ys-picker__panel { width: 100% !important; } }

/* 320–359 px: в шапке у плашки магазина только значок в кружке */
@media (max-width: 359px) {
	body .whb-general-header .ys-store-chip { width: 34px; max-width: 34px; padding: 0 !important; justify-content: center; }
	body .whb-general-header .ys-store-chip__text { display: none !important; }
	body .whb-general-header .ys-store-chip__icon { width: 30px; height: 30px; }
	/* меню: «Ваш магазин» — адрес во всю строку, «Изменить» под ним */
	.ys-mstore { flex-wrap: wrap; }
	.ys-mstore__txt { flex: 1 1 calc(100% - 44px); }
	body .ys-mstore__btn { margin-left: 42px; padding: 2px 0; }
}

/* Подвал на планшете (768–1024): «Разработка сайта — nordup» отдельной строкой слева */
@media (min-width: 768px) and (max-width: 1024px) {
	.ys-footer__bottom { flex-direction: column; align-items: flex-start; gap: 10px; }
	.ys-footer__dev { margin: 4px 0 0 !important; }
}

/* ===== 0.35.6 ===== */
/* Логотип в меню: у SVG нет своих размеров — задаём явно (иначе в flex он сжимался до нуля) */
@media (max-width: 1024px) {
	body .mobile-nav .ys-mnav-logo { flex: none; }
	body .mobile-nav .ys-mnav-logo img { width: 124px !important; height: 36px !important; max-width: none !important; max-height: none !important; object-fit: contain; object-position: left center; }
}
@media (max-width: 359px) {
	body .mobile-nav .ys-mnav-logo img { width: 104px !important; height: 30px !important; }
}

/* Страница не шире экрана: что-то на 390 px вылезало вбок, и окно выбора (на весь экран) уезжало вправо */
@media (max-width: 1024px) {
	html, body { overflow-x: clip !important; }
	#ys-picker { left: 0 !important; right: 0 !important; width: auto !important; max-width: 100vw; }
}

/* Карточка контактов в меню на узких экранах: телефон не упирается в край */
@media (max-width: 359px) {
	.ys-mc { padding: 12px; }
	body .ys-mc__call { gap: 8px; padding: 8px; }
	.ys-mc__ring { flex-basis: 32px; width: 32px; height: 32px; }
	.ys-mc__ring svg { width: 16px; height: 16px; }
	.ys-mc__num { min-width: 0; }
	.ys-mc__num b { font-size: 14px; white-space: nowrap; letter-spacing: 0; }
	.ys-mc__status { font-size: 11.5px; }
}
/* 0.35.7 — окно выбора на телефоне: крестик по центру строки городов (когда она прилипла), города не заходят под крестик */
@media (max-width: 899px) {
	#ys-picker .ys-picker__close { top: 9px !important; right: 12px !important; }
	#ys-picker .ys-picker__cities { margin-right: 40px !important; padding-right: 0 !important; box-shadow: 40px 0 0 var(--ys-surface), 56px 0 0 var(--ys-surface); }
}
/* 0.35.8 — карточка товара: точка статуса, значок магазина и значки условий — в одну колонку 18 px, текст с одной линии */
.ys-pdp-store .ys-pdp-store__status,
.ys-pdp-store .ys-pdp-store__where,
.ys-pdp-store__cond li { gap: 10px !important; }
.ys-pdp-store .ys-pdp-store__status i { flex: 0 0 18px; width: 18px !important; height: 18px !important; border-radius: 0 !important; background: radial-gradient(circle, currentColor 0 4px, transparent 4.5px) !important; }
.ys-pdp-store .ys-pdp-store__where .ys-ico, .ys-pdp-store__cond .ys-ico { flex: 0 0 18px; width: 18px; height: 18px; margin: 0 !important; }
.ys-pdp-store .ys-pdp-store__where { align-items: flex-start; }
.ys-pdp-store .ys-pdp-store__where .ys-ico { margin-top: 1px !important; }

/* ===== 0.35.9 — «Магазины» ===== */
/* Фото в карточках одной высоты (16:9, обрезка по центру), какого бы формата ни было фото */
.ys-store-card__media { display: block !important; position: relative; aspect-ratio: 16 / 9; overflow: hidden; flex: none; }
body .ys-store-card__media img.ys-store-card__img,
body .ys-store-card__media .ys-store-card__img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: center; }
/* Карточки одной высоты в ряду, кнопки прижаты к низу */
.ys-store-card { height: 100%; }
.ys-store-card__body { display: flex; flex-direction: column; flex: 1 1 auto; }
.ys-store-card .ys-store-actions { margin-top: auto; }

/* 320–359: «Выбрать магазин» на всю ширину, ниже «Маршрут» и значок карты */
@media (max-width: 359px) {
	.ys-store-card .ys-store-actions { grid-template-columns: minmax(0, 1fr) 46px !important; }
	.ys-store-card .ys-store-actions > :first-child { grid-column: 1 / -1; }
	.ys-store-card .ys-store-actions .ys-btn--link { grid-column: 2 !important; }
}

/* Страница магазина: ссылка на отзывы — переносится по словам, стрелка не отрывается */
.ys-store-info__yandex a { display: inline; line-height: 1.45; }

/* ===== 0.35.10 ===== */
/* «Новости и акции»: вкладки одной строкой с прокруткой на узких экранах */
@media (max-width: 480px) {
	.ys-promos__tabs { flex-wrap: nowrap !important; overflow-x: auto; margin-left: -16px !important; margin-right: -16px !important; padding: 0 16px 2px !important; scrollbar-width: none; }
	.ys-promos__tabs::-webkit-scrollbar { display: none; }
	.ys-promos__tabs .ys-picker__city { flex: none; white-space: nowrap; }
}

/* Карточка товара, узкий телефон: адрес магазина в одну колонку, «Изменить» отдельной строкой под ним */
@media (max-width: 400px) {
	.ys-pdp-store .ys-pdp-store__where { display: grid !important; grid-template-columns: 18px minmax(0, 1fr); gap: 4px 10px !important; }
	.ys-pdp-store .ys-pdp-store__where > span { grid-column: 2; }
	body .ys-pdp-store .ys-pdp-store__where .ys-pdp-store__change { grid-column: 2; justify-self: start; margin: 0 !important; }

	/* «Есть ещё в N магазинах»: адрес во всю ширину, ниже — наличие, цена и «Выбрать» в одну строку */
	.ys-pdp-other li { grid-template-columns: auto minmax(0, 1fr) auto !important; gap: 6px 10px !important; }
	.ys-pdp-other__addr { grid-column: 1 / -1 !important; grid-row: 1 !important; }
	.ys-pdp-other__qty { grid-column: 1 !important; grid-row: 2 !important; }
	.ys-pdp-other__price { grid-column: 2 !important; grid-row: 2 !important; text-align: left !important; }
	body .ys-pdp-other .ys-pdp-other__choose { grid-column: 3 !important; grid-row: 2 !important; }
}

/* ===== 0.35.11 — узкие экраны (320) ===== */
/* Кнопки в красных плашках («Остались вопросы?», «Не нашли ответ?»): текст переносится внутри кнопки */
body .ys-about-cta__btn { max-width: 100%; box-sizing: border-box; white-space: normal !important; text-align: center; line-height: 1.25 !important; }
@media (max-width: 400px) {
	body .ys-about-cta__btn { padding: 10px 16px !important; font-size: 14px !important; }
}

/* Юр. документы: длинное слово в заголовке переносится, а не вылезает за плашку */
.ys-doc__title { overflow-wrap: anywhere; hyphens: auto; }
@media (max-width: 400px) {
	.ys-doc__head { padding: 22px 18px; }
	.ys-doc__title { font-size: 24px !important; }
}

/* Магазины на главной и «Контактах», узкий экран: адрес и часы во всю ширину, кнопки строкой ниже */
@media (max-width: 400px) {
	.ys-home-store { flex-wrap: wrap; gap: 8px 10px; }
	.ys-home-store__main { flex: 1 1 100%; }
	.ys-home-store__main b { font-size: 14.5px; }
	.ys-home-store__act { flex: 1 1 100%; }
	body .ys-home-store__choose, .ys-home-store__mine { flex: 1 1 auto; justify-content: center; }
	.ys-home-stores__list { padding-left: 14px; padding-right: 14px; }
}

/* ===== 0.35.12 ===== */
/* «−20%» — в строке цены сразу после старой цены, на всех экранах одинаково. */
.ys-pdp .summary-inner > .price { display: flex !important; align-items: center; gap: 4px 12px; margin-right: 0 !important; }
.ys-pdp .summary-inner > .price ins, .ys-pdp .summary-inner > .price del { align-self: baseline; }
.ys-pdp .summary-inner > .price .ys-pdp-discount { order: 3; align-self: center; margin: 0 !important; padding: 4px 8px; font-family: Inter, sans-serif; font-size: 14px; font-weight: 700; letter-spacing: 0; line-height: 1.2; color: #fff !important; }

/* Количество и «В корзину» на телефоне — в одну строку, кнопка занимает остаток. */
@media (max-width: 767px) {
	.ys-pdp .summary-inner form.cart { flex-wrap: nowrap !important; gap: 8px; }
	.ys-pdp .summary-inner form.cart .quantity:not(.hidden) { flex: none; height: 48px; }
	.ys-pdp form.cart .quantity .minus, .ys-pdp form.cart .quantity .plus { width: 36px !important; }
	.ys-pdp form.cart .quantity input.qty { width: 34px !important; }
	.ys-pdp .summary-inner form.cart .single_add_to_cart_button { flex: 1 1 0 !important; min-width: 0; min-height: 48px; padding: 0 12px !important; gap: 8px; white-space: nowrap; }
}

/* Липкая «В корзину» на планшетах (820, 1024) — как на телефоне: только счётчик и кнопка во всю ширину. */
@media (max-width: 1024px) {
	.wd-sticky-btn .wd-sticky-btn-content, .wd-sticky-btn .wd-sticky-btn-thumbnail, .wd-sticky-btn .wd-sticky-btn-info, .wd-sticky-btn .wd-sticky-btn-cart > .price { display: none !important; }
	.wd-sticky-btn .wd-sticky-btn-container { display: flex !important; width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
	.wd-sticky-btn .wd-sticky-btn-cart { flex: 1 1 100% !important; justify-content: flex-start; }
	.wd-sticky-btn form.cart .single_add_to_cart_button { flex: 1 1 auto !important; max-width: none !important; }
}

/* ===== 0.36.0 ===== */
/* Карточка товара: сначала характеристики в две колонки на всю ширину, ниже описание. */
.ys-pdp .product-tabs-wrapper .woocommerce-tabs { grid-template-columns: 1fr !important; gap: 32px !important; }
.ys-pdp .product-tabs-wrapper #tab-description p, .ys-pdp .product-tabs-wrapper .woocommerce-Tabs-panel--description p { max-width: 860px; }
.ys-pdp table.shop_attributes { display: block !important; }
.ys-pdp table.shop_attributes tbody { display: block; columns: 2; column-gap: 48px; }
.ys-pdp table.shop_attributes tr { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; break-inside: avoid; border-bottom: 1px solid var(--ys-border); }
.ys-pdp table.shop_attributes th { width: auto !important; flex: none; max-width: 50%; padding: 9px 0 !important; font-size: 14px; }
.ys-pdp table.shop_attributes td { flex: 1 1 auto; padding: 9px 0 !important; font-size: 14px; text-align: right !important; }
@media (max-width: 767px) {
	.ys-pdp table.shop_attributes tbody { columns: 1; }
	.ys-pdp .product-tabs-wrapper .woocommerce-tabs { gap: 24px !important; }
}

/* Старая цена и скидка: мини-корзина, корзина, оформление, заказ. */
.ys-price-old, .ys-price-old .amount { color: var(--ys-muted) !important; font-weight: 400 !important; font-size: .86em; text-decoration: line-through; opacity: 1; }
.ys-price-now .amount { color: var(--ys-brand) !important; font-weight: 700; }
.ys-sale-tag { display: inline-block; margin-left: 6px; padding: 1px 6px; border-radius: 5px; background: var(--ys-brand); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.5; vertical-align: 2px; white-space: nowrap; }
.ys-cart-page .shop_table.cart .product-price .ys-price-old { display: block; margin-top: 2px; }
.ys-mc-save { display: flex; justify-content: space-between; align-items: baseline; margin: -6px 0 14px !important; font-size: 14px; font-weight: 600; color: var(--ys-brand); }
.ys-mc-save b, .ys-mc-save .amount { color: var(--ys-brand) !important; font-weight: 600; }
.ys-tot-items th, .ys-tot-items td, .ys-tot-save th, .ys-tot-save td { font-size: 14px !important; font-weight: 500 !important; }
.ys-tot-items td, .ys-tot-save td { text-align: right !important; }
.ys-tot-save th, .ys-tot-save td, .ys-tot-save .amount { color: var(--ys-brand) !important; }
.ys-cart-page .cart_totals .order-total th, .ys-cart-page .cart_totals .order-total td,
.ys-checkout-page .woocommerce-checkout-review-order-table .order-total th, .ys-checkout-page .woocommerce-checkout-review-order-table .order-total td { border-top: 1px solid var(--ys-border) !important; padding-top: 12px !important; }
.woocommerce-table--order-details .ys-price-old, .woocommerce-table--order-details .ys-price-old .amount { font-size: 13px; }

/* Оформление: вместо серого «чека» Woodmart — обычная белая карточка. */
.ys-checkout-page .checkout-order-review, .ys-checkout-page *:not(form):has(> #order_review) {
	padding: 24px !important; border: 1px solid var(--ys-border) !important; border-radius: 12px !important; background: var(--ys-surface) !important; box-shadow: none !important;
}
.ys-checkout-page .checkout-order-review::before, .ys-checkout-page .checkout-order-review::after,
.ys-checkout-page *:not(form):has(> #order_review)::before, .ys-checkout-page *:not(form):has(> #order_review)::after { display: none !important; content: none !important; }
.ys-checkout-page #order_review_heading { text-align: left !important; }
.ys-checkout-page #order_review { padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; box-shadow: none !important; }
.ys-checkout-page #order_review .wd-table-wrapper, .ys-checkout-page .woocommerce-checkout-review-order-table { padding: 0 !important; background: transparent !important; box-shadow: none !important; }
.ys-checkout-page #payment .payment_box { border-radius: 8px !important; background: var(--ys-bg) !important; box-shadow: none !important; }
.ys-checkout-page #payment .payment_box::before { display: none !important; }
@media (max-width: 767px) {
	.ys-checkout-page .checkout-order-review, .ys-checkout-page *:not(form):has(> #order_review) { padding: 16px !important; }
}

/* ===== 0.36.1 ===== */
/* Характеристики — сеткой на всю ширину (Woodmart ограничивал ширину таблицы, колонки обрезали низ). */
.ys-pdp .product-tabs-wrapper .woocommerce-Tabs-panel, .ys-pdp .product-tabs-wrapper .wc-tab-inner, .ys-pdp .product-tabs-wrapper .wd-scroll-content { max-width: none !important; width: 100% !important; max-height: none !important; overflow: visible !important; }
.ys-pdp table.shop_attributes { width: 100% !important; max-width: none !important; }
.ys-pdp table.shop_attributes tbody { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; width: 100%; columns: auto; }
.ys-pdp table.shop_attributes tr { margin: 0 !important; min-height: 0; }
.ys-pdp table.shop_attributes th, .ys-pdp table.shop_attributes td { padding: 10px 0 !important; line-height: 1.4 !important; vertical-align: baseline; }
@media (max-width: 767px) {
	.ys-pdp table.shop_attributes tbody { grid-template-columns: 1fr; }
}

/* ===== 0.36.2 ===== */
/* Описание — на всю ширину, как характеристики; отступ снизу до «Похожих товаров». */
.ys-pdp .product-tabs-wrapper #tab-description p, .ys-pdp .product-tabs-wrapper .woocommerce-Tabs-panel--description p { max-width: none !important; }
.ys-pdp .product-tabs-wrapper { padding-bottom: 40px !important; }
/* Низ последней строки характеристик обрезался — тема задаёт высоту блока скриптом. */
.ys-pdp .product-tabs-wrapper .wd-accordion-item, .ys-pdp .product-tabs-wrapper .wd-accordion-content, .ys-pdp .product-tabs-wrapper .woocommerce-Tabs-panel { height: auto !important; max-height: none !important; overflow: visible !important; }
@media (max-width: 767px) { .ys-pdp .product-tabs-wrapper { padding-bottom: 28px !important; } }

/* ===== 0.36.3 ===== */
/* Последняя строка характеристик: снимаем у таблицы и всех её обёрток обрезку, фиксированную высоту и отрицательные отступы темы. */
.ys-pdp .product-tabs-wrapper *:has(table.shop_attributes) { height: auto !important; max-height: none !important; overflow: visible !important; clip-path: none !important; }
.ys-pdp table.shop_attributes, .ys-pdp table.shop_attributes tbody, .ys-pdp table.shop_attributes tr {
	height: auto !important; max-height: none !important; overflow: visible !important; margin: 0 !important; clip-path: none !important;
}
.ys-pdp table.shop_attributes { padding: 0 0 2px !important; }
.ys-pdp table.shop_attributes tr:last-child th, .ys-pdp table.shop_attributes tr:last-child td { padding-bottom: 10px !important; }

/* ===== 0.36.4 ===== */
/* Итоги в оформлении и корзине: одна линия перед «Итого», без лишних черт темы; «Товары» — обычным цветом. */
.ys-checkout-page .woocommerce-checkout-review-order-table tfoot th, .ys-checkout-page .woocommerce-checkout-review-order-table tfoot td,
.ys-cart-page .cart_totals .shop_table th, .ys-cart-page .cart_totals .shop_table td { border-top: 0 !important; border-bottom: 0 !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table tfoot th::before, .ys-checkout-page .woocommerce-checkout-review-order-table tfoot th::after,
.ys-checkout-page .woocommerce-checkout-review-order-table tfoot td::before, .ys-checkout-page .woocommerce-checkout-review-order-table tfoot td::after { display: none !important; content: none !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child th, .ys-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child td { border-top: 1px solid var(--ys-border) !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table .order-total th, .ys-checkout-page .woocommerce-checkout-review-order-table .order-total td,
.ys-cart-page .cart_totals .order-total th, .ys-cart-page .cart_totals .order-total td { border-top: 1px solid var(--ys-border) !important; padding-top: 12px !important; }
.ys-tot-items td, .ys-tot-items .amount, .ys-tot-items bdi { color: var(--ys-text) !important; }
.ys-tot-items th, .ys-tot-items td, .ys-tot-save th, .ys-tot-save td { padding: 6px 0 !important; white-space: nowrap; }

/* ===== 0.36.5 ===== */
/* Оформление, «Ваш заказ»: шапка «Товар / Сумма» тонкой линией, спокойным шрифтом; одна линия между товарами и итогами. */
.ys-checkout-page .woocommerce-checkout-review-order-table thead th {
	padding: 0 0 10px !important; border: 0 !important; border-bottom: 1px solid var(--ys-border) !important;
	font-size: 13px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ys-muted) !important;
}
.ys-checkout-page .woocommerce-checkout-review-order-table tbody td { border-top: 0 !important; border-bottom: 1px solid var(--ys-border) !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child th, .ys-checkout-page .woocommerce-checkout-review-order-table tfoot tr:first-child td { border-top: 0 !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table tfoot tr.ys-tot-items th, .ys-checkout-page .woocommerce-checkout-review-order-table tfoot tr.ys-tot-items td { padding-top: 12px !important; }

/* ===== 0.36.6 ===== */
/* «Ваш заказ» и «Итого» в корзине: таблица темы рисует толстые линии на строках (border-collapse) — снимаем их
   все и рисуем ровно три тонкие: под шапкой, между товарами и итогами, над «Итого». */
.ys-checkout-page .woocommerce-checkout-review-order-table, .ys-cart-page .cart_totals .shop_table { border-collapse: separate !important; border-spacing: 0 !important; border: 0 !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table :is(thead, tbody, tfoot, tr),
.ys-cart-page .cart_totals .shop_table :is(thead, tbody, tfoot, tr) { border: 0 !important; box-shadow: none !important; background: none !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table :is(th, td),
.ys-cart-page .cart_totals .shop_table :is(th, td) { border: 0 !important; box-shadow: none !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table thead th { border-bottom: 1px solid var(--ys-border) !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table tbody tr:last-child td { border-bottom: 1px solid var(--ys-border) !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table .order-total :is(th, td),
.ys-cart-page .cart_totals .order-total :is(th, td) { border-top: 1px solid var(--ys-border) !important; }

/* ===== 0.36.7 ===== */
/* Линия над «Итого» — одна на всю строку (у ячеек тема задаёт разную ширину и высоту, отсюда были два куска). */
.ys-checkout-page .woocommerce-checkout-review-order-table .order-total :is(th, td),
.ys-cart-page .cart_totals .order-total :is(th, td) { border-top: 0 !important; }
.ys-checkout-page .woocommerce-checkout-review-order-table tr.order-total,
.ys-cart-page .cart_totals tr.order-total { background: linear-gradient(var(--ys-border), var(--ys-border)) top left / 100% 1px no-repeat !important; }

/* ===== 0.36.8 ===== */
.ys-nowrap { white-space: nowrap; }

/* Корзина на телефоне и планшете: фото и название сверху, ниже строки «Цена / Количество / Сумма» на всю ширину
   (раньше они стояли с отступом под названием, а под фото оставалась пустота). */
@media (max-width: 768px) {
	.ys-cart-page .shop_table.cart tbody tr.cart_item {
		display: grid !important; grid-template-columns: 60px minmax(0, 1fr) 24px; column-gap: 12px; row-gap: 0; align-items: start;
		position: relative; margin: 0 !important; padding: 16px 0 6px !important; border-bottom: 1px solid var(--ys-border) !important;
	}
	.ys-cart-page .shop_table.cart tr.cart_item > td {
		position: static !important; float: none !important; display: flex !important; align-items: center; width: auto !important; min-height: 0 !important;
		margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; text-align: left !important;
	}
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-thumbnail { grid-column: 1; grid-row: 1; }
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-name { grid-column: 2; grid-row: 1; display: block !important; }
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-remove { grid-column: 3; grid-row: 1; justify-content: flex-end; }
	.ys-cart-page .shop_table.cart tr.cart_item > td:is(.product-thumbnail, .product-name, .product-remove)::before { display: none !important; content: none !important; }
	.ys-cart-page .shop_table.cart tr.cart_item > td:is(.product-price, .product-quantity, .product-subtotal) {
		grid-column: 1 / -1; justify-content: flex-end; gap: 8px; padding: 10px 0 !important; border-top: 1px solid var(--ys-border) !important;
	}
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-price { margin-top: 14px !important; }
	.ys-cart-page .shop_table.cart tr.cart_item > td:is(.product-price, .product-quantity, .product-subtotal)::before {
		float: none !important; margin: 0 auto 0 0 !important; font-size: 14px; font-weight: 500; color: var(--ys-text-2);
	}
	.ys-cart-page .shop_table.cart .product-price .ys-price-old { display: inline; margin: 0; }
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-quantity .quantity { margin: 0 !important; }

	/* «Итого» в корзине: подписи слева, суммы справа, как на компьютере. */
	.ys-cart-page .cart_totals .shop_table tr { display: flex !important; justify-content: space-between; align-items: baseline; gap: 12px; }
	.ys-cart-page .cart_totals .shop_table tr.cart-subtotal { display: none !important; }
	.ys-cart-page .cart_totals .shop_table th { display: block !important; padding: 6px 0 !important; text-align: left !important; }
	.ys-cart-page .cart_totals .shop_table td { display: block !important; padding: 6px 0 !important; text-align: right !important; }
	.ys-cart-page .cart_totals .shop_table td::before { display: none !important; content: none !important; }
	.ys-cart-page .cart_totals .shop_table tr.order-total th, .ys-cart-page .cart_totals .shop_table tr.order-total td { padding-top: 12px !important; }
}

/* Оформление, «Ваш заказ»: сумма товара всегда справа, старая цена под ней — на любом экране. */
.ys-checkout-page .wd-checkout-prod-cont { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: flex-start; gap: 12px; width: 100%; }
.ys-checkout-page .wd-checkout-prod-title { flex: 1 1 auto; min-width: 0; }
.ys-checkout-page .wd-checkout-prod-total { flex: none; display: flex !important; flex-direction: column-reverse; align-items: flex-end; gap: 2px; margin: 0 !important; text-align: right; white-space: nowrap; }

/* Шаги «Корзина — Оформление — Готово»: на узком экране прокручиваются. */
@media (max-width: 767px) {
	.ys-checkout-head { flex-wrap: wrap; max-width: 100%; }
	.ys-steps { max-width: 100%; overflow-x: auto; flex-wrap: nowrap !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; padding-bottom: 2px !important; }
	.ys-steps::-webkit-scrollbar { display: none; }
	.ys-steps li { flex: none; white-space: nowrap; }
}

/* Шапка телефона: плашка магазина ужимается и не заезжает на логотип при длинном адресе. */
@media (min-width: 360px) and (max-width: 1024px) {
	body .whb-general-header .ys-store-chip, body .whb-header-main .ys-store-chip, body .whb-header-top .ys-store-chip {
		flex-shrink: 1 !important; min-width: 0; max-width: min(200px, calc(100vw - 240px)) !important;
	}
}

/* Товара нет в выбранном магазине — пустую липкую полосу не показываем. */
body:has(.single-product-page.outofstock) .wd-sticky-btn,
.wd-sticky-btn:not(:has(form.cart:not(.ys-in-cart), .ys-qty-wrap)) { display: none !important; }
@media (max-width: 1024px) {
	body.ys-tbar-on:has(.single-product-page.outofstock) .scrollToTop { bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}

/* ===== 0.36.9 ===== */
@media (max-width: 768px) {
	/* Корзина: фото ровно в своей колонке, название не заезжает. */
	.ys-cart-page .shop_table.cart tbody tr.cart_item { grid-template-columns: 64px minmax(0, 1fr) 24px; }
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-thumbnail { width: 64px !important; max-width: 64px; overflow: hidden; }
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-thumbnail a { display: block; width: 64px; }
	.ys-cart-page .shop_table.cart tr.cart_item > td.product-thumbnail img { display: block; width: 64px !important; max-width: 64px !important; height: 64px !important; }

	/* «Итого»: строки «подпись — сумма» в одну линию, ровные небольшие отступы. */
	.ys-cart-page .cart_totals h2, .ys-cart-page .cart_totals .cart-totals-inner > h2 { margin: 0 0 10px !important; font-size: 20px !important; text-transform: none !important; }
	.ys-cart-page .cart_totals .shop_table, .ys-cart-page .cart_totals .shop_table tbody { display: block !important; width: 100% !important; }
	.ys-cart-page .cart_totals .shop_table tr { width: 100% !important; margin: 0 !important; padding: 0 !important; }
	.ys-cart-page .cart_totals .shop_table th, .ys-cart-page .cart_totals .shop_table td { width: auto !important; flex: 0 1 auto; margin: 0 !important; padding: 5px 0 !important; line-height: 1.4 !important; }
	.ys-cart-page .cart_totals .shop_table tr.order-total { margin-top: 8px !important; align-items: center; }
	.ys-cart-page .cart_totals .shop_table tr.order-total th, .ys-cart-page .cart_totals .shop_table tr.order-total td { padding: 12px 0 4px !important; }
	.ys-cart-page .wc-proceed-to-checkout { margin-top: 12px !important; padding: 0 !important; }
}

/* ===== 0.36.10 ===== */
/* «Итого» в корзине на телефоне: каждая строка — сетка «подпись | сумма», без центрирования. */
@media (max-width: 768px) {
	body.ys-cart-page .cart_totals table, body.ys-cart-page .cart_totals table tbody { display: block !important; width: 100% !important; }
	body.ys-cart-page .cart_totals table tr {
		display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: baseline; column-gap: 12px;
		width: 100% !important; margin: 0 !important; padding: 0 !important; float: none !important;
	}
	body.ys-cart-page .cart_totals table tr.cart-subtotal { display: none !important; }
	body.ys-cart-page .cart_totals table tr > th, body.ys-cart-page .cart_totals table tr > td {
		display: block !important; float: none !important; width: auto !important; max-width: none !important; flex: none !important;
		margin: 0 !important; padding: 5px 0 !important; line-height: 1.4 !important;
	}
	body.ys-cart-page .cart_totals table tr > th { grid-column: 1; text-align: left !important; }
	body.ys-cart-page .cart_totals table tr > td { grid-column: 2; text-align: right !important; white-space: nowrap; }
	body.ys-cart-page .cart_totals table tr > td::before, body.ys-cart-page .cart_totals table tr > td::after { display: none !important; content: none !important; }
	body.ys-cart-page .cart_totals table tr.order-total { align-items: center; margin-top: 6px !important; }
	body.ys-cart-page .cart_totals table tr.order-total > th, body.ys-cart-page .cart_totals table tr.order-total > td { padding: 12px 0 4px !important; }
}

/* ===== 0.36.11 ===== */
/* «Итого» в корзине на телефоне: тема ставит строкам таблицы flex-direction: column — возвращаем в строку. */
@media (max-width: 768px) {
	body.ys-cart-page .cart_totals .shop_table.shop_table_responsive tbody tr:not(.cart-subtotal) {
		display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
		justify-content: space-between !important; align-items: baseline !important; gap: 12px;
	}
	body.ys-cart-page .cart_totals .shop_table.shop_table_responsive tbody tr > :is(th, td) { flex: 0 1 auto !important; width: auto !important; }
	body.ys-cart-page .cart_totals .shop_table.shop_table_responsive tbody tr > th { text-align: left !important; }
	body.ys-cart-page .cart_totals .shop_table.shop_table_responsive tbody tr > td { text-align: right !important; margin-left: auto !important; }
}

/* ===== 0.36.12 ===== */
/* Корзина на телефоне: колонка фото по размеру фото (без обрезки), название всегда правее. */
@media (max-width: 768px) {
	body.ys-cart-page .shop_table.cart tbody tr.cart_item { grid-template-columns: auto minmax(0, 1fr) 24px !important; }
	body.ys-cart-page .shop_table.cart tr.cart_item > td.product-thumbnail { width: auto !important; max-width: none !important; min-width: 0 !important; overflow: visible !important; }
	body.ys-cart-page .shop_table.cart tr.cart_item > td.product-thumbnail :is(a, div, span) { display: block !important; width: 64px !important; max-width: 64px !important; margin: 0 !important; padding: 0 !important; }
	body.ys-cart-page .shop_table.cart tr.cart_item > td.product-thumbnail img {
		box-sizing: border-box !important; display: block !important; width: 64px !important; min-width: 64px !important; max-width: 64px !important; height: 64px !important;
		margin: 0 !important; object-fit: contain; position: static !important; transform: none !important;
	}
	body.ys-cart-page .shop_table.cart tr.cart_item > td.product-name { padding: 0 !important; margin: 0 !important; position: static !important; }
}

/* ===== 0.36.13 ===== */
/* Корзина: «−20%» — после зачёркнутой цены. */
.ys-price-oldline { white-space: nowrap; }
.ys-price-oldline .ys-sale-tag { margin-left: 4px; vertical-align: 1px; }
.ys-cart-page .shop_table.cart .product-price .ys-price-oldline { display: block; margin-top: 2px; }
.ys-cart-page .shop_table.cart .product-price .ys-price-oldline .ys-price-old { display: inline; margin: 0; }
@media (max-width: 768px) {
	.ys-cart-page .shop_table.cart .product-price .ys-price-oldline { display: inline; margin: 0; }
}
