@charset "UTF-8";
/* Кодировка — первой строкой: сервер отдаёт CSS без charset, и браузер угадывал её сам — подпись «Меню» в шапке выходила крокозябрами (октябрь 2026). */

/*
 * Facette — оформление компонентов дизайн-системы «Swarovski».
 * Значения берутся из theme.json: --wp--preset--color--*, --wp--preset--spacing--1…9,
 * --wp--preset--font-size--*, --wp--custom--*. Граница мобильной вёрстки — 1024 / 1025px.
 */

/* ---------------------------------------------------------------- База */

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-synthesis: none;
	text-rendering: optimizeLegibility;
}

:lang(ru) p,
:lang(kk) p {
	hyphens: auto;
}

h1, h2, h3, h4, h5, h6, p, blockquote, figcaption {
	text-wrap: pretty;
}

/*
 * Место под полосу прокрутки зарезервировано всегда: шторки (поиск, меню, корзина, таблица размеров,
 * просмотр фото) выключают прокрутку страницы, полоса пропадала, и страница дёргалась вбок на её ширину.
 * Корзина WooCommerce сама дописывает body отступ справа на ширину полосы — при резерве это дёргало бы
 * в обратную сторону, поэтому отступ снят.
 */
html {
	scrollbar-gutter: stable;
	/*
	 * Без автоувеличения текста в мобильных браузерах: Chromium на Android сам укрупнял часть надписей
	 * на несколько процентов, но не текст в <select> — «Фильтры» выходили крупнее «По названию».
	 * Масштаб текста из настроек доступности браузер применяет и так.
	 */
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

body {
	padding-right: 0 !important;
}

/*
 * Подвал всегда внизу окна, даже когда контента мало (вход, «Забыли пароль», пустая корзина):
 * страница — колонка не ниже окна (без полосы администратора), подвал прижат к её низу.
 */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - var(--wp-admin--admin-bar--height, 0px));
	min-height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
}

.wp-site-blocks > footer.wp-block-template-part {
	margin-top: auto;
}

.wp-site-blocks > * + *,
.fc-main > *,
.fc-main .wp-block-post-content > .alignfull,
.fc-main > .wp-block-post-content {
	margin-block: 0;
}

.fc-main {
	min-height: 40vh;
}

/* Межстрочные интервалы текстовых стилей системы — по размеру шрифта */
.has-caption-font-size { line-height: 13.2px; }
.has-utility-font-size { line-height: 15.6px; }
.has-body-sm-font-size { line-height: 19.6px; }
.has-product-name-font-size { line-height: 21px; }
.has-ui-font-size { line-height: 22.4px; }
.has-price-font-size { line-height: 18px; }
.has-lead-font-size { line-height: 29.4px; }
.has-title-sm-font-size { line-height: 32.4px; }
.has-title-font-size { line-height: 36px; }
.has-display-hero-m-font-size { line-height: 43.2px; }
.has-display-font-size { line-height: 56.4px; }
.has-wordmark-font-size { line-height: 64px; }

:where(h1, h2, h3, h4, h5, h6).has-title-font-size,
:where(h1, h2, h3, h4, h5, h6).has-title-sm-font-size,
:where(h1, h2, h3, h4, h5, h6).has-display-font-size {
	letter-spacing: 0;
}

/* Ссылки в тексте: подчёркнуты всегда, 1px с отступом 4px; при наведении линия толще */
a {
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

a:hover {
	text-decoration-thickness: 2px;
}

/* Изображения, поля и кнопки — прямые углы */
img,
input,
select,
textarea,
button {
	border-radius: 0;
}

/* ---------------------------------------------------------------- Скорость шторок */

/*
 * Одна скорость на все шторки — меню, корзину, поиск, фильтры, таблицу размеров: открытие 0,2 с
 * с быстрым стартом и мягкой остановкой, закрытие 0,15 с (было 0,25–0,3 с; владелец попросил быстрее).
 */
:root {
	--fc-drawer-in: .2s cubic-bezier(.22, .61, .36, 1);
	--fc-drawer-out: .15s cubic-bezier(.4, 0, 1, 1);
}

/* ---------------------------------------------------------------- Фокус клавиатуры */

:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid transparent;
	box-shadow: var(--wp--custom--focus-ring);
}

/* На noir и поверх фото — белый outline */
.fc-footer :where(a, button):focus-visible,
.is-style-section-noir :where(a, button):focus-visible,
.wp-block-cover :where(a, button):focus-visible {
	outline: 2px solid var(--wp--preset--color--on-noir);
	outline-offset: 2px;
	box-shadow: none;
}

/* ---------------------------------------------------------------- Иконки: класс fc-i-<имя> */

[class*="fc-i-"]::before {
	content: "";
	display: inline-block;
	flex: none;
	width: var(--fc-icon-size, var(--wp--custom--icon-size));
	height: var(--fc-icon-size, var(--wp--custom--icon-size));
	background-color: currentColor;
	-webkit-mask: var(--fc-icon) center / contain no-repeat;
	mask: var(--fc-icon) center / contain no-repeat;
	vertical-align: middle;
}

.fc-i-heart { --fc-icon: url(../icons/heart.svg); }
.fc-i-search { --fc-icon: url(../icons/search.svg); }
.fc-i-menu { --fc-icon: url(../icons/menu.svg); }
.fc-i-close { --fc-icon: url(../icons/close.svg); }
.fc-i-chevron-left { --fc-icon: url(../icons/chevron-left.svg); }
.fc-i-chevron-right { --fc-icon: url(../icons/chevron-right.svg); }
.fc-i-chevron-down { --fc-icon: url(../icons/chevron-down.svg); }
.fc-i-plus { --fc-icon: url(../icons/plus.svg); }
.fc-i-minus { --fc-icon: url(../icons/minus.svg); }
.fc-i-user { --fc-icon: url(../icons/user.svg); }
.fc-i-bag { --fc-icon: url(../icons/bag.svg); }
.fc-i-store { --fc-icon: url(../icons/store.svg); }
.fc-i-ruler { --fc-icon: url(../icons/ruler.svg); }
.fc-i-filter { --fc-icon: url(../icons/filter.svg); }
.fc-i-sort { --fc-icon: url(../icons/sort.svg); }
.fc-i-truck { --fc-icon: url(../icons/truck.svg); }
.fc-i-gift { --fc-icon: url(../icons/gift.svg); }
.fc-i-check { --fc-icon: url(../icons/check.svg); }
.fc-i-trash { --fc-icon: url(../icons/trash.svg); }

p[class*="fc-i-"],
div[class*="fc-i-"] {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
}

.fc-icon {
	display: inline-block;
	flex: none;
	vertical-align: middle;
}

/* ---------------------------------------------------------------- Button */

/* md — 40px, 16/22.4 regular; min-width 220px; длинная подпись растягивает и переносится */
.wp-block-button__link,
.wp-element-button,
.wc-block-components-button:not(.is-link),
.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--2);
	box-sizing: border-box;
	min-height: var(--wp--custom--control-height);
	max-width: 100%;
	border-radius: 0;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background-color .15s, color .15s, border-color .15s;
}

.wp-block-button__link {
	min-width: var(--wp--custom--control-min-width);
}

.wp-block-button__link:hover,
.wp-element-button:hover {
	text-decoration: none;
}

/* Вторичная: белая с рамкой; hover инвертирует */
.wp-block-button.is-style-secondary .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button.is-style-lg-secondary .wp-block-button__link {
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--noir);
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-lg-secondary .wp-block-button__link:hover {
	background: var(--wp--preset--color--noir);
	color: var(--wp--preset--color--on-noir);
}

/* Коммерческая: 48px, 14/19.6 semibold — «В корзину», «Показать ещё» */
.wp-block-button.is-style-lg .wp-block-button__link,
.wp-block-button.is-style-lg-secondary .wp-block-button__link {
	min-height: var(--wp--custom--control-height-lg);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	font-weight: 600;
}

/* Белая на тёмном — «Смотреть» в hero и на noir */
.wp-block-button.is-style-on-noir .wp-block-button__link {
	background: var(--wp--preset--color--on-noir);
	color: var(--wp--preset--color--ink);
	border-color: var(--wp--preset--color--on-noir);
}

.wp-block-button.is-style-on-noir .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--on-noir);
}

/* Контур поверх фото — всегда вместе со scrim */
.wp-block-button.is-style-on-image .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--on-image);
	border-color: var(--wp--preset--color--on-image);
}

.wp-block-button.is-style-on-image .wp-block-button__link:hover {
	background: var(--wp--preset--color--on-image);
	color: var(--wp--preset--color--ink);
}

/* Текстовая: без рамки, 14px, отступы 21px — «Фильтры», «Сортировка» */
.wp-block-button.is-style-ghost .wp-block-button__link {
	min-width: 0;
	min-height: 32px;
	padding: var(--wp--preset--spacing--2) var(--wp--custom--space-ghost-x);
	border-color: transparent;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.wp-block-button.is-style-ghost .wp-block-button__link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.wp-block-button__link[aria-disabled="true"],
.wp-element-button:disabled {
	opacity: .4;
	cursor: not-allowed;
}

/* ---------------------------------------------------------------- TextLink */

.is-style-text-link a,
.fc-text-link,
a.fc-text-link {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--1);
	padding-bottom: 3px;
	font-size: var(--wp--preset--font-size--ui);
	line-height: 22.4px;
	letter-spacing: .4px;
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

.is-style-text-link a:hover,
a.fc-text-link:hover {
	text-decoration-thickness: 2px;
}

.is-style-text-link {
	margin-top: var(--wp--preset--spacing--2);
}

/* ---------------------------------------------------------------- Бейдж, атрибуты */

.is-style-badge:empty,
.fc-pcard-meta:not(:has(.is-style-badge:not(:empty))) {
	display: none;
}

/*
 * «Новинка» — не плашка, а тихая надпись: розовый квадрат 8px (blush) и слово ink 12px с разрядкой
 * (решение владельца, октябрь 2026; плашка blush с белым текстом смотрелась чужеродно).
 * Одинаково в карточках, подборках и на странице товара.
 */
.is-style-badge.fc-badge-new:not(:empty) {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink);
	font-size: 12px;
	line-height: 16px;
	font-weight: 400;
	letter-spacing: 1.2px;
}

.is-style-badge.fc-badge-new:not(:empty)::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--blush);
}

.fc-pcard-meta {
	align-items: center;
}

.fc-pcard-meta .fc-badge-new {
	align-self: center;
}

/* На странице товара — небольшой отступ до названия */
.fc-buy .is-style-badge.fc-badge-new:not(:empty) {
	padding-bottom: var(--wp--preset--spacing--1);
}

/* ---------------------------------------------------------------- Header */

/*
 * Шапка: вверху страницы — стеклянная полоса во всю ширину, при прокрутке плавно
 * собирается в парящую плашку по ширине контента и держится у верхнего края
 * (класс is-floating ставит assets/js/header.js; без JS остаётся полоса).
 * Липкой делаем обёртку части шаблона — её родитель .wp-site-blocks тянется на всю
 * страницу. Место в потоке у шапки постоянное, поэтому страница не прыгает;
 * прозрачные поля вокруг плашки пропускают клики к странице.
 */
:root {
	--fc-header-offset: var(--wp--custom--header-offset);
	--fc-header-height: var(--wp--custom--header-height);
	--fc-header-radius: var(--wp--custom--header-radius);
	--fc-header-pad: var(--wp--preset--spacing--5);
	/* Нижний край прилипшей плашки — для липких колонок и якорей ниже шапки */
	--fc-header-bottom: calc(var(--wp-admin--admin-bar--height, 0px) + var(--fc-header-offset) + var(--fc-header-height));
	scroll-padding-top: calc(var(--fc-header-bottom) + var(--fc-header-offset));
}

.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 40;
	box-sizing: border-box;
	height: calc(2 * var(--fc-header-offset) + var(--fc-header-height));
	padding-top: var(--fc-header-offset);
	/* Полоса во всю ширину считается через 100vw и может зайти под полосу прокрутки — лишнее обрезаем */
	overflow-x: clip;
	pointer-events: none;
}

/* На главной первый экран (hero, слайдер акций) начинается от верха страницы и уходит под шапку */
.home .wp-site-blocks > header.wp-block-template-part {
	margin-bottom: calc(-1 * (2 * var(--fc-header-offset) + var(--fc-header-height)));
}

/*
 * Одна строка: «Меню» слева, словесный знак по центру, поиск и корзина справа.
 * Сама шапка всегда размером с плашку и не двигается — анимируется только стекло
 * под ней (::before). Если двигать и содержимое, иконки при анимации дрожат
 * на пиксель из-за округления.
 */
.fc-header {
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	grid-template-areas: "burger mark icons";
	align-items: center;
	box-sizing: border-box;
	width: min(var(--wp--style--global--wide-size), 100% - var(--wp--style--root--padding-left) - var(--wp--style--root--padding-right));
	height: var(--fc-header-height);
	margin: 0 auto;
	padding: 0 var(--fc-header-pad);
	color: var(--wp--preset--color--ink);
	pointer-events: auto;
	/* На сколько полоса шире плашки с каждой стороны — до краёв окна */
	--fc-header-bleed: max(var(--wp--style--root--padding-left), (100vw - var(--wp--style--global--wide-size)) / 2);
}

/*
 * Стекло: полупрозрачный белый и размытие того, что под шапкой. Вверху страницы —
 * полоса во всю ширину и на всю высоту места шапки; с классом is-floating — плашка
 * со скруглёнными углами и тенью. Размытие — на псевдоэлементе: backdrop-filter
 * на самой шапке сделал бы её контейнером для position: fixed, и шторки меню
 * и корзины внутри сжались бы до её размера.
 */
.fc-header::before {
	content: "";
	position: absolute;
	inset: calc(-1 * var(--fc-header-offset)) calc(-1 * var(--fc-header-bleed));
	border-radius: 0;
	/* Полоса во всю ширину прозрачнее парящей плашки: 65% белого против 80% (решение владельца, октябрь 2026) */
	background: color-mix(in srgb, var(--wp--preset--color--surface-raised) 65%, transparent);
	-webkit-backdrop-filter: saturate(180%) blur(20px);
	backdrop-filter: saturate(180%) blur(20px);
	box-shadow: 0 1px 0 #0000000f, 0 0 0 transparent, inset 0 0 0 transparent;
	pointer-events: none;
}

/* Парящая плашка шире контента на 40px с каждой стороны (1280px при контенте 1200px; решение владельца,
   октябрь 2026). Расширяется только стекло — меню, знак и иконки остаются на месте. На узких экранах
   выступ меньше: до края окна остаётся не меньше 16px */
.fc-header.is-floating::before {
	/* (100vw − 100%) / 2 — поле от шапки до края окна; 8px — запас на половину полосы прокрутки */
	inset: 0 calc(-1 * clamp(0px, (100vw - 100%) / 2 - var(--wp--preset--spacing--4) - 8px, 40px));
	border-radius: var(--fc-header-radius);
	background: color-mix(in srgb, var(--wp--preset--color--surface-raised) 80%, transparent);
	box-shadow: var(--wp--custom--shadow-float);
}

/* Переходы включаются после первой расстановки — при загрузке с середины страницы шапка не анимируется */
.fc-header.is-ready::before {
	transition-property: inset, border-radius, box-shadow, background-color;
	transition-duration: .45s;
	transition-timing-function: cubic-bezier(.32, .72, 0, 1);
}

/* Браузер без размытия — почти непрозрачная плашка, чтобы текст под ней не мешал */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.fc-header::before,
	.fc-header.is-floating::before {
		background: color-mix(in srgb, var(--wp--preset--color--surface-raised) 94%, transparent);
	}
}

.fc-header > * {
	position: relative;
	margin: 0 !important;
}

/* Словесный знак — Spectral 30px, разрядка .04em, по центру */
.fc-wordmark {
	grid-area: mark;
	justify-self: center;
	padding: 0;
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--title);
	line-height: 36px;
	letter-spacing: .04em;
	white-space: nowrap;
}

.fc-wordmark a {
	color: inherit;
	text-decoration: none;
}

/* Подпись под знаком «Официальный магазин в Астане» (inc/navigation.php) — только на десктопе:
   9px прописными с разрядкой, ink-muted, как крошки; знак с подписью укладывается в высоту шапки 64px */
.fc-tagline {
	display: none;
}

@media (min-width: 1025px) {
	.fc-wordmark.has-tagline {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.fc-tagline {
		display: block;
		margin-top: -2px; /* ближе к знаку: под буквами знака и так запас строки 36px */
		font-family: var(--wp--preset--font-family--sans);
		font-size: 9px;
		line-height: 11px;
		font-weight: 400;
		letter-spacing: 2.2px;
		text-transform: uppercase;
		color: var(--wp--preset--color--ink-muted);
	}
}

/* Кнопка «Меню»: иконка 24px и подпись ui 16px */
.fc-nav-mobile {
	grid-area: burger;
	justify-self: start;
}

.fc-nav-mobile .wp-block-navigation__responsive-container-open {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--ui);
	line-height: 22.4px;
	letter-spacing: var(--wp--custom--tracking);
	cursor: pointer;
}

.fc-nav-mobile .wp-block-navigation__responsive-container-open svg {
	display: none;
}

.fc-nav-mobile .wp-block-navigation__responsive-container-open::before {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url(../icons/menu.svg) center / contain no-repeat;
	mask: url(../icons/menu.svg) center / contain no-repeat;
}

/* Подпись видна глазам; скринридер читает aria-label кнопки «Открыть меню» */
.fc-nav-mobile .wp-block-navigation__responsive-container-open::after {
	content: "Меню";
	content: "Меню" / "";
}

.fc-nav-mobile .wp-block-navigation__responsive-container-open:hover::after {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Иконки шапки: поиск и корзина — 24px в кнопках 40px */
.fc-header-icons {
	grid-area: icons;
	justify-self: end;
	gap: var(--wp--preset--spacing--3);
	--fc-header-icon: 24px;
}

.fc-search .wp-block-search__button,
.fc-cart .wc-block-mini-cart__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 0;
	height: 40px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.fc-search .wp-block-search__button:hover,
.fc-cart .wc-block-mini-cart__button:hover {
	background: transparent;
	color: var(--wp--preset--color--ink);
	opacity: 1;
}

.fc-search .wp-block-search__button svg,
.fc-cart .wc-block-mini-cart__icon,
.fc-cart .wc-block-mini-cart__button > svg,
.fc-cart .wc-block-mini-cart__quantity-badge > svg {
	display: none;
}

.fc-search .wp-block-search__button::before,
.fc-cart .wc-block-mini-cart__quantity-badge::before {
	content: "";
	width: var(--fc-header-icon);
	height: var(--fc-header-icon);
	background: currentColor;
	-webkit-mask: var(--fc-icon) center / contain no-repeat;
	mask: var(--fc-icon) center / contain no-repeat;
}

.fc-search .wp-block-search__button::before { --fc-icon: url(../icons/search.svg); }
.fc-cart .wc-block-mini-cart__quantity-badge::before { --fc-icon: url(../icons/bag.svg); }

.fc-cart .wc-block-mini-cart__quantity-badge {
	position: relative;
	display: inline-flex;
}

/*
 * Счётчик корзины — чёрный кружок справа внизу иконки. Привязан к правому краю (у WooCommerce — left: 100%
 * с отрицательным полем): двузначное число растёт влево, а не за край шапки.
 */
.fc-cart .wc-block-mini-cart__badge {
	position: absolute;
	top: auto;
	bottom: -4px;
	right: -6px;
	left: auto;
	margin: 0;
	min-width: 16px;
	height: 16px;
	padding: 0 3px;
	border: 0;
	border-radius: var(--wp--custom--radius-pill);
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
	font-size: 10px;
	line-height: 16px;
	font-weight: 600;
	transform: none;
}

/* Поиск раскрывается полем влево */
.fc-search {
	position: relative;
}

.fc-search .wp-block-search__inside-wrapper {
	border: 0;
	padding: 0;
	background: transparent;
}

.fc-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
	border-bottom: 1px solid var(--wp--preset--color--ink);
}

.fc-search .wp-block-search__input {
	border: 0;
	background: transparent;
	font-size: var(--wp--preset--font-size--body-sm);
	padding: 0 var(--wp--preset--spacing--2);
	min-width: 200px;
}

/* Шапка оформления заказа: «Меню» нет — знак слева, «Вернуться в корзину» справа */
.fc-header-wrap-static .fc-header {
	grid-template-areas: "mark mark icons";
}

.fc-header-wrap-static .fc-wordmark {
	justify-self: start;
}

.fc-header-back a {
	font-size: var(--wp--preset--font-size--body-sm);
	color: var(--wp--preset--color--ink);
}

/* Стрелка нарисована у абзаца (::before), а не у ссылки — область нажатия ссылки растянута на весь
   абзац вместе со стрелкой. Иначе на телефоне, где текст скрыт, нажималась только полоска 8px правее
   стрелки (октябрь 2026). */
.fc-header-back {
	position: relative;
}

.fc-header-back a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* ---------------------------------------------------------------- Меню каталога (шторка) */

/* Шторка: белая панель во всю ширину (на планшете — до 480px), справа затемнение */
.fc-nav-mobile .wp-block-navigation__responsive-container.is-menu-open {
	padding: 0 !important;
	background: var(--wp--preset--color--scrim) !important;
	color: var(--wp--preset--color--ink);
	animation: none;
}

.fc-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.fc-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
.fc-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	padding: 0 !important;
}

.fc-nav-mobile .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
	display: block;
}

/* Вместо штатного списка оверлея — своя часть «Мобильное меню» */
.fc-nav-mobile .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
	display: none !important;
}

.fc-nav-mobile .wp-block-navigation__overlay-container {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}

.fc-mm {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: var(--wp--custom--mobile-menu-max-width);
	height: 100%;
	margin: 0 !important;
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	text-align: left;
	overflow: hidden;
	animation: fc-slide-in var(--fc-drawer-in);
}

@keyframes fc-slide-in {
	from { transform: translateX(-100%); }
	to { transform: none; }
}

/* Полоса 53px: «назад», название раздела, «закрыть» */
.fc-mm-bar {
	flex: none;
	display: grid;
	grid-template-columns: 48px 1fr 48px;
	align-items: center;
	justify-items: center;
	height: var(--wp--custom--mobile-menu-bar-height);
	margin: 0 !important;
	padding: 0 var(--wp--preset--spacing--1);
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
	box-sizing: border-box;
}

.fc-mm-bar > * {
	margin: 0 !important;
}

.fc-mm-title {
	grid-column: 2;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: var(--wp--preset--font-size--ui);
	line-height: 22.4px;
}

.fc-mm-back,
.fc-mm-bar .wp-block-navigation-overlay-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.fc-mm-back { grid-column: 1; }
.fc-mm-back[hidden] { display: none; }

.fc-mm-bar .wp-block-navigation-overlay-close {
	grid-column: 3;
}

.fc-mm-bar .wp-block-navigation-overlay-close svg {
	display: none;
}

.fc-mm-back::before,
.fc-mm-bar .wp-block-navigation-overlay-close::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--fc-icon) center / contain no-repeat;
	mask: var(--fc-icon) center / contain no-repeat;
}

.fc-mm-back { --fc-icon: url(../icons/chevron-left.svg); }
.fc-mm-bar .wp-block-navigation-overlay-close { --fc-icon: url(../icons/close.svg); }

/*
 * Уровни (до 1024px): лента — новый уровень въезжает справа, пункты прежнего синхронно уходят
 * влево на всю ширину; «назад» — наоборот. Одна длительность и кривая у обоих, 0,3 с
 * (было 0,5 с, подменю наезжало на неподвижный родитель — владелец попросил быстрее и сдвигом).
 */
.fc-mm {
	--fc-mm-slide: .3s cubic-bezier(.4, 0, .2, 1);
}

.fc-mm-viewport {
	position: relative;
	flex: 1;
	margin: 0 !important;
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.fc-mm-nav,
.fc-mm-nav .wp-block-navigation__container,
.fc-mm-nav li {
	position: static !important;
}

.fc-mm-nav .wp-block-navigation__container {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	width: 100%;
	padding-top: var(--wp--preset--spacing--1);
}

.fc-mm-nav li {
	display: block !important;
	width: 100%;
}

.fc-mm-nav .wp-block-navigation-item__content {
	display: flex !important;
	align-items: center;
	width: 100%;
	min-height: var(--wp--custom--mobile-menu-row-height);
	box-sizing: border-box;
	padding: var(--wp--preset--spacing--2) 30px var(--wp--preset--spacing--2) 21px !important;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--ui);
	line-height: 22.4px;
	letter-spacing: .4px;
}

.fc-mm-nav .wp-block-navigation-item__label {
	flex: 1;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	overflow-wrap: anywhere;
}

.fc-mm-nav .has-child > .wp-block-navigation-item__content::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	margin-left: 13px;
	background: var(--wp--preset--color--ink-muted);
	-webkit-mask: url(../icons/chevron-right.svg) center / contain no-repeat;
	mask: url(../icons/chevron-right.svg) center / contain no-repeat;
}

.fc-mm-nav .wp-block-navigation-item__content:active {
	background: var(--wp--preset--color--surface-muted);
}

.fc-mm-nav .wp-block-navigation__submenu-icon {
	display: none !important;
}

