/* ==========================================================================
   Алмакс – шапка, мегаменю, мобильное меню, подвал
   almax-header.css · v1.7 · 08.10.2026

   Подключается на всех страницах (inc/almax-header.php).
   Файл самостоятельный: не зависит от almax-base.css, потому что работает
   и на старых страницах. Классы – с префиксом ax-.

   Содержание:
   1. Токены и общие элементы
   2. Шапка – общее
   3. Шапка – компьютер (от 1200 px)
   4. Мегаменю и выпадающие списки (от 1200 px)
   5. Шапка – телефон и планшет (до 1199 px)
   6. Подвал
   7. Уменьшение движения
   ========================================================================== */


/* 1. Токены и общие элементы
   -------------------------------------------------------------------------- */

:root {
	--ax-paper: #FFFCF9;
	--ax-cream: #FFF6EE;
	--ax-ink: #4D3C2D;
	--ax-kraft: #997759;
	--ax-orange: #FF8228;
	--ax-orange-text: #E0681A;   /* оранжевый для текста на светлом фоне */
	--ax-blue: #3F8FD2;
	--ax-magenta: #E5097F;
	--ax-yellow: #FECC00;
	--ax-kraft-light: #C9AE93;   /* значки на темном фоне */

	--ax-adminbar: var(--wp-admin--admin-bar--height, 0px);
	--ax-util-h: 53px;           /* полоса 5 px + служебная строка 48 px – уезжает при прокрутке */
	--ax-bar-h: 86px;
	--ax-bar-h-stuck: 64px;
	--ax-bar-h-m: 64px;

	scroll-padding-top: calc(var(--ax-bar-h-stuck) + var(--ax-adminbar) + 16px);
}

@media (max-width: 1199.98px) {
	:root {
		scroll-padding-top: calc(var(--ax-bar-h-m) + var(--ax-adminbar) + 12px);
	}
}

.ax-strip {
	height: 5px;
	background:
		linear-gradient(90deg,
			var(--ax-magenta) 0 20%, var(--ax-yellow) 0 40%, var(--ax-kraft) 0 60%,
			var(--ax-orange) 0 80%, var(--ax-blue) 0)
		0 0 / 50% 100% repeat-x;
}

.ax-hd .ax-wrap,
.ax-ft .ax-wrap {
	box-sizing: border-box;
	width: 100%;
	/* --ax-page-w – ширина колонки страницы, задается в inc/almax-header.php (ax_hf_page_width) */
	max-width: calc(var(--ax-page-w, 1200px) + 2 * var(--ax-gutter));
	margin-left: auto;
	margin-right: auto;
	padding-left: var(--ax-gutter);
	padding-right: var(--ax-gutter);
}

.ax-hd,
.ax-ft {
	--ax-gutter: 24px;
}

.ax-hd *,
.ax-hd *::before,
.ax-hd *::after,
.ax-ft *,
.ax-ft *::before,
.ax-ft *::after {
	box-sizing: border-box;
}

/* Перебивают «Пользовательский CSS» Customizer (маркеры у всех списков, отмена подчеркивания) */
.ax-hd ul,
.ax-hd li,
.ax-ft ul,
.ax-ft li {
	list-style: none !important;
	margin: 0;
	padding: 0;
}

.ax-hd p,
.ax-ft p {
	margin: 0;
}

.ax-hd svg,
.ax-ft svg {
	flex-shrink: 0;
	display: block;
}

.ax-vh {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

/* Ссылка «Перейти к содержанию» – видна только при переходе с клавиатуры */
.ax-skip {
	position: absolute;
	left: 16px;
	top: -100px;
	z-index: 1000;
	padding: 12px 18px;
	background: var(--ax-paper);
	color: var(--ax-ink) !important;
	font: 700 16px/1.2 "PT Sans", sans-serif;
	border-radius: 3px;
	box-shadow: 0 4px 16px rgba(0, 0, 0, .3);
}

.ax-skip:focus {
	top: calc(8px + var(--ax-adminbar));
	outline: 2px dashed var(--ax-ink);
	outline-offset: 2px;
}

/* Линия под ссылкой при наведении (фоном – Customizer отменяет text-decoration) */
.ax-hd .ax-line,
.ax-ft .ax-line {
	color: inherit;
	text-decoration: none;
	padding-bottom: 2px;
	background: linear-gradient(var(--ax-orange), var(--ax-orange)) 0 100% / 0 2px no-repeat;
	transition: background-size .35s ease;
}

.ax-hd .ax-line:hover,
.ax-hd .ax-line:focus-visible,
.ax-ft .ax-line:hover,
.ax-ft .ax-line:focus-visible {
	color: inherit;
	background-size: 100% 2px;
}

/* Фокус с клавиатуры: штриховая рамка, как линия вырубки */
.ax-hd :focus-visible,
.ax-ft :focus-visible {
	outline: 2px dashed currentColor;
	outline-offset: 3px;
}

/* Кнопки – «Штанцевая рамка» */
.ax-hd .ax-btn,
.ax-ft .ax-btn {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 50px;
	margin: 0;
	padding: 0 24px;
	border: 0;
	border-radius: 3px;
	background: var(--ax-orange);
	color: #fff;
	font: 700 16.5px/1.2 "PT Sans", sans-serif;
	letter-spacing: 0;
	text-transform: none;
	text-decoration: none;
	text-align: center;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: none;
	outline: 1.5px dashed rgba(255, 252, 249, .8);
	outline-offset: -6px;
	transition: outline-color .2s;
}

.ax-hd .ax-btn:hover,
.ax-ft .ax-btn:hover {
	background: var(--ax-orange);
	color: #fff;
	outline-style: solid;
	outline-width: 2px;
}

.ax-hd .ax-btn:focus-visible,
.ax-ft .ax-btn:focus-visible {
	outline: 2px solid var(--ax-paper);
	outline-offset: -6px;
	box-shadow: 0 0 0 3px var(--ax-ink), 0 0 0 5px var(--ax-paper);
}

.ax-hd .ax-btn--kraft,
.ax-hd .ax-btn--kraft:hover,
.ax-ft .ax-btn--kraft,
.ax-ft .ax-btn--kraft:hover {
	background: var(--ax-kraft);
}

.ax-hd .ax-btn--sm {
	min-height: 46px;
	padding: 0 20px;
	font-size: 16px;
}

/* Значок-кнопка (поиск, закрыть) */
.ax-hd .ax-icobtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background: transparent;
	color: inherit;
	box-shadow: none;
	cursor: pointer;
}

