/**
 * Футер v2.
 * Шаблон: footer-v2.php
 *
 * Живёт в css/sections рядом с остальными блоками новой главной,
 * подключается тем же хелпером linkci_enqueue_section_style().
 */

.footer2-cta,
.footer2 {
	--f2-cta-bg: #0e3d61;
	--f2-bg: #0b2a44;
	--f2-accent: #a51e24;
	--f2-text: #ffffff;
	--f2-muted: #a8c0d2;
	--f2-line: rgba(255, 255, 255, 0.14);

	/* Декор по краям полосы: слева инструменты, справа анатомия */
	--f2-cta-decor-left: url('https://vladdavydovbari.ru/wp-content/uploads/2026/09/b0414cfe-a97b-4327-9210-24d071ef5988-1_no_bg_no_bg.png');
	--f2-cta-decor-right: url('https://vladdavydovbari.ru/wp-content/uploads/2026/09/b9b5153b-02c5-4c70-baaf-5c5f255e51de-nobg.png');
	--f2-cta-decor-size: 240px;
	--f2-cta-decor-shift: 0px;
	--f2-cta-decor-opacity: .45;
}

/* --- Призыв к действию --- */

.footer2-cta {
	position: relative;
	padding: 56px 0 60px;
	overflow: hidden;
	background-color: var(--f2-cta-bg);
}

.footer2-cta .container {
	position: relative;
}

.footer2-cta__inner {
	position: relative;
	z-index: 2;
	max-width: 720px;
	margin: 0 auto;
	text-align: center;
}

.footer2-cta .footer2-cta__title {
	margin: 0;
	padding: 0;
	font-size: 38px;
	line-height: 1.15;
	font-weight: bold;
	text-transform: none;
	color: var(--f2-text);
}

.footer2-cta__text {
	margin: 16px 0 0;
	font-size: 17px;
	line-height: 1.5;
	color: var(--f2-muted);
}

.footer2-cta__actions {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	gap: 16px;
	margin-top: 32px;
}

/* Декоративная графика — вне потока, за текстом */
.footer2-cta__decor {
	position: absolute;
	right: 0;
	top: 50%;
	z-index: 1;
	width: auto;
	max-width: 34%;
	max-height: 220px;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	opacity: .5;
	pointer-events: none;
}

/* Фоновый декор слева и справа — на псевдоэлементах, чтобы гасить прозрачностью */
.footer2-cta:before,
.footer2-cta:after {
	content: '';
	position: absolute;
	top: 50%;
	z-index: 1;
	width: var(--f2-cta-decor-size);
	height: var(--f2-cta-decor-size);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background-repeat: no-repeat;
	background-size: contain;
	opacity: var(--f2-cta-decor-opacity);
	pointer-events: none;
}

.footer2-cta:before {
	left: var(--f2-cta-decor-shift);
	background-image: var(--f2-cta-decor-left);
	background-position: left center;
}

.footer2-cta:after {
	right: var(--f2-cta-decor-shift);
	background-image: var(--f2-cta-decor-right);
	background-position: right center;
}

/* Если картинка задана в ACF — она и остаётся справа, фоном не дублируем */
.footer2-cta--has-decor:after {
	content: none;
}

/* --- Кнопки --- */

.footer2-btn {
	display: -webkit-inline-flex;
	display: inline-flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	min-height: 56px;
	padding: 8px 34px;
	border: 2px solid transparent;
	border-radius: 4px;
	font-size: 17px;
	line-height: 1.25;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	-webkit-transition: all .2s ease-in-out 0s;
	-o-transition: all .2s ease-in-out 0s;
	transition: all .2s ease-in-out 0s;
}

.footer2-btn--primary {
	color: #fff;
	background-color: var(--f2-accent);
	border-color: var(--f2-accent);
}

.footer2-btn--primary:hover,
.footer2-btn--primary:focus {
	color: #fff;
	text-decoration: none;
	box-shadow: 0 6px 22px 0 rgba(165, 30, 36, 0.45);
}

.footer2-btn--ghost {
	color: #fff;
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.55);
}

.footer2-btn--ghost:hover,
.footer2-btn--ghost:focus {
	color: var(--f2-cta-bg);
	text-decoration: none;
	background-color: #fff;
	border-color: #fff;
}