.fc-mm-nav .wp-block-navigation__submenu-container {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2;
	display: flex !important;
	flex-direction: column;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: var(--wp--preset--color--surface-raised) !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	opacity: 1 !important;
	visibility: hidden !important;
	transform: translateX(100%);
	transition: transform var(--fc-mm-slide), visibility 0s linear .3s !important;
}

.fc-mm-nav .has-child.is-open > .wp-block-navigation__submenu-container {
	visibility: visible !important;
	transform: none;
	transition: transform var(--fc-mm-slide), visibility 0s !important;
}

/* Прежний уровень уходит влево: двигаем его строки, а не список — в списке лежат и вложенные
   подменю, их сдвиг утащил бы. Ушедшие строки прячем после анимации — Tab по ним не ходит */
@media (max-width: 1024px) {
	.fc-mm-nav li > .wp-block-navigation-item__content,
	.fc-mm-account {
		transition: transform var(--fc-mm-slide), visibility 0s;
	}

	.fc-mm-nav :is(.wp-block-navigation__container, .wp-block-navigation__submenu-container):has(> .has-child.is-open) > li > .wp-block-navigation-item__content,
	.fc-mm-viewport.is-drilled .fc-mm-account {
		visibility: hidden;
		transform: translateX(-100%);
		transition: transform var(--fc-mm-slide), visibility 0s linear .3s;
	}
}

/* На вложенных уровнях строки ink-muted, первая — «Смотреть все» на surface-muted */
.fc-mm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink-muted);
}

.fc-mm-nav .wp-block-navigation__submenu-container .has-child > .wp-block-navigation-item__content,
.fc-mm-nav .fc-mm-all > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--ink);
}

.fc-mm-nav .fc-mm-all > .wp-block-navigation-item__content {
	background: var(--wp--preset--color--surface-muted);
}

/* Промо-фото — только в десктопной шторке */
.fc-mm-nav .fc-mega-promo {
	display: none !important;
}

.fc-mm-viewport.is-drilled {
	overflow: hidden;
}

/* Служебные ссылки внизу меню: 15/16.8 ink-secondary с иконками */
.fc-mm-account {
	display: flex;
	flex-direction: column;
	gap: 37px;
	margin: 0 !important;
	padding: 55px 29px var(--wp--preset--spacing--7);
}

.fc-mm-account > * {
	margin: 0 !important;
	gap: 13px !important;
	color: var(--wp--preset--color--ink-secondary);
}

.fc-mm-account a {
	color: inherit;
	text-decoration: none;
}

/*
 * Десктоп (≥1025px): шторка из колонок по трети экрана. Первая — разделы и служебные ссылки внизу;
 * раздел с подменю открывает справа следующую колонку, панель расширяется на её ширину.
 * Строки 18/24, по 48px от краёв колонки; открытый раздел — 600, наведение — подчёркивание.
 */
@media (min-width: 1025px) {
	.fc-mm {
		--fc-col: var(--wp--custom--drawer-col);
		position: relative;
		width: calc(var(--fc-col) * var(--fc-cols, 1));
		max-width: 100%;
		transition: width var(--fc-drawer-in);
	}

	/* Полоса 80px: только «закрыть» слева */
	.fc-mm-bar {
		grid-template-columns: auto;
		justify-items: start;
		height: var(--wp--custom--drawer-bar-height);
		padding: 0 calc(var(--wp--preset--spacing--7) - 8px);
	}

	.fc-mm-bar .fc-mm-back,
	.fc-mm-bar .fc-mm-title {
		display: none;
	}

	.fc-mm-bar .wp-block-navigation-overlay-close {
		grid-column: 1;
		width: 40px;
		height: 40px;
	}

	.fc-mm-bar .wp-block-navigation-overlay-close::before {
		width: 24px;
		height: 24px;
	}

	.fc-mm-viewport,
	.fc-mm-viewport.is-drilled {
		display: flex;
		flex-direction: column;
		overflow-x: hidden;
		overflow-y: auto;
	}

	.fc-mm-nav,
	.fc-mm-account {
		flex: none;
		width: var(--fc-col);
		box-sizing: border-box;
	}

	.fc-mm-nav .wp-block-navigation__container {
		padding-top: var(--wp--preset--spacing--6);
	}

	.fc-mm-nav .wp-block-navigation-item__content,
	.fc-mm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		min-height: var(--wp--custom--drawer-row-height);
		padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--7) !important;
		color: var(--wp--preset--color--ink);
		font-size: var(--wp--preset--font-size--price);
		line-height: 24px;
	}

	.fc-mm-nav .wp-block-navigation-item__content:active,
	.fc-mm-nav .fc-mm-all > .wp-block-navigation-item__content {
		background: none;
	}

	.fc-mm-nav .wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
		text-decoration: underline;
		text-underline-offset: 4px;
	}

	.fc-mm-nav .has-child.is-open > .wp-block-navigation-item__content {
		font-weight: 600;
	}

	.fc-mm-nav .has-child > .wp-block-navigation-item__content::after {
		background: var(--wp--preset--color--ink);
	}

	/* Колонка подменю: справа от родительской, во всю высоту, с линией line-subtle слева.
	   Закрытые не рендерим, чтобы они не растягивали прокрутку панели */
	.fc-mm-nav .wp-block-navigation__submenu-container {
		display: none !important;
	}

	.fc-mm-nav .has-child.is-open > .wp-block-navigation__submenu-container {
		display: flex !important;
	}

	.fc-mm-nav .wp-block-navigation__submenu-container,
	.fc-mm-nav .has-child.is-open > .wp-block-navigation__submenu-container {
		inset: 0 auto auto var(--fc-col) !important;
		width: var(--fc-col) !important;
		min-height: 100%;
		padding: 0 0 var(--wp--preset--spacing--7) !important;
		border-left: 1px solid var(--wp--preset--color--line-subtle) !important;
		box-sizing: border-box;
		overflow: visible !important;
		transform: none;
		transition: none !important;
	}

	.fc-mm-nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
	.fc-mm-nav .wp-block-navigation__submenu-container .has-child.is-open > .wp-block-navigation__submenu-container {
		left: 100% !important;
	}

	/* Отступ сверху — у первой строки: padding-top колонки Chrome добавляет к прокрутке панели */
	.fc-mm-nav .wp-block-navigation__submenu-container > li:first-child {
		margin-top: var(--wp--preset--spacing--6);
	}

	.fc-mm-nav .has-child.is-open > .wp-block-navigation__submenu-container {
		animation: fc-fade-in .2s ease-out;
	}

	/* «По коллекциям» и промо — за линией line, как вторая группа колонки */
	.fc-mm-nav .wp-block-navigation__submenu-container > li:is(.is-muted, .fc-mega-promo) {
		width: auto;
		margin-inline: var(--wp--preset--spacing--7);
	}

	.fc-mm-nav .wp-block-navigation__submenu-container > li:is(.is-muted, .fc-mega-promo) > .wp-block-navigation-item__content {
		padding-inline: 0 !important;
	}

	.fc-mm-nav .wp-block-navigation__submenu-container > li:not(.is-muted, .fc-mega-promo) + li:is(.is-muted, .fc-mega-promo) {
		margin-top: var(--wp--preset--spacing--5);
		padding-top: var(--wp--preset--spacing--5);
		border-top: 1px solid var(--wp--preset--color--line);
	}

	/* Промо — фото 16:9 во всю ширину колонки, под ним подпись 16/600 */
	.fc-mm-nav .fc-mega-promo {
		display: block !important;
		margin-top: var(--wp--preset--spacing--6);
	}

	.fc-mm-nav .fc-mega-promo > .wp-block-navigation-item__content {
		flex-direction: column;
		align-items: stretch;
		gap: var(--wp--preset--spacing--3);
		font-size: var(--wp--preset--font-size--ui) !important;
		line-height: 22.4px !important;
		font-weight: 600;
	}

	.fc-mm-nav .fc-mega-promo .fc-mega-promo-img {
		order: -1;
		display: block;
		aspect-ratio: 16 / 9;
		overflow: hidden;
		background: var(--wp--preset--color--surface-muted);
	}

	.fc-mm-nav .fc-mega-promo .fc-mega-promo-img img {
		display: block;
		width: 100%;
		height: 100%;
		object-fit: cover;
		transition: transform .5s ease-out;
	}

	.fc-mm-nav .fc-mega-promo > .wp-block-navigation-item__content:hover img {
		transform: scale(1.03);
	}

	/* Служебные ссылки — внизу первой колонки */
	.fc-mm-account {
		margin-top: auto !important;
		padding: var(--wp--preset--spacing--7);
		gap: var(--wp--preset--spacing--5);
	}

	.fc-mm-account a:hover {
		text-decoration: underline;
		text-underline-offset: 3px;
	}
}

@keyframes fc-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.fc-mm,
	.fc-hero-track,
	.fc-header,
	.fc-header::before,
	.fc-mm-nav .wp-block-navigation__submenu-container,
	.fc-mm-nav li > .wp-block-navigation-item__content,
	.fc-mm-account,
	.fc-mm-nav .fc-mega-promo img {
		animation: none !important;
		transition: none !important;
	}
}

/* ---------------------------------------------------------------- Drawer — шторка справа (таблица размеров) */

/* Белая панель 720px на всю высоту, на телефоне — во всю ширину; страница под scrim и не прокручивается */
html:has(.fc-drawer[open]),
html:has(.fc-search-panel[open]) {
	overflow: hidden;
}

.fc-drawer {
	position: fixed;
	inset: 0 0 0 auto;
	width: min(var(--wp--custom--drawer-panel-width), 100vw);
	max-width: 100vw;
	height: 100dvh;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.fc-drawer[open] {
	animation: fc-drawer-in var(--fc-drawer-in);
}

.fc-drawer.is-closing {
	animation: fc-drawer-out var(--fc-drawer-out) forwards;
}

/* ::backdrop не наследует переменные в старых Safari — цвет scrim числом */
.fc-drawer::backdrop {
	background: #00000066;
	animation: fc-fade-in var(--fc-drawer-in);
}

.fc-drawer.is-closing::backdrop {
	animation: fc-fade-out var(--fc-drawer-out) forwards;
}

@keyframes fc-drawer-in {
	from { transform: translateX(100%); }
	to { transform: none; }
}

@keyframes fc-drawer-out {
	from { transform: none; }
	to { transform: translateX(100%); }
}

@keyframes fc-fade-out {
	from { opacity: 1; }
	to { opacity: 0; }
}

.fc-drawer-inner {
	min-height: 100%;
}

/* Полоса 80px: «закрыть» справа, липнет к верху при прокрутке */
.fc-drawer-bar {
	position: sticky;
	top: 0;
	z-index: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	box-sizing: border-box;
	height: var(--wp--custom--drawer-bar-height);
	padding: 0 calc(var(--wp--preset--spacing--7) - 8px);
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
	background: var(--wp--preset--color--surface-raised);
}

.fc-drawer-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.fc-drawer-close::before {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url(../icons/close.svg) center / contain no-repeat;
	mask: url(../icons/close.svg) center / contain no-repeat;
}

.fc-drawer-body {
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--8) var(--wp--preset--spacing--8);
}

.fc-drawer-title {
	margin: 0 0 var(--wp--preset--spacing--6);
	font-size: var(--wp--preset--font-size--title);
	line-height: 36px;
}

.fc-drawer-content > * {
	margin-block: 0 var(--wp--preset--spacing--5);
}

.fc-drawer-content > :last-child {
	margin-bottom: 0;
}

/* Разделы таблицы размеров: заголовок раздела, якорь не уходит под полосу «закрыть» */
.fc-drawer-content h3 {
	margin-top: var(--wp--preset--spacing--7);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 26px;
	scroll-margin-top: calc(var(--wp--custom--drawer-bar-height) + var(--wp--preset--spacing--4));
}

.fc-drawer-content > h3 + p {
	margin-bottom: var(--wp--preset--spacing--3);
}

.fc-drawer-content p {
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

/* Таблица: ячейки через 8px, шапка — нежный blush, строки через одну на surface-muted, текст по центру */
.fc-drawer .wp-block-table {
	margin-inline: -8px;
	overflow-x: auto;
}

.fc-drawer .wp-block-table table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 8px;
	background: none;
	font-size: var(--wp--preset--font-size--ui);
	line-height: 22.4px;
}

.fc-drawer .wp-block-table th,
.fc-drawer .wp-block-table td {
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--2);
	border: 0;
	text-align: center;
	vertical-align: middle;
	font-variant-numeric: tabular-nums;
}

.fc-drawer .wp-block-table thead th {
	background: color-mix(in srgb, var(--wp--preset--color--blush) 30%, var(--wp--preset--color--surface-raised));
	font-weight: 400;
}

.fc-drawer .wp-block-table thead th:first-child,
.fc-drawer .wp-block-table tbody td:first-child {
	font-weight: 600;
}

.fc-drawer .wp-block-table tbody tr:nth-child(odd) td {
	background: var(--wp--preset--color--surface-muted);
}

.fc-drawer .wp-block-table figcaption {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	text-align: left;
}

/*
 * Шторка «Наличие в магазинах» (inc/stores.php): уже таблицы размеров — 480px, на телефоне во весь экран.
 * Заголовок — «Есть в 2 магазинах», под ним товар и выбранный вариант; магазины с товаром строками через
 * линию line-subtle: название и справа «✓ В наличии» ink, под ними адрес и часы ink-secondary, номер
 * телефона ссылкой и «Написать в WhatsApp»; магазины без товара — последней строкой «Нет в наличии: …» ink-muted.
 */
.fc-stores-drawer {
	width: min(480px, 100vw);
}

.fc-stores-drawer .fc-drawer-title {
	margin-bottom: var(--wp--preset--spacing--2);
}

/* Артикул — сразу под строкой товара (4px: её нижний отступ 20px минус 16px), а не через 20px */
.fc-stores-sku {
	margin: calc(-1 * var(--wp--preset--spacing--4)) 0 var(--wp--preset--spacing--5);
}

.fc-stores-product {
	margin: 0 0 var(--wp--preset--spacing--5);
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.fc-stores-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
}

.fc-store {
	display: grid;
	gap: var(--wp--preset--spacing--2);
	padding: var(--wp--preset--spacing--5) 0;
	border-top: 1px solid var(--wp--preset--color--line-subtle);
}

.fc-store[hidden] { /* сильнее display: grid */
	display: none;
}

.fc-store > p {
	margin: 0;
}

.fc-store-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--4);
}

.fc-store-name {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 25.2px;
}

.fc-store-status {
	--fc-icon-size: 14px;
	flex: none;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	white-space: nowrap;
}

.fc-store-status::before {
	margin: -2px 6px 0 0;
}

.fc-stores-absent {
	padding: var(--wp--preset--spacing--5) 0;
	border-top: 1px solid var(--wp--preset--color--line-subtle);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.fc-stores-absent[hidden] {
	display: none;
}

.fc-stores-absent-list > span { /* «ТРЦ Infinity Mall, Атырау» переносится целиком */
	white-space: nowrap;
}

.fc-store .fc-store-address { /* сильнее :lang(ru) p с hyphens: auto */
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	hyphens: manual;
}

.fc-store-contacts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--1) var(--wp--preset--spacing--5);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.fc-store-contacts a {
	color: var(--wp--preset--color--ink);
	text-underline-offset: 3px;
	white-space: nowrap;
}

.fc-stores-note {
	margin: var(--wp--preset--spacing--5) 0 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

@media (max-width: 720px) {
	.fc-drawer-bar {
		height: var(--wp--custom--mobile-menu-bar-height);
		padding: 0 var(--wp--preset--spacing--2);
	}

	.fc-drawer-close::before {
		width: 16px;
		height: 16px;
	}

	.fc-drawer-body {
		padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--4) var(--wp--preset--spacing--7);
	}

	.fc-drawer-title {
		font-size: 21px;
		line-height: 25.2px;
	}

	.fc-drawer .wp-block-table table {
		font-size: var(--wp--preset--font-size--body-sm);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fc-drawer[open],
	.fc-drawer::backdrop {
		animation: none;
	}
}

/* ---------------------------------------------------------------- SearchPanel — поиск сверху */

/* Белая панель во всю ширину сверху, содержимое — колонка 960px по центру; страница под scrim */
.fc-search-panel {
	position: fixed;
	inset: 0 0 auto;
	width: 100%;
	max-width: 100vw;
	max-height: 100dvh;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	overflow-x: hidden;
	overflow-y: auto;
	overscroll-behavior: contain;
}

.fc-search-panel[open] {
	animation: fc-panel-down var(--fc-drawer-in);
}

.fc-search-panel.is-closing {
	animation: fc-panel-up var(--fc-drawer-out) forwards;
}

.fc-search-panel::backdrop {
	background: #00000066;
	animation: fc-fade-in var(--fc-drawer-in);
}

.fc-search-panel.is-closing::backdrop {
	animation: fc-fade-out var(--fc-drawer-out) forwards;
}

@keyframes fc-panel-down {
	from { transform: translateY(-100%); }
	to { transform: none; }
}

@keyframes fc-panel-up {
	from { transform: none; }
	to { transform: translateY(-100%); }
}

.fc-sp-inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: calc(var(--wp--custom--search-panel-width) + 2 * var(--wp--preset--spacing--5));
	margin: 0 auto;
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--5) var(--wp--preset--spacing--8);
}

/* «Закрыть» — в правом верхнем углу экрана, не колонки */
.fc-sp-close {
	position: fixed;
	top: var(--wp--preset--spacing--5);
	right: var(--wp--preset--spacing--5);
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.fc-sp-close::before,
.fc-sp-clear::before,
.fc-sp-form::before {
	content: "";
	flex: none;
	background: currentColor;
	-webkit-mask: var(--fc-icon) center / contain no-repeat;
	mask: var(--fc-icon) center / contain no-repeat;
}

.fc-sp-close::before {
	width: 24px;
	height: 24px;
	--fc-icon: url(../icons/close.svg);
}

/* Поле: лупа, текст lead 21px, линия ink-muted снизу — при фокусе ink */
.fc-sp-form {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	margin: 0;
	padding-bottom: var(--wp--preset--spacing--2);
	border-bottom: 1px solid var(--wp--preset--color--ink-muted);
	color: var(--wp--preset--color--ink-muted);
}

.fc-sp-form:focus-within {
	border-bottom-color: var(--wp--preset--color--ink);
	color: var(--wp--preset--color--ink);
}

.fc-sp-form::before {
	width: 24px;
	height: 24px;
	--fc-icon: url(../icons/search.svg);
}

.fc-sp-input {
	flex: 1;
	min-width: 0;
	height: 40px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font: inherit;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 28px;
	-webkit-appearance: none;
	appearance: none;
}

.fc-sp-input:focus,
.fc-sp-input:focus-visible {
	outline: none;
	box-shadow: none;
}

.fc-sp-input::-webkit-search-cancel-button,
.fc-sp-input::-webkit-search-decoration {
	-webkit-appearance: none;
	appearance: none;
}

.fc-sp-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink-muted);
	cursor: pointer;
}

.fc-sp-clear[hidden] {
	display: none;
}

.fc-sp-clear::before {
	width: 16px;
	height: 16px;
	--fc-icon: url(../icons/close.svg);
}

.fc-sp-clear:hover {
	color: var(--wp--preset--color--ink);
}

/* Колонки: запросы 200px слева, товары справа */
.fc-sp-body {
	display: grid;
	grid-template-columns: var(--wp--custom--search-aside-width) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--8);
	margin-top: var(--wp--preset--spacing--8);
}

.fc-sp-aside {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--7);
}

.fc-sp-aside > [hidden] {
	display: none;
}

/* Пока вводят запрос — вместо истории и популярных запросов подсказки (assets/js/search.js) */
.fc-search-panel.is-typing .fc-sp-history,
.fc-search-panel.is-typing .fc-sp-popular {
	display: none;
}

/* Заголовки групп — гротеск 14/600; в левой колонке под ними линия line-subtle */
.fc-sp-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--3);
	margin-bottom: var(--wp--preset--spacing--4);
}

.fc-sp-aside .fc-sp-head {
	padding-bottom: var(--wp--preset--spacing--3);
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
}

/* !important — мобильная шкала темы поднимает все h2 до 27px */
.fc-sp-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body-sm) !important;
	line-height: 19.6px !important;
	font-weight: 600;
	letter-spacing: 0;
}

.fc-sp-history-clear,
.fc-sp-all {
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink-muted);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--utility);
	line-height: 15.6px;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	white-space: nowrap;
}

.fc-sp-history-clear:hover,
.fc-sp-all:hover {
	color: var(--wp--preset--color--ink);
}

.fc-sp-all[hidden] {
	display: none;
}

.fc-sp-links {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--3);
	margin: 0;
	padding: 0;
	list-style: none;
}

.fc-sp-links a {
	display: block;
	overflow: hidden;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fc-sp-links a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Подсказка-категория: справа серая подпись «Категория» */
.fc-sp-suggest a {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--3);
}

.fc-sp-suggest-text {
	overflow: hidden;
	text-overflow: ellipsis;
}

.fc-sp-suggest-type {
	flex: none;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 15.6px;
}

/* Товары — 3 в ряд через 4px, белые карточки с линией line-subtle */
.fc-sp-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--1);
	margin: 0;
	padding: 0;
	list-style: none;
	transition: opacity .2s ease-out;
}

.fc-sp-grid[hidden] {
	display: none;
}

.fc-search-panel.is-loading .fc-sp-grid {
	opacity: .4;
}

.fc-sp-card a {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: var(--wp--preset--spacing--4);
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--line-subtle);
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	transition: border-color .2s ease-out;
}

.fc-sp-card a:hover {
	border-color: var(--wp--preset--color--line);
}

.fc-sp-card-img {
	display: block;
	aspect-ratio: 4 / 3;
	margin-bottom: var(--wp--preset--spacing--3);
	overflow: hidden;
	background: var(--wp--preset--color--surface-raised);
}

.fc-sp-card-img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .5s ease-out;
}

.fc-sp-card a:hover .fc-sp-card-img img {
	transform: scale(1.03);
}

.fc-sp-card-name {
	display: -webkit-box;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--product-name);
	line-height: 21px;
	letter-spacing: .375px;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.fc-sp-card a:hover .fc-sp-card-name {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fc-sp-card-sub {
	margin-top: var(--wp--preset--spacing--1);
	overflow: hidden;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 13.2px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fc-sp-message {
	margin: 0;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
}

/* До 1024px: запросы над товарами, крестик меньше; до 600px товары по 2 в ряд */
@media (max-width: 1024px) {
	.fc-sp-inner {
		padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4) var(--wp--preset--spacing--7);
	}

	.fc-sp-close {
		position: absolute;
		top: var(--wp--preset--spacing--3);
		right: var(--wp--preset--spacing--2);
	}

	.fc-sp-close::before {
		width: 16px;
		height: 16px;
	}

	.fc-sp-form {
		margin-right: 40px;
	}

	.fc-sp-input {
		font-size: var(--wp--preset--font-size--ui);
	}

	.fc-sp-body {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--6);
		margin-top: var(--wp--preset--spacing--5);
	}

	.fc-sp-aside {
		gap: var(--wp--preset--spacing--5);
	}

	.fc-sp-card a {
		padding: var(--wp--preset--spacing--3);
	}
}

@media (max-width: 600px) {
	.fc-sp-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (prefers-reduced-motion: reduce) {
	.fc-search-panel[open],
	.fc-search-panel::backdrop {
		animation: none;
	}
}

/* ---------------------------------------------------------------- Lightbox — фото товара на весь экран */

/* Белый экран целиком: фото по центру, под ним ряд миниатюр 80px, ниже стрелки и счётчик, «закрыть» справа сверху */
html:has(.fc-lightbox[open]) {
	overflow: hidden;
}

.fc-lightbox {
	position: fixed;
	inset: 0;
	width: 100vw;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: var(--wp--preset--spacing--4);
	border: 0;
	box-sizing: border-box;
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	overflow: hidden;
}

.fc-lightbox[open] {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: minmax(0, 1fr);
	animation: fc-fade-in .2s ease-out;
}

/* Окно получает фокус при открытии — кольцо фокуса ему не нужно */
.fc-lightbox:focus,
.fc-lightbox:focus-visible {
	outline: none;
	box-shadow: none;
}

.fc-lightbox::backdrop {
	background: var(--wp--preset--color--surface-raised, #fff);
}

/*
 * Миниатюры — ряд под фото, по центру: квадраты через 8px, выбранная — рамка ink, наведение — line.
 * Не помещаются — ряд прокручивается вбок (ширина по содержимому, чтобы центровка не обрезала первые).
 */
.fc-lb-thumbs {
	flex: none;
	display: flex;
	gap: var(--wp--preset--spacing--2);
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
}

.fc-lb-thumbs[hidden] {
	display: none;
}

.fc-lb-thumbs::-webkit-scrollbar {
	display: none;
}

.fc-lb-thumb {
	flex: none;
	width: var(--wp--custom--lightbox-thumb);
	height: var(--wp--custom--lightbox-thumb);
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--surface-raised);
	outline: 1px solid var(--wp--preset--color--line-subtle);
	outline-offset: -1px;
	cursor: pointer;
	transition: outline-color .2s ease-out;
}

.fc-lb-thumb:hover {
	outline-color: var(--wp--preset--color--line);
}

.fc-lb-thumb[aria-current="true"] {
	outline-color: var(--wp--preset--color--ink);
}

.fc-lb-thumb:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: -2px;
}

