.site-footer {
	--vk-footer-padding-y: clamp(24px, 2.5vw + 16px, 45px);
	--vk-footer-content-max-width: 1486px;
	--vk-footer-inner-padding-x: 30px;
	--vk-footer-font-size: clamp(13px, 0.25vw + 12px, 15px);
	--vk-footer-line-height: clamp(16px, 0.25vw + 14px, 18px);
	--vk-footer-logo-label-size: clamp(22px, 1.5vw + 16px, 32px);
	--vk-footer-logo-label-line-height: clamp(36px, 2.5vw + 28px, 59px);
	--vk-footer-brand-margin: clamp(24px, 2vw + 16px, 40px);
	--vk-footer-company-margin: clamp(14px, 1vw + 10px, 20px);
	--vk-footer-cta-font-size: clamp(16px, 0.5vw + 14px, 19px);
	--vk-footer-cta-line-height: clamp(20px, 0.6vw + 17px, 25px);
	--vk-footer-cta-padding-y: clamp(20px, 1.5vw + 14px, 30px);
	--vk-footer-cta-padding-x: clamp(28px, 3vw + 16px, 55px);
	--vk-footer-nav-padding-y: clamp(32px, 4vw + 16px, 60px);
	--vk-footer-menu-gap: clamp(12px, 1.25vw + 8px, 20px);
	--vk-footer-policy-gap: clamp(10px, 1vw + 6px, 15px);
	--vk-footer-contact-separator-margin: clamp(10px, 1vw + 6px, 15px);
	--vk-footer-icon-size: clamp(16px, 1vw + 14px, 18px);
	--vk-footer-icon-size-whatsapp: clamp(18px, 1.5vw + 14px, 23px);

	padding: var(--vk-footer-padding-y) 0;
	background: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--white);
	font-size: var(--vk-footer-font-size);
	line-height: var(--vk-footer-line-height);
	text-transform: uppercase;
}

.site-footer__inner {
	max-width: calc(var(--vk-footer-content-max-width) + (var(--vk-footer-inner-padding-x) * 2));
	margin: 0 auto;
	padding: 0 var(--vk-footer-inner-padding-x);
}

.site-footer a {
	color: var(--wp--preset--color--white);
	text-decoration: none;
}

.site-footer a:not(.site-footer__icon-link):not(.site-footer__cta) {
	position: relative;
	display: inline-block;
}

.site-footer a:not(.site-footer__icon-link):not(.site-footer__cta)::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background-color: currentColor;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 0.3s ease;
}

.site-footer a:not(.site-footer__icon-link):not(.site-footer__cta):hover::after,
.site-footer a:not(.site-footer__icon-link):not(.site-footer__cta):focus-visible::after {
	transform: scaleX(1);
}

.site-footer__row {
	display: grid;
	gap: clamp(24px, 3vw, 40px);
}

.site-footer__row--main {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	align-items: start;
}

.site-footer__row--nav {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	padding: var(--vk-footer-nav-padding-y) 0;
}

.site-footer__brand {
	display: flex;
	align-items: center;
	gap: clamp(12px, 1.5vw, 20px);
	margin-bottom: var(--vk-footer-brand-margin);
}

.site-footer__logo {
	display: block;
	max-height: clamp(48px, 6vw, 80px);
	width: auto;
	height: auto;
}

.site-footer__logo-label {
	font-size: var(--vk-footer-logo-label-size);
	line-height: var(--vk-footer-logo-label-line-height);
	color: var(--wp--preset--color--white);
	text-transform: none;
}

.site-footer__company {
	margin-bottom: var(--vk-footer-company-margin);
	text-transform: none;
}

.site-footer__company p {
	margin: 0 0 0.75em;
}

.site-footer__company p:last-child {
	margin-bottom: 0;
}

.site-footer__contacts {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
}

.site-footer__phone {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.site-footer__contact-separator {
	margin: 0 var(--vk-footer-contact-separator-margin);
	color: var(--wp--preset--color--white);
	line-height: 1;
}

.site-footer__icons {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.site-footer__icon-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.site-footer__icon-link img {
	display: block;
	width: var(--vk-footer-icon-size);
	height: var(--vk-footer-icon-size);
}

.site-footer__icon-link--whatsapp img {
	width: var(--vk-footer-icon-size-whatsapp);
	height: var(--vk-footer-icon-size-whatsapp);
}

.site-footer__col--cta {
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
}

.site-footer__cta {
	display: inline-block;
	font-size: var(--vk-footer-cta-font-size);
	line-height: var(--vk-footer-cta-line-height);
	text-transform: uppercase;
	color: var(--wp--preset--color--footer-cta);
	padding: var(--vk-footer-cta-padding-y) var(--vk-footer-cta-padding-x);
	border: 1px solid var(--wp--preset--color--white);
	transition: background-color 0.3s ease, color 0.3s ease;
}

.site-footer__cta:hover,
.site-footer__cta:focus-visible {
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--brand);
}

.site-footer__nav--policy {
	display: flex;
	justify-content: flex-end;
}

.site-footer__menu {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer__menu--footer {
	gap: var(--vk-footer-menu-gap);
}

.site-footer__menu--policy {
	justify-content: flex-end;
	gap: 0;
}

.site-footer__menu--policy > li {
	display: inline-flex;
	align-items: center;
}

.site-footer__menu--policy > li:not(:last-child)::after {
	content: "|";
	margin: 0 var(--vk-footer-policy-gap);
	color: var(--wp--preset--color--white);
}

.site-footer__menu a {
	font-size: var(--vk-footer-font-size);
	line-height: var(--vk-footer-line-height);
	text-transform: uppercase;
	color: var(--wp--preset--color--white);
}

@media (max-width: 1200px) {
	.site-footer__row {
		gap: clamp(35px, 3vw, 40px);
	}

	.site-footer__company {
		margin-bottom: 30px;
	}

	.site-footer__row--main,
	.site-footer__row--nav {
		grid-template-columns: 1fr;
	}

	.site-footer__col--cta {
		justify-content: flex-start;
	}

	.site-footer__nav--policy,
	.site-footer__menu--policy {
		justify-content: flex-start;
	}

	.site-footer__menu--policy {
		gap: var(--vk-footer-menu-gap);
	}

	.site-footer__menu--policy > li:not(:last-child)::after {
		content: none;
		margin: 0;
	}
}
