/**
 * Aviator Store — фронтенд.
 *
 * Всё внутри .avs, чтобы стили не протекали на тему.
 * Тёмная авиационная палитра: приборная панель ночью + латунный акцент.
 */

/* ─────────────────────────────────────────────────────────────────────────
   1. Токены
   ───────────────────────────────────────────────────────────────────── */
:root {
	--avs-bg:        #080b10;
	--avs-bg-soft:   #0c111a;
	--avs-bg-panel:  #10161f;
	--avs-line:      rgba(255, 255, 255, .09);
	--avs-line-soft: rgba(255, 255, 255, .05);
	--avs-text:      #eceef3;
	--avs-muted:     #8b95a6;
	--avs-accent:    #c9a227;
	--avs-accent-2:  #e6c66a;
	--avs-danger:    #e05252;
	--avs-ok:        #4bbf7a;

	--avs-serif: "Cormorant Garamond", "Times New Roman", Georgia, serif;
	--avs-sans:  "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;

	--avs-radius:    18px;
	--avs-radius-sm: 12px;
	--avs-shadow:    0 24px 60px -24px rgba(0, 0, 0, .85);
	--avs-ease:      cubic-bezier(.22, .61, .36, 1);
}

/* Страницы плагина целиком уходят в тёмную схему. */
body.avs-page {
	background: var(--avs-bg);
	color: var(--avs-text);

	/* clip, а не hidden: hidden создаёт скролл-контейнер и ломает
	   position:sticky у шапки магазина. */
	overflow-x: clip;
}

/* ─────────────────────────────────────────────────────────────────────────
   1.1 Разрыв колонки темы
   Тема кладёт контент страницы в узкий контейнер (в блочных темах это
   .wp-block-post-content с ограничением ширины). Без этого блока плагин
   рисуется в колонке ~650px и выглядит как мобильная версия.
   ───────────────────────────────────────────────────────────────────── */
body.avs-page .avs {
	/* 100vw включает полосу прокрутки, поэтому вычитаем её ширину —
	   JS кладёт её в --avs-sbw. Без этого блок съезжает вправо. */
	--avs-vw: calc(100vw - var(--avs-sbw, 0px));

	width: var(--avs-vw);
	max-width: var(--avs-vw);

	/* !important обязателен: ядро WordPress для блочных тем ставит
	   margin-left/right: auto !important на дочерние элементы
	   .is-layout-constrained, и обычное правило проигрывает. */
	margin-left: calc(50% - var(--avs-vw) / 2) !important;
	margin-right: calc(50% - var(--avs-vw) / 2) !important;
}

/* Вложенный .avs (шорткод внутри страницы плагина) второй раз не растягиваем. */
body.avs-page .avs .avs {
	width: auto;
	max-width: none;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Заголовок страницы печатает тема, но у каждого шаблона плагина есть
   собственный h1 — убираем дубль. Классы покрывают блочные и классические темы. */
body.avs-page .wp-block-post-title,
body.avs-page .entry-title,
body.avs-page .page-title {
	display: none;
}

/* Шапка и подвал темы на страницах магазина.
   У плагина своя навигация и свой подвал с контактами. Меню темы сверху —
   это вторая навигация подряд и служебные страницы (Sample Page, checkout,
   «Заказ принят») на виду у покупателя. Подвал темы заодно уносит подпись
   «Twenty Twenty-Five / Criado com WordPress» и своё меню. */
body.avs-page .wp-site-blocks > header,
body.avs-page .wp-site-blocks > footer,
body.avs-page .site-header,
body.avs-page .site-footer,
body.avs-page #masthead,
body.avs-page #colophon {
	display: none;
}

/* Тема отбивает контент от своей шапки вертикальными отступами (~159px).
   Без шапки это превращается в пустое поле над магазином. */
body.avs-page .wp-site-blocks > main,
body.avs-page .wp-site-blocks > main > *,
body.avs-page .wp-block-post-content,
body.avs-page .entry-content {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* ─────────────────────────────────────────────────────────────────────────
   2. База
   ───────────────────────────────────────────────────────────────────── */
.avs,
.avs * {
	box-sizing: border-box;
}

.avs {
	font-family: var(--avs-sans);
	color: var(--avs-text);
	background: var(--avs-bg);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	position: relative;
}

.avs img {
	max-width: 100%;
	height: auto;
	display: block;
}

.avs a {
	text-decoration: none;
	transition: color .2s var(--avs-ease);
}

/* :where() обнуляет специфичность — иначе базовый цвет ссылки
   перебивал бы .avs-btn, .avs-link и прочие модификаторы. */
:where(.avs) a {
	color: inherit;
}

.avs p {
	margin: 0 0 1em;
}

.avs ul,
.avs ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.avs button {
	font-family: inherit;
	cursor: pointer;
	border: 0;
	background: none;
	color: inherit;
}

.avs input,
.avs textarea,
.avs select {
	font-family: inherit;
	font-size: 15px;
	color: var(--avs-text);
}

.avs svg {
	flex-shrink: 0;
}

.avs-container {
	width: 100%;
	max-width: 1240px;
	margin: 0 auto;
	padding: 0 24px;
}

.avs-container--narrow {
	max-width: 760px;
}

/* ─────────────────────────────────────────────────────────────────────────
   3. Типографика
   ───────────────────────────────────────────────────────────────────── */
.avs-h1,
.avs-h2,
.avs-h3 {
	font-family: var(--avs-serif);
	font-weight: 500;
	line-height: 1.08;
	letter-spacing: -.01em;
	margin: 0 0 .4em;
	color: #fff;
}

.avs-h1 { font-size: clamp(34px, 5vw, 58px); }
.avs-h2 { font-size: clamp(28px, 3.6vw, 44px); }
.avs-h3 { font-size: clamp(20px, 2.2vw, 26px); }

.avs-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--avs-accent);
	margin-bottom: 18px;
}

.avs-eyebrow i {
	display: block;
	width: 26px;
	height: 1px;
	background: currentColor;
	opacity: .7;
}

.avs-eyebrow--center {
	justify-content: center;
}

.avs-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--avs-accent);
	font-weight: 500;
	font-size: 14px;
}

.avs-link:hover {
	color: var(--avs-accent-2);
}

.avs-link svg {
	transition: transform .25s var(--avs-ease);
}

.avs-link:hover svg {
	transform: translateX(4px);
}

.avs-link--lg {
	font-size: 15px;
	white-space: nowrap;
}

/* ─────────────────────────────────────────────────────────────────────────
   4. Кнопки
   ───────────────────────────────────────────────────────────────────── */
.avs-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 13px 24px;
	border-radius: 100px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .01em;
	border: 1px solid transparent;
	transition: all .25s var(--avs-ease);
	white-space: nowrap;
	text-align: center;
}

.avs-btn--primary {
	background: linear-gradient(135deg, var(--avs-accent-2), var(--avs-accent));
	color: #14100a;
	box-shadow: 0 10px 30px -12px rgba(201, 162, 39, .7);
}

.avs-btn--primary:hover {
	transform: translateY(-2px);
	box-shadow: 0 16px 36px -12px rgba(201, 162, 39, .85);
	color: #14100a;
}

.avs-btn--ghost {
	border-color: var(--avs-line);
	color: var(--avs-text);
	background: rgba(255, 255, 255, .02);
}

.avs-btn--ghost:hover {
	border-color: var(--avs-accent);
	color: var(--avs-accent);
}

.avs-btn--lg {
	padding: 16px 30px;
	font-size: 15px;
}

