/**
 * Defender — стили темы. Только токены theme.json.
 */

/* ——— База ——— */
body {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--sans);
}

a {
	color: var(--wp--preset--color--primary);
}

a:hover {
	color: var(--wp--preset--color--primary-hover);
}

/* ——— Шапка / подвал ——— */
.defender-site-header,
.defender-site-footer {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
}

.defender-header-bar {
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	width: 100%;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: var(--wp--preset--spacing--30);
}

@media (max-width: 900px) {
	.defender-header-bar {
		grid-template-columns: 1fr auto;
	}

	.defender-search {
		grid-column: 1 / -1;
		order: 3;
	}
}

.defender-search {
	display: flex;
	gap: var(--wp--preset--spacing--10);
	width: 100%;
	max-width: 420px;
	justify-self: center;
}

.defender-search input[type="search"] {
	flex: 1;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	padding: var(--wp--preset--spacing--20);
}

.defender-search .defender-btn {
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small);
}

.defender-header-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: var(--wp--preset--spacing--10);
	text-align: right;
}

.defender-header-phone {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	color: var(--wp--preset--color--primary) !important;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.defender-header-hours,
.defender-header-links a {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent-contrast);
	opacity: 0.85;
}

.defender-header-cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent-contrast);
	opacity: 0.85;
	text-decoration: none;
}

.defender-header-cart:hover {
	color: var(--wp--preset--color--primary);
	opacity: 1;
}

.defender-header-cart__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: var(--wp--preset--spacing--30);
	padding: 0 var(--wp--preset--spacing--10);
	border-radius: var(--wp--custom--radius--s);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	line-height: 1.4;
	opacity: 1;
}

.defender-header-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	justify-content: flex-end;
}

.defender-header-links a:hover {
	color: var(--wp--preset--color--primary);
	opacity: 1;
}

.defender-contacts-grid {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--50);
}

@media (min-width: 768px) {
	.defender-contacts-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.defender-contacts-card {
	padding: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
}

.defender-contacts-card__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 var(--wp--preset--spacing--30);
}

.defender-contacts-card p {
	margin: 0 0 var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--medium);
	line-height: 1.5;
}

.defender-contacts-messengers {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.defender-contacts-photos {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--50);
}

@media (min-width: 768px) {
	.defender-contacts-photos {
		grid-template-columns: 1.4fr 0.8fr 1fr;
	}
}

.defender-contacts-photos figure {
	margin: 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--m);
	border: 1px solid var(--wp--preset--color--border);
	background-color: var(--wp--preset--color--surface-alt);
}

.defender-contacts-photos img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 3;
}

.defender-contacts-map {
	margin-bottom: var(--wp--preset--spacing--40);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	overflow: hidden;
	background-color: var(--wp--preset--color--surface-alt);
}

.defender-contacts-map iframe {
	display: block;
	border: 0;
	width: 100%;
	min-height: 420px;
}

.defender-footer-req {
	margin-top: var(--wp--preset--spacing--20);
	opacity: 0.75;
}

/* ——— Main nav + mega catalog (local-LLM draft → Cursor) ——— */
.defender-main-nav {
	position: relative;
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
	border-top: 1px solid var(--wp--preset--color--border);
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	box-sizing: border-box;
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: var(--wp--preset--spacing--20);
}

.defender-main-nav__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
	width: 100%;
}

.defender-main-nav__item {
	position: static;
}

.defender-main-nav__item--catalog {
	/* static: mega позиционируется от .defender-main-nav, не от узкой ссылки */
	position: static;
}

.defender-main-nav__link {
	display: block;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--accent-contrast);
	text-decoration: none;
	border-radius: var(--wp--custom--radius--s);
}

.defender-main-nav__link:hover,
.defender-main-nav__link:focus {
	color: var(--wp--preset--color--primary);
}

.defender-mega {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	/* Чуть заходим на навбар — нет «мёртвой» щели до панели */
	top: calc(100% - var(--wp--preset--spacing--10));
	z-index: 40;
	width: 100%;
	max-width: 1120px;
	margin: 0;
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--l);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--20);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--10);
	align-content: start;
	box-sizing: border-box;
}

/* wpautop иногда вставляет <br> между ссылками — ломает grid */
.defender-mega > br {
	display: none;
}

/* Невидимый мост вверх: курсор не теряет панель по дороге от «Каталог» */
.defender-mega::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 100%;
	height: var(--wp--preset--spacing--40);
}

/* Desktop: hover + is-open (JS с задержкой закрытия) */
@media (min-width: 768px) {
	.defender-mega {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.defender-main-nav__item--catalog:hover .defender-mega,
	.defender-main-nav__item--catalog:focus-within .defender-mega,
	.defender-main-nav__item--catalog.is-open .defender-mega {
		display: grid;
	}
}

@media (min-width: 1000px) {
	.defender-mega {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.defender-mega__item {
	display: flex;
	gap: var(--wp--preset--spacing--10);
	align-items: center;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	text-decoration: none;
	background-color: var(--wp--preset--color--surface);
	min-width: 0;
}

.defender-mega__item:hover {
	background-color: var(--wp--preset--color--surface-alt);
	border-color: var(--wp--preset--color--primary);
}

.defender-mega__photo {
	flex: 0 0 auto;
	width: var(--wp--preset--spacing--40);
	height: var(--wp--preset--spacing--40);
	object-fit: cover;
	border-radius: var(--wp--custom--radius--s);
	background-color: var(--wp--preset--color--surface-alt);
	display: block;
}

.defender-mega__photo--empty {
	display: block;
}

.defender-mega__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
}

.defender-mega__name {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--text);
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.25;
}

.defender-mega__blurb {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	line-height: 1.25;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.defender-mega__item--all {
	grid-column: 1 / -1;
	border-style: dashed;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	justify-content: center;
}

.defender-nav-toggle {
	display: none;
	background-color: transparent;
	border: 1px solid var(--wp--preset--color--accent-contrast);
	color: var(--wp--preset--color--accent-contrast);
	border-radius: var(--wp--custom--radius--s);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
	cursor: pointer;
}

.defender-footer-grid {
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--40);
	box-sizing: border-box;
}

@media (min-width: 900px) {
	.defender-footer-grid {
		grid-template-columns: repeat(4, 1fr);
	}
}

.defender-footer-title {
	display: block;
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--medium);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--primary);
}

