/* Famiglia «legale»: regole condivise dalle pagine con questo template, sotto .qrevely-pagina--legale.
   Misure di .pp-/.ck-/.tc- del live (privacy, accordo, cookie, informativa, termini). */

/* Sotto il contenuto il live tiene lo spazio verticale del contenitore di Blocksy (.ct-container-full): 60px, 50px sotto
   i 690px. Le altre famiglie lo annullano nel loro foglio, le pagine legali no. */
.qrevely-pagina--legale {
	overflow-x: clip;
	padding-bottom: 60px;
	color: var(--wp--preset--color--inchiostro-2);
}
@media (max-width: 689.98px) {
	.qrevely-pagina--legale {
		padding-bottom: 50px;
	}
}

.qrevely-pagina--legale .qrevely-testata-legale,
.qrevely-pagina--legale .qrevely-legale-corpo {
	margin-block: 0;
}
/* Il blocco colonna di core spezza le parole in qualunque punto: il live le spezza solo se non stanno. */
.qrevely-pagina--legale .wp-block-column {
	word-break: normal;
}

/* ---------- testata ---------- */
/* Sul live l'header sta sopra la testata: 76px di padding meno i 25px che l'header copre, fino a 782px (fra 782 e 999px base.css
dà alla testata i 18px che il nostro header perde). */
.qrevely-pagina--legale .qrevely-testata-legale {
	padding: 51px var(--wp--custom--gutter, 20px) 72px;
}
.qrevely-pagina--legale .is-style-eyebrow {
	gap: 11px;
	color: var(--wp--preset--color--inchiostro);
	font-size: 11px;
	line-height: 1;
}
.qrevely-pagina--legale .is-style-eyebrow::before {
	width: 8px;
	height: 8px;
}
.qrevely-pagina--legale .qrevely-testata-colonne {
	gap: 60px;
	align-items: flex-start;
	margin-top: 30px;
}
.qrevely-pagina--legale .qrevely-testata-colonne > .wp-block-column {
	min-width: 0;
}
.qrevely-pagina--legale .qrevely-testata-legale h1 {
	margin: 0;
	font-size: clamp(32px, 3.8vw, 54px);
	line-height: 1.06;
	letter-spacing: -0.034em;
}
/* L'informativa sulle scansioni non ha l'asterisco: il testo a lato non ha le misure della nota, resta quello del corpo (16px). */
.qrevely-pagina--legale .qrevely-testata-lato.qrevely-testata-lato--nuda {
	padding-top: 0;
}
.qrevely-pagina--legale .qrevely-testata-lato.qrevely-testata-lato--nuda p {
	color: var(--wp--preset--color--inchiostro);
	font-size: 16px;
	line-height: 1.65;
}

/* Sul live il punto è il carattere «.» arancio, non un cerchio fisso da 12px. */
.qrevely-pagina--legale .qrevely-testata-legale h1::after {
	width: 0.17em;
	height: 0.17em;
	margin-left: 0.04em;
}
.qrevely-pagina--legale .qrevely-testata-data {
	margin: 24px 0 0;
	color: var(--wp--preset--color--grigio);
	font-size: 12.5px;
	line-height: 1.6;
}
.qrevely-pagina--legale .qrevely-testata-data + .qrevely-testata-data {
	margin-top: 7px;
}
.qrevely-pagina--legale .qrevely-testata-premessa {
	max-width: 620px;
	margin: 14px 0 0;
	color: var(--wp--preset--color--inchiostro-2);
	font-size: 15px;
	line-height: 1.7;
}
.qrevely-pagina--legale .qrevely-testata-lato {
	padding-top: 6px;
}
.qrevely-pagina--legale .qrevely-testata-lato .qrevely-testata-asterisco {
	display: block;
	margin: 0 0 20px;
}
.qrevely-pagina--legale .qrevely-testata-lato p {
	margin: 0;
	color: var(--wp--preset--color--inchiostro-2);
	font-size: 14px;
	line-height: 1.66;
}
.qrevely-pagina--legale .qrevely-testata-lato a:not(.wp-block-button__link) {
	text-decoration: underline;
	text-underline-offset: 2px;
}
.qrevely-pagina--legale .qrevely-testata-lato .wp-block-buttons {
	margin-top: 16px;
}
.qrevely-pagina--legale .qrevely-testata-lato .wp-block-button.is-style-link-freccia .wp-block-button__link {
	gap: 7px;
	border-color: var(--wp--preset--color--inchiostro);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.6;
}
.qrevely-pagina--legale .qrevely-testata-lato .wp-block-button.is-style-link-freccia .wp-block-button__link::after {
	width: 15px;
	height: 15px;
}

