/* Global footer */

.site-footer {
	min-height: var(--rd-footer-min-height);
	background:
		linear-gradient(115deg, rgb(255 255 255 / 2%), transparent 45%),
		var(--rd-color-charcoal);
	color: rgb(255 255 255 / 76%);
}

.site-footer__inner,
.site-footer__bar-inner {
	width: min(100% - 2rem, var(--rd-wide-width));
	margin-inline: auto;
}

.site-footer__inner {
	display: grid;
	grid-template-columns: minmax(12rem, 1.35fr) repeat(3, minmax(9rem, 1fr));
	gap: clamp(var(--rd-space-5), 3vw, var(--rd-space-7));
	padding-block: var(--rd-space-7);
}

.site-footer__brand {
	padding-inline-end: clamp(0rem, 2vw, var(--rd-space-6));
}

.site-footer__logo-link {
	display: block;
	width: fit-content;
}

.site-footer__logo {
	width: min(100%, 14rem);
}

.site-footer__heading {
	margin: 0 0 var(--rd-space-3);
	color: var(--rd-color-copper);
	font-family: var(--rd-font-body);
	font-size: var(--rd-font-size-xs);
	font-weight: var(--rd-weight-semibold);
	letter-spacing: 0.08em;
	line-height: 1.3;
	text-transform: uppercase;
}

.site-footer__address,
.site-footer__hours,
.site-footer__list {
	margin: 0;
	font-size: var(--rd-font-size-sm);
	font-style: normal;
	line-height: 1.75;
}

.site-footer__list,
.site-footer__social-list,
.site-footer__legal-menu {
	padding: 0;
	list-style: none;
}

.site-footer a {
	color: rgb(255 255 255 / 82%);
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--rd-color-white);
}

.site-footer a[href^="tel:"] {
	display: inline-flex;
	align-items: center;
}

.site-footer__actions {
	display: grid;
	align-content: start;
	gap: var(--rd-space-5);
}

.site-footer__booking {
	width: fit-content;
}

.site-footer__social-list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--rd-space-4);
	margin: 0;
	font-size: var(--rd-font-size-sm);
}

.site-footer__bar {
	border-block-start: 1px solid rgb(255 255 255 / 12%);
}

.site-footer__bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--rd-space-5);
	min-height: 3.75rem;
	padding-block: var(--rd-space-3);
}

.site-footer__copyright {
	margin: 0;
	font-size: var(--rd-font-size-xs);
	letter-spacing: 0.025em;
}

.site-footer__legal-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: var(--rd-space-4);
	margin: 0;
	font-size: var(--rd-font-size-xs);
}

@media (max-width: 63.999rem) {
	.site-footer__inner,
	.site-footer__bar-inner {
		width: min(100% - 3rem, var(--rd-wide-width));
	}

	.site-footer__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

@media (max-width: 47.999rem) {
	.site-footer__inner,
	.site-footer__bar-inner {
		width: min(100% - 2rem, var(--rd-wide-width));
	}

	.site-footer__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-block: var(--rd-space-6);
	}

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

	.site-footer__bar-inner {
		align-items: flex-start;
		flex-direction: column;
		justify-content: center;
		gap: var(--rd-space-2);
	}

	.site-footer__legal-menu {
		justify-content: flex-start;
	}
}

@media (max-width: 29.999rem) {
	.site-footer__inner,
	.site-footer__bar-inner {
		width: min(100% - 1.5rem, var(--rd-wide-width));
	}

	.site-footer__inner {
		grid-template-columns: 1fr;
	}

	.site-footer__brand,
	.site-footer__actions {
		grid-column: auto;
	}

	.site-footer__booking {
		width: 100%;
	}
}