.fc-lightbox .fc-lb-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Сцена: фото вписано целиком, под ним полоса со стрелками */
.fc-lb-main {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--3);
	min-width: 0;
	min-height: 0;
}

.fc-lb-stage {
	position: relative;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 0;
	overflow: hidden; /* фото уезжает и въезжает при листании (assets/js/lightbox.js) */
	touch-action: pan-y;
}

/* Селектор сильнее .woocommerce-page img { height: auto } */
.fc-lightbox .fc-lb-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	user-select: none;
	transition: opacity .2s ease-out;
}

.fc-lightbox .fc-lb-img.is-changing {
	opacity: 0;
}

/* Уходящее фото при листании — копия поверх того же места */
.fc-lightbox .fc-lb-img.is-leaving {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

/* Полоса под фото: ‹ 2 / 6 › по центру */
.fc-lb-nav {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--4);
}

.fc-lb-nav[hidden] {
	display: none;
}

.fc-lb-count {
	min-width: 48px;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

/* Стрелки и «закрыть» — иконки 24px в квадратах 40px */
.fc-lb-prev,
.fc-lb-next,
.fc-lb-close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	transition: background-color .2s ease-out, opacity .2s ease-out;
}

.fc-lb-close {
	position: absolute;
	top: var(--wp--preset--spacing--4);
	right: var(--wp--preset--spacing--4);
	z-index: 1;
}

.fc-lb-prev:hover,
.fc-lb-next:hover,
.fc-lb-close:hover {
	background: var(--wp--preset--color--surface-muted);
}

/* Крайние фото: стрелка гаснет, но держит место — счётчик не прыгает */
.fc-lb-prev:disabled,
.fc-lb-next:disabled {
	opacity: .25;
	cursor: default;
	background: var(--wp--preset--color--surface-raised);
}

.fc-lb-prev::before,
.fc-lb-next::before,
.fc-lb-close::before {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: var(--fc-icon) center / contain no-repeat;
	mask: var(--fc-icon) center / contain no-repeat;
}

.fc-lb-prev { --fc-icon: url(../icons/chevron-left.svg); }
.fc-lb-next { --fc-icon: url(../icons/chevron-right.svg); }
.fc-lb-close { --fc-icon: url(../icons/close.svg); }

/* До 720px: миниатюры 64px, стрелки и «закрыть» меньше, фото начинается под «закрыть» */
@media (max-width: 720px) {
	.fc-lightbox {
		padding: var(--wp--preset--spacing--3);
	}

	.fc-lightbox[open] {
		padding-top: calc(40px + var(--wp--preset--spacing--3));
	}

	.fc-lb-thumbs {
		--wp--custom--lightbox-thumb: 64px;
	}

	.fc-lb-close {
		top: var(--wp--preset--spacing--2);
		right: var(--wp--preset--spacing--2);
	}

	.fc-lb-prev::before,
	.fc-lb-next::before,
	.fc-lb-close::before {
		width: 16px;
		height: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fc-lightbox[open],
	.fc-lb-img {
		animation: none;
		transition: none;
	}
}

/* ---------------------------------------------------------------- Секции */

.fc-section {
	padding-top: var(--wp--preset--spacing--8);
	padding-bottom: var(--wp--preset--spacing--8);
}

.fc-section-tight {
	padding-top: var(--wp--preset--spacing--1);
	padding-bottom: var(--wp--preset--spacing--1);
}

.fc-section-head {
	margin: 0 auto var(--wp--preset--spacing--6) !important;
}

/* SectionTitle — display по центру, подводка body 720px */
.fc-stitle {
	padding-top: var(--wp--preset--spacing--8);
	padding-bottom: var(--wp--preset--spacing--6);
}

.fc-stitle > h2,
.fc-stitle > h1 {
	margin-bottom: 0;
}

.fc-stitle > p {
	margin-top: var(--wp--preset--spacing--4);
}

.fc-page-head {
	padding-top: var(--wp--preset--spacing--8);
	padding-bottom: var(--wp--preset--spacing--6);
}

.fc-page-head > * + * {
	margin-top: var(--wp--preset--spacing--4);
}

/* ---------------------------------------------------------------- HeroBanner */

.wp-block-cover.is-style-hero {
	min-height: 820px;
	padding: var(--wp--preset--spacing--8);
	background: var(--wp--preset--color--noir);
}

/* Затемнение — градиентом от нижнего левого угла, где текст: остальное фото остаётся ярким */
.wp-block-cover.is-style-hero .wp-block-cover__background {
	background-color: transparent !important;
	background-image: linear-gradient(20deg, rgb(0 0 0 / .55) 0%, rgb(0 0 0 / .25) 40%, rgb(0 0 0 / 0) 70%);
	opacity: 1 !important;
}

/* Мягкая тень — текст читается и там, где под ним светлое место фото */
.wp-block-cover.is-style-hero :is(h1, h2),
.wp-block-cover.is-style-hero .wp-block-cover__inner-container > p {
	text-shadow: 0 1px 16px rgb(0 0 0 / .3);
}

/* <picture> с картинкой для телефона (inc/hero-slider.php) не должен становиться элементом флекса обложки: фон — сама картинка */
.wp-block-cover.is-style-hero .fc-hero-picture {
	display: contents;
}

.wp-block-cover.is-style-hero-short {
	min-height: 340px !important;
}

.wp-block-cover.is-style-hero .wp-block-cover__inner-container {
	max-width: 560px;
	margin: 0 !important;
}

.wp-block-cover.is-style-hero :is(h1, h2),
.wp-block-cover.is-style-hero p {
	margin: 0;
}

.wp-block-cover.is-style-hero .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--5);
	gap: var(--wp--preset--spacing--2);
}

/*
 * Слайдер hero на главной (inc/hero-slider.php, assets/js/hero-slider.js): слайды — те же
 * обложки is-style-hero, стоят в ряд и листаются сдвигом дорожки. Справа внизу, на уровне
 * кнопок слайда, — полоски слайдов (активная заполняется, пока идёт показ), пауза и стрелки;
 * на телефоне — полоски внизу по центру, пауза справа вверху (ниже, в @media 720px).
 */
.fc-hero-slider {
	position: relative;
	margin-block: 0;
	background: var(--wp--preset--color--noir);
}

.fc-hero-viewport {
	overflow: hidden;
}

.fc-hero-track {
	display: flex;
	transition: transform .8s cubic-bezier(.32, .72, 0, 1);
	touch-action: pan-y;
}

.fc-hero-slider.is-dragging .fc-hero-track {
	transition: none;
}

.fc-hero-slide {
	display: flex;
	flex: 0 0 100%;
	min-width: 0;
}

.fc-hero-slide > .wp-block-cover {
	flex: 1;
	margin: 0 !important;
}

.fc-hero-controls {
	position: absolute;
	right: var(--wp--preset--spacing--8);
	bottom: var(--wp--preset--spacing--8);
	z-index: 2;
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--on-image);
}

/* Без скрипта управление не показываем — виден первый слайд */
.fc-hero-slider:not(.is-ready) .fc-hero-controls {
	display: none;
}

.fc-hero-bars {
	display: flex;
	gap: var(--wp--preset--spacing--2);
	margin-right: var(--wp--preset--spacing--2);
}

.fc-hero-bar {
	display: flex;
	align-items: center;
	width: 32px;
	height: 40px;
	padding: 0;
	border: 0;
	background: none;
	cursor: pointer;
}

.fc-hero-bar-line {
	position: relative;
	display: block;
	width: 100%;
	height: 2px;
	overflow: hidden;
	background: rgb(255 255 255 / .4);
}

.fc-hero-bar-fill {
	position: absolute;
	inset: 0;
	background: var(--wp--preset--color--on-image);
	transform: scaleX(0);
	transform-origin: left;
}

.fc-hero-bar:hover .fc-hero-bar-line {
	background: rgb(255 255 255 / .7);
}

.fc-hero-bar[aria-current="true"] .fc-hero-bar-fill {
	transform: scaleX(1);
}

/* Автопрокрутка: полоска заполняется 6 с, по её окончании скрипт включает следующий слайд */
.fc-hero-slider.is-autoplay .fc-hero-bar[aria-current="true"] .fc-hero-bar-fill {
	animation: fc-hero-progress 6s linear both;
}

.fc-hero-slider:is(.is-paused, .is-offscreen, .is-tab-hidden, .is-dragging, :has(:focus-visible)) .fc-hero-bar-fill {
	animation-play-state: paused !important;
}

/* На паузе кнопкой полоска активного слайда заполнена целиком — видно, какой слайд открыт */
.fc-hero-slider.is-paused .fc-hero-bar[aria-current="true"] .fc-hero-bar-fill {
	animation: none !important;
}

@media (hover: hover) {
	.fc-hero-slider:hover .fc-hero-bar-fill {
		animation-play-state: paused !important;
	}
}

@keyframes fc-hero-progress {
	from { transform: scaleX(0); }
	to { transform: scaleX(1); }
}

/* Пауза и стрелки — стеклянные квадраты 40px */
.fc-hero-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgb(255 255 255 / .5);
	background: rgb(255 255 255 / .16);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	color: inherit;
	cursor: pointer;
	transition: background-color .2s;
}

.fc-hero-btn:hover {
	background: rgb(255 255 255 / .32);
}

.fc-hero-prev::before,
.fc-hero-next::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--fc-icon) center / contain no-repeat;
	mask: var(--fc-icon) center / contain no-repeat;
}

.fc-hero-prev { --fc-icon: url(../icons/chevron-left.svg); }
.fc-hero-next { --fc-icon: url(../icons/chevron-right.svg); }

/* Пауза — две черты, на паузе — треугольник «продолжить» */
.fc-hero-pause::before {
	content: "";
	box-sizing: border-box;
	width: 10px;
	height: 12px;
	border-right: 3px solid currentColor;
	border-left: 3px solid currentColor;
}

.fc-hero-slider.is-paused .fc-hero-pause::before {
	width: 0;
	height: 0;
	margin-left: 3px;
	border-width: 6px 0 6px 10px;
	border-style: solid;
	border-color: transparent transparent transparent currentColor;
}

.fc-hero-slider:not(.is-autoplay) .fc-hero-pause {
	display: none;
}

/* ---------------------------------------------------------------- CategoryTile */

.fc-cat-grid {
	gap: var(--wp--preset--spacing--1) !important;
}

.fc-cat {
	display: flex;
	flex-direction: column;
	background: var(--wp--preset--color--surface-raised);
}

.fc-cat > * {
	margin: 0 !important;
}

.fc-cat-img {
	overflow: hidden;
}

.fc-cat-img img {
	display: block;
	width: 100%;
	transition: transform .4s;
}

.fc-cat:hover .fc-cat-img img {
	transform: scale(1.03);
}

.fc-cat-label {
	padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
	font-size: var(--wp--preset--font-size--ui);
	line-height: 22.4px;
	overflow-wrap: anywhere;
}

.fc-cat-label a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.fc-cat-label a:hover {
	text-decoration: underline;
}

/* ---------------------------------------------------------------- ProductCard */

/*
 * Карточка — без заливки: тонкая рамка line-subtle, фото с полями внутри рамки,
 * зазор между карточками 16px (до 1024px — 8px). Метки «Новинка» и «2 цвета» — в углах
 * над фото, чтобы названия и цены соседних карточек стояли на одной линии.
 * При наведении рамка темнеет до line, фото чуть приближается.
 */
:root {
	--fc-card-gap: var(--wp--preset--spacing--4);
	--fc-card-pad: var(--wp--preset--spacing--5);
}

.wc-block-product-template {
	gap: var(--fc-card-gap) !important;
}

.wc-block-product-template > .wc-block-product {
	margin: 0 !important;
}

.is-style-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--surface-raised);
	border: 1px solid var(--wp--preset--color--line-subtle);
	transition: border-color .3s ease;
}

.is-style-product-card:hover,
.is-style-product-card:focus-within {
	border-color: var(--wp--preset--color--line);
}

.is-style-product-card > * {
	margin: 0 !important;
}

.is-style-product-card .wc-block-components-product-image {
	margin: 0 !important;
	padding: var(--fc-card-pad) var(--fc-card-pad) 0;
	overflow: hidden;
	background: var(--wp--preset--color--surface-raised);
}

.is-style-product-card .wc-block-components-product-image img {
	display: block;
	width: 100%;
	height: auto;
	transition: transform .6s ease;
}

.is-style-product-card:hover .wc-block-components-product-image img {
	transform: scale(1.04);
}

.fc-pcard-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--1);
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	text-align: center;
}

/* Метки — строкой под фото, над названием: «Новинка», за ней «2 цвета». В углу над фото
   высокие украшения (цепочки, ушки фигурок) заходили под надпись (решение владельца, октябрь 2026) */
.is-style-product-card .fc-pcard-meta {
	justify-content: center !important;
}

.is-style-product-card .fc-pcard-meta .fc-badge-new {
	order: -1;
	flex-shrink: 0;
	white-space: nowrap;
}

/* Не помещаются в строку — переносятся: длинная подпись цвета в карточке «Избранного» («Фиолетовый ·
   Золотистое покрытие цвета шампанского») уходит под «Новинку», а не сжимает её до «Но-винка» */
.is-style-product-card .fc-pcard-meta {
	flex-wrap: wrap !important;
	row-gap: var(--wp--preset--spacing--1) !important;
}

.fc-pcard-body > * {
	margin: 0 !important;
	max-width: 100%;
}

.fc-pcard-meta {
	gap: var(--wp--preset--spacing--2) !important;
}

.fc-pcard-meta > * {
	margin: 0 !important;
}

/* Название — гротеск 15/21 regular, даже если это заголовок */
.fc-pcard-name,
.wc-block-product .wp-block-post-title {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: var(--wp--preset--font-size--product-name) !important;
	line-height: 21px !important;
	font-weight: 400 !important;
	letter-spacing: .375px !important;
	overflow-wrap: anywhere;
}

.fc-pcard-name a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.fc-pcard-name a:hover {
	text-decoration: underline;
}

.fc-pcard-body .is-style-attributes {
	width: 100%;
}

.fc-pcard-body .wp-block-post-excerpt__more-text {
	display: none;
}

/* Цена — Onest 16px regular (было 18px, поле над ней 12px — владелец попросил мельче и ближе к названию,
   октябрь 2026). Прижата к низу карточки — в ряду цены стоят на одной линии */
.fc-pcard-price {
	margin-top: auto !important;
	padding-top: var(--wp--preset--spacing--2);
}

.fc-pcard-price,
.fc-pcard-body .wc-block-components-product-price {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--ui) !important;
	line-height: 18px;
	font-weight: 400;
	letter-spacing: 0;
	color: var(--wp--preset--color--ink);
}

.wc-block-components-product-price del {
	color: var(--wp--preset--color--ink-muted);
}

.wc-block-components-product-price ins {
	text-decoration: none;
}

/* Сетка каталога: 4 колонки с зазором --fc-card-gap, на мобильных — 2 */
.fc-product-grid.wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--fc-card-gap) !important;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fc-product-grid.wc-block-product-template > li {
	width: auto !important;
	max-width: none !important;
}

/* ---------------------------------------------------------------- ProductRail */

.fc-rail-band {
	padding-top: var(--wp--preset--spacing--7);
	padding-bottom: var(--wp--preset--spacing--7);
}

.fc-rail {
	position: relative;
}

.fc-rail-head {
	justify-content: center !important;
	margin-bottom: var(--wp--preset--spacing--5) !important;
}

.fc-rail-head > h2 {
	margin: 0;
	flex: 1;
}

.fc-rail-head .wc-block-components-notices {
	display: none;
}

.fc-rail .is-product-collection-layout-carousel {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: var(--fc-card-gap) !important;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
}

.fc-rail .is-product-collection-layout-carousel > li {
	scroll-snap-align: start;
}

.fc-rail .wc-block-next-previous-buttons[hidden] {
	display: none !important;
}

.fc-rail .is-product-collection-layout-carousel::-webkit-scrollbar {
	display: none;
}

.fc-rail .is-product-collection-layout-carousel > li {
	flex: 0 0 calc((100% - 3 * var(--fc-card-gap)) / 4) !important;
	width: calc((100% - 3 * var(--fc-card-gap)) / 4) !important;
	max-width: none !important;
}

/* Стрелки — квадраты noir 24px со стрелкой 12px, по краям трека */
.fc-rail .wc-block-next-previous-buttons {
	position: absolute;
	inset: 50% -32px auto;
	display: flex;
	justify-content: space-between;
	margin: 0 !important;
	pointer-events: none;
	transform: translateY(50%);
	z-index: 2;
}

.fc-rail .wc-block-next-previous-buttons__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--noir);
	color: var(--wp--preset--color--on-noir);
	box-shadow: none;
	pointer-events: auto;
	cursor: pointer;
}

.fc-rail .wc-block-next-previous-buttons__button[aria-disabled="true"] {
	opacity: .25;
	cursor: default;
}

.fc-rail .wc-block-next-previous-buttons__button svg {
	display: none;
}

.fc-rail .wc-block-next-previous-buttons__button::before {
	content: "";
	width: 12px;
	height: 12px;
	background: currentColor;
	-webkit-mask: url(../icons/chevron-left.svg) center / contain no-repeat;
	mask: url(../icons/chevron-left.svg) center / contain no-repeat;
}

.fc-rail .wc-block-next-previous-buttons__button + .wc-block-next-previous-buttons__button::before {
	-webkit-mask-image: url(../icons/chevron-right.svg);
	mask-image: url(../icons/chevron-right.svg);
}

.fc-rail .wc-block-next-previous-buttons__button:focus-visible {
	outline: 2px solid transparent;
	box-shadow: var(--wp--custom--focus-ring);
}

/* Пустая подборка (нет похожих или сопутствующих товаров) — не показываем полосу */
.fc-rail-band:not(:has(.wc-block-product)) {
	display: none;
}

/*
 * «Вы смотрели» под рекомендациями (решение владельца, октябрь 2026: из трёх набросков — компактная
 * полоса, а не вторая лента больших карточек и не вкладки у «Рекомендуем вам»). Подпись мелкая серая,
 * карточки 136px: фото в рамке line, название 13px в две строки, цена 14px. Не помещаются —
 * листаются вбок. Заполняет assets/js/product-viewed.js; пока смотреть нечего, раздел скрыт.
 * Полоса светло-серая (surface-soft, как у статей на главной), фото — на белых подложках.
 */
.fc-viewed {
	padding-top: var(--wp--preset--spacing--6);
	padding-bottom: var(--wp--preset--spacing--7);
	background: var(--wp--preset--color--surface-soft);
}

.fc-viewed[hidden] {
	display: none !important;
}

.fc-viewed > * {
	margin-block: 0;
}

/* Подпись — как над заголовками каталога (11px, ink-muted, разрядка); размеры h2 темы, в том числе
   телефонные, сюда не доходят */
.fc-viewed > .fc-viewed-title {
	margin-bottom: var(--wp--preset--spacing--4);
	color: var(--wp--preset--color--ink-muted);
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: var(--wp--preset--font-size--caption) !important;
	font-weight: 400 !important;
	line-height: 16px !important;
	letter-spacing: 1.6px !important;
	text-transform: uppercase;
}

.fc-viewed-list {
	display: flex;
	gap: var(--wp--preset--spacing--4);
	padding: 0;
	list-style: none;
	overflow-x: auto;
	scrollbar-width: none;
	scroll-snap-type: x proximity;
}

.fc-viewed-list::-webkit-scrollbar {
	display: none;
}

.fc-viewed-list li {
	flex: 0 0 136px;
	margin: 0;
	scroll-snap-align: start;
}

.fc-viewed-item {
	display: block;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.fc-viewed-media {
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface-raised);
	transition: border-color .2s ease;
}

.fc-viewed-item:hover .fc-viewed-media {
	border-color: var(--wp--preset--color--ink-muted);
}

.fc-viewed-media img {
	width: 88%;
	height: 88%;
	object-fit: contain;
}

.fc-viewed-name {
	display: -webkit-box;
	margin-top: var(--wp--preset--spacing--2);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18.2px;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.fc-viewed-item:hover .fc-viewed-name {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fc-viewed-price {
	display: block;
	margin-top: var(--wp--preset--spacing--1);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.fc-viewed-price del {
	margin-right: var(--wp--preset--spacing--1);
	color: var(--wp--preset--color--ink-muted);
}

.fc-viewed-price ins {
	text-decoration: none;
}

/* ---------------------------------------------------------------- EditorialSplit */

.wp-block-media-text.is-style-editorial {
	min-height: 400px;
	margin-block: 0;
}

.wp-block-media-text.is-style-editorial .wp-block-media-text__media {
	min-height: 400px;
	background: var(--wp--preset--color--noir);
}

.wp-block-media-text.is-style-editorial .wp-block-media-text__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: var(--wp--preset--spacing--3);
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--9);
}

.wp-block-media-text.is-style-editorial .wp-block-media-text__content > * {
	margin: 0;
}

.wp-block-media-text.is-style-editorial h2 {
	font-size: var(--wp--preset--font-size--title);
	line-height: 36px;
}

/* ---------------------------------------------------------------- ArticleCard */

.fc-article-grid {
	gap: var(--wp--preset--spacing--5) !important;
}

.fc-article {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--3);
}

.fc-article > * {
	margin: 0 !important;
}

.fc-article-img {
	align-self: stretch;
	margin-bottom: var(--wp--preset--spacing--2) !important;
	overflow: hidden;
	background: var(--wp--preset--color--surface-muted);
}

.fc-article-img img {
	display: block;
	width: 100%;
}

.fc-article .wp-block-post-title {
	font-size: var(--wp--preset--font-size--title-sm);
	line-height: 32.4px;
}

.fc-article .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.fc-article .wp-block-post-excerpt__more-text {
	display: none;
}

/* На серой полосе («Всё о бренде») подпись карточки — на белой подложке, фото во всю ширину над ней
   (решение владельца, октябрь 2026). Карточки в ряду одной высоты, «Подробнее» — у нижнего края. */
.is-style-section-soft .fc-article {
	height: 100%;
	padding-bottom: var(--wp--preset--spacing--5);
	background: var(--wp--preset--color--surface-raised);
}

.is-style-section-soft .fc-article > :not(.fc-article-img) {
	margin-inline: var(--wp--preset--spacing--5) !important;
}

.is-style-section-soft .fc-article > .wp-block-read-more {
	margin-top: auto !important;
}

/* ---------------------------------------------------------------- NewsletterBand */

.fc-news {
	padding: var(--wp--preset--spacing--7) var(--wp--preset--spacing--4);
	text-align: center;
}

.fc-news > * {
	margin-block: 0;
}

.fc-news > * + * {
	margin-top: var(--wp--preset--spacing--3) !important;
}

.fc-news > .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--5) !important;
}

/* ---------------------------------------------------------------- Footer */

.fc-footer {
	padding: var(--wp--preset--spacing--7) var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
}

.fc-footer > * {
	max-width: var(--wp--style--global--wide-size);
	margin-left: auto !important;
	margin-right: auto !important;
}

.fc-footer-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: var(--wp--preset--spacing--6);
}

.fc-footer-cols > *,
.fc-footer-col > * {
	margin: 0 !important;
}

.fc-footer .is-style-overline {
	margin: 0 0 var(--wp--preset--spacing--4) !important;
	color: var(--wp--preset--color--on-noir);
}

.fc-nav-footer {
	font-size: var(--wp--preset--font-size--utility);
	line-height: 15.6px;
}

.fc-nav-footer .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--3);
}

.fc-footer a,
.fc-footer .wp-block-navigation .wp-block-navigation-item__content {
	color: var(--wp--preset--color--on-noir-muted);
	text-decoration: none;
}

.fc-footer a:hover,
.fc-footer .wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--on-noir);
	text-decoration: underline;
}

/* Нижняя строка — под линией, в 48px от колонок. Строку «Казахстан» с глобусом над линией владелец
   попросил убрать (октябрь 2026), линия и отступ теперь у самой нижней строки. */
.fc-footer-base {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	margin-top: var(--wp--preset--spacing--7) !important;
	padding-top: var(--wp--preset--spacing--4);
	border-top: 1px solid var(--wp--preset--color--line-on-noir);
}

.fc-footer-base > * {
	margin: 0 !important;
}

.fc-footer-base .is-style-legal {
	color: var(--wp--preset--color--on-noir-muted);
}

/* Колонка «Магазины»: название (ссылка на страницу магазинов) и под ним адрес с часами */
.fc-footer-stores {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: var(--wp--preset--font-size--utility);
	line-height: 15.6px;
}

.fc-footer .fc-footer-stores a {
	color: var(--wp--preset--color--on-noir);
}

.fc-footer-stores span {
	display: block;
	margin-top: var(--wp--preset--spacing--1);
	color: var(--wp--preset--color--on-noir-muted);
	line-height: 18.2px;
}

/* Копирайт, «Политика конфиденциальности» и «Договор оферты» под ним — каждая строка без переносов
   (в узкой боковой колонке нижней строки текст рвался посередине) */
.fc-footer-base .is-style-legal {
	white-space: nowrap;
}

.fc-footer-privacy {
	display: block;
	width: fit-content;
	margin-top: var(--wp--preset--spacing--1);
}

@media (max-width: 1024px) {
	.fc-footer-privacy {
		margin-inline: auto;
	}
}

.fc-footer-mark {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 300;
	/* Знак не переносится; на экранах уже 360px (iPhone SE 1-го поколения — 320px) шрифт меньше,
	   иначе знак шире экрана и страница прокручивается вбок */
	font-size: min(var(--wp--preset--font-size--title), (100vw - 40px) / 11);
	line-height: 36px;
	letter-spacing: .04em;
	white-space: nowrap;
}

