/* =====================================================================
 * Pagine legali (.pc-lg-): Resi, Privacy e cookie, Termini.
 * Si carica dopo pagine.css e ne usa le variabili --pg-*.
 * Mobile fino a 767 px, tablet da 768 a 1024 px, desktop da 1025 px.
 * ===================================================================== */

/* ---------- Sezioni Elementor ---------- */

.elementor-section.pc-lg-fascia {
	padding: 0 var(--pg-lato);
}

.elementor-section.elementor-section-boxed.pc-pg.pc-lg-fascia > .elementor-container {
	width: 100%;
	max-width: 1200px;
	margin-left: auto;
	margin-right: auto;
}

.elementor-section.pc-lg-fascia--breve {
	padding-top: 20px;
}

.elementor-section.pc-lg-fascia--doc {
	padding-top: 20px;
}

.elementor-section.pc-lg-fascia--iub {
	padding-top: 16px;
}

.elementor-section.pc-lg-fine {
	padding-bottom: 56px;
}

/* ---------- Testata ---------- */

.pc-lg-testa .pc-pg-intro p {
	font-size: 15px;
	line-height: 1.5;
	color: var(--pg-sec);
	text-wrap: pretty;
}

/* ---------- Pulsanti ---------- */

.pc-pg-w a.pc-lg-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 22px;
	border-radius: 999px;
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	text-decoration: none;
}

.pc-pg-w a.pc-lg-btn--pieno,
.pc-pg-w a.pc-lg-btn--pieno:hover,
.pc-pg-w a.pc-lg-btn--pieno:focus {
	border: 1px solid transparent;
	color: #fff;
}

.pc-pg-w a.pc-lg-btn--pieno {
	background: var(--pg-ink);
}

.pc-pg-w a.pc-lg-btn--pieno:hover,
.pc-pg-w a.pc-lg-btn--pieno:focus {
	background: var(--pg-hover);
}

.pc-pg-w a.pc-lg-btn--bordo,
.pc-pg-w a.pc-lg-btn--bordo:hover,
.pc-pg-w a.pc-lg-btn--bordo:focus {
	border: 1px solid var(--pg-ink);
	color: var(--pg-ink);
}

.pc-pg-w a.pc-lg-btn--bordo {
	background: #fff;
}

.pc-pg-w a.pc-lg-btn--bordo:hover,
.pc-pg-w a.pc-lg-btn--bordo:focus {
	background: var(--pg-beige);
}

/* ---------- In breve ---------- */

.pc-lg-breve {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 16px;
	padding: 20px;
	border-radius: 24px;
	background: var(--pg-beige);
}

.pc-lg-breve__titolo {
	font-size: 17px;
	font-weight: 700;
	line-height: 1.3;
}

.pc-lg-breve__punti {
	display: flex;
	flex-direction: column;
	gap: 16px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pc-lg-breve__punto {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 10px;
	align-items: start;
	margin: 0;
	padding: 0;
}

.pc-lg-breve__n {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--pg-ink);
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	line-height: 1;
}