.avs-btn--sm {
	padding: 9px 16px;
	font-size: 13px;
}

.avs-btn--block {
	display: flex;
	width: 100%;
}

.avs-btn--round {
	width: 44px;
	height: 44px;
	padding: 0;
	border-radius: 50%;
	border-color: var(--avs-line);
	background: rgba(255, 255, 255, .03);
	flex-shrink: 0;
}

.avs-btn--round:hover {
	background: var(--avs-accent);
	border-color: var(--avs-accent);
	color: #14100a;
}

.avs-btn.is-disabled {
	opacity: .4;
	pointer-events: none;
}

.avs-btn.is-loading {
	opacity: .6;
	pointer-events: none;
}

/* ─────────────────────────────────────────────────────────────────────────
   5. Шапка
   ───────────────────────────────────────────────────────────────────── */
.avs-nav {
	position: sticky;
	top: 0;
	z-index: 60;
	background: rgba(8, 11, 16, .78);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-nav__inner {
	display: flex;
	align-items: center;
	gap: 32px;
	height: 74px;
}

.avs-logo {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-right: auto;
}

.avs-logo__mark {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid var(--avs-accent);
	color: var(--avs-accent);
	transform: rotate(45deg);
}

.avs-logo__mark svg {
	transform: rotate(-45deg);
}

.avs-logo__text strong {
	display: block;
	font-family: var(--avs-serif);
	font-size: 21px;
	letter-spacing: .18em;
	line-height: 1;
	color: #fff;
}

.avs-logo__text small {
	display: block;
	font-size: 9px;
	letter-spacing: .28em;
	text-transform: uppercase;
	color: var(--avs-muted);
	margin-top: 3px;
}

.avs-nav__links {
	display: flex;
	align-items: center;
	gap: 30px;
}

.avs-nav__links a {
	font-size: 14px;
	font-weight: 500;
	color: var(--avs-muted);
	position: relative;
	padding: 6px 0;
}

.avs-nav__links a::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 0;
	height: 1px;
	background: var(--avs-accent);
	transition: width .25s var(--avs-ease);
}

.avs-nav__links a:hover {
	color: #fff;
}

.avs-nav__links a:hover::after {
	width: 100%;
}

.avs-nav__actions {
	display: flex;
	align-items: center;
	gap: 18px;
}

.avs-nav__phone {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: var(--avs-text);
}

.avs-nav__phone:hover {
	color: var(--avs-accent);
}

.avs-cart-btn {
	position: relative;
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--avs-line);
	transition: all .25s var(--avs-ease);
}

.avs-cart-btn:hover {
	border-color: var(--avs-accent);
	color: var(--avs-accent);
}

.avs-cart-btn__count {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--avs-accent);
	color: #14100a;
	font-size: 11px;
	font-weight: 700;
	display: grid;
	place-items: center;
	transition: transform .2s var(--avs-ease);
}

.avs-cart-btn__count.is-empty {
	display: none;
}

.avs-cart-btn__count.is-bump {
	transform: scale(1.35);
}

.avs-burger {
	display: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--avs-line);
	place-items: center;
}

/* ─────────────────────────────────────────────────────────────────────────
   6. Hero
   ───────────────────────────────────────────────────────────────────── */
.avs-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(60px, 9vw, 120px) 0 clamp(60px, 8vw, 110px);
	background:
		radial-gradient(1000px 500px at 78% 10%, rgba(201, 162, 39, .13), transparent 60%),
		radial-gradient(700px 500px at 8% 90%, rgba(60, 110, 190, .12), transparent 62%),
		var(--avs-bg);
}

.avs-hero__bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.avs-hero__rings {
	position: absolute;
	right: -140px;
	top: 50%;
	transform: translateY(-50%);
	width: 760px;
	height: 760px;
	color: var(--avs-accent);
	animation: avs-spin 90s linear infinite;
}

@keyframes avs-spin {
	to { transform: translateY(-50%) rotate(360deg); }
}

.avs-hero__glow {
	position: absolute;
	border-radius: 50%;
	filter: blur(90px);
}

.avs-hero__glow--a {
	width: 420px;
	height: 420px;
	top: -80px;
	left: -100px;
	background: rgba(201, 162, 39, .1);
}

.avs-hero__glow--b {
	width: 380px;
	height: 380px;
	bottom: -120px;
	right: 20%;
	background: rgba(70, 120, 220, .1);
}

.avs-hero__inner {
	position: relative;
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 60px;
	align-items: center;
}

.avs-hero__title {
	font-family: var(--avs-serif);
	font-size: clamp(42px, 6vw, 76px);
	line-height: 1.02;
	font-weight: 500;
	letter-spacing: -.02em;
	color: #fff;
	margin: 0 0 24px;
}

.avs-hero__title em {
	font-style: italic;
	background: linear-gradient(100deg, var(--avs-accent-2), var(--avs-accent));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.avs-hero__lead {
	max-width: 520px;
	font-size: 17px;
	line-height: 1.72;
	color: var(--avs-muted);
	margin-bottom: 34px;
}

.avs-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-bottom: 48px;
}

.avs-hero__stats {
	display: flex;
	flex-wrap: wrap;
	gap: 44px;
	padding-top: 30px;
	border-top: 1px solid var(--avs-line-soft);
}

.avs-hero__stats strong {
	display: block;
	font-family: var(--avs-serif);
	font-size: 32px;
	line-height: 1;
	color: #fff;
	margin-bottom: 6px;
}

.avs-hero__stats span {
	font-size: 12px;
	letter-spacing: .06em;
	color: var(--avs-muted);
}

.avs-hero__media {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 420px;
}

.avs-hero__watch {
	position: relative;
	width: min(100%, 440px);
	aspect-ratio: 1;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background:
		radial-gradient(circle at 40% 30%, rgba(255, 255, 255, .06), transparent 60%),
		rgba(255, 255, 255, .015);
	border: 1px solid var(--avs-line-soft);
	transition: transform .5s var(--avs-ease);
	animation: avs-float 7s ease-in-out infinite;
}

@keyframes avs-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-14px); }
}

.avs-hero__watch img,
.avs-hero__watch .avs-placeholder {
	width: 86%;
	height: auto;
	filter: drop-shadow(0 30px 50px rgba(0, 0, 0, .6));
	border-radius: 50%;
}

.avs-hero__chip {
	position: absolute;
	left: -6px;
	bottom: 34px;
	padding: 16px 20px;
	border-radius: var(--avs-radius-sm);
	background: rgba(16, 22, 31, .9);
	border: 1px solid var(--avs-line);
	backdrop-filter: blur(10px);
	box-shadow: var(--avs-shadow);
	max-width: 240px;
}

.avs-hero__chip-label {
	display: block;
	font-size: 10px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--avs-accent);
	margin-bottom: 6px;
}

.avs-hero__chip strong {
	display: block;
	font-size: 15px;
	color: #fff;
	line-height: 1.3;
	margin-bottom: 4px;
}

.avs-hero__chip-price {
	font-size: 13px;
	color: var(--avs-muted);
}

.avs-hero__chip:hover {
	border-color: var(--avs-accent);
}

.avs-hero__note {
	position: absolute;
	right: 0;
	top: 18px;
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: 100px;
	background: rgba(16, 22, 31, .82);
	border: 1px solid var(--avs-line);
	font-size: 12px;
	color: var(--avs-muted);
	max-width: 220px;
}

.avs-hero__note svg {
	color: var(--avs-accent);
}

/* ─────────────────────────────────────────────────────────────────────────
   7. Бегущая строка брендов
   ───────────────────────────────────────────────────────────────────── */
