/**
 * Site footer.
 *
 * @package lavventura
 */

@layer blocks {
	.lv-site-footer {
		padding-block: var(--space-l) var(--space-m);
		background-color: color-mix(in srgb, var(--color-bg-alt) 55%, var(--color-bg));
		color: var(--color-text);
		margin-top: var(--space-xl);
		border-top: var(--border-width-1) solid var(--color-border);
	}

	.lv-site-footer__grid {
		display: grid;
		gap: var(--space-s);
		grid-template-columns: 1fr;

		@media (min-width: 48rem) {
			& {
				grid-template-columns: minmax(18rem, 1.7fr) repeat(2, minmax(10rem, 1fr));
			}
		}

		@media (min-width: 68rem) {
			& {
				grid-template-columns: minmax(20rem, 1.7fr) repeat(4, minmax(9rem, 1fr));
				align-items: start;
			}
		}
	}

	.lv-site-footer__title {
		font-size: var(--font-size-h3);
		line-height: 1;
		margin-bottom: var(--space-2xs);
	}

	.lv-site-footer__summary,
	.lv-site-footer__bridge-copy,
	.lv-site-footer__address {
		max-width: 34rem;
		margin: 0;
		color: var(--color-text-muted);
		font-size: var(--font-size-small);
		line-height: var(--line-height-body);
	}

	.lv-site-footer__address {
		display: flex;
		flex-direction: column;
		gap: 0.125rem;
		margin-top: var(--space-2xs);
		font-style: normal;
		color: var(--color-text);
	}

	.lv-site-footer__heading {
		margin: 0 0 var(--space-2xs);
		font-family: var(--font-body);
		font-size: var(--font-size-caption);
		font-weight: 700;
		line-height: var(--line-height-ui);
		text-transform: uppercase;
		letter-spacing: var(--letter-spacing-caps);
		color: var(--color-accent);
	}

	.lv-site-footer__link-list,
	.lv-site-footer__nav-list,
	.lv-site-footer__legal-list {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-direction: column;
		gap: 0.25rem;
		line-height: 1.35;
	}

	.lv-site-footer__link-list li + li,
	.lv-site-footer__nav-list li + li,
	.lv-site-footer__legal-list li + li {
		margin-top: 0;
	}

	.lv-site-footer__link-list a,
	.lv-site-footer__nav-list a,
	.lv-site-footer__legal-list a,
	.lv-site-footer__bridge-link {
		font-family: var(--font-body);
		font-size: var(--font-size-small);
		text-decoration: none;
		color: var(--color-text);
		text-underline-offset: 0.18em;

		&:hover,
		&:focus-visible {
			color: var(--color-accent);
			text-decoration: underline;
		}
	}

	.lv-site-footer__bridge-link {
		display: inline-flex;
		align-items: center;
		gap: var(--space-3xs);
		margin-top: var(--space-2xs);
		font-weight: 700;
		color: var(--color-link);
	}

	.lv-site-footer__bottom {
		margin-top: var(--space-m);
		padding-top: var(--space-s);
		border-top: var(--border-width-1) solid var(--color-border);
		display: flex;
		flex-direction: column;
		gap: var(--space-2xs);

		@media (min-width: 48rem) {
			& {
				flex-direction: row;
				justify-content: space-between;
			}
		}
	}
}