.defender-footer-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--10);
}

.defender-footer-list a,
.defender-footer-text,
.defender-footer-text a {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--accent-contrast);
	text-decoration: none;
	opacity: 0.9;
}

.defender-footer-copy {
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	border-top: 1px solid var(--wp--preset--color--border);
	box-sizing: border-box;
}

.defender-price--ask {
	color: var(--wp--preset--color--warning);
	font-size: var(--wp--preset--font-size--medium);
}

.defender-site-header a,
.defender-site-footer a,
.defender-site-header .wp-block-navigation-item__content,
.defender-site-footer .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-contrast);
	text-decoration: none;
}

.defender-site-header .wp-block-navigation-item__content:hover,
.defender-site-footer a:hover {
	color: var(--wp--preset--color--primary);
}

.defender-site-header .wp-block-site-title a,
.defender-site-header .wp-block-site-title,
.defender-site-title a {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-contrast);
	text-decoration: none;
}

.defender-brand-mark {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

.defender-brand-mark img,
.defender-site-header .custom-logo {
	width: 44px;
	height: 44px;
	border-radius: var(--wp--custom--radius--m);
}

.defender-nav .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--40);
}

.defender-site-footer {
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
}

.defender-site-footer .wp-block-navigation {
	margin-bottom: var(--wp--preset--spacing--40);
}

.defender-site-footer .has-small-font-size {
	color: var(--wp--preset--color--muted);
}

/* ——— Типографика ——— */
h1,
h2,
h3,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce div.product .product_title,
.defender-price,
.price,
.defender-brand-lockup,
.defender-section__title,
.defender-hero-slider__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	letter-spacing: 0.02em;
}

.defender-price,
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
}

.woocommerce ul.products li.product .price del,
.woocommerce div.product p.price del {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
}

.defender-eyebrow {
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
	margin: 0 0 var(--wp--preset--spacing--30);
}

.defender-link {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	text-decoration: none;
	color: var(--wp--preset--color--primary);
	border-bottom: 1px solid var(--wp--preset--color--primary);
}

.defender-link:hover {
	color: var(--wp--preset--color--primary-hover);
	border-color: var(--wp--preset--color--primary-hover);
}

/* ——— Кнопки ——— */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.defender-btn,
.wp-block-button__link {
	background-color: var(--wp--preset--color--primary) !important;
	color: var(--wp--preset--color--primary-contrast) !important;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius--m);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--40);
	text-decoration: none;
	cursor: pointer;
	display: inline-block;
	line-height: 1.3;
	transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.defender-btn:hover,
.wp-block-button__link:hover {
	background-color: var(--wp--preset--color--primary-hover) !important;
	border-color: var(--wp--preset--color--primary-hover);
	color: var(--wp--preset--color--primary-contrast) !important;
	transform: translateY(-1px);
}

.woocommerce a.button:active,
.defender-btn:active,
.wp-block-button__link:active {
	transform: translateY(1px);
}

.wp-block-button.is-style-secondary .wp-block-button__link,
.defender-btn--secondary {
	background-color: transparent !important;
	color: var(--wp--preset--color--primary) !important;
	border: 1px solid var(--wp--preset--color--primary);
}

.wp-block-button.is-style-secondary .wp-block-button__link:hover,
.defender-btn--secondary:hover {
	background-color: var(--wp--preset--color--surface-alt) !important;
	color: var(--wp--preset--color--primary-hover) !important;
	border-color: var(--wp--preset--color--primary-hover);
}

.defender-btn--ghost {
	background-color: transparent !important;
	color: var(--wp--preset--color--accent-contrast) !important;
	border: 1px solid var(--wp--preset--color--border);
}

.defender-btn--ghost:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary) !important;
	background-color: transparent !important;
}

.defender-btn--dark {
	background-color: var(--wp--preset--color--accent) !important;
	color: var(--wp--preset--color--accent-contrast) !important;
	border-color: var(--wp--preset--color--accent);
}

.defender-btn--block {
	display: block;
	width: 100%;
	text-align: center;
	box-sizing: border-box;
}

/* ——— Секции ——— */
.defender-section {
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
}

.defender-section--surface {
	background-color: var(--wp--preset--color--surface);
}

.defender-section--alt {
	background-color: var(--wp--preset--color--surface-alt);
}

.defender-section--accent {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
}

.defender-section--accent a {
	color: var(--wp--preset--color--primary);
}