.ax-hd .ax-icobtn:hover {
	background: rgba(255, 252, 249, .1);
	color: inherit;
}

/* Строка контакта: значок + текст */
.ax-hd .ax-ci,
.ax-ft .ax-ci {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	white-space: nowrap;
}

.ax-hd .ax-ci > .ax-i,
.ax-ft .ax-ci > .ax-i {
	color: var(--ax-kraft-light);
}

.ax-hd .ax-tel,
.ax-ft .ax-tel {
	font-family: "PT Sans Caption", "PT Sans", sans-serif;
	font-weight: 700;
	letter-spacing: .01em;
}

/* Копирование почты */
.ax-copywrap {
	position: relative;
	display: inline-flex;
}

.ax-hd .ax-copy,
.ax-ft .ax-copy {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-height: 0;
	margin: 0 0 0 -2px;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background: transparent;
	color: var(--ax-kraft-light);
	box-shadow: none;
	cursor: pointer;
}

.ax-hd .ax-copy:hover,
.ax-ft .ax-copy:hover {
	background: rgba(255, 252, 249, .1);
	color: var(--ax-paper);
}

.ax-tip {
	position: absolute;
	top: calc(100% + 6px);
	left: 50%;
	z-index: 30;
	transform: translateX(-50%);
	padding: 4px 8px;
	border-radius: 3px;
	background: var(--ax-paper);
	color: var(--ax-ink);
	font: 700 13px/1.3 "PT Sans", sans-serif;
	white-space: nowrap;
	box-shadow: 0 4px 12px rgba(0, 0, 0, .25);
	pointer-events: none;
}

.ax-tip:empty {
	display: none;
}

/* Поле ввода (поиск) */
.ax-hd .ax-sform {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	flex: 1;
	min-width: 0;
}

.ax-hd .ax-input {
	flex: 1;
	min-width: 0;
	height: 50px;
	margin: 0;
	padding: 0 16px;
	border: 2px solid var(--ax-kraft);
	border-radius: 3px;
	background: #fff;
	color: var(--ax-ink);
	font: 400 17px/1.2 "PT Sans", sans-serif;
	box-shadow: none;
}

.ax-hd .ax-input::placeholder {
	color: #8C7763;
	opacity: 1;
}

.ax-hd .ax-input:focus {
	border-color: var(--ax-orange);
	outline: none;
}


/* 2. Шапка – общее
   -------------------------------------------------------------------------- */

.ax-hd {
	position: sticky;
	top: calc(var(--ax-adminbar) - var(--ax-util-h));
	z-index: 900;
	background: var(--ax-ink);
	color: var(--ax-paper);
	font-family: "PT Sans", sans-serif;
	font-size: 16px;
	line-height: 1.4;
	-webkit-font-smoothing: antialiased;
	transition: box-shadow .25s;
}

.ax-hd.is-stuck {
	box-shadow: 0 8px 24px rgba(77, 60, 45, .35);
}

.ax-hd a {
	color: inherit;
	text-decoration: none;
}

.ax-bar {
	position: relative;
}

.ax-main {
	display: flex;
	align-items: center;
	position: relative;
}

.ax-hd .ax-logo {
	display: block;
	flex-shrink: 0;
	margin-right: auto;
	line-height: 0;
}

.ax-hd .ax-logo img {
	display: block;
	width: auto;
	height: 54px;
	max-width: none;
	transition: height .25s;
}

/* Поиск под шапкой */
.ax-search {
	position: absolute;
	left: 0;
	right: 0;
	top: 100%;
	z-index: 4;
	background: var(--ax-paper);
	color: var(--ax-ink);
	border-bottom: 1px dashed rgba(153, 119, 89, .5);
	box-shadow: 0 12px 24px rgba(77, 60, 45, .18);
}

.ax-search[hidden] {
	display: none;
}

.ax-search__in {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 78px;
}

.ax-hd .ax-search__close {
	color: var(--ax-ink);
}

.ax-hd .ax-search__close:hover {
	background: rgba(153, 119, 89, .14);
	color: var(--ax-ink);
}


