/**
 * Legal and Policy pages styling
 */

.ecn-legal-page {
	padding-block: 60px 100px;
}

.ecn-legal-header {
	margin-bottom: 60px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--ecn-border);
}

.ecn-legal-header h1 {
	margin: 0 0 8px;
	font-family: var(--ecn-serif);
	font-size: clamp(32px, 6vw, 56px);
	font-weight: 400;
}

.ecn-legal-header p {
	color: var(--ecn-muted);
	font-size: 14px;
}

.ecn-legal-layout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 60px;
}

/* Sidebar Nav */
.ecn-legal-sidebar {
	display: none;
}

.ecn-legal-nav-box {
	position: sticky;
	top: 100px;
}

.ecn-legal-nav-box h2 {
	margin: 0 0 20px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--ecn-soft);
}

.ecn-legal-nav {
	list-style: none;
	padding: 0;
	margin: 0 0 40px;
}

.ecn-legal-nav li {
	margin-bottom: 12px;
}

.ecn-legal-nav a {
	font-size: 13px;
	color: var(--ecn-muted);
	transition: color 160ms ease;
}

.ecn-legal-nav a:hover {
	color: var(--ecn-text);
}

.ecn-legal-support-card {
	padding: 24px;
	background: var(--ecn-panel);
	border-radius: var(--ecn-radius);
}

.ecn-legal-support-card p {
	margin: 0 0 16px;
	font-size: 14px;
	font-weight: 600;
}

/* Mobile Section Selector */
.ecn-legal-mobile-nav {
	margin-bottom: 40px;
}

.ecn-legal-mobile-nav select {
	width: 100%;
	height: 52px;
	padding: 0 16px;
	border: 1px solid var(--ecn-border);
	border-radius: var(--ecn-radius-sm);
	background: var(--ecn-paper);
	font-size: 14px;
}

/* Content Sections */
.ecn-legal-content {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.ecn-legal-section {
	scroll-margin-top: 120px;
}

.ecn-legal-section__header {
	display: flex;
	gap: 20px;
	margin-bottom: 20px;
	align-items: flex-start;
}

.ecn-legal-section__number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	background: var(--ecn-panel);
	border-radius: 50%;
	font-size: 14px;
	font-weight: 700;
	flex-shrink: 0;
}

.ecn-legal-section h2 {
	margin: 0;
	font-family: var(--ecn-serif);
	font-size: 24px;
	font-weight: 500;
}

.ecn-legal-section__body {
	padding-inline-start: 52px;
	color: var(--ecn-muted);
	font-size: 15px;
	line-height: 1.7;
}

.ecn-legal-section__body ul {
	padding-inline-start: 20px;
	margin-top: 16px;
}

.ecn-legal-section__body li {
	margin-bottom: 8px;
}

/* Legal Accordion Variation */
.ecn-legal-accordion {
	border-top: 1px solid var(--ecn-border-soft);
}

.ecn-legal-accordion details {
	border-bottom: 1px solid var(--ecn-border-soft);
}

.ecn-legal-accordion summary {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 24px 0;
	cursor: pointer;
	list-style: none;
}

.ecn-legal-accordion summary::-webkit-details-marker {
	display: none;
}

.ecn-legal-accordion summary h2 {
	font-size: 18px;
	flex: 1;
}

.ecn-legal-accordion summary::after {
	content: "+";
	font-size: 20px;
	color: var(--ecn-soft);
}

.ecn-legal-accordion details[open] summary::after {
	content: "−";
}

/* Legal Footer Bar */
.ecn-legal-footer-bar {
	display: flex;
	flex-direction: column;
	gap: 24px;
	margin-top: 80px;
	padding: 32px;
	background: var(--ecn-paper);
	border: 1px solid var(--ecn-border);
	border-radius: var(--ecn-radius);
	align-items: center;
	text-align: center;
}

.ecn-legal-badge {
	display: flex;
	align-items: center;
	gap: 16px;
	flex: 1;
	text-align: start;
}

.ecn-legal-badge svg {
	width: 40px;
	height: 40px;
	color: var(--ecn-accent);
}

.ecn-legal-badge div strong {
	display: block;
	font-size: 15px;
}

.ecn-legal-badge div p {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--ecn-muted);
}

.ecn-legal-actions {
	display: flex;
	gap: 12px;
}

.ecn-legal-actions .ecn-button {
	min-height: 44px;
	padding: 0 16px;
	font-size: 11px;
	gap: 8px;
}

@media (min-width: 768px) {
	.ecn-legal-layout {
		grid-template-columns: 280px 1fr;
	}

	.ecn-legal-sidebar {
		display: block;
	}

	.ecn-legal-mobile-nav {
		display: none;
	}

	.ecn-legal-footer-bar {
		flex-direction: row;
		text-align: start;
	}
}