.defender-section__inner {
	max-width: 1120px;
	margin: 0 auto;
	padding-left: var(--wp--preset--spacing--40);
	padding-right: var(--wp--preset--spacing--40);
}

.defender-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--40);
}

.defender-section__title {
	font-size: var(--wp--preset--font-size--x-large);
	margin: 0 0 var(--wp--preset--spacing--30);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.defender-section__head .defender-section__title {
	margin-bottom: 0;
}

.defender-section__lead {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--medium);
	margin: 0 0 var(--wp--preset--spacing--40);
	max-width: 36rem;
	line-height: 1.55;
}

.defender-section--accent .defender-section__lead {
	color: var(--wp--preset--color--accent-contrast);
	opacity: 0.85;
}

/* ——— Hero (full-bleed, brand-first) ——— */
/* ——— Hero slider (фото магазина + УТП; черновик local LLM, правки Cursor) ——— */
.defender-hero-slider {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	min-height: 78vh;
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
}

.defender-hero-slider__track {
	position: absolute;
	inset: 0;
}

.defender-hero-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.6s ease, visibility 0.6s ease;
}

.defender-hero-slider__slide.is-active {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	z-index: 1;
}

.defender-hero-slider__media {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.defender-hero-slider__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
}

.defender-hero-slider__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background-color: var(--wp--preset--color--accent);
	opacity: 0.8;
	pointer-events: none;
}

.defender-hero-slider__inner {
	position: relative;
	z-index: 2;
	min-height: 78vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	max-width: 40rem;
	padding-top: var(--wp--preset--spacing--60);
	padding-bottom: var(--wp--preset--spacing--60);
	box-sizing: border-box;
}

.defender-brand-lockup,
.defender-hero-slider .defender-brand-lockup {
	/* нужен токен font-size hero (~64–72) для гигантского lockup; пока xx-large + scale */
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: 0.92;
	margin: 0 0 var(--wp--preset--spacing--40);
	color: var(--wp--preset--color--accent-contrast);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	display: inline-block;
	transform: scale(1.85);
	transform-origin: left center;
	margin-bottom: var(--wp--preset--spacing--60);
	font-weight: 700;
}

.defender-hero-slider__title {
	font-size: var(--wp--preset--font-size--x-large);
	font-weight: 500;
	margin: 0 0 var(--wp--preset--spacing--30);
	color: var(--wp--preset--color--accent-contrast);
	letter-spacing: 0.02em;
	line-height: 1.15;
}

.defender-hero-slider__text {
	font-size: var(--wp--preset--font-size--medium);
	margin: 0 0 var(--wp--preset--spacing--50);
	color: var(--wp--preset--color--accent-contrast);
	opacity: 0.9;
	line-height: 1.55;
	max-width: 32rem;
}

.defender-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
}

.defender-hero-slider__dots {
	position: absolute;
	bottom: var(--wp--preset--spacing--40);
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	display: flex;
	gap: var(--wp--preset--spacing--20);
}

.defender-hero-slider__dots button {
	width: var(--wp--preset--spacing--20);
	height: var(--wp--preset--spacing--20);
	padding: 0;
	border-radius: var(--wp--custom--radius--s);
	border: 1px solid var(--wp--preset--color--accent-contrast);
	background-color: transparent;
	cursor: pointer;
}

.defender-hero-slider__dots button.is-active {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
}

.defender-hero-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: var(--wp--preset--spacing--50);
	height: var(--wp--preset--spacing--50);
	padding: 0;
	border: 1px solid var(--wp--preset--color--accent-contrast);
	border-radius: var(--wp--custom--radius--s);
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
	font-size: var(--wp--preset--font-size--x-large);
	line-height: 1;
	cursor: pointer;
	opacity: 0.85;
}

.defender-hero-slider__arrow:hover {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	opacity: 1;
}

.defender-hero-slider__arrow--prev {
	left: var(--wp--preset--spacing--30);
}

.defender-hero-slider__arrow--next {
	right: var(--wp--preset--spacing--30);
}

@keyframes defender-enter {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.defender-hero-slider[data-enter] .defender-hero-slider__slide.is-active .defender-hero-slider__inner > * {
	animation: defender-enter 0.55s ease both;
}

.defender-hero-slider[data-enter] .defender-eyebrow { animation-delay: 0.05s; }
.defender-hero-slider[data-enter] .defender-brand-lockup { animation-delay: 0.12s; }
.defender-hero-slider[data-enter] .defender-hero-slider__title { animation-delay: 0.2s; }
.defender-hero-slider[data-enter] .defender-hero-slider__text { animation-delay: 0.28s; }
.defender-hero-slider[data-enter] .defender-hero__actions { animation-delay: 0.36s; }

/* ——— Категории ——— */
.defender-cat-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--20);
}

@media (min-width: 768px) {
	.defender-cat-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--wp--preset--spacing--30);
	}
}

.defender-cat-card {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	min-height: 96px;
	padding: var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	text-decoration: none;
	color: var(--wp--preset--color--text);
	transition: border-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.defender-cat-card:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card);
	color: var(--wp--preset--color--text);
}

.defender-cat-card__name {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.2;
}

.defender-cat-card__count {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	font-weight: 700;
}

/* ——— Split / facts / CTA ——— */
.defender-split {
	display: grid;
	gap: var(--wp--preset--spacing--50);
	align-items: center;
}

@media (min-width: 900px) {
	.defender-split {
		grid-template-columns: 1.2fr 0.8fr;
	}
}

.defender-facts {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--20);
}