.fc-footer-mark a {
	color: var(--wp--preset--color--on-noir) !important;
}

.fc-footer-mark a:hover {
	text-decoration: none !important;
}

/* Соцсети — белые круги 24px с чёрной иконкой */
.fc-footer-social {
	justify-content: flex-end;
	gap: var(--wp--preset--spacing--2) !important;
	padding: 0;
}

.fc-footer-social .wp-social-link {
	width: 24px;
	height: 24px;
	margin: 0;
	border-radius: var(--wp--custom--radius-circle);
	background: var(--wp--preset--color--on-noir) !important;
	color: var(--wp--preset--color--ink) !important;
}

.fc-footer-social .wp-social-link a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0;
	color: var(--wp--preset--color--ink) !important;
}

.fc-footer-social .wp-social-link svg {
	width: 14px;
	height: 14px;
	fill: currentColor;
}

/* ---------------------------------------------------------------- Breadcrumb */

/* Крошки везде по центру — в категории и в товаре они стоят на одном месте и не прыгают при переходе */
.woocommerce-breadcrumb,
.wp-block-woocommerce-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	gap: var(--wp--preset--spacing--2);
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.wp-block-woocommerce-breadcrumbs a {
	color: var(--wp--preset--color--ink-muted);
	text-decoration: none;
}

.wp-block-woocommerce-breadcrumbs a:hover {
	text-decoration: underline;
}

.fc-crumbs-sep {
	margin: 0 var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink-muted);
}

/* ---------------------------------------------------------------- Страница категории */

.fc-cat-head {
	padding-top: var(--wp--preset--spacing--6);
	padding-bottom: var(--wp--preset--spacing--7);
}

.fc-cat-head > * {
	margin-block: 0;
}

.fc-cat-head .wp-block-query-title {
	margin-top: var(--wp--preset--spacing--6);
}

/* Подводка под заголовком подборки по характеристике: «23 изделия с этим покрытием» (inc/woocommerce.php) */
.fc-cat-head > .fc-cat-lead {
	margin-top: var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	text-align: center;
}

.fc-catalog-band {
	padding-bottom: var(--wp--preset--spacing--8);
}

.fc-catalog > * {
	margin-block: 0;
}

.fc-catalog-bar {
	gap: var(--wp--preset--spacing--4) !important;
	padding: var(--wp--preset--spacing--4) 0;
}

.fc-catalog-tools {
	gap: 0 !important;
}

/* «Фильтры» и «Сортировка» — текстовые кнопки 14px с иконками */
.fc-catalog .wc-block-product-filters__open-overlay,
.fc-sort select,
.fc-sort .orderby,
.fc-sort-label {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	min-height: 32px;
	padding: var(--wp--preset--spacing--2) var(--wp--custom--space-ghost-x);
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	letter-spacing: .4px;
	cursor: pointer;
}

.fc-catalog .wc-block-product-filters__open-overlay {
	padding-left: 0;
}

.fc-catalog .wc-block-product-filters__open-overlay:hover span,
.fc-sort:hover .fc-sort-label {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fc-catalog .wc-block-product-filters__open-overlay svg {
	display: none;
}

/*
 * Есть выбранные фильтры — у «Фильтры» розовый квадрат 6px сверху справа, как у метки «Новинка».
 * Признак — плашки выбранных значений внутри шторки; :has() сам следит, когда фильтры меняются без перезагрузки.
 */
.fc-catalog .wc-block-product-filters:has(.wc-block-product-filter-removable-chips__item) .wc-block-product-filters__open-overlay::after {
	content: "" / "есть выбранные фильтры";
	align-self: flex-start;
	width: 6px;
	height: 6px;
	margin: 6px 0 0 calc(-1 * var(--wp--preset--spacing--1));
	background: var(--wp--preset--color--blush);
}

.fc-catalog .wc-block-product-filters__open-overlay::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url(../icons/filter.svg) center / contain no-repeat;
	mask: url(../icons/filter.svg) center / contain no-repeat;
}

.fc-sort {
	position: relative;
	margin: 0;
}

/*
 * Выпадающий список сортировки. Системное меню браузера рисует тень справа и снизу, и рамка выглядит неровной.
 * Где браузер умеет стилизуемый select (Chrome, Edge 135+) — своё меню: рамка hairline noir по всему периметру,
 * без тени, прямые углы, пункты body-sm, наведение — surface, выбранный — 600. Остальные браузеры показывают системное.
 */
@supports (appearance: base-select) {
	/* select.orderby — сильнее правила appearance: none ниже */
	.fc-catalog .fc-sort select.orderby,
	.fc-catalog .fc-sort select.orderby::picker(select) {
		-webkit-appearance: base-select;
		appearance: base-select;
	}

	.fc-catalog .fc-sort select.orderby::picker-icon {
		display: none;
	}

	.fc-catalog .fc-sort select.orderby::picker(select) {
		margin-top: var(--wp--preset--spacing--1);
		padding: var(--wp--preset--spacing--1) 0;
		border: 1px solid var(--wp--preset--color--noir);
		border-radius: 0;
		background: var(--wp--preset--color--surface-raised);
		box-shadow: none;
	}

	.fc-catalog .fc-sort option {
		padding: var(--wp--preset--spacing--2) var(--wp--custom--space-ghost-x);
		color: var(--wp--preset--color--ink);
		font-family: var(--wp--preset--font-family--sans);
		font-size: var(--wp--preset--font-size--body-sm);
		line-height: 19.6px;
		letter-spacing: .4px;
		white-space: nowrap;
		cursor: pointer;
	}

	.fc-catalog .fc-sort option::checkmark {
		display: none;
	}

	.fc-catalog .fc-sort option:hover,
	.fc-catalog .fc-sort option:focus-visible {
		background: var(--wp--preset--color--surface);
		box-shadow: none;
		outline: none;
	}

	.fc-catalog .fc-sort option:checked {
		font-weight: 600;
	}
}

/* У формы сортировки WooCommerce свой нижний отступ 1em — он поднимал список над «Фильтрами» и сбивал иконку */
.fc-sort .woocommerce-ordering {
	display: flex;
	align-items: center;
	margin: 0;
}

.fc-catalog-tools {
	align-items: center;
}

/*
 * Подпись — обычный текст .fc-sort-label (facette_catalog_sorting_label()), сам список прозрачный и лежит
 * поверх неё: текст внутри <select> браузеры рисуют по-своему — на телефонах системный масштаб шрифта
 * его не касался, и «По названию» выходило мельче «Фильтры» (октябрь 2026).
 */
.fc-sort-label {
	box-sizing: border-box;
	padding-left: calc(var(--wp--custom--space-ghost-x) + 24px);
	white-space: nowrap;
}

.fc-catalog .fc-sort select {
	-webkit-appearance: none;
	appearance: none;
	width: auto !important;
	padding-left: calc(var(--wp--custom--space-ghost-x) + 24px) !important;
	padding-right: var(--wp--custom--space-ghost-x) !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Прозрачный и поверх подписи — только когда подпись есть: не нашлась (WooCommerce сменил разметку) —
   список виден как обычно */
.fc-catalog .fc-sort .fc-sort-label + select {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100%;
	/* !important — сильнее общего правила полей .woocommerce form select */
	color: transparent !important;
}

/* Пункты — своим цветом: иначе в Firefox они наследуют прозрачный текст списка */
.fc-catalog .fc-sort option {
	color: var(--wp--preset--color--ink);
}

.fc-sort::before {
	content: "";
	position: absolute;
	left: var(--wp--custom--space-ghost-x);
	top: 50%;
	width: 16px;
	height: 16px;
	transform: translateY(-50%);
	background: currentColor;
	-webkit-mask: url(../icons/sort.svg) center / contain no-repeat;
	mask: url(../icons/sort.svg) center / contain no-repeat;
	pointer-events: none;
}

.fc-catalog .wp-block-woocommerce-product-results-count,
.fc-catalog .woocommerce-result-count {
	margin: 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 15.6px;
}

/* Фильтры — всегда кнопка и белая шторка слева (до 480px), страница под scrim */
.fc-catalog .wc-block-product-filters {
	display: inline-flex;
}

.fc-catalog .wc-block-product-filters__overlay {
	position: fixed;
	inset: 0;
	top: var(--top-padding, 0);
	z-index: 9999;
	background: transparent;
	pointer-events: none;
	transition: background-color .2s;
}

.fc-catalog .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay {
	background: var(--wp--preset--color--scrim);
	pointer-events: auto;
}

.fc-catalog .wc-block-product-filters__overlay-wrapper {
	width: 100%;
	height: 100%;
}

.fc-catalog .wc-block-product-filters__overlay-dialog {
	position: absolute;
	inset: 0 auto 0 0;
	display: flex !important;
	flex-direction: column;
	width: 100%;
	max-width: var(--wp--custom--mobile-menu-max-width);
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	border-radius: 0 !important;
	transform: translateX(-100%);
	transition: none;
	visibility: hidden;
}

.fc-catalog .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-dialog {
	transform: none;
	visibility: visible;
	/* Быстрый старт и мягкая остановка: шторка сразу реагирует на нажатие */
	transition: transform var(--fc-drawer-in);
}

@media (prefers-reduced-motion: reduce) {
	.fc-catalog .wc-block-product-filters__overlay,
	.fc-catalog .wc-block-product-filters.is-overlay-opened .wc-block-product-filters__overlay-dialog {
		transition: none;
	}
}

/* Шапка шторки — как у остальных шторок: 80px (до 720px — 53px), линия снизу, простой крестик
   24px (16px) справа; надпись «Закрыть» скрыта, но остаётся именем кнопки для скринридера */
.fc-catalog .wc-block-product-filters__overlay-header {
	display: flex;
	flex-flow: row-reverse;
	align-items: center;
	box-sizing: border-box;
	height: var(--wp--custom--drawer-bar-height);
	padding: 0 calc(var(--wp--preset--spacing--7) - 8px);
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
}

.fc-catalog .wc-block-product-filters__close-overlay {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.fc-catalog .wc-block-product-filters__close-overlay > span {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.fc-catalog .wc-block-product-filters__close-overlay svg {
	display: none;
}

.fc-catalog .wc-block-product-filters__close-overlay::before {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url(../icons/close.svg) center / contain no-repeat;
	mask: url(../icons/close.svg) center / contain no-repeat;
}

@media (max-width: 720px) {
	.fc-catalog .wc-block-product-filters__overlay-header {
		height: var(--wp--custom--mobile-menu-bar-height);
		padding: 0 var(--wp--preset--spacing--2);
	}

	.fc-catalog .wc-block-product-filters__close-overlay::before {
		width: 16px;
		height: 16px;
	}
}

.fc-catalog .wc-block-product-filters__overlay-content {
	flex: 1;
	overflow-y: auto;
	padding: 0 var(--wp--preset--spacing--5) var(--wp--preset--spacing--5);
	background: inherit;
}

/* «Фильтры» — в полосе шторки, слева, на одной линии с крестиком (решение владельца, октябрь 2026;
   было первой строкой под полосой). В разметке WooCommerce заголовок — внутри прокручиваемой части,
   переносить его скриптом нельзя: блок фильтров перерисовывается при каждом выборе. Поэтому он
   выставлен в полосу абсолютно от самой шторки (у прокручиваемой части своего position нет) и
   вместе с фильтрами не прокручивается. Фильтры поднялись: «Цена» — в 32px под линией (поле сверху
   у подписи раздела), как содержимое остальных шторок. */
.fc-catalog .wc-block-product-filters__overlay-content > h2 {
	position: absolute;
	top: 0;
	left: var(--wp--preset--spacing--5);
	display: flex;
	align-items: center;
	height: var(--wp--custom--drawer-bar-height);
	margin: 0;
}

/* Плашки выбранных фильтров (если есть) — первыми под полосой, в 32px (до 720px — 24px) от линии */
.fc-catalog .wc-block-product-filters__overlay-content > .wp-block-woocommerce-product-filter-active {
	margin-top: var(--wp--preset--spacing--6);
}

@media (max-width: 720px) {
	.fc-catalog .wc-block-product-filters__overlay-content > h2 {
		height: var(--wp--custom--mobile-menu-bar-height);
	}

	.fc-catalog .wc-block-product-filters__overlay-content > .wp-block-woocommerce-product-filter-active {
		margin-top: var(--wp--preset--spacing--5);
	}
}

.fc-catalog .wc-block-product-filters__overlay-footer {
	display: block;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	border-top: 1px solid var(--wp--preset--color--line);
	box-shadow: none;
}

.wp-block-heading.is-style-overline {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 15.6px;
	font-weight: 600;
	letter-spacing: .4px;
	text-transform: uppercase;
}

.wc-block-product-filters .wp-block-heading.is-style-overline {
	margin: var(--wp--preset--spacing--6) 0 var(--wp--preset--spacing--3);
}

.wc-block-product-filters fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.wc-block-product-filters .wc-block-product-filter-checkbox-list__list,
.wc-block-product-filters .wc-block-product-filter-checkbox-list {
	border: 0 !important;
	padding: 0 !important;
	font-size: var(--wp--preset--font-size--body-sm);
}

/*
 * Чекбоксы фильтра — как карточки товара: белые, тонкая рамка line-subtle, прямые углы;
 * наведение — рамка line, отмечен — рамка и галочка ink. Серую заливку WooCommerce (::before обёртки) убираем.
 */
.wc-block-product-filter-checkbox-list__input-wrapper::before {
	display: none;
}

input[type="checkbox"].wc-block-product-filter-checkbox-list__input {
	border: 1px solid var(--wp--preset--color--line-subtle) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--surface-raised) !important;
	transition: border-color .2s ease;
}

.wc-block-product-filter-checkbox-list__label:hover input[type="checkbox"].wc-block-product-filter-checkbox-list__input {
	border-color: var(--wp--preset--color--line) !important;
}

input[type="checkbox"].wc-block-product-filter-checkbox-list__input:checked {
	border-color: var(--wp--preset--color--ink) !important;
}

.wc-block-product-filter-checkbox-list__mark {
	color: var(--wp--preset--color--ink) !important;
}

/* Все пункты списка видны сразу (isExpanded ставит inc/woocommerce.php) — кнопка не нужна */
.wc-block-product-filter-checkbox-list__show-more {
	display: none !important;
}

/* Поля цены — как чекбоксы и карточки: рамка line-subtle, прямые углы; наведение — line, фокус — ink */
.wc-block-product-filter-price-slider .text input[type="text"] {
	border: 1px solid var(--wp--preset--color--line-subtle);
	border-radius: 0;
	background: var(--wp--preset--color--surface-raised);
	/* У WooCommerce поле 60px — «289 900 ₸» обрезалось; 112px вмещают и семизначную цену */
	box-sizing: border-box;
	width: 112px;
	max-width: none;
	padding: var(--wp--preset--spacing--2);
	font-size: var(--wp--preset--font-size--body-sm);
	transition: border-color .2s ease;
}

.wc-block-product-filter-price-slider .text input[type="text"]:hover {
	border-color: var(--wp--preset--color--line);
}

.wc-block-product-filter-price-slider .text input[type="text"]:focus {
	border-color: var(--wp--preset--color--ink);
	outline: none;
}

.wc-block-product-filter-removable-chips__item,
.wc-block-product-filter-removable-chips__chip {
	border-radius: var(--wp--custom--radius-pill) !important;
	border-color: var(--wp--preset--color--line) !important;
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	font-size: var(--wp--preset--font-size--caption);
}

.wc-block-product-filters__overlay-footer .wc-block-product-filters__apply {
	width: 100%;
	min-height: var(--wp--custom--control-height-lg);
	border: 1px solid var(--wp--preset--color--noir);
	border-radius: 0;
	background: var(--wp--preset--color--noir);
	color: var(--wp--preset--color--on-noir);
	font-size: var(--wp--preset--font-size--body-sm);
	font-weight: 600;
}

/* «Показать ещё» — кнопка 48px белая с рамкой по центру */
.fc-load-more {
	margin-top: var(--wp--preset--spacing--7) !important;
	gap: var(--wp--preset--spacing--2);
}

.fc-load-more a,
.fc-pagination a,
.fc-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--wp--custom--control-height-lg);
	padding: var(--wp--preset--spacing--1) var(--wp--custom--space-btn-x);
	border: 1px solid var(--wp--preset--color--noir);
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	font-weight: 600;
	text-decoration: none;
	transition: background-color .15s, color .15s;
}

.fc-load-more .wp-block-query-pagination-next {
	min-width: var(--wp--custom--control-min-width);
}

/* Загрузка: вместо подписи — три квадрата ink, загораются по очереди. Кнопка остаётся белой, размер не меняется */
.fc-load-more a.is-loading,
.fc-load-more a.is-loading:hover {
	position: relative;
	background: var(--wp--preset--color--surface-raised);
	color: transparent;
	cursor: progress;
	pointer-events: none;
}

.fc-load-more a.is-loading::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 4px;
	height: 4px;
	margin: -2px 0 0 -10px;
	/* ink — чистый чёрный; прозрачность задаёт «погасший» квадрат */
	background: rgba(0, 0, 0, 1);
	box-shadow: 8px 0 rgba(0, 0, 0, .2), 16px 0 rgba(0, 0, 0, .2);
	animation: fc-dots 1.2s steps(1, end) infinite;
}

@keyframes fc-dots {
	0% {
		background: rgba(0, 0, 0, 1);
		box-shadow: 8px 0 rgba(0, 0, 0, .2), 16px 0 rgba(0, 0, 0, .2);
	}
	33.333% {
		background: rgba(0, 0, 0, .2);
		box-shadow: 8px 0 rgba(0, 0, 0, 1), 16px 0 rgba(0, 0, 0, .2);
	}
	66.666% {
		background: rgba(0, 0, 0, .2);
		box-shadow: 8px 0 rgba(0, 0, 0, .2), 16px 0 rgba(0, 0, 0, 1);
	}
}

/* Загрузка после фильтров и сортировки (assets/js/filters.js): список бледнеет, посреди окна — те же три квадрата, вдвое крупнее */
.fc-catalog-band .fc-product-grid {
	transition: opacity .2s;
}

.fc-catalog-band.is-loading .fc-product-grid {
	opacity: .3;
	pointer-events: none;
}

.fc-catalog-band.is-loading::after {
	content: "";
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 30;
	width: 4px;
	height: 4px;
	margin: -2px 0 0 -10px;
	background: rgba(0, 0, 0, 1);
	box-shadow: 8px 0 rgba(0, 0, 0, .2), 16px 0 rgba(0, 0, 0, .2);
	transform: scale(2);
	animation: fc-dots 1.2s steps(1, end) infinite;
}

/* Заглушки карточек на время догрузки — повторяют ProductCard: рамка, фото 1:1 с полями, название, атрибуты, цена */
.fc-skeleton-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	background: var(--wp--preset--color--surface-raised);
	border: 1px solid var(--wp--preset--color--line-subtle);
}

.fc-skeleton-img {
	position: relative;
	aspect-ratio: 1;
	margin: var(--fc-card-pad) var(--fc-card-pad) 0;
}

.fc-skeleton-img::before {
	content: "";
	position: absolute;
	inset: 18%;
	background: var(--wp--preset--color--surface);
}

.fc-skeleton-body {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--3) var(--wp--preset--spacing--5);
}

.fc-skeleton-line {
	display: block;
	height: 12px;
	background: var(--wp--preset--color--surface-sunken);
}

.fc-skeleton-line.is-name {
	width: 55%;
	height: 14px;
}

.fc-skeleton-line.is-attrs {
	width: 80%;
	height: 10px;
}

.fc-skeleton-line.is-price {
	width: 30%;
	height: 16px;
	margin-top: var(--wp--preset--spacing--2);
}

.fc-skeleton-img::before,
.fc-skeleton-line {
	animation: fc-pulse 1.4s ease-in-out infinite;
}

@keyframes fc-pulse {
	50% {
		opacity: .45;
	}
}

@media (prefers-reduced-motion: reduce) {
	.is-style-product-card,
	.is-style-product-card .wc-block-components-product-image img {
		transition: none;
	}

	.is-style-product-card:hover .wc-block-components-product-image img {
		transform: none;
	}

	.fc-load-more a.is-loading::after,
	.fc-catalog-band.is-loading::after,
	.fc-skeleton-img::before,
	.fc-skeleton-line {
		animation: none;
	}
}

/* Кнопку прячет догрузка, когда товары кончились; пустой ряд убираем целиком */
.fc-load-more a[hidden],
.fc-load-more:not(:has(a:not([hidden]))) {
	display: none !important;
}

.fc-load-more .wp-block-query-pagination-previous {
	border-color: transparent;
	background: transparent;
	font-weight: 400;
}

.fc-pagination .page-numbers {
	min-width: 48px;
	font-weight: 400;
}

.fc-pagination .page-numbers.current {
	background: var(--wp--preset--color--noir);
	color: var(--wp--preset--color--on-noir);
}

.fc-load-more a:hover,
.fc-pagination a:hover {
	background: var(--wp--preset--color--noir);
	color: var(--wp--preset--color--on-noir);
}

.fc-load-more .wp-block-query-pagination-next-arrow,
.fc-load-more .wp-block-query-pagination-previous-arrow {
	display: none;
}

/* SEO-текст small в 720px и чипы похожих запросов */
.fc-seo {
	padding-top: var(--wp--preset--spacing--7);
	padding-bottom: var(--wp--preset--spacing--8);
	background: var(--wp--preset--color--surface);
}

.fc-seo > * {
	margin-block: 0;
}

.fc-seo .wp-block-term-description p {
	margin: 0 0 var(--wp--preset--spacing--3);
}

.fc-chips-title {
	margin-top: var(--wp--preset--spacing--6) !important;
	margin-bottom: var(--wp--preset--spacing--3) !important;
}

/* Chip — белая таблетка с рамкой line (временно, было surface-sunken), 11/17.6; выбранная — noir */
.wp-block-tag-cloud.is-style-chips,
.wp-block-post-terms.is-style-chips,
.fc-related-queries {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--2);
	margin: 0;
}

/* «Похожие запросы» (блок facette/related-queries) — список ссылок-чипов */
.fc-related-queries {
	padding: 0;
	list-style: none;
}

.wp-block-post-terms.is-style-chips {
	justify-content: center;
}

.is-style-chips a {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	box-sizing: border-box;
	margin: 0 !important;
	padding: var(--wp--preset--spacing--1) var(--wp--preset--spacing--3);
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--wp--custom--radius-pill);
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--caption) !important;
	line-height: 17.6px;
	letter-spacing: .4px;
	text-decoration: none;
}