/* ---------- corpo: indice a lato e testo ---------- */
/* Il modello mette il contenuto (post-content) e l'indice (blocco qrevely/indice, un <aside>) in una griglia. Il contenuto
   ha display: contents, così i suoi figli diventano celle: la testata a tutta larghezza nella prima riga, il gruppo del corpo
   (e gli eventuali blocchi dopo) nella colonna del testo, l'indice a lato nella seconda riga.
   Nel DOM il contenuto viene prima dell'indice (Ruling E): tastiera e lettori di schermo partono dalla testata, come la
   vista, poi il testo, poi l'indice come una colonna laterale (con l'indice per primo la testata arrivava dopo le sue
   voci). La pagina è identica come geometria a quando l'indice stava nel contenuto; Chrome però dipinge l'indice
   fisso dopo i pallini degli elenchi, e sopra i 1080px qualche bordo arrotondato e un po' di testo escono con
   l'antialiasing diverso di uno o pochi livelli su 255 (misure nel report del Task 7).
   Le colonne sono quelle che avevano i blocchi colonna: un contenitore di 1160px (wideSize) centrato, con almeno il gutter
   ai lati; dentro, l'indice da 260px, 70px di distanza e il testo fino a 760px, a sinistra (a 1440 restano 70px vuoti a
   destra). Il testo si stringe per primo, poi i margini: per questo il bordo sinistro è un max() e non un 1fr, che fra
   1081 e 1200px dividerebbe lo spazio con il vuoto a destra. I nomi delle linee finiscono in -start/-end: è così che
   grid-column: testo li trova. */
.qrevely-pagina--legale .qrevely-legale-griglia {
	display: grid;
	grid-template-columns:
		[pieno-start] max(var(--wp--custom--gutter, 20px), (100% - var(--wp--style--global--wide-size, 1160px)) / 2)
		[lato-start] 260px [lato-end] 70px
		[testo-start] minmax(0, 760px) [testo-end]
		minmax(var(--wp--custom--gutter, 20px), 1fr) [pieno-end];
}
.qrevely-pagina--legale .qrevely-legale-griglia > .wp-block-post-content {
	display: contents;
}
.qrevely-pagina--legale .qrevely-legale-griglia > .wp-block-post-content > * {
	grid-column: testo;
	margin-inline: 0;
	max-width: none;
}
.qrevely-pagina--legale .qrevely-legale-griglia > .wp-block-post-content > .qrevely-testata-legale {
	grid-column: pieno;
	grid-row: 1;
}
/* La cella dell'indice è alta quanto il corpo, con i suoi stessi padding: il gruppo fisso parte all'altezza del testo e
   scorre fino alla sua fine. Senza indice il blocco non stampa nulla e il corpo resta nella sua colonna. La riga è fissata
   perché l'indice viene dopo il contenuto nel DOM; margin-block: 0 perché il gruppo della griglia ha il layout a flusso, che
   al secondo figlio darebbe il blockGap (24px) sopra. */
.qrevely-pagina--legale .qrevely-legale-griglia > .qrevely-corpo-lato {
	grid-column: lato;
	grid-row: 2;
	align-self: stretch;
	margin-block: 0;
	padding-block: 64px 96px;
}
/* Il testo e l'indice stavano in un blocco colonna, che va a capo dentro le parole troppo lunghe (overflow-wrap). */
.qrevely-pagina--legale .qrevely-legale-griglia > .qrevely-corpo-lato,
.qrevely-pagina--legale .qrevely-legale-corpo {
	overflow-wrap: break-word;
}
.qrevely-pagina--legale .qrevely-legale-corpo {
	padding: 64px 0 96px;
}
/* R20 (base.css): fra 782 e 999px la prima sezione della pagina prende un bordo trasparente di 18px. Qui il primo figlio del
   main è la griglia, che non ha fondo: il bordo va alla prima cella del contenuto (la testata), così il lilla arriva fino
   all'header senza una striscia crema in mezzo. */