.avs-marquee {
	overflow: hidden;
	border-top: 1px solid var(--avs-line-soft);
	border-bottom: 1px solid var(--avs-line-soft);
	padding: 22px 0;
	background: var(--avs-bg-soft);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent);
}

.avs-marquee__track {
	display: flex;
	align-items: center;
	gap: 26px;
	width: max-content;
	animation: avs-marquee 42s linear infinite;
}

@keyframes avs-marquee {
	from { transform: translateX(0); }
	to   { transform: translateX(-50%); }
}

.avs-marquee__item {
	font-family: var(--avs-serif);
	font-size: 22px;
	letter-spacing: .06em;
	color: rgba(255, 255, 255, .42);
	white-space: nowrap;
}

.avs-marquee__dot {
	color: var(--avs-accent);
	font-size: 10px;
	opacity: .6;
}

/* ─────────────────────────────────────────────────────────────────────────
   8. Секции
   ───────────────────────────────────────────────────────────────────── */
.avs-section {
	padding: clamp(60px, 8vw, 110px) 0;
}

.avs-section--tight {
	padding: clamp(40px, 5vw, 70px) 0;
}

.avs-section--dark {
	background: var(--avs-bg-soft);
	border-top: 1px solid var(--avs-line-soft);
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-section__head {
	margin-bottom: 48px;
}

.avs-section__head--row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	flex-wrap: wrap;
}

.avs-section__head--center {
	text-align: center;
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
}

.avs-section__sub {
	color: var(--avs-muted);
	font-size: 16px;
	line-height: 1.7;
	max-width: 620px;
	margin: 0;
}

.avs-section__head--center .avs-section__sub {
	margin: 0 auto;
}

/* ─────────────────────────────────────────────────────────────────────────
   9. Преимущества
   ───────────────────────────────────────────────────────────────────── */
.avs-features {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

.avs-feature {
	padding: 30px 26px;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: linear-gradient(180deg, rgba(255, 255, 255, .028), rgba(255, 255, 255, 0));
	transition: border-color .3s var(--avs-ease), transform .3s var(--avs-ease);
}

.avs-feature:hover {
	border-color: rgba(201, 162, 39, .38);
	transform: translateY(-4px);
}

.avs-feature__icon {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 12px;
	background: rgba(201, 162, 39, .1);
	color: var(--avs-accent);
	margin-bottom: 18px;
}

.avs-feature h3 {
	font-size: 17px;
	font-weight: 600;
	color: #fff;
	margin: 0 0 8px;
}

.avs-feature p {
	font-size: 14px;
	line-height: 1.65;
	color: var(--avs-muted);
	margin: 0;
}

/* ─────────────────────────────────────────────────────────────────────────
   10. Сетки и карточка товара
   ───────────────────────────────────────────────────────────────────── */
.avs-grid {
	display: grid;
	gap: 22px;
}

.avs-grid--products {
	grid-template-columns: repeat(4, 1fr);
}

.avs-grid--articles {
	grid-template-columns: repeat(3, 1fr);
}

.avs-product {
	position: relative;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: border-color .3s var(--avs-ease), transform .3s var(--avs-ease), box-shadow .3s var(--avs-ease);
}

.avs-product:hover {
	border-color: rgba(201, 162, 39, .4);
	transform: translateY(-5px);
	box-shadow: var(--avs-shadow);
}

.avs-product__media {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	padding: 26px;
	background:
		radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .05), transparent 65%),
		var(--avs-bg-soft);
	overflow: hidden;
}

.avs-product__media img,
.avs-product__media .avs-placeholder {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform .55s var(--avs-ease);
}

.avs-product:hover .avs-product__media img,
.avs-product:hover .avs-product__media .avs-placeholder {
	transform: scale(1.06) rotate(-2deg);
}

.avs-product__glow {
	position: absolute;
	inset: auto -30% -60% -30%;
	height: 60%;
	background: radial-gradient(circle, rgba(201, 162, 39, .16), transparent 70%);
	opacity: 0;
	transition: opacity .4s var(--avs-ease);
}

.avs-product:hover .avs-product__glow {
	opacity: 1;
}

.avs-product__badges {
	position: absolute;
	top: 14px;
	left: 14px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 6px;
	z-index: 2;
}

.avs-badge {
	display: inline-block;
	padding: 5px 11px;
	border-radius: 100px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	background: rgba(255, 255, 255, .1);
	color: #fff;
	backdrop-filter: blur(6px);
}

.avs-badge--sale {
	background: var(--avs-accent);
	color: #14100a;
}

.avs-badge--out {
	background: rgba(224, 82, 82, .18);
	color: #ffb4b4;
}

.avs-product__body {
	padding: 22px;
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1;
}

.avs-product__brand {
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--avs-accent);
	font-weight: 600;
}

.avs-product__title {
	font-family: var(--avs-serif);
	font-size: 21px;
	font-weight: 500;
	line-height: 1.22;
	margin: 0;
	color: #fff;
}

.avs-product__title a:hover {
	color: var(--avs-accent);
}

.avs-product__meta {
	font-size: 13px;
	color: var(--avs-muted);
	margin: 0;
}

.avs-product__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 16px;
}

.avs-price {
	display: flex;
	align-items: baseline;
	gap: 10px;
	flex-wrap: wrap;
}

.avs-price__now {
	font-size: 19px;
	font-weight: 600;
	color: #fff;
	white-space: nowrap;
}

.avs-price__old {
	font-size: 14px;
	color: var(--avs-muted);
	text-decoration: line-through;
}

.avs-price--lg .avs-price__now {
	font-family: var(--avs-serif);
	font-size: 38px;
	font-weight: 500;
}

.avs-price--lg .avs-price__old {
	font-size: 17px;
}

/* ─────────────────────────────────────────────────────────────────────────
   11. Коллекции
   ───────────────────────────────────────────────────────────────────── */
.avs-collections {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
}

.avs-collection {
	position: relative;
	padding: 32px 26px 26px;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: rgba(255, 255, 255, .02);
	overflow: hidden;
	transition: all .3s var(--avs-ease);
}

.avs-collection::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(201, 162, 39, .12), transparent 55%);
	opacity: 0;
	transition: opacity .35s var(--avs-ease);
}

.avs-collection:hover {
	border-color: rgba(201, 162, 39, .45);
	transform: translateY(-4px);
}

.avs-collection:hover::before {
	opacity: 1;
}

.avs-collection__num {
	position: relative;
	font-family: var(--avs-serif);
	font-size: 15px;
	color: var(--avs-accent);
	letter-spacing: .1em;
}

.avs-collection h3 {
	position: relative;
	font-family: var(--avs-serif);
	font-size: 25px;
	font-weight: 500;
	color: #fff;
	margin: 14px 0 10px;
}

.avs-collection p {
	position: relative;
	font-size: 14px;
	line-height: 1.6;
	color: var(--avs-muted);
	margin: 0 0 20px;
	min-height: 44px;
}

.avs-collection__go {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--avs-accent);
	font-weight: 600;
}

/* ─────────────────────────────────────────────────────────────────────────
   12. Split-блок
   ───────────────────────────────────────────────────────────────────── */
.avs-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}

.avs-split__frame {
	position: relative;
	padding: 40px;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background:
		radial-gradient(circle at 50% 40%, rgba(255, 255, 255, .05), transparent 65%),
		var(--avs-bg-soft);
}

.avs-split__caption {
	margin-top: 20px;
	padding-left: 18px;
	border-left: 2px solid var(--avs-accent);
}

