/* ==========================================================================
   Hegau24 Legal Page
   Scoped component styles only
   ========================================================================== */

.hegau-legal-page {
	width: 100%;
	margin: 0;
	padding: 0 0 72px;
	background: #fff;
	color: #1f2937;
}

.hegau-legal-page__container {
	width: min(1180px, 92%);
	margin: 0 auto;
}

/* Breadcrumb -------------------------------------------------------------- */

.hegau-legal-page__breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 28px 0 18px;
	font-size: 14px;
	line-height: 1.5;
	color: #6b7280;
}

.hegau-legal-page__breadcrumb a {
	color: #2563eb;
	text-decoration: none;
}

.hegau-legal-page__breadcrumb a:hover {
	text-decoration: underline;
}

.hegau-legal-page__breadcrumb-separator {
	color: #9ca3af;
}

/* Header ------------------------------------------------------------------ */

.hegau-legal-page__header {
	max-width: 860px;
	padding: 24px 0 28px;
}

.hegau-legal-page__header h1 {
	margin: 0;
	font-size: clamp(36px, 5vw, 58px);
	line-height: 1.08;
	font-weight: 700;
	letter-spacing: -0.025em;
	color: #111827;
}

.hegau-legal-page__intro {
	margin: 18px 0 0;
	max-width: 760px;
	font-size: 18px;
	line-height: 1.65;
	color: #6b7280;
}

/* Information notice ----------------------------------------------------- */

.hegau-legal-page__notice {
	display: flex;
	align-items: flex-start;
	gap: 18px;
	margin: 8px 0 44px;
	padding: 22px 24px;
	border: 1px solid #bfdbfe;
	border-radius: 14px;
	background: #eff6ff;
}

.hegau-legal-page__notice-icon {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #2563eb;
	color: #fff;
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
}

.hegau-legal-page__notice-content {
	min-width: 0;
}

.hegau-legal-page__notice-content strong {
	display: block;
	margin: 0 0 5px;
	font-size: 16px;
	line-height: 1.4;
	color: #1e3a8a;
}

.hegau-legal-page__notice-content p {
	margin: 0;
	font-size: 15px;
	line-height: 1.65;
	color: #374151;
}

/* Main two-column layout ------------------------------------------------- */

.hegau-legal-page__layout {
	display: grid;
	grid-template-columns: 280px minmax(0, 1fr);
	gap: 64px;
	align-items: start;
}

/* Table of contents ------------------------------------------------------- */

.hegau-legal-page__toc {
	position: relative;
}

.hegau-legal-page__toc-inner {
	position: sticky;
	top: 32px;
	padding: 24px;
	border: 1px solid #e5e7eb;
	border-radius: 14px;
	background: #f9fafb;
}

.hegau-legal-page__toc h2 {
	margin: 0 0 18px;
	font-size: 18px;
	line-height: 1.35;
	font-weight: 700;
	color: #111827;
}

.hegau-legal-page__toc ol {
	margin: 0;
	padding: 0;
	list-style: none;
}

.hegau-legal-page__toc li {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #e5e7eb;
}

.hegau-legal-page__toc li:last-child {
	border-bottom: 0;
}

.hegau-legal-page__toc a {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	padding: 10px 0;
	color: #4b5563;
	font-size: 14px;
	line-height: 1.45;
	text-decoration: none;
	transition: color 0.15s ease;
}

.hegau-legal-page__toc a:hover {
	color: #2563eb;
}

.hegau-legal-page__toc-number {
	flex: 0 0 auto;
	color: #2563eb;
	font-weight: 600;
}

.hegau-legal-page__toc-title {
	min-width: 0;
}

/* Legal content ---------------------------------------------------------- */

.hegau-legal-page__content {
	min-width: 0;
	max-width: 780px;
}

.hegau-legal-page__section {
	margin: 0;
	padding: 0 0 38px;
	scroll-margin-top: 32px;
}

.hegau-legal-page__section + .hegau-legal-page__section {
	padding-top: 10px;
	border-top: 1px solid #e5e7eb;
}

.hegau-legal-page__section h2 {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 0 0 18px;
	font-size: 25px;
	line-height: 1.3;
	font-weight: 700;
	color: #111827;
}

.hegau-legal-page__section-number {
	flex: 0 0 auto;
	color: #2563eb;
}

.hegau-legal-page__section-body {
	color: #374151;
	font-size: 16px;
	line-height: 1.75;
}

.hegau-legal-page__section-body p {
	margin: 0 0 16px;
}

.hegau-legal-page__section-body p:last-child {
	margin-bottom: 0;
}

.hegau-legal-page__section-body ul {
	margin: 4px 0 18px;
	padding-left: 22px;
}

.hegau-legal-page__section-body li {
	margin: 0 0 8px;
	padding-left: 4px;
}

/* Last updated ------------------------------------------------------------ */

.hegau-legal-page__updated {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
	padding: 18px 20px;
	border-left: 4px solid #2563eb;
	border-radius: 8px;
	background: #f3f4f6;
	font-size: 14px;
	line-height: 1.5;
	color: #4b5563;
}

.hegau-legal-page__updated strong {
	color: #111827;
}

/* Responsive ------------------------------------------------------------- */

@media (max-width: 900px) {

	.hegau-legal-page__layout {
		grid-template-columns: 1fr;
		gap: 32px;
	}

	.hegau-legal-page__toc-inner {
		position: static;
	}

	.hegau-legal-page__content {
		max-width: none;
	}

}

@media (max-width: 600px) {

	.hegau-legal-page {
		padding-bottom: 48px;
	}

	.hegau-legal-page__container {
		width: min(100% - 32px, 1180px);
	}

	.hegau-legal-page__breadcrumb {
		padding-top: 20px;
		font-size: 13px;
	}

	.hegau-legal-page__header {
		padding-top: 16px;
	}

	.hegau-legal-page__header h1 {
		font-size: 34px;
	}

	.hegau-legal-page__intro {
		font-size: 16px;
	}

	.hegau-legal-page__notice {
		margin-bottom: 32px;
		padding: 18px;
	}

	.hegau-legal-page__layout {
		gap: 24px;
	}

	.hegau-legal-page__toc-inner {
		padding: 20px;
	}

	.hegau-legal-page__section h2 {
		font-size: 22px;
	}

	.hegau-legal-page__section-body {
		font-size: 15px;
		line-height: 1.7;
	}

}