/* ==========================================================================
   Legal pages (Impressum, Datenschutz, AGB, Cookieeinstellungen)
   ========================================================================== */

.picos-legal-page .site-main,
.picos-legal {
	background-color: #f5f7fa;
	overflow-x: clip;
}

/* Compact hero */
.picos-hero--legal {
	min-height: 0;
	background: linear-gradient(165deg, #ffffff 0%, #f5f7fa 55%, #eef2f7 100%);
}

.picos-hero--legal .picos-hero__inner--legal {
	display: block;
	min-height: 0;
	padding-top: clamp(48px, 6vw, 72px);
	padding-bottom: clamp(32px, 4vw, 48px);
}

.picos-hero--legal .picos-hero__content--legal {
	max-width: 900px;
}

.picos-hero--legal .picos-hero__title {
	font-size: clamp(1.75rem, 2.2vw + 0.5rem, 2.5rem);
	letter-spacing: -0.03em;
}

.picos-hero--legal .picos-hero__description {
	max-width: 62ch;
	margin-bottom: 0;
}

/* Content */
.picos-legal-content {
	padding-top: 0;
	padding-bottom: clamp(72px, 9vw, 112px);
}

.picos-legal-content__wrap {
	max-width: 880px;
	margin: 0 auto;
}

.picos-legal-content__cookie-panel {
	margin-bottom: clamp(32px, 4vw, 48px);
	padding: clamp(24px, 3vw, 32px);
	border: 1px solid rgba(111, 16, 183, 0.2);
	border-radius: var(--radius-card);
	background: linear-gradient(135deg, #ffffff 0%, #faf5ff 100%);
	box-shadow: var(--shadow-card);
}

.picos-legal-content__cookie-lead {
	margin: 0 0 20px;
	font-size: var(--font-body-large);
	line-height: 1.6;
	color: var(--text);
}

.picos-legal-content__cookie-btn {
	min-width: min(100%, 320px);
}

.picos-legal-content__cookie-hint {
	margin: 16px 0 0;
	font-size: var(--font-small);
	line-height: 1.55;
	color: var(--text-light);
}

/* Prose — legal typography */
.picos-legal-prose {
	padding: clamp(28px, 4vw, 40px);
	border: 1px solid var(--border);
	border-radius: var(--radius-card);
	background-color: var(--bg-white);
	box-shadow: var(--shadow-card);
	color: var(--text);
	font-size: var(--font-body);
	line-height: 1.7;
}

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

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

.picos-legal-prose h2 {
	margin: 2.25em 0 0.75em;
	font-size: clamp(1.25rem, 1.1vw + 1rem, 1.5rem);
	font-weight: var(--font-weight-extrabold);
	line-height: 1.3;
	color: var(--text);
	letter-spacing: -0.02em;
}

.picos-legal-prose h2:first-child {
	margin-top: 0;
}

.picos-legal-prose h3 {
	margin: 1.75em 0 0.6em;
	font-size: clamp(1.1rem, 0.5vw + 1rem, 1.25rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.35;
	color: var(--text);
}

.picos-legal-prose h4 {
	margin: 1.5em 0 0.5em;
	font-size: var(--font-body);
	font-weight: var(--font-weight-bold);
	line-height: 1.4;
	color: var(--text);
}

.picos-legal-prose p {
	margin: 0 0 1.15em;
	color: var(--text);
}

.picos-legal-prose ul,
.picos-legal-prose ol {
	margin: 0 0 1.25em;
	padding-left: 1.35em;
}

.picos-legal-prose li {
	margin-bottom: 0.45em;
}

.picos-legal-prose li::marker {
	color: var(--primary);
}

.picos-legal-prose a {
	color: var(--primary);
	font-weight: var(--font-weight-semibold);
	text-decoration: underline;
	text-decoration-color: rgba(111, 16, 183, 0.35);
	text-underline-offset: 3px;
	transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

.picos-legal-prose a:hover,
.picos-legal-prose a:focus-visible {
	color: #5a0d9a;
	text-decoration-color: currentColor;
}

.picos-legal-prose b,
.picos-legal-prose strong {
	font-weight: var(--font-weight-bold);
	color: var(--text);
}

.picos-legal-prose br + br {
	display: none;
}

@media (max-width: 639px) {
	.picos-legal-prose {
		padding: 22px 20px;
	}

	.picos-legal-content__cookie-btn {
		width: 100%;
		justify-content: center;
	}
}
