/* =========================================================
   ARGEAR — тёмный металлический визуал
   ========================================================= */

/* PP Neue Montreal Mono — локально, без внешних CDN */
@font-face {
	font-family: "PP Neue Montreal Mono";
	src: url("../fonts/PPNeueMontrealMono-Book.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "PP Neue Montreal Mono";
	src: url("../fonts/PPNeueMontrealMono-Medium.otf") format("opentype");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "PP Neue Montreal Mono";
	src: url("../fonts/PPNeueMontrealMono-Bold.otf") format("opentype");
	font-weight: 700;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "PP Neue Montreal Mono";
	src: url("../fonts/PPNeueMontrealMono-BoldItalic.otf") format("opentype");
	font-weight: 700;
	font-style: italic;
	font-display: swap;
}

:root {
	--ag-black: #0a0a0a;
	--ag-steel-dark: #2b2d2f;
	--ag-steel: #8d9194;
	--ag-steel-light: #c7cacc;
	--ag-white: #f4f4f4;
	--ag-font: "PP Neue Montreal Mono", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

* { box-sizing: border-box; }

html, body {
	margin: 0;
	padding: 0;
}

/* iOS Safari: не раздувать шрифты при повороте экрана */
html { -webkit-text-size-adjust: 100%; }

body {
	background: var(--ag-black);
	color: var(--ag-white);
	font-family: var(--ag-font);
	font-size: 14px;
	letter-spacing: .08em;
	-webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
a:hover { opacity: .7; }

img { max-width: 100%; height: auto; }

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
}

/* =========================================================
   Прелоадер «двери лифта»
   ========================================================= */

.ag-preloader {
	/* absolute, НЕ fixed: iOS Safari обрезает fixed-слои по вьюпорту и не
	   рисует их за плашкой браузера; обычное содержимое страницы — рисует */
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 100vh; /* фолбэк; точную высоту в px задаёт JS от размера экрана */
	z-index: 9999;
	overflow: hidden;
	/* Чёрный до загрузки фото (без «блика» страницы сквозь дыру проёма);
	   JS делает фон прозрачным на старте сцены, когда фото уже готово */
	background: var(--ag-black);
}

/* Прокрутка заблокирована на время сцены.
   Только html: overflow на body обрезал бы отрисовку за плашкой браузера */
html.ag-scene-lock {
	overflow: hidden;
}

/* Сцена «наезд на двери»: канва с фото лобби сохраняет пропорции кадра
   и всегда покрывает вьюпорт; JS двигает/масштабирует её к проёму. */
.ag-zoom {
	--ag-ar: 2.34432; /* соотношение сторон фото лобби */
	position: absolute;
	left: 50%;
	top: 50%;
	/* Фолбэк; точный размер в px задаёт JS от фактического размера сцены */
	width: 100vw;
	height: 100vh;
	width: max(100vw, calc(100vh * var(--ag-ar)));
	height: max(100vh, calc(100vw / var(--ag-ar)));
	transform: translate(-50%, -50%);
	will-change: transform;
}

.ag-zoom__bg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Проём в координатах фото (доли кадра — не менять без пересчёта ассетов) */
.ag-doorway {
	position: absolute;
	left: 39.687%;
	top: 12.21%;
	width: 20.625%;
	height: 72.65%;
	overflow: hidden;
}

.ag-doorway__leaf {
	position: absolute;
	top: 0;
	height: 100%;
	width: 50.15%; /* лёгкий нахлёст на стыке */
	/* Открываются параллельно с наездом камеры */
	transition: transform 1.8s cubic-bezier(.6, 0, .25, 1);
	will-change: transform;
}

.ag-doorway__leaf--left  { left: 0; }
.ag-doorway__leaf--right { right: 0; }

.ag-preloader--open .ag-doorway__leaf--left  { transform: translateX(-101%); }
.ag-preloader--open .ag-doorway__leaf--right { transform: translateX(101%); }

.ag-preloader {
	transition: opacity 1.35s cubic-bezier(.4, 0, .2, 1);
}

.ag-preloader--fade { opacity: 0; }
.ag-preloader--done { display: none; }

/* =========================================================
   Шапка / навигация (по референсу: SHOP — логотип — LOGIN)
   ========================================================= */

.ag-header {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 100;
	padding: 22px 28px 14px;
	mix-blend-mode: normal;
	background: rgba(10, 10, 10, .78);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

body.home .ag-header {
	background: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	transition: background .35s ease, padding .35s ease;
}

/* Ниже hero шапка перестаёт быть прозрачной — не сливается с каталогом.
   Нижний отступ тот же, что на внутренних страницах: высота совпадает с /shop/ */
body.home .ag-header.ag-header--solid {
	background: rgba(10, 10, 10, .92);
	padding-bottom: 14px;
}

body.home .ag-header.ag-header--solid::after { display: block; }

/* Линия хедера — псевдоэлементом: border на слое с blur рендерится
   толще обычного, а плоская 1px-полоса всегда одинакова с линиями сетки */
.ag-header::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: #f4f4f4;
}

/* На главной шапка прозрачна поверх фото — без линии */
body.home .ag-header { padding-bottom: 0; }
body.home .ag-header::after { display: none; }

.ag-nav {
	position: relative; /* якорь для абсолютной центровки бренда */
	z-index: 2; /* выше мобильной панели меню */
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
}

.ag-nav__item { position: relative; }

.ag-nav__trigger {
	background: none;
	border: 0;
	color: var(--ag-white);
	font: inherit;
	font-size: 13px;
	letter-spacing: .14em;
	cursor: pointer;
	padding: 4px 0;
	text-transform: uppercase;
	text-shadow: 0 0 8px rgba(0,0,0,.55);
}

/* Центральная группа шапки: SHOP — логотип — ABOUT */
.ag-nav__center {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	align-items: center;
	gap: 44px;
	white-space: nowrap;
}

/* Боковые ссылки у логотипа — крупнее остальных */
.ag-nav__trigger--side { font-size: 15px; }

/* Текстовый бренд — жирный курсив по центру экрана */
.ag-nav__brand {
	font-family: var(--ag-font);
	font-size: 34px;
	font-weight: 700;
	font-style: italic;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ag-white);
	text-shadow: 0 0 12px rgba(0, 0, 0, .55);
	padding-left: .18em; /* компенсация letter-spacing для оптической центровки */
	white-space: nowrap;
}

.ag-nav__trigger--link { display: inline-block; }

.ag-nav__item--links { display: flex; gap: 22px; margin-left: auto; }

/* Бургер и мобильное меню — на десктопе скрыты */
.ag-burger {
	display: none;
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
}

/* Толщина линий — как штрих текста CART (1px при 12px/400) */
.ag-burger span {
	display: block;
	width: 20px;
	height: 1px;
	margin: 5px 0;
	background: var(--ag-white);
	box-shadow: 0 0 4px rgba(0, 0, 0, .4);
	transition: transform .3s ease, opacity .3s ease;
}

.ag-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.ag-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.ag-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.ag-mobile-nav {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0;
	padding: 84px 20px 28px;
	background: rgba(10, 10, 10, .96);
	border-bottom: 1px solid #f4f4f4;
	z-index: 1; /* внутри шапки: ниже .ag-nav, но выше контента страницы */
}

.ag-mobile-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ag-mobile-nav__list li { margin: 0 0 18px; }

.ag-mobile-nav__list a {
	font-size: 15px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--ag-white);
}