.is-style-chips a:hover {
	border-color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.is-style-chips a[aria-current],
.is-style-chips a.is-selected {
	border-color: var(--wp--preset--color--noir);
	background: var(--wp--preset--color--noir);
	color: var(--wp--preset--color--on-noir);
}

.wp-block-post-terms.is-style-chips .wp-block-post-terms__separator {
	display: none;
}

/* ---------------------------------------------------------------- Страница товара */

/* Верхний отступ как у шапки категории (.fc-cat-head) — крошки на той же высоте */
.fc-product-band {
	padding-top: var(--wp--preset--spacing--6);
	padding-bottom: var(--wp--preset--spacing--8);
}

/*
 * Крошки — рубрикой мелкими прописными (inc/woocommerce.php). На странице товара: на десктопе —
 * «СЕРЬГИ — ПУСЕТЫ» над названием в колонке покупки, до 1024px — ссылка «‹ Пусеты» над фото.
 * В каталоге и категориях — «ГЛАВНАЯ — КАТАЛОГ — СЕРЬГИ» по центру над заголовком.
 * Прописные здесь — исключение из правила «прописные только в футере» (решение владельца).
 */
/* Каталог, категории, поиск, статьи: та же рубрика по центру над заголовком (inc/woocommerce.php) */
.fc-page-head > .fc-cat-rubric,
.fc-cat-head > .fc-cat-rubric {
	justify-content: center;
	margin-top: 0;
	margin-bottom: var(--wp--preset--spacing--3);
}

/* Подпись и заголовок — одна группа: прежний отступ 32px под строкой крошек здесь не нужен */
.fc-cat-head > .fc-cat-rubric + .wp-block-query-title,
.fc-page-head > .fc-cat-rubric + * {
	margin-top: 0;
}

.fc-buy .fc-buy-rubric,
.fc-page-head > .fc-cat-rubric,
.fc-cat-head > .fc-cat-rubric {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	padding-bottom: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 16px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
}

.fc-buy-rubric a,
.fc-cat-rubric a {
	color: inherit;
	text-decoration: none;
}

.fc-buy-rubric a:hover,
.fc-cat-rubric a:hover {
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fc-product-band > .fc-product-back {
	display: none;
	margin-top: 0;
	margin-bottom: var(--wp--preset--spacing--4);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.fc-product-back a {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--1);
	min-height: 32px;
	color: var(--wp--preset--color--ink-muted);
	text-decoration: none;
}

.fc-product-back a::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url(../icons/chevron-left.svg) center / contain no-repeat;
	mask: url(../icons/chevron-left.svg) center / contain no-repeat;
}

.fc-product-back a:hover {
	color: var(--wp--preset--color--ink);
}

@media (max-width: 1024px) {
	.fc-buy .fc-buy-rubric {
		display: none;
	}

	/* Ширина и центровка как у колонки фото (одна колонка до 600px) — ссылка встаёт над левым краем фото */
	.fc-product-band > .fc-product-back {
		display: block;
		max-width: 600px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/*
 * Фото и блок покупки — две колонки по центру: фото 600px (было 2/3 ширины, около 800px —
 * владелец попросил меньше), блок покупки 320–420px, между ними 64px.
 * Фото держит 600px, пока блоку покупки остаётся хотя бы 320px, и только потом сжимается.
 */
.fc-product {
	display: grid;
	grid-template-columns: min(600px, calc(100% - 320px - var(--wp--preset--spacing--8))) minmax(320px, 420px);
	justify-content: center;
	column-gap: var(--wp--preset--spacing--8);
	row-gap: var(--wp--preset--spacing--1);
	align-items: start;
}

.fc-product > * {
	margin: 0 !important;
}

/*
 * Галерея — одно большое фото 1:1 во всю колонку, под ним ряд миниатюр на белом.
 * Клик по миниатюре листает большое фото (штатная карусель WooCommerce), на телефоне — ещё и свайп.
 */
.fc-gallery {
	display: flex !important;
	flex-direction: column;
	gap: var(--wp--preset--spacing--1);
	margin: 0;
}

/*
 * На компьютере фото держится на экране, пока листаются описание и характеристики справа (решение
 * владельца, октябрь 2026: под фото оставалась пустая колонка). Встаёт под шапкой, как колонка покупки;
 * если фото с миниатюрами выше экрана — так, чтобы миниатюры были видны внизу (верх уходит под шапку).
 * Высоту галереи пишет assets/js/gallery-sticky.js; без него — просто под шапкой. До 1024px — обычное.
 */
.fc-product > .fc-gallery {
	position: sticky;
	top: min(calc(var(--fc-header-bottom) + var(--fc-header-offset)), calc(100vh - var(--fc-gallery-h, 0px) - var(--wp--preset--spacing--5)));
}

.fc-gallery > * {
	margin: 0 !important;
}

.fc-gallery .wc-block-product-gallery-large-image {
	width: 100%;
	background: var(--wp--preset--color--surface-raised);
}

.fc-gallery .wc-block-product-gallery-large-image__wrapper,
.fc-gallery .wc-block-product-gallery-large-image__image-element {
	margin: 0;
	background: var(--wp--preset--color--surface-raised);
}

/* Лупа при наведении не выходит за фото */
.fc-gallery .wc-block-product-gallery-large-image__wrapper {
	overflow: hidden;
}

.fc-gallery .wc-block-product-gallery-large-image__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	cursor: zoom-in;
}

/*
 * Фото открывает просмотр на весь экран — подсказывает это свой курсор над фото: тонкий круг 32px с плюсом
 * (assets/icons/cursor-zoom.svg; системная лупа показалась владельцу некрасивой, она — запасной вариант).
 * Значок лупы в углу фото пробовали и убрали — хватает курсора.
 * Класс у самого фото — с «woocommerce» в имени, поэтому прежнее правило с cursor: zoom-in выше не срабатывало.
 */
.fc-gallery .wc-block-woocommerce-product-gallery-large-image__image {
	cursor: url(../icons/cursor-zoom.svg) 16 16, zoom-in;
}

.fc-gallery .wc-block-next-previous-buttons,
.fc-gallery .wc-block-product-gallery-large-image-next-previous {
	display: none !important;
}

/*
 * Миниатюры: квадраты через 4px, ровно пять на ширину фото; шестая и следующие уходят вправо
 * и листаются вбок — стрелками по краям (assets/js/gallery-thumbs.js) или прокруткой. Выбранная — рамка ink.
 */
.fc-gallery .fc-gallery-thumbs {
	position: relative;
	order: 1;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: auto !important;
	flex: none;
	--fc-thumb: calc((100% - 4 * var(--wp--preset--spacing--1)) / 5);
	/* WooCommerce растворяет края ряда маской (классы --overflow-left/right) — она бледнила крайние фото
	   и вместе с ними стрелки; продолжение ряда и так показывают стрелки */
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__scrollable {
	display: flex;
	flex-direction: row;
	gap: var(--wp--preset--spacing--1);
	height: auto;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
}

.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__scrollable::-webkit-scrollbar {
	display: none;
}

.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__thumbnail {
	flex: 0 0 var(--fc-thumb);
	width: var(--fc-thumb);
	height: auto;
	aspect-ratio: 1;
	background: var(--wp--preset--color--surface-raised);
	scroll-snap-align: start;
}

/* Стрелки ряда — белые квадраты 32px в рамке line у краёв ряда, шеврон ink 16px; наведение — рамка ink */
.fc-gallery .fc-thumbs-arrow {
	position: absolute;
	top: 50%;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 0;
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	cursor: pointer;
	transform: translateY(-50%);
	transition: border-color .2s ease;
}

.fc-gallery .fc-thumbs-arrow[hidden] {
	display: none;
}

.fc-gallery .fc-thumbs-arrow.is-prev {
	left: var(--wp--preset--spacing--2);
}

.fc-gallery .fc-thumbs-arrow.is-next {
	right: var(--wp--preset--spacing--2);
}

.fc-gallery .fc-thumbs-arrow:hover {
	border-color: var(--wp--preset--color--ink);
}

.fc-gallery .fc-thumbs-arrow:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

.fc-gallery .fc-thumbs-arrow::before {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url(../icons/chevron-left.svg) center / contain no-repeat;
	mask: url(../icons/chevron-left.svg) center / contain no-repeat;
}

.fc-gallery .fc-thumbs-arrow.is-next::before {
	-webkit-mask-image: url(../icons/chevron-right.svg);
	mask-image: url(../icons/chevron-right.svg);
}

@media (prefers-reduced-motion: reduce) {
	.fc-gallery .fc-thumbs-arrow {
		transition: none;
	}

	.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__scrollable {
		scroll-behavior: auto;
	}
}

.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__thumbnail__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	padding: 0;
	border: 0;
	object-fit: contain;
	outline: 1px solid transparent;
	outline-offset: -1px;
	filter: none;
	cursor: pointer;
	transition: outline-color .2s ease-out;
}

.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__thumbnail__image:hover {
	outline-color: var(--wp--preset--color--line);
}

.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__thumbnail__image--is-active,
.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__thumbnail__image--is-active:hover {
	outline-color: var(--wp--preset--color--ink);
}

/* Фокус клавиатуры — кольцо системы внутри миниатюры */
.fc-gallery .fc-gallery-thumbs .wc-block-product-gallery-thumbnails__thumbnail__image:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: -2px;
}

.fc-buy-col {
	position: sticky;
	top: calc(var(--fc-header-bottom) + var(--fc-header-offset));
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--1);
}

.fc-buy-col > * {
	margin: 0 !important;
}

.is-style-panel {
	background: var(--wp--preset--color--surface-raised);
	padding: var(--wp--preset--spacing--5);
}

/* BuyBox: бейдж, название 24/600, атрибуты ui, цена Onest 21, таблица размеров, кнопка 48px во всю ширину */
.fc-buy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--1);
}

.fc-buy > * {
	margin: 0 !important;
}

/* Название — Onest 24/600 (было 16 — сливалось с подзаголовком того же размера; владелец попросил крупнее), до 1024px — 21 */
/* Название товара — шрифтом заголовков, Spectral 300 (было Onest 600 24px; решение владельца, октябрь 2026) */
.fc-buy-name {
	font-family: var(--wp--preset--font-family--serif) !important;
	font-size: 32px !important;
	line-height: 38.4px !important;
	font-weight: 300 !important;
	letter-spacing: 0 !important;
}

/* Краткое описание — 14px и отступ от названия 12px (было 16px и 4px — сливалось с названием; решение владельца, октябрь 2026) */
.fc-buy-sub,
.fc-buy-sub p {
	margin: 0;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 21px;
}

.fc-buy > .fc-buy-sub {
	margin-top: var(--wp--preset--spacing--2) !important;
}

/*
 * Артикул под названием (inc/product-sku.php; решение владельца, 12.11.2026): тихая строка 13px ink-muted,
 * 8px от названия; номер выделяется целиком одним нажатием — скопировать для звонка или поиска.
 * У вариативного товара — после выбора варианта (assets/js/product-sku.js).
 */
.fc-buy > .fc-buy-sku {
	margin-top: var(--wp--preset--spacing--1) !important;
}

.fc-buy-sku,
.fc-stores-sku {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18px;
	letter-spacing: 0.4px;
}

.fc-sku-value {
	color: var(--wp--preset--color--ink-secondary);
	user-select: all;
}

.fc-buy-sku[hidden],
.fc-stores-sku[hidden] {
	display: none !important;
}

.fc-buy-sub .wp-block-post-excerpt__more-text {
	display: none;
}

/* Цена — 24px (решение владельца, октябрь 2026: 21px терялась под крупным названием; 500 не понравилось) */
.fc-buy-price,
.fc-buy-price .wc-block-components-product-price {
	margin-top: var(--wp--preset--spacing--4) !important;
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: 24px !important;
	line-height: 28px !important;
	font-weight: 400;
	letter-spacing: 0;
}

/* Между названием и ценой — короткая розовая черта 32×2px, тем же blush, что квадрат «Новинки»
   (решение владельца, октябрь 2026; пробовали серую линию во всю колонку, чёрную черту, ромб) */
.fc-buy-price {
	margin-top: 20px !important;
}

.fc-buy-price::before {
	content: "";
	display: block;
	width: 32px;
	height: 2px;
	margin-bottom: var(--wp--preset--spacing--4);
	background: var(--wp--preset--color--blush);
}

.fc-buy-price .wc-block-components-product-price {
	margin-top: 0 !important;
}

.fc-buy-size {
	margin-top: var(--wp--preset--spacing--5) !important;
	color: var(--wp--preset--color--ink-secondary);
	/* Тем же кеглем, что строка «Цвет: Выберите цвет» под ней */
	font-size: var(--wp--preset--font-size--body-sm) !important;
	line-height: 19.6px !important;
}

/*
 * Размер изделия под ценой (inc/size-guide.php): иконка линейки, размер из характеристик товара ink
 * и ссылка «Как подобрать размер» на раздел таблицы в шторке. У колец — только ссылка, у серёг строки нет.
 */
/* Две строки: иконка и размер, под ним ссылка — по краю текста, а не под иконкой */
.fc-buy .fc-buy-size {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: var(--wp--preset--spacing--1) var(--wp--preset--spacing--2);
}

.fc-buy-size .fc-size-value {
	grid-column: 2;
	color: var(--wp--preset--color--ink);
}

.fc-buy-size .fc-size-link {
	grid-column: 2;
	justify-self: start;
}

.fc-buy-size a {
	color: inherit;
	text-underline-offset: 3px;
}

.fc-buy-action {
	align-self: stretch;
	margin-top: var(--wp--preset--spacing--5) !important;
}

.fc-buy-action form.cart {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	margin: 0 !important;
}

.fc-buy-action form.cart:not(.variations_form),
.fc-buy-action .woocommerce-variation-add-to-cart {
	display: flex;
	flex-direction: row;
	gap: 0;
}

.fc-buy-action .quantity {
	display: none !important;
}

.fc-buy-action .single_add_to_cart_button,
.fc-buy-action button[type="submit"] {
	flex: 1;
	width: 100%;
	min-height: var(--wp--custom--control-height-lg);
	margin: 0 !important;
	padding: var(--wp--preset--spacing--1) var(--wp--custom--space-btn-x);
	border: 1px solid var(--wp--preset--color--noir) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body-sm) !important;
	line-height: 19.6px;
	font-weight: 600;
	letter-spacing: .4px;
}

.fc-buy-action .single_add_to_cart_button:hover {
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
}

/* Товар уже в корзине: вторичная кнопка — белая с рамкой, галочка и «В корзине», ведёт в корзину */
.fc-buy-action .single_add_to_cart_button.is-in-cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--2);
	box-sizing: border-box;
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none;
}

.fc-buy-action .single_add_to_cart_button.is-in-cart::before {
	content: "";
	width: var(--wp--custom--icon-size);
	height: var(--wp--custom--icon-size);
	background: currentColor;
	-webkit-mask: url(../icons/check.svg) center / contain no-repeat;
	mask: url(../icons/check.svg) center / contain no-repeat;
}

.fc-buy-action .single_add_to_cart_button.is-in-cart:hover {
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
}

.fc-buy-action .single_add_to_cart_button.disabled {
	opacity: .4;
}

/* Товар добавляется без перезагрузки (assets/js/add-to-cart.js), потом откроется шторка корзины */
.fc-buy-action .single_add_to_cart_button.is-loading {
	opacity: .6;
	cursor: progress;
}

/* Клирфикс WooCommerce (form.cart::before/::after, display: table) во flex-колонке — лишние
   элементы, и gap давал по 16px пустоты над «Цветом» и под кнопкой */
.fc-buy-action form.cart::before,
.fc-buy-action form.cart::after {
	display: none !important;
}

/* Выбор цвета у вариативных товаров: «Цвет» — 8px — поле во всю ширину — 16px — кнопка.
   Таблицу WooCommerce разбираем в блоки целиком: при табличных строках внутри блочной таблицы
   поле было уже колонки, а сверху появлялся лишний отступ. Поля и высоту строки 32px ячейкам
   задаёт WooCommerce (.woocommerce div.product form.cart .variations …) — отсюда !important. */
.fc-buy-action table.variations {
	position: relative;
	width: 100%;
	margin: 0 !important;
	border: 0;
}

.fc-buy-action table.variations,
.fc-buy-action table.variations tbody,
.fc-buy-action table.variations tr,
.fc-buy-action table.variations th,
.fc-buy-action table.variations td {
	display: block;
}

.fc-buy-action table.variations tr + tr {
	margin-top: var(--wp--preset--spacing--4);
}

.fc-buy-action table.variations th,
.fc-buy-action table.variations td {
	padding: 0 !important;
	border: 0;
	line-height: 19.6px !important;
	text-align: left;
}

.fc-buy-action table.variations label {
	display: block;
	margin: 0 !important;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	font-weight: 600;
}

.fc-buy-action table.variations select {
	display: block;
	width: 100% !important;
	max-width: none !important;
	min-height: var(--wp--custom--control-height-lg);
	margin: var(--wp--preset--spacing--2) 0 0 !important;
	border: 1px solid var(--wp--preset--color--ink-muted);
	border-radius: 0;
	background-color: var(--wp--preset--color--surface-raised);
	font-size: var(--wp--preset--font-size--body-sm);
	cursor: pointer;
}

/* Без JS «Сбросить выбор» — справа в строке «Цвет», места под полем не занимает (WooCommerce прячет её
   через visibility, и пустая строка оставалась) */
.fc-buy-action table.variations .reset_variations {
	position: absolute;
	top: 0;
	right: 0;
	margin: 0;
	font-size: var(--wp--preset--font-size--utility);
	line-height: 19.6px;
	color: var(--wp--preset--color--ink-muted);
	text-underline-offset: 3px;
}

.fc-buy-action table.variations .reset_variations:hover {
	color: var(--wp--preset--color--ink);
}

/* Выбор варианта строкой «Цвет: Выберите цвет» и выпадающим списком (assets/js/variation-select.js;
   скрипт ставит таблице .is-enhanced, исходное поле остаётся в форме, но скрыто) */
.fc-buy-action table.variations.is-enhanced {
	margin-bottom: var(--wp--preset--spacing--2) !important;
}

.fc-buy-action table.variations.is-enhanced tr {
	position: relative; /* от строки отсчитывается список над ней */
	display: flex;
	align-items: flex-start; /* длинное значение в две строки — «Покрытие:» по первой (по baseline вставало по второй) */
	gap: var(--wp--preset--spacing--1);
}

/* «Сбросить выбор» сбрасывает все поля — своей строкой под ними, в 16px от последнего, как строки между собой
   (решение владельца, октябрь 2026: справа в строке последнего поля она казалась его частью и отнимала у него
   80px — «Выберите покрытие» переносилось на две строки). Переносит её assets/js/variation-select.js. */
.fc-buy-action table.variations.is-enhanced + .reset_variations {
	align-self: flex-start;
	margin-top: calc(-1 * var(--wp--preset--spacing--2));
	font-size: var(--wp--preset--font-size--utility);
	line-height: 19.6px;
	color: var(--wp--preset--color--ink-muted);
	text-underline-offset: 3px;
}

.fc-buy-action table.variations.is-enhanced + .reset_variations:hover {
	color: var(--wp--preset--color--ink);
}

.fc-buy-action table.variations.is-enhanced:not(.has-choice) + .reset_variations {
	display: none !important;
}

.fc-buy-action table.variations.is-enhanced label {
	cursor: pointer;
}

/* Единственный вариант — просто текст, выбирать нечего; «Сбросить выбор» — только после выбора покупателя (.has-choice) */
.fc-buy-action table.variations.is-enhanced tr.is-single label {
	cursor: default;
}

.fc-vs-value {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.fc-buy-action table.variations.is-enhanced label::after {
	content: ":";
}

.fc-buy-action table.variations.is-enhanced td {
	min-width: 0;
}

.fc-buy-action table.variations.is-enhanced select {
	position: absolute !important;
	width: 1px !important;
	height: 1px;
	min-height: 0;
	margin: 0 !important;
	padding: 0;
	border: 0;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.fc-vs-trigger {
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body-sm);
	font-weight: 400;
	line-height: 19.6px;
	letter-spacing: 0;
	text-align: left;
	text-decoration: underline dotted;
	text-decoration-color: var(--wp--preset--color--ink-muted);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	cursor: pointer;
}

.fc-vs-trigger:hover,
.fc-vs-trigger[aria-expanded="true"] {
	text-decoration-color: var(--wp--preset--color--ink);
}

/* Фокус с клавиатуры — сплошное подчёркивание: общее кольцо фокуса налезало на «Цвет:» */
.fc-vs-trigger:focus-visible {
	outline: none;
	box-shadow: none;
	text-decoration-style: solid;
	text-decoration-color: var(--wp--preset--color--ink);
	text-decoration-thickness: 2px;
}

.fc-vs-trigger.is-pointer-focus:focus-visible {
	text-decoration-style: dotted;
	text-decoration-color: var(--wp--preset--color--ink-muted);
	text-decoration-thickness: 1px;
}

.fc-vs-list {
	position: absolute;
	bottom: calc(100% + var(--wp--preset--spacing--2)); /* открывается вверх, над строкой */
	left: 0; /* скрипт сдвигает к слову «Выберите цвет» */
	z-index: 20;
	min-width: 200px;
	max-height: 280px;
	margin: 0;
	padding: var(--wp--preset--spacing--1) 0;
	overflow-y: auto;
	list-style: none;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface-raised);
	box-shadow: 0 8px 24px #00000014;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

/* Над строкой не хватает места до шапки — скрипт открывает список вниз */
.fc-vs-list.is-below {
	top: calc(100% + var(--wp--preset--spacing--2));
	bottom: auto;
}

.fc-vs-list[hidden] {
	display: none;
}

.fc-vs-list:focus {
	outline: none;
}

.fc-vs-list:focus-visible {
	box-shadow: 0 8px 24px #00000014;
}

.fc-vs-list [role="option"] {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--3);
	padding: 10px var(--wp--preset--spacing--4);
	cursor: pointer;
}

.fc-vs-list [role="option"].is-active {
	background: var(--wp--preset--color--line-subtle);
}

.fc-vs-list [role="option"][aria-selected="true"]::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url(../icons/check.svg) center / contain no-repeat;
	mask: url(../icons/check.svg) center / contain no-repeat;
}

.fc-vs-list [role="option"][aria-disabled="true"] {
	color: var(--wp--preset--color--ink-muted);
	cursor: default;
}

/* Закончившийся вариант — серый, с подписью справа, но выбирается: посмотреть фото (решения владельца, октябрь 2026) */
.fc-vs-list [role="option"].is-out {
	color: var(--wp--preset--color--ink-muted);
}

.fc-vs-note {
	flex: none;
	font-size: var(--wp--preset--font-size--utility);
}

/* Блок варианта (наличие) пустой — без своего нижнего поля, иначе зазор до кнопки удваивается */
.fc-buy-action .woocommerce-variation {
	margin: 0 0 var(--wp--preset--spacing--3) !important;
}

.fc-buy-action .woocommerce-variation:not(:has(.stock)) {
	margin: 0 !important;
}

/* Цена варианта под выбором цвета не нужна — её подставляет в верхнюю цену assets/js/variation-price.js */
.fc-buy-action .woocommerce-variation-price {
	display: none;
}

/* Цена варианта в верхней строке — без собственного оформления WooCommerce */
.fc-buy-price .price {
	margin: 0;
	color: inherit;
	font-size: inherit;
}

.fc-buy-action .stock {
	margin: 0;
	font-size: var(--wp--preset--font-size--utility);
	color: var(--wp--preset--color--ink-muted);
}

.fc-buy-action .stock.out-of-stock {
	color: var(--wp--preset--color--alert);
}

/* Товар закончился целиком — «Нет в наличии» над кнопкой, с тем же зазором, что строка наличия варианта */
.fc-buy-action .fc-out-of-stock {
	margin: 0 0 var(--wp--preset--spacing--3);
}

/* Строка доставки: иконка слева на уровне первой строки, текст по левому краю */
.fc-buy-note {
	align-items: flex-start !important;
	justify-content: flex-start;
	align-self: stretch;
	margin-top: var(--wp--preset--spacing--3) !important;
	text-align: left;
}

.fc-buy-note::before {
	margin-top: 0;
}

/*
 * «Есть в магазинах» (inc/stores.php, assets/js/stores.js): строка под строкой доставки, с иконкой магазина;
 * кегль — как у строки выбора варианта «Покрытие: …» (14px / 19,6, разрядка 0,4px; решение владельца,
 * 12.11.2026), текст — ссылка с пунктиром, как там же, открывает шторку #fc-stores.
 * До 720px — без названий магазинов («Есть в 2 магазинах»): с ними строка переносилась.
 */
.fc-buy-stores {
	align-items: flex-start !important;
	justify-content: flex-start;
	align-self: stretch;
	margin-top: var(--wp--preset--spacing--2) !important;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	text-align: left;
}

.fc-buy-stores[hidden] { /* сильнее display: flex у абзацев с иконкой */
	display: none !important;
}

.fc-buy-stores::before {
	margin-top: 0;
}

.fc-stores-link {
	color: var(--wp--preset--color--ink);
	text-decoration: underline dotted;
	text-decoration-color: var(--wp--preset--color--ink-muted);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

.fc-stores-link:hover {
	text-decoration-color: var(--wp--preset--color--ink);
}

@media (max-width: 720px) {
	.fc-stores-names {
		display: none;
	}
}

/* ---------------------------------------------------------------- Accordion (core/details) */

.wp-block-details {
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--line);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.wp-block-details + .wp-block-details {
	margin-top: 0 !important;
	border-top: 0;
}

.wp-block-details > summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	padding: var(--wp--preset--spacing--4) 0;
	list-style: none;
	cursor: pointer;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	font-weight: 600;
	letter-spacing: .4px;
}

.wp-block-details > summary::-webkit-details-marker {
	display: none;
}

.wp-block-details > summary::after {
	content: "";
	flex: none;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: url(../icons/plus.svg) center / contain no-repeat;
	mask: url(../icons/plus.svg) center / contain no-repeat;
}

.wp-block-details[open] > summary::after {
	-webkit-mask-image: url(../icons/minus.svg);
	mask-image: url(../icons/minus.svg);
}

/* Плавное раскрытие (assets/js/accordion.js): во время движения высота задаётся целиком,
   с рамками и отступом, лишнее срезается; при сворачивании значок — «+» сразу */
.wp-block-details.is-animating {
	box-sizing: border-box;
	overflow: hidden;
}

.wp-block-details.is-closing > summary::after {
	-webkit-mask-image: url(../icons/plus.svg);
	mask-image: url(../icons/plus.svg);
}

.wp-block-details > :not(summary) {
	margin-top: 0;
	margin-bottom: var(--wp--preset--spacing--4);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

/* Отступ под раскрытым содержимым до разделителя: margin-bottom у последнего
   ребёнка обнуляет раскладка flow WordPress, поэтому — padding самой секции */
.wp-block-details[open] {
	padding-bottom: var(--wp--preset--spacing--5);
}

.wp-block-details ul {
	margin: var(--wp--preset--spacing--2) 0 var(--wp--preset--spacing--4);
	padding-left: var(--wp--preset--spacing--5);
}

.fc-acc-panel {
	padding-top: var(--wp--preset--spacing--2);
	padding-bottom: var(--wp--preset--spacing--2);
}

.fc-acc-panel .wp-block-details:first-child {
	border-top: 0;
}

.fc-acc-panel .wp-block-details:last-child {
	border-bottom: 0;
}

/* Характеристики товара */
.wp-block-woocommerce-product-specifications table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--body-sm);
}

.wp-block-woocommerce-product-specifications th,
.wp-block-woocommerce-product-specifications td {
	padding: var(--wp--preset--spacing--2) 0;
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: top;
}

.wp-block-woocommerce-product-specifications th {
	width: 40%;
	font-weight: 400;
	color: var(--wp--preset--color--ink-secondary);
}

/* Названия — вровень с заголовком «Характеристики»: общее правило .wp-block-table ниже
   в файле давало ячейкам поля 16px слева; оставлен только зазор между колонками */