/* 3. Шапка – компьютер (от 1200 px)
   -------------------------------------------------------------------------- */

@media (min-width: 1200px) {

	.ax-call,
	.ax-hd .ax-burger,
	.ax-hd .ax-sub-tog,
	.ax-navwrap__search,
	.ax-navwrap__contacts {
		display: none !important;
	}

	/* Служебная строка */
	.ax-util {
		display: flex;
		align-items: center;
		gap: 28px;
		height: 48px;
		font-size: 16.5px;
		color: var(--ax-paper);
		border-bottom: 1px dashed rgba(255, 252, 249, .28);
	}

	.ax-util__tag {
		margin-right: auto !important;
		font-family: "PT Sans Narrow", "PT Sans", sans-serif;
		font-weight: 700;
		font-size: 16.5px;
		letter-spacing: .06em;
		text-transform: uppercase;
		white-space: nowrap;
		color: var(--ax-paper);
	}

	.ax-util .ax-tel,
	.ax-util .ax-ci--mail .ax-line {
		font-family: "PT Sans Caption", "PT Sans", sans-serif;
		font-weight: 700;
		font-size: 20px;
		letter-spacing: .01em;
		color: var(--ax-paper);
	}

	/* Основная строка */
	.ax-main {
		height: var(--ax-bar-h);
		transition: height .25s;
	}

	.ax-navwrap,
	.ax-navbox {
		display: flex;
		align-items: stretch;
		height: 100%;
	}

	.ax-navwrap {
		margin-right: 6px;
	}

	.ax-hd .ax-nav {
		display: flex;
		align-items: stretch;
		height: 100%;
		margin: 0;
		padding: 0;
	}

	.ax-hd .ax-nav > li {
		position: relative;
		display: flex;
		align-items: stretch;
	}

	.ax-hd .ax-nav > li.has-mega {
		position: static;
	}

	.ax-hd .ax-nav__a {
		position: relative;
		display: flex;
		align-items: center;
		gap: 4px;
		padding: 0 12px;
		color: var(--ax-paper);
		font-family: "PT Sans Narrow", "PT Sans", sans-serif;
		font-weight: 700;
		font-size: 19px;
		line-height: 1.2;
		letter-spacing: .01em;
		white-space: nowrap;
		cursor: pointer;
	}

	.ax-hd .ax-nav__a:hover {
		color: var(--ax-paper);
	}

	.ax-hd .ax-nav__a .ax-i {
		color: var(--ax-kraft-light);
		transition: transform .2s;
	}

	/* Оранжевая линия под пунктом при наведении и открытии */
	.ax-hd .ax-nav__a::after {
		content: "";
		position: absolute;
		left: 12px;
		right: 12px;
		bottom: 0;
		height: 3px;
		background: var(--ax-orange);
		transform: scaleX(0);
		transform-origin: left;
		transition: transform .3s ease;
	}

	.ax-hd .ax-nav > li:hover > .ax-nav__a::after,
	.ax-hd .ax-nav > li:focus-within > .ax-nav__a::after,
	.ax-hd .ax-nav > li.is-hover > .ax-nav__a::after {
		transform: scaleX(1);
	}

	.ax-hd .ax-nav > li:hover > .ax-nav__a .ax-i,
	.ax-hd .ax-nav > li.is-hover > .ax-nav__a .ax-i {
		transform: rotate(180deg);
	}

	/* Текущий раздел – штриховая линия */
	.ax-hd .ax-nav > li.is-current > .ax-nav__a::before {
		content: "";
		position: absolute;
		left: 12px;
		right: 12px;
		bottom: 0;
		height: 3px;
		/* Текущий раздел – оранжевая штриховая «линия реза»; при наведении ее «прорезает» сплошная линия */
		background: repeating-linear-gradient(90deg, var(--ax-orange) 0 5px, transparent 5px 9px);
	}

	.ax-hd .ax-search-btn {
		margin-right: 12px;
	}

	.ax-hd .ax-bar-tel {
		display: none;
		margin-right: 18px;
	}

	.ax-hd .ax-bar-tel .ax-tel {
		font-size: 16.5px;
	}

	/* Закрепленная шапка – компактная */
	.ax-hd.is-stuck .ax-main {
		height: var(--ax-bar-h-stuck);
	}

	.ax-hd.is-stuck .ax-logo img {
		height: 40px;
	}

	.ax-hd.is-stuck .ax-nav__a {
		padding: 0 10px;
		font-size: 18px;
	}

	.ax-hd.is-stuck .ax-nav__a::after,
	.ax-hd.is-stuck .ax-nav > li.is-current > .ax-nav__a::before {
		left: 10px;
		right: 10px;
	}

	.ax-hd.is-stuck .ax-cta-top {
		min-height: 46px;
		padding: 0 20px;
		font-size: 16px;
	}

	.ax-hd.is-stuck .ax-search-btn {
		margin-right: 8px;
	}
}

/* Телефон в закрепленной шапке – только на широких экранах */
@media (min-width: 1340px) {
	.ax-hd.is-stuck .ax-bar-tel {
		display: inline-flex;
	}
}