.pc-lg-breve__txt {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pc-lg-breve__t {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.35;
}

.pc-lg-breve__d {
	font-size: 15px;
	line-height: 1.45;
	color: var(--pg-testo);
	text-wrap: pretty;
}

.pc-lg-breve__azioni {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.pc-lg-breve__nota {
	font-size: 14px;
	line-height: 1.45;
	color: var(--pg-testo);
	text-wrap: pretty;
}

/* ---------- Documento: indice e articoli ---------- */

.pc-lg-doc {
	display: block;
}

/* Indice mobile */
details.pc-lg-indice-m {
	border-top: 1px solid var(--pg-ink);
	border-bottom: 1px solid var(--pg-linea-2);
}

.pc-lg-indice-m summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 56px;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.pc-lg-indice-m summary::-webkit-details-marker {
	display: none;
}

.pc-lg-indice-m summary::marker {
	content: "";
}

.pc-lg-indice-m__n {
	font-size: 14px;
	font-weight: 400;
	color: var(--pg-sec);
}

.pc-lg-indice-m__aperto {
	display: none;
}

details.pc-lg-indice-m[open] .pc-lg-indice-m__chiuso {
	display: none;
}

details.pc-lg-indice-m[open] .pc-lg-indice-m__aperto {
	display: inline;
}

.pc-lg-indice-m__voci {
	display: flex;
	flex-direction: column;
	padding-bottom: 10px;
}

.pc-pg-w .pc-lg-indice-m__voci a {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	align-items: center;
	min-height: 44px;
	font-size: 15px;
	line-height: 1.3;
}

.pc-lg-indice-m .pc-lg-voce__n {
	color: var(--pg-sec);
}

/* Indice desktop: nascosto sotto 1025 px */
.pc-lg-doc nav.pc-lg-indice {
	display: none;
}

/* Articoli */
.pc-lg-articoli {
	display: flex;
	flex-direction: column;
	gap: 28px;
	/* Riga di lettura di circa 70 caratteri anche su tablet. */
	max-width: 740px;
	padding-top: 28px;
}

.pc-lg-art {
	display: flex;
	flex-direction: column;
	gap: 12px;
	scroll-margin-top: calc(var(--pc-fisso) + 24px);
}

.pc-pg-w h2.pc-lg-art__titolo {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	font-size: 20px;
	line-height: 1.3;
	font-weight: 700;
	color: var(--pg-ink);
}

.pc-lg-art__n {
	color: var(--pg-sec);
	font-weight: 400;
}

.pc-lg-art__testo {
	display: flex;
	flex-direction: column;
	gap: 12px;
	font-size: 16px;
	line-height: 1.65;
	color: var(--pg-testo);
}

.pc-lg-art__testo p {
	margin: 0;
	text-wrap: pretty;
}

.pc-lg-art__testo ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin: 0;
	padding-left: 20px;
	list-style: disc;
}

.pc-lg-art__testo li {
	line-height: 1.6;
}

.pc-lg-art__testo strong {
	font-weight: 700;
	color: var(--pg-ink);
}

.pc-pg-w .pc-lg-art__testo a {
	color: var(--pg-ink);
	text-decoration: underline;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.pc-pg-w .pc-lg-art__testo a:hover,
.pc-pg-w .pc-lg-art__testo a:focus {
	color: var(--pg-hover);
}

/* Sezione in evidenza */
.pc-lg-box {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 20px;
	border-radius: 20px;
	background: var(--pg-ink);
	color: #fff;
}

.pc-lg-box__occhiello {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #E7E1D7;
}

.pc-pg-w h2.pc-lg-box__titolo {
	font-size: 19px;
	line-height: 1.3;
	font-weight: 700;
	color: #fff;
}

.pc-lg-box__testo {
	display: flex;
	flex-direction: column;
	gap: 10px;
	font-size: 15px;
	line-height: 1.6;
	color: #F5F0E8;
}

.pc-lg-box__testo p {
	margin: 0;
	text-wrap: pretty;
}

.pc-lg-box__testo strong {
	font-weight: 700;
	color: #fff;
}

.pc-pg-w .pc-lg-box__testo a,
.pc-pg-w .pc-lg-box__testo a:hover,
.pc-pg-w .pc-lg-box__testo a:focus {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: 3px;
	overflow-wrap: anywhere;
}

.pc-pg-w .pc-lg-box :is(a, button):focus-visible {
	outline-color: #fff;
}

/* ---------- Iubenda ---------- */

.pc-lg-schede {
	display: grid;
	grid-template-columns: 1fr 1fr;
	padding: 4px;
	border-radius: 999px;
	background: var(--pg-beige);
}

.pc-pg-w button.pc-lg-scheda {
	height: 44px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--pg-ink);
	font: inherit;
	font-size: 15px;
	font-weight: 700;
	line-height: normal;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
}

.pc-pg-w button.pc-lg-scheda:hover,
.pc-pg-w button.pc-lg-scheda:focus {
	border: 0;
	background: transparent;
	color: var(--pg-ink);
	box-shadow: none;
}

.pc-pg-w button.pc-lg-scheda.is-active,
.pc-pg-w button.pc-lg-scheda.is-active:hover,
.pc-pg-w button.pc-lg-scheda.is-active:focus {
	border: 0;
	background: var(--pg-ink);
	color: #fff;
}

.pc-lg-pannello {
	padding-top: 24px;
}

.pc-pg-w a.pc-lg-pref {
	width: 100%;
	margin-bottom: 24px;
}

.pc-lg-embed {
	min-height: 320px;
	overflow-wrap: anywhere;
}

.pc-lg-contatto {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin-top: 24px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--pg-testo);
}

