/* Avtar Footer Widget */
.avf {
	--avf-accent: #ff4d1c;
	--avf-strong: #ffffff;
	--avf-muted: rgba(255, 255, 255, 0.7);
	--avf-hover: #ffffff;
	--avf-divider: rgba(255, 255, 255, 0.15);
	position: relative;
	isolation: isolate;
	background-color: #1c2a5b;
	background-size: cover;
	background-position: center;
	color: var(--avf-muted);
	font-size: 16px;
	line-height: 1.85;
	overflow: hidden;
}
.avf::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	pointer-events: none;
}
.avf *,
.avf *::before,
.avf *::after { box-sizing: border-box; }

.avf a { text-decoration: none; transition: color .25s ease, background-color .25s ease, opacity .25s ease; }
.avf ul { list-style: none; margin: 0; padding: 0; }

.avf__inner {
	max-width: 1240px;
	margin: 0 auto;
	padding-left: 20px;
	padding-right: 20px;
}
.avf__main { padding: 90px 0 70px; }

/* Brand */
.avf__brand { max-width: 380px; margin-bottom: 64px; }
.avf__logo { display: inline-block; margin-bottom: 26px; line-height: 0; }
.avf__logo img { width: 140px; height: auto; max-width: 100%; display: block; }
.avf__desc {
	margin: 0 0 40px;
	color: var(--avf-strong);
	font-size: 20px;
	line-height: 1.7;
	letter-spacing: -0.02em;
}

.avf__btn {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	padding: 14px 26px;
	border-radius: 50px;
	background-color: var(--avf-accent);
	color: #fff;
	fill: #fff;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.01em;
	text-transform: uppercase;
}
.avf__btn:hover { color: #fff; filter: brightness(1.08); }
.avf__btn-icon { display: inline-flex; font-size: 16px; transition: transform .25s ease; }
.avf__btn-icon svg { width: 16px; height: 16px; }
.avf__btn:hover .avf__btn-icon { transform: translateX(4px); }

/* Columns */
.avf__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 48px;
}
.avf__title {
	margin: 0 0 30px;
	padding: 0;
	color: var(--avf-strong);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.avf__phone {
	display: inline-block;
	color: var(--avf-strong);
	font-size: 26px;
	line-height: 1.3;
	letter-spacing: -0.02em;
	margin-bottom: 6px;
}
.avf__email,
.avf__address {
	display: block;
	color: var(--avf-muted);
	font-style: normal;
}
.avf__email { margin-bottom: 16px; }
.avf__address { line-height: 1.85; }
.avf__phone:hover,
.avf__email:hover,
a.avf__address:hover { color: var(--avf-accent); }

.avf__social { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 34px !important; }
.avf__social a { display: inline-flex; color: var(--avf-strong); fill: var(--avf-strong); font-size: 18px; line-height: 1; }
.avf__social svg { width: 18px; height: 18px; }
.avf__social a:hover { color: var(--avf-accent); fill: var(--avf-accent); }

.avf__menu {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 30px;
	row-gap: 4px;
}
.avf__menu a { color: var(--avf-muted); }
.avf__menu a:hover { color: var(--avf-hover); }

/* Bottom bar */
.avf__bottom { border-top: 1px solid var(--avf-divider); }
.avf__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 84px;
	padding-top: 18px;
	padding-bottom: 18px;
}
.avf__copy { color: var(--avf-muted); line-height: 1.8; }
.avf__copy a { color: var(--avf-strong); }
.avf__copy a:hover { color: var(--avf-accent); }

.avf__top {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #fff;
	color: #1c2a5b;
	cursor: pointer;
	transition: background-color .25s ease, color .25s ease, transform .25s ease;
}
.avf__top:hover,
.avf__top:focus-visible { background: var(--avf-accent); color: #fff; transform: translateY(-3px); }

/* Responsive */
@media (max-width: 1024px) {
	.avf__main { padding: 70px 0 56px; }
}
@media (max-width: 767px) {
	.avf__main { padding: 56px 0 44px; }
	.avf__brand { margin-bottom: 44px; }
	.avf__desc { font-size: 18px; }
	.avf__grid { grid-template-columns: 1fr; gap: 44px; }
	.avf__phone { font-size: 22px; }
	.avf__bottom-inner { flex-direction: column-reverse; text-align: center; }
}
