/* Leola — стили темы («Редизайн-2», вечер 1, 18.10.2026). Только переменные theme.json (ТЗ §3.2–3.5, §4.3):
 * цвета — var(--wp--preset--color--*), шрифты — var(--wp--preset--font-family--*), углы 0, тени — только у всплывающего.
 * Эталон — design-src/redesign/v1/site/assets/{base,a}.css и v2/home-v2.css. Префикс lk- для своего, kid- — разметка mu-plugin.
 * Порядок: 1 основа · 2 шапка · 3 меню десктопа · 4 мобильное меню · 5 поиск · 6 корзина и языки · 7 футер · 8 cookie. */

/* ---------- 1. Основа ---------- */
:root {
	--lk-bg: var(--wp--preset--color--bg);
	--lk-sand: var(--wp--preset--color--sand);
	--lk-surface: var(--wp--preset--color--surface);
	--lk-ink: var(--wp--preset--color--ink);
	--lk-text2: var(--wp--preset--color--text-2);
	--lk-muted: var(--wp--preset--color--muted);
	--lk-line: var(--wp--preset--color--line);
	--lk-field: var(--wp--preset--color--field);
	--lk-accent-text: var(--wp--preset--color--accent-text);
	--lk-serif: var(--wp--preset--font-family--serif);
	--lk-sans: var(--wp--preset--font-family--sans);
	--lk-gutter: 20px;
	--lk-pop: var(--wp--preset--shadow--pop);
}
@media (min-width: 600px) { :root { --lk-gutter: 32px; } }
@media (min-width: 1024px) { :root { --lk-gutter: 40px; } }
@media (min-width: 1440px) { :root { --lk-gutter: 56px; } }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--lk-ink); outline-offset: 3px; }
.lk-only-d { display: none !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
@media (min-width: 1240px) { .lk-only-d { display: inline-flex !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } .lk-only-m { display: none !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } }
.lk-iconbtn { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; background: none; border: 0; color: inherit; cursor: pointer; }
.lk-iconbtn svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; }
.lk-cap { margin: 0; font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); }

/* ---------- 2. Шапка: полоса 32 px уходит при прокрутке, строка шапки липкая (№202) ---------- */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: -32px; z-index: 100; margin: 0; }
.lk-head { margin: 0; }
.lk-announce { display: flex; align-items: center; justify-content: center; height: 32px; margin: 0; padding: 0 var(--lk-gutter); background: var(--lk-sand); color: var(--lk-text2); font-size: 12px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lk-header { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; height: 56px; margin: 0; padding: 0 calc(var(--lk-gutter) - 12px); background: var(--lk-bg); border-bottom: 1px solid var(--lk-line); }
@media (min-width: 1240px) { .lk-header { height: 72px; padding: 0 var(--lk-gutter); } }
.lk-header > * { margin: 0; }
.lk-header__left { gap: 0; justify-self: start; min-width: 0; }
.lk-header__right { gap: 20px; justify-self: end; align-items: center; min-width: 0; }
.lk-logo { display: inline-flex; align-items: center; gap: 8px; color: var(--lk-ink); text-decoration: none; }
.lk-logo img { width: 30px; height: auto; display: block; }
.lk-logo__word { font: 400 15px/1 var(--lk-serif); letter-spacing: .22em; text-transform: uppercase; white-space: nowrap; }
@media (min-width: 1240px) { .lk-logo img { width: 34px; } .lk-logo__word { font-size: 17px; } }
.lk-textlink { font-size: 14px; color: var(--lk-ink); text-decoration: none; white-space: nowrap; }
.lk-textlink:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.lk-account-icon { display: none; } /* остаётся в разметке: kid-nav.js клонирует ссылку в мобильное меню */

/* ---------- 3. Меню десктопа (≥ 1240 px): строка ссылок, подменю — панель, «Каталог» — 5 колонок ---------- */
.lk-nav { font-size: 14px; }
.lk-nav .wp-block-navigation-item__content { color: var(--lk-ink); text-decoration: none; }
@media (min-width: 1240px) {
	.lk-nav .wp-block-navigation__container { flex-wrap: nowrap; gap: 14px; }
	.lk-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content { white-space: nowrap; }
	/* стрелки подменю не рисуем: подменю открывается наведением и фокусом (:focus-within ядра), ряд помещается с 1240 px */
	.lk-nav .wp-block-navigation__container > li > .wp-block-navigation__submenu-icon { display: none; }
	.lk-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
	.lk-nav .has-child > .wp-block-navigation__submenu-container {
		min-width: 240px; padding: 16px 0; background: var(--lk-surface); border: 1px solid var(--lk-line); box-shadow: var(--lk-pop); top: calc(100% + 22px);
	}
	.lk-nav .has-child > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -24px; height: 24px; } /* мостик: курсор не теряет меню */
	.lk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 7px 24px; font-size: 14px; line-height: 1.35; white-space: nowrap; }
	.lk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 4px; }
	/* «Каталог»: разделы — колонками, полки под ними списком (без вторых всплывающих окон) */
	.lk-nav li.kid-catalog-menu > .wp-block-navigation__submenu-container {
		display: grid; grid-template-columns: repeat(5, minmax(150px, 1fr)); gap: 8px 28px; width: min(1180px, calc(100vw - 2 * var(--lk-gutter) - 48px)); padding: 28px 28px 24px; box-sizing: border-box;
	}
	.lk-nav li.kid-catalog-menu > .wp-block-navigation__submenu-container > li { display: block; }
	.lk-nav li.kid-catalog-menu > .wp-block-navigation__submenu-container > li > .wp-block-navigation-item__content { display: block; width: 100%; padding: 0 0 10px; font: 300 20px/1.2 var(--lk-serif); text-align: left; white-space: normal; }
	.lk-nav li.kid-catalog-menu > .wp-block-navigation__submenu-container > li > .wp-block-navigation__submenu-icon { display: none; }
	.lk-nav li.kid-catalog-menu .has-child > .wp-block-navigation__submenu-container {
		position: static; visibility: visible; opacity: 1; width: auto; height: auto; min-width: 0;
		padding: 0; border: 0; box-shadow: none; background: none; overflow: visible;
	}
	.lk-nav li.kid-catalog-menu .has-child > .wp-block-navigation__submenu-container::before { display: none; }
	.lk-nav li.kid-catalog-menu .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 4px 0; font-size: 13.5px; color: var(--lk-text2); white-space: normal; }
	.lk-nav li.kid-catalog-menu__all { grid-column: 1 / -1; order: 2; padding-top: 12px; margin-top: 8px; border-top: 1px solid var(--lk-line); }
	.lk-nav li.kid-catalog-menu__all > .wp-block-navigation-item__content { padding: 0 !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ font-size: 14px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ font-family: var(--lk-sans) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ text-decoration: underline; text-underline-offset: 5px; }
}
/* 600–1239 px: бургер, как на телефоне (ядро переключает только на 600 px) */
@media (min-width: 1240px) and (max-width: 1439px) { .lk-nav .wp-block-navigation__container { gap: 11px; } .lk-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content { font-size: 13px; } .lk-header__right { gap: 16px; } .lk-search .wp-block-search__inside-wrapper { width: 140px; } }
@media (min-width: 1440px) { .lk-nav .wp-block-navigation__container { gap: 22px; } }
@media (min-width: 600px) and (max-width: 1239px) {
	.lk-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; position: fixed; width: auto; z-index: auto; background-color: transparent; }
	.lk-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close { display: block; }
	.lk-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
}
.lk-nav .wp-block-navigation__responsive-container-open { width: 44px; height: 44px; align-items: center; justify-content: center; color: var(--lk-ink); }
.lk-nav .wp-block-navigation__responsive-container-open svg { width: 24px; height: 24px; }

/* ---------- 4. Мобильное меню (< 1240 px): оверлей блока навигации + kid-nav.js (.kid-mnav) ----------
 * Перенос логики CSS-секции 50 Sage & Stone на токены ТЗ: каталог «плоский» — 5 разделов строками корневого списка,
 * «Все товары» после них, остальные пункты ниже; разделы — шрифтом заголовков (ТЗ 3.6 Mobile menu); подменю — аккордеон .kid-open. */