/* Узкая колонка страницы (1200 px, старые страницы): меню и служебная строка чуть плотнее */
@media (min-width: 1200px) {
	.ax-hd.is-compact .ax-util {
		gap: 16px;
	}

	.ax-hd.is-compact .ax-util__tag {
		letter-spacing: .03em;
	}

	.ax-hd.is-compact .ax-nav__a {
		padding: 0 10px;
		font-size: 18px;
	}

	.ax-hd.is-compact .ax-nav__a::after,
	.ax-hd.is-compact .ax-nav > li.is-current > .ax-nav__a::before {
		left: 10px;
		right: 10px;
	}

	.ax-hd.is-compact .ax-logo img {
		height: 50px;
	}

	.ax-hd.is-compact.is-stuck .ax-logo img {
		height: 40px;
	}

	.ax-hd.is-compact.is-stuck .ax-nav__a {
		padding: 0 8px;
		font-size: 17.5px;
	}

	.ax-hd.is-compact.is-stuck .ax-nav__a::after,
	.ax-hd.is-compact.is-stuck .ax-nav > li.is-current > .ax-nav__a::before {
		left: 8px;
		right: 8px;
	}

	.ax-hd.is-compact.is-stuck .ax-bar-tel {
		margin-right: 12px;
	}
}

/* Ноутбуки 1200–1279 px: меню плотнее */
@media (min-width: 1200px) and (max-width: 1279.98px) {
	.ax-hd .ax-nav__a,
	.ax-hd.is-stuck .ax-nav__a {
		padding: 0 8px;
		font-size: 18px;
	}

	.ax-hd .ax-nav__a::after,
	.ax-hd .ax-nav > li.is-current > .ax-nav__a::before {
		left: 8px;
		right: 8px;
	}

	.ax-hd .ax-logo img {
		height: 46px;
	}

	.ax-hd .ax-util {
		gap: 14px;
	}

	.ax-hd .ax-util__tag {
		letter-spacing: .02em;
	}

	.ax-hd .ax-util .ax-tel,
	.ax-hd .ax-util .ax-ci--mail .ax-line {
		font-size: 18px;
	}
}


/* 4. Мегаменю и выпадающие списки (от 1200 px)
   -------------------------------------------------------------------------- */

