/**
 * Legal pages — Impressum, AGB, Datenschutz (Layout wie Kontakt)
 */

.site-main--legal {
	background: var(--wc-color-bg);
}

.legal-page {
	padding-bottom: clamp(3rem, 8vw, 5rem);
}

.legal-page__hero {
	padding: clamp(3rem, 8vw, 5rem) var(--wc-section-padding-x) clamp(2rem, 5vw, 3rem);
	text-align: center;
}

.legal-page__title {
	margin: 0;
	font-family: var(--wc-font-heading);
	font-size: var(--wc-heading-page-split);
	font-weight: var(--wc-font-weight-bold);
	line-height: 1.05;
	letter-spacing: -0.03em;
	text-transform: uppercase;
}

.legal-page__title-part {
	display: block;
	color: var(--wc-color-black);
}

.legal-page__title-part--accent {
	color: var(--wc-color-brand);
}

.legal-page__intro {
	max-width: 40rem;
	margin: 1.25rem auto 0;
	font-family: var(--wc-font-body);
	font-size: var(--wc-font-size-base);
	line-height: var(--wc-line-height-normal);
	color: var(--wc-color-text-muted);
}

.legal-page__details {
	padding: 0 var(--wc-section-padding-x);
}

.legal-page__box {
	width: 100%;
	max-width: var(--wc-container-max);
	margin-inline: auto;
	padding: clamp(2.5rem, 5vw, 3.5rem) clamp(1.5rem, 4vw, 3rem);
	border-top: var(--wc-divider-width) solid var(--wc-color-brand);
	border-bottom: none;
	background: var(--wc-color-bg);
}

.legal-page__content {
	max-width: 48rem;
	margin-inline: auto;
	font-family: var(--wc-font-body);
	font-size: var(--wc-font-size-base);
	line-height: var(--wc-line-height-normal);
	color: var(--wc-color-text);
}

.legal-page__content > :first-child {
	margin-top: 0;
}

.legal-page__content > :last-child {
	margin-bottom: 0;
}

.legal-page__placeholder {
	margin: 0;
	font-size: var(--wc-font-size-sm);
	color: var(--wc-color-text-muted);
}

.legal-page__content p {
	margin: 0 0 1.125rem;
}

.legal-page__content h2,
.legal-page__content h3,
.legal-page__content h4,
.legal-page__content .wp-block-heading {
	margin: 2rem 0 0.875rem;
	font-family: var(--wc-font-heading);
	font-weight: var(--wc-font-weight-bold);
	line-height: var(--wc-line-height-snug);
	color: var(--wc-color-black);
}

.legal-page__content h2 {
	font-size: var(--wc-heading-card);
	text-transform: uppercase;
}

.legal-page__content h3 {
	font-size: var(--wc-font-size-lg);
}

.legal-page__content a {
	font-weight: var(--wc-font-weight-medium);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	text-decoration-color: rgba(230, 40, 42, 0.35);
	color: var(--wc-color-brand);
	transition: color var(--wc-transition), text-decoration-color var(--wc-transition);
}

.legal-page__content a:hover,
.legal-page__content a:focus-visible {
	color: var(--wc-color-black);
	text-decoration-color: currentColor;
}

.legal-page__content ul,
.legal-page__content ol,
.legal-page__content .wp-block-list {
	margin: 0 0 1.25rem;
	padding-left: 1.35rem;
}

.legal-page__content li {
	margin-bottom: 0.5rem;
}

.legal-page__content li::marker {
	color: var(--wc-color-brand);
}

.legal-page__content strong,
.legal-page__content b {
	font-weight: var(--wc-font-weight-bold);
	color: var(--wc-color-black);
}

.legal-page__pagination {
	margin-top: 2rem;
	font-size: var(--wc-font-size-sm);
	color: var(--wc-color-text-muted);
}

@media (max-width: 768px) {
	.legal-page__hero {
		padding-top: 2.5rem;
	}

	.legal-page__box {
		padding: 2rem 1.25rem;
	}
}