@media (max-width: 1239px) {
	.kid-mnav .wp-block-navigation__responsive-container.is-menu-open { background: var(--lk-bg); color: var(--lk-ink); padding: 0; }
	.kid-mnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog { padding: 0 var(--lk-gutter) 32px; }
	.kid-mnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { top: 6px; left: calc(var(--lk-gutter) - 12px); right: auto; width: 44px; height: 44px; padding: 10px; color: var(--lk-ink); }
	.kid-mnav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { display: flex; flex-direction: column; align-items: stretch; gap: 0; padding-top: 64px; }
	.kid-mnav__search { margin: 0 0 8px; }
	.kid-mnav__form { margin: 0; }
	.kid-mnav__form .wp-block-search__inside-wrapper { display: flex; align-items: center; gap: 8px; padding: 0; background: none; border: 0; border-bottom: 1px solid var(--lk-field); border-radius: 0; }
	.kid-mnav__form .wp-block-search__input { flex: 1 1 auto; min-width: 0; height: 48px; padding: 0; border: 0; background: transparent; box-shadow: none; outline: none; font: 400 16px/1 var(--lk-sans); color: var(--lk-ink); }
	.kid-mnav__form .wp-block-search__input::placeholder { color: var(--lk-muted); }
	.kid-mnav__form .wp-block-search__button { flex: 0 0 auto; width: 44px; height: 44px; margin: 0; padding: 0; border: 0; border-radius: 0; background: none; color: var(--lk-ink); display: flex; align-items: center; justify-content: center; }
	.kid-mnav__form .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container { display: flex; flex-direction: column; align-items: stretch; gap: 0; width: 100%; margin: 0; padding: 0; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li.kid-catalog-menu,
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li.kid-catalog-menu > .wp-block-navigation__submenu-container { display: contents; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li.kid-catalog-menu > a,
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li.kid-catalog-menu > button { display: none; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li:not(.kid-catalog-menu) { order: 2; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.kid-catalog-menu__all { order: 1; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li,
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.kid-catalog-menu > ul > li { display: block; width: 100%; margin: 0; padding: 0; border-bottom: 1px solid var(--lk-line); }
	/* разделы каталога — крупно шрифтом заголовков */
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.kid-catalog-menu > ul > li > a.wp-block-navigation-item__content {
		display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 60px; margin: 0; padding: 8px 0;
		background: none; border: 0; font: 300 24px/1.15 var(--lk-serif); letter-spacing: -.01em; text-transform: none; text-align: left; color: var(--lk-ink); text-decoration: none;
	}
	/* прочие пункты — текстом */
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li > a,
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container > li > button.wp-block-navigation-item__content {
		display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 52px; margin: 0; padding: 12px 0;
		background: none; border: 0; font: 400 16px/1.3 var(--lk-sans); letter-spacing: 0; text-transform: none; text-align: left; color: var(--lk-ink); text-decoration: none;
	}
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.kid-catalog-menu > ul > li.kid-catalog-menu__all > a.wp-block-navigation-item__content { min-height: 52px; font: 400 15px/1.3 var(--lk-sans); color: var(--lk-text2); text-decoration: underline; text-underline-offset: 5px; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.has-child > a::after,
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.has-child > button.wp-block-navigation-item__content::after { content: "+"; flex: 0 0 auto; font: 300 22px/1 var(--lk-sans); color: var(--lk-ink); }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.has-child.kid-open > a::after,
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.has-child.kid-open > button.wp-block-navigation-item__content::after { content: "−"; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation__submenu-icon { display: none; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .has-child > .wp-block-navigation__submenu-container { display: none; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .has-child.kid-open > .wp-block-navigation__submenu-container {
		display: grid; grid-template-columns: 1fr; gap: 0 16px; position: static; width: 100%; min-width: 0; margin: 0; padding: 0 0 14px;
		background: transparent; border: 0; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; overflow: visible;
	}
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .has-child.kid-open > .wp-block-navigation__submenu-container::before { display: none; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .has-child.kid-open > .wp-block-navigation__submenu-container > li { display: block; width: auto; margin: 0; padding: 0; border: 0; }
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .has-child.kid-open > .wp-block-navigation__submenu-container > li > a {
		display: block; margin: 0; padding: 9px 0; background: none; border-radius: 0; text-decoration: none; font: 400 15px/1.35 var(--lk-sans); letter-spacing: 0; text-transform: none; color: var(--lk-text2);
	}
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .has-child.kid-open > .wp-block-navigation__submenu-container > li.kid-hub-menu__all > a { color: var(--lk-ink); grid-column: 1 / -1; text-decoration: underline; text-underline-offset: 5px; }
	.kid-mnav__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 24px 0 0; }
	.kid-mnav__langs { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
	.kid-mnav__langs li { margin: 0; padding: 0; list-style: none; }
	.kid-mnav__langs a { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; padding: 0 6px; font-size: 14px; color: var(--lk-muted); text-decoration: none; }
	.kid-mnav__langs li.current-lang a { color: var(--lk-ink); text-decoration: underline; text-underline-offset: 5px; }
	.kid-mnav__account { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; color: var(--lk-ink); text-decoration: underline; text-underline-offset: 5px; }
}
@media (min-width: 360px) and (max-width: 1239px) {
	.kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content .has-child.kid-open > .wp-block-navigation__submenu-container { grid-template-columns: 1fr 1fr; }
}

/* ---------- 5. Поиск: на десктопе — строка «Поиск ____» с подчёркиванием, результаты kid-search.js ---------- */
.lk-search { margin: 0; display: none; }
@media (min-width: 1240px) { .lk-search { display: block; } }
.lk-search .wp-block-search__inside-wrapper { display: flex; align-items: center; width: 168px; padding: 0; background: none; border: 0; border-bottom: 1px solid var(--lk-field); border-radius: 0; }
.lk-search .wp-block-search__input { min-width: 0; height: 32px; padding: 0; border: 0; background: transparent; box-shadow: none; outline: none; font: 400 14px/1 var(--lk-sans); color: var(--lk-ink); }
.lk-search .wp-block-search__input::placeholder { color: var(--lk-ink); }
.lk-search .wp-block-search__input:focus::placeholder { color: var(--lk-muted); }
.lk-search .wp-block-search__button { width: 28px; height: 32px; margin: 0; padding: 0; border: 0; background: none; color: var(--lk-ink); }
.lk-search .wp-block-search__button svg { width: 18px; height: 18px; fill: currentColor; }
.kid-search-host { position: relative; }
.kid-search { position: absolute; right: 0; top: calc(100% + 10px); z-index: 1100; width: min(92vw, 420px); padding: 8px 0; background: var(--lk-surface); border: 1px solid var(--lk-line); box-shadow: var(--lk-pop); display: none; text-align: left; }
.kid-search.is-open { display: block; }
.kid-search__item { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 6px 16px; color: var(--lk-ink); text-decoration: none; font-size: 14px; line-height: 1.3; }
.kid-search__item:hover, .kid-search__item.is-active { background: var(--lk-sand); }
.kid-search__thumb { width: 44px; height: 55px; flex: 0 0 44px; object-fit: contain; background: var(--lk-sand); mix-blend-mode: multiply; display: block; }
.kid-search__name { flex: 1 1 auto; min-width: 0; }
.kid-search__price { flex: 0 0 auto; white-space: nowrap; font-variant-numeric: tabular-nums; }
.kid-search__out { font-size: 12px; color: var(--lk-muted); }
.kid-search__all { display: block; padding: 12px 16px 8px; font-size: 14px; color: var(--lk-ink); text-decoration: underline; text-underline-offset: 5px; }
.kid-search__empty { padding: 14px 16px; color: var(--lk-muted); font-size: 14px; }
.kid-search__live { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.kid-mnav__search .kid-search { position: static; width: auto; margin-top: 8px; box-shadow: none; }

/* ---------- 6. Корзина «Корзина (N)» текстом на десктопе, значок с числом на телефоне; языки «RU · EN · ET» ---------- */
.lk-cart .wc-block-mini-cart__button { display: inline-flex; align-items: center; gap: 4px; min-width: 44px; min-height: 44px; padding: 0 6px; color: var(--lk-ink); font: 400 14px/1 var(--lk-sans); }
.lk-cart .wc-block-mini-cart__icon { width: 22px; height: 22px; }
.lk-cart .wc-block-mini-cart__badge { background: var(--lk-ink); color: var(--lk-surface); border: 0; font-size: 10px; min-width: 16px; height: 16px; }
@media (min-width: 1240px) {
	.lk-cart .wc-block-mini-cart__icon, .lk-cart .wc-block-mini-cart__quantity-badge svg { display: none; }
	.lk-cart .wc-block-mini-cart__button::before { content: var(--leola-basket); }
	.lk-cart .wc-block-mini-cart__quantity-badge { display: inline-flex; }
	.lk-cart .wc-block-mini-cart__badge { position: static; transform: none; min-width: 0; height: auto; padding: 0; margin: 0; background: none; color: var(--lk-ink); font-size: 14px; font-weight: 400; }
	.lk-cart .wc-block-mini-cart__badge::before { content: "("; }
	.lk-cart .wc-block-mini-cart__badge::after { content: ")"; }
	.lk-cart .wc-block-mini-cart__button:hover { text-decoration: underline; text-underline-offset: 6px; }
}
.lk-langs { display: none; }
@media (min-width: 1240px) {
	.lk-langs { display: flex; align-items: center; gap: 0; margin: 0; padding: 0; list-style: none; font-size: 13px; }
	.lk-langs li { list-style: none; margin: 0; padding: 0; }
	.lk-langs li + li::before { content: "·"; padding: 0 6px; color: var(--lk-muted); }
	.lk-langs a { color: var(--lk-muted); text-decoration: none; }
	.lk-langs li.current-lang a { color: var(--lk-ink); }
	.lk-langs a:hover { color: var(--lk-ink); text-decoration: underline; text-underline-offset: 5px; }
}

/* ---------- 7. Футер — светлый, 4 колонки, оплата строкой (ТЗ §2.1 п. 13) ---------- */
.wp-site-blocks > footer.wp-block-template-part { margin-top: clamp(64px, 10vw, 150px); }
.lk-footer { margin: 0; padding: 56px var(--lk-gutter) 24px; background: var(--lk-sand); color: var(--lk-ink); font-size: 14px; }
.lk-footer__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 32px 16px; max-width: 1328px; margin: 0 auto; }
.lk-footer__brand { grid-column: 1 / -1; display: grid; gap: 10px; justify-items: start; }
.lk-footer__brand p { margin: 0; color: var(--lk-muted); }
@media (min-width: 1024px) { .lk-footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr 1fr; gap: 32px 24px; } .lk-footer__brand { grid-column: auto; } }
.lk-footer__col h2 { margin: 0 0 12px; font-size: 10.5px; }
.lk-footer__col ul { margin: 0; padding: 0; list-style: none; }
.lk-footer__col li a { display: inline-block; padding: 5px 0; color: var(--lk-text2); text-decoration: none; }
.lk-footer__col li a:hover { color: var(--lk-ink); text-decoration: underline; text-underline-offset: 4px; }
.lk-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; max-width: 1328px; margin: 48px auto 0; padding-top: 20px; border-top: 1px solid var(--lk-line); color: var(--lk-muted); font-size: 12.5px; }
.lk-footer__bottom a { color: var(--lk-muted); }

/* ---------- 8. Cookie — узкая полоса внизу (ТЗ 3.6), разметка mu-фикса 4 ---------- */
.kid-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 900; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; padding: 10px var(--lk-gutter); background: var(--lk-surface); border-top: 1px solid var(--lk-line); box-shadow: var(--lk-pop); font-size: 13px; line-height: 1.4; }
.kid-cookie__text { flex: 1 1 280px; margin: 0; color: var(--lk-text2); }
.kid-cookie__text a { color: var(--lk-ink); }
.kid-cookie__actions { display: flex; gap: 8px; }
.kid-cookie__btn { min-height: 40px; padding: 0 18px; border: 1px solid var(--lk-ink); border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 12px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }

/* ---------- 9. Старая карточка каталога (фикс 12): второй кадр в новой теме не нужен ---------- */
.kid-hover-img { display: none !important; /* !important: состояние вне замера 4.5 — оставлено */ }

/* ---------- 10. Карточка товара («Редизайн-2», вечер 2; эталон v1/a-product-*) ---------- */
.lk-pdp { margin: 0 auto; max-width: calc(1328px + 2 * var(--lk-gutter)); padding: 0 var(--lk-gutter) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-crumbs, .lk-pdp .woocommerce-breadcrumb { margin: 0; padding: 16px 0; font-size: 12.5px; color: var(--lk-muted); }
.lk-crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.lk-crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--lk-muted); }
@media (max-width: 599px) { .lk-crumbs li:not(.is-last) { display: none; } .lk-crumbs li.is-last::before { content: "‹"; margin-right: 6px; } }
.lk-crumbs a { color: var(--lk-muted); text-decoration: none; }
.lk-crumbs a:hover { text-decoration: underline; }
.lk-pdp__grid { display: grid; gap: 24px; margin: 0; }
@media (min-width: 1024px) { .lk-pdp__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 56px; align-items: start; } }
.lk-pdp__grid > :not(.lk-gallery) { margin: 0; } /* галерея на телефоне выходит под край экрана своими отрицательными полями */
/* галерея */
.lk-gallery { position: relative; margin: 0 calc(-1 * var(--lk-gutter)); }
.lk-gallery__track { display: grid; grid-auto-flow: column; grid-auto-columns: 92%; gap: 8px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--lk-gutter); padding: 0 var(--lk-gutter); scrollbar-width: none; }
.lk-gallery__track::-webkit-scrollbar { display: none; }
.lk-gallery__item { margin: 0; scroll-snap-align: start; /* первый кадр — по полю страницы (замечание PM к вечеру 2) */ aspect-ratio: 4 / 5; background: var(--lk-sand); overflow: hidden; }
.lk-gallery__open { display: block; width: 100%; height: 100%; padding: 0; border: 0; background: none; cursor: zoom-in; }
.lk-gallery__item img { display: block; box-sizing: border-box; max-width: none; width: 100%; height: 100%; object-fit: cover; }
.lk-gallery__item.is-first img { object-fit: contain; padding: 8%; mix-blend-mode: multiply; }
.lk-gallery__count { margin: 10px var(--lk-gutter) 0; font-size: 12px; color: var(--lk-muted); text-align: right; font-variant-numeric: tabular-nums; }
.lk-gallery__all { margin: 16px 0 0; min-height: 44px; padding: 0 20px; border: 1px solid var(--lk-ink); background: none; color: var(--lk-ink); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
@media (max-width: 1023px) { .lk-gallery__all { margin-left: var(--lk-gutter); } }
@media (min-width: 1024px) {
	.lk-gallery { margin: 0; }
	.lk-gallery__track { grid-auto-flow: row; grid-template-columns: 1fr 1fr; grid-auto-columns: auto; overflow: visible; padding: 0; gap: 20px; }
	.lk-gallery__item.is-wide { grid-column: 1 / -1; aspect-ratio: 16 / 10; }
	.lk-gallery__count { display: none; }
}
.lk-lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: var(--lk-bg); }
.lk-lightbox::backdrop { background: rgba(20, 18, 15, .45); }
.lk-lightbox__track { display: grid; grid-auto-flow: column; grid-auto-columns: 100%; height: 100%; overflow-x: auto; scroll-snap-type: x mandatory; }
.lk-lightbox__item { margin: 0; scroll-snap-align: center; display: flex; align-items: center; justify-content: center; padding: 56px 16px 24px; }
.lk-lightbox__item img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lk-lightbox__close { position: fixed; top: 8px; right: 8px; z-index: 2; width: 44px; height: 44px; padding: 10px; border: 0; background: var(--lk-bg); color: var(--lk-ink); cursor: pointer; }
.lk-lightbox__close svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; }
/* блок покупки */
.lk-buy { display: grid; gap: 18px; align-content: start; }
.lk-buy > * { margin: 0; }
@media (min-width: 1024px) { .lk-buy { position: sticky; top: 96px; } }
.lk-pdp__title { margin: 0; font: 300 clamp(28px, 3.2vw, 46px)/1.1 var(--lk-serif); letter-spacing: -.02em; }
.lk-brand { display: block; margin-bottom: 10px; font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); }
.lk-pdp__price, .lk-pdp__price .wc-block-components-product-price { font-size: 20px; font-weight: 400; font-variant-numeric: tabular-nums; color: var(--lk-ink); }
.lk-pdp__lead, .lk-pdp__lead p { margin: 0; color: var(--lk-text2); font-size: 15px; line-height: 1.55; }
@media (min-width: 1024px) { .lk-pdp__lead, .lk-pdp__lead p { font-size: 16px; } }
/* форма Woo: варианты, одна тёмная кнопка во всю ширину; служебные строки mu-plugin заменены [leola_avail] */
.lk-pdp__form form.cart { display: grid; gap: 16px; margin: 0; }
.lk-pdp__form table.variations { display: block; margin: 0; border: 0; }
.lk-pdp__form table.variations tbody { display: grid; gap: 18px; }
.lk-pdp__form table.variations tr { display: grid; gap: 10px; }
.lk-pdp__form table.variations th, .lk-pdp__form table.variations td { display: block; padding: 0; border: 0; text-align: left; background: none; }
.lk-pdp__form table.variations th label { font: 400 13px/1.3 var(--lk-sans); color: var(--lk-muted); text-transform: none; letter-spacing: 0; }
.lk-sel-name { margin-left: 4px; color: var(--lk-ink); }
.lk-pdp__form .reset_variations, .lk-pdp__form .woocommerce-variation-availability, .lk-pdp__form .stock, .lk-pdp__form .quantity, .kid-avail, .woocommerce-variation-price { display: none !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-pdp__form .kid-has-swatches select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.kid-swatches { display: flex; flex-wrap: wrap; gap: 8px; }
.kid-swatch { min-height: 44px; padding: 0 16px; border: 1px solid var(--lk-line); border-radius: 0; background: transparent; color: var(--lk-ink); font: 400 14px/1 var(--lk-sans); cursor: pointer; }
.kid-swatch.is-selected { border-color: var(--lk-ink); box-shadow: inset 0 0 0 1px var(--lk-ink); }
.kid-swatch.is-disabled { color: var(--lk-muted); text-decoration: line-through; cursor: not-allowed; }
/* цвет — кружки (ТЗ 3.6), подпись — в aria-label и рядом с «Цвет:» */
.kid-swatches--color .kid-swatch.lk-sw { position: relative; width: 44px; height: 44px; min-height: 0; padding: 0; border: 1px solid transparent; border-radius: 50%; font-size: 0; }
.kid-swatches--color .kid-swatch.lk-sw::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--lk-sw, var(--lk-sand)); box-shadow: inset 0 0 0 1px rgba(31, 29, 26, .12); }
.kid-swatches--color .kid-swatch.lk-sw.is-selected { border-color: var(--lk-ink); box-shadow: inset 0 0 0 1px var(--lk-ink); }
.kid-swatches--color .kid-swatch.lk-sw.is-disabled::after { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 1px; background: var(--lk-ink); transform: rotate(-45deg); }
.lk-pdp__form .single_add_to_cart_button { width: 100%; min-height: 52px; margin: 0; border: 1px solid var(--lk-ink); border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 13px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; opacity: 1 !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ cursor: pointer; }
.lk-pdp__form .single_add_to_cart_button:hover { background: var(--lk-text2) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
.lk-pdp__form, .lk-pdp__form form.cart, .lk-pdp__form .single_variation_wrap { width: 100%; }
/* блок формы Woo задаёт сетку «количество | кнопка»; количество спрятано — одна колонка во всю ширину */
.lk-pdp .lk-pdp__form.wc-block-add-to-cart-form--input form.cart { grid-auto-flow: row; }
.lk-pdp .lk-pdp__form.wc-block-add-to-cart-form--input form.cart,
.lk-pdp .lk-pdp__form.wc-block-add-to-cart-form--input form.cart .woocommerce-variation-add-to-cart { display: grid; grid-auto-flow: row; grid-template-columns: minmax(0, 1fr); }
.lk-pdp .lk-pdp__form.wc-block-add-to-cart-form--input form.cart .single_add_to_cart_button { grid-column: 1 / -1; justify-self: stretch; }
.lk-pdp__form .woocommerce-variation-add-to-cart, .lk-pdp__form form.cart:not(.variations_form) { display: grid; grid-template-columns: minmax(0, 1fr); gap: 8px; width: 100%; }
.lk-buy:has(.lk-avail.is-out) .lk-pdp__form, .lk-buy:has(.lk-avail.is-out) ~ * .kid-sticky-buy { display: none !important; /* !important: состояние вне замера 4.5 — оставлено */ } /* нет в наличии — кнопки нет (Woo рисует неактивную) */
.kid-var-hint { display: none; margin: 0; font-size: 13px; color: var(--lk-accent-text); }
.lk-need-choice .kid-var-hint { display: block; }
.lk-need-choice .kid-swatches .kid-swatch:not(.is-disabled) { border-color: var(--lk-accent-text); }
.lk-avail { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; font-size: 13px; color: var(--lk-text2); }
.lk-avail li { display: flex; align-items: baseline; gap: 8px; }
.lk-avail li:not(:first-child) { padding-left: 15px; }
.lk-dot-state { width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--success); flex: none; transform: translateY(-1px); }
.lk-avail.is-made .lk-dot-state { background: var(--lk-accent-text); }
.lk-avail.is-out .lk-dot-state { background: var(--lk-muted); }
/* «Что вы получаете» */
.lk-facts { display: grid; gap: 16px; padding: 24px; background: var(--lk-sand); }
.lk-facts__title { margin: 0; font: 300 clamp(20px, 1.8vw, 24px)/1.25 var(--lk-serif); }
.lk-facts dl { display: grid; gap: 14px; margin: 0; }
@media (min-width: 600px) { .lk-facts dl { grid-template-columns: 1fr 1fr; gap: 18px 24px; } }
.lk-facts dt { font-size: 13px; font-weight: 500; }
.lk-facts dd { margin: 2px 0 0; font-size: 13px; color: var(--lk-text2); }
.lk-facts__src { margin: 0; font-size: 12px; color: var(--lk-muted); }
/* аккордеоны */
.lk-acc { border-top: 1px solid var(--lk-line); }
.lk-acc details { border-bottom: 1px solid var(--lk-line); }
.lk-acc summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; list-style: none; font-size: 15px; }
.lk-acc summary::-webkit-details-marker { display: none; }
.lk-acc summary::after { content: "+"; margin-left: auto; padding-left: 12px; font-size: 20px; font-weight: 300; }
.lk-acc__title { margin: 0; font: inherit; letter-spacing: inherit; } /* h2 — для порядка заголовков (h3 описания внутри), вид прежний */
.lk-acc details[open] summary::after { content: "−"; }
.lk-acc__body { display: grid; gap: 10px; padding: 0 0 20px; font-size: 14px; color: var(--lk-text2); }
.lk-acc__body > * { margin: 0; }
.lk-acc__body h2, .lk-acc__body h3, .lk-acc__body h4 { margin: 10px 0 0; font: 500 14px/1.4 var(--lk-sans); letter-spacing: 0; color: var(--lk-ink); }
.lk-acc__body ul { display: grid; gap: 6px; margin: 0; padding-left: 16px; }
.lk-acc__body strong { color: var(--lk-ink); font-weight: 500; }
.lk-acc__src { font-size: 12px; color: var(--lk-muted); }
/* липкая кнопка на телефоне (разметка — mu-фикс 30) */
.kid-sticky-buy { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; display: flex; align-items: center; gap: 12px; padding: 10px var(--lk-gutter) calc(10px + env(safe-area-inset-bottom)); background: var(--lk-bg); border-top: 1px solid var(--lk-line); }
.kid-sticky-buy[hidden] { display: none; }
.kid-sticky-buy__price { flex: 1; font-size: 16px; font-variant-numeric: tabular-nums; }
.kid-sticky-buy__btn { min-height: 48px; padding: 0 22px; border: 0; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
@media (min-width: 1024px) { .kid-sticky-buy { display: none; } }
/* «Из той же комнаты» */
.lk-related { padding-top: clamp(64px, 10vw, 150px); }
.lk-section__head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
@media (min-width: 1024px) { .lk-section__head { margin-bottom: 40px; } }
.lk-h2 { margin: 0; font: 300 clamp(26px, 3vw, 44px)/1.12 var(--lk-serif); letter-spacing: -.01em; }
.lk-link { font-size: 14px; color: var(--lk-ink); text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }

/* ---------- 11. Карточка сетки (ТЗ §3.7; общая для «похожих», каталога и полок) ---------- */
.lk-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 600px) { .lk-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 16px; } }
@media (min-width: 1024px) { .lk-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 20px; } }
.lk-card { position: relative; min-width: 0; margin: 0; }
.lk-card__media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--lk-sand); }
.lk-card .lk-card__img, .lk-card .lk-card__img2 { position: absolute; inset: 0; box-sizing: border-box; width: 100%; height: 100%; max-width: none; object-fit: contain; padding: 12%; mix-blend-mode: multiply; transition: opacity .25s ease-out, transform .25s ease-out; } /* через .lk-card — иначе .woocommerce-page img { height: auto } (0,1,1) сбивает высоту, и кадр вылезал за ячейку */
.lk-card .lk-card__img2 { display: none; opacity: 0; object-fit: cover; padding: 0; mix-blend-mode: normal; pointer-events: none; }
@media (hover: hover) and (min-width: 1024px) { .lk-card .lk-card__img2 { display: block; } .lk-card:hover .lk-card__img2 { opacity: 1; transform: scale(1.03); } } /* на телефоне второй кадр скрыт — loading=lazy его и не качает */
.lk-label { position: absolute; left: 9px; top: 9px; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--lk-text2); }
@media (min-width: 1024px) { .lk-label { left: 14px; top: 14px; font-size: 10.5px; } }
.lk-card__add { position: absolute; right: 0; top: 0; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; margin-top: calc(125% - 44px); color: var(--lk-ink); }
.lk-card__add svg { width: 28px; height: 28px; padding: 6px; fill: none; stroke: currentColor; stroke-width: 1.4; background: var(--lk-bg); border: 1px solid var(--lk-ink); }
@media (min-width: 1024px) { .lk-card__add { width: 48px; height: 48px; margin-top: calc(125% - 48px); } .lk-card__add svg { width: 34px; height: 34px; padding: 8px; } }
.lk-card__add.added svg, .lk-card__add.loading svg { background: var(--lk-ink); stroke: var(--lk-surface); }
.lk-card .added_to_cart { display: none; }
.lk-card__brand { margin: 10px 0 0; font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 1024px) { .lk-card__brand { margin-top: 16px; font-size: 10.5px; } }
.lk-card__title { margin: 4px 0 0; font: 400 13px/1.35 var(--lk-sans); letter-spacing: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
@media (min-width: 1024px) { .lk-card__title { font-size: 15px; } }
.lk-card__title a { color: var(--lk-ink); text-decoration: none; }
.lk-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.lk-card__row { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 6px 0 0; }
.lk-card__price { font-size: 13px; font-variant-numeric: tabular-nums; white-space: nowrap; }
@media (min-width: 1024px) { .lk-card__price { font-size: 15px; } }
.lk-dots { display: flex; align-items: center; gap: 4px; min-width: 0; }
.lk-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; background: var(--lk-sand); }
.lk-dot.is-light { box-shadow: inset 0 0 0 1px var(--lk-field); }
@media (min-width: 1024px) { .lk-dot { width: 10px; height: 10px; } }
.lk-dots__more { font-size: 11px; color: var(--lk-muted); }
.lk-card__note { margin: 4px 0 0; font-size: 12px; color: var(--lk-accent-text); }
.lk-card.is-out .lk-card__media img { opacity: .6; }

