.fs-footer {
	background: var(--fs-footer-bg);
	color: var(--fs-color-text-inverse);
	font-family: var(--fs-font-family);
	padding-block: var(--fs-footer-padding-top) var(--fs-footer-padding-bottom);
}

.fs-footer a {
	color: inherit;
	text-decoration: none;
	transition:
		color var(--fs-duration-fast) var(--fs-ease-standard),
		opacity var(--fs-duration-fast) var(--fs-ease-standard);
}

.fs-footer a:hover,
.fs-footer a:focus-visible {
	opacity: 0.78;
}

.fs-footer__inner {
	display: flex;
	flex-direction: column;
	gap: var(--fs-footer-section-gap);
	margin-inline: auto;
	width: min(calc(100% - (var(--fs-space-4) * 2)), var(--fs-footer-container-width));
}

.fs-footer__columns {
	display: grid;
	gap: var(--fs-footer-column-gap);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
}

.fs-footer__column {
	display: flex;
	flex-direction: column;
	gap: var(--fs-footer-link-gap);
	min-width: 0;
}

.fs-footer__heading {
	color: var(--fs-footer-heading-color);
	font-size: var(--fs-text-big-size);
	font-weight: var(--fs-font-weight-medium);
	line-height: var(--fs-line-height-lg);
	margin: 0;
}

.fs-footer__menu,
.fs-footer__legal-list {
	display: flex;
	gap: var(--fs-footer-link-gap);
	list-style: none;
	margin: 0;
	padding: 0;
}

.fs-footer__menu {
	flex-direction: column;
}

.fs-footer__menu a,
.fs-footer__contact-link,
.fs-footer__address,
.fs-footer__legal-list a,
.fs-footer__copyright {
	font-size: var(--fs-text-body-size);
	font-weight: var(--fs-font-weight-regular);
	line-height: var(--fs-line-height-md);
}

.fs-footer__address {
	font-style: normal;
	margin: 0;
}

.fs-footer__legal {
	border-top: var(--fs-border-width-sm) solid var(--fs-footer-divider-color);
	padding-top: var(--fs-space-4);
}

.fs-footer__legal-list {
	flex-wrap: wrap;
	gap: var(--fs-space-3) var(--fs-footer-legal-gap);
}

.fs-footer__copyright {
	color: var(--fs-footer-copy-color);
	margin: 0;
}

@media (max-width: 74.9375rem) {
	.fs-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: var(--fs-space-8);
	}
}

@media (max-width: 47.9375rem) {
	.fs-footer {
		padding-bottom: var(--fs-space-12);
	}

	.fs-footer__inner {
		width: min(calc(100% - (var(--fs-space-3) * 2)), var(--fs-footer-container-width));
	}

	.fs-footer__columns {
		grid-template-columns: 1fr;
	}

	.fs-footer__legal-list {
		flex-direction: column;
	}
}