@media (min-width: 1200px) {

	.ax-hd .ax-sub {
		display: none;
	}

	.ax-hd .ax-drop,
	.ax-hd .ax-mega {
		position: absolute;
		top: 100%;
		z-index: 10;
		/* Оранжевая линия сверху – одна на всю панель; при открытии проходит слева направо */
		background: var(--ax-paper) linear-gradient(var(--ax-orange), var(--ax-orange)) 0 0 / 100% 3px no-repeat;
		color: var(--ax-ink);
		border-top: 0;
		box-shadow: 0 24px 32px rgba(77, 60, 45, .35);
	}

	.ax-hd .ax-nav > li:hover > .ax-sub,
	.ax-hd .ax-nav > li:focus-within > .ax-sub,
	.ax-hd .ax-nav > li.is-hover > .ax-sub {
		animation: ax-cut .45s ease both;
	}

	@keyframes ax-cut {
		from { background-size: 0 3px; }
		to { background-size: 100% 3px; }
	}

	/* У пунктов с подменю короткой линии под названием нет – ее заменяет линия панели */
	.ax-hd .ax-nav > li.has-sub > .ax-nav__a::after {
		display: none;
	}

	.ax-hd .ax-nav > li.has-sub:hover > .ax-nav__a::before,
	.ax-hd .ax-nav > li.has-sub:focus-within > .ax-nav__a::before,
	.ax-hd .ax-nav > li.has-sub.is-hover > .ax-nav__a::before {
		opacity: 0;
	}

	.ax-hd .ax-nav > li:hover > .ax-drop,
	.ax-hd .ax-nav > li:focus-within > .ax-drop,
	.ax-hd .ax-nav > li.is-hover > .ax-drop {
		display: block;
	}

	.ax-hd .ax-nav > li:hover > .ax-mega,
	.ax-hd .ax-nav > li:focus-within > .ax-mega,
	.ax-hd .ax-nav > li.is-hover > .ax-mega {
		display: grid;
	}

	/* Esc закрывает меню, пока указатель над ним */
	.ax-hd .ax-nav > li.is-closed > .ax-sub {
		display: none !important;
	}

	.ax-hd .ax-sub__a {
		display: block;
		color: var(--ax-ink);
		transition: color .2s, background-color .2s;
	}

	.ax-hd a.ax-sub__a:hover {
		color: var(--ax-orange-text);
		background-color: rgba(255, 130, 40, .09);
	}

	.ax-hd .ax-sub__a.ax-nolink {
		cursor: default;
	}

	/* Обычный выпадающий список */
	.ax-hd .ax-drop {
		left: 0;
		min-width: 270px;
		padding: 15px 0 12px;
	}

	.ax-hd .ax-drop > li > .ax-sub__a {
		padding: 7px 20px;
		font-size: 15.5px;
		line-height: 1.35;
	}

	/* Третий уровень в обычном списке (Послепечатная обработка) – в две колонки */
	.ax-hd .ax-drop:has(.ax-sub) {
		min-width: 480px;
	}

	.ax-hd .ax-drop > li.has-sub {
		margin-top: 8px;
		border-top: 1px solid rgba(153, 119, 89, .28);
	}

	.ax-hd .ax-drop > li.has-sub > .ax-sub__a {
		padding-top: 12px;
		font-weight: 700;
	}

	.ax-hd .ax-drop .ax-sub {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding: 0 0 4px 12px;
	}

	.ax-hd .ax-drop .ax-sub .ax-sub__a {
		padding: 5px 12px;
		font-size: 14.5px;
		line-height: 1.35;
	}

	/* Мегаменю «Продукция»: 6 колонок + нижняя полоса */
	.ax-hd .ax-mega {
		left: var(--ax-gutter);
		right: var(--ax-gutter);
		padding-top: 3px;
		grid-template-columns: 1.1fr 1.1fr .95fr 1fr .925fr .925fr;
		max-height: calc(100vh - var(--ax-adminbar) - 150px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.ax-hd .ax-mega > li {
		padding: 18px 0 22px;
	}

	.ax-hd .ax-mega > li:nth-child(1) { background-color: #FFE8D5; }
	.ax-hd .ax-mega > li:nth-child(2) { background-color: #FFEDDE; }
	.ax-hd .ax-mega > li:nth-child(3) { background-color: #FFF1E6; }
	.ax-hd .ax-mega > li:nth-child(4) { background-color: #FFF5EE; }
	.ax-hd .ax-mega > li:nth-child(5) { background-color: #FFF9F4; }
	.ax-hd .ax-mega > li:nth-child(6) { background-color: #FFFCF9; }

	.ax-hd .ax-mega > li:nth-child(3),
	.ax-hd .ax-mega > li:nth-child(5),
	.ax-hd .ax-mega > li:nth-child(6) {
		border-left: 1px solid rgba(153, 119, 89, .18);
	}

	/* Заголовок колонки */
	.ax-hd .ax-mega > li > .ax-sub__a {
		margin-bottom: 6px;
		padding: 0 18px 12px;
		border-bottom: 1px solid rgba(153, 119, 89, .28);
		font-size: 14px;
		font-weight: 700;
		line-height: 1.3;
		letter-spacing: .04em;
		text-transform: uppercase;
	}

	.ax-hd .ax-mega > li > a.ax-sub__a:hover {
		background: none;
	}

	/* Пункты колонки – всегда видны */
	.ax-hd .ax-mega .ax-sub {
		display: block;
		position: static;
	}

	.ax-hd .ax-mega .ax-sub .ax-sub__a {
		padding: 4px 18px;
		font-size: 14px;
		line-height: 1.35;
	}

	/* Четвертый уровень – с отступом */
	.ax-hd .ax-mega .ax-sub .ax-sub .ax-sub__a {
		padding-left: 34px;
		font-size: 13px;
	}

	/* Классы из админки меню */
	.ax-hd .ax-mega .ax-sub li.mm-sub > .ax-sub__a {
		padding-left: 34px;
		font-size: 13px;
	}

	.ax-hd .ax-mega .ax-sub li.mm-heading > .ax-sub__a {
		margin-top: 14px;
		padding-top: 12px;
		padding-bottom: 6px;
		border-top: 1px solid rgba(153, 119, 89, .28);
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .05em;
		text-transform: uppercase;
		color: var(--ax-kraft);
	}

	.ax-hd .ax-mega .ax-sub li.mm-heading.nav-no-click > .ax-sub__a:hover {
		color: var(--ax-kraft);
		background: none;
	}

	.ax-hd .ax-mega .ax-sub li.mm-heading-main > .ax-sub__a {
		margin-bottom: 6px;
		padding-top: 14px;
		padding-bottom: 10px;
		border-bottom: 1px solid rgba(153, 119, 89, .28);
		font-size: 14px;
		line-height: 1.3;
		letter-spacing: .04em;
		color: var(--ax-ink);
	}

	.ax-hd .ax-mega .ax-sub li.mm-featured > .ax-sub__a {
		margin-top: 12px;
		padding-top: 12px;
		border-top: 1px solid rgba(153, 119, 89, .28);
	}

	.ax-hd .ax-mega .ax-sub li.mm-accent > .ax-sub__a {
		position: relative;
	}

	.ax-hd .ax-mega .ax-sub li.mm-accent > .ax-sub__a::before {
		content: "";
		position: absolute;
		left: 8px;
		top: 11px;
		width: 5px;
		height: 5px;
		border-radius: 50%;
		background: var(--ax-orange);
	}

	/* Нижняя полоса (mm-zone-e): по две колонки сетки на пункт */
	.ax-hd .ax-mega > li.mm-zone-e {
		grid-column: span 2;
		display: flex;
		align-items: stretch;
		padding: 0;
		background-color: #F7F1EA;
		border-top: 1px solid rgba(153, 119, 89, .28);
		border-left: 0;
	}

	.ax-hd .ax-mega > li.mm-zone-e + li.mm-zone-e {
		border-left: 1px solid rgba(153, 119, 89, .18);
	}

	.ax-hd .ax-mega > li.mm-zone-e > .ax-sub__a {
		display: flex;
		align-items: center;
		width: 100%;
		margin: 0;
		padding: 15px 18px;
		border: 0;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0;
		text-transform: none;
	}

	.ax-hd .ax-mega > li.mm-zone-e > a.ax-sub__a:hover {
		background-color: rgba(255, 130, 40, .09);
	}

	.ax-hd .ax-mega > li.mm-aya > .ax-sub__a {
		letter-spacing: .04em;
		text-transform: uppercase;
		color: var(--ax-orange-text);
	}
}


/* 5. Шапка – телефон и планшет (до 1199 px)
   -------------------------------------------------------------------------- */

@media (max-width: 1199.98px) {

	.ax-hd {
		top: var(--ax-adminbar);
	}

	.ax-util-band,
	.ax-hd .ax-search-btn,
	.ax-hd .ax-bar-tel,
	.ax-hd .ax-cta-top,
	.ax-search,
	.ax-hd .ax-nav__a > .ax-i {
		display: none !important;
	}

	.ax-hd .ax-strip {
		height: 4px;
	}

	.ax-main {
		position: static;
		gap: 6px;
		height: calc(var(--ax-bar-h-m) - 4px);
	}

	.ax-hd .ax-wrap.ax-main {
		padding-left: 16px;
		padding-right: 10px;
	}

	.ax-hd .ax-logo img {
		height: 36px;
	}

	.ax-call {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		margin-right: 4px;
		border-radius: 50%;
		background: var(--ax-orange);
		color: #fff !important;
	}

	.ax-hd .ax-burger {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 3px;
		background: transparent;
		color: var(--ax-paper);
		box-shadow: none;
		cursor: pointer;
	}

	.ax-hd .ax-burger:hover {
		background: rgba(255, 252, 249, .1);
		color: var(--ax-paper);
	}

	.ax-hd .ax-burger .ax-i--close,
	.ax-hd.is-open .ax-burger .ax-i--burger {
		display: none;
	}

	.ax-hd.is-open .ax-burger .ax-i--close {
		display: block;
	}

	/* Панель меню */
	.ax-navwrap {
		display: none;
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		height: calc(100vh - var(--ax-bar-h-m) - var(--ax-adminbar));
		height: calc(100dvh - var(--ax-bar-h-m) - var(--ax-adminbar));
		overflow-y: auto;
		overscroll-behavior: contain;
		background: var(--ax-paper);
		color: var(--ax-ink);
		box-shadow: inset 0 8px 12px -10px rgba(77, 60, 45, .5);
	}

	.ax-hd.is-open .ax-navwrap {
		display: block;
	}

	.ax-navwrap__search {
		padding: 16px;
	}

	.ax-hd .ax-navwrap__search .ax-input {
		height: 48px;
		font-size: 16px;
	}

	.ax-hd .ax-sform__go {
		width: 48px;
		min-height: 48px;
		padding: 0;
	}

	.ax-hd .ax-sform__go span {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
	}

	.ax-hd .ax-nav {
		margin: 0 16px;
		border-top: 2px dashed rgba(153, 119, 89, .35);
	}

	.ax-hd .ax-nav > li {
		border-bottom: 1px dashed rgba(153, 119, 89, .4);
	}

	.ax-hd .ax-nav li {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.ax-hd .ax-nav__a {
		flex: 1;
		min-height: 54px;
		display: flex;
		align-items: center;
		padding: 10px 0;
		color: var(--ax-ink);
		font-family: "PT Sans Narrow", "PT Sans", sans-serif;
		font-weight: 700;
		font-size: 21px;
		line-height: 1.2;
	}

	.ax-hd .ax-nav__a:hover {
		color: var(--ax-orange-text);
	}

	.ax-hd .ax-nav > li.is-current > .ax-nav__a {
		color: var(--ax-orange-text);
	}

	.ax-hd .ax-sub-tog {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		min-height: 0;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 3px;
		background: transparent;
		color: var(--ax-kraft);
		box-shadow: none;
		cursor: pointer;
	}

	.ax-hd .ax-sub-tog:hover {
		background: rgba(153, 119, 89, .12);
		color: var(--ax-ink);
	}

	.ax-hd .ax-sub-tog .ax-i {
		transition: transform .2s;
	}

	.ax-hd li.is-open > .ax-sub-tog .ax-i {
		transform: rotate(180deg);
	}

	.ax-hd .ax-sub {
		display: none;
		width: 100%;
	}

	.ax-hd li.is-open > .ax-sub {
		display: block;
	}

	.ax-hd .ax-nav > li > .ax-sub {
		margin: 0 0 12px;
		padding: 2px 0 2px 14px;
		border-left: 3px solid var(--ax-orange);
	}

	.ax-hd .ax-sub .ax-sub {
		padding: 0 0 6px 14px;
		border-left: 1px dashed rgba(153, 119, 89, .5);
	}

	.ax-hd .ax-sub__a {
		flex: 1;
		display: block;
		padding: 9px 0;
		color: var(--ax-ink);
		font-size: 17px;
		line-height: 1.3;
	}

	.ax-hd a.ax-sub__a:hover {
		color: var(--ax-orange-text);
	}

	.ax-hd .ax-sub .ax-sub .ax-sub__a {
		padding: 7px 0;
		font-size: 16px;
	}

	.ax-hd .ax-sub__li.has-sub > .ax-sub__a {
		font-weight: 700;
	}

	.ax-hd .ax-sub__li.mm-aya > .ax-sub__a {
		color: var(--ax-orange-text);
		font-weight: 700;
	}

	.ax-hd .ax-sub__li.mm-heading > .ax-sub__a {
		margin-top: 6px;
		color: var(--ax-kraft);
		font-size: 13px;
		font-weight: 700;
		letter-spacing: .05em;
		text-transform: uppercase;
	}

	/* В мобильном меню подписи групп внутри колонок не нужны: пункты идут подряд */
	.ax-hd .ax-sub__li.mm-heading.nav-no-click {
		pointer-events: none;
	}

	/* Контакты в меню */
	.ax-navwrap__contacts {
		display: flex;
		flex-direction: column;
		gap: 12px;
		margin: 20px 16px 28px;
		padding: 18px;
		background: var(--ax-cream);
		border: 1.5px dashed rgba(153, 119, 89, .55);
	}

	.ax-navwrap__contacts .ax-tel {
		font-size: 20px;
	}

	.ax-hd .ax-navwrap__contacts .ax-ci > .ax-i,
	.ax-hd .ax-navwrap__contacts .ax-copy {
		color: var(--ax-kraft);
	}

	.ax-hd .ax-navwrap__contacts .ax-copy:hover {
		background: rgba(153, 119, 89, .12);
		color: var(--ax-ink);
	}

	.ax-navwrap__btns {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 6px;
	}

	.ax-navwrap__btns .ax-btn {
		width: 100%;
	}

	/* Пока меню открыто, страница под ним не прокручивается */
	html.ax-menu-open,
	html.ax-menu-open body {
		overflow: hidden;
	}
}

@media (max-width: 359.98px) {
	.ax-hd .ax-logo img {
		height: 30px;
	}
}


/* 6. Подвал
   -------------------------------------------------------------------------- */

.ax-ft {
	clear: both;
	background: var(--ax-ink);
	color: var(--ax-paper);
	font-family: "PT Sans", sans-serif;
	font-size: 16px;
	line-height: 1.45;
	-webkit-font-smoothing: antialiased;
}

.ax-ft a {
	color: inherit;
	text-decoration: none;
}

/* Блок «Расчет и консультация»: слева – заголовок и два действия (кнопка + пояснение),
   справа – заметка о ценах */
.ax-cta {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr);
	align-items: center;
	gap: 32px 56px;
	padding-top: 44px;
	padding-bottom: 40px;
}

.ax-ft .ax-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: "PT Sans Narrow", "PT Sans", sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--ax-kraft-light);
}

.ax-ft .ax-cta__title {
	margin: 10px 0 24px;
	font-family: "PT Sans Caption", "PT Sans", sans-serif;
	font-weight: 700;
	font-size: 32px;
	line-height: 1.2;
	color: var(--ax-paper);
}

.ax-acts {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* Действие: кнопка слева, пояснение справа; кнопки одной ширины */
.ax-act {
	display: grid;
	grid-template-columns: 236px minmax(0, 1fr);
	align-items: center;
	gap: 24px;
}

.ax-act .ax-btn {
	width: 100%;
}

.ax-ft .ax-act__p {
	font-size: 17px;
	line-height: 1.5;
	color: rgba(255, 252, 249, .85);
}

.ax-ft .ax-cta__reply {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 18px;
	font-size: 15.5px;
	color: rgba(255, 252, 249, .75);
}

.ax-ft .ax-cta__reply .ax-i {
	color: var(--ax-kraft-light);
}

.ax-perf {
	height: 2px;
	background: repeating-linear-gradient(90deg, rgba(255, 252, 249, .28) 0 6px, transparent 6px 12px);
}

/* Заметка «Цены ориентировочные» – штанцевая рамка; при появлении на экране
   по ней один раз проходит сплошная линия («прорезка», см. almax-header.js) */
.ax-price {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 18px 22px;
	border: 1.5px dashed rgba(255, 130, 40, .75);
}

.ax-price::after {
	content: "";
	position: absolute;
	inset: -1.5px;
	border: 2px solid var(--ax-orange);
	clip-path: inset(0 100% 0 0);
	pointer-events: none;
}

.ax-price.is-seen::after {
	animation: ax-price-cut 1.1s ease .2s forwards;
}

@keyframes ax-price-cut {
	to { clip-path: inset(0 0 0 0); }
}

.ax-price__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--ax-orange);
	color: #fff;
	font: 700 21px/1 "PT Sans Caption", "PT Sans", sans-serif;
}

.ax-ft .ax-price__t {
	margin-bottom: 4px;
	font-family: "PT Sans Narrow", "PT Sans", sans-serif;
	font-weight: 700;
	font-size: 18px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ax-paper);
}

.ax-ft .ax-price__p {
	font-size: 17px;
	line-height: 1.5;
	color: var(--ax-paper);
}

.ax-ft .ax-price__p + .ax-price__p {
	margin-top: 8px;
}

/* Контакты: колонки по ширине подвала (их число зависит от числа адресов) */
.ax-fgrid {
	display: grid;
	grid-auto-flow: column;
	grid-template-columns: minmax(0, 1.3fr);  /* первая колонка – логотип и соцсети – шире */
	grid-auto-columns: minmax(0, 1fr);
	align-items: start;
	gap: 28px 40px;
	padding-top: 36px;
	padding-bottom: 32px;
}

.ax-fcol {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	min-width: 0;
}

.ax-ft .ax-fh {
	margin-bottom: 4px;
	font-family: "PT Sans Narrow", "PT Sans", sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .07em;
	text-transform: uppercase;
	color: var(--ax-kraft-light);
}

.ax-fgrid .ax-ci {
	align-items: flex-start;
	font-size: 17px;
	line-height: 1.4;
	color: var(--ax-paper);
	white-space: normal;
}

.ax-fgrid .ax-ci > .ax-i {
	margin-top: 2px;
}

.ax-fgrid .ax-tel {
	font-size: 21px;
	line-height: 1.2;
	color: var(--ax-paper);
	white-space: nowrap;
}

/* Почта – крупно, на ступень меньше телефонов */
.ax-fi--mail .ax-ci {
	align-items: center;
	font-family: "PT Sans Caption", "PT Sans", sans-serif;
	font-weight: 700;
	font-size: 19px;
	white-space: nowrap;
}

.ax-fi--mail .ax-ci > .ax-i {
	margin-top: 0;
}

/* Строка о визите под адресом */
.ax-ft .ax-visit {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin-top: 2px;
	font-size: 15.5px;
	line-height: 1.45;
	font-style: italic;
	color: rgba(255, 252, 249, .85);
}

.ax-ft .ax-visit > .ax-i {
	margin-top: 2px;
	color: var(--ax-orange);
}

/* Колонка «Логотип»: логотип, подпись, соцсети */
.ax-ft .ax-fcol--brand .ax-logo img {
	height: 44px;
}

.ax-ft .ax-ftag {
	margin-top: 2px;
	font-family: "PT Sans Narrow", "PT Sans", sans-serif;
	font-weight: 700;
	font-size: 16px;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--ax-paper);
}

.ax-fcol--brand .ax-soc {
	margin-top: 8px;
}

/* Кнопки соцсетей – одинаковой ширины (по самой широкой) */
.ax-soc {
	display: inline-grid;
	grid-auto-flow: column;
	grid-auto-columns: 1fr;
	gap: 10px;
}

.ax-ft .ax-soc a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid rgba(255, 252, 249, .18);
	border-radius: 3px;
	background: rgba(255, 252, 249, .08);
	color: var(--ax-paper);
	font-size: 15px;
	font-weight: 700;
	transition: background-color .2s, border-color .2s;
}

.ax-ft .ax-soc a:hover {
	background: var(--ax-kraft);
	border-color: var(--ax-kraft);
	color: var(--ax-paper);
}

/* Значки соцсетей – одного цвета и размера */
.ax-soc .ax-i,
.ax-vk {
	color: var(--ax-paper);
}

.ax-vk {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	font-family: "PT Sans Narrow", "PT Sans", sans-serif;
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	letter-spacing: 0;
	border: 1.8px solid currentColor;
	border-radius: 5px;
}

/* Нижняя строка */
.ax-fbot {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 24px;
	padding-top: 18px;
	padding-bottom: 22px;
	font-size: 15px;
	color: rgba(255, 252, 249, .75);
}

/* Линия сверху – только по ширине колонки (без боковых полей) */
.ax-fbot::before {
	content: "";
	position: absolute;
	top: 0;
	left: var(--ax-gutter);
	right: var(--ax-gutter);
	height: 1px;
	background: rgba(255, 252, 249, .16);
}

.ax-fbot__copy {
	margin-right: auto;
}

/* Главная: подвал – только нижняя строка (контакты – в финальном блоке страницы) */
.ax-ft--home .ax-fbot {
	padding-top: 20px;
	padding-bottom: 24px;
}

/* Планшет */
@media (max-width: 1199.98px) {
	.ax-fgrid {
		grid-auto-flow: row;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}


	.ax-cta {
		grid-template-columns: minmax(0, 1fr);
	}

	.ax-price {
		max-width: 720px;
	}
}

/* Телефон */
@media (max-width: 767.98px) {
	.ax-hd,
	.ax-ft {
		--ax-gutter: 16px;
	}

	.ax-cta {
		padding-top: 32px;
		padding-bottom: 28px;
		gap: 20px;
	}

	.ax-ft .ax-cta__title {
		font-size: 25px;
	}


	.ax-price {
		gap: 12px;
		padding: 14px 16px;
	}

	.ax-price__mark {
		width: 32px;
		height: 32px;
		font-size: 18px;
	}

	.ax-ft .ax-price__p {
		font-size: 16px;
	}

	.ax-ft .ax-cta__title {
		margin-bottom: 18px;
	}

	.ax-acts {
		gap: 22px;
	}

	/* На телефоне: сначала пояснение, под ним кнопка во всю ширину */
	.ax-act {
		grid-template-columns: minmax(0, 1fr);
		gap: 10px;
	}

	.ax-act .ax-btn {
		order: 2;
	}

	.ax-ft .ax-act__p {
		font-size: 16px;
	}

	/* На телефоне сначала контакты, логотип и соцсети – последними */
	.ax-fcol--brand {
		order: 5;
	}

	.ax-fgrid {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
		padding-top: 28px;
		padding-bottom: 24px;
	}

	.ax-fbot {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}


/* 7. Уменьшение движения
   -------------------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
	.ax-hd *,
	.ax-hd,
	.ax-ft * {
		transition: none !important;
		animation: none !important;
	}

	.ax-price::after {
		clip-path: none;
	}
}

/* Печать: шапка и подвал не нужны */
@media print {
	.ax-hd,
	.ax-ft,
	.ax-skip {
		display: none !important;
	}
}