.defender-facts li {
	display: grid;
	gap: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
}

.defender-facts strong {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--x-large);
	color: var(--wp--preset--color--primary);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.defender-facts span {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.defender-cta-band__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--40);
}

/* Отдельная подложка: не сливается с тёмным футером (accent) */
.defender-cta-band__panel {
	width: 100%;
	box-sizing: border-box;
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	border-radius: var(--wp--custom--radius--l);
	box-shadow: var(--wp--preset--shadow--card);
	padding: var(--wp--preset--spacing--50);
}

.defender-cta-band__panel .defender-section__title {
	color: var(--wp--preset--color--primary-contrast);
}

.defender-cta-band__panel .defender-section__lead {
	color: var(--wp--preset--color--primary-contrast);
	opacity: 0.9;
	margin-bottom: 0;
}

.defender-cta-band .defender-section__title,
.defender-cta-band .defender-section__lead {
	margin-bottom: var(--wp--preset--spacing--20);
}

.defender-cta-band__panel .defender-section__title {
	margin-bottom: var(--wp--preset--spacing--20);
}

/* ——— Каталог ——— */
.defender-catalog {
	display: grid;
	gap: var(--wp--preset--spacing--40);
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

@media (min-width: 900px) {
	.defender-catalog {
		grid-template-columns: 220px 1fr;
		align-items: start;
	}
}

.defender-filters {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	padding: var(--wp--preset--spacing--40);
	position: sticky;
	top: var(--wp--preset--spacing--30);
}

.defender-filters__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	margin: 0 0 var(--wp--preset--spacing--30);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.defender-filters__group {
	margin-bottom: var(--wp--preset--spacing--30);
}

.defender-filters__label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--10);
	color: var(--wp--preset--color--text);
}

.defender-filters select,
.defender-filters input[type="number"],
.defender-filters__price {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
	padding: var(--wp--preset--spacing--20);
}

.defender-filters__price--gap {
	margin-top: var(--wp--preset--spacing--10);
}

.defender-filters__hint {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	margin-top: var(--wp--preset--spacing--10);
}

.defender-filter-links {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--wp--preset--spacing--10);
}

.defender-filter-links a {
	display: block;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--radius--m);
	text-decoration: none;
	color: var(--wp--preset--color--text);
	font-size: var(--wp--preset--font-size--small);
	border: 1px solid transparent;
}

.defender-filter-links a:hover,
.defender-filter-links a.is-active {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	background-color: var(--wp--preset--color--primary);
	font-weight: 700;
}

.woocommerce-products-header {
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40) 0;
}

.woocommerce-products-header__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--xx-large);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 var(--wp--preset--spacing--20);
}

.woocommerce .woocommerce-breadcrumb {
	max-width: 1120px;
	margin: var(--wp--preset--spacing--30) auto 0;
	padding: 0 var(--wp--preset--spacing--40);
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
}

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--wp--preset--spacing--20);
	margin: 0;
	padding: 0;
	list-style: none;
	align-items: stretch;
}

/* Woo clearfix ::before/::after занимают ячейки grid — карточки «съезжают» */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce .related ul.products::before,
.woocommerce .related ul.products::after {
	display: none !important;
	content: none !important;
}

.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last {
	clear: none !important;
}

@media (min-width: 768px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr);
		gap: var(--wp--preset--spacing--30);
	}
}

@media (min-width: 1100px) {
	.woocommerce ul.products,
	.defender-home-products,
	.woocommerce ul.products.columns-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

.woocommerce ul.products li.product,
.defender-card {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	box-shadow: none;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	float: none !important;
	position: relative;
	display: flex;
	flex-direction: column;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.woocommerce ul.products li.product:hover,
.defender-card:hover {
	transform: translateY(-2px);
	box-shadow: var(--wp--preset--shadow--card);
	border-color: var(--wp--preset--color--primary);
}

.woocommerce ul.products li.product a img,
.defender-card__media img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	object-fit: contain;
	object-position: center;
	background-color: var(--wp--preset--color--surface-alt);
	margin: 0;
	padding: var(--wp--preset--spacing--40);
	box-sizing: border-box;
	transition: transform 0.35s ease;
}

.woocommerce ul.products li.product:hover a img,
.defender-card:hover .defender-card__media img {
	transform: scale(1.03);
}

.defender-card__body {
	padding: var(--wp--preset--spacing--30);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
	flex: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: var(--wp--preset--font-size--medium);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) 0;
	margin: 0;
	color: var(--wp--preset--color--text);
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.25;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
	color: var(--wp--preset--color--primary);
}

.woocommerce ul.products li.product .price {
	padding: 0 var(--wp--preset--spacing--30);
	margin: var(--wp--preset--spacing--10) 0;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product .added_to_cart {
	margin: auto var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
	text-align: center;
}

.woocommerce ul.products li.product .defender-stock {
	display: block;
	padding: 0 var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--10);
}

.defender-badge {
	position: absolute;
	top: var(--wp--preset--spacing--20);
	left: var(--wp--preset--spacing--20);
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border-radius: var(--wp--custom--radius--s);
	z-index: 1;
	line-height: 1.2;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.defender-stock {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
}

.defender-stock--in {
	color: var(--wp--preset--color--success);
}

.defender-stock--low {
	color: var(--wp--preset--color--warning);
}

.defender-stock--out {
	color: var(--wp--preset--color--error);
}

.defender-card__actions {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	margin-top: auto;
}

/* ——— Single product (local-LLM draft → Cursor, эталон Sturmer Hardshell) ——— */
.woocommerce div.product,
.defender-product {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--40);
	max-width: 1120px;
	margin: 0 auto;
	writing-mode: horizontal-tb;
	box-sizing: border-box;
}