/* --- Основной футер --- */

.footer2 {
	padding: 52px 0 26px;
	background-color: var(--f2-bg);
	color: var(--f2-text);
}

.footer2__main {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 40px;
	padding-bottom: 40px;
}

/* Вертикальные разделители между колонками */
.footer2__col {
	min-width: 0;
	padding-left: 40px;
	border-left: 1px solid var(--f2-line);
}

.footer2__brand {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: flex-start;
	align-items: flex-start;
	gap: 22px;
	min-width: 0;
}

.footer2__logo {
	-webkit-flex: 0 0 auto;
	flex: 0 0 auto;
	display: block;
	width: 132px;
}

.footer2__logo img {
	display: block;
	width: 132px;
	height: auto;
}

.footer2__brand-text {
	min-width: 0;
	padding-top: 6px;
}

.footer2__name {
	margin: 0;
	font-size: 21px;
	line-height: 1.25;
	font-weight: bold;
	color: var(--f2-text);
}

.footer2__role {
	margin: 12px 0 0;
	font-size: 15px;
	line-height: 1.45;
	color: var(--f2-muted);
}

.footer2 .footer2__heading {
	margin: 0 0 20px;
	padding: 0;
	font-size: 19px;
	line-height: 1.25;
	font-weight: bold;
	text-transform: none;
	color: var(--f2-text);
}

.footer2__contacts {
	margin: 0;
	font-style: normal;
}

.footer2__phone {
	display: block;
	margin-bottom: 18px;
	font-size: 20px;
	line-height: 1.3;
	font-weight: bold;
	text-decoration: none;
	color: var(--f2-text);
}

.footer2__phone:hover,
.footer2__phone:focus {
	color: #fff;
	text-decoration: underline;
}

.footer2__line {
	display: block;
	margin-bottom: 14px;
	font-size: 16px;
	line-height: 1.45;
	color: var(--f2-muted);
}

.footer2__line--hours {
	margin-top: 14px;
}

/* --- Меню разделов в две колонки --- */

.footer2 .footer2__menu {
	margin: 0;
	padding: 0;
	list-style: none;

	-webkit-columns: 2;
	-moz-columns: 2;
	columns: 2;
	-webkit-column-gap: 30px;
	-moz-column-gap: 30px;
	column-gap: 30px;
}

.footer2 .footer2__menu li {
	margin: 0 0 18px;
	padding: 0;
	list-style: none;

	/* Пункт не должен разрываться между колонками */
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	break-inside: avoid;
}

/*
 * Тема задаёт footer ul li:first-child a { font-weight:700 } и капс —
 * в новом футере все пункты равнозначны, поэтому гасим наследие.
 */
.footer2 .footer2__menu li:first-child a,
.footer2 .footer2__menu li a {
	font-weight: normal;
	text-transform: none;
	letter-spacing: normal;
}

.footer2 .footer2__menu li:before {
	display: none;
}

.footer2 .footer2__menu a {
	font-size: 16px;
	line-height: 1.35;
	text-decoration: none;
	color: var(--f2-muted);
	-webkit-transition: color .2s ease-in-out 0s;
	-o-transition: color .2s ease-in-out 0s;
	transition: color .2s ease-in-out 0s;
}

.footer2 .footer2__menu a:hover,
.footer2 .footer2__menu a:focus {
	color: #fff;
	text-decoration: none;
}

/* --- Правовая строка --- */

.footer2__legal {
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-align-items: baseline;
	align-items: baseline;
	gap: 12px 20px;
	padding-top: 24px;
	border-top: 1px solid var(--f2-line);
}

.footer2__legal-item {
	font-size: 14px;
	line-height: 1.4;
	color: var(--f2-muted);
}

.footer2__legal-link {
	text-decoration: none;
	color: var(--f2-muted);
}

.footer2__legal-link:hover,
.footer2__legal-link:focus {
	color: #fff;
	text-decoration: underline;
}

/* --- Модальные окна футера --- */

.footer2-modal .modal-content {
	padding: 36px 34px 30px;
	border: 0 none;
	border-radius: 10px;
}