.pc-pg-w .pc-lg-contatto a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 4px;
	color: var(--pg-ink);
}

.pc-pg-w .pc-lg-contatto a:hover,
.pc-pg-w .pc-lg-contatto a:focus {
	color: var(--pg-hover);
}

/* Senza JavaScript tutte le schede restano leggibili. */
@media (scripting: none) {
	.pc-pg-w .pc-lg-pannello[hidden] {
		display: block !important;
	}

	.pc-lg-schede {
		display: none;
	}
}

/* ---------- Tablet (768-1024 px) ---------- */

/* La testata legale ha una sola colonna: occupa tutta la larghezza (in pagine.css l'ultima colonna è il campo di ricerca, largo 400 px). */
.elementor-section.pc-pg-testa.pc-lg-testa > .elementor-container > .elementor-column.elementor-top-column:last-child {
	flex: 1 1 auto;
	width: 100%;
	max-width: none;
}

/* Privacy, cookie e termini: colonna di 800 px a ogni larghezza, per la leggibilità del documento di iubenda. */
.elementor-section.elementor-section-boxed.pc-pg.pc-lg-stretta > .elementor-container {
	max-width: 800px;
	margin-inline: auto;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.pc-lg-breve__punti {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
	}

	.pc-lg-breve__azioni {
		flex-direction: row;
		flex-wrap: wrap;
	}

	.pc-pg-w .pc-lg-breve__azioni a.pc-lg-btn {
		flex: 1 1 200px;
	}

	.pc-lg-breve__nota {
		flex: 0 0 100%;
	}
}

/* ---------- Tablet e desktop (da 768 px) ---------- */

@media (min-width: 768px) {
	.elementor-section.pc-lg-fine {
		padding-bottom: 56px;
	}
}

/* ---------- Desktop (da 1025 px) ---------- */

