/**
 * Footer — глобальный подвал (footer.php).
 *
 * Десктоп: бренд-колонка + правый блок из 4 колонок (Menu / Partners /
 * Support / Follow AJ1 — ТЗ V4, п. 1.2), ниже — строка копирайта и правовых
 * ссылок. Значения из макета Figma (символ 10084:256); состав колонок изменён
 * по ТЗ V4, стили колонок — прежние. Мобильный (max-width 767) — один столбец
 * с разделителями border-top (узел 10231:1548).
 *
 * @package AJ1MOTO.COM
 */

.footer {
	margin-top: auto;
	padding-top: var(--space-60);
	padding-bottom: var(--space-20);
	font-size: var(--fs-14);
	color: var(--color-grey-31);
	background: var(--color-white);
}

.footer__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	padding-bottom: calc(41 / var(--vw-base) * 100vw);
	border-bottom: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-90);
}

/*
 * ===== Find AJ1 Near You — верхняя полоса подвала =====
 * Пакет правок №2, п. 2.5 (прототип footer-find-aj1-near-you.html): заголовок
 * display 52 и текст до 577 слева, красная кнопка справа; под полосой линия
 * grey-90 — как между верхом подвала и копирайтом.
 */
.footer__dealer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-40);
	margin-bottom: calc(41 / var(--vw-base) * 100vw);
	padding-bottom: calc(41 / var(--vw-base) * 100vw);
	border-bottom: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-90);
}

.footer__dealer-content {
	display: flex;
	flex-direction: column;
	gap: var(--space-15);
	max-width: calc(577 / var(--vw-base) * 100vw);
}

.footer__dealer-title {
	font-family: var(--font-display);
	font-size: var(--fs-52);
	font-weight: var(--fw-display);
	line-height: var(--lh-100);
	letter-spacing: var(--ls-display);
	text-transform: uppercase;
	color: var(--color-dark);
}

.footer__dealer-text {
	font-size: var(--fs-17);
	line-height: var(--lh-150);
	color: var(--color-grey-31);
}

.footer__dealer-btn {
	flex-shrink: 0;
}

/* ===== Бренд-колонка ===== */

.footer__brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-20);
	max-width: calc(300 / var(--vw-base) * 100vw);
}

.footer__logo {
	display: block;
	transition: opacity var(--transition-base);
}

.footer__logo:hover {
	opacity: 0.7;
}

.footer__logo-img {
	width: calc(133 / var(--vw-base) * 100vw);
	height: auto;
}

.footer__tagline {
	line-height: var(--lh-160);
}

/* ===== Правый блок из четырёх колонок ===== */

.footer__cols {
	display: flex;
	gap: calc(64 / var(--vw-base) * 100vw);
}

.footer__nav,
.footer__social {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: calc(13 / var(--vw-base) * 100vw);
}

.footer__heading {
	margin-bottom: calc(4 / var(--vw-base) * 100vw);
	font-family: var(--font-mono);
	font-size: var(--fs-13);
	letter-spacing: calc(3 / var(--vw-base) * 100vw);
	text-transform: uppercase;
	color: var(--color-grey-67);
}

/* ===== Списки ссылок ===== */

.footer__menu {
	display: flex;
	flex-direction: column;
	gap: calc(13 / var(--vw-base) * 100vw);
}

.footer__menu a,
.footer__follow-link {
	font-size: var(--fs-14);
	color: var(--color-grey-31);
}

/* Ссылки меню перекрывают глобальный a:hover (равная специфичность) — задаём явно. */
.footer__menu a:hover,
.footer__follow-link:hover {
	color: var(--color-accent);
}

/*
 * Become a Distributor — кнопкой в стиле btn -outline (правки 19.10, п. 6):
 * вход для дистрибьюторов заметнее остальных ссылок подвала.
 */
.footer__nav.-partners .footer__menu a {
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	padding: calc(10 / var(--vw-base) * 100vw) calc(16 / var(--vw-base) * 100vw);
	border: calc(1 / var(--vw-base) * 100vw) solid var(--color-dark);
	border-radius: var(--radius-7);
	font-family: var(--font-condensed);
	font-size: var(--fs-15);
	font-weight: 600;
	line-height: var(--lh-100);
	letter-spacing: calc(1 / var(--vw-base) * 100vw);
	text-transform: uppercase;
	color: var(--color-dark);
	transition: color var(--transition-base), border-color var(--transition-base), background-color var(--transition-base);
}

.footer__nav.-partners .footer__menu a::after {
	content: "\2192";
}

.footer__nav.-partners .footer__menu a:hover {
	border-color: var(--color-accent);
	color: var(--color-white);
	background: var(--color-accent);
}

/* ===== Подписка на новости (правки 19.10, п. 4) ===== */

.footer__subscribe {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-40);
	padding: calc(28 / var(--vw-base) * 100vw) 0;
	border-bottom: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-90);
}

.footer__subscribe-text {
	display: flex;
	flex-direction: column;
	gap: calc(8 / var(--vw-base) * 100vw);
}

.footer__subscribe-text .footer__heading {
	margin-bottom: 0;
}

.footer__subscribe-lead {
	font-size: var(--fs-14);
	line-height: var(--lh-160);
	color: var(--color-grey-31);
}

.footer__subscribe-form {
	flex-shrink: 0;
	width: calc(520 / var(--vw-base) * 100vw);
}

/* Строка «поле + кнопка» из разметки формы CF7; спиннер — внутри неё. */
.footer__subscribe-row {
	position: relative;
	display: flex;
	gap: var(--space-10);
}

.footer__subscribe-row .wpcf7-form-control-wrap {
	flex-grow: 1;
}

