/* TeamCNF Policy text: the Privacy notice body. Contents card (sticky on wide screens),
   numbered sections with an outlined number, and the closing contact card. Classes come
   from the "TeamCNF Policy text (PHP)" block; glass and buttons from the design system. */

/* ---- Contents and sections ----------------------------------------------- */
.tcnf-section.tcnf-legal {
	padding-top: 0;
}

.tcnf-legal__grid {
	display: grid;
	gap: var(--wp--preset--spacing--70);
}

.tcnf-legal__toc {
	display: grid;
	gap: var(--wp--preset--spacing--30);
	align-self: start;
	padding: var(--wp--preset--spacing--50) var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--radius--xl);
}

.tcnf-legal__toc-title {
	padding-inline: var(--wp--preset--spacing--30);
	color: var(--wp--custom--text--tertiary);
	font-size: var(--wp--preset--font-size--x-small);
	font-weight: 500;
	line-height: var(--wp--custom--leading--snug);
	letter-spacing: var(--wp--custom--tracking--wide);
	text-transform: uppercase;
}

.tcnf-legal__toc ol {
	display: grid;
	gap: var(--wp--custom--nudge);
}

.tcnf-legal__toc a {
	display: flex;
	align-items: baseline;
	gap: var(--wp--preset--spacing--30);
	padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
	border-radius: var(--wp--custom--radius--sm);
	color: var(--wp--custom--text--secondary);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: var(--wp--custom--leading--snug);
	text-decoration: none;
	transition: color var(--wp--custom--duration--fast) var(--wp--custom--ease--out),
		background-color var(--wp--custom--duration--fast) var(--wp--custom--ease--out);
}

.tcnf-legal__toc a span {
	color: var(--wp--custom--text--tertiary);
	font-size: var(--wp--preset--font-size--x-small);
	font-variant-numeric: tabular-nums;
}

.tcnf-legal__toc a:hover,
.tcnf-legal__toc a:focus-visible {
	background-color: var(--wp--custom--glass--fill-subtle);
	color: var(--wp--custom--text--primary);
}

.tcnf-legal__body {
	display: grid;
	max-width: var(--wp--custom--size--measure-copy);
}

/* Outlined number beside each heading, the text full width below */
.tcnf-legal__item {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: baseline;
	gap: var(--wp--preset--spacing--40);
}

.tcnf-legal__item > :not(.tcnf-legal__num, h2) {
	grid-column: 1 / -1;
}

.tcnf-legal__item:not(.tcnf-legal__ask) {
	padding-block: var(--wp--preset--spacing--60);
	border-top: 1px solid var(--wp--custom--glass--border-subtle);
}

.tcnf-legal__item:first-child {
	padding-top: 0;
	border-top: 0;
}

.tcnf-legal__item h2 {
	font-size: var(--wp--preset--font-size--x-large);
	line-height: var(--wp--custom--leading--snug);
	letter-spacing: var(--wp--custom--tracking--snug);
}

.tcnf-legal__num {
	font-size: var(--wp--preset--font-size--xx-large);
	font-weight: 600;
	line-height: var(--wp--custom--leading--flat);
	letter-spacing: var(--wp--custom--tracking--tight);
	font-variant-numeric: tabular-nums;
	color: transparent;
	-webkit-text-stroke: 1px var(--wp--custom--text--outline);
	user-select: none;
}

@supports not (-webkit-text-stroke: 1px) {
	.tcnf-legal__num {
		color: var(--wp--custom--text--outline);
	}
}

.tcnf-legal__item :is(ul, ol) {
	display: grid;
	padding: 0;
	list-style: none;
	gap: var(--wp--preset--spacing--30);
}

.tcnf-legal__item :is(ul, ol) > li {
	position: relative;
	padding-left: var(--wp--preset--spacing--50);
}

/* A red dot centred on the first line */
.tcnf-legal__item :is(ul, ol) > li::before {
	content: "";
	position: absolute;
	top: calc((1em * var(--wp--custom--leading--base) - var(--wp--custom--size--bullet)) / 2);
	left: 0;
	width: var(--wp--custom--size--bullet);
	height: var(--wp--custom--size--bullet);
	border-radius: 50%;
	background: var(--wp--preset--color--accent);
}

.tcnf-legal code {
	padding: var(--wp--custom--nudge) var(--wp--preset--spacing--10);
	border: 1px solid var(--wp--custom--glass--border-subtle);
	border-radius: var(--wp--custom--radius--xs);
	background: var(--wp--custom--glass--fill-subtle);
	color: var(--wp--custom--text--primary);
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
}

/* ---- Closing card: questions about your details -------------------------- */
.tcnf-legal__ask {
	margin-top: var(--wp--preset--spacing--40);
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50);
	border-radius: var(--wp--custom--radius--xl);
}

.tcnf-legal__ask h2 {
	font-size: var(--wp--preset--font-size--xx-large);
	line-height: var(--wp--custom--leading--tight);
	letter-spacing: var(--wp--custom--tracking--tight);
}

.tcnf-legal__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30);
	margin-top: var(--wp--preset--spacing--20);
}

.tcnf-legal__small {
	color: var(--wp--custom--text--tertiary);
	font-size: var(--wp--preset--font-size--x-small);
}

@media (min-width: 640px) {
	.tcnf-legal__ask {
		padding: var(--wp--preset--spacing--70) var(--wp--preset--spacing--60);
	}
}

@media (min-width: 900px) {
	.tcnf-legal__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
		gap: var(--wp--preset--spacing--90);
		align-items: start;
	}

	.tcnf-legal__toc {
		position: sticky;
		top: calc(var(--wp--custom--size--header) + var(--wp--preset--spacing--70));
	}
}