@media (min-width: 900px) {
	.woocommerce div.product {
		grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
		gap: var(--wp--preset--spacing--50);
		align-items: start;
	}

	.woocommerce div.product .woocommerce-tabs,
	.woocommerce div.product .related.products,
	.woocommerce div.product .up-sells {
		grid-column: 1 / -1;
	}
}

.woocommerce div.product div.images,
.woocommerce-product-gallery {
	background-color: var(--wp--preset--color--surface-alt);
	border-radius: var(--wp--custom--radius--l);
	overflow: visible;
	border: 1px solid var(--wp--preset--color--border);
	margin: 0;
	padding: var(--wp--preset--spacing--20);
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	position: relative;
	/* До init галереи WC ставит opacity:0 — показываем сразу, JS дорисует */
	opacity: 1 !important;
}

.woocommerce div.product div.images img,
.woocommerce-product-gallery img {
	width: 100%;
	height: auto;
	max-width: 100%;
	display: block;
	object-fit: contain;
	aspect-ratio: 1 / 1;
	background-color: var(--wp--preset--color--surface-alt);
}

/* Лупа (jquery.zoom) + триггер лайтбокса */
.woocommerce div.product .woocommerce-product-gallery__image {
	position: relative;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--m);
	cursor: zoom-in;
}

.woocommerce div.product .woocommerce-product-gallery__trigger {
	position: absolute;
	top: var(--wp--preset--spacing--20);
	right: var(--wp--preset--spacing--20);
	z-index: 9;
	width: var(--wp--preset--spacing--50);
	height: var(--wp--preset--spacing--50);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: var(--wp--custom--radius--s);
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: var(--wp--preset--shadow--card);
	text-indent: -9999px;
	overflow: hidden;
}

.woocommerce div.product .woocommerce-product-gallery__trigger::before {
	content: "";
	position: absolute;
	width: var(--wp--preset--spacing--20);
	height: var(--wp--preset--spacing--20);
	border: 2px solid var(--wp--preset--color--text);
	border-radius: 50%;
	box-sizing: border-box;
}

.woocommerce div.product .woocommerce-product-gallery__trigger::after {
	content: "";
	position: absolute;
	width: var(--wp--preset--spacing--10);
	height: 2px;
	background-color: var(--wp--preset--color--text);
	transform: rotate(45deg);
	margin-top: var(--wp--preset--spacing--20);
	margin-left: var(--wp--preset--spacing--20);
}

.woocommerce div.product .flex-viewport {
	border-radius: var(--wp--custom--radius--m);
	overflow: hidden;
	background-color: var(--wp--preset--color--surface-alt);
}

/* PhotoSwipe поверх шапки */
.pswp {
	z-index: 100000;
}

.woocommerce div.product .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10);
	margin: var(--wp--preset--spacing--20) 0 0;
	padding: 0;
	list-style: none;
}

.woocommerce div.product .flex-control-thumbs li {
	flex: 0 0 calc(25% - var(--wp--preset--spacing--10));
	max-width: var(--wp--preset--spacing--60);
	margin: 0;
}

.woocommerce div.product .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	border-radius: var(--wp--custom--radius--s);
	border: 1px solid var(--wp--preset--color--border);
	cursor: pointer;
}

.woocommerce div.product .summary {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--20);
}

.woocommerce div.product .product_title {
	font-family: var(--wp--preset--font-family--display);
	font-size: var(--wp--preset--font-size--large);
	text-transform: uppercase;
	letter-spacing: 0.02em;
	margin: 0;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	border-radius: var(--wp--custom--radius--s);
	line-height: 1.3;
	writing-mode: horizontal-tb;
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: none;
	-webkit-hyphens: none;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price,
.woocommerce div.product .defender-price--ask {
	font-size: var(--wp--preset--font-size--large);
	color: var(--wp--preset--color--primary);
	font-weight: 700;
	margin: 0;
	line-height: 1.3;
	white-space: normal;
}

.woocommerce div.product .stock {
	font-size: var(--wp--preset--font-size--small);
	font-weight: 600;
	margin: 0;
}

.woocommerce div.product .stock.in-stock {
	color: var(--wp--preset--color--success);
}

.woocommerce div.product .stock.out-of-stock {
	color: var(--wp--preset--color--error);
}

/* Select размера скрыт, если есть чипы — оставляем для Woo JS */
.variations_form:has([data-defender-size-matrix]) table.variations {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.defender-size-matrix {
	width: 100%;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
}

.defender-size-matrix__label {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--muted);
}

.defender-size-matrix__chips {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(var(--wp--preset--spacing--60), 1fr));
	gap: var(--wp--preset--spacing--10);
}

.defender-size-matrix__pick {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--10);
	min-height: var(--wp--preset--spacing--60);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--text);
	cursor: pointer;
	font-family: var(--wp--preset--font-family--sans);
	box-sizing: border-box;
}

.defender-size-matrix__size {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	line-height: 1.2;
}

.defender-size-matrix__stock {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--success);
	font-weight: 700;
	line-height: 1.2;
}

.defender-size-matrix__stock.is-out {
	color: var(--wp--preset--color--error);
}

