/* Fußbereich.
 *
 * Er steht seit dem 19.08.2026 im Markenblau, wie Band, Kopf und Kästen — das
 * dunkle Marineblau ist damit aus dem Entwurf verschwunden. Weiß trägt hier
 * die Schrift (8,05:1). Marken-Grün ist auf dem Blau nur noch Linie und
 * Fläche (4,21:1); wo Grün Buchstaben oder einen Fokusring tragen soll, steht
 * das aufgehellte `--pvm-signal-on-ground` (6,00:1).
 *
 * Kein Außenabstand nach oben: Der letzte Abschnitt der Seite bringt seinen
 * eigenen Abstand mit. Ein zusätzlicher Rand hinterließe einen hellen Streifen.
 */

.pvm-footer {
	position: relative;
	padding-block: var(--pvm-space-2xl) var(--pvm-space-lg);
	/* Eine feine Kante nach oben: Endet die Seite mit einem blauen Band, stünde
	 * der Fuß sonst ohne Grenze daran. Auf Weiß liest sie sich als Abschluss.
	 */
	border-top: 1px solid var(--pvm-footer-line);
	background: var(--pvm-footer-ground);
	color: var(--pvm-white);
}

/* Ein durchgehender farbiger Streifen an der Oberkante stand hier kurz und ist
 * wieder raus — der Detektor der Design-Skill führt ihn zu Recht als
 * Erkennungsmerkmal generierter Oberflächen. Das Grün setzt hier stattdessen
 * die kurze Marke unter dem Namen und die Unterlängen der Links.
 */

.pvm-footer a {
	color: var(--pvm-white);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	text-decoration-color: rgb(214 232 121 / 60%);
}

.pvm-footer a:hover {
	color: var(--pvm-signal-on-ground);
	text-decoration-color: var(--pvm-signal-on-ground);
	text-decoration-thickness: 2px;
}

.pvm-footer :focus-visible {
	outline-color: var(--pvm-white);
}

.pvm-footer__top {
	display: grid;
	gap: var(--pvm-space-xl);
	padding-bottom: var(--pvm-space-xl);
	border-bottom: 1px solid var(--pvm-footer-line);
}

@media (min-width: 768px) {
	.pvm-footer__top {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
		align-items: start;
		gap: var(--pvm-space-3xl);
	}
}

/* Der Markenname steht groß und ruhig — er ist die Unterschrift der Seite. */
.pvm-footer__name {
	margin-bottom: var(--pvm-space-md);
	font-family: var(--pvm-font-heading);
	font-size: var(--pvm-text-2xl);
	font-weight: 700;
	line-height: 1.15;
	color: var(--pvm-white);
}

/* Eine kurze grüne Linie unter dem Namen, dieselbe Marke wie auf der Tonspur. */
.pvm-footer__name::after {
	content: '';
	display: block;
	width: 2.5rem;
	height: 3px;
	margin-top: var(--pvm-space-xs);
	background: var(--pvm-green);
}

.pvm-footer__address {
	font-style: normal;
	line-height: 2;
}

/* Telefon und Mail sind auf dem Handy die Hauptaktion. Sie bekommen deshalb
 * eine eigene Zeilenhöhe und damit eine Zielfläche über 24 px (WCAG 2.5.8).
 */
.pvm-footer__address a {
	display: inline-block;
	padding-block: var(--pvm-space-3xs);
}

.pvm-footer__nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pvm-space-2xs) var(--pvm-space-md);
	margin: 0;
	padding: 0;
	list-style: none;
}

.pvm-footer__nav li + li {
	margin-top: 0;
}

.pvm-footer__nav a {
	display: inline-block;
	padding-block: var(--pvm-space-3xs);
	font-weight: 500;
}

@media (min-width: 768px) {
	.pvm-footer__nav ul {
		flex-direction: column;
		gap: var(--pvm-space-2xs);
		align-items: flex-start;
	}
}

.pvm-footer__copy {
	margin: var(--pvm-space-md) 0 0;
	font-size: var(--pvm-text-sm);
	/* 5,37:1 auf dem Markenblau — leiser als der Rest, aber nicht schwach. */
	color: var(--pvm-footer-muted);
}