.wp-block-table.wp-block-woocommerce-product-specifications th,
.wp-block-table.wp-block-woocommerce-product-specifications td {
	padding: var(--wp--preset--spacing--3) 0;
}

.wp-block-table.wp-block-woocommerce-product-specifications th {
	padding-right: var(--wp--preset--spacing--4);
}

/* Значение WooCommerce оборачивает в <p>: его поля раздували строку до 72px
   и опускали значение ниже названия */
.wp-block-woocommerce-product-specifications td p {
	margin: 0;
}

/* Под последней строкой — разделитель самой секции, своя линия не нужна */
.wp-block-woocommerce-product-specifications tbody tr:last-child > * {
	border-bottom: 0;
}

/* ---------------------------------------------------------------- Корзина, оформление, аккаунт, мини-корзина */

.fc-shop-page {
	padding-top: var(--wp--preset--spacing--6);
	padding-bottom: var(--wp--preset--spacing--8);
}

.fc-shop-page > .wp-block-post-title {
	margin-bottom: var(--wp--preset--spacing--6);
}

.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wc-block-mini-cart__footer-actions .wc-block-components-button,
.wc-block-checkout-empty .wp-block-button__link,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link,
.woocommerce .button {
	min-height: var(--wp--custom--control-height-lg);
	padding: var(--wp--preset--spacing--1) var(--wp--custom--space-btn-x);
	border: 1px solid var(--wp--preset--color--noir) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body-sm) !important;
	line-height: 19.6px;
	font-weight: 600;
	letter-spacing: .4px;
	text-decoration: none;
	box-shadow: none !important;
}

.wc-block-components-button:not(.is-link):hover,
.wc-block-checkout-empty .wp-block-button__link:hover,
.wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
.woocommerce .button:hover {
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
}

/*
 * Оформление заказа с пустой корзиной («Ваша корзина сейчас пуста!») — WooCommerce рисует его сам, если
 * корзина опустела, когда страница оформления уже открыта (другая вкладка, страница из кэша). Без
 * картинки-тележки — чужеродной для сайта; заголовок, пояснение и кнопка по центру (решение владельца,
 * октябрь 2026). У WooCommerce ширина 100% плюс поля по 48px — блок был шире экрана, и страница
 * прокручивалась вбок.
 */
.wc-block-checkout-empty {
	box-sizing: border-box;
	width: 100%;
	max-width: 480px;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}

.wc-block-checkout-empty .wc-block-checkout-empty__image {
	display: none;
}

.wc-block-checkout-empty .wc-block-checkout-empty__title {
	font-size: var(--wp--preset--font-size--body);
	line-height: 22.4px;
	font-weight: 600;
}

.wc-block-checkout-empty .wc-block-checkout-empty__description {
	margin: var(--wp--preset--spacing--2) 0 var(--wp--preset--spacing--5);
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

/*
 * Пустая корзина — так же (решение владельца, октябрь 2026): заголовок, пояснение и кнопка «Обзор
 * магазина» по центру. Содержимое блока сохранено в странице «Корзина» — его заменила миграция
 * 2026-10-24-01-pustaya-korzina (было: «Your cart is currently empty!» с иконкой, точки, «New in store»
 * и новинки). Заголовок — <h2>, отсюда !important против общего правила размеров заголовков.
 */
.wp-block-woocommerce-empty-cart-block {
	box-sizing: border-box;
	max-width: 480px;
	margin: 0 auto;
	text-align: center;
}

.wp-block-woocommerce-empty-cart-block > * {
	margin-block: 0 !important;
}

.wp-block-woocommerce-empty-cart-block .fc-cart-empty-title {
	font-family: var(--wp--preset--font-family--sans) !important;
	font-size: var(--wp--preset--font-size--body) !important;
	line-height: 22.4px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
}

.wp-block-woocommerce-empty-cart-block .fc-cart-empty-text {
	margin: var(--wp--preset--spacing--2) 0 var(--wp--preset--spacing--5) !important;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.wc-block-components-button.outlined,
.wc-block-mini-cart__footer-cart.wc-block-components-button {
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
}

.wc-block-components-button.outlined:hover,
.wc-block-mini-cart__footer-cart.wc-block-components-button:hover {
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
}

.wc-block-components-button .wc-block-components-button__text {
	text-decoration: none;
}

/* Поля ввода: прямые углы, рамка ink-muted (≥3:1), фокус — кольцо системы */
.wc-block-components-text-input input,
.wc-block-components-textarea,
.wc-block-components-combobox .components-combobox-control input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.woocommerce form .input-text,
.woocommerce form select,
.wp-block-search__input,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	border: 1px solid var(--wp--preset--color--ink-muted) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	font-family: var(--wp--preset--font-family--sans);
	box-shadow: none !important;
}

/* Многострочные поля (примечание к заказу) — 16px, как остальные поля: Safari на iPhone увеличивает
   страницу, когда фокус попадает в поле с текстом мельче 16px (у WooCommerce здесь 13px; октябрь 2026) */
.wc-block-components-textarea,
.woocommerce form textarea {
	font-size: 16px !important;
	line-height: 22.4px !important;
}

/* Страна и область — тот же отступ сверху, что у остальных полей адреса */
.wc-block-components-form .wc-block-components-checkout-step .wc-block-components-address-form .wc-block-components-country-input,
.wc-block-components-form .wc-block-components-checkout-step .wc-block-components-address-form .wc-block-components-state-input {
	margin-top: var(--wp--preset--spacing--3);
}

/*
 * «Добавить крыло, подъезд, этаж и т.д.» и «Добавить примечание к заказу» — текстом с пунктирным
 * подчёркиванием, как строка выбора варианта на странице товара (.fc-vs-trigger), а не мелкой
 * надписью и флажком (решение владельца, октябрь 2026). «+» перед первой WooCommerce убран из перевода
 * (facette_checkout_script_strings()). У примечания флажок остаётся — он прячется, но по-прежнему
 * открывает поле и для экранного чтеца остаётся переключателем; фокус с клавиатуры — сплошная линия 2px.
 */
.wc-block-components-address-form__address_2-toggle,
.wc-block-checkout__add-note .wc-block-components-checkbox__label {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	text-decoration: underline dotted;
	text-decoration-color: var(--wp--preset--color--ink-muted);
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	cursor: pointer;
}

.wc-block-components-address-form__address_2-toggle:hover,
.wc-block-checkout__add-note label:hover .wc-block-components-checkbox__label {
	text-decoration-color: var(--wp--preset--color--ink);
}

.wc-block-components-address-form__address_2-toggle:focus-visible,
.wc-block-checkout__add-note .wc-block-components-checkbox__input:focus-visible ~ .wc-block-components-checkbox__label {
	outline: none;
	box-shadow: none;
	text-decoration-style: solid;
	text-decoration-color: var(--wp--preset--color--ink);
	text-decoration-thickness: 2px;
}

.wc-block-checkout__add-note .wc-block-components-checkbox label {
	display: inline-flex;
	padding: 0;
	cursor: pointer;
}

.wc-block-checkout__add-note .wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-checkout__add-note .wc-block-components-checkbox__mark {
	position: absolute;
	width: 1px !important;
	min-width: 0 !important;
	height: 1px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0;
	border: 0;
	opacity: 0;
	overflow: hidden;
	clip-path: inset(50%);
}

.wc-block-checkout__add-note .wc-block-components-checkbox__label {
	margin: 0;
	padding: 0;
}

/* Нажали — надпись исчезает, остаётся поле примечания, как у «Добавить крыло…» (решение владельца,
   октябрь 2026). Курсор в поле сам не ставится; подпись поля — assets/js/checkout-note.js. */
.wc-block-checkout__add-note .wc-block-components-checkbox:has(.wc-block-components-checkbox__input:checked) {
	display: none;
}

/* Поле в фокусе не выделяется — как поля формы входа: та же рамка, без кольца и затемнения
   (решение владельца, октябрь 2026; было: рамка ink и двойное кольцо фокуса). Фокус виден по курсору */
.wc-block-components-text-input input:focus,
.wc-blocks-components-select .wc-blocks-components-select__select:focus,
.wc-block-components-textarea:focus {
	border-color: var(--wp--preset--color--ink-muted) !important;
	box-shadow: none !important;
	outline: 2px solid transparent !important;
}

.wc-block-components-text-input label,
.wc-blocks-components-select label {
	color: var(--wp--preset--color--ink-muted) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"],
.wc-block-components-radio-control__input {
	border-color: var(--wp--preset--color--ink-muted) !important;
	border-radius: 0;
}

.wc-block-components-radio-control__input {
	border-radius: 50% !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background: var(--wp--preset--color--noir) !important;
	border-color: var(--wp--preset--color--noir) !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__mark {
	fill: var(--wp--preset--color--on-noir);
}

/* Белые панели на слоновой кости */
.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.woocommerce-MyAccount-content,
.woocommerce-MyAccount-navigation,
.woocommerce-order {
	padding: var(--wp--preset--spacing--5) !important;
	background: var(--wp--preset--color--surface-raised);
	box-sizing: border-box;
}

.wc-block-components-sidebar-layout {
	gap: var(--wp--preset--spacing--1);
	margin: 0;
}

/*
 * Оформление заказа на телефоне и планшете (раскладка не is-large): панели белые на белом, и их поля
 * сверху и снизу только раздвигали страницу — от заголовка до свёрнутых «Деталей заказа» было 96px,
 * от них до «Контактной информации» 76px. Теперь 32px под заголовком страницы, как у других страниц
 * магазина, и 24px до «Контактной информации», как между шагами и у нижней сводки (решение владельца,
 * октябрь 2026). Боковые поля панелей остаются. Пустой блок уведомлений над сводкой давал ещё 16px.
 */
.wp-block-woocommerce-checkout:has(> .wc-block-components-sidebar-layout:not(.is-large)) {
	padding-top: 0;
}

.wc-block-checkout.wc-block-components-sidebar-layout:not(.is-large) {
	gap: 0;
}

.wc-block-checkout.wc-block-components-sidebar-layout:not(.is-large) .wc-block-checkout__sidebar {
	margin-bottom: 0;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.wc-block-checkout__sidebar > .wc-block-components-notices:not(:has(> *)) {
	margin: 0;
}

/* У строки «Детали заказа · сумма» поле 16px сверху — проваливалось сквозь блок сводки */
.wc-block-checkout.wc-block-components-sidebar-layout:not(.is-large) .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title {
	margin-top: 0;
}

/* До 480px — без боковых полей панелей, как корзина: контент по полю страницы, 16px от края
   (решение владельца, октябрь 2026; было 40px) */
@media (max-width: 480px) {
	/* Сильнее правила «до 1024px — поле слева 24px» ниже в файле */
	.wc-block-checkout.wc-block-components-sidebar-layout .wc-block-checkout__main,
	.wc-block-checkout.wc-block-components-sidebar-layout .wc-block-checkout__sidebar {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* Две колонки — только на десктопе; уже 1025px итог встаёт под форму */
@media (min-width: 1025px) {
	.wc-block-components-sidebar-layout.is-large {
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	.wc-block-components-sidebar-layout.is-large .wc-block-components-main {
		width: calc(65% - 2px);
	}

	.wc-block-components-sidebar-layout.is-large .wc-block-components-sidebar {
		width: calc(35% - 2px);
		padding-left: var(--wp--preset--spacing--5);
	}
}

@media (max-width: 1024px) {
	.wc-block-components-sidebar-layout .wc-block-components-main,
	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		width: 100% !important;
		padding-left: var(--wp--preset--spacing--5) !important;
	}

	.wc-block-components-sidebar-layout .wc-block-components-sidebar {
		position: static !important;
		margin-top: 0;
	}
}

.wc-block-components-sidebar-layout .wc-block-components-main {
	padding-right: 0;
}

/*
 * Корзина на телефоне. До 480px у белых панелей корзины нет боковых полей — на белой странице они
 * только сдвигали корзину от края; она стоит по полю страницы, 16px. (Колонку описания у WooCommerce —
 * ровно 132px, из-за неё строка вылезала за край — заменяет сетка строки ниже.)
 */
@media (max-width: 480px) {
	.wc-block-cart .wc-block-cart__main,
	.wc-block-cart .wc-block-cart__sidebar {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/*
 * Строка товара в корзине и шторке корзины (решение владельца, октябрь 2026): одна цена — сумма строки,
 * 500. Цена за штуку — только от двух штук, серым, «… за шт.»: при одной штуке она совпадала с суммой,
 * и было непонятно, что есть что. «Больше одной» — кнопка «−» степпера включена: при минимальном
 * количестве её выключают и корзина (React), и шторка (Interactivity API). По атрибуту value поля нельзя:
 * шторка меняет только значение поля, атрибут остаётся «1». Краткого описания нет — ни здесь, ни в
 * «Деталях заказа» при оформлении (решение владельца, октябрь 2026); цвет и покрытие варианта остаются.
 */
.wc-block-cart-items .wc-block-components-product-metadata__description,
.wc-block-components-order-summary-item .wc-block-components-product-metadata__description {
	display: none;
}

/* В «Деталях заказа» блок с одним описанием (товар без вариантов) оставлял пустой зазор под названием */
.wc-block-components-order-summary-item .wc-block-components-product-metadata:not(:has(> :not(.wc-block-components-product-metadata__description))) {
	display: none;
}

.wc-block-cart-items__row:not(:has(.wc-block-components-quantity-selector__button--minus:not(:disabled))) .wc-block-cart-item__prices {
	display: none;
}

.wc-block-cart-items__row .wc-block-cart-item__prices,
.wc-block-cart-items__row .wc-block-cart-item__prices .wc-block-components-product-price__value {
	color: var(--wp--preset--color--ink-muted);
}

.wc-block-cart-items__row .wc-block-cart-item__prices .wc-block-components-product-price::after {
	content: " за шт.";
}

.wc-block-cart-item__total .wc-block-components-product-price__value {
	font-weight: 500;
}

/*
 * Шторка и корзина, пока у WooCommerce строка — сетка (раскладка не is-large; на компьютере корзина —
 * таблица с колонкой «Итого», её не трогаем). Фото слева, справа столбиком: название во всю ширину,
 * сумма, цена за штуку, степпер (решение владельца, октябрь 2026: колонка суммы справа отнимала место
 * у названия). Ячейку описания и её обёртку разбираем (display: contents), чтобы сумма из своей ячейки
 * встала между названием и степпером; порядок — order. Последняя строка сетки 1fr забирает лишнюю
 * высоту, если фото выше текста, — иначе она разошлась бы промежутками между строками.
 */
:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-cart-items__row {
	grid-template-columns: 80px minmax(0, 1fr);
	grid-template-rows: repeat(5, auto) 1fr;
	row-gap: 0;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-cart-item__image {
	grid-column: 1;
	grid-row: 1 / -1;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items :is(.wc-block-cart-item__product, .wc-block-cart-item__wrap) {
	display: contents;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items :is(.wc-block-cart-item__wrap > *, .wc-block-cart-item__total) {
	grid-column: 2;
	grid-row: auto;
	order: 4;
	margin: 0;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-components-product-name {
	order: 1;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-cart-item__total {
	order: 2;
	justify-self: start;
	margin-top: var(--wp--preset--spacing--2);
	text-align: left;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-cart-item__prices {
	order: 3;
	margin-top: 2px;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-cart-item__quantity {
	order: 5;
	margin-top: var(--wp--preset--spacing--3);
}

/*
 * Заглушки корзины и оформления, пока WooCommerce загружает товары и суммы (решение владельца, октябрь 2026):
 * как заглушки каталога (.fc-skeleton-*) — прямые углы, surface-sunken, мягкая пульсация вместо бегущего
 * блика WooCommerce. В строке товара — квадрат фото, строка названия 14px, строка покупки 10px через 8px
 * и цена 16px через 12px, как у настоящей строки; раньше раскладка строки товара (поля 0, промежутков нет)
 * склеивала строки заглушки, а размеры WooCommerce задаёт в style — отсюда !important.
 */
.wc-block-components-skeleton__element {
	border-radius: 0 !important;
	background: var(--wp--preset--color--surface-sunken) !important;
	animation: fc-pulse 1.4s ease-in-out infinite;
}

.wc-block-components-skeleton__element::after {
	content: none !important;
}

.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-skeleton__element:first-child {
	width: 70% !important;
	max-width: 180px !important;
	height: 14px !important;
}

.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-skeleton__element + .wc-block-components-skeleton__element {
	width: 45% !important;
	max-width: 110px !important;
	height: 10px !important;
	margin-top: var(--wp--preset--spacing--2) !important;
}

.wc-block-cart-items .wc-block-cart-item__total > .wc-block-components-skeleton__element {
	width: 72px !important;
	max-width: none !important;
	height: 16px !important;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-cart-item__wrap > .wc-block-components-skeleton__element {
	order: 1;
}

:is(.wc-block-mini-cart__drawer, .wc-block-components-sidebar-layout:not(.is-large)) table.wc-block-cart-items .wc-block-cart-item__total:has(> .wc-block-components-skeleton__element) {
	order: 2;
	margin-top: var(--wp--preset--spacing--3);
}

@media (prefers-reduced-motion: reduce) {
	.wc-block-components-skeleton__element {
		animation: none;
	}
}

.wc-block-components-panel,
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary,
.wc-block-cart-items,
.wc-block-cart-items td,
.wc-block-cart-items th {
	border-color: var(--wp--preset--color--line) !important;
}

.wc-block-components-title,
.wc-block-cart__totals-title,
.wc-block-components-checkout-step__title,
.wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text {
	font-family: var(--wp--preset--font-family--serif) !important;
	font-weight: 300 !important;
	font-size: var(--wp--preset--font-size--title-sm) !important;
	line-height: 32.4px !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}

.wc-block-cart__totals-title {
	font-size: var(--wp--preset--font-size--lead) !important;
	line-height: 25.2px !important;
}

.wc-block-components-product-name {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--product-name);
	line-height: 21px;
	text-decoration: none;
}

.wc-block-components-product-metadata,
.wc-block-components-product-details {
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--caption);
	line-height: 13.2px;
}

.wc-block-components-formatted-money-amount,
.wc-block-components-totals-item__value,
.wc-block-components-product-price__value,
.woocommerce-Price-amount {
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 400;
	letter-spacing: 0;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: var(--wp--preset--font-size--lead);
}

/* «Предполагаемый итог» / «Итого» — тихая подпись 16px, акцент на сумме (решение владельца, октябрь 2026:
   у WooCommerce подпись 20px/500 спорила с суммой и на телефоне уходила на отдельную строку) */
.wc-block-components-totals-footer-item {
	align-items: baseline;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--ui);
	font-weight: 400;
	line-height: 22.4px;
}

.wc-block-components-quantity-selector {
	border-radius: 0 !important;
	border-color: var(--wp--preset--color--ink-muted) !important;
}

.wc-block-components-quantity-selector::after {
	border: 0 !important;
}

/* Кнопки «−» / «+» и поле: без обводки WooCommerce при нажатии (inset box-shadow на :focus) —
   отклик только светло-серой подложкой: наведение мышью, нажатие, фокус с клавиатуры */
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none !important;
	transition: background-color .15s ease;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus {
	background: transparent;
}

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:not(:disabled):active,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:focus-visible,
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input:focus-visible {
	background: var(--wp--preset--color--line-subtle);
	opacity: 1;
}

/* Только для мыши: на телефоне :hover «залипает» после тапа */
@media (hover: hover) {
	.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:not(:disabled):hover {
		background: var(--wp--preset--color--line-subtle);
		opacity: 1;
	}
}

.wc-block-components-product-badge,
.wc-block-components-sale-badge {
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	padding: 0 !important;
	color: var(--wp--preset--color--ink-muted) !important;
	font-size: var(--wp--preset--font-size--caption) !important;
	font-weight: 400 !important;
	text-transform: none !important;
}

.wc-block-components-notice-banner {
	align-items: center !important;
	border-radius: 0 !important;
	border-color: var(--wp--preset--color--line) !important;
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	font-size: var(--wp--preset--font-size--body-sm);
}

/* WooCommerce ставит фокус на уведомление для скринридера; это не элемент управления — кольцо не рисуем */
.wc-block-components-notice-banner:focus,
.wc-block-components-notice-banner:focus-visible {
	outline: none;
	box-shadow: none;
}

/*
 * Текст слева, кнопка справа, всё по центру строки. Сетка, а не flex: текст — анонимный блок,
 * во flex-ряду он не сжимается и выталкивает кнопку на новую строку. На телефоне кнопка — под текстом.
 */
.wc-block-components-notice-banner__content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--wp--preset--spacing--2) var(--wp--preset--spacing--5);
}

@media (max-width: 720px) {
	.wc-block-components-notice-banner__content {
		grid-template-columns: minmax(0, 1fr);
		justify-items: start;
	}
}

/* Селектор сильнее, чем у WooCommerce: там padding: 0 !important */
.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:is(.button, .wp-element-button) {
	float: none !important;
	order: 2;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-height: var(--wp--custom--control-height) !important;
	margin: 0 !important;
	padding: var(--wp--preset--spacing--1) var(--wp--custom--space-btn-x) !important;
	border: 1px solid var(--wp--preset--color--noir) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	font-size: var(--wp--preset--font-size--body-sm) !important;
	line-height: 19.6px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	opacity: 1 !important;
	/* У WooCommerce transition на всё, включая отступы; как у остальных кнопок — только цвет */
	transition: background-color .15s, color .15s !important;
}

.wc-block-components-notice-banner > .wc-block-components-notice-banner__content .wc-forward:is(.button, .wp-element-button):hover {
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
}

.wc-block-components-notice-banner.is-error {
	border-color: var(--wp--preset--color--alert) !important;
}

.wc-block-components-notice-banner > svg {
	border-radius: 0 !important;
	background: var(--wp--preset--color--noir) !important;
	fill: var(--wp--preset--color--on-noir) !important;
}

.wc-block-components-notice-banner.is-error > svg {
	background: var(--wp--preset--color--alert) !important;
}

.wc-block-components-validation-error,
.woocommerce-error,
.wc-block-components-validation-error p {
	color: var(--wp--preset--color--alert) !important;
}

/* Удаление товара из корзины — контурная иконка trash из набора Facette вместо заливной иконки WooCommerce */
.wc-block-cart-item__remove-link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0 !important;
	color: var(--wp--preset--color--ink) !important;
}

.wc-block-cart-item__remove-link svg {
	display: none;
}

.wc-block-cart-item__remove-link::before {
	content: "";
	width: 20px;
	height: 20px;
	background: currentColor;
	-webkit-mask: url(../icons/trash.svg) center / contain no-repeat;
	mask: url(../icons/trash.svg) center / contain no-repeat;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--wp--preset--color--ink-muted) !important;
}

/* Мини-корзина — белая шторка справа */
.wc-block-mini-cart__drawer .components-modal__frame,
.wc-block-mini-cart__drawer .wc-block-mini-cart__template-part {
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
}

.wc-block-mini-cart__title {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--title-sm);
	line-height: 32.4px;
	mask-image: none;
	flex-direction: column;
	align-items: flex-start;
}

/* Счётчик — не «(позиций: 1)», а тихая подпись в полосе сразу после заголовка */
.wc-block-mini-cart__title .wp-block-woocommerce-mini-cart-title-items-counter-block {
	display: block;
	font-family: var(--wp--preset--font-family--sans);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--utility);
	line-height: 20.8px;
	color: var(--wp--preset--color--ink-muted);
}

.wc-block-mini-cart__footer {
	border-top: 1px solid var(--wp--preset--color--line);
}

/* Скорость шторки корзины — общая (у WooCommerce 0,3 с на открытие и закрытие) */
.wc-block-components-drawer__screen-overlay--with-slide-in,
.wc-block-components-drawer__screen-overlay--with-slide-in .wc-block-components-drawer {
	animation-duration: .2s;
	animation-timing-function: cubic-bezier(.22, .61, .36, 1);
}

.wc-block-components-drawer__screen-overlay,
.wc-block-components-drawer__screen-overlay--with-slide-out,
.wc-block-components-drawer__screen-overlay--with-slide-out .wc-block-components-drawer {
	transition-duration: .2s;
	transition-timing-function: cubic-bezier(.22, .61, .36, 1);
}

.wc-block-components-drawer__screen-overlay--is-hidden,
.wc-block-components-drawer__screen-overlay--is-hidden .wc-block-components-drawer {
	transition-duration: .15s;
	transition-timing-function: cubic-bezier(.4, 0, 1, 1);
}

/*
 * Шапка шторки корзины — как у шторки фильтров (решение владельца, октябрь 2026; раньше полосы не было,
 * заголовок стоял крупно под крестиком): полоса 80px (до 720px — 53px) с линией снизу, слева «Ваша
 * корзина» и счётчик, справа простой крестик 24px (16px) в кнопке 40px на том же месте, что у фильтров.
 * Полоса — сам заголовок WooCommerce (он вне прокручиваемого списка), крестик стоит поверх неё.
 * Было у WooCommerce: чёрный квадрат 54px.
 */
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents > :not(.wc-block-components-drawer__close-wrapper) {
	flex: 1;
	min-height: 0;
	height: auto;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	height: var(--wp--custom--drawer-bar-height);
	padding: 0 calc(var(--wp--preset--spacing--7) - 8px); /* значок в 48px от края, как у других шторок */
}

.wc-block-mini-cart__drawer .wc-block-components-button.wc-block-components-drawer__close {
	position: static !important;
	inset: auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	min-width: 0;
	height: 40px;
	min-height: 0;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: var(--wp--preset--color--ink) !important;
	opacity: 1;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close svg {
	display: none !important;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close::before {
	content: "";
	width: 24px;
	height: 24px;
	background: currentColor;
	-webkit-mask: url(../icons/close.svg) center / contain no-repeat;
	mask: url(../icons/close.svg) center / contain no-repeat;
}

/* Заголовок — полоса во всю ширину шторки; заголовок и счётчик по одной базовой линии, ряд — по центру
   полосы. Поля WooCommerce (16px по бокам, −32px снизу) сняты. Товары — в 32px (24px) под линией. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	display: grid;
	grid-auto-flow: column;
	justify-content: start;
	align-content: center;
	align-items: baseline;
	column-gap: var(--wp--preset--spacing--3);
	box-sizing: border-box;
	height: var(--wp--custom--drawer-bar-height);
	margin: 0;
	padding: 0 64px 0 var(--wp--preset--spacing--5); /* справа — не заходить под крестик */
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
	font-size: var(--wp--preset--font-size--title-sm); /* у WooCommerce 2em и его правило загружается позже */
	line-height: 32.4px;
	mask-image: none; /* у WooCommerce низ заголовка затухает маской — пропадала линия */
}

/* Пустой блок уведомлений над заголовком давал полосе 16px сверху; есть уведомление — поле возвращается */
.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block > .wc-block-components-notices {
	margin: 0;
}

.wc-block-mini-cart__drawer .wp-block-woocommerce-filled-mini-cart-contents-block > .wc-block-components-notices:has(> *) {
	margin: var(--wp--preset--spacing--4);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
	padding-top: var(--wp--preset--spacing--6);
}

@media (max-width: 1024px) {
	/* Как «Фильтры» в шторке фильтров: 21px до 1024px (общее правило делает <h2> 27px с !important) */
	.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
		font-size: 21px !important;
		line-height: 25.2px !important;
	}
}

@media (max-width: 720px) {
	.wc-block-mini-cart__drawer .wc-block-components-drawer__close-wrapper {
		height: var(--wp--custom--mobile-menu-bar-height);
		padding: 0 var(--wp--preset--spacing--2);
	}

	.wc-block-mini-cart__drawer .wc-block-components-drawer__close::before {
		width: 16px;
		height: 16px;
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
		height: var(--wp--custom--mobile-menu-bar-height);
	}

	.wc-block-mini-cart__drawer .wc-block-mini-cart__items {
		padding-top: var(--wp--preset--spacing--5);
	}
}

/* Подтверждение заказа */
/* От шапки до «Заказ принят» 48px, а не 32px, как на других страницах магазина (решение владельца, октябрь 2026) */
.fc-order.fc-shop-page {
	padding-top: var(--wp--preset--spacing--7);
}

.fc-order-status {
	margin-bottom: var(--wp--preset--spacing--6) !important;
	text-align: center;
}

.fc-order-status h1,
.fc-order-status .wc-block-order-confirmation-status__title {
	margin: 0 0 var(--wp--preset--spacing--3);
	font-size: var(--wp--preset--font-size--display);
	line-height: 56.4px;
}

.fc-order-status p {
	margin: 0;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--ui);
	line-height: 25.6px;
}

.fc-order .wp-block-heading,
.fc-order h2,
.fc-order h3 {
	font-size: var(--wp--preset--font-size--title-sm);
	line-height: 32.4px;
}

.fc-order > * + * {
	margin-top: var(--wp--preset--spacing--6) !important;
}

/* Вывод способа оплаты (например, реквизиты банковского перевода) — под «Благодарим вас».
   Инструкцию «Оплата при получении» убирает inc/order-confirmation.php */
.fc-order-status:has(+ .wc-block-order-confirmation-additional-information) {
	margin-bottom: 0 !important;
}

.fc-order > .fc-order-status + .wc-block-order-confirmation-additional-information {
	margin-top: var(--wp--preset--spacing--1) !important;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--ui);
	line-height: 25.6px;
	text-align: center;
}

.wc-block-order-confirmation-additional-information p {
	margin: 0;
}

.fc-order table {
	width: 100%;
	border-collapse: collapse;
	background: var(--wp--preset--color--surface-raised);
	font-size: var(--wp--preset--font-size--body-sm);
}

.fc-order th,
.fc-order td {
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4) !important;
	border: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--line) !important;
}

/* Разделы заказа (inc/order-confirmation.php): колонка 960px; от 1025px «Информация о заказе»
   и «Контактная информация» — рядом, товары — во всю ширину под ними. Между разделами 48px */
.fc-order > .fc-order-details {
	max-width: 960px;
	margin-top: var(--wp--preset--spacing--7) !important;
}

.fc-order-details {
	display: grid;
	gap: var(--wp--preset--spacing--7);
}

@media (min-width: 1025px) {
	.fc-order-details {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--wp--preset--spacing--8);
		align-items: start;
	}

	.fc-order-details > .is-wide {
		grid-column: 1 / -1;
	}

	.fc-order-details > :not(.is-wide) .fc-order-fact {
		grid-template-columns: 136px minmax(0, 1fr);
	}
}

.fc-order-section__title {
	margin: 0 0 var(--wp--preset--spacing--4);
}

/* Строки «название — значение», как характеристики товара */
.fc-order-facts {
	margin: 0;
	border-top: 1px solid var(--wp--preset--color--line);
}

.fc-order-fact {
	display: grid;
	grid-template-columns: 200px minmax(0, 1fr);
	gap: var(--wp--preset--spacing--4);
	align-items: baseline;
	padding: var(--wp--preset--spacing--3) 0;
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
}

.fc-order-fact dt {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

/* Значение — 14px, как название слева (было 16 — крупно; решение владельца, октябрь 2026) */
.fc-order-fact dd {
	margin: 0;
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	overflow-wrap: anywhere;
}

/* Товары: фото в рамке, как в карточке каталога, название, описание, количество; сумма справа */
.fc-order-items {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--wp--preset--color--line);
}

.fc-order-item {
	display: grid;
	grid-template-columns: 88px minmax(0, 1fr) auto;
	gap: var(--wp--preset--spacing--4);
	align-items: start;
	padding: var(--wp--preset--spacing--4) 0;
	border-bottom: 1px solid var(--wp--preset--color--line-subtle);
}

.fc-order-item__media {
	display: block;
	box-sizing: border-box;
	width: 88px;
	aspect-ratio: 1;
	padding: var(--wp--preset--spacing--2);
	border: 1px solid var(--wp--preset--color--line-subtle);
	background: var(--wp--preset--color--surface-raised);
}

.fc-order-details .fc-order-item__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.fc-order-item__name {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--product-name);
	line-height: 21px;
	text-decoration: none;
}

a.fc-order-item__name:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.fc-order-item__desc,
.fc-order-item__meta {
	margin: var(--wp--preset--spacing--1) 0 0;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18.2px;
}

/* Характеристики — каждая своей строкой «Размер: 55»: в одну строку через «·» на телефоне
   перенос начинался с точки */
.fc-order-item__meta {
	padding: 0;
	list-style: none;
	color: var(--wp--preset--color--ink);
}

.fc-order-item__meta li {
	margin: 0;
}

.fc-order-item__attr-name {
	color: var(--wp--preset--color--ink-muted);
}

.fc-order-item__qty {
	margin: var(--wp--preset--spacing--2) 0 0;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18.2px;
}

.fc-order-item__price {
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--ui);
	line-height: 21px;
	text-align: right;
	white-space: nowrap;
}