.avs-split__caption strong {
	display: block;
	color: #fff;
	font-size: 15px;
	margin-bottom: 4px;
}

.avs-split__caption span {
	font-size: 13px;
	color: var(--avs-muted);
	line-height: 1.5;
}

.avs-list {
	counter-reset: avs;
	margin: 32px 0;
	display: grid;
	gap: 22px;
}

.avs-list li {
	counter-increment: avs;
	position: relative;
	padding-left: 52px;
}

.avs-list li::before {
	content: counter(avs, decimal-leading-zero);
	position: absolute;
	left: 0;
	top: 0;
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	border: 1px solid rgba(201, 162, 39, .4);
	color: var(--avs-accent);
	font-size: 12px;
	font-weight: 600;
}

.avs-list strong {
	display: block;
	color: #fff;
	font-size: 16px;
	margin-bottom: 5px;
}

.avs-list span {
	font-size: 14px;
	line-height: 1.65;
	color: var(--avs-muted);
}

/* ─────────────────────────────────────────────────────────────────────────
   13. Цифры
   ───────────────────────────────────────────────────────────────────── */
.avs-numbers {
	padding: clamp(40px, 6vw, 70px) 0;
	background:
		linear-gradient(90deg, rgba(201, 162, 39, .07), transparent 40%, rgba(201, 162, 39, .07)),
		var(--avs-bg-soft);
	border-top: 1px solid var(--avs-line-soft);
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-numbers__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
	text-align: center;
}

.avs-numbers__grid strong {
	display: block;
	font-family: var(--avs-serif);
	font-size: clamp(34px, 4.4vw, 54px);
	line-height: 1;
	color: var(--avs-accent);
	margin-bottom: 10px;
}

.avs-numbers__grid span {
	font-size: 13px;
	letter-spacing: .06em;
	color: var(--avs-muted);
}

/* ─────────────────────────────────────────────────────────────────────────
   14. Отзывы
   ───────────────────────────────────────────────────────────────────── */
.avs-quotes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}

.avs-quote {
	position: relative;
	margin: 0;
	padding: 34px 28px 28px;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
}

.avs-quote__mark {
	position: absolute;
	top: 24px;
	right: 24px;
	color: rgba(201, 162, 39, .22);
}

.avs-quote blockquote {
	margin: 14px 0 22px;
	font-size: 15px;
	line-height: 1.75;
	color: #d6dae2;
}

.avs-quote figcaption strong {
	display: block;
	color: #fff;
	font-size: 15px;
}

.avs-quote figcaption span {
	font-size: 13px;
	color: var(--avs-muted);
}

.avs-stars {
	display: inline-flex;
	gap: 3px;
	color: rgba(255, 255, 255, .2);
}

.avs-stars i.is-on {
	color: var(--avs-accent);
}

.avs-stars svg {
	fill: currentColor;
	stroke: none;
}

/* ─────────────────────────────────────────────────────────────────────────
   15. Журнал
   ───────────────────────────────────────────────────────────────────── */
.avs-article {
	display: flex;
	flex-direction: column;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
	overflow: hidden;
	transition: all .3s var(--avs-ease);
}

.avs-article:hover {
	border-color: rgba(201, 162, 39, .35);
	transform: translateY(-4px);
}

.avs-article__media {
	display: grid;
	place-items: center;
	aspect-ratio: 16 / 10;
	background:
		radial-gradient(circle at 50% 40%, rgba(255, 255, 255, .05), transparent 65%),
		var(--avs-bg-soft);
	overflow: hidden;
}

.avs-article__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .5s var(--avs-ease);
}

.avs-article:hover .avs-article__media img {
	transform: scale(1.05);
}

.avs-article__ph {
	color: rgba(201, 162, 39, .45);
}

.avs-article__body {
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	flex: 1;
}

.avs-article__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
	font-size: 12px;
	color: var(--avs-muted);
}

.avs-tag {
	padding: 4px 11px;
	border-radius: 100px;
	background: rgba(201, 162, 39, .12);
	color: var(--avs-accent);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .06em;
}

.avs-tag:hover {
	background: rgba(201, 162, 39, .22);
}

.avs-article__title {
	font-family: var(--avs-serif);
	font-size: 23px;
	font-weight: 500;
	line-height: 1.25;
	margin: 0;
	color: #fff;
}

.avs-article__title a:hover {
	color: var(--avs-accent);
}

.avs-article__excerpt {
	font-size: 14px;
	line-height: 1.65;
	color: var(--avs-muted);
	margin: 0;
}

.avs-article__body .avs-link {
	margin-top: auto;
	padding-top: 6px;
}

.avs-grid--journal {
	grid-template-columns: repeat(3, 1fr);
}

.avs-article--large {
	grid-column: span 3;
	flex-direction: row;
}

.avs-article--large .avs-article__media {
	flex: 0 0 52%;
	aspect-ratio: auto;
}

.avs-article--large .avs-article__body {
	padding: 40px;
	justify-content: center;
}

.avs-article--large .avs-article__title {
	font-size: clamp(26px, 3vw, 38px);
}

.avs-article--large .avs-article__excerpt {
	font-size: 16px;
}

/* Чипы тем */
.avs-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 36px;
}

.avs-chip {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 18px;
	border-radius: 100px;
	border: 1px solid var(--avs-line);
	font-size: 13px;
	color: var(--avs-muted);
	transition: all .25s var(--avs-ease);
}

.avs-chip span {
	font-size: 11px;
	opacity: .7;
}

.avs-chip:hover,
.avs-chip.is-active {
	border-color: var(--avs-accent);
	color: var(--avs-accent);
	background: rgba(201, 162, 39, .08);
}

/* ─────────────────────────────────────────────────────────────────────────
   16. CTA / подписка / контакты
   ───────────────────────────────────────────────────────────────────── */
.avs-cta {
	padding: clamp(60px, 8vw, 100px) 0 50px;
	background:
		radial-gradient(700px 400px at 50% 0%, rgba(201, 162, 39, .1), transparent 65%),
		var(--avs-bg);
}

.avs-cta__box {
	display: grid;
	grid-template-columns: 1.1fr .9fr;
	gap: 50px;
	align-items: center;
	padding: clamp(30px, 4vw, 52px);
	border: 1px solid var(--avs-line);
	border-radius: calc(var(--avs-radius) + 6px);
	background: var(--avs-bg-panel);
	box-shadow: var(--avs-shadow);
}

.avs-cta__text p {
	color: var(--avs-muted);
	font-size: 15px;
	line-height: 1.7;
	margin: 0;
	max-width: 480px;
}

.avs-subscribe {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 12px;
}

.avs-subscribe input {
	padding: 15px 20px;
	border-radius: 100px;
	border: 1px solid var(--avs-line);
	background: rgba(255, 255, 255, .03);
	outline: none;
	transition: border-color .25s var(--avs-ease);
	min-width: 0;
}

.avs-subscribe input:focus {
	border-color: var(--avs-accent);
}

.avs-subscribe input::placeholder {
	color: rgba(255, 255, 255, .3);
}

.avs-subscribe__note {
	grid-column: 1 / -1;
	font-size: 12px;
	color: var(--avs-muted);
	margin: 0;
	padding-left: 20px;
}

.avs-subscribe__note.is-ok { color: var(--avs-ok); }
.avs-subscribe__note.is-error { color: var(--avs-danger); }

.avs-contacts {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
	gap: 18px;
	margin-top: 40px;
}

.avs-contacts__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 20px;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius-sm);
	transition: border-color .25s var(--avs-ease);
}