.ag-dropdown {
	position: absolute;
	top: 100%;
	left: -18px;
	min-width: 200px;
	/* Прозрачный «мост» до линии хедера: курсор не теряет hover */
	padding-top: 23px;
	display: none;
}

/* На главной линия хедера отсутствует — мост короче,
   и верхний контур бокс рисует сам */
body.home .ag-dropdown { padding-top: 9px; }
body.home .ag-dropdown .ag-dropdown__list { border-top: 1px solid #f4f4f4; }

/* Бокс меню: верхнюю линию рисует сама линия хедера — стык без удвоения */
.ag-dropdown .ag-dropdown__list {
	background: rgba(10, 10, 10, .96);
	border: 1px solid #f4f4f4;
	border-top: 0;
	padding: 14px 18px 6px;
}
.ag-dropdown--right { left: auto; right: 0; text-align: right; }

.ag-nav__item.open .ag-dropdown,
.ag-nav__item:hover .ag-dropdown { display: block; }

.ag-dropdown__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ag-dropdown__list li { margin: 0 0 8px; }

.ag-dropdown__list a {
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-shadow: 0 0 8px rgba(0,0,0,.55);
}

/* =========================================================
   Главный экран
   ========================================================= */

.ag-hero {
	position: relative;
	min-height: 100vh;                 /* фолбэк */
	min-height: -webkit-fill-available; /* iOS Safari 15 */
	min-height: 100lvh;                 /* фото уходит за панель браузера */
	overflow: hidden;
	background-color: var(--ag-black);
	/* По умолчанию — фото интерьера лифта; Customizer-фото переопределяет */
	background-image: var(--ag-hero-desktop, url("../img/interior.jpg"));
	background-size: cover;
	background-position: center;
}

@media (max-width: 767px) {
	.ag-hero {
		background-image: var(--ag-hero-mobile,
			var(--ag-hero-desktop, url("../img/interior-mobile.jpg")));
	}
}

/* Логотип, «всплывающий» на главном экране.
   Без filter/drop-shadow: любые фильтры на анимируемом слое дают
   GPU-мерцание; backface-visibility фиксирует растеризацию. */
.ag-hero__logo {
	position: absolute;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%) translateZ(0);
	width: min(52vw, 380px);
	opacity: 0;
	will-change: opacity, transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.ag-hero__logo img { display: block; width: 100%; height: auto; }

/* Плавное затемнение низа фото: подсказка каталога читается,
   и фото мягко переходит в чёрную секцию каталога ниже */
.ag-hero::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 30vh;
	background: linear-gradient(to bottom, rgba(10, 10, 10, 0), rgba(10, 10, 10, .88));
	pointer-events: none;
}

