.site-footer {
	--footer-bg: #17130f;
	--footer-accent: #c99548;
	--footer-text: #fff;
	--footer-muted: rgba(255, 255, 255, 0.82);
	--footer-border: rgba(201, 149, 72, 0.35);

	overflow: hidden;
	background: var(--footer-bg);
	color: var(--footer-text);
	padding: clamp(72px, 7vw, 110px) 0 clamp(48px, 4.6vw, 76px);
}

.site-footer__container {
	width: min(100% - 48px, 1600px);
	margin: 0 auto;
}

.site-footer__grid {
	display: grid;
	grid-template-columns: minmax(320px, 1.25fr) minmax(180px, 0.75fr) minmax(180px, 0.75fr) minmax(220px, 0.9fr);
	gap: clamp(50px, 6vw, 110px);
	align-items: start;
}

.site-footer__brand {
	min-width: 0;
}

.site-footer__logo {
	display: inline-flex;
	max-width: min(100%, 410px);
	color: var(--footer-text);
	text-decoration: none;
}

.site-footer__logo img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 63px;
	object-fit: contain;
	object-position: left center;
}

.site-footer__description {
	max-width: 430px;
	margin: 50px 0 0;
	color: var(--footer-muted);
	font-family: var(--font-sans);
	font-size: clamp(18px, 1.35vw, 22px);
	font-weight: 400;
	line-height: 1.55;
}

.site-footer__socials {
	display: flex;
	flex-wrap: wrap;
	gap: 26px;
	margin-top: 52px;
}

.site-footer__social {
	display: inline-flex;
	width: clamp(72px, 5vw, 88px);
	height: clamp(72px, 5vw, 88px);
	align-items: center;
	justify-content: center;
	border: 1px solid var(--footer-accent);
	border-radius: 50%;
	color: var(--footer-accent);
	text-decoration: none;
	transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.site-footer__social:hover {
	background: var(--footer-accent);
	color: var(--footer-bg);
	transform: translateY(-2px);
}

.site-footer__social:active {
	transform: translateY(0);
}

.site-footer__social-icon {
	display: block;
	width: clamp(25px, 1.9vw, 34px);
	height: clamp(25px, 1.9vw, 34px);
	background-color: currentColor;
}

.site-footer__social-icon--instagram {
	-webkit-mask: url("../../icons/social-instagram.svg") center / contain no-repeat;
	mask: url("../../icons/social-instagram.svg") center / contain no-repeat;
}

.site-footer__social-icon--facebook {
	-webkit-mask: url("../../icons/social-facebook.svg") center / contain no-repeat;
	mask: url("../../icons/social-facebook.svg") center / contain no-repeat;
}

.site-footer__nav {
	min-width: 0;
}

.site-footer__menu-title {
	margin: 0 0 clamp(34px, 3vw, 45px);
	color: var(--footer-accent);
	font-family: var(--font-sans);
	font-size: clamp(16px, 1.05vw, 18px);
	font-weight: 700;
	letter-spacing: 0.28em;
	line-height: 1.35;
	text-transform: uppercase;
}

.site-footer__menu {
	display: grid;
	gap: clamp(20px, 1.5vw, 28px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__menu a {
	display: inline-block;
	color: var(--footer-muted);
	font-family: var(--font-sans);
	font-size: clamp(16px, 1.1vw, 22px);
	font-weight: 400;
	line-height: 1.45;
	text-decoration: none;
	transition: color 180ms ease, transform 180ms ease;
}

.site-footer__menu a:hover,
.site-footer__menu .current-menu-item > a,
.site-footer__menu .current_page_item > a {
	color: var(--footer-accent);
}

.site-footer__menu a:hover {
	transform: translateX(4px);
}

.site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 28px;
	align-items: center;
	justify-content: space-between;
	margin-top: clamp(58px, 6vw, 92px);
	border-top: 1px solid var(--footer-border);
	padding-top: 24px;
	color: rgba(255, 255, 255, 0.6);
	font-family: var(--font-sans);
	font-size: 14px;
	line-height: 1.45;
}

.site-footer__copyright {
	margin: 0;
}

.site-footer__policy {
	color: rgba(255, 255, 255, 0.68);
	text-decoration-color: transparent;
	text-underline-offset: 0.22em;
	transition: color 180ms ease, text-decoration-color 180ms ease;
}

.site-footer__policy:hover {
	color: var(--footer-accent);
	text-decoration-color: currentColor;
}

.site-footer a:focus-visible {
	outline: 2px solid var(--footer-accent);
	outline-offset: 6px;
}

@media (prefers-reduced-motion: reduce) {
	.site-footer__social,
	.site-footer__menu a,
	.site-footer__policy {
		transition: none;
	}
}

@media (max-width: 1100px) {
	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 56px clamp(42px, 6vw, 76px);
	}

	.site-footer__brand {
		grid-column: 1 / -1;
	}

	.site-footer__description {
		margin-top: 34px;
	}

	.site-footer__socials {
		margin-top: 38px;
	}
}

@media (max-width: 640px) {
	.site-footer {
		padding: 64px 0 44px;
	}

	.site-footer__container {
		width: min(100% - 36px, 1600px);
	}

	.site-footer__grid {
		grid-template-columns: 1fr;
		gap: 44px;
	}

	.site-footer__logo {
		max-width: min(100%, 310px);
	}

	.site-footer__description {
		margin-top: 30px;
		font-size: 18px;
	}

	.site-footer__socials {
		gap: 18px;
		margin-top: 34px;
	}

	.site-footer__menu-title {
		margin-bottom: 24px;
		letter-spacing: 0.24em;
	}

	.site-footer__menu {
		gap: 17px;
	}

	.site-footer__bottom {
		align-items: flex-start;
		margin-top: 48px;
	}
}