.avs-contacts__item:hover {
	border-color: rgba(201, 162, 39, .4);
}

.avs-contacts__item svg {
	color: var(--avs-accent);
}

.avs-contacts__item small {
	display: block;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--avs-muted);
	margin-bottom: 4px;
}

.avs-contacts__item strong {
	font-size: 14px;
	color: #fff;
	font-weight: 500;
}

.avs-footnote {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 40px;
	padding-top: 24px;
	border-top: 1px solid var(--avs-line-soft);
	font-size: 12px;
	color: var(--avs-muted);
}

/* ─────────────────────────────────────────────────────────────────────────
   17. Шапка внутренних страниц
   ───────────────────────────────────────────────────────────────────── */
.avs-page-wrap {
	min-height: 60vh;
}

.avs-pagehead {
	padding: clamp(48px, 6vw, 80px) 0 clamp(32px, 4vw, 50px);
	background:
		radial-gradient(800px 400px at 20% 0%, rgba(201, 162, 39, .1), transparent 62%),
		var(--avs-bg);
	border-bottom: 1px solid var(--avs-line-soft);
	margin-bottom: 44px;
}

.avs-pagehead--sm {
	padding-bottom: 28px;
	margin-bottom: 34px;
}

.avs-pagehead__sub {
	max-width: 620px;
	color: var(--avs-muted);
	font-size: 16px;
	line-height: 1.7;
	margin: 0;
}

.avs-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--avs-muted);
	margin-bottom: 28px;
}

.avs-breadcrumbs a:hover {
	color: var(--avs-accent);
}

/* ─────────────────────────────────────────────────────────────────────────
   18. Каталог
   ───────────────────────────────────────────────────────────────────── */
.avs-catalog {
	display: grid;
	grid-template-columns: 268px 1fr;
	gap: 34px;
	align-items: start;
	padding-bottom: 60px;
}

.avs-filters {
	position: sticky;
	top: 96px;
	padding: 26px 24px;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
}

.avs-filters__head {
	display: none;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 18px;
}

.avs-filters__group {
	padding-bottom: 22px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-filters__group:last-of-type {
	border-bottom: 0;
}

.avs-filters__label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--avs-muted);
	margin-bottom: 14px;
}

.avs-search {
	position: relative;
	display: flex;
	align-items: center;
}

.avs-search svg {
	position: absolute;
	left: 14px;
	color: var(--avs-muted);
}

.avs-search input {
	width: 100%;
	padding: 12px 14px 12px 40px;
	border-radius: 100px;
	border: 1px solid var(--avs-line);
	background: rgba(255, 255, 255, .03);
	outline: none;
}

.avs-search input:focus {
	border-color: var(--avs-accent);
}

.avs-checks {
	display: grid;
	gap: 4px;
	max-height: 260px;
	overflow-y: auto;
	padding-right: 4px;
}

.avs-checks::-webkit-scrollbar { width: 4px; }
.avs-checks::-webkit-scrollbar-thumb { background: var(--avs-line); border-radius: 4px; }

.avs-check {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 6px;
	border-radius: 8px;
	cursor: pointer;
	transition: background .2s var(--avs-ease);
}

.avs-check:hover {
	background: rgba(255, 255, 255, .03);
}

.avs-check input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.avs-check__box {
	display: grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border-radius: 5px;
	border: 1px solid var(--avs-line);
	color: transparent;
	transition: all .2s var(--avs-ease);
	flex-shrink: 0;
}

.avs-check input:checked + .avs-check__box {
	background: var(--avs-accent);
	border-color: var(--avs-accent);
	color: #14100a;
}

.avs-check__text {
	font-size: 14px;
	color: var(--avs-text);
	flex: 1;
}

.avs-check__count {
	font-size: 11px;
	color: var(--avs-muted);
}

.avs-range {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 8px;
}

.avs-range input {
	width: 100%;
	padding: 11px 12px;
	border-radius: 10px;
	border: 1px solid var(--avs-line);
	background: rgba(255, 255, 255, .03);
	outline: none;
	font-size: 14px;
}

.avs-range input:focus {
	border-color: var(--avs-accent);
}

.avs-range span {
	color: var(--avs-muted);
}

.avs-range__presets {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 12px;
}

.avs-range__presets button {
	padding: 6px 12px;
	border-radius: 100px;
	border: 1px solid var(--avs-line);
	font-size: 12px;
	color: var(--avs-muted);
	transition: all .2s var(--avs-ease);
}

.avs-range__presets button:hover {
	border-color: var(--avs-accent);
	color: var(--avs-accent);
}

.avs-filters__actions {
	display: grid;
	gap: 10px;
	margin-top: 8px;
}

.avs-catalog__bar {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding-bottom: 22px;
	margin-bottom: 22px;
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-catalog__found {
	font-size: 14px;
	color: var(--avs-muted);
	margin-right: auto;
}

.avs-select {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--avs-muted);
}

.avs-select select {
	padding: 9px 14px;
	border-radius: 100px;
	border: 1px solid var(--avs-line);
	background: var(--avs-bg-panel);
	outline: none;
	cursor: pointer;
}

.avs-filters-toggle {
	display: none;
}

.avs-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin-top: 44px;
}

.avs-pagination__item,
.avs-pagination .page-numbers {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	padding: 0 12px;
	border-radius: 100px;
	border: 1px solid var(--avs-line);
	font-size: 14px;
	color: var(--avs-muted);
	transition: all .25s var(--avs-ease);
}

.avs-pagination__item:hover,
.avs-pagination .page-numbers:hover,
.avs-pagination__item.is-active,
.avs-pagination .page-numbers.current {
	border-color: var(--avs-accent);
	color: var(--avs-accent);
	background: rgba(201, 162, 39, .08);
}

.avs-loader {
	display: flex;
	justify-content: center;
	gap: 8px;
	padding: 40px 0;
}

.avs-loader span {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--avs-accent);
	animation: avs-bounce 1s infinite ease-in-out;
}

.avs-loader span:nth-child(2) { animation-delay: .15s; }
.avs-loader span:nth-child(3) { animation-delay: .3s; }

@keyframes avs-bounce {
	0%, 80%, 100% { transform: scale(.5); opacity: .4; }
	40%           { transform: scale(1); opacity: 1; }
}

.avs-grid.is-fading {
	opacity: .25;
	transition: opacity .2s var(--avs-ease);
}

.avs-empty {
	text-align: center;
	padding: 70px 24px;
	border: 1px dashed var(--avs-line);
	border-radius: var(--avs-radius);
	color: var(--avs-muted);
}

.avs-empty svg {
	color: var(--avs-accent);
	opacity: .6;
	margin: 0 auto 18px;
}

.avs-empty h3 {
	font-family: var(--avs-serif);
	font-size: 26px;
	color: #fff;
	margin: 0 0 10px;
}

.avs-empty p {
	margin: 0 0 22px;
}

/* ─────────────────────────────────────────────────────────────────────────
   19. Корзина
   ───────────────────────────────────────────────────────────────────── */
.avs-cart {
	display: grid;
	grid-template-columns: 1fr 360px;
	gap: 30px;
	align-items: start;
	padding-bottom: 70px;
}

.avs-cart-list {
	display: grid;
	gap: 14px;
}

.avs-cart-row {
	display: grid;
	grid-template-columns: 92px 1fr auto auto auto;
	align-items: center;
	gap: 18px;
	padding: 16px;
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
	transition: opacity .25s var(--avs-ease), border-color .25s var(--avs-ease);
}