html.ag-doors-open .ag-hero__logo {
	/* Анимируем только transform/opacity: анимация фильтров (blur/shadow)
	   даёт GPU-мерцание на десктопе */
	animation: ag-logo-rise 1.6s cubic-bezier(.22, .8, .3, 1) .7s forwards;
}

@keyframes ag-logo-rise {
	from {
		opacity: 0;
		transform: translate(-50%, -38%) translateZ(0);
	}
	to {
		opacity: 1;
		transform: translate(-50%, -50%) translateZ(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	html.ag-doors-open .ag-hero__logo { animation: none; opacity: 1; }
}

/* Плавный скролл к якорю каталога */
html { scroll-behavior: smooth; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
}

/* =========================================================
   Scroll-cue: подсказка «ниже — каталог» на главном экране
   ========================================================= */

.ag-scroll-cue {
	position: fixed;
	left: 50%;
	bottom: 26px;
	transform: translateX(-50%);
	z-index: 90;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .34em;
	padding-left: .34em; /* компенсация letter-spacing для оптической центровки */
	text-transform: uppercase;
	color: var(--ag-white);
	text-shadow: 0 0 10px rgba(0, 0, 0, .7);
	opacity: 0;
	pointer-events: none;
	transition: opacity .6s ease;
}

/* Появляется после подъёма логотипа */
html.ag-doors-open .ag-scroll-cue {
	opacity: 1;
	pointer-events: auto;
	transition-delay: 2s;
}

/* Пользователь начал скроллить — подсказка своё отработала */
html.ag-doors-open .ag-scroll-cue.ag-scroll-cue--hidden {
	opacity: 0;
	pointer-events: none;
	transition-delay: 0s;
	transition-duration: .3s;
}

/* Вертикальная линия 1px «стекает» вниз — указывает направление.
   Только transform: анимация размеров/фильтров даёт GPU-мерцание */
.ag-scroll-cue::after {
	content: "";
	width: 1px;
	height: 32px;
	background: var(--ag-white);
	animation: ag-cue-drip 2.4s cubic-bezier(.55, .06, .35, 1) infinite;
}

@keyframes ag-cue-drip {
	0%   { transform: scaleY(0); transform-origin: top; }
	42%  { transform: scaleY(1); transform-origin: top; }
	58%  { transform: scaleY(1); transform-origin: bottom; }
	100% { transform: scaleY(0); transform-origin: bottom; }
}

@media (prefers-reduced-motion: reduce) {
	.ag-scroll-cue::after { animation: none; }
}

/* =========================================================
   Нижняя строка (город / время)
   ========================================================= */

.ag-footer {
	position: fixed;
	bottom: 0; left: 0; right: 0;
	z-index: 100;
	display: flex;
	justify-content: center;
	gap: 10px;
	padding: 0 0 20px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: .22em;
	text-transform: uppercase;
	text-shadow: 0 0 8px rgba(0,0,0,.55);
}

/* Кнопка в карточке каталога — отступ от цены */
.woocommerce ul.products li.product .button { margin-top: 12px; }

/* «Просмотр корзины» после AJAX-добавления — не липнет к кнопке */
.woocommerce ul.products li.product .added_to_cart {
	display: inline-block;
	margin: 12px 0 0 16px;
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}

/* Чекбокс согласия на чекауте */
.argear-privacy-consent { margin: 14px 0 6px; }
.argear-privacy-consent label { font-size: 12px; }
.argear-privacy-consent a { text-decoration: underline; }

/* =========================================================
   Каталог на главной — белая секция под hero
   ========================================================= */

.ag-front-catalog {
	background: var(--ag-black);
	color: var(--ag-white);
	padding: 72px 28px 90px;
}

.ag-front-catalog__inner { max-width: 1200px; margin: 0 auto; }

.ag-front-catalog__title {
	margin: 0 0 30px;
	font-size: 15px;
	font-weight: 500;
	letter-spacing: .22em;
	text-transform: uppercase;
}

.ag-front-catalog .woocommerce-loop-product__title { color: #f4f4f4; }
.ag-front-catalog .price { color: #9aa0a4; }

@media (max-width: 767px) {
	.ag-front-catalog { padding: 48px 16px 64px; }
}

/* =========================================================
   Футер внутренних страниц (на главной футера нет)
   ========================================================= */

.ag-site-footer {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 44px 28px 34px;
	border-top: 1px solid rgba(128, 131, 134, .35);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 16px;
	text-align: center;
}

.ag-site-footer__nav { width: 100%; }

.ag-site-footer__nav ul {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	gap: 12px 28px;
}

.ag-site-footer__nav li { margin: 0; padding: 0; float: none; }

.ag-site-footer__nav a {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.ag-site-footer__slogan {
	font-size: 12px;
	letter-spacing: .24em;
	text-transform: uppercase;
	opacity: .75;
}

.ag-site-footer__copy {
	font-size: 10px;
	letter-spacing: .12em;
	opacity: .5;
}

/* =========================================================
   Переключатель языка на страницах (RU | EN)
   ========================================================= */

.ag-lang-switch {
	display: flex;
	gap: 14px;
	margin: 0 0 26px;
}

.ag-lang-switch button {
	background: none;
	border: 0;
	padding: 2px 0;
	font: inherit;
	font-size: 12px;
	letter-spacing: .18em;
	color: inherit;
	opacity: .45;
	cursor: pointer;
	text-transform: uppercase;
	border-bottom: 1px solid transparent;
}

.ag-lang-switch button.active {
	opacity: 1;
	border-bottom-color: currentColor;
}

.ag-lang--en { display: none; }
html.ag-lang-en .ag-lang--ru { display: none; }
html.ag-lang-en .ag-lang--en { display: block; }

/* =========================================================
   Анимация появления контента статичных страниц
   ========================================================= */

@keyframes ag-fade-up {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: none; }
}

.ag-content .ag-entry__title {
	animation: ag-fade-up .7s cubic-bezier(.22, .8, .3, 1) both;
}

.ag-content .ag-entry__body > * {
	animation: ag-fade-up .7s cubic-bezier(.22, .8, .3, 1) both;
}

.ag-content .ag-entry__body > :nth-child(1) { animation-delay: .12s; }
.ag-content .ag-entry__body > :nth-child(2) { animation-delay: .22s; }
.ag-content .ag-entry__body > :nth-child(3) { animation-delay: .32s; }
.ag-content .ag-entry__body > :nth-child(4) { animation-delay: .42s; }
.ag-content .ag-entry__body > :nth-child(5) { animation-delay: .52s; }
.ag-content .ag-entry__body > :nth-child(6) { animation-delay: .62s; }
.ag-content .ag-entry__body > :nth-child(7) { animation-delay: .72s; }
.ag-content .ag-entry__body > :nth-child(n+8) { animation-delay: .82s; }

@media (prefers-reduced-motion: reduce) {
	.ag-content .ag-entry__title,
	.ag-content .ag-entry__body > * { animation: none; }
}

/* =========================================================
   Внутренние страницы и магазин
   ========================================================= */

.ag-content,
.ag-shop-wrap {
	max-width: 1200px;
	margin: 0 auto;
	padding: 130px 28px 90px;
	min-height: 70vh;
}

.ag-entry__title { text-transform: uppercase; letter-spacing: .12em; }

/* Юридические/текстовые страницы: узкая колонка — длинный текст оферты
   не должен растягиваться на весь контейнер каталога (1200px). */
.ag-entry__title,
.ag-entry__body { max-width: 62ch; }

.ag-entry__body p { line-height: 1.7; }

.ag-404__link {
	display: inline-block;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}

/* Сетка каталога: бруталистская решётка с чёткими контурными линиями */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}

/* Клирфиксы Woo в grid-раскладке становятся фантомными ячейками
   и сдвигают карточки — отключаем */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none;
	display: none;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products[class*="columns-"] li.product,
.woocommerce-page ul.products[class*="columns-"] li.product {
	width: 100%;
	margin: 0;
	padding: 18px 18px 20px;
	float: none;
	text-align: left;
	/* На каждый стык — ровно одна линия: правая и нижняя у каждой карточки,
	   левая — только у первой колонки, верхняя — только у первого ряда */
	border-right: 1px solid #f4f4f4;
	border-bottom: 1px solid #f4f4f4;
	transition: background .2s ease;
}

.woocommerce ul.products li.product:nth-child(3n+1) { border-left: 1px solid #f4f4f4; }
.woocommerce ul.products li.product:nth-child(-n+3) { border-top: 1px solid #f4f4f4; }

/* Планшет: две колонки */
@media (min-width: 768px) and (max-width: 1023px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
	.woocommerce ul.products li.product:nth-child(3n+1) { border-left: 0; }
	.woocommerce ul.products li.product:nth-child(-n+3) { border-top: 0; }
	.woocommerce ul.products li.product:nth-child(2n+1) { border-left: 1px solid #f4f4f4; }
	.woocommerce ul.products li.product:nth-child(-n+2) { border-top: 1px solid #f4f4f4; }
}

.woocommerce ul.products li.product:hover { background: #17181a; }

/* Фото карточек: без обрезки, единая пропорция 2:3 */
.woocommerce ul.products li.product a img {
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: contain;
	background: transparent;
	margin: 0 0 14px;
}

/* Шапка каталога */
.woocommerce-products-header__title.page-title {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	margin: 0 0 28px;
}

.woocommerce .woocommerce-result-count { font-size: 11px; }

/* Сортировка: строгий прямоугольник без скруглений */
.woocommerce .woocommerce-ordering select {
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	background: #0a0a0a url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9' height='6'%3E%3Cpath d='M0 0l4.5 6L9 0z' fill='%23f4f4f4'/%3E%3C/svg%3E") no-repeat right 10px center;
	border: 1px solid #f4f4f4;
	color: #f4f4f4;
	font: inherit;
	font-size: 11px;
	letter-spacing: .08em;
	text-transform: uppercase;
	padding: 8px 30px 8px 12px;
	cursor: pointer;
}

@media (max-width: 767px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products {
		grid-template-columns: 1fr;
		gap: 0;
	}
	.woocommerce ul.products li.product:nth-child(3n+1),
	.woocommerce ul.products li.product { border-left: 1px solid #f4f4f4; }
	.woocommerce ul.products li.product:nth-child(-n+3) { border-top: 0; }
	.woocommerce ul.products li.product:first-child { border-top: 1px solid #f4f4f4; }
}

/* =========================================================
   Торговая часть (каталог, товар, корзина, чекаут):
   белый фон, чёрный текст
   ========================================================= */

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: #f4f4f4;
	font-size: 12px;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.woocommerce ul.products li.product .price,
.woocommerce div.product p.price {
	color: #9aa0a4;
}

/* Фото в карточке — чистое, без подложки */
.woocommerce ul.products li.product a img { background: transparent; }

.woocommerce div.product .product_title {
	color: #f4f4f4;
	text-transform: uppercase;
	letter-spacing: .12em;
}

/* Кнопки: чёрные, прямые углы */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt {
	background: #f4f4f4;
	color: #0a0a0a;
	border: 1px solid #f4f4f4;
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: .1em;
	font-weight: 400;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
	background: transparent;
	color: #f4f4f4;
}

/* Формы: тёмные поля со светлой рамкой, без скруглений */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce table.cart td.actions .coupon .input-text {
	background: #101112;
	border: 1px solid #f4f4f4;
	border-radius: 0;
	color: #f4f4f4;
}

/* Крестик удаления позиции: чёрный, в типографике сайта, по центру ячейки */
.woocommerce table.cart td.product-remove { vertical-align: middle; text-align: center; }

.woocommerce a.remove {
	display: inline-block;
	width: auto;
	height: auto;
	color: #f4f4f4 !important;
	background: none !important;
	border-radius: 0;
	font-family: var(--ag-font);
	font-size: 17px;
	font-weight: 400;
	line-height: 1;
}

.woocommerce a.remove:hover {
	background: none !important;
	color: #f4f4f4 !important;
	opacity: .5;
}

/* Кнопка «Обновить корзину»: в неактивном состоянии — контурная, не серая */
.woocommerce table.cart td.actions .button:disabled,
.woocommerce table.cart td.actions .button:disabled[disabled],
.woocommerce table.cart td.actions .button:disabled:hover {
	background: transparent;
	color: #6d7073;
	border: 1px solid #3a3d40;
	opacity: 1;
	padding: .618em 1em;
}

/* Служебные сообщения Woo (товар удалён, корзина пуста и т.п.):
   строгие прямоугольники в типографике сайта вместо цветных плашек */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: #0a0a0a;
	border: 1px solid #f4f4f4;
	border-top-width: 1px;
	border-radius: 0;
	color: #f4f4f4;
	font-size: 12px;
	letter-spacing: .06em;
	padding: 16px 20px !important;
}

.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before { display: none; }

.woocommerce-message a.button,
.woocommerce-info a.button,
.woocommerce-error a.button { margin-left: 10px; }

/* Пустая корзина: сообщение и кнопка возврата */
.cart-empty.woocommerce-info { text-transform: uppercase; letter-spacing: .12em; }

.woocommerce .return-to-shop { margin-top: 22px; }

.woocommerce .return-to-shop a.button {
	background: #f4f4f4;
	color: #0a0a0a;
	border-radius: 0;
	text-transform: uppercase;
	letter-spacing: .1em;
}

/* Таблицы корзины/чекаута: прямые углы, тонкие линии */
.woocommerce table.shop_table {
	border: 1px solid #f4f4f4;
	border-radius: 0;
	border-collapse: collapse;
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	border-color: #3a3d40;
	color: #f4f4f4;
}

/* Вкладки товара (Description): строгие, без скруглений и серых плашек */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	margin: 0 0 24px;
	padding: 0;
	border-bottom: 1px solid #f4f4f4;
	overflow: visible;
	list-style: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li {
	background: none;
	border: 0;
	border-radius: 0;
	margin: 0 28px 0 0;
	padding: 0;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	color: #8a8d8f;
	padding: 10px 0;
	font-weight: 400;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
	background: none;
	border-bottom: 2px solid #f4f4f4;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #f4f4f4; }

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0;
	padding: 0;
	box-shadow: none;
	border: 0;
	border-radius: 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: 13px;
	letter-spacing: .16em;
	text-transform: uppercase;
	margin: 0 0 14px;
}

/* Средние экраны: бренд компактнее, чтобы не задевал боковые ссылки */
@media (max-width: 1100px) {
	.ag-nav__brand { font-size: 21px; }
}

/* =========================================================
   Мобильная адаптация
   ========================================================= */

@media (max-width: 767px) {
	.ag-header { padding: 6px 16px 0; }
	/* На мобильных у всех страниц нижний отступ шапки 0 — солидное
	   состояние не должен его добавлять, иначе рассинхрон с /shop/ */
	body.home .ag-header.ag-header--solid { padding-bottom: 0; }
	.ag-hero { min-height: calc(100vh + 120px); }

	/* SHOP и ABOUT уходят в бургер, лого крупнее по центру */
	.ag-burger { display: block; }
	.ag-mobile-nav.open { display: block; }
	.ag-nav__trigger--side { display: none; }
	/* Обёртка SHOP-дропдауна тоже прячется целиком: пустой flex-элемент
	   создавал лишний gap и сдвигал надпись от центра */
	.ag-nav__center .ag-nav__item--shop { display: none; }
	.ag-nav__brand { font-size: 19px; letter-spacing: .1em; padding-left: .1em; }
	.ag-nav__item--links { gap: 0; }
	.ag-nav__trigger { font-size: 12px; padding: 0; }

	/* Кнопки «добавить в корзину» — во всю ширину */
	.woocommerce ul.products li.product .button {
		display: block;
		width: 100%;
		margin: 10px 0 0;
		padding: 10px 4px;
		font-size: 10px;
		letter-spacing: .06em;
		text-align: center;
	}
	.woocommerce ul.products li.product .added_to_cart {
		display: block;
		margin: 10px 0 0;
		text-align: center;
		border-bottom: 0;
		text-decoration: underline;
	}
	.ag-content, .ag-shop-wrap { padding: 110px 16px 80px; }
	.ag-hero__logo { width: 72vw; }
	/* На тач-устройствах ховер не работает — только клик */
	.ag-nav__item:hover .ag-dropdown { display: none; }
	.ag-nav__item.open .ag-dropdown { display: block; }
}
