/* ==========================================================================
   Footer (redesign v2) — local/templates/vepr
   Scoped under .ftr — nothing here leaks onto other components.
   ========================================================================== */

.ftr {
	position: relative;
	background: #141414;
	color: rgba(255, 255, 255, .92);
	font-family: 'Manrope', sans-serif;
	overflow: hidden;
}

.ftr-container {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 20px;
}

/* ---------- Hero strip: phone / CTA ---------- */

.ftr-hero {
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(90deg, rgba(229, 53, 51, .08), rgba(229, 53, 51, 0) 40%);
}
.ftr-hero__inner {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 36px 20px;
}
.ftr-hero__inner .bottom_block_phone {
	margin: 0 28px 0 0;
}
.ftr-hero__inner .bottom_block_phone a {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: -.01em;
	color: #fff;
	text-decoration: none;
	line-height: 1.1;
}
.ftr-hero__inner .bottom_block_phone span {
	display: block;
	margin-top: 4px;
	font-size: 13px;
	color: rgba(255, 255, 255, .5);
}
.ftr-hero__inner .btn {
	margin-left: auto;
	font-size: 20px;
	font-weight: 500;
	padding: 18px 36px;
	background: #E5231F;
}
.ftr-hero__inner .btn:hover {
	background: #C71A16;
}

@media (max-width: 767px) {
	.ftr-hero__inner {
		flex-wrap: wrap;
	}
	.ftr-hero__inner .bottom_block_phone a {
		font-size: 28px;
	}
	.ftr-hero__inner .btn {
		margin-left: 0;
	}
}

/* ---------- Main grid ---------- */

.ftr-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr 1.1fr 1.3fr;
	gap: 48px;
	padding: 64px 0 48px;
}

@media (max-width: 1200px) {
	.ftr-grid {
		grid-template-columns: 1fr 1fr 1fr;
		gap: 40px 48px;
	}
}

/* ---------- Brand column ---------- */

.ftr-brand__logo {
	display: inline-block;
	margin-bottom: 28px;
	padding: 12px 18px;
	background: #fff;
	border-radius: 10px;
}
.ftr-brand__logo img {
	max-width: 150px;
	height: auto;
	display: block;
}
.ftr-brand__desc {
	margin: 0 0 16px;
	font-size: 13px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .55);
	max-width: 320px;
}
.ftr-brand__legal {
	margin: 0;
	font-size: 12px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .4);
}
/* апсэо под телефонами отделов */
.ftr-apszo {
	margin-top: 22px;
	padding-top: 22px;
	border-top: 1px solid rgba(255, 255, 255, .08);
}
.ftr-apszo img {
	height: 46px;
	width: auto;
	opacity: .9;
}

.ftr-bulletins {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.ftr-bulletins li a {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-size: 12px;
	line-height: 16px;
	color: rgba(255, 255, 255, .45);
	text-decoration: none;
	transition: color .2s ease-in-out;
}
.ftr-bulletins li a:hover {
	color: #fff;
}
.ftr-bulletins li a .ftr-icon {
	margin-top: 1px;
}

/* ---------- Icons (shared) ---------- */

.ftr-icon {
	flex: none;
	width: 14px;
	height: 14px;
	color: currentColor;
	opacity: .7;
}
.ftr-icon--sm {
	width: 12px;
	height: 12px;
	margin-right: 2px;
	vertical-align: -1px;
}

/* ---------- Nav columns (Компания / Покупателям) ---------- */

.ftr-group {
	border: 0;
}
.ftr-group__title {
	list-style: none;
	cursor: default;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #E53533;
	margin: 0 0 22px;
	padding: 0;
}
.ftr-group__title::-webkit-details-marker { display: none; }
.ftr-group__title::marker { content: ""; }

.ftr-group__body ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 15px;
}
.ftr-group__body ul li a {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: rgba(255, 255, 255, .88);
	text-decoration: none;
	font-size: 15px;
	line-height: 20px;
	transition: color .2s ease-in-out, padding-left .2s ease-in-out;
}
.ftr-group__body ul li a::before {
	content: "";
	width: 0;
	height: 1px;
	margin-right: 0;
	background: #E53533;
	transition: width .2s ease-in-out, margin-right .2s ease-in-out;
}
.ftr-group__body ul li a:hover,
.ftr-group__body ul li a.selected {
	color: #fff;
}
.ftr-group__body ul li a:hover::before,
.ftr-group__body ul li a.selected::before {
	width: 12px;
	margin-right: 8px;
}