.avs-cart-row.is-removing {
	opacity: .3;
}

.avs-cart-row__media {
	display: grid;
	place-items: center;
	width: 92px;
	height: 92px;
	border-radius: var(--avs-radius-sm);
	background: var(--avs-bg-soft);
	overflow: hidden;
	padding: 8px;
}

.avs-cart-row__media img,
.avs-cart-row__media .avs-placeholder {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.avs-cart-row__brand {
	display: block;
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--avs-accent);
	margin-bottom: 5px;
}

.avs-cart-row__info h3 {
	font-family: var(--avs-serif);
	font-size: 20px;
	font-weight: 500;
	margin: 0 0 5px;
	color: #fff;
}

.avs-cart-row__sku {
	font-size: 12px;
	color: var(--avs-muted);
}

.avs-cart-row__sum {
	font-size: 17px;
	font-weight: 600;
	color: #fff;
	white-space: nowrap;
	min-width: 110px;
	text-align: right;
}

.avs-cart-row__del {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--avs-line);
	color: var(--avs-muted);
	transition: all .2s var(--avs-ease);
}

.avs-cart-row__del:hover {
	border-color: var(--avs-danger);
	color: var(--avs-danger);
}

.avs-qty {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--avs-line);
	border-radius: 100px;
	overflow: hidden;
}

.avs-qty__btn {
	display: grid;
	place-items: center;
	width: 36px;
	height: 38px;
	color: var(--avs-muted);
	transition: all .2s var(--avs-ease);
}

.avs-qty__btn:hover {
	color: var(--avs-accent);
	background: rgba(255, 255, 255, .04);
}

.avs-qty__input {
	width: 40px;
	height: 38px;
	text-align: center;
	border: 0;
	background: none;
	outline: none;
	font-size: 15px;
	font-weight: 600;
}

.avs-qty--lg .avs-qty__btn { width: 46px; height: 50px; }
.avs-qty--lg .avs-qty__input { width: 48px; height: 50px; font-size: 17px; }

.avs-summary {
	position: sticky;
	top: 96px;
	padding: 28px;
	border: 1px solid var(--avs-line);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
	box-shadow: var(--avs-shadow);
}

.avs-summary h2 {
	font-family: var(--avs-serif);
	font-size: 26px;
	font-weight: 500;
	margin: 0 0 22px;
	color: #fff;
}

.avs-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 11px 0;
	font-size: 14px;
	color: var(--avs-muted);
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-summary__row strong {
	color: var(--avs-text);
	font-weight: 600;
}

.avs-summary__hint {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 14px 0 0;
	padding: 12px 14px;
	border-radius: var(--avs-radius-sm);
	background: rgba(201, 162, 39, .08);
	font-size: 13px;
	color: var(--avs-accent);
}

.avs-summary__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 16px;
	margin: 22px 0;
	padding-top: 18px;
	border-top: 1px solid var(--avs-line);
}

.avs-summary__total span {
	font-size: 14px;
	color: var(--avs-muted);
}

.avs-summary__total strong {
	font-family: var(--avs-serif);
	font-size: 32px;
	font-weight: 600;
	color: #fff;
}

.avs-summary__perks {
	display: grid;
	gap: 10px;
	margin-top: 22px;
}

.avs-summary__perks li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--avs-muted);
}

.avs-summary__perks svg {
	color: var(--avs-accent);
}

.avs-summary__items {
	display: grid;
	gap: 12px;
	margin-bottom: 20px;
	padding-bottom: 18px;
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-summary__items li {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	font-size: 14px;
	color: var(--avs-muted);
}

.avs-summary__name {
	color: var(--avs-text);
}

.avs-summary__name em {
	font-style: normal;
	color: var(--avs-muted);
}

.avs-summary__legal {
	font-size: 12px;
	line-height: 1.6;
	color: var(--avs-muted);
	margin: 16px 0 0;
}

.avs-promo {
	margin: 20px 0 0;
}

.avs-promo label {
	display: block;
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--avs-muted);
	margin-bottom: 10px;
}

.avs-promo__row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
}

.avs-promo__row input {
	padding: 11px 16px;
	border-radius: 100px;
	border: 1px solid var(--avs-line);
	background: rgba(255, 255, 255, .03);
	outline: none;
	text-transform: uppercase;
	letter-spacing: .08em;
	min-width: 0;
}

.avs-promo__row input:focus {
	border-color: var(--avs-accent);
}

.avs-promo__note {
	font-size: 12px;
	margin: 8px 0 0;
	min-height: 16px;
}

.avs-promo__note.is-ok { color: var(--avs-ok); }
.avs-promo__note.is-error { color: var(--avs-danger); }

.avs-empty--cart {
	padding: 60px 24px;
}

/* ─────────────────────────────────────────────────────────────────────────
   20. Оформление заказа
   ───────────────────────────────────────────────────────────────────── */
.avs-checkout {
	display: grid;
	grid-template-columns: 1fr 380px;
	gap: 30px;
	align-items: start;
	padding-bottom: 70px;
}

.avs-checkout__main {
	display: grid;
	gap: 18px;
}

.avs-fieldset {
	border: 1px solid var(--avs-line-soft);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
	padding: 28px;
	margin: 0;
}

.avs-fieldset legend {
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--avs-serif);
	font-size: 24px;
	color: #fff;
	padding: 0 10px;
	margin-left: -10px;
}

.avs-fieldset legend span {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1px solid rgba(201, 162, 39, .4);
	font-family: var(--avs-sans);
	font-size: 12px;
	font-weight: 700;
	color: var(--avs-accent);
}

.avs-fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-top: 22px;
}

.avs-field {
	display: block;
}

.avs-field--wide {
	grid-column: 1 / -1;
}

.avs-field > span {
	display: block;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--avs-muted);
	margin-bottom: 8px;
}

.avs-field input,
.avs-field textarea {
	width: 100%;
	padding: 14px 16px;
	border-radius: var(--avs-radius-sm);
	border: 1px solid var(--avs-line);
	background: rgba(255, 255, 255, .03);
	outline: none;
	transition: border-color .2s var(--avs-ease);
	resize: vertical;
}

.avs-field input:focus,
.avs-field textarea:focus {
	border-color: var(--avs-accent);
}

.avs-field input::placeholder,
.avs-field textarea::placeholder {
	color: rgba(255, 255, 255, .25);
}

.avs-radios {
	display: grid;
	gap: 10px;
	margin-top: 22px;
}

.avs-radios--row {
	grid-template-columns: repeat(3, 1fr);
}

.avs-radio {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 16px 18px;
	border: 1px solid var(--avs-line);
	border-radius: var(--avs-radius-sm);
	cursor: pointer;
	transition: all .2s var(--avs-ease);
}

.avs-radio:hover {
	border-color: rgba(201, 162, 39, .5);
}

.avs-radio input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.avs-radio__box {
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1px solid var(--avs-line);
	flex-shrink: 0;
	transition: all .2s var(--avs-ease);
}

.avs-radio input:checked ~ .avs-radio__box {
	border-color: var(--avs-accent);
	border-width: 5px;
}

.avs-radio input:checked ~ .avs-radio__text strong {
	color: var(--avs-accent);
}

.avs-radio__text strong {
	display: block;
	font-size: 15px;
	font-weight: 600;
	color: #fff;
	transition: color .2s var(--avs-ease);
}

.avs-radio__text small {
	display: block;
	font-size: 12px;
	color: var(--avs-muted);
	margin-top: 3px;
}