@media (min-width: 782px) and (max-width: 999.98px) {
	.qrevely-pagina.qrevely-pagina--legale > .qrevely-legale-griglia:first-child {
		border-top: 0;
	}
	.qrevely-pagina--legale .qrevely-legale-griglia > .wp-block-post-content > :first-child {
		border-top: 18px solid transparent;
	}
}
.qrevely-pagina--legale .qrevely-corpo-lato-fisso {
	position: sticky;
	top: calc(110px + var(--wp-admin--admin-bar--height, 0px));
}
.qrevely-pagina--legale .qrevely-indice {
	position: static;
}
.qrevely-pagina--legale .qrevely-indice-titolo {
	display: flex;
	align-items: center;
	gap: 11px;
	margin: 0;
	color: var(--wp--preset--color--inchiostro);
	font-size: 10px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.12em;
}
.qrevely-pagina--legale .qrevely-indice-titolo::before {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--viola);
}
.qrevely-pagina--legale .qrevely-indice ol {
	margin: 18px 0 0;
	counter-reset: legale-voce;
}
.qrevely-pagina--legale .qrevely-indice li {
	counter-increment: legale-voce;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
.qrevely-pagina--legale .qrevely-indice li:first-child {
	border-top: 1px solid var(--wp--preset--color--linea);
}
.qrevely-pagina--legale .qrevely-indice li + li {
	margin-top: 0;
}
.qrevely-pagina--legale .qrevely-indice a {
	display: flex;
	gap: 10px;
	padding: 9px 0;
	color: var(--wp--preset--color--inchiostro-2);
	font-size: 12.5px;
	line-height: 1.4;
	text-decoration: none;
}
.qrevely-pagina--legale .qrevely-indice a::before {
	content: counter(legale-voce, decimal-leading-zero);
	flex: 0 0 22px;
	color: var(--wp--preset--color--grigio);
	font-size: 11px;
}
.qrevely-pagina--legale .qrevely-indice a:hover {
	color: var(--wp--preset--color--viola);
}
.qrevely-pagina--legale .qrevely-legale-indietro {
	margin: 20px 0 0;
	font-size: 12.5px;
	font-weight: 600;
	line-height: 1.6;
}
.qrevely-pagina--legale .qrevely-legale-indietro a {
	color: var(--wp--preset--color--viola);
	text-decoration: none;
}

/* ---------- testo ---------- */
.qrevely-pagina--legale .qrevely-legale-corpo > * {
	margin-block: 15px 0;
}
.qrevely-pagina--legale .qrevely-legale-corpo > :first-child {
	margin-top: 0;
}
.qrevely-pagina--legale .qrevely-legale-corpo p,
.qrevely-pagina--legale .qrevely-legale-corpo li {
	color: var(--wp--preset--color--inchiostro-2);
	font-size: 15px;
	line-height: 1.75;
}
.qrevely-pagina--legale .qrevely-legale-corpo strong {
	color: var(--wp--preset--color--inchiostro);
	font-weight: 600;
}
.qrevely-pagina--legale .qrevely-legale-corpo a {
	color: var(--wp--preset--color--viola);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.qrevely-pagina--legale .qrevely-legale-corpo a:hover {
	color: var(--wp--preset--color--viola-scuro);
}
.qrevely-pagina--legale .qrevely-legale-corpo .qrevely-legale-intro {
	font-size: 16px;
}
.qrevely-pagina--legale code {
	padding: 0;
	background: none;
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.92em;
}
/* Nelle celle delle tabelle il live tiene i nomi dei cookie a 13.5px, come il resto della cella. */
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale code {
	font-size: 1em;
}

.qrevely-pagina--legale .qrevely-legale-corpo {
	counter-reset: legale-h2;
}
.qrevely-pagina--legale .qrevely-legale-corpo h2 {
	display: flex;
	gap: 14px;
	margin-top: 76px;
	padding-top: 0;
	border-top: 1px solid var(--wp--preset--color--linea);
	color: var(--wp--preset--color--inchiostro);
	font-size: clamp(21px, 2vw, 26px);
	line-height: 1.2;
	letter-spacing: -0.026em;
	counter-increment: legale-h2;
}
.qrevely-pagina--legale .qrevely-legale-corpo h2::before {
	content: counter(legale-h2, decimal-leading-zero);
	flex: 0 0 auto;
	color: var(--wp--preset--color--viola);
	font-size: 13px;
	font-weight: 700;
	line-height: 2.1;
	letter-spacing: 0;
}
.qrevely-pagina--legale .qrevely-legale-corpo h3 {
	margin-top: 32px;
	color: var(--wp--preset--color--inchiostro);
	font-size: 15.5px;
	line-height: 1.5;
	letter-spacing: -0.012em;
}

/* Termini e condizioni: nell'indice il numero è semplice (1, 2, … 24), senza lo zero davanti. */
.qrevely-pagina--legale .qrevely-legale-griglia:has(.qrevely-legale-termini) .qrevely-indice a::before {
	content: counter(legale-voce);
	flex-basis: 18px;
}
/* ... e negli elenchi ogni voce è un flex (tondo, testo, link e punto sono blocchi affiancati), come sul live. */
.qrevely-pagina--legale .qrevely-legale-corpo.qrevely-legale-termini ul.wp-block-list li {
	display: flex;
	gap: 11px;
	padding-left: 0;
}
.qrevely-pagina--legale .qrevely-legale-corpo.qrevely-legale-termini ul.wp-block-list li::before {
	position: static;
	flex: 0 0 auto;
	margin-top: 10px;
}

/* Allegati dell'accordo: la lettera al posto del numero, sul titolo e sulla voce dell'indice. */
.qrevely-pagina--legale #ppA::before,
.qrevely-pagina--legale .qrevely-indice a[href="#ppA"]::before {
	content: "A";
}
.qrevely-pagina--legale #ppB::before,
.qrevely-pagina--legale .qrevely-indice a[href="#ppB"]::before {
	content: "B";
}
.qrevely-pagina--legale #ppC::before,
.qrevely-pagina--legale .qrevely-indice a[href="#ppC"]::before {
	content: "C";
}

/* Elenchi: il tondo viola del live. */
.qrevely-pagina--legale .qrevely-legale-corpo ul.wp-block-list {
	display: grid;
	gap: 9px;
	padding-left: 0;
	list-style: none;
}
.qrevely-pagina--legale .qrevely-legale-corpo ul.wp-block-list li {
	position: relative;
	padding-left: 17px;
	line-height: 1.7;
}
.qrevely-pagina--legale .qrevely-legale-corpo ul.wp-block-list li::before {
	content: "";
	position: absolute;
	top: 11px;
	left: 0;
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--wp--preset--color--viola);
}

/* ---------- tabelle: scorrono dentro la cornice ---------- */
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale {
	margin-top: 22px;
	overflow-x: auto;
	border: 1px solid var(--wp--preset--color--linea);
	border-radius: 14px;
	background: #fbf8f2;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale table {
	width: 100%;
	min-width: 620px;
	border: 1px solid #eaeaef; /* tinta dei filetti del live, solo qui */
	border-collapse: collapse;
	font-size: 13.5px;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale thead {
	border-bottom: 0;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale.tabella-larga table {
	min-width: 780px;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale th,
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale td {
	padding: 15px 18px;
	border: 1px solid #eaeaef;
	border-bottom-color: var(--wp--preset--color--linea);
	vertical-align: top;
	word-break: normal;
	overflow-wrap: break-word;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale th {
	color: var(--wp--preset--color--grigio);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale td {
	font-size: 13.5px;
	line-height: 1.65;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale tbody tr:last-child td {
	border-bottom: none;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale td:first-child {
	width: 30%;
	color: var(--wp--preset--color--inchiostro);
	font-weight: 600;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale.tabella-larga td:first-child {
	width: 20%;
}
.qrevely-pagina--legale .wp-block-table.is-style-tabella-legale.tabella-prima-ampia td:first-child {
	width: 26%;
}

/* ---------- riquadri ---------- */
.qrevely-pagina--legale .qrevely-riquadro {
	margin-top: 20px;
	padding: 20px 24px;
	border-radius: 12px;
}
.qrevely-pagina--legale .qrevely-riquadro > * {
	margin-block: 11px 0;
}
.qrevely-pagina--legale .qrevely-riquadro p {
	font-size: 14px;
	line-height: 1.75;
}
.qrevely-pagina--legale .qrevely-riquadro--lilla,
.qrevely-pagina--legale .qrevely-riquadro--citazione {
	background: var(--wp--preset--color--lilla);
}
.qrevely-pagina--legale .qrevely-riquadro--nota {
	background: #fdede6;
}
.qrevely-pagina--legale .qrevely-riquadro-titolo {
	display: flex;
	align-items: center;
	gap: 9px;
	font-size: 10.5px !important;
	font-weight: 700;
	line-height: 1 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.qrevely-pagina--legale .qrevely-riquadro-titolo::before {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
}
.qrevely-pagina--legale .qrevely-riquadro--lilla .qrevely-riquadro-titolo {
	color: #5b2fd6;
}
.qrevely-pagina--legale .qrevely-riquadro--lilla .qrevely-riquadro-titolo::before {
	background: var(--wp--preset--color--viola);
}
.qrevely-pagina--legale .qrevely-riquadro--lilla a {
	color: #5b2fd6;
}
.qrevely-pagina--legale .qrevely-riquadro--nota .qrevely-riquadro-titolo,
.qrevely-pagina--legale .qrevely-riquadro--nota a {
	color: #c9491e;
}
.qrevely-pagina--legale .qrevely-riquadro--nota .qrevely-riquadro-titolo::before {
	background: var(--wp--preset--color--arancio);
}
.qrevely-pagina--legale .qrevely-riquadro--citazione {
	padding: 22px 24px;
}
.qrevely-pagina--legale .qrevely-riquadro--citazione > * {
	margin-top: 5px;
}
.qrevely-pagina--legale .qrevely-riquadro--citazione > :first-child {
	margin-top: 0;
}

/* Il riquadro scuro con i dati del titolare. */
.qrevely-pagina--legale .qrevely-titolare {
	margin-top: 44px;
	padding: 32px 34px;
	border-radius: 16px;
	background: var(--wp--preset--color--inchiostro);
	color: var(--wp--preset--color--crema);
}
.qrevely-pagina--legale .qrevely-titolare > * {
	margin-block: 13px 0;
}
.qrevely-pagina--legale .qrevely-titolare > :first-child {
	margin-top: 0;
}
.qrevely-pagina--legale .qrevely-titolare p {
	color: #c8c2d0;
	font-size: 14px;
	line-height: 1.75;
}
.qrevely-pagina--legale .qrevely-titolare a {
	color: var(--wp--preset--color--crema);
	text-decoration: underline;
	text-underline-offset: 2px;
}
.qrevely-pagina--legale .qrevely-titolare .qrevely-titolare-eyebrow {
	display: flex;
	align-items: center;
	gap: 11px;
	color: #b3acbb;
	font-size: 14px; /* come sul live: il paragrafo del riquadro vince sulla misura dell'eyebrow */
	font-weight: 600;
	line-height: 1.75;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}
.qrevely-pagina--legale .qrevely-titolare .qrevely-titolare-eyebrow::before {
	content: "";
	flex: 0 0 auto;
	width: 8px;
	height: 8px;
	background: var(--wp--preset--color--viola);
}
.qrevely-pagina--legale .qrevely-titolare .qrevely-titolare-nome {
	margin-top: 18px;
	color: var(--wp--preset--color--crema);
	font-size: 16px;
	font-weight: 700;
}

/* ---------- sotto i 1080 px ---------- */
@media (max-width: 1080px) {
	.qrevely-pagina--legale .qrevely-testata-colonne {
		flex-wrap: wrap !important;
		row-gap: 28px;
	}
	.qrevely-pagina--legale .qrevely-testata-colonne > .wp-block-column {
		flex-basis: 100% !important;
	}
	.qrevely-pagina--legale .qrevely-testata-lato {
		padding-top: 0;
	}
	.qrevely-pagina--legale .qrevely-legale-corpo {
		padding-top: 44px;
	}
	/* Una colonna sola: testata, indice (col filetto sotto), corpo; indice e corpo dentro il gutter. */
	.qrevely-pagina--legale .qrevely-legale-griglia {
		grid-template-columns: [pieno-start lato-start testo-start] minmax(0, 1fr) [pieno-end lato-end testo-end];
	}
	.qrevely-pagina--legale .qrevely-legale-griglia > .wp-block-post-content > :not(.qrevely-testata-legale),
	.qrevely-pagina--legale .qrevely-legale-griglia > .qrevely-corpo-lato {
		margin-inline: var(--wp--custom--gutter, 20px);
	}
	/* Lo spazio sopra, che senza indice è del corpo, con l'indice passa all'indice. */
	.qrevely-pagina--legale .qrevely-legale-griglia > .qrevely-corpo-lato {
		align-self: start;
		padding-block: 44px 0;
	}
	.qrevely-pagina--legale .qrevely-legale-griglia:has(> .qrevely-corpo-lato) .qrevely-legale-corpo {
		padding-top: 0;
	}
	.qrevely-pagina--legale .qrevely-corpo-lato-fisso {
		position: static;
		margin-bottom: 34px;
		padding-bottom: 30px;
		border-bottom: 1px solid var(--wp--preset--color--linea);
	}
}

/* ---------- sotto i 782 px ---------- */
@media (max-width: 781px) {
	.qrevely-pagina--legale .qrevely-testata-legale {
		padding-top: 35px;
		padding-bottom: 44px;
	}
	.qrevely-pagina--legale .qrevely-legale-corpo {
		padding-top: 36px;
		padding-bottom: 70px;
	}
	.qrevely-pagina--legale .qrevely-legale-griglia > .qrevely-corpo-lato {
		padding-top: 36px;
	}
	.qrevely-pagina--legale .qrevely-titolare {
		padding: 26px 22px;
	}
	.qrevely-pagina--legale .qrevely-riquadro {
		padding: 18px 20px;
	}
	/* La citazione (tc-quote) sul live non cambia su mobile. */
	.qrevely-pagina--legale .qrevely-riquadro--citazione {
		padding: 22px 24px;
	}
}
