/* NICHO Trabalho · KIT A · Editorial */

/* Topo ------------------------------------------------------------------------- */
.nx-ed-legal-head {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	column-gap: 48px;
	row-gap: 16px;
	align-items: end;
	padding-top: 72px;
	padding-bottom: 48px;
}

.nx-ed-legal-head__title {
	grid-column: span 7;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.nx-ed-legal-head__title h1 {
	font-family: var(--nx-display);
	font-size: 72px;
	font-weight: 600;
	letter-spacing: -0.015em;
	line-height: 0.98;
	text-wrap: balance;
}

.nx-ed-legal-head__date {
	grid-column: span 5;
	font-size: 15px;
	color: var(--nx-muted);
}

/* Índice + texto -------------------------------------------------------------------- */
.nx-ed-legal-body {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	column-gap: 72px;
	align-items: start;
	padding-bottom: 88px;
}

.nx-ed-legal-body--single {
	grid-template-columns: minmax(0, 1fr);
}

.nx-ed-legal-side {
	position: sticky;
	top: 24px;
	padding-top: 4px;
}

.nx-ed-legal-toc {
	display: flex;
	flex-direction: column;
}

.nx-ed-legal-toc__title {
	margin-bottom: 8px;
	font-family: var(--nx-display);
	font-size: 19px;
	font-style: italic;
}

.nx-ed-legal-toc a {
	padding: 7px 0;
	font-size: 15px;
	line-height: 1.35;
	color: var(--nx-ink);
	text-decoration: none;
}

.nx-ed-legal-toc a:hover,
.nx-ed-legal-toc a.is-active {
	color: var(--nx-accent-ink);
}

.nx-ed-legal-toc a.is-active {
	font-weight: 600;
}

.nx-ed-legal-toc-inline {
	display: none;
}

.nx-ed-legal-main {
	display: flex;
	flex-direction: column;
	gap: 36px;
	max-width: 760px;
	min-width: 0;
}

.nx-ed-legal-summary {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 28px 32px;
	border-radius: 4px;
	background: color-mix(in oklab, var(--nx-accent) 7%, #fff);
}

.nx-ed-legal-summary p {
	font-family: var(--nx-display);
	font-size: 22px;
	line-height: 1.55;
}

/* Texto: seções com título 30px e parágrafos 19px, como no design */
.nx-ed-legal-content {
	font-size: 19px;
	line-height: 1.7;
}

.nx-ed-legal-content > :where(*) {
	margin-bottom: 12px;
}

:where(.nx-ed-legal-content) h2 {
	margin: 36px 0 12px;
	font-size: 30px;
}

:where(.nx-ed-legal-content) > h2:first-child {
	margin-top: 0;
}

/* Responsivo --------------------------------------------------------------------------- */
@media (max-width: 1180px) {
	.nx-ed-legal-head__title h1 {
		font-size: 58px;
	}

	.nx-ed-legal-head__title,
	.nx-ed-legal-head__date {
		grid-column: 1 / -1;
	}

	/* índice vira caixa que abre e fecha, acima do texto */
	.nx-ed-legal-body {
		grid-template-columns: minmax(0, 1fr);
	}

	.nx-ed-legal-side {
		display: none;
	}

	.nx-ed-legal-main {
		max-width: none;
	}

	.nx-ed-legal-toc-inline {
		display: block;
		padding: 16px 20px;
		background: var(--nx-tint-6);
	}

	.nx-ed-legal-toc-inline summary {
		font-family: var(--nx-display);
		font-size: 18px;
		font-style: italic;
		cursor: pointer;
	}

	.nx-ed-legal-toc-inline nav {
		display: flex;
		flex-direction: column;
		margin-top: 8px;
	}

	.nx-ed-legal-toc-inline a {
		padding: 10px 0;
		border-bottom: 1px solid var(--nx-line);
		font-size: 15px;
		color: var(--nx-ink);
		text-decoration: none;
	}

	.nx-ed-legal-toc-inline a:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 860px) {
	/* 12 colunas com 48px de espaço não cabem no celular: vira 1 coluna */
	.nx-ed-legal-head {
		grid-template-columns: minmax(0, 1fr);
		padding-top: 36px;
		padding-bottom: 28px;
	}

	.nx-ed-legal-head__title h1 {
		font-size: 40px;
		line-height: 1.04;
	}

	.nx-ed-legal-body {
		padding-bottom: 56px;
	}

	.nx-ed-legal-main {
		gap: 28px;
	}

	.nx-ed-legal-summary {
		padding: 22px 20px;
	}

	.nx-ed-legal-summary p {
		font-size: 19px;
	}

	.nx-ed-legal-content {
		font-size: 17px;
	}

	:where(.nx-ed-legal-content) h2 {
		font-size: 25px;
	}
}