.avs-alert {
	padding: 14px 18px;
	border-radius: var(--avs-radius-sm);
	margin-bottom: 24px;
	font-size: 14px;
}

.avs-alert--error {
	background: rgba(224, 82, 82, .12);
	border: 1px solid rgba(224, 82, 82, .35);
	color: #ffb4b4;
}

/* ─────────────────────────────────────────────────────────────────────────
   21. Спасибо
   ───────────────────────────────────────────────────────────────────── */
.avs-thanks {
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(50px, 7vw, 90px) 24px 80px;
	text-align: center;
}

.avs-thanks__icon {
	display: grid;
	place-items: center;
	width: 84px;
	height: 84px;
	margin: 0 auto 28px;
	border-radius: 50%;
	border: 1px solid rgba(201, 162, 39, .45);
	background: rgba(201, 162, 39, .1);
	color: var(--avs-accent);
}

.avs-thanks__icon--muted {
	border-color: var(--avs-line);
	background: rgba(255, 255, 255, .03);
	color: var(--avs-muted);
}

.avs-thanks__lead {
	color: var(--avs-muted);
	font-size: 16px;
	line-height: 1.75;
	margin: 0 auto 34px;
	max-width: 560px;
}

.avs-thanks__lead strong {
	color: var(--avs-text);
}

.avs-thanks__card {
	text-align: left;
	padding: 28px;
	border: 1px solid var(--avs-line);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
	margin-bottom: 34px;
}

.avs-thanks__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: center;
}

/* ─────────────────────────────────────────────────────────────────────────
   22. Страница товара
   ───────────────────────────────────────────────────────────────────── */
.avs-single {
	padding-bottom: 0;
}

.avs-single .avs-container:first-of-type {
	padding-top: 34px;
}

.avs-product-page {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	align-items: start;
	margin-bottom: 70px;
}

.avs-gallery__main {
	position: relative;
	display: grid;
	place-items: center;
	aspect-ratio: 1;
	padding: 44px;
	border: 1px solid var(--avs-line-soft);
	border-radius: calc(var(--avs-radius) + 4px);
	background:
		radial-gradient(circle at 50% 35%, rgba(255, 255, 255, .06), transparent 62%),
		var(--avs-bg-soft);
	overflow: hidden;
}

.avs-gallery__main img,
.avs-gallery__main .avs-placeholder {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.avs-gallery__thumbs {
	display: flex;
	gap: 10px;
	margin-top: 14px;
	flex-wrap: wrap;
}

.avs-gallery__thumb {
	width: 78px;
	height: 78px;
	padding: 6px;
	border-radius: var(--avs-radius-sm);
	border: 1px solid var(--avs-line-soft);
	background: var(--avs-bg-soft);
	transition: border-color .2s var(--avs-ease);
	overflow: hidden;
}

.avs-gallery__thumb:hover,
.avs-gallery__thumb.is-active {
	border-color: var(--avs-accent);
}

.avs-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.avs-product-info__brand {
	display: inline-block;
	font-size: 12px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--avs-accent);
	font-weight: 600;
	margin-bottom: 14px;
}

.avs-product-info__rating {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 18px;
	margin: 16px 0 22px;
	font-size: 13px;
	color: var(--avs-muted);
}

.avs-product-info__stock {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--avs-ok);
}

.avs-product-info__stock::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
}

.avs-product-info__stock.is-out {
	color: #d9a441;
}

.avs-product-info__lead {
	font-size: 16px;
	line-height: 1.75;
	color: var(--avs-muted);
	margin-bottom: 28px;
}

.avs-product-info__buy {
	padding: 26px;
	border: 1px solid var(--avs-line);
	border-radius: var(--avs-radius);
	background: var(--avs-bg-panel);
	margin-bottom: 30px;
}

.avs-buy-row {
	display: flex;
	gap: 12px;
	margin: 22px 0;
	flex-wrap: wrap;
}

.avs-buy-row .avs-btn {
	flex: 1;
	min-width: 180px;
}

.avs-product-info__perks {
	display: grid;
	gap: 10px;
	padding-top: 20px;
	border-top: 1px solid var(--avs-line-soft);
}

.avs-product-info__perks li {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 13px;
	color: var(--avs-muted);
}

.avs-product-info__perks svg {
	color: var(--avs-accent);
}

.avs-specs dl {
	margin: 18px 0 0;
}

.avs-specs__row {
	display: grid;
	grid-template-columns: 165px 1fr;
	gap: 16px;
	padding: 13px 0;
	border-bottom: 1px solid var(--avs-line-soft);
	font-size: 14px;
}

.avs-specs__row dt {
	color: var(--avs-muted);
}

.avs-specs__row dd {
	margin: 0;
	color: var(--avs-text);
}

.avs-description {
	max-width: 780px;
	margin-bottom: 70px;
}

/* Текстовые блоки */
.avs-prose {
	font-size: 16px;
	line-height: 1.8;
	color: #c9cfd9;
}

.avs-prose h2 {
	font-family: var(--avs-serif);
	font-size: 30px;
	font-weight: 500;
	color: #fff;
	margin: 40px 0 16px;
}

.avs-prose h3 {
	font-family: var(--avs-serif);
	font-size: 24px;
	font-weight: 500;
	color: #fff;
	margin: 32px 0 14px;
}

.avs-prose p {
	margin: 0 0 1.1em;
}

.avs-prose a {
	color: var(--avs-accent);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.avs-prose ul,
.avs-prose ol {
	margin: 0 0 1.2em;
	padding-left: 22px;
	list-style: disc;
}

.avs-prose ol {
	list-style: decimal;
}

.avs-prose li {
	margin-bottom: .5em;
}

.avs-prose blockquote {
	margin: 28px 0;
	padding: 20px 26px;
	border-left: 2px solid var(--avs-accent);
	background: rgba(255, 255, 255, .03);
	font-family: var(--avs-serif);
	font-size: 21px;
	line-height: 1.5;
	color: #fff;
}

.avs-prose img {
	border-radius: var(--avs-radius);
	margin: 24px 0;
}

/* ─────────────────────────────────────────────────────────────────────────
   23. Статья
   ───────────────────────────────────────────────────────────────────── */
.avs-post__head {
	padding: 34px 0 30px;
	background:
		radial-gradient(700px 380px at 30% 0%, rgba(201, 162, 39, .1), transparent 62%),
		var(--avs-bg);
}

.avs-post__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	font-size: 13px;
	color: var(--avs-muted);
	margin-bottom: 20px;
}

.avs-post__lead {
	font-size: 19px;
	line-height: 1.65;
	color: var(--avs-muted);
	margin: 18px 0 0;
}

.avs-post__cover {
	margin: 34px 0;
	border-radius: var(--avs-radius);
	overflow: hidden;
	border: 1px solid var(--avs-line-soft);
}

.avs-post__cover img {
	width: 100%;
}

.avs-post__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px;
	margin: 50px 0 70px;
	padding-top: 30px;
	border-top: 1px solid var(--avs-line-soft);
}

/* ─────────────────────────────────────────────────────────────────────────
   24. Мини-корзина и уведомления
   ───────────────────────────────────────────────────────────────────── */
.avs-drawer {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	width: min(400px, 92vw);
	z-index: 9999;
	background: var(--avs-bg-panel);
	border-left: 1px solid var(--avs-line);
	box-shadow: -30px 0 70px -30px rgba(0, 0, 0, .9);
	transform: translateX(100%);
	transition: transform .35s var(--avs-ease);
	display: flex;
	flex-direction: column;
	font-family: var(--avs-sans);
	color: var(--avs-text);
}