.defender-size-matrix__pick.is-active {
	background-color: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
}

.defender-size-matrix__pick.is-active .defender-size-matrix__stock {
	color: var(--wp--preset--color--primary-contrast);
}

.defender-size-matrix__pick:disabled,
.defender-size-matrix__pick.is-out {
	opacity: 0.45;
	cursor: not-allowed;
}

.defender-size-matrix__hint {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	margin: 0;
	line-height: 1.4;
}

.woocommerce div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: var(--wp--preset--spacing--20);
	margin: 0;
}

.woocommerce div.product form.cart .quantity {
	margin: 0;
}

.woocommerce div.product form.cart .quantity .qty {
	width: var(--wp--preset--spacing--60);
	min-height: var(--wp--preset--spacing--50);
	box-sizing: border-box;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--s);
	padding: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--medium);
	text-align: center;
	background-color: var(--wp--preset--color--surface);
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	flex: 1 1 auto;
	min-height: var(--wp--preset--spacing--50);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	border: 0;
	border-radius: var(--wp--custom--radius--s);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	cursor: pointer;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
	background-color: var(--wp--preset--color--primary-hover);
}

.woocommerce div.product .defender-book-btn {
	width: 100%;
	box-sizing: border-box;
	text-align: center;
}

.defender-book-form {
	margin-top: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface-alt);
}

.defender-book-form__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--wp--preset--spacing--20);
}

@media (min-width: 600px) {
	.defender-book-form__grid {
		grid-template-columns: 1fr 1fr;
	}
}

.defender-book-form label {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--10);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	color: var(--wp--preset--color--text);
}

.defender-book-form input[type="text"],
.defender-book-form input[type="tel"],
.defender-book-form input[type="email"],
.defender-book-form input[type="number"] {
	width: 100%;
	box-sizing: border-box;
	min-height: var(--wp--preset--spacing--50);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--s);
	background-color: var(--wp--preset--color--surface);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--text);
}

.defender-book-form .defender-book-submit {
	width: 100%;
	margin-top: var(--wp--preset--spacing--20);
}

.woocommerce div.product .product_meta {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	line-height: 1.5;
}

.woocommerce div.product .product_meta a {
	color: var(--wp--preset--color--text);
}

.woocommerce div.product .woocommerce-tabs {
	margin-top: var(--wp--preset--spacing--20);
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--10);
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block;
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-decoration: none;
	color: var(--wp--preset--color--muted);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wp--preset--color--text);
	border-bottom: 2px solid var(--wp--preset--color--primary);
}

.defender-variations {
	display: grid;
	gap: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--30);
}

.defender-variations label {
	display: block;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	margin-bottom: var(--wp--preset--spacing--10);
}

.defender-variations select {
	width: 100%;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface-alt);
	padding: var(--wp--preset--spacing--20);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--medium);
	color: var(--wp--preset--color--text);
}

.woocommerce ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background-color: var(--wp--preset--color--surface-alt);
}

.woocommerce div.product .related ul.products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
}

@media (min-width: 900px) {
	.woocommerce div.product .related ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.woocommerce div.product .product_title {
		font-size: var(--wp--preset--font-size--x-large);
	}
}

@media (max-width: 767px) {
	.woocommerce div.product {
		padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30);
		gap: var(--wp--preset--spacing--30);
	}

	.woocommerce div.product .product_title {
		font-size: var(--wp--preset--font-size--medium);
		padding: var(--wp--preset--spacing--20);
		letter-spacing: 0.01em;
	}

	.woocommerce div.product div.images,
	.woocommerce-product-gallery {
		padding: var(--wp--preset--spacing--10);
	}

	.defender-size-matrix__chips {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.defender-size-matrix__pick {
		min-height: var(--wp--preset--spacing--50);
		padding: var(--wp--preset--spacing--10);
	}

	.woocommerce div.product form.cart {
		flex-direction: column;
	}

	.woocommerce div.product form.cart .quantity,
	.woocommerce div.product form.cart .quantity .qty,
	.woocommerce div.product form.cart .single_add_to_cart_button {
		width: 100%;
	}

	.woocommerce div.product .related ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ——— Корзина / чекаут (local-LLM UX → Cursor) ——— */
.woocommerce-message,
.woocommerce-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--20);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	margin-bottom: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	box-shadow: var(--wp--preset--shadow--card);
	color: var(--wp--preset--color--text);
}

.woocommerce a.added_to_cart {
	display: inline-block !important;
	margin-top: var(--wp--preset--spacing--10);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
	border-radius: var(--wp--custom--radius--s);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 700;
	text-align: center;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	box-sizing: border-box;
	text-align: center;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	border: 0;
	border-radius: var(--wp--custom--radius--s);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 700;
	text-decoration: none;
}

.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
	background-color: var(--wp--preset--color--primary-hover);
}

.woocommerce-checkout #payment {
	background-color: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--l);
	padding: var(--wp--preset--spacing--40);
	box-shadow: var(--wp--preset--shadow--card);
}

.woocommerce-checkout #payment ul.payment_methods {
	list-style: none;
	margin: 0 0 var(--wp--preset--spacing--30);
	padding: 0;
}

.woocommerce-checkout #payment ul.payment_methods li {
	padding: var(--wp--preset--spacing--30);
	margin-bottom: var(--wp--preset--spacing--20);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface-alt);
}

.woocommerce-checkout #payment div.payment_box {
	background-color: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

