.footer {
	width: 100%;
}

.footer__container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 20px;

	width: 100%;
	max-width: var(--mx-width);

	margin: 0 auto;

	padding: 0 15px;
	padding-top: clamp(50px, 2vw, 70px);
	padding-bottom: 30px;

	box-sizing: border-box;
}

.footer__contact,
.footer__description-social {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	align-self: stretch;
	gap: 20px;
}

.footer__contact-email a {
	font-size: 1.25em;
	font-weight: 700;
	line-height: normal;

	color: var(--main-color);

	padding-bottom: 2px;

	border-bottom: 2px solid var(--highlight-color);

	transition: color 0.2s ease, border 0.2s ease;
}

.footer__contact-email a:hover {
	cursor: pointer;
	color: var(--accent-color);
	border-bottom: 2px solid var(--accent-color);
}

.footer__support-policy {
	display: flex;
	align-items: center;
	gap: 25px;
}

.footer__support-link,
.footer__policy-link {
	font-size: 0.875em;
	font-weight: 400;
	line-height: normal;

	color: var(--gray-color);

	transition: color 0.2s ease;
}

.footer__support-link:hover,
.footer__policy-link:hover {
	cursor: pointer;
	color: var(--main-color);
}

.footer__description {
	font-size: 0.875em;
	font-weight: 400;
	line-height: 140%;

	color: var(--main-color);

	max-width: 275px;
}

.footer__social-links {
	display: flex;
	align-items: flex-start;
	gap: 10px;
}

.footer__social-link {
	width: 40px;
}

.footer__social-link img {
	width: 100%;
	aspect-ratio: 1/1;
}

.footer__social-link img:hover {
	cursor: pointer;
	opacity: 0.8;
}

@media screen and (max-width: 600px) {
	.footer__contact,
	.footer__description-social {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media screen and (max-width: 350px) {
	.footer__support-policy {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
}