/* Итоги под товарами; «Итого» крупнее и за линией */
.fc-order-totals {
	margin: 0;
	padding-top: var(--wp--preset--spacing--3);
}

.fc-order-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: var(--wp--preset--spacing--4);
	padding: var(--wp--preset--spacing--1) 0;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.fc-order-total dd {
	margin: 0;
	color: var(--wp--preset--color--ink);
	text-align: right;
}

.fc-order-total.is-grand {
	margin-top: var(--wp--preset--spacing--3);
	padding-top: var(--wp--preset--spacing--4);
	border-top: 1px solid var(--wp--preset--color--line);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--lead);
	line-height: 25.2px;
}

.fc-order-total small {
	display: block;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18.2px;
}

/* «– Курьер» после стоимости доставки: способ уже назван в «Информации о заказе» */
.fc-order-total .shipped_via {
	display: none;
}

@media (max-width: 720px) {
	.fc-order-fact {
		grid-template-columns: 112px minmax(0, 1fr);
	}

	/* Сумма строки — под количеством, а не третьей колонкой: на узком экране она теснит название */
	.fc-order-item {
		grid-template-columns: 72px minmax(0, 1fr);
		row-gap: var(--wp--preset--spacing--2);
	}

	.fc-order-item__media {
		grid-row: span 2;
		width: 72px;
	}

	.fc-order-item__price {
		grid-column: 2;
		text-align: left;
	}
}

/* «Мой аккаунт» */
.woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.woocommerce-MyAccount-navigation li {
	padding: var(--wp--preset--spacing--2) 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--body-sm);
}

.woocommerce-MyAccount-navigation a {
	color: var(--wp--preset--color--ink-muted);
	text-decoration: none;
}

.woocommerce-MyAccount-navigation .is-active a {
	color: var(--wp--preset--color--ink);
}

/*
 * Только сам аккаунт внутри контента страницы: класс .woocommerce есть и у блока уведомлений,
 * и без этого ограничения он тоже становился flex-рядом и прилипал к левому краю.
 * Ширина как у остальных страниц — wideSize 1200px (WooCommerce для блочных тем ограничивает 1000px).
 */
.woocommerce-account.logged-in .wp-block-post-content > .woocommerce {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--1);
	max-width: none;
}

/* Клирфикс WooCommerce во flex-ряду становится пустыми колонками и сдвигает панели на зазор от краёв */
.woocommerce-account.logged-in .wp-block-post-content > .woocommerce::before,
.woocommerce-account.logged-in .wp-block-post-content > .woocommerce::after {
	display: none;
}

/* Уведомления аккаунта — над панелями во всю ширину контента */
.woocommerce-account main .wc-block-store-notices {
	max-width: var(--wp--style--global--wide-size);
}

.woocommerce-account:not(.logged-in) .wp-block-post-content > .woocommerce {
	max-width: 480px;
	margin-inline: auto;
}

.woocommerce-account:not(.logged-in) .u-columns {
	grid-template-columns: minmax(0, 1fr);
}

.woocommerce form.login .button,
.woocommerce form.register .button,
.woocommerce form.lost_reset_password .button {
	width: 100%;
	margin-top: var(--wp--preset--spacing--3);
}

/* «Забыли пароль» и «Новый пароль» — как форма входа: у WooCommerce поля на половину ширины
   (form-row-first / form-row-last), здесь — по одному на строку во всю ширину формы */
.woocommerce form.lost_reset_password .form-row-first,
.woocommerce form.lost_reset_password .form-row-last {
	float: none;
	width: auto;
}

.woocommerce form.lost_reset_password > p:first-of-type:not(.form-row) {
	margin-top: 0;
}

/* «Вернуться ко входу» (inc/woocommerce.php) — стоит после формы, но выглядит как «Забыли свой пароль?»
   внутри формы входа: в 24px от края формы и в 21px под кнопкой */
.woocommerce .fc-back-to-login {
	margin: -14px 0 0;
	padding: 0 var(--wp--preset--spacing--5);
}

.woocommerce form .form-row label {
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.woocommerce form .form-row .input-text {
	min-height: var(--wp--custom--control-height-lg);
	padding: 0 var(--wp--preset--spacing--4);
}

/* Плейсхолдеры — ink-muted, а не системный серый браузера */
.woocommerce form .input-text::placeholder,
.woocommerce form textarea::placeholder,
.wc-block-components-text-input input::placeholder,
.wc-block-components-textarea::placeholder {
	color: var(--wp--preset--color--ink-muted);
	opacity: 1;
}

/*
 * Подсказки к полям — второстепенный текст: 13px, как текст в поле, цвет ink-muted, как у плейсхолдеров, без курсива.
 * «Отображаемое имя» в анкете, описания полей оформления заказа, подсказка к паролю.
 */
.woocommerce form .form-row [id$="_description"],
.woocommerce form .form-row .description,
.woocommerce-password-hint {
	display: block;
	margin-top: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18.2px;
	letter-spacing: .4px;
}

.woocommerce form .form-row [id$="_description"] em,
.woocommerce form .form-row .description em {
	font-style: normal;
}

.woocommerce .required {
	color: var(--wp--preset--color--alert);
	text-decoration: none;
}

.woocommerce-account .woocommerce > * {
	float: none !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	flex: 0 0 260px;
}

.woocommerce-account .woocommerce-MyAccount-content {
	flex: 1 1 400px;
}

/* «Заказы»: таблица без рамки и скруглений, строки разделены линией line, как меню аккаунта */
.woocommerce-account table.shop_table.woocommerce-orders-table {
	width: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-orders-table td {
	padding: var(--wp--preset--spacing--3);
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
	vertical-align: middle;
}

.woocommerce-account table.woocommerce-orders-table th {
	font-weight: 600;
}

/* На телефоне WooCommerce перестраивает строки в карточку «подпись — значение»: без боковых отступов, по краям панели */
@media (max-width: 768px) {
	.woocommerce-account table.woocommerce-orders-table td {
		padding-right: 0;
		padding-left: 0;
	}
}

.woocommerce-account table.woocommerce-orders-table :is(th, td):first-child {
	padding-left: 0;
}

.woocommerce-account table.woocommerce-orders-table :is(th, td):last-child {
	padding-right: 0;
	text-align: right;
}

/* Сумма в строке «89 900 ₸ за 1 товар» — тем же шрифтом, что и текст рядом */
.woocommerce-account table.woocommerce-orders-table .woocommerce-Price-amount {
	font: inherit;
	letter-spacing: inherit;
}

/* «Посмотреть» — вторичная кнопка 40px: белая с рамкой, текст по центру */
.woocommerce-account table.woocommerce-orders-table .woocommerce-button.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: var(--wp--custom--control-height);
	margin: 0;
	padding: var(--wp--preset--spacing--1) var(--wp--custom--space-btn-x);
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	white-space: nowrap;
}

.woocommerce-account table.woocommerce-orders-table .woocommerce-button.button:hover {
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
}

.woocommerce-account .woocommerce-MyAccount-content > .wc-block-components-notice-banner {
	margin: 0 0 var(--wp--preset--spacing--5);
}

/* «Адреса»: две равные колонки; в каждой строка «заголовок — Изменить» над линией, ниже адрес */
.woocommerce-account .woocommerce-MyAccount-content > p:has(+ .woocommerce-Addresses) {
	margin: 0 0 var(--wp--preset--spacing--6);
}

/* Колонки встают друг под друга сами, когда становятся уже 260px */
.woocommerce-account .woocommerce-Addresses.addresses {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: var(--wp--preset--spacing--6) var(--wp--preset--spacing--7);
	margin: 0;
}

/* Клирфикс WooCommerce занимал первую ячейку сетки и сдвигал адреса */
.woocommerce-account .woocommerce-Addresses.addresses::before,
.woocommerce-account .woocommerce-Addresses.addresses::after {
	display: none;
}

.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
}

.woocommerce-account .woocommerce-Address-title {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--4);
	margin: 0 0 var(--wp--preset--spacing--4);
	padding-bottom: var(--wp--preset--spacing--3);
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.woocommerce-account .addresses .woocommerce-Address-title.title::before,
.woocommerce-account .addresses .woocommerce-Address-title.title::after {
	display: none;
}

.woocommerce-account .woocommerce-Address-title h2 {
	float: none;
	margin: 0;
	font-size: var(--wp--preset--font-size--lead);
	line-height: 25.2px;
}

.woocommerce-account .woocommerce-Address-title .edit {
	float: none;
	flex: none;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	letter-spacing: .4px;
	color: var(--wp--preset--color--ink);
	text-decoration: underline;
	text-underline-offset: 4px;
	text-decoration-thickness: 1px;
}

.woocommerce-account .woocommerce-Address-title .edit:hover {
	text-decoration-thickness: 2px;
}

.woocommerce-account .woocommerce-Address address {
	margin: 0;
	font-style: normal;
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 22.4px;
	color: var(--wp--preset--color--ink-secondary);
}

.woocommerce form.login,
.woocommerce form.register,
.woocommerce form.lost_reset_password {
	margin: 0;
	padding: var(--wp--preset--spacing--5);
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--surface-raised);
}

.woocommerce-account .u-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: var(--wp--preset--spacing--1);
	width: 100%;
}

.woocommerce-account .u-columns > .u-column1,
.woocommerce-account .u-columns > .u-column2 {
	width: auto;
	float: none;
}

.woocommerce-account h2 {
	font-size: var(--wp--preset--font-size--title-sm);
	line-height: 32.4px;
}

/* ---------------------------------------------------------------- Страницы, записи, поиск, 404 */

.fc-prose {
	padding-bottom: var(--wp--preset--spacing--8);
}

.fc-prose > h2 {
	margin-top: var(--wp--preset--spacing--7);
	font-size: var(--wp--preset--font-size--title);
	line-height: 36px;
}

.fc-prose > h3 {
	margin-top: var(--wp--preset--spacing--6);
	font-size: var(--wp--preset--font-size--title-sm);
	line-height: 32.4px;
}

/* Карточки магазинов на странице «Контакты»: три в ряд, рамка line-subtle без фона, как у карточки
   товара. Строки карточек — общая сетка (subgrid): название, адрес, телефон и WhatsApp у соседних
   карточек стоят на одной линии, даже если адрес в одной из них переносится на строку больше */
.fc-contact-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 var(--wp--preset--spacing--4);
	margin-top: var(--wp--preset--spacing--7);
}

.fc-contact-cards > .fc-contact-card {
	display: grid;
	grid-row: span 4;
	grid-template-rows: subgrid;
	row-gap: var(--wp--preset--spacing--2);
	align-content: start;
	margin: 0;
	padding: var(--wp--preset--spacing--5);
	border: 1px solid var(--wp--preset--color--line-subtle);
}

.fc-contact-card > * {
	margin: 0;
}

.fc-contact-card h2 {
	font-size: var(--wp--preset--font-size--lead) !important;
	line-height: 27.3px !important;
}

.fc-contact-card .fc-contact-card-address { /* сильнее :lang(ru) p с hyphens: auto */
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	hyphens: manual; /* в узкой карточке «Сат-паева» читалось хуже, чем перенос целым словом */
}

.fc-contact-card-phone {
	padding-top: var(--wp--preset--spacing--3);
	white-space: nowrap;
}

/* Строка ключевых цифр на странице «О бренде»: крупное число Spectral и подпись под ним, три в ряд;
   без рамок и фона — секции отделяют отступы */
.fc-brand-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--5);
	margin-block: var(--wp--preset--spacing--7);
}

.fc-brand-facts > .fc-brand-fact {
	margin: 0;
}

.fc-brand-fact > * {
	margin: 0;
}

.fc-brand-fact-number {
	font-family: var(--wp--preset--font-family--serif);
	font-weight: 300;
	font-size: var(--wp--preset--font-size--display);
	line-height: 56.4px;
}

.fc-brand-fact .fc-brand-fact-caption { /* сильнее :lang(ru) p с hyphens: auto */
	margin-top: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	hyphens: manual;
}

@media (max-width: 720px) {
	.fc-brand-facts {
		grid-template-columns: minmax(0, 1fr);
	}

	.fc-brand-fact-number {
		font-size: var(--wp--preset--font-size--display-hero-m);
		line-height: 43.2px;
	}
}

/* Instagram — отдельным блоком под карточками, а не во вступлении: подпись-надстрочник и ссылка */
.fc-contacts-social {
	margin-top: var(--wp--preset--spacing--7);
}

.fc-contacts-social > * {
	margin: 0;
}

.fc-contacts-social > .is-style-overline {
	margin-bottom: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink-muted);
}

@media (max-width: 720px) {
	.fc-contact-cards {
		grid-template-columns: minmax(0, 1fr);
		row-gap: var(--wp--preset--spacing--3);
	}
}

.wp-block-table table {
	border-collapse: collapse;
	font-size: var(--wp--preset--font-size--body-sm);
	background: var(--wp--preset--color--surface-raised);
}

.wp-block-table th,
.wp-block-table td {
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4);
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	text-align: left;
}

.wp-block-table thead {
	border-bottom: 0;
}

.wp-block-table th {
	font-weight: 600;
}

.wp-block-post-featured-image {
	margin-bottom: var(--wp--preset--spacing--7);
}

.fc-post-nav {
	margin-top: var(--wp--preset--spacing--7);
	padding-top: var(--wp--preset--spacing--5);
	padding-bottom: var(--wp--preset--spacing--8); /* до следующего блока (серая полоса статей) */
	border-top: 1px solid var(--wp--preset--color--line);
	font-size: var(--wp--preset--font-size--body-sm);
}

.fc-post-nav a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

/* Подчёркнуто только название статьи; подпись «Предыдущая / Следующая запись» — без линии */
.fc-post-nav .post-navigation-link__title {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

/* Линия при наведении не толстеет — вместо этого стрелка сдвигается в свою сторону на 4px */
.fc-post-nav a:hover .post-navigation-link__title {
	text-decoration-thickness: 1px;
}

.fc-post-nav .post-navigation-link-previous .post-navigation-link__title::before,
.fc-post-nav .post-navigation-link-next .post-navigation-link__title::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	vertical-align: -3px;
	background: currentColor;
	-webkit-mask: var(--fc-icon) center / contain no-repeat;
	mask: var(--fc-icon) center / contain no-repeat;
	transition: transform .2s cubic-bezier(.22, .61, .36, 1);
}

.fc-post-nav .post-navigation-link-previous .post-navigation-link__title::before {
	--fc-icon: url(../icons/arrow-left.svg);
	margin-right: var(--wp--preset--spacing--2);
}

.fc-post-nav .post-navigation-link-next .post-navigation-link__title::after {
	--fc-icon: url(../icons/arrow-right.svg);
	margin-left: var(--wp--preset--spacing--2);
}