.avs-drawer.is-open {
	transform: translateX(0);
}

.avs-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(4, 6, 9, .6);
	backdrop-filter: blur(3px);
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s var(--avs-ease);
}

.avs-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

.avs-mini__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 22px 24px;
	border-bottom: 1px solid var(--avs-line-soft);
	font-family: var(--avs-serif);
	font-size: 22px;
	color: #fff;
}

.avs-mini__close {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	border: 1px solid var(--avs-line);
	color: var(--avs-muted);
}

.avs-mini__close:hover {
	color: var(--avs-accent);
	border-color: var(--avs-accent);
}

.avs-mini__list {
	flex: 1;
	overflow-y: auto;
	padding: 16px 24px;
	display: grid;
	gap: 14px;
	align-content: start;
}

.avs-mini__item {
	display: grid;
	grid-template-columns: 62px 1fr auto;
	align-items: center;
	gap: 14px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--avs-line-soft);
}

.avs-mini__media {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	padding: 6px;
	border-radius: 10px;
	background: var(--avs-bg-soft);
	overflow: hidden;
}

.avs-mini__media img,
.avs-mini__media .avs-placeholder {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.avs-mini__info a {
	display: block;
	font-size: 14px;
	color: #fff;
	line-height: 1.35;
	margin-bottom: 4px;
}

.avs-mini__info a:hover {
	color: var(--avs-accent);
}

.avs-mini__info small {
	font-size: 12px;
	color: var(--avs-muted);
}

.avs-mini__del {
	color: var(--avs-muted);
	padding: 6px;
}

.avs-mini__del:hover {
	color: var(--avs-danger);
}

.avs-mini__foot {
	padding: 20px 24px 24px;
	border-top: 1px solid var(--avs-line-soft);
	display: grid;
	gap: 10px;
}

.avs-mini__total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 8px;
}

.avs-mini__total span {
	font-size: 13px;
	color: var(--avs-muted);
}

.avs-mini__total strong {
	font-family: var(--avs-serif);
	font-size: 26px;
	color: #fff;
}

.avs-mini__empty {
	flex: 1;
	display: grid;
	place-content: center;
	justify-items: center;
	gap: 14px;
	color: var(--avs-muted);
	padding: 40px;
	text-align: center;
}

.avs-mini__empty svg {
	color: var(--avs-accent);
	opacity: .5;
}

.avs-toasts {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 10000;
	display: grid;
	gap: 10px;
	font-family: var(--avs-sans);
}

.avs-toast {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 14px 20px;
	border-radius: 100px;
	background: var(--avs-bg-panel);
	border: 1px solid var(--avs-line);
	color: var(--avs-text);
	font-size: 14px;
	box-shadow: var(--avs-shadow);
	transform: translateY(16px);
	opacity: 0;
	transition: all .3s var(--avs-ease);
	max-width: 340px;
}

.avs-toast.is-visible {
	transform: translateY(0);
	opacity: 1;
}

.avs-toast::before {
	content: "";
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--avs-ok);
	flex-shrink: 0;
}

.avs-toast--error::before {
	background: var(--avs-danger);
}

/* ─────────────────────────────────────────────────────────────────────────
   25. Появление при прокрутке
   ───────────────────────────────────────────────────────────────────── */
.avs-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .7s var(--avs-ease), transform .7s var(--avs-ease);
}

.avs-reveal.is-in {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.avs *,
	.avs *::before,
	.avs *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}

	.avs-reveal {
		opacity: 1;
		transform: none;
	}
}

/* ─────────────────────────────────────────────────────────────────────────
   26. Адаптив
   ───────────────────────────────────────────────────────────────────── */
@media (max-width: 1180px) {
	.avs-grid--products { grid-template-columns: repeat(3, 1fr); }
	.avs-features { grid-template-columns: repeat(2, 1fr); }
	.avs-hero__note { display: none; }
}

@media (max-width: 1024px) {
	.avs-nav__links,
	.avs-nav__phone { display: none; }

	.avs-burger { display: grid; }

	.avs-nav__links.is-open {
		display: flex;
		position: absolute;
		top: 74px;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 12px 24px 20px;
		background: rgba(8, 11, 16, .98);
		border-bottom: 1px solid var(--avs-line);
	}

	.avs-nav__links.is-open a {
		padding: 14px 0;
		border-bottom: 1px solid var(--avs-line-soft);
		font-size: 16px;
	}

	.avs-hero__inner { grid-template-columns: 1fr; gap: 44px; }
	.avs-hero__media { min-height: 340px; order: -1; }
	.avs-hero__rings { right: -50%; opacity: .5; }
	.avs-hero__chip { left: 0; bottom: 0; }

	.avs-split { grid-template-columns: 1fr; gap: 40px; }
	.avs-catalog { grid-template-columns: 1fr; }
	.avs-cart,
	.avs-checkout { grid-template-columns: 1fr; }

	.avs-summary { position: static; }

	.avs-product-page { grid-template-columns: 1fr; gap: 34px; }

	.avs-article--large { flex-direction: column; }
	.avs-article--large .avs-article__media { flex: none; aspect-ratio: 16 / 9; }
	.avs-article--large .avs-article__body { padding: 28px; }

	.avs-cta__box { grid-template-columns: 1fr; gap: 30px; }

	/* Фильтры уезжают в шторку */
	.avs-filters {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: min(340px, 90vw);
		z-index: 9999;
		border-radius: 0;
		overflow-y: auto;
		transform: translateX(-100%);
		transition: transform .35s var(--avs-ease);
	}

	.avs-filters.is-open { transform: translateX(0); }
	.avs-filters__head { display: flex; }
	.avs-filters-toggle { display: inline-flex; }
}

@media (max-width: 860px) {
	.avs-grid--products,
	.avs-grid--articles,
	.avs-grid--journal { grid-template-columns: repeat(2, 1fr); }

	.avs-article--large { grid-column: span 2; }
	.avs-quotes { grid-template-columns: 1fr; }
	.avs-numbers__grid { grid-template-columns: repeat(2, 1fr); gap: 32px 16px; }
	.avs-radios--row { grid-template-columns: 1fr; }

	.avs-cart-row {
		grid-template-columns: 76px 1fr auto;
		grid-template-areas:
			"media info del"
			"media qty  sum";
		gap: 10px 14px;
	}

	.avs-cart-row__media { grid-area: media; width: 76px; height: 76px; }
	.avs-cart-row__info  { grid-area: info; }
	.avs-cart-row .avs-qty { grid-area: qty; }
	.avs-cart-row__sum   { grid-area: sum; text-align: right; min-width: 0; }
	.avs-cart-row__del   { grid-area: del; }
}

@media (max-width: 620px) {
	.avs-container { padding: 0 18px; }

	.avs-grid--products,
	.avs-grid--articles,
	.avs-grid--journal { grid-template-columns: 1fr; }

	.avs-article--large { grid-column: span 1; }
	.avs-features { grid-template-columns: 1fr; }
	.avs-hero__stats { gap: 26px; }
	.avs-hero__stats strong { font-size: 26px; }
	.avs-hero__cta .avs-btn { width: 100%; }
	.avs-fields { grid-template-columns: 1fr; }
	.avs-subscribe { grid-template-columns: 1fr; }
	.avs-specs__row { grid-template-columns: 1fr; gap: 4px; }
	.avs-toasts { right: 16px; left: 16px; bottom: 16px; }
	.avs-toast { max-width: none; }
	.avs-section__head--row { align-items: flex-start; }
}