/* ---------- Contacts column ---------- */

.ftr-col--contacts .bottom_block_serv.main_adr {
	margin: 0;
	padding: 0;
	border: 0;
}
.ftr-col--contacts .bottom_block_serv.main_adr h6 {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: #E53533;
	font-weight: 700;
	line-height: 16px;
	margin: 0 0 12px;
}
.ftr-col--contacts .bottom_block_serv.main_adr p {
	font-size: 14px;
	line-height: 21px;
	margin: 0 0 4px;
	color: rgba(255, 255, 255, .85);
}
.ftr-col--contacts .bottom_block_serv.main_adr p a {
	color: inherit;
	text-decoration: none;
}
.ftr-col--contacts .bottom_block_serv.main_adr p a:hover {
	color: #E53533;
}

/* Service departments — compact list */

.ftr-dept-list {
	list-style: none;
	margin: 28px 0 0;
	padding-left: 0;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, .08);
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ftr-dept {
	font-size: 12px;
	line-height: 18px;
}
.ftr-dept-name {
	display: block;
	color: rgba(255, 255, 255, .8);
	font-weight: 600;
	margin-bottom: 3px;
}
.ftr-dept-addr {
	display: block;
	color: rgba(255, 255, 255, .4);
	margin-bottom: 3px;
}
.ftr-dept-contact {
	display: flex;
	flex-direction: column;
	gap: 5px;
	color: rgba(255, 255, 255, .55);
}
.ftr-dept-tel {
	color: rgba(255, 255, 255, .9);
	font-weight: 600;
	text-decoration: none;
}
.ftr-dept-mail {
	color: rgba(255, 255, 255, .55);
	text-decoration: none;
}
.ftr-dept-tel:hover,
.ftr-dept-mail:hover {
	color: #E53533;
}

/* ---------- Legal bar ---------- */

.ftr-legal {
	padding: 26px 0;
	border-top: 1px solid rgba(255, 255, 255, .08);
	display: flex;
	flex-direction: column;
	gap: 22px;
}

/* Юридические документы — строка ссылок */
.ftr-legal__docs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
}
.ftr-legal__docs a {
	position: relative;
	font-size: 13px;
	line-height: 18px;
	color: rgba(255, 255, 255, .55);
	text-decoration: none;
	transition: color .2s ease-in-out;
}
.ftr-legal__docs a:hover { color: #fff; }
.ftr-legal__docs a:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -13px;
	top: 50%;
	transform: translateY(-50%);
	width: 1px;
	height: 12px;
	background: rgba(255, 255, 255, .15);
}

.ftr-legal__bottom {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.ftr-legal__sitemap {
	flex: none;
	font-size: 12px;
	color: rgba(255, 255, 255, .55);
	text-decoration: none;
	letter-spacing: .02em;
	transition: color .2s ease-in-out;
}
.ftr-legal__sitemap:hover { color: #E53533; }
.ftr-legal__text {
	display: flex;
	align-items: center;
	gap: 20px;
	flex-wrap: wrap;
	font-size: 12px;
	letter-spacing: .02em;
	color: rgba(255, 255, 255, .35);
}
.ftr-legal__text a {
	color: rgba(255, 255, 255, .55);
	text-decoration: none;
}
.ftr-legal__text a:hover {
	color: #E53533;
}
.ftr-legal__text .text-center {
	text-align: left;
}
.ftr-legal__badges {
	display: flex;
	align-items: center;
	gap: 18px;
}
.ftr-legal__badges img {
	height: 26px;
	width: auto;
	opacity: .9;
}
.ftr-legal__badges .ftr-badge--apszo {
	height: 44px;
	opacity: .85;
}

/* ---------- Responsive ---------- */

@media (min-width: 992px) {
	.ftr-group__title {
		pointer-events: none;
	}
}

@media (max-width: 991px) {
	.ftr-grid {
		grid-template-columns: 1fr;
		gap: 40px;
		padding: 48px 0 32px;
	}
	.ftr-group__title {
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 16px 0;
		margin: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}
	.ftr-group__title::after {
		content: "+";
		font-size: 18px;
		color: rgba(255, 255, 255, .4);
	}
	.ftr-group[open] > .ftr-group__title::after {
		content: "\2013";
	}
	.ftr-group__body {
		padding-top: 18px;
	}
	.ftr-legal__bottom {
		flex-direction: column;
		align-items: flex-start;
	}
}