@media (hover: hover) {
	.fc-post-nav .post-navigation-link-previous a:hover .post-navigation-link__title::before {
		transform: translateX(-4px);
	}

	.fc-post-nav .post-navigation-link-next a:hover .post-navigation-link__title::after {
		transform: translateX(4px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.fc-post-nav .post-navigation-link__title::before,
	.fc-post-nav .post-navigation-link__title::after {
		transition: none;
	}
}

.fc-post-nav .post-navigation-link__label {
	display: block;
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
}

.fc-404 {
	padding-top: var(--wp--preset--spacing--9);
	padding-bottom: var(--wp--preset--spacing--9);
}

.fc-404 > * + * {
	margin-top: var(--wp--preset--spacing--5) !important;
}

/* Поиск на странице результатов и 404 */
.fc-search-page .wp-block-search__inside-wrapper {
	gap: 0;
	padding: 0;
	border: 0;
}

.fc-search-page .wp-block-search__input {
	min-height: var(--wp--custom--control-height-lg);
	padding: 0 var(--wp--preset--spacing--4);
}

.fc-search-page .wp-block-search__button {
	min-width: 0;
	min-height: var(--wp--custom--control-height-lg);
	margin: 0;
	padding: 0 var(--wp--preset--spacing--5);
	font-size: var(--wp--preset--font-size--body-sm);
	font-weight: 600;
}

/* Комментарии */
.fc-comments {
	margin-top: var(--wp--preset--spacing--7);
	font-size: var(--wp--preset--font-size--body-sm);
}

.fc-comment {
	padding: var(--wp--preset--spacing--4) 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
}

.fc-comment > * {
	margin: 0 0 var(--wp--preset--spacing--2);
}

.wp-block-comment-date,
.wp-block-comment-date a {
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
}

/* ---------------------------------------------------------------- ≥1025px: боковые поля 24px */

@media (min-width: 1025px) {
	body {
		--wp--style--root--padding-left: var(--wp--preset--spacing--5);
		--wp--style--root--padding-right: var(--wp--preset--spacing--5);
	}
}

/* ---------------------------------------------------------------- ≤1024px — мобильная шкала */

@media (max-width: 1024px) {
	/* Карточки товара: зазор 8px, поля фото 12px */
	:root {
		--fc-card-gap: var(--wp--preset--spacing--2);
		--fc-card-pad: var(--wp--preset--spacing--3);
	}

	.fc-pcard-body {
		padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--2) var(--wp--preset--spacing--4);
	}

	h1, h2,
	.has-display-font-size {
		font-size: 27px !important;
		line-height: 32.4px !important;
	}

	/* Заголовок страницы (h1: категория, «Контакты», статья, корзина…) — на ступень крупнее заголовков
	   разделов: при 27px выглядел мелковато (решение владельца, октябрь 2026). Слайд главной и название
	   товара задают свой размер ниже */
	h1 {
		font-size: 32px !important;
		line-height: 38.4px !important;
	}

	.wp-block-cover.is-style-hero :is(h1, h2) {
		font-size: var(--wp--preset--font-size--display-hero-m) !important;
		line-height: 43.2px !important;
	}

	h3,
	.has-title-font-size,
	.has-title-sm-font-size,
	.wp-block-media-text.is-style-editorial h2,
	.fc-article .wp-block-post-title {
		font-size: 21px !important;
		line-height: 25.2px !important;
	}

	/* Название товара в «Деталях заказа» — тоже <h3>, но не заголовок: как на компьютере, шрифтом и размером
	   строк сводки, а не 21px шрифтом заголовков (решение владельца, октябрь 2026) */
	.wc-block-components-order-summary-item .wc-block-components-product-name {
		font-family: inherit;
		font-size: inherit !important;
		line-height: inherit !important;
	}

	/* Оформление заказа: разделы («Детали заказа», «Контактная информация», «Платёжный адрес»…) — 21px,
	   на ступень меньше заголовка страницы (32px, было 27px), иначе не читалась иерархия (решение владельца, октябрь 2026) */
	.wc-block-components-checkout-step__title,
	.wc-block-components-checkout-order-summary__title .wc-block-components-checkout-order-summary__title-text,
	.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
		font-size: 21px !important;
		line-height: 25.2px !important;
	}

	/* Подписи разделов шторки фильтров («ЦЕНА», «НАЛИЧИЕ») — тоже <h3>: остаются мелкими заглавными 13px,
	   как на компьютере, а не 21px (решение владельца, октябрь 2026) */
	.wp-block-heading.is-style-overline {
		font-size: var(--wp--preset--font-size--utility) !important;
		line-height: 15.6px !important;
	}

	.fc-pcard-name,
	.wc-block-product .wp-block-post-title {
		font-size: var(--wp--preset--font-size--product-name) !important;
		line-height: 21px !important;
	}

	.fc-buy-name {
		font-size: 27px !important;
		line-height: 32.4px !important;
	}

	/*
	 * Шапка: вверху страницы — полоса во всю ширину, при прокрутке — парящая плашка, как на компьютере
	 * (решение владельца, октябрь 2026: в Safari на iOS 26 страница видна над шапкой, под строкой
	 * статуса, и полоса во всю ширину выглядела повисшей посреди экрана). Кнопка меню, знак, поиск и корзина.
	 */
	:root {
		--fc-header-offset: var(--wp--custom--header-offset-mobile);
		--fc-header-height: var(--wp--custom--header-height-mobile);
		--fc-header-radius: var(--wp--custom--header-radius-mobile);
		--fc-header-pad: 0;
	}

	/* Плашка — в 8px от краёв экрана, как и сверху: поле страницы 16px минус отступ шапки. Значки меню
	   и корзины стоят в 20px от краёв, то есть в 12px внутри плашки */
	.fc-header.is-floating::before {
		inset: 0 calc(var(--fc-header-offset) - var(--wp--style--root--padding-left));
	}

	.fc-header {
		grid-template-columns: auto 1fr auto;
		gap: var(--wp--preset--spacing--2);
	}

	/*
	 * Кнопка меню — только иконка 20px в квадрате 44px, как поиск и корзина (было 16px в 32px —
	 * владелец попросил крупнее). Крайние кнопки выступают на 8px за поле шапки, так что
	 * сами значки стоят в 20px от краёв экрана, в 12px внутри плашки (было 16px и 8px — счётчик
	 * корзины упирался в край плашки; владелец попросил больше воздуха, октябрь 2026).
	 */
	.fc-nav-mobile .wp-block-navigation__responsive-container-open {
		justify-content: center;
		width: 44px;
		height: 44px;
		margin-left: -8px;
	}

	.fc-nav-mobile .wp-block-navigation__responsive-container-open::before {
		width: 20px;
		height: 20px;
	}

	.fc-nav-mobile .wp-block-navigation__responsive-container-open::after {
		display: none;
	}

	.fc-wordmark {
		justify-self: start;
		min-width: 0;
		max-width: 100%;
		margin: 0 !important;
		padding: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: min(24px, 4.6vw);
		line-height: 30px;
	}

	.fc-header-icons {
		gap: 0;
		--fc-header-icon: 20px;
	}

	.fc-search .wp-block-search__button,
	.fc-cart .wc-block-mini-cart__button {
		width: 44px;
		height: 44px;
	}

	/* Выступ вправо — на самой кнопке: детям .fc-header поля обнуляет правило с !important */
	.fc-cart .wc-block-mini-cart__button {
		margin-right: -8px;
	}

	/* Счётчик — в 6px от края плашки (раньше кружок заходил за край плашки на 1px, а двузначный — дальше) */
	.fc-cart .wc-block-mini-cart__badge {
		top: -6px;
		bottom: auto;
	}

	.fc-search:not(.wp-block-search__searchfield-hidden) {
		position: absolute;
		right: 0;
		left: auto;
		top: 100%;
		width: calc(100vw - 2 * var(--wp--preset--spacing--3));
		max-width: 480px;
		padding: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
		background: var(--wp--preset--color--surface-raised);
		box-shadow: var(--wp--preset--shadow--sticky);
	}

	.fc-header-back a {
		font-size: 0;
	}

	.fc-header-back {
		--fc-icon-size: 16px;
	}

	/* Только стрелка 16px — область нажатия 44px вокруг неё, под палец */
	.fc-header-back a::after {
		inset: -14px;
	}

	/* Hero: отступы 16px, кнопки в столбец на всю ширину */
	.wp-block-cover.is-style-hero {
		padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--4);
	}

	.fc-hero-controls {
		right: var(--wp--preset--spacing--4);
		bottom: var(--wp--preset--spacing--6);
	}

	.wp-block-buttons.is-style-stack-mobile {
		flex-direction: column;
		align-items: stretch;
	}

	.wp-block-buttons.is-style-stack-mobile .wp-block-button,
	.wp-block-buttons.is-style-stack-mobile .wp-block-button__link {
		width: 100%;
	}

	.fc-cat-label {
		font-size: var(--wp--preset--font-size--utility);
		line-height: 15.6px;
	}

	.fc-cat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.fc-product-grid.wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* Одна колонка: фото и блок покупки под ним — не шире 600px, по центру (на планшете фото было во весь экран) */
	.fc-product {
		grid-template-columns: minmax(0, 600px);
		justify-content: center;
	}

	.fc-buy-col,
	.fc-product > .fc-gallery {
		position: static;
	}

	.fc-article-grid {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	/*
	 * «Всё о бренде» на главной и под статьёй — карусель, как подборки товаров (ProductRail): ряд листается
	 * свайпом с прилипанием к карточке, следующая выглядывает из-за края (решение владельца, октябрь 2026;
	 * было столбиком). Стрелок нет — на десктопе статей три и они стоят сеткой. Журнал (/zhurnal/) — столбиком.
	 */
	/* position: relative — иначе скрытые подписи ссылок «Подробнее» (position: absolute) отсчитываются от
	   секции, а не от ленты, не обрезаются ею и растягивают страницу вбок */
	.fc-article-rail {
		position: relative;
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scroll-behavior: smooth;
		scrollbar-width: none;
	}

	.fc-article-rail::-webkit-scrollbar {
		display: none;
	}

	.fc-article-rail > li {
		flex: 0 0 calc((100% - var(--wp--preset--spacing--5)) * .45);
		scroll-snap-align: start;
	}

	.fc-section,
	.fc-stitle,
	.fc-page-head {
		padding-top: var(--wp--preset--spacing--7);
		padding-bottom: var(--wp--preset--spacing--7);
	}

	.fc-stitle {
		padding-bottom: var(--wp--preset--spacing--5);
	}
}

@media (max-width: 720px) {
	/* Hero на телефоне ниже, чем на десктопе (820px), — иначе занимает весь экран; !important перебивает min-height в разметке */
	.wp-block-cover.is-style-hero {
		min-height: 560px !important;
	}

	/*
	 * Слайдер на телефоне: полоски по центру под кнопками слайда, пауза — в правом верхнем углу
	 * под шапкой: квадрат паузы внизу перетягивал внимание с кнопок слайда (решение владельца,
	 * октябрь 2026). Стрелок нет — листают свайпом. Обёртка управления не рисуется, полоски
	 * и пауза стоят каждая сама по себе от краёв слайдера.
	 */
	.fc-hero-slider:not(.is-single) .wp-block-cover.is-style-hero {
		padding-bottom: calc(var(--wp--preset--spacing--6) + 40px);
	}

	.fc-hero-controls {
		display: contents;
	}

	.fc-hero-bars {
		position: absolute;
		bottom: var(--wp--preset--spacing--3);
		left: 50%;
		z-index: 2;
		margin-right: 0;
		transform: translateX(-50%);
	}

	.fc-hero-pause {
		position: absolute;
		top: calc(2 * var(--fc-header-offset) + var(--fc-header-height) + var(--wp--preset--spacing--3));
		right: var(--wp--preset--spacing--4);
		z-index: 2;
	}

	.fc-hero-prev,
	.fc-hero-next {
		display: none;
	}

	/* Текст на телефоне во всю ширину — затемнение снизу вверх */
	.wp-block-cover.is-style-hero .wp-block-cover__background {
		background-image: linear-gradient(to top, rgb(0 0 0 / .6) 0%, rgb(0 0 0 / .35) 45%, rgb(0 0 0 / 0) 75%);
	}

	.wp-block-media-text.is-style-editorial.is-stacked-on-mobile {
		grid-template-columns: 100% !important;
	}

	.wp-block-media-text.is-style-editorial .wp-block-media-text__content {
		padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--4);
	}

	.wp-block-media-text.is-style-editorial .wp-block-media-text__media {
		min-height: 300px;
	}

	.wp-block-media-text.is-style-editorial.has-media-on-the-right .wp-block-media-text__media {
		grid-row: 1;
	}

	.wp-block-media-text.is-style-editorial.has-media-on-the-right .wp-block-media-text__content {
		grid-row: 2;
	}

	.fc-rail .is-product-collection-layout-carousel > li {
		flex-basis: 46% !important;
		width: 46% !important;
	}

	.fc-rail .wc-block-next-previous-buttons {
		display: none !important;
	}

	.fc-rail-band {
		padding-left: var(--wp--preset--spacing--4);
		padding-right: var(--wp--preset--spacing--4);
	}

	/* На телефоне статья — 80% ширины, от следующей видно около 50px */
	.fc-article-rail > li {
		flex-basis: 80%;
	}

	.is-style-section-soft .fc-article {
		padding-bottom: var(--wp--preset--spacing--4);
	}

	.is-style-section-soft .fc-article > :not(.fc-article-img) {
		margin-inline: var(--wp--preset--spacing--4) !important;
	}

	.fc-footer-base {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	/* На телефоне сверху вниз: знак SWAROVSKI ASTANA, копирайт с политикой, Instagram
	   (решение владельца, октябрь 2026; было: копирайт, знак, Instagram — как слева направо на компьютере) */
	.fc-footer-mark {
		order: -1;
	}

	.fc-footer-social {
		justify-content: center;
	}

	.fc-catalog-bar {
		flex-direction: column;
		align-items: flex-start !important;
	}

	/* «Фильтры» — по левому краю содержимого, сортировка — по правому (решение владельца, октябрь 2026) */
	.fc-catalog-tools {
		align-self: stretch;
		justify-content: space-between !important;
	}

	.fc-sort-label,
	.fc-catalog .fc-sort select {
		padding-right: 0 !important;
	}
}

/* «Мой аккаунт» на телефоне: меню над содержимым во всю ширину */
@media (max-width: 720px) {
	.woocommerce-account .woocommerce-MyAccount-navigation {
		flex-basis: 100%;
	}
}

/* ---------------------------------------------------------------- Избранное (плагин swastana-wishlist, inc/wishlist.php) */

/*
 * Сердечко — heart.svg (шире прежнего, особенно сверху); товар в избранном — сплошное розовое blush
 * без контура, heart-filled.svg (решение владельца, октябрь 2026: чёрное было тяжёлым). Кнопку
 * показывает скрипт плагина — без JS она скрыта (hidden). Нажатие — короткий «толчок» (is-added).
 */
.fc-wish {
	--fc-wish-icon: 20px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--wp--preset--color--ink);
	cursor: pointer;
}

.fc-wish[hidden] {
	display: none !important;
}

.fc-wish::before {
	content: "";
	width: var(--fc-wish-icon);
	height: var(--fc-wish-icon);
	background: currentColor;
	-webkit-mask: url(../icons/heart.svg) center / contain no-repeat;
	mask: url(../icons/heart.svg) center / contain no-repeat;
}

.fc-wish[aria-pressed="true"]::before {
	background: var(--wp--preset--color--blush);
	-webkit-mask-image: url(../icons/heart-filled.svg);
	mask-image: url(../icons/heart-filled.svg);
}

/*
 * Наведение и фокус с клавиатуры — сердечко чуть крупнее (1.15 за 0,2 с): видно, что его можно нажать.
 * Только у мыши (hover: hover и точный указатель): на сенсорном экране :hover остаётся после касания,
 * и сердечко «залипало» бы увеличенным. Фокус — ещё и общая рамка фокуса темы.
 */
.fc-wish::before {
	transition: transform .2s cubic-bezier(.4, 0, .2, 1);
}

.fc-wish:focus-visible::before {
	transform: scale(1.15);
}

@media (hover: hover) and (pointer: fine) {
	.fc-wish:hover::before {
		transform: scale(1.15);
	}
}

.fc-wish.is-added::before {
	animation: fc-wish-pop .35s cubic-bezier(.4, 0, .2, 1);
}

@keyframes fc-wish-pop {
	50% { transform: scale(1.25); }
}

/* Карточка: правый верхний угол, в поле над фото (поле 24px, до 1024px — 12px) */
.is-style-product-card > .fc-wish-card {
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
	width: 44px;
	height: 44px;
}

/* Страница товара: квадрат 48px в рамке справа от «В корзину» */
.fc-buy-action .fc-wish-buy,
.fc-buy-wish-solo .fc-wish-buy {
	flex: none;
	width: var(--wp--custom--control-height-lg);
	min-height: var(--wp--custom--control-height-lg);
	margin-left: var(--wp--preset--spacing--2);
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--surface-raised);
	transition: border-color .2s ease;
}

.fc-buy-action .fc-wish-buy:hover,
.fc-buy-wish-solo .fc-wish-buy:hover {
	border-color: var(--wp--preset--color--ink);
}

/* Нет кнопки «В корзину» (товар закончился) — сердечко строкой под формой */
.fc-buy-wish-solo {
	margin-top: var(--wp--preset--spacing--4) !important;
}

.fc-buy-wish-solo .fc-wish-buy {
	margin-left: 0;
}

/* Шапка (от 1025px): сердечко между поиском и корзиной, счётчик — как у корзины */
.fc-wish-head .swastana-wishlist-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}

.fc-wish-head .swastana-wishlist-link::before {
	content: "";
	width: var(--fc-header-icon);
	height: var(--fc-header-icon);
	background: currentColor;
	-webkit-mask: url(../icons/heart.svg) center / contain no-repeat;
	mask: url(../icons/heart.svg) center / contain no-repeat;
}

.fc-wish-head .swastana-wishlist-label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.fc-wish-head .swastana-wishlist-count,
.fc-wish-menu .swastana-wishlist-count {
	min-width: 16px;
	height: 16px;
	padding: 0 3px;
	box-sizing: border-box;
	border-radius: var(--wp--custom--radius-pill);
	background: var(--wp--preset--color--noir);
	color: var(--wp--preset--color--on-noir);
	font-size: 10px;
	line-height: 16px;
	font-weight: 600;
	letter-spacing: 0;
	text-align: center;
}

.fc-wish-head .swastana-wishlist-count {
	position: absolute;
	bottom: 4px;
	right: 2px;
}

:is(.fc-wish-head, .fc-wish-menu) .swastana-wishlist-count[hidden] {
	display: none;
}

/*
 * Меню каталога (до 1024px): «Избранное» под «Войти» — тем же текстом 15/16.8 и значком 16px, что
 * соседние строки (стиль абзаца menu-secondary на блок плагина не ложится), число — кружком, как в шапке.
 * От 1025px строки нет — сердечко в шапке.
 */
.fc-wish-menu {
	font-family: var(--wp--preset--font-family--sans);
	font-size: 15px;
	line-height: 16.8px;
	font-weight: 400;
	letter-spacing: .4px;
}

.fc-wish-menu .swastana-wishlist-link {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
}

@media (min-width: 1025px) {
	.fc-mm-account > .fc-wish-menu {
		display: none;
	}
}

@media (max-width: 1024px) {
	.fc-header-icons > .fc-wish-head {
		display: none;
	}

	.is-style-product-card > .fc-wish-card {
		--fc-wish-icon: 18px;
		width: 36px;
		height: 36px;
	}
}

/* Страница «Избранное»: сетка каталога; пусто — как пустая корзина */
.fc-wish-page .wp-block-post-content {
	margin-top: 0;
	margin-bottom: var(--wp--preset--spacing--9);
}

.wp-block-swastana-wishlist.is-busy {
	min-height: 320px;
}

.wp-block-swastana-wishlist .swastana-wishlist-empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	max-width: 480px;
	margin: 0 auto;
	text-align: center;
}

.wp-block-swastana-wishlist .swastana-wishlist-empty[hidden] {
	display: none;
}

.wp-block-swastana-wishlist .swastana-wishlist-empty p {
	margin: 0;
}

.wp-block-swastana-wishlist .swastana-wishlist-empty-title {
	font-size: 16px;
	line-height: 22.4px;
	font-weight: 600;
}

.wp-block-swastana-wishlist .swastana-wishlist-empty-text {
	color: var(--wp--preset--color--ink-secondary);
	font-size: 14px;
	line-height: 19.6px;
}

.wp-block-swastana-wishlist .swastana-wishlist-empty-action {
	margin-top: var(--wp--preset--spacing--4) !important;
}

@media (prefers-reduced-motion: reduce) {
	.fc-wish.is-added::before {
		animation: none;
	}

	/* Без плавного роста: при наведении сердечко сразу чуть крупнее */
	.fc-wish::before {
		transition: none;
	}
}

/* ---------------------------------------------------------------- Скоро в продаже (плагин swastana-restock, inc/restock.php) */

/*
 * «Скоро в продаже» (класс pim-coming-soon) — тихий знак, как «Новинка»: квадрат 8px и слово, только
 * квадрат голубой (sky): товар едет в поставке. На странице товара — 14px ink над кнопкой, в карточках —
 * на месте цены (цены у анонса нет). Решение владельца, 12.11.2026: без даты поставки.
 */
.pim-coming-soon {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink);
}

.pim-coming-soon::before {
	content: "";
	flex: none;
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--sky);
}

.fc-buy-action .stock.pim-coming-soon {
	display: flex;
	margin: 0 0 var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--ink);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

/* Цены у анонса нет — пустая строка цены не занимает места (у варианта её очищает assets/js/variation-price.js);
   розовая черта под названием остаётся */
.fc-buy-price:not(:has(.woocommerce-Price-amount)) .wc-block-components-product-price {
	display: none;
}

.fc-buy-price:not(:has(.woocommerce-Price-amount))::before {
	margin-bottom: 0;
}

/* Вариант-анонс: наличие стоит в блоке варианта, у блока свой нижний отступ — второго не нужно */
.fc-buy-action .woocommerce-variation .stock.pim-coming-soon {
	margin: 0;
}

/* Карточка: на месте цены, 12px с разрядкой, как подпись «Новинка» */
.fc-pcard-soon {
	display: flex;
	justify-content: center;
}

.fc-pcard-soon .pim-coming-soon {
	font-size: 12px;
	line-height: 18px;
	letter-spacing: 1.2px;
}

/* Список выбора цвета: вариант в пути не серый (на него можно подписаться), подпись справа */
.fc-vs-list [role="option"].is-soon .fc-vs-note {
	color: var(--wp--preset--color--ink-muted);
}

/*
 * «Сообщить о поступлении» — та же чёрная кнопка 48px, что «В корзину», справа сердечко.
 * У вариативного товара кнопка стоит в строке «В корзину»: выбран вариант-анонс (класс is-coming-soon
 * у формы ставит скрипт плагина) — видна она, а «В корзину» нет; выбран обычный — наоборот.
 */
.swastana-restock-row {
	display: flex;
}

.fc-buy-action .swastana-restock-button {
	flex: 1;
	width: 100%;
	min-height: var(--wp--custom--control-height-lg);
	margin: 0 !important;
	padding: var(--wp--preset--spacing--1) var(--wp--custom--space-btn-x);
	border: 1px solid var(--wp--preset--color--noir) !important;
	border-radius: 0 !important;
	background: var(--wp--preset--color--noir) !important;
	color: var(--wp--preset--color--on-noir) !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--body-sm) !important;
	line-height: 19.6px;
	font-weight: 600;
	letter-spacing: .4px;
	cursor: pointer;
}

.fc-buy-action .swastana-restock-button:hover {
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
}

.fc-buy-action .swastana-restock-button.is-loading {
	opacity: .6;
	cursor: progress;
}

/* Подписан — белая кнопка с галочкой, как «В корзине», но не нажимается */
.fc-buy-action .swastana-restock-button.is-subscribed {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--2);
	background: var(--wp--preset--color--surface-raised) !important;
	color: var(--wp--preset--color--ink) !important;
	cursor: default;
}

.fc-buy-action .swastana-restock-button.is-subscribed::before {
	content: "";
	width: var(--wp--custom--icon-size);
	height: var(--wp--custom--icon-size);
	background: currentColor;
	-webkit-mask: url(../icons/check.svg) center / contain no-repeat;
	mask: url(../icons/check.svg) center / contain no-repeat;
}

.fc-buy-action .variations_form:not(.is-coming-soon) .swastana-restock-button,
.fc-buy-action .variations_form.is-coming-soon .single_add_to_cart_button {
	display: none !important;
}

/* Поля гостя: почта и согласия над кнопкой, открываются первым нажатием */
.swastana-restock-fields {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--3);
	margin: 0 0 var(--wp--preset--spacing--4);
}

.swastana-restock-fields[hidden],
.swastana-restock-done[hidden],
.swastana-restock-error[hidden] {
	display: none;
}

.swastana-restock-fields p {
	margin: 0;
}

.swastana-restock-lead {
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

.swastana-restock-label {
	margin-bottom: calc(-1 * var(--wp--preset--spacing--2));
	color: var(--wp--preset--color--ink-muted);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18px;
}

/* Поле — как поля оформления заказа; текст 16px, иначе Safari на iPhone увеличивает страницу. Фокус не выделяется */
.swastana-restock-email {
	box-sizing: border-box;
	width: 100%;
	min-height: var(--wp--custom--control-height-lg);
	padding: 0 var(--wp--preset--spacing--4);
	border: 1px solid var(--wp--preset--color--ink-muted);
	border-radius: 0;
	background: var(--wp--preset--color--surface-raised);
	color: var(--wp--preset--color--ink);
	font-family: var(--wp--preset--font-family--sans);
	font-size: 16px;
	box-shadow: none;
}

.swastana-restock-email:focus {
	outline: none;
}

.swastana-restock-check {
	display: flex;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--2);
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18px;
	cursor: pointer;
}

.swastana-restock-check a {
	color: inherit;
	text-underline-offset: 2px;
}

/* Галочка — квадрат 16px с рамкой ink-muted, отмечена — noir с белой галочкой, как в оформлении заказа */
.swastana-restock-check input {
	flex: none;
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	border: 1px solid var(--wp--preset--color--ink-muted);
	border-radius: 0;
	background: var(--wp--preset--color--surface-raised);
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
}

.swastana-restock-check input:checked {
	border-color: var(--wp--preset--color--noir);
	background: var(--wp--preset--color--noir) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='1.6'/%3E%3C/svg%3E") center / 12px no-repeat;
}

.swastana-restock-check input:focus-visible {
	outline: 2px solid var(--wp--preset--color--focus);
	outline-offset: 2px;
}

/* Скрытое поле от ботов */
.swastana-restock-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.swastana-restock-error {
	color: var(--wp--preset--color--alert);
	font-size: var(--wp--preset--font-size--utility);
	line-height: 18px;
}

.swastana-restock-done {
	margin: var(--wp--preset--spacing--3) 0 0;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
}

/* У вариативного поля и «Готово» — в блоке над строкой кнопки; пустой блок не занимает места */
.swastana-restock-variable:not(:has(> :not([hidden]))) {
	display: none;
}

.swastana-restock-variable .swastana-restock-done {
	margin: 0 0 var(--wp--preset--spacing--3);
}

/* Страница «Скоро в продаже»: подводка под заголовком; пусто — как пустое «Избранное» */
.fc-soon-page .fc-cat-head .wp-block-post-title {
	margin-top: var(--wp--preset--spacing--6);
}

.fc-soon-lead {
	max-width: 560px;
	margin: var(--wp--preset--spacing--3) auto 0 !important;
	color: var(--wp--preset--color--ink-secondary);
	font-size: var(--wp--preset--font-size--body-sm);
	line-height: 19.6px;
	hyphens: manual;
}

.fc-soon-grid {
	padding-top: var(--wp--preset--spacing--6);
}

.fc-soon-empty {
	padding-top: var(--wp--preset--spacing--7);
}

.fc-soon-empty p {
	margin: 0;
}

.fc-soon-empty-title {
	font-size: 16px;
	line-height: 22.4px;
	font-weight: 600;
}

.fc-soon-empty-text {
	margin-top: var(--wp--preset--spacing--2) !important;
	color: var(--wp--preset--color--ink-secondary);
	font-size: 14px;
	line-height: 19.6px;
}

.fc-soon-empty .wp-block-buttons {
	margin-top: var(--wp--preset--spacing--5) !important;
}

/* «Смотреть все» под каруселью */
.fc-rail-more {
	margin-top: var(--wp--preset--spacing--6) !important;
}
