/*
  All legal-* styles are used in privacy.html too!
*/
.legal-container {
	max-width: 800px;
	margin: calc(var(--base-block-space-rem, 1rem) + 0.5rem) auto; /* centered */
	padding: 1.5rem;
	padding: clamp(1rem, 2vh, 2rem);
	padding-top: 1rem;
	padding-bottom: 1rem;
	background: var(--card-bg);
	border: 1px solid var(--border);
	border-radius: 8px; /* --radius-ml */
	box-shadow: var(--shadow-extrasoft-mediumdrop);
}

.legal-header {
	text-align: center;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 2px solid var(--accent);
}

.legal-header > h1 {
	margin: 0.5rem 0; /* override default 0.67em */
	color: var(--primary);
}

.legal-header > p {
    color: var(--text-light);
    font-size: 0.9rem;
}

.legal-section-divider {
	border: none;
	height: 2px;
	background: var(--accent);
	margin: 2rem auto;

}

.legal-section {
	margin: 2.5rem 0 1.5rem 0;
}
.legal-section:last-of-type {
	margin-bottom: 0; /* Remove bottom margin from last section for clean end */
}

.legal-section address {
	color: var(--text);
	line-height: 1.6;
	margin-top: 0.5rem;
	margin-bottom: 0.5rem;
}

/* inline link styling */
.legal-section a {
	text-decoration: none;
	color: var(--accent);
	font-weight: 600;
	position: relative; /* Needed for ::after positioning */
	display: inline-block; /* Ensures proper width containment */
}

.legal-section > h2 {
	font-size: 1.3rem;
	color: var(--primary);
	margin-bottom: 1rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--border);
	display: flex;
	align-items: center;
	gap: 1rem;
}

.legal-section > h2 > i {
	color: var(--accent);
	width: 1.5rem;
}

/* SVG icon styling for legal pages */
.legal-section > h2 > .legal-icon {
	width: 1.5rem;
	height: 1.5rem;
	fill: var(--accent);
	flex-shrink: 0;
}

.legal-section > h3 {
        margin-bottom: 0.25rem;
	font-size: 1.1rem;
	color: var(--primary);
}

.legal-section > h3 + address {
        margin-top: 0;
        margin-bottom: 0;
}

.legal-section > h3 > i {
	color: var(--accent);
	padding-right: 1.25rem;
}

.legal-highlight {
	background: var(--accent-bg);
	padding: 0.5rem 1.5rem;
	border-radius: 6px; /* --radius-md */
	margin: 1rem 0;
	border-left: 4px solid var(--accent);
}

.legal-highlight > p {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

.legal-highlight strong {
	color: var(--accent);
}

.legal-sig {
	text-align: center;
	margin-top: 1.5rem;
        padding-top: 0.5rem;
	border-top: 1px solid var(--border);
	color: var(--text-light);
	font-size: 0.9rem;
}

.legal-sig > p {
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
}

.legal-home-nav {
	margin: 0 auto; /* plenty of vertical margin and padding by .legal-container */
	max-width: 800px; /* Match .legal-container */
	text-align: center;
}

/* PHONE: ≤ var(--bp-tablet-width) (48rem ^= 768px @1DPR)
@media (max-width: 48rem) {
	.legal-container {
		margin: clamp(0.5rem, 1.5vh, 1.5rem); // same margin as dynamic padding on mobile
		padding: clamp(0.5rem, 1.5vh, 1.5rem); // min is half of var(--container-padding)
	}

}
*/