/* ---------- 12. Каталог, разделы, полки («Редизайн-2», вечер 3; эталон v1/a-category-*) ---------- */
.lk-cat { margin: 0 auto; max-width: calc(1328px + 2 * var(--lk-gutter)); padding: 0 var(--lk-gutter) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-cat > * { margin-top: 0; margin-bottom: 0; }
/* шапка категории: текст слева, фото комнаты справа; на телефоне фото во всю ширину под текстом */
.lk-cathero { display: grid; gap: 20px; padding-bottom: 8px; }
.lk-cathero__text { display: grid; gap: 14px; align-content: end; }
.lk-cathero__text .lk-crumbs { padding: 16px 0 4px; }
.lk-cathero__title { margin: 0; font: 300 clamp(40px, 5.8vw, 84px)/1.02 var(--lk-serif); letter-spacing: -.02em; }
.lk-cathero__desc { margin: 0; max-width: 52ch; font-size: 15px; line-height: 1.55; color: var(--lk-text2); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lk-cathero__switch { display: flex; flex-wrap: wrap; gap: 8px 20px; margin: 4px 0 0; font-size: 14px; }
.lk-cathero__switch a { color: var(--lk-muted); text-decoration: none; padding: 10px 0; }
.lk-cathero__switch a[aria-current] { color: var(--lk-ink); text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 1px; }
.lk-cathero__photo { margin: 0 calc(-1 * var(--lk-gutter)); aspect-ratio: 4 / 3; overflow: hidden; background: var(--lk-sand); }
.lk-cathero__photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
@media (min-width: 1024px) {
	.lk-cathero { grid-template-columns: 5fr 7fr; gap: 56px; min-height: 480px; padding-bottom: 40px; }
	.lk-cathero.is-text { grid-template-columns: 1fr; min-height: 0; padding-bottom: 0; }
	.lk-cathero__text { padding-bottom: 24px; }
	.lk-cathero__photo { margin: 0; aspect-ratio: auto; height: clamp(420px, 38vw, 560px); } /* фото во всю ячейку (cover), высота не зависит от формы кадра */
	.lk-cathero__desc { font-size: 16px; }
}
/* подкатегории миниатюрами: лента на телефоне */
.lk-subcats { display: grid; grid-auto-flow: column; grid-auto-columns: 86px; gap: 12px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--lk-gutter); margin: 24px calc(-1 * var(--lk-gutter)) 0 !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ padding: 0 var(--lk-gutter) 4px; list-style: none; scrollbar-width: none; }
.lk-subcats::-webkit-scrollbar { display: none; }
@media (min-width: 1024px) { .lk-subcats { grid-auto-columns: 118px; gap: 20px; margin-top: 40px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } }
.lk-subcats li { scroll-snap-align: start; }
.lk-subcats a { display: grid; gap: 8px; color: var(--lk-ink); text-decoration: none; font-size: 12px; line-height: 1.3; text-align: center; }
@media (min-width: 1024px) { .lk-subcats a { font-size: 13px; } }
.lk-subcats__img { display: block; aspect-ratio: 1; overflow: hidden; background: var(--lk-sand); }
.lk-subcats__img img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease-out; }
.lk-subcats a:hover img { transform: scale(1.03); }
.lk-subcats li.is-current .lk-subcats__img { box-shadow: inset 0 0 0 2px var(--lk-ink); }
.lk-subcats li.is-current img { opacity: .85; }
.lk-subcats li.is-current .lk-subcats__name { text-decoration: underline; text-underline-offset: 4px; }
/* панель «Фильтр · N моделей · Сортировка» — липкая под шапкой */
.lk-collection { margin-top: 0; }
.lk-toolbar { position: sticky; top: 56px; z-index: 30; display: flex; align-items: center; gap: 12px; margin: 24px calc(-1 * var(--lk-gutter)) 24px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ padding: 8px var(--lk-gutter); background: var(--lk-bg); border-top: 1px solid var(--lk-line); border-bottom: 1px solid var(--lk-line); }
@media (min-width: 1240px) { .lk-toolbar { top: 72px; margin-top: 40px !important; margin-bottom: 40px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } }
.lk-toolbar > * { margin: 0; }
.lk-toolbar:has(.is-overlay-opened) { z-index: 1000; } /* панель фильтров Woo (слой 9999) живёт внутри липкой полосы — пока открыта, полоса выше шапки */
.lk-toolbar__count { font-size: 13px; color: var(--lk-muted); }
@media (max-width: 599px) { .lk-toolbar__count { display: none; } }
.lk-sort { margin-left: auto !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-sort select, .lk-sort .orderby { min-height: 44px; padding: 0 28px 0 10px; border: 0; border-radius: 0; background-color: transparent; color: var(--lk-ink); font: 400 13px/1 var(--lk-sans); cursor: pointer; }
/* кнопка «Фильтр» блока Woo и выдвижная панель (400 px слева на десктопе, во весь экран на телефоне) */
.lk-filters .wc-block-product-filters__open-overlay { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; border: 1px solid var(--lk-ink); border-radius: 0; background: transparent; color: var(--lk-ink); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.lk-filters .wc-block-product-filters__open-overlay svg { width: 18px; height: 18px; }
.lk-filters .wc-block-product-filters__overlay-dialog { background: var(--lk-bg); border-radius: 0; } /* обёртку не красим: закрытую панель Woo прячет прозрачностью */
@media (min-width: 600px) { .lk-filters .wc-block-product-filters__overlay-dialog { width: 400px; max-width: 100vw; } }
.lk-filters .wc-block-product-filters__overlay-header, .lk-filters .wc-block-product-filters__overlay-footer { border-color: var(--lk-line); }
.lk-filters .wc-block-product-filters__close-overlay { box-sizing: content-box; padding: 10px; margin: -10px; } /* зона нажатия 44 px, значок прежний */
.lk-filters:not(.is-overlay-opened) .wc-block-product-filters__overlay-content { display: none; } /* закрытая панель стоит за краем экрана, но её текст рисуется — бренд «Kai aš mažas buvau» тянул latin-ext Inter (130 KB) на каждую полку */
.lk-filters .wc-block-product-filters__apply, .lk-filters .wc-block-product-filters__overlay-footer .wp-element-button { width: 100%; min-height: 52px; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 13px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; }
.lk-filters h2.wp-block-heading { margin: 24px 0 12px; font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); }
.lk-filters .wc-block-product-filter-removable-chips__item, .lk-filters .wc-block-product-filter-chips__item { border-radius: 999px; }
.lk-filters input[type="checkbox"] { border-radius: 0; accent-color: var(--lk-ink); }
/* сетка коллекции = сетка ТЗ (2/3/4), карточка — leola/product-card */
.lk-collection .wc-block-product-template.lk-wcgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 10px; margin: 0; padding: 0; list-style: none; }
@media (min-width: 600px) { .lk-collection .wc-block-product-template.lk-wcgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 16px; } }
@media (min-width: 1024px) { .lk-collection .wc-block-product-template.lk-wcgrid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px 20px; } }
.lk-collection .wc-block-product-template.lk-wcgrid > li { width: auto; max-width: none; margin: 0; padding: 0; text-align: left; }
.kid-merch-tile { display: none; } /* редакционная плитка фикса 22 — новый вид позже (ТЗ 3.6 Editorial tile) */
/* «Показать ещё» и ссылки пагинации (остаются для поиска) */
.lk-more { display: grid; justify-items: center; gap: 14px; margin: 56px 0 0; }
.lk-more__text { margin: 0; font-size: 13px; color: var(--lk-muted); }
.lk-more__bar { width: 200px; height: 2px; background: var(--lk-line); }
.lk-more__bar span { display: block; height: 100%; background: var(--lk-ink); }
.lk-btn-outline { min-height: 48px; padding: 0 28px; border: 1px solid var(--lk-ink); border-radius: 0; background: transparent; color: var(--lk-ink); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.lk-btn-outline:hover { background: var(--lk-ink); color: var(--lk-surface); }
.lk-btn-outline[aria-busy="true"] { opacity: .6; cursor: progress; }
.lk-pagination { margin: 20px 0 0; gap: 4px 12px; font-size: 13px; }
.lk-pagination a, .lk-pagination span { color: var(--lk-muted); text-decoration: none; padding: 8px 4px; }
.lk-pagination .current { color: var(--lk-ink); }
.lk-noresults { font-size: 15px; color: var(--lk-text2); }

.lk-chips-active { display: flex; flex-wrap: wrap; gap: 8px; margin: -8px 0 24px !important; /* !important: состояние вне замера 4.5 — оставлено */ padding: 0; list-style: none; }
.lk-chips-active a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 14px; border: 1px solid var(--lk-line); border-radius: 999px; color: var(--lk-ink); font-size: 13px; text-decoration: none; }
.lk-chips-active a:hover { border-color: var(--lk-ink); }
.lk-chips-active a span { font-size: 11px; }
.lk-chips-active .lk-chips-active__clear { border: 0; padding: 0 4px; text-decoration: underline; text-underline-offset: 4px; }

/* ТЗ 3.7: предметный кадр (белые углы) — целиком, с полем, на песке; интерьерный — на всю ячейку. Класс ставит leola.js по углам кадра */
.lk-card .lk-card__img.is-scene { object-fit: cover; padding: 0; mix-blend-mode: normal; }
.lk-gallery__item.is-first img.is-scene { object-fit: cover; padding: 0; mix-blend-mode: normal; }

/* ---------- 13. Главная («Редизайн-3», вечер 1; эталон v2/a-home-*, v2/home-v2.css) ---------- */
.lk-home { --lk-section: 64px; margin: 0; }
@media (min-width: 600px) { .lk-home { --lk-section: 96px; } }
@media (min-width: 1024px) { .lk-home { --lk-section: 120px; } }
@media (min-width: 1440px) { .lk-home { --lk-section: 150px; } }
.lk-home > * { margin-top: 0; margin-bottom: 0; }
.lk-hsec, .lk-manifest, .lk-quote { box-sizing: border-box; max-width: calc(1328px + 2 * var(--lk-gutter)); margin: 0 auto; padding: var(--lk-section) var(--lk-gutter) 0; }
.lk-display { margin: 0; font: 300 clamp(36px, 4.6vw, 64px)/1.04 var(--lk-serif); letter-spacing: -.02em; }
.lk-statement { margin: 0; font: 300 clamp(23px, 2.8vw, 40px)/1.28 var(--lk-serif); }
.lk-lead { margin: 0; font-size: 15px; line-height: 1.55; color: var(--lk-text2); }
.lk-small { margin: 0; font-size: 12px; line-height: 1.45; color: var(--lk-muted); }

/* шапка главной: прозрачная поверх фото, после 80 px прокрутки — обычная (класс is-solid ставит leola.js) */
body.home .wp-site-blocks > header.wp-block-template-part { position: fixed; left: 0; right: 0; top: 0; transition: top .2s ease-out; }
/* полоса уезжает сдвигом top, НЕ transform: transform у шапки делает position: fixed мобильного меню (оверлей внутри шапки)
   относительно шапки, а не окна — меню на главной открывалось полосой 88 px (найдено на приёмке запуска 24.10.2026) */
body.home .wp-site-blocks > header.wp-block-template-part.is-solid { top: -32px; }
body.home header:not(.is-solid) .lk-header { background: transparent; border-color: transparent; color: var(--lk-surface); }
body.home header:not(.is-solid) .lk-header :is(.lk-logo, .lk-textlink, .lk-iconbtn, .lk-langs a, .lk-cart .wc-block-mini-cart__button, .lk-cart .wc-block-mini-cart__badge, .lk-nav .wp-block-navigation__responsive-container-open, .lk-search .wp-block-search__button, .lk-search .wp-block-search__input) { color: var(--lk-surface); }
body.home header:not(.is-solid) .lk-header .lk-nav .wp-block-navigation__container > li > .wp-block-navigation-item__content { color: var(--lk-surface); }
body.home header:not(.is-solid) .lk-header .lk-logo img { filter: brightness(0) invert(1); }
body.home header:not(.is-solid) .lk-header .lk-search .wp-block-search__input::placeholder { color: var(--lk-surface); }
body.home header:not(.is-solid) .lk-header .lk-search .wp-block-search__inside-wrapper { border-color: color-mix(in srgb, var(--lk-surface) 70%, transparent); }
body.home header:not(.is-solid) .lk-header .lk-cart .wc-block-mini-cart__badge { background: var(--lk-surface); color: var(--lk-ink); }
@media (min-width: 1240px) { body.home header:not(.is-solid) .lk-header .lk-cart .wc-block-mini-cart__badge { background: none; color: var(--lk-surface); } }

/* 1.1 первый экран — диптих на всю ширину (на телефоне одно фото), текст белым снизу */
.lk-dip { position: relative; display: grid; grid-template-columns: 1fr; height: min(calc(100svh - 32px), 860px); min-height: 540px; margin-top: 32px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ overflow: hidden; background: var(--lk-sand); }
@media (min-width: 900px) { .lk-dip { grid-template-columns: 1fr 1fr; } }
.lk-dip__ph { position: relative; overflow: hidden; }
.lk-dip__ph img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.lk-dip__ph:first-child img { object-position: 70% center; }
.lk-dip__ph--2 { display: none; }
@media (min-width: 900px) { .lk-dip__ph--2 { display: block; } }
.lk-dip::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to bottom, color-mix(in srgb, var(--lk-ink) 28%, transparent), transparent 22%, transparent 40%, color-mix(in srgb, var(--lk-ink) 62%, transparent) 82%, color-mix(in srgb, var(--lk-ink) 70%, transparent)); } /* белый текст не ниже 4,5:1 на светлом кадре (ТЗ 3.2) */
.lk-dip__text { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: grid; gap: 14px; justify-items: start; box-sizing: border-box; max-width: calc(1328px + 2 * var(--lk-gutter)); margin: 0 auto; padding: 0 var(--lk-gutter) 40px; }
@media (min-width: 1024px) { .lk-dip__text { padding-bottom: 72px; } }
.lk-dip .lk-cap { color: var(--lk-surface); }
.lk-dip .lk-display { max-width: 16ch; color: var(--lk-surface); }
.lk-link--on-photo { color: var(--lk-surface); padding: 8px 0; }

/* 1.2 манифест — крупно по центру */
.lk-manifest { display: grid; gap: 20px; justify-items: center; max-width: calc(920px + 2 * var(--lk-gutter)); text-align: center; }

/* 1.3 разделы: лента на телефоне, 4 колонки на десктопе; фото 4:5, подпись и число моделей */
.lk-tiles { display: grid; grid-auto-flow: column; grid-auto-columns: 62%; gap: 10px; margin: 0 calc(-1 * var(--lk-gutter)); padding: 0 var(--lk-gutter); overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--lk-gutter); scrollbar-width: none; list-style: none; }
.lk-tiles::-webkit-scrollbar { display: none; }
@media (min-width: 600px) { .lk-tiles { grid-auto-columns: 40%; gap: 16px; } }
@media (min-width: 1024px) { .lk-tiles { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; margin: 0; padding: 0; overflow: visible; } }
.lk-tiles li { scroll-snap-align: start; }
.lk-tiles a { display: block; color: var(--lk-ink); text-decoration: none; }
.lk-tiles__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--lk-sand); }
.lk-tiles__img img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; transition: transform .25s ease-out; }
.lk-tiles a:hover img { transform: scale(1.03); }
.lk-tiles__row { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-top: 12px; }
.lk-tiles__name { font: 300 19px/1.2 var(--lk-serif); }
.lk-tiles__n { flex: none; font-size: 12px; color: var(--lk-muted); font-variant-numeric: tabular-nums; }

/* 1.5 «Мастер»: фото слева, текст на песке справа */
.lk-maker { display: grid; margin-top: var(--lk-section) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ background: var(--lk-sand); }
@media (min-width: 1024px) { .lk-maker { grid-template-columns: 1fr 1fr; } }
.lk-maker__photo { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; }
@media (min-width: 1024px) { .lk-maker__photo { aspect-ratio: auto; min-height: 640px; } }
.lk-maker__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.lk-maker__text { display: grid; gap: 18px; align-content: center; justify-items: start; box-sizing: border-box; max-width: 640px; padding: 48px var(--lk-gutter) 56px; }
@media (min-width: 1024px) { .lk-maker__text { padding: 72px 56px; } }
.lk-maker__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; width: 100%; margin: 0; padding-top: 18px; border-top: 1px solid var(--lk-field); }
.lk-maker__facts dt { font: 300 clamp(28px, 3vw, 40px)/1 var(--lk-serif); }
.lk-maker__facts dd { margin: 6px 0 0; font-size: 12px; line-height: 1.4; color: var(--lk-muted); }

/* 1.6 основатели: фото и цитата крупно */
.lk-quote { display: grid; gap: 32px; align-items: center; }
@media (min-width: 1024px) { .lk-quote { grid-template-columns: 4fr 8fr; gap: 72px; } }
.lk-quote__photo { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; max-width: 420px; background: var(--lk-sand); }
.lk-quote__photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.lk-quote__text { display: grid; gap: 18px; justify-items: start; max-width: 760px; }
.lk-quote blockquote { margin: 0; padding: 0; border: 0; }

/* 1.7 «Для родителей» — ссылками в строку */
.lk-parents { display: grid; gap: 12px; padding-bottom: var(--lk-section); }
.lk-parents__lead { margin: 0; font-size: 15px; color: var(--lk-muted); }
.lk-parents__list { display: flex; flex-wrap: wrap; gap: 4px 32px; margin: 12px 0 0; padding: 0; list-style: none; }
.lk-parents__list a { display: inline-block; padding: 10px 0; font-size: 16px; }
.lk-link--strong { font-weight: 500; }

/* ---------- 14. Корзина, оформление, «Спасибо», поиск, 404 («Редизайн-3», вечер 2; ТЗ 3.6, 4.5) ----------
 * Блоки Woo (выезжающая корзина, блок корзины) и классический шорткод оформления — их разметку и строки держат
 * mu-фиксы 27, 52, 76, 77, 80; здесь только вид. Классы Woo со своей специфичностью — перебиваем родителем, без !important. */
.lk-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border: 1px solid var(--lk-ink); border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; cursor: pointer; }
.lk-btn:hover { background: var(--lk-text2); border-color: var(--lk-text2); }

