.stw-documento-legale {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap: clamp(24px, 4cqw, 64px);
}

.stw-documento-legale__colonna {
	flex: 1 1 min(100%, 420px);
	max-width: var(--stw-documento-legale-larghezza-testo, 70ch);
	min-width: 0;
}

.stw-documento-legale:not(:has(.stw-documento-legale__laterale)) .stw-documento-legale__colonna {
	margin-inline: auto;
}

.stw-documento-legale__occhiello {
	font-family: var(--stw-font-mono, var(--stw-font-testo, inherit));
	font-size: var(--stw-etichetta, 11px);
	font-weight: var(--stw-font-mono-peso, 600);
	letter-spacing: var(--stw-etichetta-spaziatura-larga, 0.2em);
	text-transform: uppercase;
	color: var(--stw-accento-testo, var(--stw-accento, #2557d6));
}

.stw-documento-legale__titolo {
	margin-top: 16px;
	font-family: var(--stw-font-titoli, inherit);
	line-height: 1.06;
	letter-spacing: -0.025em;
	color: var(--stw-inchiostro, #0c1116);
}

.stw-documento-legale__aggiornamento {
	margin-top: 12px;
	font-family: var(--stw-font-mono, var(--stw-font-testo, inherit));
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--stw-testo-secondario, #5b6673);
}

.stw-documento-legale__introduzione {
	margin-top: 16px;
	max-width: 66ch;
	line-height: 1.75;
	color: var(--stw-testo-secondario, #5b6673);
}

.stw-documento-legale__corpo {
	margin-top: 26px;
	display: flex;
	flex-direction: column;
	gap: 26px;
}

.stw-documento-legale__corpo h2 {
	line-height: 1.25;
	color: var(--stw-inchiostro, #0c1116);

	scroll-margin-top: var(--stw-scroll-margine, 110px);
}

.stw-documento-legale__corpo h2 + p {
	margin-top: 10px;
}

.stw-documento-legale__corpo p {
	line-height: 1.8;
	color: var(--stw-testo-secondario, #5b6673);
}

.stw-documento-legale__tabella-scroll {
	margin-top: 28px;
	overflow-x: auto;
}

.stw-documento-legale__tabella {
	width: 100%;
	min-width: 520px;
	border-collapse: collapse;
	font-size: 14px;
	line-height: 1.6;
}

.stw-documento-legale__tabella th {
	text-align: left;
	padding: 12px 14px 12px 0;
	border-bottom: 1px solid var(--stw-bordo-forte, rgba(12, 17, 22, 0.3));
	font-family: var(--stw-font-mono, var(--stw-font-testo, inherit));

	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--stw-testo-secondario, #5b6673);
}

.stw-documento-legale__tabella td {
	padding: 14px 14px 14px 0;
	border-bottom: var(--stw-bordo, 1px solid rgba(12, 17, 22, 0.12));
	color: var(--stw-testo-secondario, #5b6673);
	vertical-align: top;
}

.stw-documento-legale__tabella.stw-documento-legale__tabella :is(thead, tbody) > tr > :is(th, td) {
	border-width: 0 0 1px;
	border-style: solid;
	background-color: transparent;
}

.stw-documento-legale__tabella td:first-child {
	color: var(--stw-inchiostro, #0c1116);
	font-weight: 600;
}

.stw-documento-legale__nota-chiusura {
	margin-top: 24px;
	max-width: 70ch;
	font-size: 13px;
	line-height: 1.75;
	color: var(--stw-testo-secondario, #5b6673);
}

.stw-documento-legale__da-compilare {
	margin-top: 32px;
	padding: 20px;
	border: 1px dashed var(--stw-accento, #2557d6);

	border-radius: var(--stw-raggio-card, 12px);
}

.stw-documento-legale__da-compilare-etichetta {
	font-family: var(--stw-font-mono, var(--stw-font-testo, inherit));
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--stw-accento-testo, var(--stw-accento, #2557d6));
}

.stw-documento-legale__da-compilare p:not(:first-child) {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.75;
	color: var(--stw-testo-secondario, #5b6673);
}

.stw-documento-legale__laterale {
	flex: 1 1 min(100%, 240px);
	position: sticky;

	top: var(--stw-sticky-offset, 110px);
	border: var(--stw-bordo, 1px solid rgba(12, 17, 22, 0.12));
	border-radius: var(--stw-raggio-card, 18px);
	padding: 22px;
}

.stw-documento-legale__indice-etichetta {
	font-family: var(--stw-font-mono, var(--stw-font-testo, inherit));
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--stw-testo-secondario, #5b6673);
}

.stw-documento-legale__indice-elenco {
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 11px;
}

.stw-documento-legale__indice-elenco a {
	font-size: 14px;
	line-height: 1.45;
	color: var(--stw-inchiostro, #0c1116);
	text-decoration: none;
}

@media (hover: hover) and (pointer: fine) {
	.stw-documento-legale__indice-elenco a:hover {
		color: var(--stw-accento-testo, var(--stw-accento, #2557d6));
	}
}

@media (max-width: 720px) {
	.stw-documento-legale__laterale {
		display: none;
	}
}

.stw-documento-legale__indice-breve {
	display: none;
}

@media (max-width: 720px) {
	.stw-documento-legale__indice-breve {
		display: block;
		margin-top: 28px;
		border: var(--stw-bordo, 1px solid rgba(12, 17, 22, 0.12));
		border-radius: var(--stw-raggio-card, 18px);
		padding: 0 18px;
	}

	.stw-documento-legale__indice-breve > summary {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 48px;
		cursor: pointer;
		list-style: none;
	}

	.stw-documento-legale__indice-breve > summary::-webkit-details-marker {
		display: none;
	}

	.stw-documento-legale__indice-breve > summary::after {
		content: "";
		width: 8px;
		height: 8px;
		margin-inline-end: 4px;
		border-right: 1.5px solid currentColor;
		border-bottom: 1.5px solid currentColor;
		transform: translateY(-2px) rotate(45deg);
	}

	.stw-documento-legale__indice-breve[open] > summary::after {
		transform: translateY(2px) rotate(-135deg);
	}

	.stw-documento-legale__indice-breve .stw-documento-legale__indice-elenco {
		margin: 0;
		padding-bottom: 18px;
		gap: 0;
	}

	.stw-documento-legale__indice-breve .stw-documento-legale__indice-elenco a {
		display: flex;
		align-items: center;
		min-height: 44px;
	}
}

@media (prefers-reduced-motion: no-preference) {
	html:has(.stw-documento-legale) {
		scroll-behavior: smooth;
	}
}
