/* Lavender footer component */

.lav-footer {
	background: #111827;
	color: #d1d5db;
	padding-block: clamp(2.75rem, 2.2rem + 1.2vw, 4rem);
	overflow-x: clip;
}

.lav-footer__grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 13.5rem), 1fr));
	align-items: start;
	column-gap: clamp(1rem, .7rem + 1vw, 2rem);
	row-gap: clamp(1.25rem, 1rem + .8vw, 2rem);
	margin-bottom: clamp(1.75rem, 1.35rem + 1vw, 2.5rem);
}

.lav-footer__grid > * {
	min-width: 0;
}

.lav-footer__heading {
	margin: 0 0 .85rem;
	font-size: .8125rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: .075em;
	text-transform: uppercase;
	color: #f3f4f6;
}

.lav-footer__brand {
	margin-bottom: .9rem;
	flex-direction: column;
	justify-content: start;
	text-align: start;
}

.lav-footer__brand-copy {
	min-width: 0;
}

.lav-footer__brand-name {
	line-height: 1.25;
}

.lav-footer__brand-tagline {
	margin-top: .18rem;
	letter-spacing: .09em;
}

.lav-footer__about,
.lav-footer__newsletter-text {
	margin: 0 0 1rem;
	color: #c5cad4;
	line-height: 1.65;
	font-size: .925rem;
}

.lav-footer__list,
.lav-footer__contact-list,
.lav-footer__social {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lav-footer__list li + li,
.lav-footer__contact-list li + li {
	margin-top: .42rem;
}

.lav-footer__list a,
.lav-footer__contact-list a {
	display: inline-flex;
	align-items: center;
	line-height: 1.55;
	text-underline-offset: .2em;
	word-break: break-word;
}

.lav-footer__contact-list li {
	display: flex;
	gap: .6rem;
	line-height: 1.5;
	color: #d1d5db;
}

.lav-footer__contact-list svg {
	flex: 0 0 auto;
	margin-top: .12rem;
}

.lav-footer__social {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
}

.lav-footer__social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 999px;
	background: #1f2937;
	border: 1px solid rgba(255, 255, 255, 0.08);
	color: #e5e7eb;
	transition: transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;
}

.lav-footer__social a:hover,
.lav-footer__social a:focus-visible {
	background: #7c3aed;
	border-color: #a78bfa;
	color: #ffffff;
	transform: translateY(-1px);
}

.lav-footer__newsletter {
	align-items: stretch;
	gap: .55rem;
	margin-bottom: 1rem;
}

.lav-footer__newsletter-input {
	min-width: 0;
	min-height: 2.5rem;
}

.lav-footer__newsletter-button {
	white-space: nowrap;
	min-height: 2.5rem;
}

.lav-footer-cta__grid {
	align-items: center;
}

.lav-footer-cta__meta {
	list-style: none;
	margin: 0;
	padding: 0;
}

.lav-footer-cta__panel {
	color: var(--lavender-color-text-muted);
}

.lav-footer a {
	color: #d1d5db;
	transition: color .2s ease, opacity .2s ease;
}

.lav-footer a:hover,
.lav-footer a:focus-visible {
	color: #c4b5fd;
}

.lav-footer a:focus-visible {
	outline: 2px solid #c4b5fd;
	outline-offset: 2px;
	border-radius: .3rem;
}

.lav-footer__bottom {
	margin-top: .25rem;
	padding-top: .8rem;
	padding-bottom: .15rem;
	border-top: 1px solid rgba(148, 163, 184, .25);
	text-align: start;
}

.lav-footer__copyright {
	margin: 0;
	font-size: .8125rem;
	line-height: 1.5;
	color: #a9b2c3;
}

.lav-footer__bottom-links {
	margin-top: .7rem;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: .45rem .65rem;
	font-size: .75rem;
	line-height: 1.5;
	max-width: 100%;
}

.lav-footer__bottom-links-left,
.lav-footer__bottom-links-right {
	display: inline-flex;
	align-items: center;
	gap: .45rem .65rem;
}

.lav-footer__bottom-sep {
	color: #64748b;
	user-select: none;
}

.lav-footer__bottom-link {
	color: #cbd5e1;
	text-decoration: none;
	text-underline-offset: .2em;
}

.lav-footer__bottom-link:hover,
.lav-footer__bottom-link:focus-visible {
	color: #f3f4f6;
	text-decoration: underline;
}

.lav-footer__credit-link {
	opacity: .92;
}

@media (max-width: 767px) {
	.lav-footer {
		padding-block: 2.35rem;
	}

	.lav-footer__grid {
		grid-template-columns: 1fr;
		gap: 1.35rem;
		margin-bottom: 1.75rem;
	}

	.lav-footer__heading {
		margin-bottom: .7rem;
	}

	.lav-footer__newsletter {
		flex-direction: column;
	}

	.lav-footer__newsletter-button,
	.lav-footer__newsletter-input,
	.lav-footer__list a,
	.lav-footer__contact-list a,
	.lav-footer__bottom-link {
		min-height: 2.5rem;
	}

	.lav-footer__bottom-links {
		display: flex;
		justify-content: flex-start;
		align-items: flex-start;
		flex-direction: column;
		gap: .35rem .6rem;
	}

	.lav-footer__bottom-links-left,
	.lav-footer__bottom-links-right {
		gap: .35rem .6rem;
	}

	.lav-footer__bottom-sep {
		display: none;
	}
}