/* общие элементы корзины Woo: строки, количество, «Удалить», детали */
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-items { border: 0; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-items__header { display: none; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-items__row { border-bottom: 1px solid var(--lk-line); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-item__image img:not([hidden]) { display: block; width: 100%; aspect-ratio: 4 / 5; height: auto; object-fit: contain; background: var(--lk-sand); mix-blend-mode: multiply; border-radius: 0; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-product-name { color: var(--lk-ink); font: 400 15px/1.35 var(--lk-sans); text-decoration: none; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-product-name:hover { text-decoration: underline; text-underline-offset: 4px; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-product-metadata { font-size: 13px; color: var(--lk-text2); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-product-details { margin: 2px 0 0; padding: 0; list-style: none; }
/* бренд (первая строка без подписи) — капсом над вариантом; «под заказ» — акцентом */
:is(.wc-block-mini-cart__drawer, .lk-cartpage) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__wrap > .wc-block-components-product-details:has(.wc-block-components-product-details__leola-brand) { order: -1; margin: 0 0 2px; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) :is(.wc-block-components-product-details__leola-brand, .wc-block-components-product-details__leola-mto) .wc-block-components-product-details__name { display: none; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-product-details__leola-brand { display: block; font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--lk-muted); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-product-details__leola-mto { display: block; font-size: 12px; color: var(--lk-accent-text); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-product-price { font-size: 14px; color: var(--lk-ink); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-quantity-selector { width: 104px; min-height: 40px; border: 1px solid var(--lk-field); border-radius: 0; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-quantity-selector::after { display: none; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { font: 400 14px/1 var(--lk-sans); color: var(--lk-ink); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-width: 34px; color: var(--lk-ink); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-item__remove-link { display: inline-flex; align-items: center; min-height: 40px; padding: 0 0 0 12px; background: none; border: 0; color: var(--lk-text2); font: 400 13px/1 var(--lk-sans); text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-item__remove-link svg { display: none; }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-item__remove-link::after { content: var(--leola-remove); }
:is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-cart-item__quantity { display: flex; align-items: center; flex-wrap: wrap; gap: 4px; }
.kid-parcels { margin: 8px 0 0; font-size: 13px; line-height: 1.45; color: var(--lk-text2); }

/* 2.1 выезжающая корзина: 500 px на десктопе, во весь экран на телефоне; «Корзина · N»; кнопка «Оформить заказ · сумма» */
.wc-block-mini-cart__drawer.wc-block-components-drawer { width: 500px; max-width: 100vw; background: var(--lk-bg); border-radius: 0; box-shadow: var(--lk-pop); }
@media (max-width: 599px) { .wc-block-mini-cart__drawer.wc-block-components-drawer { width: 100vw; } }
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { margin: 0; padding: 20px 24px 16px; border-bottom: 1px solid var(--lk-line); font: 300 26px/1.15 var(--lk-serif); mask-image: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__items { box-sizing: border-box; width: 100%; padding: 0 24px; }
.wc-block-mini-cart__drawer .wc-block-cart-items__row { display: grid; grid-template-columns: 88px 1fr auto; gap: 4px 16px; padding: 18px 0; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image { grid-row: 1 / span 2; width: 88px; padding: 0; }
.wc-block-mini-cart__drawer .wc-block-cart-item__total { font-size: 14px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer { box-sizing: border-box; width: 100%; padding: 20px 24px 24px; border-top: 1px solid var(--lk-line); background: var(--lk-bg); box-shadow: none; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item__label { font: 400 15px/1.3 var(--lk-sans); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item__value { font: 500 17px/1.3 var(--lk-sans); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item__description { font-size: 13px; line-height: 1.45; color: var(--lk-text2); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions { display: grid; grid-template-columns: 1fr; gap: 8px; margin-top: 16px; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-checkout { order: -1; box-sizing: border-box; width: 100%; min-height: 56px; padding: 0 20px; border: 0; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 13px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-mini-cart__footer-actions .wc-block-mini-cart__footer-cart { box-sizing: border-box; width: 100%; min-height: 44px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--lk-ink); font: 400 14px/1 var(--lk-sans); letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: 5px; }
.wc-block-mini-cart__drawer .wc-block-components-drawer__close { top: 16px; right: 16px; color: var(--lk-ink); }

/* 2.2 страница корзины: тот же вид, крупнее; «Есть промокод?» ссылкой; итог справа на десктопе */
.lk-cartpage { box-sizing: border-box; max-width: calc(1328px + 2 * var(--lk-gutter)); margin: 0 auto; padding: 32px var(--lk-gutter) 96px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-cartpage > * { margin-top: 0; }
.lk-cartpage__title { margin: 0 0 24px; font: 300 clamp(36px, 4.6vw, 56px)/1.05 var(--lk-serif); }
.lk-cartpage .wc-block-cart { padding: 0; }
.lk-cartpage .wc-block-cart .wc-block-cart-items__row { padding: 20px 0; }
/* строка корзины — сетка «фото · описание · сумма», как в выезжающей корзине (ширины таблицы Woo тут не держатся) */
.lk-cartpage .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 4px 16px; }
@media (min-width: 700px) { .lk-cartpage .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row { grid-template-columns: 120px minmax(0, 1fr) auto; gap: 4px 24px; } }
.lk-cartpage .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row > td { width: auto; padding: 0; }
.lk-cartpage .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total { text-align: right; }
.lk-cartpage .wc-block-cart__sidebar { padding: 0; }
@media (min-width: 1024px) { .lk-cartpage .wc-block-cart__sidebar { position: sticky; top: 96px; align-self: start; } }
.lk-cartpage .wc-block-cart__sidebar .wc-block-components-sidebar-layout__sidebar, .lk-cartpage .wc-block-cart__sidebar > .wp-block-woocommerce-cart-totals-block { padding: 24px; background: var(--lk-surface); border: 1px solid var(--lk-line); border-radius: 0; }
.lk-cartpage .wc-block-cart__totals-title { font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); padding: 0 0 12px; }
.lk-cartpage .wc-block-components-totals-coupon .wc-block-components-panel__button { padding: 12px 0; font: 400 14px/1.3 var(--lk-sans); color: var(--lk-ink); text-decoration: underline; text-underline-offset: 5px; }
.lk-cartpage .wc-block-components-totals-coupon .wc-block-components-panel__button-icon { display: none; }
.lk-cartpage .wc-block-components-totals-item__label { font-size: 15px; }
.lk-cartpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__label, .lk-cartpage .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font: 500 19px/1.3 var(--lk-sans); }
.lk-cartpage .wc-block-components-totals-item__description { font-size: 13px; line-height: 1.45; color: var(--lk-text2); }
.lk-cartpage .wc-block-cart__submit-container .wc-block-cart__submit-button { width: 100%; min-height: 56px; border: 0; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 13px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; }
.lk-cartpage .wc-block-components-text-input input, .lk-cartpage .wc-block-components-text-input input[type="text"] { border: 1px solid var(--lk-field); border-radius: 0; background: var(--lk-surface); }
.lk-cartpage .wc-block-components-totals-coupon__button { border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); }
.lk-cartpage .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title { font: 300 clamp(26px, 3vw, 40px)/1.15 var(--lk-serif); }
.lk-cartpage .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title::before { display: none; }
/* полоса доверия из содержимого страниц корзины и оформления (kid-funnel-trust) — тихой строкой, значки 16 px */
.kid-funnel-trust { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 20px; margin: 24px 0 0; padding: 16px 0 0; border-top: 1px solid var(--lk-line); font-size: 13px; color: var(--lk-text2); }
.kid-funnel-trust > span { display: inline-flex; align-items: center; gap: 7px; }
.kid-funnel-trust svg { width: 16px; height: 16px; flex: none; }
.kid-funnel-trust__pay-row { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.kid-pay { display: inline-flex; align-items: center; justify-content: center; gap: 3px; height: 26px; min-width: 44px; padding: 0 8px; border: 1px solid var(--lk-line); border-radius: 0; background: var(--lk-surface); color: var(--lk-ink); font: 600 11px/1 var(--lk-sans); }
.kid-pay svg { width: 14px; height: 14px; }
.kid-pay__mc-l, .kid-pay__mc-r { display: inline-block; width: 13px; height: 13px; border-radius: 50%; background: var(--lk-ink); }
.kid-pay__mc-r { margin-left: -6px; background: var(--lk-muted); }

/* 2.3 оформление: своя шапка (← В корзину · логотип · Безопасная оплата · языки), без меню и навигационного футера */
.wp-site-blocks > header.wp-block-template-part:has(.lk-cohead) { position: static; }
.lk-cohead { display: grid; grid-template-columns: 1fr auto 1fr; grid-template-areas: "back logo langs" "secure secure secure"; align-items: center; gap: 4px 12px; margin: 0; padding: 10px var(--lk-gutter); background: var(--lk-bg); border-bottom: 1px solid var(--lk-line); }
@media (min-width: 900px) { .lk-cohead { grid-template-columns: 1fr auto auto auto; grid-template-areas: "back logo secure langs"; column-gap: 24px; height: 72px; padding-block: 0; } }
.lk-cohead .lk-logo { grid-area: logo; }
.lk-cohead .kid-checkout-nav { display: contents; }
.lk-cohead .kid-checkout-nav__back { grid-area: back; justify-self: start; display: inline-flex; align-items: center; min-height: 44px; color: var(--lk-ink); font-size: 14px; text-decoration: none; }
.lk-cohead .kid-checkout-nav__back:hover { text-decoration: underline; text-underline-offset: 5px; }
.lk-cohead .kid-checkout-nav__langs { grid-area: langs; justify-self: end; display: inline-flex; gap: 10px; font-size: 13px; }
.lk-cohead .kid-checkout-nav__langs a { color: var(--lk-muted); text-decoration: none; padding: 12px 0; }
.lk-cohead .kid-checkout-nav__langs a.is-current { color: var(--lk-ink); }
.lk-cohead__secure { grid-area: secure; justify-self: center; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--lk-text2); }
@media (min-width: 900px) { .lk-cohead__secure { justify-self: end; font-size: 13px; } }
.lk-cohead__secure svg { width: 15px; height: 15px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.lk-co { box-sizing: border-box; max-width: calc(1328px + 2 * var(--lk-gutter)); margin: 0 auto; padding: 24px var(--lk-gutter) 72px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-co > * { margin-top: 0; }
main.lk-co .woocommerce, .lk-co form.checkout { width: 100%; max-width: none; }
.lk-cofoot { margin: 0; padding: 20px var(--lk-gutter); border-top: 1px solid var(--lk-line); }
.lk-footmin { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 24px; max-width: 1328px; margin: 0 auto; font-size: 12px; color: var(--lk-muted); }
.lk-footmin a { color: var(--lk-text2); }
.lk-co .kid-funnel-trust { display: none; } /* в оформлении это говорят шапка («Безопасная оплата») и строка под кнопкой */
/* две колонки: слева шаги 1–2, справа «3 Оплата» со сводкой (липкая) */
.lk-co form.checkout .col2-set .col-1, .lk-co form.checkout .col2-set .col-2 { float: none; width: 100%; }
@media (min-width: 1024px) {
	.lk-co form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(400px, 480px); column-gap: 64px; align-items: start; }
	.lk-co form.checkout > .woocommerce-NoticeGroup { grid-column: 1 / -1; grid-row: 1; }
	.lk-co form.checkout #customer_details { grid-column: 1; grid-row: 2 / span 3; }
	.lk-co form.checkout .lk-co__step--pay { grid-column: 2; grid-row: 2; }
	.lk-co form.checkout #order_review_heading { grid-column: 2; grid-row: 3; }
	.lk-co form.checkout #order_review { grid-column: 2; grid-row: 4; position: sticky; top: 24px; }
}
.lk-co .form-row.lk-co__steprow { width: 100%; margin: 24px 0 8px; }
.lk-co .form-row.lk-co__steprow--first { margin-top: 0; }
.lk-co__step { display: flex; align-items: center; gap: 12px; margin: 32px 0 16px; font: 300 26px/1.15 var(--lk-serif); }
.lk-co .woocommerce-billing-fields > .lk-co__step:first-of-type, .lk-co .woocommerce-billing-fields__field-wrapper > .lk-co__step:first-child { margin-top: 0; }
.lk-co__step span { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid var(--lk-ink); border-radius: 50%; font: 500 13px/1 var(--lk-sans); }
.lk-co__step--pay { margin-top: 32px; }
@media (min-width: 1024px) { .lk-co__step--pay { margin-top: 0; } }
.lk-co .woocommerce-billing-fields > h3, .lk-co #order_review_heading { display: none; } /* «Платёжные данные» и «Ваш заказ» — шаги 1–3 вместо них */
.lk-co__note { margin: -4px 0 16px; font-size: 13px; line-height: 1.5; color: var(--lk-text2); }
.lk-co__more { margin: -6px 0 12px; }
.lk-co__toggle { padding: 6px 0; border: 0; background: none; color: var(--lk-ink); font: 400 14px/1.3 var(--lk-sans); text-decoration: underline; text-underline-offset: 5px; cursor: pointer; }
.lk-co #billing_address_2_field:not(.is-open), .lk-co #order_comments_field:not(.is-open) { display: none !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } /* !important — скрипт страны Woo показывает строку инлайн-стилем */
.lk-co .lk-co__more { text-align: left; }
.lk-co .woocommerce-additional-fields > h3 { display: none; }
.lk-co #ship-to-different-address { margin: 8px 0 12px; font: 400 14px/1.4 var(--lk-sans); }
.lk-co #ship-to-different-address label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; }
/* поля: подпись 13 px, поле 48 px, углы 0 */
.lk-co form.checkout .form-row { margin: 0 0 14px; padding: 0; }
.lk-co form.checkout .form-row label { display: block; margin: 0 0 6px; font-size: 13px; line-height: 1.4; color: var(--lk-text2); }
.lk-co form.checkout .form-row label .required { color: var(--lk-muted); text-decoration: none; }
.lk-co form.checkout .form-row label .optional { color: var(--lk-muted); }
.lk-co form.checkout .form-row :is(input.input-text, textarea, select) { box-sizing: border-box; width: 100%; min-height: 48px; padding: 12px 14px; border: 1px solid var(--lk-field); border-radius: 0; background: var(--lk-surface); color: var(--lk-ink); font: 400 15px/1.3 var(--lk-sans); box-shadow: none; }
.lk-co form.checkout .form-row textarea { min-height: 96px; }
.lk-co form.checkout .form-row :is(input.input-text, textarea):focus { outline: 2px solid var(--lk-ink); outline-offset: 0; }
.lk-co form.checkout .form-row.woocommerce-invalid :is(input.input-text, select) { border-color: var(--wp--preset--color--error); }
.lk-co .checkout-inline-error-message, .lk-co form.checkout .form-row .woocommerce-error { margin: 6px 0 0; font-size: 13px; color: var(--wp--preset--color--error); }
.lk-co .select2-container--default .select2-selection--single { height: 48px; border: 1px solid var(--lk-field); border-radius: 0; background: var(--lk-surface); }
.lk-co form .form-row .select2-container .select2-selection--single .select2-selection__rendered { line-height: 46px; padding: 0 36px 0 14px; color: var(--lk-ink); font-size: 15px; }
.lk-co form .form-row .select2-container .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.select2-container--default .select2-dropdown { border: 1px solid var(--lk-field); border-radius: 0; }
.select2-container--default .select2-results__option--highlighted[aria-selected] { background: var(--lk-ink); }
/* сводка: белый лист, строки через линию, миниатюры (фикс 76.3), «N посылок» (фикс 80.4) */
.lk-co #order_review { padding: 24px; background: var(--lk-surface); border: 1px solid var(--lk-line); border-radius: 0; }
@media (max-width: 599px) { .lk-co #order_review { padding: 16px; margin: 0 calc(-1 * var(--lk-gutter) + 8px); } }
.lk-co #order_review table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; border-radius: 0; }
.lk-co #order_review table.shop_table :is(th, td) { padding: 12px 0; border: 0; background: none; color: var(--lk-ink); font-size: 14px; line-height: 1.4; vertical-align: top; }
.lk-co #order_review table.shop_table thead th { padding: 0 0 8px; border-bottom: 1px solid var(--lk-line); font: 500 11px/1.3 var(--lk-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--lk-muted); }
.lk-co #order_review table.shop_table tbody td { border-bottom: 1px solid var(--lk-line); }
.lk-co #order_review table.shop_table tbody td.product-name { padding-right: 12px; }
.lk-co #order_review table.shop_table :is(th.product-total, td.product-total, tfoot td) { text-align: right; white-space: nowrap; }
.lk-co #order_review table.shop_table tfoot th { font-weight: 400; color: var(--lk-text2); }
.lk-co #order_review table.shop_table tfoot tr.order-total :is(th, td) { padding-top: 16px; border-top: 1px solid var(--lk-ink); font: 500 19px/1.3 var(--lk-sans); color: var(--lk-ink); }
.lk-co #order_review .kid-review__img { width: 48px; height: 60px; object-fit: contain; background: var(--lk-sand); mix-blend-mode: multiply; border-radius: 0; box-shadow: none; }
.lk-co #order_review .kid-review__thumb { float: left; margin: 0 12px 4px 0; line-height: 0; }
.lk-co #order_review td.product-name::after { content: ""; display: block; clear: both; }
.lk-co #order_review ul#shipping_method { margin: 0; padding: 0; list-style: none; }
.lk-co #order_review .kid-ship { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.lk-co #order_review .kid-ship__how { max-width: 210px; font-size: 12px; line-height: 1.35; color: var(--lk-text2); white-space: normal; text-align: right; }
.lk-co #order_review .kid-parcels-row td { color: var(--lk-text2); }
/* промокод (фикс 52) — тихой ссылкой */
.lk-co .kid-coupon { padding: 14px 0 0; }
.lk-co .kid-coupon__toggle { color: var(--lk-ink); font-size: 14px; text-decoration: underline; text-underline-offset: 5px; }
.lk-co .kid-coupon__form { display: flex; gap: 0; margin-top: 10px; border: 1px solid var(--lk-field); background: var(--lk-surface); }
.lk-co .kid-coupon__form[hidden] { display: none; }
.lk-co .kid-coupon__input { flex: 1; min-width: 0; padding: 12px 14px; border: 0; background: none; font: 400 15px/1.2 var(--lk-sans); outline: none; }
.lk-co .kid-coupon__apply { border: 0; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); padding: 0 16px; font: 500 12px/1 var(--lk-sans); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.lk-co .kid-coupon__msg:not(:empty) { margin-top: 8px; font-size: 13px; color: var(--lk-text2); }
.lk-co .kid-coupon__msg :is(.wc-block-components-notice-banner, .woocommerce-error, .woocommerce-message, .woocommerce-info) { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; font-size: 13px; }
.lk-co .kid-coupon__msg .wc-block-components-notice-banner svg, .lk-co .kid-coupon__msg :is(.woocommerce-error, .woocommerce-message)::before { display: none; }
/* оплата: строки через линию, банк первым для EE (фикс 76.2), плитки банков Montonio в токенах */
.lk-co #order_review #payment { margin-top: 20px; background: none; border-radius: 0; }
.lk-co #order_review #payment ul.payment_methods { margin: 0; padding: 0; border-top: 1px solid var(--lk-line); border-bottom: 0; }
.lk-co #order_review #payment ul.payment_methods li { display: flex; flex-wrap: wrap; align-items: center; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--lk-line); line-height: 1.4; }
.lk-co #order_review #payment ul.payment_methods li::before, .lk-co #order_review #payment ul.payment_methods li::after { display: none; }
.lk-co #order_review #payment ul.payment_methods li > label { flex: 1 1 0; min-width: 0; display: inline-flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font: 500 15px/1.3 var(--lk-sans); color: var(--lk-ink); cursor: pointer; }
.lk-co #order_review #payment ul.payment_methods li input.input-radio { margin: 0 10px 0 0; accent-color: var(--lk-ink); }
.lk-co #order_review #payment ul.payment_methods li img.montonio-payment-method-icon { display: none; }
.lk-co #order_review #payment .kid-pay-row { display: inline-flex; flex-wrap: wrap; gap: 6px; }
.lk-co #order_review #payment ul.payment_methods li > .payment_box { flex: 0 0 100%; }
.lk-co #order_review #payment div.payment_box { margin: 12px 0 0; padding: 14px 16px; background: var(--lk-bg); border-radius: 0; color: var(--lk-text2); font-size: 13px; line-height: 1.5; }
.lk-co #order_review #payment div.payment_box::before { display: none; }
.lk-co #order_review #payment div.payment_box p { margin: 0 0 10px; font-size: 13px; }
.lk-co #order_review #payment div.payment_box svg, .lk-co #order_review #payment div.payment_box > img { max-width: 48px; max-height: 48px; } /* картинка банка в описании метода — иконкой, не на пол-экрана */
.lk-co #order_review #payment .montonio-bank-items { gap: 8px; }
.lk-co #order_review #payment .montonio-bank-items .montonio-bank-item { border: 1px solid var(--lk-line); border-radius: 0; background: var(--lk-surface); }
.lk-co #order_review #payment .montonio-bank-items .montonio-bank-item:hover { border-color: var(--lk-field); }
.lk-co #order_review #payment .montonio-bank-items .montonio-bank-item.active { border-color: var(--lk-ink); box-shadow: inset 0 0 0 1px var(--lk-ink); }
.lk-co #order_review #payment select { min-height: 40px; border: 1px solid var(--lk-field); border-radius: 0; background: var(--lk-surface); }
.lk-co #order_review #payment div.form-row.place-order { margin: 0; padding: 20px 0 0; }
.lk-co #order_review #payment .woocommerce-privacy-policy-text p { margin: 0 0 12px; font-size: 13px; line-height: 1.5; color: var(--lk-text2); }
.lk-co #order_review #payment .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0 0 16px; padding: 0; }
.lk-co #order_review #payment .woocommerce-terms-and-conditions-wrapper label { display: inline-flex; align-items: flex-start; gap: 10px; font-size: 14px; line-height: 1.45; cursor: pointer; }
.lk-co #order_review #payment .woocommerce-terms-and-conditions-wrapper label input { margin: 3px 0 0; accent-color: var(--lk-ink); }
.lk-co #order_review #payment #place_order { float: none; width: 100%; min-height: 56px; margin: 0; border: 0; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 13px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; }
.lk-co #order_review #payment #place_order:hover { background: var(--lk-text2); }
.lk-co__assure { margin: 12px 0 0; font-size: 12.5px; line-height: 1.5; color: var(--lk-text2); text-align: center; }

/* 2.4 «Спасибо за заказ» */
.lk-oc { box-sizing: border-box; max-width: calc(820px + 2 * var(--lk-gutter)); margin: 0 auto !important; /* !important: состояние вне замера 4.5 — оставлено */ padding: 48px var(--lk-gutter) 96px !important; /* !important: состояние вне замера 4.5 — оставлено */ }
.lk-oc > * { margin-top: 0 !important; /* !important: состояние вне замера 4.5 — оставлено */ margin-bottom: 32px !important; /* !important: состояние вне замера 4.5 — оставлено */ }
.lk-thanks { display: grid; gap: 14px; }
.lk-thanks__title { margin: 0; font: 300 clamp(36px, 5vw, 64px)/1.05 var(--lk-serif); }
.lk-thanks__num { margin: 0; font-size: 15px; color: var(--lk-text2); }
.lk-thanks__steps { display: grid; gap: 0; margin: 16px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--lk-line); }
.lk-thanks__steps li { display: flex; align-items: center; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--lk-line); font-size: 15px; color: var(--lk-text2); }
.lk-thanks__steps li span { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid var(--lk-field); border-radius: 50%; font-size: 12px; }
.lk-thanks__steps li.is-done { color: var(--lk-ink); }
.lk-thanks__steps li.is-done span { background: var(--lk-ink); border-color: var(--lk-ink); color: var(--lk-surface); }
.lk-thanks__more { margin: 8px 0 0; }
.lk-oc__status > p:first-child { display: none; } /* «Спасибо. Ваш заказ получен» Woo — заголовок выше; форма подтверждения e-mail остаётся */
.lk-oc__h { margin: 0 0 12px; font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); }
.lk-oc .wc-block-order-confirmation-summary { padding: 20px; background: var(--lk-surface); border: 1px solid var(--lk-line); }
.lk-oc .wc-block-order-confirmation-totals table { width: 100%; border-collapse: collapse; }
.lk-oc .wc-block-order-confirmation-totals :is(th, td) { padding: 10px 0; border: 0; border-bottom: 1px solid var(--lk-line); font-size: 14px; }

/* 2.5 поиск по товарам и 404 */
.lk-searchhead { display: grid; gap: 8px; padding: 32px 0 8px; }
.lk-searchhead__title { margin: 0; font: 300 clamp(36px, 5vw, 64px)/1.05 var(--lk-serif); overflow-wrap: anywhere; }
.lk-404 { box-sizing: border-box; display: grid; gap: 16px; justify-items: start; max-width: calc(820px + 2 * var(--lk-gutter)); margin: 0 auto; padding: 64px var(--lk-gutter) 0; }
.lk-404__title { margin: 0; font: 300 clamp(40px, 6vw, 76px)/1.04 var(--lk-serif); }
.lk-404__text { margin: 0; font-size: 16px; line-height: 1.55; color: var(--lk-text2); max-width: 52ch; }
.lk-404__search { display: flex; width: 100%; max-width: 560px; margin-top: 8px; border-bottom: 1px solid var(--lk-field); }
.lk-404__search input[type="search"] { flex: 1; min-width: 0; height: 52px; padding: 0; border: 0; background: none; font: 400 17px/1 var(--lk-sans); color: var(--lk-ink); outline: none; }
.lk-404__search .lk-btn { min-height: 52px; }
.lk-nf .lk-hsec { padding-bottom: var(--lk-section); }

/* кабинет и вход — поля и кнопки в токенах */
.woocommerce-account .woocommerce :is(input.input-text, select, textarea) { min-height: 48px; padding: 12px 14px; border: 1px solid var(--lk-field); border-radius: 0; background: var(--lk-surface); font: 400 15px/1.3 var(--lk-sans); }
.woocommerce-account .woocommerce :is(button.button, a.button, .woocommerce-button) { min-height: 48px; padding: 0 28px; border: 0; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; }
.woocommerce-account .woocommerce h2 { font: 300 clamp(26px, 3vw, 36px)/1.15 var(--lk-serif); }
.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 0 24px; padding: 0; list-style: none; border-top: 1px solid var(--lk-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--lk-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 0; color: var(--lk-ink); text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { text-decoration: underline; text-underline-offset: 5px; }
.woocommerce-account .woocommerce form.login, .woocommerce-account .woocommerce form.register { padding: 24px; border: 1px solid var(--lk-line); border-radius: 0; background: var(--lk-surface); }

.wc-block-components-totals-shipping .wc-block-components-totals-item__value strong { font-weight: 500; text-transform: none; }
.lk-oc .wc-block-order-confirmation-status-description :is(input[type="email"], input[type="text"]) { box-sizing: border-box; width: 100%; max-width: 420px; min-height: 48px; padding: 12px 14px; border: 1px solid var(--lk-field); border-radius: 0; background: var(--lk-surface); font: 400 15px/1.3 var(--lk-sans); }
.lk-oc .wc-block-order-confirmation-status-description :is(button, .button) { box-sizing: border-box; max-width: 100%; min-height: 48px; margin-top: 12px; padding: 12px 24px; white-space: normal; line-height: 1.4; border: 0; border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; }
.lk-oc .wc-block-order-confirmation-status-description p { font-size: 14px; color: var(--lk-text2); }

/* ---------- 15. Страницы-тексты: инфо, гайды, юр, партнёрские, «О нас» («Редизайн-3», вечер 3) ----------
 * Шаблоны page.html (H1 Literata + текст 70 знаков) и page-no-title.html («О нас» со своей разметкой kid-about2-*).
 * Разметка содержимого — блоки и классы kid-* поста (не меняем); здесь только вид в токенах ТЗ. */
.lk-page { box-sizing: border-box; max-width: calc(760px + 2 * var(--lk-gutter)); margin: 0 auto; padding: 40px var(--lk-gutter) 96px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-page > * { margin-top: 0; }
.lk-page--wide { max-width: calc(1328px + 2 * var(--lk-gutter)); padding-top: 24px !important; } /* !important: у .lk-page отступ с !important — без него «широкая» страница получала 40 px (сверка 4.5) */
@media (min-width: 1024px) { .lk-page { padding-top: 64px !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } }
.lk-page__title { margin: 0 0 28px; font: 300 clamp(36px, 5vw, 64px)/1.05 var(--lk-serif); letter-spacing: -.015em; }
.lk-page__body { font-size: 16px; line-height: 1.65; color: var(--lk-ink); }
.lk-page__body > * + * { margin-top: 0; }
.lk-page .kid-page { max-width: 70ch; margin: 0; padding: 0; background: none; border: 0; box-shadow: none; }
.lk-page :is(.kid-page, .lk-page__body) > p, .lk-page .kid-page p { margin: 0 0 16px; }
.lk-page .kid-page h2, .lk-page__body > h2 { margin: 48px 0 14px; font: 300 clamp(24px, 2.6vw, 32px)/1.2 var(--lk-serif); letter-spacing: -.01em; }
.lk-page .kid-page h3, .lk-page__body > h3 { margin: 28px 0 8px; font: 500 17px/1.35 var(--lk-sans); }
.lk-page .kid-page h3 + p { margin-top: 0; color: var(--lk-text2); } /* FAQ: h3 = вопрос, следующий p = ответ (правило 9) */
.lk-page .kid-page a:not([class]), .lk-page__body > p a:not([class]) { color: var(--lk-ink); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.lk-page .kid-page ul:not([class*="kid-"]) { margin: 0 0 18px; padding: 0; list-style: none; }
.lk-page .kid-page ul:not([class*="kid-"]) > li { position: relative; margin: 0 0 10px; padding-left: 22px; }
.lk-page .kid-page ul:not([class*="kid-"]) > li::before { content: ""; position: absolute; left: 0; top: .72em; width: 10px; height: 1px; background: var(--lk-ink); }
.lk-page .kid-page ol:not([class*="kid-"]) { margin: 0 0 18px; padding-left: 22px; }
.lk-page .kid-page ol:not([class*="kid-"]) > li { margin: 0 0 10px; }
/* нумерованные шаги (возврат, гайды) */
.lk-page ol.kid-steps { margin: 16px 0 24px; padding: 0; list-style: none; counter-reset: lkstep; border-top: 1px solid var(--lk-line); }
.lk-page ol.kid-steps > li { counter-increment: lkstep; position: relative; margin: 0; padding: 14px 0 14px 44px; border-bottom: 1px solid var(--lk-line); }
.lk-page ol.kid-steps > li::before { content: counter(lkstep); position: absolute; left: 0; top: 12px; display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; border: 1px solid var(--lk-ink); border-radius: 50%; background: none; color: var(--lk-ink); font: 500 12px/1 var(--lk-sans); }
/* таблицы (доставка [kid_ship_table], размеры, велосипеды) — на телефоне листаются внутри */
.lk-page figure.wp-block-table { margin: 16px 0 24px; overflow-x: auto; }
.lk-page figure.wp-block-table table { width: 100%; min-width: 320px; border-collapse: collapse; font-size: 14px; line-height: 1.4; }
.lk-page figure.wp-block-table :is(th, td) { padding: 10px 12px 10px 0; border: 0; border-bottom: 1px solid var(--lk-line); text-align: left; vertical-align: top; }
.lk-page figure.wp-block-table thead th { border-bottom: 1px solid var(--lk-ink); font: 500 11px/1.35 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lk-muted); }
.lk-page figure.wp-block-table figcaption { font-size: 13px; color: var(--lk-muted); }
/* выноски, кнопки и значки в содержимом */
.lk-page .kid-callout { margin: 24px 0; padding: 20px 24px; background: var(--lk-sand); border: 0; border-radius: 0; }
.lk-page .kid-callout p:last-child { margin-bottom: 0; }
.lk-page .kid-btn, .lk-page a.kid-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px; border: 1px solid var(--lk-ink); border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font: 500 12.5px/1 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; text-decoration: none; }
.lk-page .kid-btn--light, .lk-page a.kid-btn--light { background: var(--lk-surface); color: var(--lk-ink); }
.lk-page .kid-page svg:not([width]), .lk-page [class^="kid-about2"] svg:not([width]) { width: 24px; height: 24px; }
/* контакты: карточки */
.lk-page .kid-contact-cards { display: grid; grid-template-columns: 1fr; gap: 0; margin: 24px 0; border-top: 1px solid var(--lk-line); }
@media (min-width: 600px) { .lk-page .kid-contact-cards { grid-template-columns: 1fr 1fr; column-gap: 32px; } }
.lk-page .kid-contact-card { display: grid; grid-template-columns: 24px 1fr; column-gap: 14px; align-items: start; padding: 16px 0; border-bottom: 1px solid var(--lk-line); background: none; border-radius: 0; color: var(--lk-ink); text-decoration: none; }
.lk-page .kid-contact-card svg { grid-row: 1 / span 2; width: 22px; height: 22px; margin: 2px 0 0; color: var(--lk-text2); }
.lk-page .kid-contact-card__k { font: 500 11px/1.35 var(--lk-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--lk-muted); }
.lk-page .kid-contact-card__v { font-size: 15px; line-height: 1.45; }
.lk-page a.kid-contact-card .kid-contact-card__v { text-decoration: underline; text-underline-offset: 4px; }

/* «О нас» (193 ×3): та же разметка kid-about2-*, вид ТЗ — песок и чернила вместо камня и шалфея, углы 0 */
.lk-page :is(.kid-about2-hero-wrap, .kid-about2-life-wrap, .kid-about2-facts-wrap, .kid-about2-prin-wrap, .kid-about2-nots-wrap, .kid-about2-src-wrap, .kid-about2-tools-wrap, .kid-about2-cta-wrap, .kid-about2-contact-wrap) { max-width: none; margin: 0 0 56px; padding: 0; }
.lk-page .kid-about2-letter-wrap { margin: 72px auto; }
.lk-page .kid-about2-hero { display: grid; gap: 24px; align-items: center; padding: 0; background: none; border-radius: 0; }
@media (min-width: 900px) { .lk-page .kid-about2-hero { grid-template-columns: 5fr 7fr; gap: 56px; } }
.lk-page .kid-about2-kicker { margin: 0 0 14px; font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); }
.lk-page .kid-about2-h1 { margin: 0 0 18px; font: 300 clamp(36px, 5vw, 64px)/1.05 var(--lk-serif) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ letter-spacing: -.015em; color: var(--lk-ink); }
.lk-page .kid-about2-lead { margin: 0; max-width: 46ch; font-size: 17px; line-height: 1.6; color: var(--lk-text2); }
.lk-page .kid-about2-hero__media img { display: block; width: 100%; height: clamp(360px, 40vw, 600px); object-fit: cover; object-position: 50% 32%; border-radius: 0; }
.lk-page .kid-about2-letter { max-width: 640px; margin: 0 auto; padding: 0; }
.lk-page .kid-about2-letter p { margin: 0 0 24px; font: 300 clamp(19px, 2vw, 22px)/1.6 var(--lk-serif); color: var(--lk-ink); }
.lk-page .kid-about2-sign { display: flex; align-items: center; gap: 16px; margin-top: 32px; }
.lk-page .kid-about2-sign__photo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.lk-page .kid-about2-sign__names { font: 400 19px/1.2 var(--lk-serif); color: var(--lk-ink); }
.lk-page .kid-about2-sign__role { font-size: 13px; color: var(--lk-muted); }
.lk-page .kid-about2-life { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (min-width: 900px) { .lk-page .kid-about2-life { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
@media (max-width: 899px) { .lk-page .kid-about2-life figure:nth-child(3) { display: none; } }
.lk-page .kid-about2-life figure { margin: 0; }
.lk-page .kid-about2-life img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 0; }
.lk-page .kid-about2-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 32px 0; background: none; border-radius: 0; border-top: 1px solid var(--lk-ink); border-bottom: 1px solid var(--lk-line); }
@media (min-width: 900px) { .lk-page .kid-about2-facts { grid-template-columns: repeat(4, 1fr); } }
.lk-page .kid-about2-fact { display: flex; flex-direction: column; gap: 6px; }
.lk-page .kid-about2-fact__num { font: 300 clamp(32px, 3.4vw, 48px)/1 var(--lk-serif); color: var(--lk-ink); }
.lk-page .kid-about2-fact__t { margin-top: 6px; font-size: 13px; line-height: 1.45; color: var(--lk-text2); }
.lk-page .kid-about2-h2, .lk-page :is(.kid-about2-nots, .kid-about2-cta, .kid-about2-contact__body) h2 { margin: 0 0 20px; font: 300 clamp(26px, 3vw, 40px)/1.15 var(--lk-serif) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ letter-spacing: -.01em; color: inherit; }
.lk-page .kid-about2-prin { display: grid; grid-template-columns: 1fr; gap: 0; border-top: 1px solid var(--lk-line); }
@media (min-width: 900px) { .lk-page .kid-about2-prin { grid-template-columns: 1fr 1fr; column-gap: 40px; } }
.lk-page .kid-about2-prin__card { padding: 24px 0; background: none; border-radius: 0; border-bottom: 1px solid var(--lk-line); }
.lk-page .kid-about2-prin__card svg { width: 24px; height: 24px; margin-bottom: 12px; color: var(--lk-text2); }
.lk-page .kid-about2-prin__card h3 { margin: 0 0 8px; font: 500 17px/1.35 var(--lk-sans); }
.lk-page .kid-about2-prin__card p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--lk-text2); }
.lk-page .kid-about2-nots { padding: clamp(28px, 4vw, 56px); background: var(--lk-sand); border-radius: 0; color: var(--lk-ink); }
.lk-page .kid-about2-nots ul { max-width: 760px; margin: 0; padding: 0; list-style: none; }
.lk-page .kid-about2-nots li { position: relative; margin: 0 0 14px; padding-left: 30px; font-size: 16px; line-height: 1.55; color: var(--lk-text2); }
.lk-page .kid-about2-nots li::before { content: ""; position: absolute; left: 0; top: .72em; width: 16px; height: 1px; background: var(--lk-ink); }
.lk-page .kid-about2-src { display: grid; gap: 24px; align-items: center; }
@media (min-width: 900px) { .lk-page .kid-about2-src { grid-template-columns: 1fr 1fr; gap: 56px; } }
.lk-page .kid-about2-src__text p { margin: 0 0 14px; font-size: 16px; line-height: 1.65; color: var(--lk-text2); }
.lk-page .kid-about2-src__tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.lk-page .kid-about2-src__tiles figure { margin: 0; }
.lk-page .kid-about2-src__tiles img { display: block; width: 100%; aspect-ratio: 4 / 5; object-fit: contain; padding: 10%; box-sizing: border-box; background: var(--lk-sand); mix-blend-mode: multiply; border-radius: 0; filter: none; }
.lk-page .kid-about2-src__tiles figcaption { margin-top: 8px; font-size: 12px; color: var(--lk-muted); text-align: left; }
.lk-page .kid-about2-tools { padding: clamp(28px, 4vw, 56px); background: var(--lk-sand); border-radius: 0; }
.lk-page .kid-about2-tools__text p { margin: 0 0 14px; font-size: 16px; line-height: 1.65; color: var(--lk-text2); }
.lk-page .kid-about2-tools__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 20px 0 14px; border-top: 1px solid var(--lk-field); }
@media (min-width: 900px) { .lk-page .kid-about2-tools__grid { grid-template-columns: repeat(4, 1fr); } }
.lk-page .kid-about2-tools__grid a { display: flex; align-items: center; gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--lk-field); background: none; border-radius: 0; color: var(--lk-ink); font-size: 14px; text-decoration: none; box-shadow: none; }
.lk-page .kid-about2-tools__grid a:hover { text-decoration: underline !important; /* !important: состояние вне замера 4.5 — оставлено */ text-underline-offset: 4px; }
.lk-page .kid-about2-tools__grid svg { width: 20px; height: 20px; flex: none; color: var(--lk-text2); }
.lk-page .kid-about2-tools__note { margin: 0; font-size: 13px; color: var(--lk-muted); }
.lk-page .kid-about2-contact { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; max-width: 760px; margin: 0; padding: 32px 0; background: none; border: 0; border-top: 1px solid var(--lk-ink); border-radius: 0; }
@media (min-width: 600px) { .lk-page .kid-about2-contact { flex-direction: row; gap: 28px; } }
.lk-page .kid-about2-contact__photo { width: 88px; height: 88px; border-radius: 50%; object-fit: cover; flex: none; }
.lk-page .kid-about2-contact__body p { margin: 0 0 10px; font-size: 15.5px; line-height: 1.6; color: var(--lk-text2); }
.lk-page .kid-about2-contact__mail a { font: 300 24px/1.2 var(--lk-serif); color: var(--lk-ink); text-decoration-thickness: 1px; text-decoration-color: currentColor; }
.lk-page .kid-about2-contact__meta { font-size: 13px; color: var(--lk-muted) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
.lk-page .kid-about2-cta { padding: clamp(36px, 5vw, 72px) var(--lk-gutter); background: var(--lk-sand); border-radius: 0; text-align: center; color: var(--lk-ink); }
.lk-page .kid-about2-cta p { margin: 0 0 24px; font-size: 16px; color: var(--lk-text2); }
.lk-page .kid-about2-cta .kid-btn { background: var(--lk-ink); color: var(--lk-surface); }

/* ---------- 16. Калькуляторы kid-tools — поверх CSS плагина (плагин не меняем: на живом сайте его вид прежний) ----------
 * Переменные плагина (--kc-*) переопределяем на токены ТЗ; скругления и пилюли — в углы 0; кнопки — чернилами капсом.
 * kid-tools.css подключается шорткодом позже темы — селекторы через body. */
body .kid-calc, body .kid-hub, body .kid-check, body .kid-tools-more, body .kid-tools-bridge, body .kid-aff { --kc-ink: var(--lk-ink); --kc-stone: var(--lk-sand); --kc-sage: var(--lk-text2); --kc-caramel: var(--wp--preset--color--accent); --kc-line: 1px solid var(--lk-line); }
body :is(.kid-calc__form, .kid-calc__card, .kid-calc__error, .kid-calc__fit, .kid-calc__equiv, .kid-calc__insole, .kid-calc__warn, .kid-calc__rebuy, .kid-calc__tips, .kid-calc__overlay-box, .kid-calc__a4, .kid-calc__example-card, .kid-pct__metric, .kid-pct__range, .kid-tools-more__card, .kid-callout, .kid-shop-profile, .kid-hub__card, .kid-hub__icon, .kid-aff, .kid-check__group, .kid-check__item, .kid-tools-bridge__tile, .kid-page table.kid-table-cards tr) { border-radius: 0; box-shadow: none; }
body .kid-calc__form { border: 1px solid var(--lk-line); }
body .kid-calc__input { min-height: 48px; border: 1px solid var(--lk-field); border-radius: 0; background: var(--lk-surface); color: var(--lk-ink); }
body :is(.kid-calc__seg-btn, .kid-calc__link-btn, .kid-calc__act, .kid-check__btn, .kid-aff__link, .kid-profile__name) { border-radius: 0; }
body .kid-calc__seg-btn.is-active, body .kid-calc__seg-btn[aria-pressed="true"] { background: var(--lk-ink); border-color: var(--lk-ink); color: var(--lk-surface); }
body :is(.kid-calc__submit, .kid-calc__cta, .kid-tools-more__cta, .kid-hub__cta, .kid-calc__sticky, .kid-calc__overlay-close) { border-radius: 0; background: var(--lk-ink); color: var(--lk-surface); font-family: var(--lk-sans); font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
body :is(.kid-calc__submit, .kid-calc__cta, .kid-tools-more__cta, .kid-hub__cta):hover { background: var(--lk-text2); }
body .kid-profile { border-radius: 0; background: var(--lk-sand); }
body :is(.kid-check__gtitle, .kid-tools-more__title, .kid-hub__title) { font-family: var(--lk-serif); font-weight: 400; }
body .kid-hub__card:hover, body .kid-tools-more__card:hover, body .kid-tools-bridge__tile:hover { box-shadow: none; border-color: var(--lk-ink); }
body :is(.kid-calc, .kid-hub, .kid-tools-more, .kid-check) :focus-visible { outline: 2px solid var(--lk-ink); outline-offset: 2px; border-radius: 0; }
body .kid-page ol.kid-steps li::before { background: none; }
/* «Редизайн-3», вечер 3 — замечания PM к вечеру 2: на телефоне в шапке оформления «← В корзину» одной строкой (логотип — знак без слова) */
.lk-cohead .kid-checkout-nav__back { white-space: nowrap; }
@media (max-width: 599px) { .lk-cohead .lk-logo__word { display: none; } .lk-cohead .lk-logo img { width: 32px; } }

/* 16.1 Цвета старой палитры в калькуляторах → токены ТЗ. Кнопки и переключатели (состояния) не трогаем. Сгенерировано обходом калькуляторов, хаба и чек-листов в предпросмотре
 * (scratchpad ktmap.mjs, 18.10.2026); html body + четыре класса — перебить селекторы плагина до (0,4,0), сам плагин не трогаем. */
html body .kid-calc.kid-calc.kid-calc.kid-calc { color: var(--lk-ink); }
html body .kid-calc__age.kid-calc__age.kid-calc__age.kid-calc__age { color: var(--lk-ink); }
html body .kid-calc__details.kid-calc__details.kid-calc__details.kid-calc__details { color: var(--lk-ink); }
html body .kid-calc__field.kid-calc__field.kid-calc__field.kid-calc__field { color: var(--lk-ink); }
html body .kid-calc__form.kid-calc__form.kid-calc__form.kid-calc__form { color: var(--lk-ink); }
html body .kid-calc__group.kid-calc__group.kid-calc__group.kid-calc__group { color: var(--lk-text2); }
html body .kid-calc__hint.kid-calc__hint.kid-calc__hint.kid-calc__hint { color: var(--lk-text2); }
html body .kid-calc__inline-btns.kid-calc__inline-btns.kid-calc__inline-btns.kid-calc__inline-btns { color: var(--lk-ink); }
html body .kid-calc__result.kid-calc__result.kid-calc__result.kid-calc__result { color: var(--lk-ink); }
html body .kid-calc__seg.kid-calc__seg.kid-calc__seg.kid-calc__seg { color: var(--lk-ink); }
html body .kid-calc__segmented.kid-calc__segmented.kid-calc__segmented.kid-calc__segmented { color: var(--lk-text2); }
html body .kid-calc__summary.kid-calc__summary.kid-calc__summary.kid-calc__summary { color: var(--lk-text2); }
html body .kid-calc__unit.kid-calc__unit.kid-calc__unit.kid-calc__unit { color: var(--lk-muted); }
html body .kid-calc__unitwrap.kid-calc__unitwrap.kid-calc__unitwrap.kid-calc__unitwrap { color: var(--lk-ink); }
html body .kid-callout.kid-callout.kid-callout.kid-callout { color: var(--lk-ink); }
html body .kid-check__actions.kid-check__actions.kid-check__actions.kid-check__actions { color: var(--lk-ink); }
html body .kid-check__bot.kid-check__bot.kid-check__bot.kid-check__bot { color: var(--lk-text2); }
html body .kid-check__channel.kid-check__channel.kid-check__channel.kid-check__channel { color: var(--lk-accent-text); }
html body .kid-check__count.kid-check__count.kid-check__count.kid-check__count { color: var(--lk-muted); }
html body .kid-check__gemoji.kid-check__gemoji.kid-check__gemoji.kid-check__gemoji { color: var(--lk-ink); }
html body .kid-check__group.kid-check__group.kid-check__group.kid-check__group { color: var(--lk-ink); }
html body .kid-check__gtitle.kid-check__gtitle.kid-check__gtitle.kid-check__gtitle { color: var(--lk-ink); }
html body .kid-check__head.kid-check__head.kid-check__head.kid-check__head { color: var(--lk-ink); }
html body .kid-check__hint.kid-check__hint.kid-check__hint.kid-check__hint { color: var(--lk-muted); }
html body .kid-check__item.kid-check__item.kid-check__item.kid-check__item { color: var(--lk-ink); }
html body .kid-check__progress.kid-check__progress.kid-check__progress.kid-check__progress { color: var(--lk-ink); }
html body .kid-hub__card.kid-hub__card.kid-hub__card.kid-hub__card { color: var(--lk-ink); border-color: var(--lk-line); }
html body .kid-hub__desc.kid-hub__desc.kid-hub__desc.kid-hub__desc { color: var(--lk-text2); }
html body .kid-hub__h.kid-hub__h.kid-hub__h.kid-hub__h { color: var(--lk-text2); }
html body .kid-hub__icon.kid-hub__icon.kid-hub__icon.kid-hub__icon { color: var(--lk-text2); background: var(--lk-sand); }
html body .kid-hub__name.kid-hub__name.kid-hub__name.kid-hub__name { color: var(--lk-ink); }
html body .kid-hub__note.kid-hub__note.kid-hub__note.kid-hub__note { color: var(--lk-muted); }
html body .kid-hub__text.kid-hub__text.kid-hub__text.kid-hub__text { color: var(--lk-ink); }
html body .kid-profile.kid-profile.kid-profile.kid-profile { color: var(--lk-text2); }
html body .kid-tools-bridge__arrow.kid-tools-bridge__arrow.kid-tools-bridge__arrow.kid-tools-bridge__arrow { color: var(--lk-text2); }
html body .kid-tools-bridge__count.kid-tools-bridge__count.kid-tools-bridge__count.kid-tools-bridge__count { color: var(--lk-text2); }
html body .kid-tools-bridge__h.kid-tools-bridge__h.kid-tools-bridge__h.kid-tools-bridge__h { color: var(--lk-ink); }
html body .kid-tools-bridge__name.kid-tools-bridge__name.kid-tools-bridge__name.kid-tools-bridge__name { color: var(--lk-ink); }
html body .kid-tools-bridge__tile.kid-tools-bridge__tile.kid-tools-bridge__tile.kid-tools-bridge__tile { color: var(--lk-ink); border-color: var(--lk-line); }
html body .kid-tools-bridge__why.kid-tools-bridge__why.kid-tools-bridge__why.kid-tools-bridge__why { color: var(--lk-text2); }
html body .kid-tools-more__card.kid-tools-more__card.kid-tools-more__card.kid-tools-more__card { color: var(--lk-ink); border-color: var(--lk-line); }
html body .kid-tools-more__h.kid-tools-more__h.kid-tools-more__h.kid-tools-more__h { color: var(--lk-ink); }
html body :is(.kid-tools-more__card, .kid-hub__card, .kid-tools-bridge__tile, .kid-check__group, .kid-calc__example) :is(svg, svg *) { color: var(--lk-text2); }
html body .kid-tools-more .kid-tools-more__card.kid-tools-more__card, html body .kid-tools-more .kid-tools-more__card span { color: var(--lk-ink); }
html body .kid-calc__example.kid-calc__example.kid-calc__example.kid-calc__example { color: var(--lk-text2); } /* оттенки, что плагин задаёт с !important (чернила #26302b ≈ ink), не перебиваем */
html body .kid-page table.kid-table-cards tr, html body .lk-page .kid-page table tr { border-color: var(--lk-line); }
html body .lk-page .kid-page table :is(th, tr) { background: none; }
html body .kid-check .kid-check__channel.kid-check__channel { color: var(--lk-accent-text); }
/* «Редизайн-3», вечер 4 — у H1 инструментов kid-tools плагин рисует значок 42 px (h1::before, селектор body.page-id-N:has(.kid-page) …);
 * в новой теме заголовок — чистый шрифт ТЗ: значок убираем здесь (плагин и KID_TOOLS_VER не трогаем). Специфичность выше плагинной. */
html body main.lk-page h1.lk-page__title.wp-block-post-title::before { content: none !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ display: none !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } /* !important — у плагина content и display с !important */
.kid-topbar { display: none; } /* полоса mu-фикса 77 — в теме leola своя полоса [leola_announce]; в предпросмотре фикс 77 её и не печатает */
/* Панель администратора WordPress (вошедший в админку видит сайт с ней): шапка главной закреплена сверху окна,
 * а липкая шапка остальных страниц уезжает на −32 px — обе сдвигаем вниз на высоту панели. На ≤ 600 px панель
 * WordPress прокручивается вместе со страницей (position: absolute), там сдвиг не нужен. */
@media (min-width: 601px) {
	body.admin-bar .wp-site-blocks > header.wp-block-template-part { top: calc(var(--wp-admin--admin-bar--height, 32px) - 32px); }
	body.admin-bar.home .wp-site-blocks > header.wp-block-template-part { top: var(--wp-admin--admin-bar--height, 32px); }
	body.admin-bar.home .wp-site-blocks > header.wp-block-template-part.is-solid { top: calc(var(--wp-admin--admin-bar--height, 32px) - 32px); }
}
@media (min-width: 601px) { body.admin-bar .lk-toolbar { top: calc(56px + var(--wp-admin--admin-bar--height, 32px)); } }
@media (min-width: 1240px) { body.admin-bar .lk-toolbar { top: calc(72px + var(--wp-admin--admin-bar--height, 32px)); } }

/* ---------- 17. Полировка, вечер 1 (24.10.2026, SPRINT-2026-10-26-design-polish.md §2) ----------
 * До «да» Андрея правила работают только с кукой предпросмотра (класс body.lk-p1 — leola_p1() в functions.php). */

/* 17.1 Плашка cookie (шаг 1.5, баг 13 ТЗ): одна-две строки и «Понятно» справа; ниже шапки и её меню (слой 100),
   выше липкой кнопки карточки (90); выезжающая корзина, панель фильтров и галерея — ещё выше. */
html body.lk-p1 .kid-cookie { z-index: 95; flex-wrap: nowrap; gap: 12px; padding: 8px var(--lk-gutter) calc(8px + env(safe-area-inset-bottom)); line-height: 1.35; }
html body.lk-p1 .kid-cookie__text { flex: 1 1 auto; min-width: 0; }
html body.lk-p1 .kid-cookie__actions { flex: 0 0 auto; }
html body.lk-p1 .kid-cookie__btn { min-height: 44px; padding: 0 16px; }

/* 17.2 Калькуляторы (шаг 1.8): цвета старой палитры, которые остались после 16 / 16.1, — состояния, «!important» плагина,
   диаграммы. Список — обход 15 инструментов с отметками, расчётом и диаграммами (scripts/p1-kt-states.mjs + обход DOM в браузере).
   Плагин и KID_TOOLS_VER не трогаем. «!important» — только где он у плагина (или против инлайн-стиля легенды диаграмм). */
html body.lk-p1 .kid-calc__label, html body.lk-p1 .kid-calc__summary, html body.lk-p1 .kid-chart__title, html body.lk-p1 .kid-profile__who, html body.lk-p1 .kid-profile__prefill { color: var(--lk-ink); }
html body.lk-p1 :is(.kid-calc__note, .kid-calc__big-label, .kid-calc__tips-h, .kid-calc__warn, .kid-pct__cross-h, .kid-pct__metric-label, .kid-sleep__k, .kid-sleep__k em, .kid-chart__legend-item, .kid-cal__title) { color: var(--lk-text2); }
html body.lk-p1 :is(.kid-chart__source, .kid-profile__note) { color: var(--lk-muted); }
html body.lk-p1 .kid-calc__input::placeholder { color: var(--lk-muted); }
html body.lk-p1 :is(.kid-calc__details, .kid-calc__group:not(:first-child)) { border-top-color: var(--lk-line); }
html body.lk-p1 .kid-sleep__row { border-bottom-color: var(--lk-line); }
html body.lk-p1 .kid-calc__summary:focus-visible, html body.lk-p1 .kid-calc__input:focus-visible { box-shadow: none; } /* фокус — обводка чернилами (секция 16) */
/* кнопки действий и переключатели */
html body.lk-p1 .kid-calc__act { border-color: var(--lk-line); color: var(--lk-ink); }
html body.lk-p1 .kid-calc__act:hover { background-color: var(--lk-sand); border-color: var(--lk-ink); }
html body.lk-p1 .kid-calc__submit:active { background-color: var(--lk-ink); }
html body.lk-p1 :is(.kid-calc__seg-btn.is-active, .kid-calc__seg-btn--check.is-active) { color: var(--lk-surface); }
html body.lk-p1 .kid-calc__seg-btn--check::before { border-color: var(--lk-field); }
html body.lk-p1 .kid-calc__seg-btn--check.is-active::before { background-color: var(--lk-surface); border-color: var(--lk-surface); box-shadow: inset 0 0 0 3px var(--lk-text2); }
html body.lk-p1 .kid-calc__inline-btns .kid-calc__link-btn:last-child { color: var(--lk-surface); }
html body.lk-p1 .kid-calc__inline-btns .kid-calc__link-btn:last-child:hover { background-color: var(--lk-ink); border-color: var(--lk-ink); }
html body.lk-p1 :is(.kid-calc__cta, .kid-calc__cta:hover, .kid-tools-more__cta, .kid-tools-more__cta:hover) { color: var(--lk-surface) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } /* у плагина светлый «камень» с !important */
html body.lk-p1 .kid-pct__cta2 { background: var(--lk-ink) !important; /* !important: состояние вне замера 4.5 — оставлено */ color: var(--lk-surface) !important; /* !important: состояние вне замера 4.5 — оставлено */ } /* у плагина карамель с !important; кнопки — чернилами (правило 4) */
html body.lk-p1 .kid-pct__cta2:hover { background: var(--lk-text2) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
/* хаб «Для родителей»: у плагина тёмный текст с !important на чернильной кнопке секции 16 — надпись не видна */
html body.lk-p1 .kid-hub__cta { border-color: var(--lk-ink); color: var(--lk-surface) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ }
html body.lk-p1 .kid-hub__cta:hover { background: var(--lk-text2); border-color: var(--lk-text2); color: var(--lk-surface) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
html body.lk-p1 .kid-aff__link { background-color: var(--lk-sand); color: var(--lk-ink); }
html body.lk-p1 .kid-aff__link:hover { background-color: var(--lk-ink); color: var(--lk-surface); }
html body.lk-p1 .kid-profile__btn { color: var(--lk-ink); text-decoration-color: var(--lk-ink); }
html body.lk-p1 .kid-profile__btn.kid-profile__btn--clear { color: var(--lk-muted); text-decoration-color: var(--lk-muted); }
/* результат: стелька, липкая плашка итога, пример выдачи */
html body.lk-p1 .kid-calc__insole-val, html body.lk-p1 .kid-due__bar-label { color: var(--lk-surface); }
html body.lk-p1 .kid-calc__insole-expl, html body.lk-p1 .kid-calc__sticky-label { color: var(--lk-line); }
html body.lk-p1 .kid-calc__example-card { background-color: var(--lk-sand); }
html body.lk-p1 .kid-callout--warn { border-left-color: var(--wp--preset--color--accent); background-color: var(--lk-sand); }
html body.lk-p1 .kid-calc__overlay { background: color-mix(in srgb, var(--lk-ink) 55%, transparent); }
/* таблицы: эквиваленты размеров и строка «вы здесь» */
html body.lk-p1 .kid-calc__equiv :is(th, td) { border-bottom-color: var(--lk-line); }
html body.lk-p1 .kid-calc__equiv th { background-color: var(--lk-bg); color: var(--lk-text2); }
html body.lk-p1 .kid-page thead th { background-color: var(--lk-sand); color: var(--lk-text2); }
html body.lk-p1 .kid-page tbody tr:nth-child(even) { background-color: var(--lk-bg); }
html body.lk-p1 .kid-page tbody tr.kid-row-you, html body.lk-p1 .kid-page tbody tr.kid-row-you:nth-child(even) { background-color: var(--lk-ink); }
html body.lk-p1 .kid-page tbody tr.kid-row-you td { color: var(--lk-surface); border-bottom-color: var(--lk-ink); }
@media (max-width: 560px) {
	html body.lk-p1 .kid-page table.kid-table-cards tr { border-color: var(--lk-line); }
	html body.lk-p1 .kid-page table.kid-table-cards td { border-bottom-color: var(--lk-line) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } /* у плагина !important */
	html body.lk-p1 .kid-page table.kid-table-cards td::before { color: var(--lk-muted); }
	html body.lk-p1 .kid-page table.kid-table-cards tr.kid-row-you { border-color: var(--lk-ink); box-shadow: none; }
	html body.lk-p1 .kid-page table.kid-table-cards tr.kid-row-you td { border-bottom-color: var(--lk-text2) !important; /* !important: состояние вне замера 4.5 — оставлено */ } /* у плагина !important */
}
/* календарь овуляции: те же ступени, что у диаграмм */
html body.lk-p1 .kid-cal__d { background-color: var(--lk-sand); color: var(--lk-text2); }
html body.lk-p1 .kid-cal__d--period { background-color: var(--lk-line); }
html body.lk-p1 .kid-cal__d--win { background-color: color-mix(in srgb, var(--wp--preset--color--accent) 22%, var(--lk-surface)); color: var(--lk-ink); }
html body.lk-p1 .kid-cal__d--peak { background-color: var(--lk-text2); color: var(--lk-surface); }
html body.lk-p1 .kid-cal__d--ovul { background-color: var(--lk-ink); color: var(--lk-surface); }
html body.lk-p1 .kid-cal__d--test { box-shadow: inset 0 0 0 2px var(--wp--preset--color--accent); }
html body.lk-p1 .kid-cal__d--today { outline-color: var(--lk-ink); }
html body.lk-p1 .kid-cal__mark.kid-cal__d--test { background-color: var(--lk-sand); }
/* чек-листы: кнопки, полоса прогресса, отметки */
html body.lk-p1 .kid-check__btn { border-color: var(--lk-line); color: var(--lk-ink); }
html body.lk-p1 .kid-check__btn:hover { border-color: var(--lk-ink); color: var(--lk-ink); }
html body.lk-p1 .kid-check__bar { border-color: var(--lk-line); }
html body.lk-p1 .kid-check__bar i { background-color: var(--wp--preset--color--success); }
html body.lk-p1 .kid-check__item:hover { background-color: var(--lk-sand); }
html body.lk-p1 .kid-check__item input { accent-color: var(--lk-ink); }
html body.lk-p1 .kid-check__item span { color: var(--lk-ink); }
html body.lk-p1 .kid-check__item.is-done span { color: var(--lk-muted); text-decoration-color: var(--lk-muted); }
html body.lk-p1 .kid-check__cta a { color: var(--lk-ink); }
html body.lk-p1 .kid-check .kid-check__channel { color: var(--lk-accent-text) !important; /* !important: без него побеждает стиль ядра, Woo или плагина (замер 4.5) */ } /* у плагина карамель с !important */
/* диаграммы kid-chart: цвета приходят атрибутами SVG (CSS их перебивает) и инлайн-стилем у меток легенды.
   Значение — тёмный тёплый (text2), выделение — чернила, «вы» — акцент, коридоры и сетка — песок и линия.
   HEX ниже — только ключи селекторов (значения атрибутов fill/stroke, которые пишет kid-chart.js), не цвета темы. */
html body.lk-p1 .kid-chart__svg [fill="#26302b"] { fill: var(--lk-ink); }
html body.lk-p1 .kid-chart__svg [stroke="#26302b"] { stroke: var(--lk-ink); }
html body.lk-p1 .kid-chart__svg [fill="#41494a"] { fill: var(--lk-muted); }
html body.lk-p1 .kid-chart__svg [stroke="#41494a"] { stroke: var(--lk-muted); }
html body.lk-p1 .kid-chart__svg [fill="#6f8672"] { fill: var(--lk-text2); }
html body.lk-p1 .kid-chart__svg [stroke="#6f8672"] { stroke: var(--lk-text2); }
html body.lk-p1 .kid-chart__svg [fill="#5e7d64"] { fill: var(--lk-ink); }
html body.lk-p1 .kid-chart__svg [stroke="#5e7d64"] { stroke: var(--lk-ink); }
html body.lk-p1 .kid-chart__svg [fill="#b6c4b8"] { fill: var(--lk-line); }
html body.lk-p1 .kid-chart__svg [fill="#b98a68"] { fill: var(--wp--preset--color--accent); }
html body.lk-p1 .kid-chart__svg [stroke="#b98a68"] { stroke: var(--wp--preset--color--accent); }
html body.lk-p1 .kid-chart__svg [fill="#7c8578"] { fill: var(--lk-muted); }
html body.lk-p1 .kid-chart__svg [stroke="#7c8578"] { stroke: var(--lk-muted); }
html body.lk-p1 .kid-chart__svg :is([fill="#e8e6dd"], [fill="#e0ded0"]) { fill: var(--lk-sand); }
html body.lk-p1 .kid-chart__svg :is([fill="#cfccbd"], [fill="#dcdacf"]) { fill: var(--lk-line); }
html body.lk-p1 .kid-chart__svg :is([stroke="#e8e6dd"], [stroke="#e0ded0"], [stroke="#cfccbd"], [stroke="#dcdacf"]) { stroke: var(--lk-line); }
html body.lk-p1 .kid-chart__svg :is([fill="#f1f0e9"], [fill="#f4f3ee"]) { fill: var(--lk-bg); }
html body.lk-p1 .kid-chart__svg text[fill="#f4f3ee"] { fill: var(--lk-surface); }
html body.lk-p1 .kid-chart__svg :is([stroke="#f1f0e9"], [stroke="#f4f3ee"]) { stroke: var(--lk-surface); }
html body.lk-p1 .kid-chart__legend-mark[style*="38, 48, 43"] { background-color: var(--lk-ink) !important; /* !important: состояние вне замера 4.5 — оставлено */ } /* против инлайн-стиля легенды */
html body.lk-p1 .kid-chart__legend-mark[style*="65, 73, 74"] { background-color: var(--lk-muted) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
html body.lk-p1 .kid-chart__legend-mark[style*="111, 134, 114"] { background-color: var(--lk-text2) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
html body.lk-p1 .kid-chart__legend-mark[style*="94, 125, 100"] { background-color: var(--lk-ink) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
html body.lk-p1 .kid-chart__legend-mark[style*="182, 196, 184"] { background-color: var(--lk-line) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
html body.lk-p1 .kid-chart__legend-mark[style*="185, 138, 104"] { background-color: var(--wp--preset--color--accent) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
html body.lk-p1 .kid-chart__legend-mark:is([style*="232, 230, 221"], [style*="224, 222, 208"]) { background-color: var(--lk-sand) !important; /* !important: состояние вне замера 4.5 — оставлено */ }
html body.lk-p1 .kid-chart__legend-mark:is([style*="207, 204, 189"], [style*="220, 218, 207"]) { background-color: var(--lk-line) !important; /* !important: состояние вне замера 4.5 — оставлено */ }

/* ---------- 18. Полировка, вечер 2 (24.10.2026, SPRINT-2026-10-26-design-polish.md §3) ----------
 * До «да» Андрея — только с кукой предпросмотра (класс body.lk-p2 — leola_p2() в functions.php). */

/* 18.1 Мега-меню «Каталог» (шаг 2.1, ТЗ 3.6 / 4.5): колонки разделов + 2 фото-плитки справа (inc/nav.php).
   Открытие — наведением с задержкой 150 мс (случайный проход курсора не открывает), кликом и с клавиатуры: кнопка-стрелка
   ядра (aria-expanded, Esc закрывает и возвращает на неё фокус) видна при фокусе с клавиатуры, места в строке не занимает. */
.lk-mega { display: none; }
@media (min-width: 1240px) {
	body.lk-p2 .lk-nav .wp-block-navigation__container > li.has-child { position: relative; }
	body.lk-p2 .lk-nav .wp-block-navigation__container > li > .wp-block-navigation__submenu-icon {
		display: flex; align-items: center; justify-content: center; position: absolute; right: -14px; top: 50%; width: 14px; height: 28px; margin: -14px 0 0; padding: 0; background: none; border: 0; color: var(--lk-ink); opacity: 0; cursor: pointer;
	}
	body.lk-p2 .lk-nav .wp-block-navigation__container > li > .wp-block-navigation__submenu-icon:focus-visible { opacity: 1; outline: 2px solid var(--lk-ink); outline-offset: 1px; }
	body.lk-p2 .lk-nav .wp-block-navigation__container > li > .wp-block-navigation__submenu-icon[aria-expanded="true"] svg { transform: rotate(180deg); }
	body.lk-p2 .lk-nav .wp-block-navigation__container > li.has-child > .wp-block-navigation__submenu-container { transition: opacity .1s linear, visibility 0s linear .1s; }
	body.lk-p2 .lk-nav .wp-block-navigation__container > li.has-child:hover > .wp-block-navigation__submenu-container,
	body.lk-p2 .lk-nav .wp-block-navigation__container > li.has-child > [aria-expanded="true"] ~ .wp-block-navigation__submenu-container { transition: opacity .12s linear .15s, visibility 0s linear .15s; }
	body.lk-p2 .lk-nav li.kid-catalog-menu > .wp-block-navigation__submenu-container { grid-template-columns: repeat(5, minmax(120px, 1fr)) 220px; width: min(1240px, calc(100vw - 2 * var(--lk-gutter) - 48px)); }
	body.lk-p2 .lk-nav li.kid-catalog-menu > .wp-block-navigation__submenu-container > li.lk-mega { display: flex; flex-direction: column; gap: 20px; grid-column: 6; grid-row: 1; padding-left: 28px; border-left: 1px solid var(--lk-line); }
	body.lk-p2 .lk-mega__tile { display: grid; gap: 4px; color: var(--lk-ink); text-decoration: none; }
	body.lk-p2 .lk-mega__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: var(--lk-sand); }
	body.lk-p2 .lk-mega__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
	body.lk-p2 .lk-mega__name { margin-top: 6px; font: 300 18px/1.2 var(--lk-serif); }
	body.lk-p2 .lk-mega__n { font-size: 12.5px; color: var(--lk-muted); font-variant-numeric: tabular-nums; }
	body.lk-p2 .lk-mega__tile:hover .lk-mega__name, body.lk-p2 .lk-mega__tile:focus-visible .lk-mega__name { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
}

/* 18.2 Мобильное меню (шаг 2.2, ТЗ 3.6): миниатюра 56 px слева от названия раздела; на компьютере не выводится (и не грузится) */
.lk-mthumb { display: none; }
@media (max-width: 1239px) {
	body.lk-p2 .kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.kid-catalog-menu > ul > li > a.wp-block-navigation-item__content { justify-content: flex-start; gap: 14px; }
	body.lk-p2 .kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.kid-catalog-menu > ul > li > a > .wp-block-navigation-item__label { flex: 1 1 auto; min-width: 0; }
	body.lk-p2 .kid-mnav .is-menu-open .wp-block-navigation__responsive-container-content li.kid-catalog-menu > ul > li.lk-mega { display: none; } /* плитки мега-меню — только на компьютере */
	body.lk-p2 .kid-mnav .lk-mthumb { display: block; flex: 0 0 56px; width: 56px; height: 56px; overflow: hidden; background: var(--lk-sand); }
	body.lk-p2 .kid-mnav .lk-mthumb img { display: block; width: 56px; height: 56px; object-fit: cover; }
}

/* 18.3 Шторка выбора варианта (шаг 2.3, ТЗ 4.5; leola-quick.js): телефон — снизу во всю ширину, компьютер — окно 480 px */
.lk-sheet { box-sizing: border-box; width: 100%; max-width: 100%; max-height: 88vh; margin: auto 0 0; padding: 0; border: 0; border-top: 1px solid var(--lk-line); background: var(--lk-bg); color: var(--lk-ink); box-shadow: var(--lk-pop); overflow: auto; }
.lk-sheet::backdrop { background: color-mix(in srgb, var(--lk-ink) 45%, transparent); }
@media (min-width: 768px) { .lk-sheet { width: 480px; margin: auto; border: 1px solid var(--lk-line); } }
.lk-sheet__box { position: relative; display: grid; gap: 18px; padding: 20px var(--lk-gutter) calc(20px + env(safe-area-inset-bottom)); }
@media (min-width: 768px) { .lk-sheet__box { padding: 28px; } }
.lk-sheet__close { position: absolute; top: 4px; right: 4px; width: 44px; height: 44px; padding: 10px; border: 0; background: none; color: var(--lk-ink); cursor: pointer; }
.lk-sheet__close svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.lk-sheet__head { display: grid; grid-template-columns: 96px 1fr; gap: 16px; align-items: center; padding-right: 40px; }
.lk-sheet__ph { display: block; width: 96px; height: 120px; background: var(--lk-sand); }
.lk-sheet__img { display: block; width: 100%; height: 100%; object-fit: contain; }
.lk-sheet__meta p { margin: 0; }
.lk-sheet__brand { font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); }
.lk-sheet__title { margin-top: 4px !important; /* !important: состояние вне замера 4.5 — оставлено */ font: 300 20px/1.2 var(--lk-serif); }
.lk-sheet__price { margin-top: 6px !important; /* !important: состояние вне замера 4.5 — оставлено */ font-size: 15px; font-variant-numeric: tabular-nums; }
.lk-sheet__opts { display: grid; gap: 16px; min-height: 44px; }
.lk-sheet__opts[aria-busy="true"] { background: linear-gradient(90deg, var(--lk-sand), var(--lk-bg), var(--lk-sand)); }
.lk-sheet__group { margin: 0; padding: 0; border: 0; min-width: 0; }
.lk-sheet__label { padding: 0; margin: 0 0 8px; font: 500 12px/1.3 var(--lk-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--lk-muted); }
.lk-sheet__chosen { margin-left: 8px; letter-spacing: 0; text-transform: none; color: var(--lk-ink); font-size: 13px; }
.lk-sheet__vals { display: flex; flex-wrap: wrap; gap: 8px; }
.lk-sheet__val { min-width: 44px; min-height: 44px; padding: 0 14px; border: 1px solid var(--lk-line); border-radius: 0; background: var(--lk-surface); color: var(--lk-ink); font: 400 14px/1.2 var(--lk-sans); cursor: pointer; }
.lk-sheet__val[aria-pressed="true"] { border-color: var(--lk-ink); box-shadow: inset 0 0 0 1px var(--lk-ink); }
.lk-sheet__val.is-off { color: var(--lk-muted); text-decoration: line-through; }
.lk-sheet__val.is-sw { position: relative; width: 44px; padding: 0; border-color: transparent; border-radius: 50%; background: none; }
.lk-sheet__val.is-sw::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--lk-sw, var(--lk-sand)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--lk-ink) 15%, transparent); }
.lk-sheet__val.is-sw[aria-pressed="true"] { border-color: var(--lk-ink); }
.lk-sheet__val.is-sw.is-off::after { content: ""; position: absolute; left: 8px; right: 8px; top: 50%; height: 1px; background: var(--lk-ink); transform: rotate(-45deg); }
.lk-sheet__msg { margin: 0; font-size: 13px; color: var(--wp--preset--color--error); }
.lk-sheet__msg:empty { display: none; }
.lk-sheet__add { width: 100%; min-height: 52px; }
.lk-sheet__add:disabled { opacity: .45; cursor: default; }
.lk-sheet__page { justify-self: start; display: inline-flex; align-items: center; min-height: 44px; }

/* 18.4 Фильтры: чипы — углы 0 (ТЗ 4.2), «Ничего не найдено» — неактивная кнопка */
body.lk-p2 .lk-filters .wc-block-product-filter-removable-chips__item, body.lk-p2 .lk-filters .wc-block-product-filter-chips__item, body.lk-p2 .lk-chips-active a { border-radius: 0; }
body.lk-p2 .wc-block-product-filters__apply:disabled { opacity: .45; cursor: default; }

/* 18.5 Области нажатия ≥ 44×44 на телефоне (шаг 2.4, ТЗ 3.5 / 4.8). Обход 390 px: главная, полка с открытым фильтром, карточка,
   выезжающая корзина, корзина, футер (scripts/p2-check.mjs, P2_ONLY=taps). Где высота строки должна остаться прежней — поле нажатия растёт
   отрицательными полями (ритм вёрстки не меняется). Ссылки внутри текста абзаца — исключение по условию шага. */
@media (max-width: 1023px) {
	body.lk-p2 .lk-logo { min-height: 44px; }
	body.lk-p2 .lk-link:not(.lk-noresults .lk-link) { display: inline-flex; align-items: center; min-width: 44px; min-height: 44px; }
	body.lk-p2 .lk-card__title a { display: block; padding: 5px 0; margin: -5px 0; }
	body.lk-p2 .lk-crumbs a { display: inline-flex; align-items: center; min-height: 44px; margin: -14px 0; }
	body.lk-p2 .lk-footer__col li a { display: inline-flex; align-items: center; box-sizing: border-box; min-width: 44px; min-height: 44px; padding: 6px 0; margin: -6px 0; } /* padding — чтобы ссылка в две строки не наезжала на соседнюю */
	body.lk-p2 .lk-footer__bottom a, body.lk-p2 .lk-acc__body p:last-child > a { display: inline-flex; align-items: center; min-height: 44px; }
	/* фильтры: строка значения — поле нажатия (сама галочка 14 px внутри подписи), цена, «Показать больше» */
	body.lk-p2 .lk-filters .wc-block-product-filter-checkbox-list__label { display: flex; align-items: center; min-height: 44px; }
	body.lk-p2 .lk-filters .wc-block-product-filter-price-slider .text input { box-sizing: border-box; min-height: 44px; }
	body.lk-p2 .lk-filters .wc-block-product-filter-checkbox-list__show-more-button { min-height: 44px; }
	/* пагинация */
	body.lk-p2 .lk-pagination a, body.lk-p2 .lk-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; }
	/* карточка товара: селект варианта (под кружками) */
	body.lk-p2 .lk-pdp__form table.variations select { min-height: 44px; }
	/* корзина: количество и «удалить» в выезжающей корзине и на странице корзины, «Есть промокод?» */
	body.lk-p2 .wc-block-components-quantity-selector { min-height: 44px; }
	body.lk-p2 .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { min-width: 44px; min-height: 44px; }
	body.lk-p2 .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { min-width: 44px; min-height: 44px; }
	body.lk-p2 .wc-block-cart-item__remove-link { min-width: 44px; min-height: 44px; }
	body.lk-p2 .wc-block-components-panel__button { min-height: 44px; }
	body.lk-p2 .wc-block-mini-cart__drawer .wc-block-components-product-name { display: inline-block; padding: 4px 0; margin: -4px 0; }
}

/* ---------- 19. Полировка, вечер 3 (24.10.2026, SPRINT-2026-10-26-design-polish.md §4) ----------
 * До «да» Андрея — только с кукой предпросмотра (класс body.lk-p3 — leola_p3() в functions.php). */

/* 19.1 Выезжающая корзина: строка доставки под подытогом (шаг 3.1; текст — фикс 76.1, без «бесплатно», правило 15).
   Woo прячет описание итога в выезжающей корзине — показываем. */
body.lk-p3 .wc-block-mini-cart__drawer .wc-block-mini-cart__footer .wc-block-components-totals-item__description { display: block; flex: 1 1 100%; margin-top: 4px; }

/* 19.2 «✓ Добавлено: товар» под заголовком (шаг 3.2, leola.js): 4 с, затем строка схлопывается */
.lk-added { margin: 0; padding: 0 24px; max-height: 0; overflow: hidden; font-size: 13.5px; line-height: 1.4; color: var(--lk-ink); background: var(--lk-sand); transition: max-height .2s ease, padding .2s ease; }
.lk-added.is-on { max-height: 96px; padding: 10px 24px; border-bottom: 1px solid var(--lk-line); }
@media (prefers-reduced-motion: reduce) { .lk-added { transition: none; } }

/* 19.3 «Хорошо сочетается» (шаг 3.3): над итогом, до 2 строк — фото 64×80, бренд, название, цена, «+» 44×44 */
.lk-pairs { flex: 0 0 auto; padding: 14px 24px 4px; border-top: 1px solid var(--lk-line); background: var(--lk-bg); }
.lk-pairs__h { margin: 0 0 8px; font: 500 11px/1.3 var(--lk-sans); letter-spacing: .16em; text-transform: uppercase; color: var(--lk-muted); }
.lk-pairs__list { margin: 0; padding: 0; list-style: none; }
.lk-pair { display: grid; grid-template-columns: 64px 1fr 44px; gap: 12px; align-items: center; padding: 6px 0; }
.lk-pair__img { display: block; width: 64px; height: 80px; background: var(--lk-sand); }
.lk-pair__img img { display: block; width: 100%; height: 100%; object-fit: contain; }
.lk-pair__txt { min-width: 0; }
.lk-pair__txt p { margin: 0; }
.lk-pair__brand { font: 500 10.5px/1.3 var(--lk-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--lk-muted); }
.lk-pair__name { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; box-sizing: border-box; min-height: 44px; padding: 4px 0; margin: -4px 0; font-size: 13.5px; line-height: 1.35; color: var(--lk-ink); text-decoration: none; } /* поле нажатия 44 px (шаг 2.4) */
.lk-pair__name:hover { text-decoration: underline; text-underline-offset: 4px; }
.lk-pair__price { font-size: 13.5px; font-variant-numeric: tabular-nums; }
.lk-pair__add { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid var(--lk-ink); background: var(--lk-bg); color: var(--lk-ink); cursor: pointer; }
.lk-pair__add svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.4; }
.lk-pair__add:disabled { background: var(--lk-ink); color: var(--lk-surface); cursor: default; }
@media (max-height: 700px) { .lk-pair:nth-child(2) { display: none; } } /* низкий экран — одна строка, список товаров важнее */

/* 19.4 Регрессия вечера 2 (найдена в вечер 3): кнопки количества стали 44 px, а поле количества в корзине — 104 px (секция 14),
   «+» вылезал за рамку. Ширина — по содержимому. */
@media (max-width: 1023px) { body.lk-p3 :is(.wc-block-mini-cart__drawer, .lk-cartpage) .wc-block-components-quantity-selector { width: auto; min-width: 132px; } }

/* 19.5 Шторка варианта: невыбранная группа после нажатия «В корзину» (баг 14 ТЗ, ТЗ 4.5) */
.lk-sheet__group.is-need .lk-sheet__label { color: var(--lk-accent-text); }
.lk-sheet__group.is-need .lk-sheet__val:not(.is-sw) { border-color: var(--lk-accent-text); }
.lk-sheet__group.is-need .lk-sheet__val.is-sw { box-shadow: 0 0 0 1px var(--lk-accent-text); }

/* ---------- 20. Полировка, вечер 4 (24.10.2026, SPRINT-2026-10-26-design-polish.md §5) ----------
 * Новое — под классом body.lk-p4 (leola_p4() в functions.php). Ревизия !important этого вечера (шаг 4.5) — по всему файлу:
 * 117 → 57 объявлений (55 после замера + 2 «парных» возвращены сверкой), у оставшихся — комментарий «почему» (scripts/p4-important.mjs, p4-important-apply.mjs, сверка p4-box-diff.mjs). */

/* 20.1 Мега-меню: заголовки колонок вровень с полками (у ссылок разделов было padding-left 20 px от ядра навигации) */
@media (min-width: 1240px) {
	body.lk-p4 .lk-nav li.kid-catalog-menu > .wp-block-navigation__submenu-container > li > a.wp-block-navigation-item__content { padding-left: 0; padding-right: 0; }
}

/* 20.2 «Производитель» на карточке товара (шаг 4.1): песок, имя бренда шрифтом заголовков, одна фраза, ссылка на бренд */
.lk-makerbox { display: grid; gap: 8px; justify-items: start; margin: 32px 0 0; padding: 24px; background: var(--lk-sand); }
.lk-makerbox p { margin: 0; }
.lk-makerbox__name { font: 300 26px/1.15 var(--lk-serif); color: var(--lk-ink); }
.lk-makerbox__text { font-size: 15px; line-height: 1.5; color: var(--lk-text2); }
@media (min-width: 1024px) { .lk-makerbox { padding: 32px; } }

/* 20.3 Появление блоков при прокрутке (шаг 4.4, ТЗ 3.8; leola.js — класс .lk-rv только ниже первого экрана) */
body.lk-p4 .lk-rv { opacity: 0; transform: translateY(12px); transition: opacity .4s ease-out, transform .4s ease-out; }
body.lk-p4 .lk-rv.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
	body.lk-p4 .lk-rv { transform: none; transition: opacity .4s ease-out; }
}

/* ---------- 21. Полировка, вечер 5 (24.10.2026, SPRINT-2026-10-26-design-polish.md §6) ----------
 * Доступность (шаг 5.1) — в leola.js под body.lk-p5. Здесь — находка регрессии 5.3: на ET-страницах калькуляторов и чек-листов
 * при 375 px длинные слова («Kooliasjade nimekiri») распирали сетку «Ещё инструменты» плагина (1fr = не уже слова) —
 * прокрутка вбок на 4–6 px. Колонки — minmax(0, 1fr), подпись переносится (выложено по «да» Андрея 24.10.2026). */
body.lk-p5 .kid-tools-more__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 781px) { body.lk-p5 .kid-tools-more__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
body.lk-p5 .kid-tools-more__card { min-width: 0; overflow-wrap: anywhere; }

/* ---------- 22. Полировка 2, вечер 1 (25.10.2026, SPRINT-2026-10-27-polish-2.md §1) ----------
 * Шаг 1.2 (Н2): шкала заголовков ТЗ 3.3. Пары размеров — токены theme.json (display 2.75 → 4.75rem, h2 1.75 → 3rem, h1 от 2rem;
 * товар — до 46 px, как было, категория — до 84 px). Нижнее значение — до 390 px, верхнее — с 1440 px, между ними плавно
 * (у пресетов WP отсчёт от 320 px, и на 390 выходило 46 вместо 44). Новое — под классом body.lk-p6 (leola_p6() в functions.php). */
body.lk-p6 {
	--lk-fs-display: clamp(2.75rem, 2.75rem + (100vw - 390px) * .030476, 4.75rem); /* 44 → 76 */
	--lk-fs-h2: clamp(1.75rem, 1.75rem + (100vw - 390px) * .019048, 3rem); /* 28 → 48 */
	--lk-fs-pdp: clamp(2rem, 2rem + (100vw - 390px) * .013333, 2.875rem); /* 32 → 46 */
	--lk-fs-cat: clamp(2.75rem, 2.75rem + (100vw - 390px) * .038095, 5.25rem); /* 44 → 84 */
}
body.lk-p6 .lk-display { font-size: var(--lk-fs-display); }
body.lk-p6 .lk-h2 { font-size: var(--lk-fs-h2); }
body.lk-p6 .lk-pdp__title { font-size: var(--lk-fs-pdp); }
body.lk-p6 .lk-cathero__title { font-size: var(--lk-fs-cat); }
/* Слово длиннее строки (ET «sorteerimiskonteineriga», EN «Gold/Beige/White/Clear» на 360 px при 32 px) переносится там, где
   перестаёт влезать, вместо прокрутки вбок. Остальные слова не трогаются: hyphens: auto не берём — Chrome и Safari переносят
   жадно и короткие слова («шум-ного», «конструк-торы» даже на 1440). У товара и первого экрана — anywhere: H1 в сетке/флексе,
   иначе ячейка растёт по ширине слова. У категории — break-word: на компьютере колонка 5fr должна, как раньше, расти под
   «конструкторы,» на 84 px, а не рвать его */
body.lk-p6 :is(.lk-display, .lk-pdp__title) { overflow-wrap: anywhere; }
body.lk-p6 .lk-cathero__title { overflow-wrap: break-word; }

/* ---------- 23. Полировка 2, вечер 2 (25.10.2026, SPRINT-2026-10-27-polish-2.md §2) ----------
 * Шаг 2.2: доставка 139 / 160 / 166 — итог тремя строками (список .lk-shipsum — оформление списков страниц, секция 15),
 * таблица 27 стран свёрнута в <details class="lk-shipall"> — как аккордеон карточки товара (.lk-acc). Под классом body.lk-p7. */
body.lk-p7 .lk-page .kid-page .lk-shipall { margin: 8px 0 28px; border-top: 1px solid var(--lk-line); border-bottom: 1px solid var(--lk-line); }
body.lk-p7 .lk-page .kid-page .lk-shipall > summary { display: flex; align-items: center; justify-content: space-between; min-height: 56px; cursor: pointer; list-style: none; font-size: 15px; }
body.lk-p7 .lk-page .kid-page .lk-shipall > summary::-webkit-details-marker { display: none; }
body.lk-p7 .lk-page .kid-page .lk-shipall > summary::after { content: "+"; margin-left: auto; padding-left: 12px; font-size: 20px; font-weight: 300; }
body.lk-p7 .lk-page .kid-page .lk-shipall[open] > summary::after { content: "−"; }
body.lk-p7 .lk-page .kid-page .lk-shipall[open] > summary { margin-bottom: 8px; }
/* CLS первого экрана (главная RU 0,022): у заголовка было max-width: 16ch, а ch — ширина «0». На RU «0» лежит в латинском файле
 * Literata, он приходит позже кириллического — до него ch считался по Georgia (357 px, заголовок в 4 строки), после — 420 px
 * (3 строки), блок текста прыгал на 46 px. Те же ширины в em (замер: Literata 300 — 0,588–0,592 em на «0» по оси opsz,
 * Inter opsz 14 — 0,6308 em) от шрифта не зависят; после загрузки шрифтов вид прежний. */
body.lk-p7 .lk-dip .lk-display { max-width: 9.47em; } /* 16ch на 76 px; на телефоне ширину держит колонка */
body.lk-p7 :is(.lk-cathero__desc, .lk-404__text) { max-width: 32.8em; } /* 52ch Inter */
body.lk-p7 .lk-page .kid-page { max-width: 44.16em; } /* 70ch Inter */
body.lk-p7 .lk-page .kid-about2-lead { max-width: 29.02em; } /* 46ch Inter */

/* ---------- 24. «Никогда в минус», вечер 2 (25.10.2026, SPRINT-2026-10-28-profit-guard.md §3) ----------
 * Метка «Сделано в {стране}» на карточке длиннее «Ручной работы» («Сделано в Эстонии и Литве») — переносится внутри фото,
 * не выходит за край карточки на 375 px. */
body.lk-p8 .lk-label { max-width: calc(100% - 18px); line-height: 1.35; }
@media (min-width: 1024px) { body.lk-p8 .lk-label { max-width: calc(100% - 28px); } }