/* ——— Формы ——— */
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.defender-form {
	max-width: 1120px;
	margin: 0 auto;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.defender-form input[type="text"],
.defender-form input[type="email"],
.defender-form input[type="tel"],
.defender-form textarea,
.defender-form select {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--text);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--medium);
	padding: var(--wp--preset--spacing--20);
	width: 100%;
	box-sizing: border-box;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce form .form-row select:focus,
.defender-form input:focus,
.defender-form textarea:focus,
.defender-form select:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 1px;
	border-color: var(--wp--preset--color--primary);
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.defender-form .is-error input,
.defender-form .is-error textarea {
	border-color: var(--wp--preset--color--error);
}

.defender-form__error {
	color: var(--wp--preset--color--error);
	font-size: var(--wp--preset--font-size--small);
	margin-top: var(--wp--preset--spacing--10);
}

.defender-consent,
.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
	font-size: var(--wp--preset--font-size--small);
	color: var(--wp--preset--color--muted);
	margin-top: var(--wp--preset--spacing--30);
}

.woocommerce table.shop_table {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	border-collapse: separate;
	overflow: hidden;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: var(--wp--preset--color--border);
	padding: var(--wp--preset--spacing--30);
}

.woocommerce-message,
.woocommerce-info {
	border-top-color: var(--wp--preset--color--primary);
	background-color: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--text);
}

.woocommerce-error {
	border-top-color: var(--wp--preset--color--error);
	background-color: var(--wp--preset--color--surface-alt);
	color: var(--wp--preset--color--error);
}

/* ——— Toolbar каталога ——— */
.defender-catalog-toolbar {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: var(--wp--preset--spacing--20);
	margin-bottom: var(--wp--preset--spacing--40);
}

.defender-catalog-toolbar select,
.woocommerce .woocommerce-ordering select {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	background-color: var(--wp--preset--color--surface);
	padding: var(--wp--preset--spacing--20);
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--small);
}

.woocommerce-pagination {
	margin-top: var(--wp--preset--spacing--50);
}

.woocommerce-pagination .page-numbers {
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
	padding: var(--wp--preset--spacing--10) var(--wp--preset--spacing--20);
	color: var(--wp--preset--color--text);
	text-decoration: none;
	margin-right: var(--wp--preset--spacing--10);
	display: inline-block;
}

.woocommerce-pagination .page-numbers.current,
.woocommerce-pagination .page-numbers:hover {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary-contrast);
	border-color: var(--wp--preset--color--primary);
}

/* ——— Cookie banner ——— */
.defender-cookie-banner {
	position: fixed;
	z-index: 100000;
	left: var(--wp--preset--spacing--40);
	right: var(--wp--preset--spacing--40);
	bottom: var(--wp--preset--spacing--40);
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-contrast);
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--m);
	box-shadow: var(--wp--preset--shadow--card);
	max-width: 640px;
}

.defender-cookie-banner a {
	color: var(--wp--preset--color--primary);
}

.defender-cookie-banner__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--20);
	margin-top: var(--wp--preset--spacing--30);
}

.defender-book-form {
	margin-top: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--30);
	background-color: var(--wp--preset--color--surface-alt);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: var(--wp--custom--radius--m);
}

/* ——— Styleguide extras ——— */
.ds-guide-components {
	display: grid;
	gap: var(--wp--preset--spacing--50);
}

.ds-guide-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: var(--wp--preset--spacing--30);
}

/* «Сейчас в наличии»: сетка без .woocommerce-обёртки (главная — классический PHP) */
.defender-home-products,
ul.products.defender-home-products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--20);
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
	width: 100%;
}

.defender-home-products::before,
.defender-home-products::after,
ul.products.defender-home-products::before,
ul.products.defender-home-products::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 768px) {
	.defender-home-products,
	ul.products.defender-home-products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--30);
	}
}