.footer__subscribe-input {
	display: block;
	width: 100%;
	height: calc(48 / var(--vw-base) * 100vw);
	padding: 0 var(--space-16);
	border: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-80);
	border-radius: var(--radius-7);
	font-family: var(--font-base);
	font-size: var(--fs-15);
	color: var(--color-dark);
	background: var(--color-white);
	transition: border-color var(--transition-base);
}

.footer__subscribe-input::placeholder {
	color: var(--color-grey-60);
}

.footer__subscribe-input:focus {
	border-color: var(--color-accent);
	outline: none;
}

.footer__subscribe-submit {
	flex-shrink: 0;
	min-height: calc(48 / var(--vw-base) * 100vw);
	padding: 0 var(--space-24);
	border: 0;
	border-radius: var(--radius-7);
	font-family: var(--font-condensed);
	font-size: var(--fs-17);
	font-weight: 700;
	line-height: var(--lh-100);
	letter-spacing: calc(1 / var(--vw-base) * 100vw);
	text-transform: uppercase;
	color: var(--color-white);
	background: var(--color-accent);
	cursor: pointer;
	transition: background-color var(--transition-base);
}

.footer__subscribe-submit:hover {
	background: var(--color-accent-hover);
}

.footer__subscribe-row .wpcf7-spinner {
	position: absolute;
	top: 50%;
	right: var(--space-10);
	margin: 0;
	transform: translateY(-50%);
}

.footer__subscribe .wpcf7-not-valid-tip {
	margin-top: var(--space-6);
	font-size: var(--fs-13);
	color: var(--color-accent);
}

.footer__subscribe .wpcf7 form .wpcf7-response-output {
	margin: var(--space-10) 0 0;
	padding: 0;
	border: 0;
	font-size: var(--fs-14);
	color: var(--color-grey-31);
}

/* ===== Соцсети ===== */

.footer__social-links {
	display: flex;
	gap: var(--space-8);
}

.footer__social-link {
	display: block;
	transition: opacity var(--transition-base);
}

.footer__social-link:hover {
	opacity: 0.7;
}

.footer__social-icon {
	width: calc(30 / var(--vw-base) * 100vw);
	height: calc(30 / var(--vw-base) * 100vw);
}

/* ===== Нижняя строка ===== */

.footer__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: var(--space-20);
}

.footer__copyright {
	font-size: var(--fs-13);
	color: var(--color-grey-67);
}

.footer__legal {
	display: flex;
	align-items: center;
	gap: calc(24 / var(--vw-base) * 100vw);
}

.footer__legal-link {
	font-size: var(--fs-13);
	color: var(--color-grey-67);
}

/* Подпись разработчика: сам текст не ссылка, поэтому размер и цвет — на пункте. */
.footer__legal-dev {
	font-size: var(--fs-13);
	color: var(--color-grey-67);
}

/*
 * Мобильный (max-width 767): один столбец, блоки разделены border-top
 * (узел 10231:1548). Меню колонок — сетка 2 колонки; нижняя строка —
 * копирайт над ссылками.
 */
@media (max-width: 767px) {
	.footer {
		padding-top: var(--space-40);
	}

	/* Полоса Find AJ1 Near You: заголовок, текст, кнопка во всю ширину, под ними линия. */
	.footer__dealer {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-20);
		margin-bottom: var(--space-20);
		padding-bottom: var(--space-24);
	}

	.footer__dealer-title {
		font-size: calc(36 / var(--vw-base) * 100vw);
	}

	.footer__dealer-text {
		font-size: var(--fs-15);
	}

	/* stretch: колонки во всю ширину — разделители доходят до правого поля. */
	.footer__top {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-20);
		padding-bottom: 0;
		border-bottom: none;
	}

	.footer__brand {
		gap: var(--space-10);
		max-width: none;
	}

	.footer__cols {
		flex-direction: column;
		gap: var(--space-20);
	}

	/* stretch: сетки меню всех колонок одной ширины — вторые столбцы на одной линии. */
	.footer__nav,
	.footer__social {
		align-items: stretch;
		padding-top: calc(16 / var(--vw-base) * 100vw);
		padding-bottom: calc(15 / var(--vw-base) * 100vw);
		border-top: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-90);
	}

	.footer__menu {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: calc(16 / var(--vw-base) * 100vw);
		row-gap: var(--space-10);
	}

	.footer__social {
		gap: var(--space-10);
	}

	/* Кнопка Partners — по ширине текста, а не на всю ячейку сетки меню. */
	.footer__nav.-partners .footer__menu {
		display: flex;
		align-items: flex-start;
	}

	.footer__subscribe {
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-15);
		padding: var(--space-20) 0 0;
		border-top: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-90);
		border-bottom: 0;
	}

	.footer__subscribe-form {
		width: 100%;
	}

	.footer__subscribe-row {
		flex-direction: column;
	}

	.footer__subscribe-input {
		height: calc(46 / var(--vw-base) * 100vw);
	}

	.footer__subscribe-submit {
		width: 100%;
		min-height: calc(46 / var(--vw-base) * 100vw);
	}

	.footer__subscribe-row .wpcf7-spinner {
		top: auto;
		right: var(--space-15);
		bottom: calc(13 / var(--vw-base) * 100vw);
		transform: none;
	}

	.footer__bottom {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-5);
		margin-top: var(--space-20);
		padding-top: calc(19 / var(--vw-base) * 100vw);
		border-top: calc(1 / var(--vw-base) * 100vw) solid var(--color-grey-90);
	}

	.footer__copyright,
	.footer__legal-link,
	.footer__legal-dev {
		font-size: var(--fs-12);
	}

	/* Четыре пункта в строку на 375px не помещаются — переносим. */
	.footer__legal {
		flex-wrap: wrap;
		gap: var(--space-10) calc(24 / var(--vw-base) * 100vw);
	}
}