.footer2-modal .close {
	position: absolute;
	top: 14px;
	right: 18px;
	font-size: 30px;
	line-height: 1;
	opacity: .5;
}

.footer2-modal .close:hover {
	opacity: 1;
}

.footer2-modal__title {
	margin-bottom: 20px;
	padding-right: 24px;
	font-size: 22px;
	line-height: 1.25;
	font-weight: bold;
	color: #133b50;
}

.footer2-modal .wpcf7-form-control {
	height: 54px;
	margin-bottom: 14px;
	font-size: 16px;
	/* background-color: #fff;
	border: 1px solid #d3dce2; */
	border-radius: 4px;
}

.footer2-modal .wpcf7-form-control[type="file"] {
	height: auto;
	padding: 15px 18px;
	background-color: #f7fafb;
}

.footer2-modal textarea.wpcf7-form-control {
	height: 110px;
	padding-top: 14px;
	padding-bottom: 14px;
}

.footer2-modal input[type="submit"] {
	height: 56px;
	line-height: 56px;
	margin-bottom: 0;
	font-size: 17px;
	border-radius: 4px;
}

.footer2-modal__consent {
	margin-top: 16px;
	font-size: 13px;
	line-height: 1.45;
	color: #8a98a2;
}

.footer2-modal__consent p:last-child {
	margin-bottom: 0;
}

/* --- Адаптив --- */

@media (max-width: 1199px) {
	.footer2-cta {
		--f2-cta-decor-size: 200px;
	}

	.footer2__main {
		gap: 30px;
	}

	.footer2__col {
		padding-left: 30px;
	}

	.footer2__legal {
		gap: 12px 26px;
	}
}

@media (max-width: 991px) {
	.footer2-cta {
		--f2-cta-decor-size: 150px;
		--f2-cta-decor-shift: -20px;
		--f2-cta-decor-opacity: .38;
	}

	.footer2-cta {
		padding: 42px 0 46px;
	}

	.footer2-cta .footer2-cta__title {
		font-size: 28px;
	}

	.footer2-cta__text {
		font-size: 16px;
	}

	/* Графика заехала бы под текст — убираем */
	.footer2-cta__decor {
		display: none;
	}

	.footer2 {
		padding: 40px 0 24px;
	}

	.footer2__main {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		gap: 32px;
		padding-bottom: 32px;
	}

	/* Логотип с именем занимает всю строку, разделители не нужны */
	.footer2__brand {
		grid-column: 1 / -1;
	}

	/* Первая колонка в ряду — сразу после блока с логотипом */
	.footer2__brand + .footer2__col {
		padding-left: 0;
		border-left: 0 none;
	}

	.footer2-cta:before,
	.footer2-cta:after {
		width: 150px;
		height: 150px;
	}
}

@media (max-width: 767px) {
	.footer2-cta {
		--f2-cta-decor-size: 118px;
		--f2-cta-decor-shift: -26px;
		--f2-cta-decor-opacity: .28;
	}

	.footer2-cta {
		padding: 32px 0 36px;
	}

	.footer2-cta .footer2-cta__title {
		font-size: 24px;
	}

	.footer2-cta__actions {
		gap: 12px;
		margin-top: 24px;
	}

	.footer2-btn {
		width: 100%;
		min-height: 52px;
		padding: 8px 20px;
		font-size: 15px;
	}

	.footer2__main {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.footer2__col {
		padding-left: 0;
		padding-top: 24px;
		border-left: 0 none;
		border-top: 1px solid var(--f2-line);
	}

	.footer2__brand {
		gap: 16px;
	}

	.footer2__logo,
	.footer2__logo img {
		width: 84px;
	}

	.footer2__name {
		font-size: 18px;
	}

	.footer2__legal {
		gap: 10px;
		justify-content: center;
	}

	.footer2-modal .modal-content {
		padding: 30px 20px 24px;
	}

	.footer2-modal__title {
		font-size: 18px;
	}
}

@media (max-width: 479px) {
	.footer2-cta {
		--f2-cta-decor-size: 96px;
		--f2-cta-decor-shift: -22px;
		--f2-cta-decor-opacity: .24;
	}

	.footer2 .footer2__menu {
		-webkit-columns: 1;
		-moz-columns: 1;
		columns: 1;
	}
}