@media (min-width: 1100px) {
	.defender-home-products,
	ul.products.defender-home-products {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.defender-home-products li.product {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
}

/* ——— Mobile: черновик local LLM (mac-llm) → проверено Cursor, токены DS ——— */
@media (max-width: 767px) {
	.defender-header-bar {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--wp--preset--spacing--20);
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	}

	.defender-header-meta {
		align-items: flex-start;
		text-align: left;
		width: 100%;
		gap: var(--wp--preset--spacing--10);
	}

	.defender-header-phone {
		font-size: var(--wp--preset--font-size--medium);
	}

	.defender-header-hours {
		font-size: var(--wp--preset--font-size--small);
	}

	.defender-header-links {
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--20);
	}

	.defender-header-links a {
		min-height: var(--wp--preset--spacing--50);
		display: inline-flex;
		align-items: center;
	}

	.defender-search {
		width: 100%;
	}

	.defender-nav-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: var(--wp--preset--spacing--50);
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
		width: 100%;
		box-sizing: border-box;
	}

	.defender-main-nav {
		flex-wrap: wrap;
		padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	}

	.defender-main-nav__list {
		display: none;
		flex-direction: column;
		width: 100%;
		gap: 0;
	}

	.defender-main-nav.is-open .defender-main-nav__list {
		display: flex;
	}

	.defender-main-nav__link {
		padding: var(--wp--preset--spacing--20);
		min-height: var(--wp--preset--spacing--50);
		box-sizing: border-box;
	}

	.defender-main-nav__item--catalog:hover .defender-mega,
	.defender-main-nav__item--catalog:focus-within .defender-mega {
		display: none;
	}

	.defender-main-nav__item--catalog.is-open .defender-mega {
		display: grid;
		position: static;
		left: auto;
		right: auto;
		top: auto;
		box-shadow: none;
		border: 0;
		border-radius: 0;
		padding: var(--wp--preset--spacing--20) 0;
		grid-template-columns: 1fr;
		max-width: none;
		width: 100%;
	}

	.defender-mega::before {
		display: none;
	}

	.defender-mega__item {
		min-height: var(--wp--preset--spacing--50);
	}

	.defender-mega__item--all {
		grid-column: auto;
	}

	.defender-hero-slider {
		min-height: 70vh;
	}

	.defender-hero-slider__inner {
		min-height: 70vh;
		justify-content: flex-end;
		padding-top: var(--wp--preset--spacing--40);
		padding-bottom: var(--wp--preset--spacing--50);
	}

	/* scale(1.25) раздувал lockup до ~633px — убрали */
	.defender-brand-lockup,
	.defender-hero-slider .defender-brand-lockup {
		transform: none;
		max-width: 100%;
		font-size: var(--wp--preset--font-size--x-large);
		margin-bottom: var(--wp--preset--spacing--30);
	}

	.defender-hero-slider__title {
		font-size: var(--wp--preset--font-size--large);
	}

	.defender-hero-slider__text {
		font-size: var(--wp--preset--font-size--small);
		max-width: none;
	}

	.defender-hero__actions {
		display: flex;
		flex-direction: column;
		width: 100%;
		gap: var(--wp--preset--spacing--20);
	}

	.defender-hero__actions .defender-btn {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}

	.defender-hero-slider__arrow {
		display: none;
	}

	.defender-hero-slider__dots {
		bottom: var(--wp--preset--spacing--20);
	}

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

	.defender-section__inner {
		padding-left: var(--wp--preset--spacing--30);
		padding-right: var(--wp--preset--spacing--30);
	}

	.defender-section__title {
		font-size: var(--wp--preset--font-size--large);
	}

	.defender-cat-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--20);
	}

	.defender-cat-card {
		min-height: var(--wp--preset--spacing--60);
		min-width: 0;
	}

	.defender-cat-card__name {
		font-size: var(--wp--preset--font-size--small);
		word-break: break-word;
		overflow-wrap: anywhere;
	}

	.defender-home-products,
	ul.products.defender-home-products,
	.woocommerce ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--wp--preset--spacing--20);
	}

	.defender-home-products li.product {
		min-width: 0;
	}

	.defender-home-products .woocommerce-loop-product__title {
		font-size: var(--wp--preset--font-size--small);
		min-height: 0;
	}

	.defender-home-products .button,
	.defender-home-products a.button,
	.defender-home-products .added_to_cart {
		display: block;
		width: calc(100% - 2 * var(--wp--preset--spacing--20));
		margin-left: var(--wp--preset--spacing--20);
		margin-right: var(--wp--preset--spacing--20);
		box-sizing: border-box;
		text-align: center;
		font-size: var(--wp--preset--font-size--small);
	}

	.defender-home-products .price,
	.defender-home-products .defender-price--ask,
	.defender-home-products .defender-stock {
		padding-left: var(--wp--preset--spacing--20);
		padding-right: var(--wp--preset--spacing--20);
	}

	.defender-split,
	.defender-cta-band__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--wp--preset--spacing--30);
	}

	.defender-split .defender-btn,
	.defender-cta-band__panel .defender-btn {
		width: 100%;
		box-sizing: border-box;
		text-align: center;
	}

	.defender-cta-band__panel {
		padding: var(--wp--preset--spacing--40);
	}

	.defender-facts {
		grid-template-columns: 1fr;
	}

	.defender-footer-grid {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--30);
		padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	}

	.defender-cookie-banner {
		left: var(--wp--preset--spacing--20);
		right: var(--wp--preset--spacing--20);
		bottom: var(--wp--preset--spacing--20);
		max-width: none;
	}
}

.defender-home-products li.product {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.defender-home-products .woocommerce-loop-product__title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-size: var(--wp--preset--font-size--medium);
	min-height: 2.6em;
	text-decoration: none;
	color: var(--wp--preset--color--text);
}

.defender-home-products a .woocommerce-loop-product__title,
.defender-home-products .woocommerce-loop-product__title a {
	text-decoration: none;
	color: var(--wp--preset--color--text);
}

.defender-home-products .price,
.defender-home-products .defender-price--ask {
	font-size: var(--wp--preset--font-size--medium);
	text-decoration: none;
	color: var(--wp--preset--color--text);
}

.defender-home-products .defender-price--ask {
	color: var(--wp--preset--color--muted);
	font-size: var(--wp--preset--font-size--small);
}

.defender-home-products .button,
.defender-home-products a.button {
	display: block;
	width: calc(100% - 2 * var(--wp--preset--spacing--30));
	box-sizing: border-box;
	text-align: center;
	margin-top: auto;
}

.defender-home-products .added_to_cart {
	display: block !important;
	width: calc(100% - 2 * var(--wp--preset--spacing--30));
	box-sizing: border-box;
	text-align: center;
	margin-top: var(--wp--preset--spacing--10);
}

.defender-home-products .defender-stock {
	display: block;
	margin: var(--wp--preset--spacing--10) 0;
	padding-left: var(--wp--preset--spacing--30);
	padding-right: var(--wp--preset--spacing--30);
}
