.vitta-footer {
	background: var(--vitta-color-ink);
	color: var(--vitta-color-paper);
	font-family: var(--vitta-font-sans);
}

.vitta-footer__inner {
	display: grid;
	gap: var(--vitta-space-xl);
	width: min(100% - (var(--vitta-container-inline) * 2), 72rem);
	margin-inline: auto;
	padding-block: clamp(2.5rem, 8vw, 4.5rem);
}

.vitta-footer__brand-block {
	display: grid;
	gap: var(--vitta-space-sm);
	max-width: 24rem;
}

.vitta-footer__brand {
	display: inline-flex;
	align-items: center;
	min-width: 44px;
	min-height: 44px;
	color: var(--vitta-color-paper);
	font-size: 1.25rem;
	font-weight: 800;
	letter-spacing: 0.16em;
	line-height: 1;
	text-decoration: none;
}

.vitta-footer__tagline {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font-size: clamp(1rem, 4vw, 1.25rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.25;
}

.vitta-footer__social {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	min-height: 44px;
	color: var(--vitta-color-paper);
	font-size: 0.875rem;
	font-weight: 800;
	letter-spacing: 0.04em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
	text-transform: uppercase;
}

.vitta-footer__nav {
	display: grid;
	gap: var(--vitta-space-sm);
}

.vitta-footer__group {
	border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.vitta-footer__group:last-child {
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.vitta-footer__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 44px;
	padding-block: var(--vitta-space-sm);
	color: var(--vitta-color-paper);
	font-size: 0.75rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
}

.vitta-footer__summary::after {
	content: "+";
	color: rgba(255, 255, 255, 0.72);
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
}

.vitta-footer__group[open] .vitta-footer__summary::after {
	content: "–";
}

.vitta-footer__list {
	display: grid;
	gap: var(--vitta-space-xs);
	padding: 0 0 var(--vitta-space-md);
	margin: 0;
	list-style: none;
}

.vitta-footer__list a {
	display: inline-flex;
	align-items: center;
	min-width: 44px;
	min-height: 44px;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.95rem;
	font-weight: 650;
	line-height: 1.2;
	text-decoration: none;
}

.vitta-footer__list a:hover,
.vitta-footer__social:hover {
	color: var(--vitta-color-paper);
}

.vitta-footer__brand:focus-visible,
.vitta-footer__social:focus-visible,
.vitta-footer__summary:focus-visible,
.vitta-footer__list a:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.32);
}

.vitta-footer__legal {
	margin: 0;
	color: rgba(255, 255, 255, 0.54);
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

@media (min-width: 768px) {
	.vitta-footer__inner {
		grid-template-columns: minmax(15rem, 0.9fr) minmax(0, 1.6fr);
		align-items: start;
	}

	.vitta-footer__nav {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--vitta-space-lg);
	}

	.vitta-footer__group,
	.vitta-footer__group:last-child {
		border: 0;
	}

	.vitta-footer__summary {
		pointer-events: none;
	}

	.vitta-footer__summary::-webkit-details-marker {
		display: none;
	}

	.vitta-footer__summary::after {
		content: none;
	}

	.vitta-footer__legal {
		grid-column: 1 / -1;
	}
}