@media (min-width: 1025px) {
	.elementor-section.elementor-section-boxed.pc-pg.pc-lg-fascia > .elementor-container,
	.elementor-section.elementor-section-boxed.pc-pg.pc-lg-testa > .elementor-container {
		max-width: 1120px;
		margin-left: auto;
		margin-right: auto;
	}

	.elementor-section.elementor-section-boxed.pc-pg.pc-lg-stretta > .elementor-container {
		max-width: 800px;
	}

	.elementor-section.pc-pg-testa.pc-lg-testa {
		padding: 56px var(--pg-lato) 0;
	}

	.elementor-section.pc-lg-fine {
		padding-bottom: 96px;
	}

	.elementor-section.pc-lg-fascia--breve {
		padding-top: 40px;
	}

	.elementor-section.pc-lg-fascia--doc {
		padding-top: 56px;
	}

	.elementor-section.pc-lg-fascia--iub {
		padding-top: 28px;
	}

	.pc-pg.pc-lg-testa .pc-pg-h1 .elementor-heading-title {
		font-size: 48px;
		line-height: 1.05;
		letter-spacing: -.02em;
	}

	.pc-lg-testa .pc-pg-intro p {
		font-size: 18px;
		line-height: 1.5;
		color: var(--pg-testo);
	}

	.pc-lg-testa .pc-pg-percorso {
		display: flex;
	}

	/* In breve */
	.pc-lg-breve {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 280px;
		gap: 28px;
		align-items: start;
		padding: 32px;
		border-radius: 28px;
	}

	.pc-lg-breve__titolo {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		overflow: hidden;
		clip-path: inset(50%);
		white-space: nowrap;
		border: 0;
	}

	.pc-lg-breve__punti {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 28px;
	}

	.pc-lg-breve__punto {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.pc-lg-breve__n {
		width: 32px;
		height: 32px;
		font-size: 14px;
	}

	.pc-lg-breve__t {
		font-size: 17px;
		line-height: 1.3;
	}

	.pc-lg-breve__d {
		line-height: 1.5;
	}

	.pc-lg-breve__azioni {
		gap: 10px;
	}

	/* Documento */
	.pc-lg-doc {
		display: grid;
		grid-template-columns: 260px minmax(0, 1fr);
		gap: 40px;
		align-items: start;
	}

	details.pc-lg-indice-m {
		display: none;
	}

	.pc-lg-doc nav.pc-lg-indice {
		position: sticky;
		top: calc(var(--pc-fisso) + 24px);
		display: flex;
		flex-direction: column;
		gap: 4px;
		max-height: calc(100vh - var(--pc-fisso) - 48px);
		overflow-y: auto;
	}

	.pc-lg-indice__titolo {
		margin-bottom: 6px;
		padding-bottom: 10px;
		border-bottom: 1px solid var(--pg-ink);
		font-size: 14px;
		font-weight: 700;
		letter-spacing: .06em;
		text-transform: uppercase;
	}

	.pc-pg-w .pc-lg-indice a {
		display: grid;
		grid-template-columns: 34px minmax(0, 1fr);
		align-items: center;
		min-height: 40px;
		padding: 8px 14px;
		border-radius: 14px;
		font-size: 15px;
		line-height: 1.3;
		font-weight: 400;
		color: var(--pg-ink);
	}

	.pc-lg-indice .pc-lg-voce__n {
		opacity: .7;
	}

	.pc-pg-w .pc-lg-indice a:hover {
		background: var(--pg-beige);
		color: var(--pg-ink);
	}

	.pc-pg-w .pc-lg-indice a.is-active,
	.pc-pg-w .pc-lg-indice a.is-active:hover,
	.pc-pg-w .pc-lg-indice a.is-active:focus {
		background: var(--pg-ink);
		color: #fff;
		font-weight: 700;
	}

	.pc-lg-articoli {
		gap: 44px;
		max-width: 740px;
		padding-top: 0;
	}

	.pc-lg-art {
		gap: 14px;
	}

	.pc-pg-w h2.pc-lg-art__titolo {
		grid-template-columns: 48px minmax(0, 1fr);
		padding-bottom: 12px;
		border-bottom: 1px solid var(--pg-linea-2);
		font-size: 24px;
		line-height: 1.25;
		letter-spacing: -.01em;
	}

	.pc-lg-art__testo {
		gap: 14px;
		padding-left: 48px;
		font-size: 17px;
	}

	.pc-lg-art__testo ul {
		gap: 10px;
	}

	.pc-lg-box {
		gap: 12px;
		margin-left: 48px;
		padding: 28px 32px;
		border-radius: 24px;
	}

	.pc-pg-w h2.pc-lg-box__titolo {
		font-size: 22px;
	}

	.pc-lg-box__testo {
		font-size: 16px;
		line-height: 1.65;
	}

	/* Iubenda */
	.pc-lg-schede {
		display: flex;
		gap: 32px;
		padding: 0;
		border-radius: 0;
		background: none;
		border-bottom: 1px solid var(--pg-linea-2);
	}

	.pc-pg-w button.pc-lg-scheda,
	.pc-pg-w button.pc-lg-scheda:hover,
	.pc-pg-w button.pc-lg-scheda:focus {
		height: 52px;
		margin-bottom: -1px;
		border: 0;
		border-bottom: 2px solid transparent;
		border-radius: 0;
		background: none;
		font-size: 17px;
		font-weight: 400;
		color: var(--pg-sec);
	}

	.pc-pg-w button.pc-lg-scheda.is-active,
	.pc-pg-w button.pc-lg-scheda.is-active:hover,
	.pc-pg-w button.pc-lg-scheda.is-active:focus {
		border: 0;
		border-bottom: 2px solid var(--pg-ink);
		background: none;
		color: var(--pg-ink);
		font-weight: 700;
	}

	.pc-lg-pannello {
		padding-top: 36px;
	}

	.pc-pg-w a.pc-lg-pref {
		display: inline-flex;
		width: auto;
		margin-bottom: 28px;
	}

	.pc-lg-contatto {
		flex-direction: row;
		align-items: center;
		gap: 6px;
		margin-top: 32px;
		padding-top: 20px;
		border-top: 1px solid var(--pg-linea-2);
		font-size: 16px;
	}

	.pc-pg-w .pc-lg-contatto a {
		min-height: 24px;
	}
}

@media (min-width: 1201px) {
	.pc-lg-doc {
		gap: 64px;
	}
}

/* ---------- Movimento ridotto ---------- */

@media (prefers-reduced-motion: reduce) {
	.pc-lg-doc,
	.pc-lg-iub,
	.pc-lg-doc *,
	.pc-lg-iub * {
		scroll-behavior: auto;
		transition: none;
	}
}
