/*
 * Proonty · stili dei componenti.
 * Colori, caratteri e misure di base stanno in theme.json; qui c'è ciò che theme.json non sa dire.
 * Riferimento: design.pen, tavole «Design system», «Home · desktop», «Home · telefono», «Header · stati».
 * Desktop pensato a 1440, telefono a 390. Sul telefono nessun testo sotto i 14px.
 */

:root {
	--p-blu: #0080ff;
	--p-blu-scuro: #0060c0;
	--p-azzurro: #e6f2ff;
	--p-barra: #cfe5ff;
	--p-navy: #001932;
	--p-testo-2: #4a5b72;
	--p-filetto: #dde4ee;
	--p-grigio: #f4f7fb;
	--p-lilla-chiaro: #f3e8fa;
	--p-lilla-scuro: #6b3a8a;

	--p-display: var(--wp--preset--font-family--display);
	--p-lato: var(--wp--preset--spacing--70);
	--p-sezione: var(--wp--preset--spacing--80);
	--p-gap-sezione: var(--wp--preset--spacing--60);
	--p-scheda-pad: clamp(24px, 21.03px + 0.762vw, 32px);
	--p-scheda-gap: clamp(12px, 10.51px + 0.381vw, 16px);
	--p-contenuto: 1312px;

	--p-ombra-evidenza: 0 20px 56px 0 rgba(0, 128, 255, 0.15);
	--p-ombra-pannello: 0 8px 24px 0 rgba(0, 25, 50, 0.06);
	--p-ombra-menu: 0 16px 40px 0 rgba(0, 25, 50, 0.12);
	--p-anello: 0 0 0 4px rgba(0, 128, 255, 0.35);
	--p-curva: cubic-bezier(0.22, 0.61, 0.36, 1);

	--p-header-h: 72px;
	--p-barra-admin: var(--wp-admin--admin-bar--height, 0px);
}

@media (max-width: 1023px) {
	:root {
		--p-header-h: 56px;
	}
}

/* Sotto i 600px la barra di WordPress (solo per chi è collegato) scorre via: la teniamo ferma. */
@media (max-width: 600px) {
	#wpadminbar {
		position: fixed !important;
	}
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

[id] {
	scroll-margin-top: 64px;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.p-solo-telefono {
	display: none;
}

@media (max-width: 899px) {
	.p-solo-desktop {
		display: none !important;
	}

	.p-solo-telefono {
		display: inline;
	}
}

/* Le sezioni gestiscono da sole gli spazi: via i margini dei blocchi, compreso lo spazio
   che WordPress mette tra header, contenuto e footer (che lasciava una riga bianca). */
.wp-site-blocks > *,
.p-main {
	margin-block: 0;
}

.p-main > *,
.p-sezione :where(h1, h2, h3, p, ul, ol),
.p-sezione .wp-block-group > *,
.p-header :where(h2, h3, p, ul),
.p-footer :where(p, ul) {
	margin-block: 0;
}

/* Specificità minima: lo spazio interno dei componenti (per esempio i pannellini) vince sempre. */
:where(.p-sezione, .p-header, .p-footer) ul {
	list-style: none;
	padding-left: 0;
}

.p-icona {
	display: inline-block;
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
}

:where(a, button, input):focus-visible {
	outline: 2px solid var(--p-blu);
	outline-offset: 2px;
	border-radius: 2px;
}

/* ------------------------------------------------------------------ */
/* Titoli                                                             */
/* ------------------------------------------------------------------ */

.has-hero-font-size {
	line-height: 1.1;
	letter-spacing: -2px;
}

.has-sezione-font-size {
	line-height: 1.06;
	letter-spacing: -1.2px;
}

.has-chiusura-font-size {
	line-height: 1.05;
	letter-spacing: -1.8px;
}

.has-scheda-font-size {
	line-height: 1.1;
	letter-spacing: -0.5px;
}

@media (max-width: 899px) {
	.has-hero-font-size {
		letter-spacing: -1.2px;
	}

	.has-sezione-font-size {
		line-height: 1.09;
		letter-spacing: -0.8px;
	}

	.has-chiusura-font-size {
		line-height: 1.07;
		letter-spacing: -1px;
	}
}

.p-occhiello {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.8px;
	line-height: 1.3;
	text-transform: uppercase;
	color: var(--p-blu);
}

.p-scheda .p-occhiello,
.p-occhiello--grigio {
	font-size: 12px;
	letter-spacing: 1.5px;
}

.p-occhiello--grigio {
	color: var(--p-testo-2);
}

@media (max-width: 899px) {
	.p-occhiello,
	.p-scheda .p-occhiello,
	.p-occhiello--grigio {
		font-size: 14px;
	}
}

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

.p-pulsante,
.wp-block-button__link {
	transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.p-pulsante {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 16px 24px;
	border: 0;
	border-radius: 4px;
	background: var(--p-blu);
	color: #fff;
	font-family: inherit;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.p-pulsante:hover {
	background: var(--p-blu-scuro);
	color: #fff;
}

.p-pulsante:focus-visible,
.wp-block-button__link:focus-visible {
	outline: 2px solid var(--p-navy);
	outline-offset: 0;
	box-shadow: var(--p-anello);
}

.p-pulsante--piccolo {
	padding: 10px 16px;
	font-size: 15px;
}

.p-pulsante--pieno {
	width: 100%;
	padding: 14px 18px;
	font-size: 16px;
}

.p-pulsante--contorno {
	background: #fff;
	color: var(--p-navy);
	box-shadow: inset 0 0 0 1px var(--p-navy);
}

.p-pulsante--contorno:hover {
	background: var(--p-grigio);
	color: var(--p-navy);
}

.p-pulsante--contorno:focus-visible,
.is-style-outline .wp-block-button__link:focus-visible {
	outline-color: var(--p-blu);
}

.p-pulsante .p-icona,
.p-freccia .wp-block-button__link::after {
	width: 18px;
	height: 18px;
}

.p-freccia .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.p-freccia .wp-block-button__link::after {
	content: "";
	flex: 0 0 auto;
	background: currentColor;
	-webkit-mask: var(--p-i-arrow-right) center / contain no-repeat;
	mask: var(--p-i-arrow-right) center / contain no-repeat;
}

.is-style-outline .wp-block-button__link:hover {
	background: var(--p-grigio);
	color: var(--p-navy);
}

.p-link-freccia a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
}

.p-link-freccia a::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--p-i-arrow-right) center / contain no-repeat;
	mask: var(--p-i-arrow-right) center / contain no-repeat;
	transition: transform 0.15s ease;
}

.p-link-freccia a:hover::after {
	transform: translateX(3px);
}

/* ------------------------------------------------------------------ */
/* Header                                                             */
/* ------------------------------------------------------------------ */

.p-parte-header {
	display: contents;
}

.p-header {
	position: fixed;
	z-index: 100;
	top: var(--p-barra-admin);
	right: 0;
	left: 0;
	background: #fff;
	border-bottom: 1px solid var(--p-filetto);
	transition: transform 0.2s var(--p-curva), background-color 0.2s ease;
}

.p-header-spazio {
	height: var(--p-header-h);
}

.p-header__barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	max-width: calc(var(--p-contenuto) + 2 * var(--p-lato));
	height: var(--p-header-h);
	margin-inline: auto;
	padding-inline: var(--p-lato);
}

.p-header__logo {
	display: block;
	flex: 0 0 auto;
	line-height: 0;
}

/* Logo più grande nell'header (Giacomo, 6 novembre): l'altezza della barra non cambia. */
.p-header__logo img {
	width: 150px;
	height: auto;
}

/* Scendendo sparisce; risalendo torna più bassa, quasi bianca e sfocata. */
.p-header.is-nascosto {
	transform: translateY(calc(-100% - var(--p-barra-admin)));
}

.p-header.is-compatto {
	background: rgba(255, 255, 255, 0.92);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
}

.p-header.is-compatto .p-header__barra {
	height: 60px;
}

.p-header__menu > ul {
	display: flex;
	align-items: center;
	gap: 36px;
}

.p-header__voce {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 8px 0;
	border: 0;
	background: none;
	color: var(--p-navy);
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}

.p-header__voce:hover,
.p-header__voce[aria-expanded="true"] {
	color: var(--p-blu);
}

.p-header__freccia {
	transition: transform 0.15s ease;
}

.p-header__voce[aria-expanded="true"] .p-header__freccia {
	transform: rotate(180deg);
}

.p-header__azioni {
	display: flex;
	align-items: center;
	gap: 24px;
}

.p-header__apri {
	display: none;
}

/* Pannelli a tendina: Funzionalità e Accedi */
.p-tendina {
	position: relative;
}

.p-pannello {
	position: absolute;
	z-index: 10;
	top: calc(100% + 14px);
	left: 50%;
	width: max-content;
	background: #fff;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	box-shadow: var(--p-ombra-menu);
	overflow: hidden;
	opacity: 0;
	transform: translate(-50%, -8px);
	transition: opacity 0.15s ease, transform 0.15s var(--p-curva);
}

.p-pannello.is-aperto {
	opacity: 1;
	transform: translate(-50%, 0);
}

.p-tendina--destra .p-pannello {
	right: 0;
	left: auto;
	transform: translateY(-8px);
}

.p-tendina--destra .p-pannello.is-aperto {
	transform: none;
}

.p-pannello--funzioni {
	left: 0;
	width: 620px;
	transform: translate(-90px, -8px);
}

.p-pannello--funzioni.is-aperto {
	transform: translate(-90px, 0);
}

.p-pannello--accedi {
	width: 390px;
	padding-top: 20px;
}

.p-pannello__colonne {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 32px;
	padding: 24px 24px 20px;
}

.p-pannello__gruppo {
	margin: 0 0 12px;
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.p-pannello--accedi .p-pannello__gruppo {
	padding-inline: 20px;
}

.p-pannello__voci {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0 0 16px;
}

.p-pannello--accedi .p-pannello__voci {
	padding-inline: 8px;
}

.p-voce-funzione {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 8px;
	margin-inline: -8px;
	border-radius: 2px;
	color: var(--p-navy);
	text-decoration: none;
}

.p-pannello--accedi .p-voce-funzione {
	margin-inline: 0;
	padding: 10px 12px;
}

.p-voce-funzione:hover {
	background: var(--p-grigio);
	color: var(--p-navy);
}

.p-voce-funzione .p-icona {
	width: 18px;
	height: 18px;
	margin-top: 1px;
	color: var(--p-blu);
}

.p-voce-funzione__titolo {
	display: block;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

.p-voce-funzione__testo {
	display: block;
	margin-top: 2px;
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.4;
}

.p-pannello__piede {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 14px 24px;
	background: var(--p-grigio);
	border-top: 1px solid var(--p-filetto);
	color: var(--p-blu);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.p-pannello--accedi .p-pannello__piede {
	padding-inline: 24px;
}

.p-pannello__piede:hover {
	color: var(--p-blu-scuro);
}

/* Menu del telefono, a tutto schermo */
.p-menu-telefono {
	display: none;
}

@media (max-width: 1023px) {
	.p-header {
		transform: none !important;
	}

	.p-header__barra {
		gap: 8px;
		padding: 0 6px 0 16px;
	}

	.p-header__logo img {
		width: 120px;
	}

	.p-header__menu,
	.p-header__accedi {
		display: none;
	}

	.p-header__azioni {
		gap: 2px;
	}

	.p-header__azioni .p-pulsante--piccolo {
		padding: 8px 12px;
	}

	.p-header__apri {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		border: 0;
		background: none;
		color: var(--p-navy);
		cursor: pointer;
	}

	.p-header__apri .p-icona {
		width: 22px;
		height: 22px;
	}

	.p-menu-telefono {
		position: fixed;
		z-index: 110;
		inset: var(--p-barra-admin) 0 0 0;
		display: flex;
		flex-direction: column;
		background: #fff;
		opacity: 0;
		transition: opacity 0.2s ease;
	}

	.p-menu-telefono[hidden] {
		display: none;
	}

	.p-menu-telefono.is-aperto {
		opacity: 1;
	}

	.p-menu-telefono__pannello {
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		min-height: 0;
		transition: transform 0.2s var(--p-curva);
	}

	.p-menu-telefono__pannello[hidden] {
		display: none;
	}

	.p-menu-telefono__pannello--secondo {
		animation: p-da-destra 0.2s var(--p-curva);
	}

	.p-menu-telefono__barra {
		display: flex;
		flex: 0 0 auto;
		align-items: center;
		justify-content: space-between;
		height: 56px;
		padding: 0 6px 0 16px;
		border-bottom: 1px solid var(--p-filetto);
	}

	.p-menu-telefono__chiudi,
	.p-menu-telefono__indietro {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		height: 44px;
		padding: 0 10px;
		border: 0;
		background: none;
		color: var(--p-navy);
		font-family: inherit;
		font-size: 16px;
		font-weight: 600;
		cursor: pointer;
	}

	.p-menu-telefono__indietro {
		padding-left: 0;
	}

	.p-menu-telefono__chiudi .p-icona {
		width: 22px;
		height: 22px;
	}

	.p-menu-telefono__corpo {
		flex: 1 1 auto;
		overflow-y: auto;
		padding: 8px 20px 24px;
		overscroll-behavior: contain;
	}

	.p-menu-telefono__grandi {
		margin: 0 0 28px;
	}

	.p-menu-telefono__grandi :is(a, button) {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 18px 0;
		border: 0;
		border-bottom: 1px solid var(--p-filetto);
		background: none;
		color: var(--p-navy);
		font-family: var(--p-display);
		font-size: 22px;
		font-weight: 600;
		letter-spacing: -0.3px;
		text-align: left;
		text-decoration: none;
		cursor: pointer;
	}

	.p-menu-telefono__grandi .p-icona,
	.p-menu-telefono__accessi .p-icona {
		width: 18px;
		height: 18px;
		color: var(--p-testo-2);
	}

	.p-menu-telefono .p-pannello__gruppo {
		font-size: 14px;
	}

	.p-menu-telefono__accessi a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 14px 0;
		border-bottom: 1px solid var(--p-filetto);
		color: var(--p-navy);
		text-decoration: none;
	}

	.p-menu-telefono__titolo {
		display: block;
		font-size: 16px;
		font-weight: 600;
	}

	.p-menu-telefono__testo {
		display: block;
		color: var(--p-testo-2);
		font-size: 14px;
	}

	.p-menu-telefono__titolo-pannello {
		margin: 16px 0 20px;
		font-family: var(--p-display);
		font-size: 26px;
		font-weight: 600;
		letter-spacing: -0.5px;
	}

	.p-menu-telefono .p-pannello__voci {
		margin-bottom: 24px;
	}

	.p-menu-telefono .p-voce-funzione {
		align-items: center;
		margin: 0;
		padding: 9px 0;
	}

	.p-menu-telefono .p-voce-funzione__titolo {
		font-size: 16px;
		font-weight: 500;
	}

	.p-menu-telefono__fondo {
		flex: 0 0 auto;
		padding: 16px 20px calc(16px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--p-filetto);
	}

	.p-menu-telefono__fondo .p-pulsante {
		padding-block: 16px;
		font-size: 17px;
	}
}

@keyframes p-da-destra {
	from {
		opacity: 0;
		transform: translateX(24px);
	}
}

body.p-menu-aperto {
	overflow: hidden;
}

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

.p-sezione {
	display: flex;
	flex-direction: column;
	gap: var(--p-gap-sezione);
	padding: var(--p-sezione) var(--p-lato);
}

.p-sezione > * {
	width: 100%;
	max-width: var(--p-contenuto);
	margin-inline: auto !important;
}

/* Sezioni blu (Sea Digital e Giacomo, 11 novembre). Le sezioni che erano grigie ora sono blu pieno,
   lo stesso blu dei pulsanti, e si alternano a quelle bianche. La classe resta p-sezione--grigio per
   non toccare i contenuti già salvati. Sul blu testi e occhielli bianchi, filetti bianchi al 30%;
   le schede bianche dentro tengono i loro colori. Il bianco sul #0080FF ha un contrasto di 3,8:1. */
.p-sezione--grigio {
	--p-navy: #fff;
	--p-testo-2: #fff;
	--p-blu: #fff;
	--p-filetto: rgb(255 255 255 / 0.3);
	--wp--preset--color--navy: #fff;
	--wp--preset--color--testo-2: #fff;
	--wp--preset--color--blu: #fff;
	--wp--preset--color--filetto: rgb(255 255 255 / 0.3);
	background: #0080ff;
	color: #fff;
}

.p-sezione--grigio :is(.p-scheda, .p-funzione, .p-altra-funzione, .p-aiuto, .p-modulo, .p-canale, .p-recensione, .p-gia-cliente, .p-video) {
	--p-navy: #001932;
	--p-testo-2: #4a5b72;
	--p-blu: #0080ff;
	--p-filetto: #dde4ee;
	--wp--preset--color--navy: #001932;
	--wp--preset--color--testo-2: #4a5b72;
	--wp--preset--color--blu: #0080ff;
	--wp--preset--color--filetto: #dde4ee;
	color: var(--p-navy);
}

/* L'accento delle sezioni blu: una parte del titolo su un riquadro ink, come «illimitate.» nella hero
   (che è blu). Fuori dalle sezioni blu il segno non si vede. */
mark.p-evidenzia {
	background: none;
	color: inherit;
}

.p-sezione--grigio mark.p-evidenzia {
	padding: 0 0.2em 0.06em;
	border-radius: 2px;
	background: #001932;
	color: #fff;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.p-sezione--prezzo {
	background: radial-gradient(ellipse 45% 60% at 50% 55%, #e8f2ff 0%, #fff 100%);
}

.p-sezione--chiusura {
	padding-bottom: clamp(64px, 30.57px + 8.571vw, 120px);
	background: linear-gradient(180deg, #fff 0%, var(--p-azzurro) 100%);
}

.p-intestazione {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 32px;
}

.p-intestazione__titoli {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.p-intestazione__testo {
	max-width: 410px;
	font-size: 16px;
	line-height: 1.5;
}

@media (max-width: 899px) {
	.p-sezione--prezzo {
		padding-bottom: 64px;
		background: radial-gradient(ellipse 80% 40% at 30% 35%, #e8f2ff 0%, #fff 100%);
	}

	.p-intestazione {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
	}

	.p-intestazione__testo {
		max-width: none;
	}

	.p-intestazione br {
		display: none;
	}
}

/* ------------------------------------------------------------------ */
/* Hero                                                               */
/* ------------------------------------------------------------------ */

.p-hero {
	display: block;
	padding: 56px var(--p-lato) 0;
	overflow: hidden;
	background: radial-gradient(ellipse 50% 85% at 76% 42%, #e3f0ff 0%, #f5f9ff 45%, #fff 100%);
	border-bottom: 1px solid var(--p-filetto);
}

.p-hero__dentro {
	display: flex;
	align-items: center;
	gap: 48px;
	max-width: var(--p-contenuto);
	margin-inline: auto;
}

.p-hero__testo {
	display: flex;
	flex: 0 1 600px;
	flex-direction: column;
	gap: 28px;
	min-width: 0;
	padding-bottom: 56px;
}

.p-etichetta {
	align-self: flex-start;
	padding: 6px 12px;
	border: 1px solid var(--p-filetto);
	border-radius: 2px;
	background: rgba(255, 255, 255, 0.6);
	color: var(--p-testo-2);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.3;
}

.p-titolo-hero mark.p-evidenzia {
	padding: 0 12px 4px;
	border-radius: 2px;
	background: linear-gradient(var(--p-blu), var(--p-blu)) left center / 100% 100% no-repeat;
	color: #fff;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

.p-hero__sottotitolo {
	max-width: 536px;
	line-height: 1.53;
}

.p-hero__pulsanti {
	gap: 12px;
}

.p-garanzie {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 24px;
	padding-top: 20px !important;
	border-top: 1px solid var(--p-filetto);
}

.p-garanzie li {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.2;
}

.p-garanzie li::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background: var(--p-blu);
	-webkit-mask: var(--p-icona) center / contain no-repeat;
	mask: var(--p-icona) center / contain no-repeat;
}

@media (max-width: 899px) {
	.p-hero {
		padding: 28px 20px 32px;
		border-bottom: 0;
	}

	.p-hero__dentro {
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.p-hero__testo {
		flex: none;
		gap: 20px;
		padding-bottom: 0;
	}

	.p-titolo-hero mark.p-evidenzia {
		padding: 0 8px 3px;
	}

	.p-hero__pulsanti .wp-block-button {
		width: 100%;
	}

	.p-hero__pulsanti .wp-block-button__link {
		justify-content: center;
		width: 100%;
	}

	.p-garanzie {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 0;
		padding-top: 16px !important;
	}

	.p-garanzie li {
		flex-direction: column;
		gap: 8px;
		padding: 0 6px;
		font-size: 14px;
		text-align: center;
	}

	.p-garanzie li + li {
		border-left: 1px solid var(--p-filetto);
	}

	/* Home sul telefono: prima le tre garanzie, poi i pulsanti (Giacomo, 6 novembre).
	   Spazi un po' più stretti, così con il banner dei cookie aperto il pulsante della prova
	   resta visibile anche nello schermo corto del browser di Instagram (700px). */
	.p-hero:not(.p-hero--funzione) .p-hero__testo {
		gap: 16px;
	}

	.p-hero:not(.p-hero--funzione) .p-garanzie {
		order: 1;
		padding-top: 12px !important;
		padding-bottom: 12px;
		border-bottom: 1px solid var(--p-filetto);
	}

	.p-hero:not(.p-hero--funzione) .p-hero__pulsanti {
		order: 2;
	}
}

/* Prodotto: finestra delle fatture e portatile con la dashboard.
   Composizione fissa 664 × 540, rimpicciolita con --p-scala (script) sotto i 1440. */
.p-prodotto {
	position: relative;
	flex: 1 1 664px;
	max-width: 664px;
	aspect-ratio: 664 / 540;
	--p-scala: 1;
}

.p-prodotto__scena {
	position: absolute;
	top: 0;
	left: 0;
	width: 664px;
	height: 540px;
	transform: scale(var(--p-scala));
	transform-origin: 0 0;
}

@media (max-width: 1279px) {
	.p-prodotto {
		--p-scala: 0.8;
	}
}

@media (max-width: 899px) {
	.p-prodotto {
		flex: none;
		width: 100%;
		max-width: 520px;
		margin-inline: auto;
		--p-scala: 0.527;
	}
}

.p-finestra {
	position: absolute;
	top: 20px;
	left: 150px;
	width: 514px;
	background: #fff;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	box-shadow: 0 16px 48px 0 rgba(0, 25, 50, 0.1);
	font-size: 14px;
}

.p-finestra__barra {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 49.5px;
	padding: 0 20px;
	border-bottom: 1px solid var(--p-filetto);
}

.p-finestra__barra strong {
	font-weight: 600;
}

.p-finestra__barra span {
	color: var(--p-testo-2);
	font-size: 13px;
}

.p-finestra__righe {
	height: calc(6 * 51.5px);
	overflow: hidden;
}

.p-finestra__riga {
	display: flex;
	align-items: center;
	gap: 16px;
	height: 51.5px;
	padding: 0 20px;
	border-bottom: 1px solid var(--p-filetto);
}

.p-finestra__numero {
	width: 26px;
	color: var(--p-testo-2);
	font-size: 13px;
}

.p-finestra__cliente {
	flex: 1 1 auto;
}

.p-finestra__importo {
	font-weight: 600;
}

.p-stato {
	display: inline-block;
	padding: 3px 8px;
	border-radius: 2px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

.p-stato--consegnata {
	background: var(--p-azzurro);
	color: var(--p-blu-scuro);
}

.p-stato--pagata {
	background: var(--p-lilla-chiaro);
	color: var(--p-lilla-scuro);
}

.p-finestra .p-stato {
	width: 82px;
	text-align: center;
}

.p-portatile {
	position: absolute;
	top: 196px;
	left: 0;
	width: 468px;
}

.p-portatile__schermo {
	width: 440px;
	height: 290px;
	margin-left: 14px;
	padding: 10px 10px 12px;
	border-radius: 14px 14px 4px 4px;
	background: #111827;
	box-shadow: 0 16px 40px 0 rgba(0, 25, 50, 0.18);
}

.p-portatile__base {
	position: relative;
	height: 12px;
	border-radius: 3px 3px 12px 12px;
	background: linear-gradient(180deg, #e6eaf0 0%, #bcc5d1 100%);
}

.p-portatile__base::after {
	content: "";
	position: absolute;
	top: 0;
	left: 194px;
	width: 80px;
	height: 5px;
	border-radius: 0 0 6px 6px;
	background: #a9b4c2;
}

.p-app {
	display: flex;
	height: 268px;
	overflow: hidden;
	border-radius: 3px;
	background: #fff;
	font-size: 11px;
}

.p-app__lato {
	display: flex;
	flex: 0 0 121.5px;
	flex-direction: column;
	gap: 2px;
	padding: 12px 6px;
	border-right: 1px solid var(--p-filetto);
	background: #fbfcfe;
}

.p-app__lato img {
	width: 62px;
	height: auto;
	margin: 0 0 10px 8px;
}

.p-app__lato ul {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.p-app__lato li {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 7px 8px;
	border-radius: 2px;
	white-space: nowrap;
}

.p-app__lato .p-icona {
	width: 12px;
	height: 12px;
	color: var(--p-testo-2);
}

.p-app__lato .is-attiva {
	background: var(--p-azzurro);
	color: var(--p-blu-scuro);
	font-weight: 600;
}

.p-app__lato .is-attiva .p-icona {
	color: var(--p-blu);
}

.p-app__contenuto {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding: 14px;
}

.p-app__testa {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.p-app__testa strong {
	font-family: var(--p-display);
	font-size: 16px;
	font-weight: 600;
}

.p-app__nuova {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 8px;
	border-radius: 2px;
	background: var(--p-blu);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
}

.p-app__nuova .p-icona {
	width: 10px;
	height: 10px;
}

.p-app__cifre {
	display: flex;
	gap: 8px;
}

.p-app__cifre div {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 2px;
	padding: 10px;
	border: 1px solid var(--p-filetto);
	border-radius: 2px;
}

.p-app__cifre span {
	color: var(--p-testo-2);
	font-size: 9px;
}

.p-app__cifre strong {
	font-family: var(--p-display);
	font-size: 17px;
	font-weight: 600;
}

.p-grafico {
	display: flex;
	align-items: flex-end;
	gap: 5px;
	height: 56px;
}

.p-barra {
	flex: 1 1 0;
	height: var(--h);
	border-radius: 1px 1px 0 0;
	background: var(--p-barra);
	transform-origin: bottom;
}

.p-barra--blu {
	background: var(--p-blu);
}

.p-grafico--grande {
	gap: 8px;
	height: 120px;
}

.p-grafico--grande .p-barra {
	border-radius: 2px 2px 0 0;
}

.p-app__righe div {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 27.5px;
	border-bottom: 1px solid var(--p-filetto);
}

.p-app__righe span:first-child {
	color: var(--p-testo-2);
	font-size: 10px;
}

.p-app__righe span:nth-child(2) {
	flex: 1 1 auto;
}

.p-app__righe strong {
	font-weight: 600;
}

/* ------------------------------------------------------------------ */
/* Schede e oggetti dell'app                                          */
/* ------------------------------------------------------------------ */

.p-riga {
	display: flex;
	gap: var(--p-scheda-gap);
}

.p-riga > * {
	min-width: 0;
}

.p-riga--larga-prima > :first-child,
.p-riga--larga-dopo > :last-child {
	flex: 760 1 0;
}

.p-riga--larga-prima > :last-child,
.p-riga--larga-dopo > :first-child {
	flex: 536 1 0;
}

.p-riga--tre > * {
	flex: 1 1 0;
}

/* Due righe di schede una sotto l'altra: tra le righe lo stesso spazio che c'è tra le schede,
   non quello tra le parti della sezione (Giacomo, 11 novembre). */
.p-sezione > .p-riga + .p-riga {
	margin-top: calc(var(--p-scheda-gap) - var(--p-gap-sezione)) !important;
}

.p-scheda {
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-height: 340px;
	padding: var(--p-scheda-pad);
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-scheda > :nth-last-child(2) {
	margin-bottom: 16px !important;
}

.p-scheda > .p-oggetto {
	margin-top: auto !important;
}

.p-scheda p {
	font-size: 16px;
	line-height: 1.5;
}

.p-passo {
	min-height: 440px;
}

.p-passo__numero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 14px;
}

.p-scheda .p-passo__cifra {
	color: var(--p-testo-2);
	font-family: var(--p-display);
	font-size: 15px;
	font-weight: 600;
}

@media (max-width: 899px) {
	.p-riga {
		flex-direction: column;
	}

	.p-riga > * {
		flex: none !important;
	}

	.p-scheda {
		min-height: 320px;
	}

	.p-passo {
		min-height: 340px;
	}
}

/* Modulo della nuova fattura */
.p-oggetto--fattura {
	display: flex;
	align-items: flex-end;
	gap: 10px;
}

.p-campo-finto {
	display: flex;
	flex-direction: column;
	gap: 6px;
	width: 160px;
}

.p-campo-finto--largo {
	flex: 1 1 auto;
	width: auto;
}

.p-campo-finto span {
	color: var(--p-testo-2);
	font-size: 12px;
}

.p-campo-finto div {
	padding: 12px 14px;
	border: 1px solid var(--p-filetto);
	border-radius: 3px;
	background: #fff;
	font-size: 15px;
	line-height: 1.2;
	white-space: nowrap;
}

.p-oggetto__invia {
	padding: 13px 16px;
	border-radius: 3px;
	background: var(--p-blu);
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}

@media (max-width: 899px) {
	.p-oggetto--fattura {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}

	.p-campo-finto {
		width: auto;
	}

	.p-campo-finto span {
		font-size: 14px;
	}

	.p-oggetto__invia {
		padding: 14px 16px;
		text-align: center;
	}
}

/* Fatture ricevute */
.p-oggetto--ricevute li {
	display: flex;
	justify-content: space-between;
	padding: 12px 0;
	border-top: 1px solid var(--p-filetto);
	font-size: 15px;
}

.p-oggetto--ricevute strong {
	font-weight: 600;
}

/* Settimana dello scadenzario */
.p-oggetto--settimana {
	display: flex;
	gap: 6px;
}

.p-giorno {
	display: flex;
	flex: 1 1 0;
	flex-direction: column;
	gap: 4px;
	height: 96px;
	padding: 10px;
	border: 1px solid var(--p-filetto);
	border-radius: 2px;
	background: #fff;
}

.p-giorno--evento {
	border-color: var(--p-blu);
	background: var(--p-azzurro);
}

.p-giorno__nome {
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.p-giorno__numero {
	font-family: var(--p-display);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.1;
}

.p-giorno__evento {
	color: var(--p-blu-scuro);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
}

@media (max-width: 899px) {
	.p-giorno:nth-child(5) {
		display: none;
	}

	.p-giorno {
		height: 104px;
	}

	.p-giorno__nome,
	.p-giorno__evento {
		font-size: 14px;
	}
}

/* Pannellini con ombra leggera: riepilogo, importazione, fattura inviata */
.p-pannellino {
	padding: 20px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
	box-shadow: var(--p-ombra-pannello);
}

.p-oggetto--riepilogo {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.p-scheda .p-pannellino__titolo {
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.p-scheda .p-pannellino__riga {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-scheda .p-pannellino__riga--forte {
	padding-bottom: 12px;
	border-bottom: 1px solid var(--p-filetto);
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
}

.p-oggetto--importazione {
	padding: 8px 20px;
}

.p-oggetto--importazione li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 0;
	font-size: 15px;
}

.p-oggetto--importazione li + li {
	border-top: 1px solid var(--p-filetto);
}

.p-oggetto--importazione .p-icona {
	color: var(--p-blu);
}

.p-oggetto__nota {
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-oggetto--importazione .p-oggetto__nota {
	margin-left: auto;
}

.p-oggetto--invio {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.p-avviso-scuro {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	border-radius: 4px;
	background: var(--p-navy);
	color: #fff;
	font-size: 14px;
	font-weight: 500;
}

.p-avviso-scuro .p-icona {
	color: #7fbfff;
}

.p-oggetto__fattura {
	display: flex;
	align-items: center;
	gap: 14px;
	width: 100%;
	padding: 14px 20px;
	font-size: 15px;
}

.p-oggetto__fattura span:nth-child(2) {
	flex: 1 1 auto;
}

.p-oggetto__fattura strong {
	font-weight: 600;
}

@media (max-width: 899px) {
	.p-scheda .p-pannellino__titolo,
	.p-scheda .p-stato {
		font-size: 14px;
	}

	.p-oggetto__fattura {
		gap: 10px;
		padding-inline: 16px;
	}

	/* Da telefono il numero della fattura non ci sta: senza, cliente e importo restano su una riga (Giacomo, 8 novembre). */
	.p-oggetto__fattura .p-oggetto__nota {
		display: none;
	}

	.p-oggetto__fattura strong,
	.p-oggetto__fattura .p-stato {
		white-space: nowrap;
	}
}

/* Sotto i 390px (iPhone SE e mini, molti Android) non ci sta neanche l'importo. */
@media (max-width: 389px) {
	.p-oggetto__fattura strong {
		display: none;
	}
}

/* ------------------------------------------------------------------ */
/* Piani                                                              */
/* ------------------------------------------------------------------ */

.p-piani {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--p-scheda-gap);
	align-items: stretch;
}

.p-piano {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: var(--p-scheda-pad);
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
	transition: border-color 0.15s ease;
}

.p-piano:hover {
	border-color: #b8c4d4;
}

.p-piano--evidenza {
	border-color: var(--p-blu);
	box-shadow: 0 0 0 0.5px var(--p-blu), var(--p-ombra-evidenza);
}

.p-piano--evidenza:hover {
	border-color: var(--p-blu-scuro);
}

.p-piano__testa {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.p-piano__nome {
	font-family: var(--p-display);
	font-size: 28px;
	font-weight: 600;
	letter-spacing: -0.5px;
	line-height: 1.1;
}

.p-bollino {
	padding: 4px 8px;
	border-radius: 2px;
	background: var(--p-blu);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

.p-piano__descrizione {
	color: var(--p-testo-2);
	font-size: 16px;
}

.p-piano__prezzo {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 8px;
}

.p-piano__cifra {
	color: var(--p-testo-2);
	font-family: var(--p-display);
	font-size: 52px;
	font-weight: 600;
	letter-spacing: -2px;
	line-height: 1;
}

.p-piano--evidenza .p-piano__cifra {
	color: var(--p-navy);
	font-size: 64px;
}

.p-piano__unita {
	padding-bottom: 4px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-piano__funzioni {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 20px !important;
	border-top: 1px solid var(--p-filetto);
}

.p-piano__funzioni li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 15px;
	line-height: 1.35;
}

.p-piano__funzioni .p-icona {
	margin-top: 1px;
	color: var(--p-blu);
}

.p-piano__intro {
	font-weight: 600;
}

@media (max-width: 899px) {
	.p-piani {
		grid-template-columns: 1fr;
	}

	.p-piano:not(.p-piano--evidenza) {
		gap: 16px;
	}


	.p-bollino {
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------ */
/* Chiusura                                                           */
/* ------------------------------------------------------------------ */

.p-riquadro {
	display: flex;
	min-height: 360px;
	overflow: hidden;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-riquadro__invito {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	gap: 24px;
	padding: 56px;
}

.p-titolo-chiusura mark.p-evidenzia-testo {
	background: none;
	color: var(--p-blu);
}

.p-riquadro__pulsanti {
	gap: 12px;
}

.p-riquadro__lista {
	display: flex;
	flex: 0 0 459.5px;
	flex-direction: column;
	justify-content: center;
	gap: 14px;
	padding: 48px;
	border-left: 1px solid var(--p-filetto);
	background: var(--p-grigio);
}

.p-spunte {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.p-spunte li {
	display: flex;
	gap: 10px;
	font-size: 15px;
	line-height: 20px;
}

.p-spunte li::before {
	content: "";
	flex: 0 0 16px;
	height: 16px;
	margin-top: 2px;
	background: var(--p-blu);
	-webkit-mask: var(--p-i-check) center / contain no-repeat;
	mask: var(--p-i-check) center / contain no-repeat;
}

@media (max-width: 899px) {
	.p-riquadro {
		flex-direction: column;
	}

	.p-riquadro__invito {
		gap: 20px;
		padding: 24px;
	}

	.p-riquadro__pulsanti {
		flex-direction: column;
		gap: 10px;
	}

	.p-riquadro__pulsanti .wp-block-button,
	.p-riquadro__pulsanti .wp-block-button__link {
		justify-content: center;
		width: 100%;
	}

	.p-riquadro__lista {
		flex: none;
		padding: 24px;
		border-top: 1px solid var(--p-filetto);
		border-left: 0;
	}

	.p-titolo-chiusura br {
		display: none;
	}
}

/* ------------------------------------------------------------------ */
/* Footer                                                             */
/* ------------------------------------------------------------------ */

.p-parte-footer {
	display: block;
}

.p-footer {
	padding: 80px var(--p-lato) 36px;
	background: var(--p-navy);
	color: #fff;
}

.p-footer__dentro {
	max-width: var(--p-contenuto);
	margin-inline: auto;
}

.p-footer a {
	color: #fff;
	text-decoration: none;
}

.p-footer a:hover {
	color: #8fc6ff;
}

.p-footer__alto {
	display: flex;
	justify-content: space-between;
	gap: 48px;
	padding-bottom: 56px;
}

.p-footer__marchio {
	display: flex;
	flex: 0 1 440px;
	flex-direction: column;
	gap: 28px;
}

.p-footer__marchio img {
	width: 140px;
	height: auto;
}

.p-newsletter {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.p-newsletter__titolo {
	font-family: var(--p-display);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.25;
}

.p-newsletter__riga {
	display: flex;
	gap: 8px;
}

.p-newsletter__campo {
	flex: 1 1 auto;
	min-width: 0;
	padding: 14px 16px;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	font-family: inherit;
	font-size: 15px;
}

.p-newsletter__campo::placeholder {
	color: rgba(255, 255, 255, 0.5);
}

.p-newsletter__campo:focus {
	border-color: var(--p-blu);
	outline: none;
	box-shadow: var(--p-anello);
}

.p-newsletter .p-pulsante--piccolo {
	padding: 14px 20px;
}

.p-newsletter__trappola {
	position: absolute;
	left: -9999px;
}

.p-newsletter__consenso {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	color: rgba(255, 255, 255, 0.7);
	font-size: 14px;
	line-height: 1.4;
	cursor: pointer;
}

.p-newsletter__consenso input {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	margin: 1px 0 0;
	accent-color: var(--p-blu);
}

.p-newsletter__consenso a {
	text-decoration: underline;
}

.p-newsletter__esito {
	font-size: 14px;
}

.p-newsletter__esito--ok {
	color: #8fc6ff;
}

.p-newsletter__esito--errore {
	color: #ffb4ab;
}

.p-footer__colonne {
	display: flex;
	gap: 80px;
}

.p-footer__titolo {
	margin-bottom: 14px !important;
	color: rgba(255, 255, 255, 0.5);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.p-footer__colonna ul {
	display: flex;
	flex-direction: column;
	gap: 14px;
	font-size: 15px;
}

.p-footer__social {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.p-footer__basso {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.p-footer__dati {
	color: rgba(255, 255, 255, 0.6);
	font-size: 14px;
	line-height: 22px;
}

.p-footer__legale {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
	font-size: 14px;
}

.p-footer__legale a {
	color: rgba(255, 255, 255, 0.7);
}

/* In fondo alla pagina il pulsante WhatsApp non deve coprire i link legali. */
@media (min-width: 900px) {
	body:has(.p-whatsapp) .p-footer__legale {
		margin-right: 76px;
	}
}

@media (max-width: 1023px) {
	.p-footer__alto {
		flex-direction: column;
	}

	.p-footer__marchio {
		flex: none;
	}

	.p-footer__colonne {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 36px 24px;
	}
}

@media (max-width: 899px) {
	.p-footer {
		padding: 56px 20px calc(96px + env(safe-area-inset-bottom));
	}

	.p-footer__alto {
		gap: 40px;
		padding-bottom: 40px;
	}

	.p-footer__titolo {
		font-size: 14px;
	}

	.p-footer__basso {
		flex-direction: column;
		align-items: flex-start;
	}

	.p-footer__legale {
		gap: 8px 20px;
	}
}

/* Pulsante WhatsApp: cerchio fisso, l'unica forma tonda del sito (scelta di Giacomo). */
.p-whatsapp {
	position: fixed;
	z-index: 90;
	right: 32px;
	bottom: 32px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: #25d366;
	color: #fff;
	box-shadow: 0 8px 24px rgba(0, 25, 50, 0.18);
	transition: transform 0.15s ease, opacity 0.3s ease;
}

.p-whatsapp:hover {
	color: #fff;
	transform: translateY(-2px);
}

.p-whatsapp .p-icona {
	width: 30px;
	height: 30px;
}

.p-js .p-whatsapp:not(.is-visibile) {
	opacity: 0;
	pointer-events: none;
}

@media (max-width: 899px) {
	.p-whatsapp {
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom));
		width: 56px;
		height: 56px;
	}

	.p-whatsapp .p-icona {
		width: 28px;
		height: 28px;
	}
}

/* ------------------------------------------------------------------ */
/* Pagina Prezzi                                                      */
/* ------------------------------------------------------------------ */

/* Prima sezione di una pagina interna: meno spazio sopra, i contenuti sono subito in vista. */
.p-sezione--apertura {
	padding-top: clamp(32px, 16.4px + 4vw, 72px);
	padding-bottom: clamp(56px, 43.52px + 3.2vw, 88px);
}

.p-sezione--compatta {
	gap: clamp(28px, 23.54px + 1.143vw, 40px);
	padding-block: clamp(56px, 41.14px + 3.81vw, 96px);
}

.p-link-freccia--giu a::after {
	-webkit-mask-image: var(--p-i-arrow-down);
	mask-image: var(--p-i-arrow-down);
}

.p-link-freccia--giu a:hover::after {
	transform: translateY(3px);
}

/* Schede senza oggetto (come funziona la prova): alte quanto il testo. */
.p-scheda--bassa {
	min-height: 0;
}

.p-scheda--bassa > * {
	margin-bottom: 0 !important;
}

/* Confronto dei piani */
.p-confronto {
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-confronto__tabella {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
}

.p-confronto__tabella th,
.p-confronto__tabella td {
	padding: 14px 20px;
	border-bottom: 1px solid var(--p-filetto);
	text-align: center;
	vertical-align: middle;
}

.p-confronto__tabella tbody tr:last-child > * {
	border-bottom: 0;
}

.p-confronto__tabella thead th {
	position: sticky;
	z-index: 2;
	top: 0;
	padding: 20px;
	background: #fff;
	font-weight: 400;
	vertical-align: bottom;
}

.p-confronto__funzione {
	width: auto;
	color: var(--p-testo-2);
	font-size: 15px;
	text-align: left !important;
}

.p-confronto__tabella .p-confronto__piano {
	width: 210px;
}

.p-confronto__tabella .is-evidenza {
	background: #f2f8ff;
}

.p-confronto__tabella thead .is-evidenza {
	background: #eaf4ff;
}

.p-confronto__nome {
	display: block;
	font-family: var(--p-display);
	font-size: 22px;
	font-weight: 600;
	letter-spacing: -0.3px;
}

.p-confronto__prezzo {
	display: block;
	margin: 4px 0 12px;
	color: var(--p-testo-2);
	font-size: 15px;
}

.p-confronto__piano .p-pulsante {
	padding: 7px 14px;
	font-size: 15px;
}

.p-confronto__gruppo th {
	padding: 10px 20px;
	background: var(--p-grigio);
	color: var(--p-testo-2);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-align: left;
	text-transform: uppercase;
}

.p-confronto__tabella tbody th[scope="row"] {
	text-align: left;
	font-weight: 400;
}

.p-confronto__titolo {
	display: block;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
}

.p-confronto__descrizione {
	display: block;
	margin-top: 2px;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.4;
}

/* Testi, spunte e trattini un po' più grandi da computer (Giacomo, 7 novembre); il telefono resta com'era. */
.p-confronto__tabella td .p-icona {
	width: 21px;
	height: 21px;
	color: var(--p-blu);
}

.p-confronto__no {
	color: #b8c4d4;
	font-size: 20px;
	line-height: 1;
}

/* Sul telefono l'header è sempre fisso: la testata dei piani si ferma sotto. */
@media (max-width: 1023px) {
	.p-confronto__tabella thead th {
		top: var(--p-header-h);
	}
}

@media (max-width: 899px) {
	.p-confronto__tabella th,
	.p-confronto__tabella td {
		padding: 12px 6px;
	}

	.p-confronto__tabella thead th {
		padding: 14px 6px;
	}

	.p-confronto__tabella .p-confronto__piano {
		width: 72px;
	}

	.p-confronto__tabella tbody th[scope="row"],
	.p-confronto__funzione,
	.p-confronto__gruppo th {
		padding-left: 12px;
	}

	.p-confronto__nome {
		font-family: var(--wp--preset--font-family--sans);
		font-size: 14px;
	}

	.p-confronto__prezzo,
	.p-confronto__piano .p-pulsante,
	.p-confronto__descrizione {
		display: none;
	}

	.p-confronto__titolo,
	.p-confronto__funzione,
	.p-confronto__gruppo th {
		font-size: 14px;
	}

	.p-confronto__gruppo th {
		letter-spacing: 1px;
	}

	.p-confronto__titolo {
		font-weight: 500;
	}

	.p-confronto__tabella td .p-icona {
		width: 18px;
		height: 18px;
	}

	.p-confronto__no {
		font-size: 16px;
	}
}

/* Domande a fisarmonica (blocco «Dettagli» di WordPress) */
.p-domande {
	display: grid;
	grid-template-columns: minmax(0, 400px) minmax(0, 1fr);
	gap: 96px;
}

.p-domande__testa {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.p-domande__testa > p:not(.p-occhiello) {
	font-size: 16px;
}

.p-domanda {
	border-top: 1px solid var(--p-filetto);
}

.p-domanda:last-child {
	border-bottom: 1px solid var(--p-filetto);
}

.p-domanda summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 20px 0;
	color: var(--p-navy);
	font-size: 17px;
	font-weight: 600;
	line-height: 1.35;
	list-style: none;
	cursor: pointer;
}

.p-domanda summary::-webkit-details-marker {
	display: none;
}

.p-domanda summary::after {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background: var(--p-navy);
	-webkit-mask: var(--p-i-plus) center / contain no-repeat;
	mask: var(--p-i-plus) center / contain no-repeat;
}

.p-domanda[open] summary::after {
	-webkit-mask-image: var(--p-i-minus);
	mask-image: var(--p-i-minus);
}

.p-domanda summary:hover {
	color: var(--p-blu);
}

.p-domanda > p {
	max-width: 680px;
	margin: -6px 0 0 !important;
	padding-bottom: 22px;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.6;
}

@media (max-width: 899px) {
	.p-domande {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.p-domanda summary {
		font-size: 16px;
	}

	.p-domande .has-sezione-font-size br {
		display: none;
	}
}

/* Etichette di stato (area abbonamento, pagine funzione) */
.p-chip {
	display: inline-block;
	padding: 3px 8px;
	border: 1px solid var(--p-filetto);
	border-radius: 2px;
	background: #fff;
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	line-height: 1.35;
	white-space: nowrap;
}

.p-chip--prova,
.p-chip--ordine-processing {
	border-color: transparent;
	background: var(--p-lilla-chiaro);
	color: var(--p-lilla-scuro);
}

.p-chip--attivo,
.p-chip--ordine-completed {
	border-color: transparent;
	background: var(--p-azzurro);
	color: var(--p-blu-scuro);
}

.p-chip--sospeso,
.p-chip--ordine-on-hold,
.p-chip--ordine-pending {
	border-color: transparent;
	background: #f7f5d2;
	color: #6b6400;
}

.p-chip--disdetta,
.p-chip--chiuso,
.p-chip--ordine-refunded {
	border-color: transparent;
	background: var(--p-grigio);
	color: var(--p-testo-2);
}

.p-chip--ordine-failed,
.p-chip--ordine-cancelled {
	border-color: transparent;
	background: var(--wp--preset--color--errore-chiaro);
	color: #b42318;
}


@media (max-width: 899px) {
	.p-chip {
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------ */
/* Pagine funzione (blocco proonty/pagina-funzione)                   */
/* ------------------------------------------------------------------ */

.p-hero--funzione {
	padding: clamp(28px, 13.14px + 3.81vw, 64px) var(--p-lato) clamp(40px, 23.66px + 4.19vw, 80px);
	background: radial-gradient(ellipse 50% 80% at 78% 45%, #e3f0ff 0%, #f5f9ff 45%, #fff 100%);
}

.p-hero--funzione .p-hero__dentro {
	gap: 56px;
}

.p-hero--funzione .p-hero__testo {
	flex: 0 1 600px;
	gap: 20px;
	padding-bottom: 0;
}

.p-percorso {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	color: var(--p-testo-2);
	font-size: 13px;
}

.p-percorso .p-icona {
	width: 14px;
	height: 14px;
}

.p-percorso [aria-current] {
	color: var(--p-navy);
	font-weight: 500;
}

.p-titolo-funzione {
	margin: 0;
	font-size: var(--wp--preset--font-size--sezione);
	letter-spacing: -1.2px;
	line-height: 1.08;
}

.p-hero--solo-testo .p-hero__testo {
	flex: 0 1 840px;
}

.p-hero--solo-testo .p-titolo-funzione {
	font-size: var(--wp--preset--font-size--hero);
	letter-spacing: -2px;
	line-height: 1.06;
}

.p-hero__pulsanti {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.p-schermata {
	margin: 0;
	overflow: hidden;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 16px 48px 0 rgba(0, 25, 50, 0.1);
}

.p-schermata img {
	display: block;
	width: 100%;
	height: auto;
}

.p-schermata--hero {
	flex: 1 1 0;
	min-width: 0;
	max-width: 700px;
}

@media (max-width: 899px) {
	.p-hero--funzione .p-hero__dentro {
		gap: 28px;
	}

	.p-hero--funzione .p-hero__testo {
		flex: none;
	}

	.p-percorso {
		font-size: 14px;
	}

	.p-titolo-funzione {
		letter-spacing: -0.8px;
	}

	.p-hero__pulsanti .p-pulsante {
		width: 100%;
	}

	.p-schermata--hero {
		flex: none;
		max-width: none;
	}
}

/* Cosa fai: 4, 6 o 8 schede alte uguali */
.p-funzioni {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--p-scheda-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-funzioni--6 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.p-funzione {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 24px 28px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-funzione > .p-icona {
	width: 20px;
	height: 20px;
	color: var(--p-blu);
}

.p-funzione__titolo {
	margin: 16px 0 6px !important;
	font-family: var(--wp--preset--font-family--sans);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.35;
}

.p-funzione__testo {
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.5;
}

.p-funzione .p-chip {
	margin-top: 12px;
}

@media (max-width: 1199px) {
	.p-funzioni {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.p-funzioni,
	.p-funzioni--6 {
		grid-template-columns: minmax(0, 1fr);
	}

	.p-funzione {
		padding: 20px;
	}
}

/* Approfondimenti: schermata a destra, poi a sinistra; senza schermata, solo testo */
.p-blocco {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	align-items: center;
	gap: 64px;
}

.p-blocco--immagine-sinistra {
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
}

.p-blocco--immagine-sinistra .p-schermata {
	order: -1;
}

.p-blocco--solo-testo {
	grid-template-columns: minmax(0, 760px);
}

.p-blocco__testo {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.p-blocco__titolo {
	margin: 0;
	font-size: clamp(26px, 22.29px + 0.952vw, 38px);
	letter-spacing: -0.8px;
	line-height: 1.12;
}

.p-blocco__paragrafo {
	color: var(--p-testo-2);
	font-size: 16px;
	line-height: 1.6;
}

.p-blocco .p-spunte {
	margin-top: 8px;
}

@media (max-width: 899px) {
	.p-blocco,
	.p-blocco--immagine-sinistra {
		grid-template-columns: minmax(0, 1fr);
		gap: 28px;
	}

	.p-blocco--immagine-sinistra .p-schermata {
		order: 0;
	}
}

/* Altre funzioni */
.p-altre-funzioni {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--p-scheda-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-altra-funzione {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	padding: 18px 20px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.15s ease;
}

.p-altra-funzione:hover {
	border-color: var(--p-blu);
	color: var(--p-navy);
}

.p-altra-funzione > .p-icona {
	width: 18px;
	height: 18px;
	color: var(--p-blu);
}

.p-altra-funzione span {
	flex: 1 1 auto;
}

.p-altra-funzione .p-altra-funzione__freccia {
	color: var(--p-testo-2);
	transition: transform 0.15s ease;
}

.p-altra-funzione:hover .p-altra-funzione__freccia {
	transform: translateX(3px);
}

@media (max-width: 1199px) {
	.p-altre-funzioni {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 599px) {
	.p-altre-funzioni {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* Pulsanti della chiusura quando non sono blocchi «Pulsanti» */
.p-riquadro__pulsanti--link {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

@media (max-width: 899px) {
	.p-riquadro__pulsanti--link {
		flex-direction: column;
		gap: 10px;
	}

	.p-riquadro__pulsanti--link .p-pulsante {
		width: 100%;
	}
}

/* ------------------------------------------------------------------ */
/* FAQ e Contatti                                                     */
/* ------------------------------------------------------------------ */

.p-testata {
	background: radial-gradient(ellipse 45% 90% at 80% 0%, #e3f0ff 0%, #f5f9ff 45%, #fff 100%);
}

.p-testata.p-sezione--apertura {
	padding-bottom: clamp(36px, 30.06px + 1.524vw, 56px);
}

.p-testata--filetto {
	border-bottom: 1px solid var(--p-filetto);
	background: #fff;
}

.p-testata--filetto.p-sezione--apertura {
	padding-bottom: clamp(32px, 27.25px + 1.219vw, 48px);
}

.p-testata__dentro {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.p-testata h1 {
	margin: 0;
	font-size: clamp(34px, 25.83px + 2.095vw, 56px);
	letter-spacing: -1.2px;
	line-height: 1.05;
}

.p-testata__dentro > :not(.p-occhiello) {
	max-width: 900px;
}

.p-ancore {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px !important;
}

.p-ancore a {
	flex: 0 0 auto;
	padding: 8px 14px;
	border: 1px solid var(--p-filetto);
	border-radius: 2px;
	background: #fff;
	color: var(--p-navy);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

.p-ancore a:hover {
	border-color: var(--p-blu);
	color: var(--p-blu);
}

.p-sezione--gruppo {
	padding-block: clamp(48px, 39.09px + 2.286vw, 72px);
}

/* Le ancore della testata portano al gruppo senza che l'header fisso copra il titolo. */
.p-sezione--gruppo[id] {
	scroll-margin-top: var(--p-header-h);
}

.p-domande__gruppo {
	margin: 0;
	font-size: clamp(26px, 22.29px + 0.952vw, 36px);
	letter-spacing: -0.6px;
	line-height: 1.06;
}

.p-domande--faq .p-domanda summary {
	padding-block: clamp(18px, 15.77px + 0.571vw, 24px);
	font-family: var(--p-display);
	font-size: clamp(17px, 15.89px + 0.286vw, 20px);
	line-height: 1.3;
}

.p-domande--faq .p-domanda summary::after {
	width: 22px;
	height: 22px;
}

.p-domande--faq .p-domanda > p {
	max-width: 720px;
	margin-top: calc(-1 * clamp(8px, 6.51px + 0.381vw, 12px)) !important;
	padding-bottom: clamp(18px, 15.77px + 0.571vw, 24px);
	font-size: 16px;
	line-height: 1.5;
}

.p-aiuto {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 32px 40px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-aiuto__titolo {
	margin: 0 0 8px !important;
	font-size: clamp(24px, 22.51px + 0.381vw, 28px);
	letter-spacing: -0.5px;
}

.p-aiuto__testo p {
	margin: 0;
	font-size: 16px;
}

.p-aiuto__pulsanti {
	flex: 0 0 auto;
	gap: 12px;
}

.p-aiuto__pulsanti .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 15px 24px;
	font-size: 17px;
}

.p-i-whatsapp .wp-block-button__link::before,
.p-esterno .wp-block-button__link::after {
	content: "";
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--p-i-arrow-up-right) center / contain no-repeat;
	mask: var(--p-i-arrow-up-right) center / contain no-repeat;
}

.p-i-whatsapp .wp-block-button__link::before {
	width: 20px;
	height: 20px;
	background: #25d366;
	-webkit-mask-image: var(--p-i-whatsapp-logo);
	mask-image: var(--p-i-whatsapp-logo);
}

@media (max-width: 599px) {
	.p-ancore {
		flex-wrap: nowrap;
		margin-inline: calc(-1 * var(--p-lato));
		padding-inline: var(--p-lato);
		overflow-x: auto;
		scrollbar-width: none;
	}

	.p-ancore::-webkit-scrollbar {
		display: none;
	}
}

@media (max-width: 899px) {
	.p-aiuto {
		flex-direction: column;
		align-items: stretch;
		padding: 24px 20px;
	}

	.p-aiuto__pulsanti {
		flex-direction: column;
	}

	.p-aiuto__pulsanti .wp-block-button,
	.p-aiuto__pulsanti .wp-block-button__link {
		justify-content: center;
		width: 100%;
	}
}

/* Contatti */
.p-sezione--contatti {
	padding-top: clamp(24px, 17.31px + 1.714vw, 48px);
	padding-bottom: clamp(56px, 41.14px + 3.81vw, 96px);
}

.p-contatti {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 440px;
	align-items: start;
	gap: 40px;
}

.p-modulo {
	scroll-margin-top: calc(var(--p-header-h) + 16px);
	padding: 36px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-modulo__titolo {
	margin: 0 0 18px !important;
	font-size: 28px;
	letter-spacing: -0.5px;
}

.p-modulo__campi {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 16px;
}

.p-modulo .form-row {
	grid-column: 1 / -1;
	margin: 0;
}

.p-modulo .form-row-first {
	grid-column: 1;
}

.p-modulo .form-row-last {
	grid-column: 2;
}

.p-modulo label:not(.p-modulo__consenso) {
	display: block;
	margin-bottom: 6px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-modulo .required {
	color: var(--p-testo-2);
}

.p-modulo .input-text {
	width: 100%;
	min-height: 44px;
	padding: 12px 14px;
	border: 1px solid var(--p-filetto);
	border-radius: 3px;
	background: #fff;
	color: var(--p-navy);
	font-family: inherit;
	font-size: 15px;
	line-height: 1.4;
}

.p-modulo textarea.input-text {
	min-height: 150px;
	resize: vertical;
}

.p-modulo .input-text::placeholder {
	color: #8a97a8;
}

.p-modulo .input-text:focus {
	border-color: var(--p-blu);
	outline: none;
	box-shadow: var(--p-anello);
}

.p-modulo__consenso {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 18px 0;
	font-size: 15px;
	line-height: 1.4;
	cursor: pointer;
}

.p-modulo__consenso input {
	width: 18px;
	height: 18px;
	margin: 1px 0 0;
	accent-color: var(--p-blu);
}

.p-modulo__esito {
	margin: 0 0 20px !important;
	padding: 14px 16px;
	/* impeccable-disable-next-line side-tab: stesso filetto degli avvisi approvati (tavola «Avvisi di WooCommerce») */
	border-left: 3px solid var(--p-blu);
	border-radius: 2px;
	background: var(--p-azzurro);
	font-size: 15px;
}

.p-modulo__esito--errore {
	border-left-color: var(--wp--preset--color--errore);
	background: var(--wp--preset--color--errore-chiaro);
}

.p-canali {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-canale {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 22px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-canale > .p-icona {
	flex: 0 0 auto;
	width: 22px;
	height: 22px;
	margin-top: -1px;
	color: var(--p-blu);
}

.p-canale > .p-icona--verde {
	color: #25d366;
}

.p-canale p {
	margin: 0;
}

.p-canale__titolo {
	font-size: 15px;
	font-weight: 600;
}

.p-canale__testo {
	margin-top: 4px !important;
	line-height: 20px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-canale__link {
	display: inline-block;
	margin-top: 4px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}

.p-gia-cliente {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-top: 12px;
	padding: 22px;
	border-radius: 4px;
	background: var(--p-azzurro);
}

.p-gia-cliente__titolo {
	margin: 0;
	color: var(--p-blu-scuro);
	font-size: 15px;
	font-weight: 600;
}

.p-gia-cliente a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--p-blu-scuro);
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}

.p-gia-cliente .p-icona {
	color: var(--p-blu);
}

.p-contatti__azienda {
	margin: 12px 0 0;
	padding: 16px 22px 0;
	border-top: 1px solid var(--p-filetto);
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.6;
}

.p-contatti__azienda strong {
	color: var(--p-navy);
}

.p-contatti__azienda span {
	white-space: nowrap;
}

@media (max-width: 1023px) {
	.p-contatti {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
	}
}

@media (max-width: 599px) {
	.p-modulo {
		padding: 24px 18px;
	}

	.p-modulo__titolo {
		font-size: 24px;
	}

	.p-modulo__campi {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 14px;
	}

	.p-modulo .form-row-first,
	.p-modulo .form-row-last {
		grid-column: 1;
	}

	.p-modulo .input-text {
		font-size: 16px;
	}

	.p-modulo .p-pulsante {
		width: 100%;
	}
}

/* ------------------------------------------------------------------ */
/* Guide: archivio e articolo                                         */
/* ------------------------------------------------------------------ */

.p-testata--guide.p-sezione--apertura {
	gap: clamp(24px, 19.54px + 1.143vw, 36px);
	padding-bottom: clamp(24px, 18.06px + 1.524vw, 40px);
}

.p-guide__filtri {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.p-guide__filtri .p-ancore {
	margin-top: 0 !important;
}

.p-ancore a.is-attiva {
	border-color: var(--p-navy);
	background: var(--p-navy);
	color: #fff;
}

.p-cerca {
	position: relative;
	flex: 0 0 320px;
	margin: 0;
}

.p-cerca .p-icona {
	position: absolute;
	top: 50%;
	left: 14px;
	width: 16px;
	height: 16px;
	color: var(--p-testo-2);
	transform: translateY(-50%);
	pointer-events: none;
}

.p-cerca input {
	width: 100%;
	min-height: 44px;
	padding: 11px 14px 11px 40px;
	border: 1px solid var(--p-filetto);
	border-radius: 3px;
	background: #fff;
	color: var(--p-navy);
	font-family: inherit;
	font-size: 15px;
}

.p-cerca input::placeholder {
	color: #8a99ad;
}

.p-cerca input:focus {
	border-color: var(--p-blu);
	outline: none;
	box-shadow: var(--p-anello);
}

.p-guide {
	gap: 40px;
	padding-top: clamp(24px, 17.31px + 1.714vw, 48px);
	padding-bottom: clamp(56px, 41.14px + 3.81vw, 96px);
}

.p-guide__vuoto {
	padding: clamp(28px, 23.54px + 1.143vw, 40px);
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
}

.p-guide__vuoto h2 {
	margin: 0 0 8px;
	font-size: clamp(22px, 19.77px + 0.571vw, 28px);
	letter-spacing: -0.5px;
}

.p-guide__vuoto p {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 16px;
}

/* Copertine: l'immagine in evidenza o il fondo azzurro con l'icona */
.p-copertina {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	overflow: hidden;
	border-radius: 3px;
	background: var(--p-azzurro);
	color: var(--p-blu);
}

.p-copertina .p-icona {
	width: 36px;
	height: 36px;
}

.p-copertina--grande {
	height: clamp(190px, 128.71px + 15.71vw, 340px);
}

.p-copertina--grande .p-icona {
	width: clamp(44px, 39.54px + 1.143vw, 56px);
	height: clamp(44px, 39.54px + 1.143vw, 56px);
}

.p-copertina--articolo {
	height: clamp(190px, 126.86px + 16.19vw, 360px);
}

.p-copertina--foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-sezione--grigio .p-copertina:not(.p-copertina--foto) {
	background: #fff;
}

/* Guida in evidenza */
.p-evidenza {
	display: grid;
	grid-template-columns: minmax(0, 620px) minmax(0, 1fr);
	align-items: center;
	gap: 40px;
	padding: 24px;
	border: 1px solid #cfe3ff;
	border-radius: 4px;
	/* Un gradiente azzurro leggero dal lato della copertina, che sfuma nel bianco sotto il testo
	   (Giacomo, 11 novembre: niente blu pieno, sarebbe troppo pesante). */
	background: linear-gradient(90deg, #d6e8ff 0%, #eef5ff 50%, #fff 100%);
}

.p-evidenza__copertina {
	display: block;
}

.p-evidenza__testi {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.p-evidenza__testi > * {
	margin: 0 !important;
}

.p-evidenza__titolo {
	font-size: clamp(24px, 19.54px + 1.143vw, 36px);
	letter-spacing: -1px;
	line-height: 1.12;
}

.p-evidenza__titolo a {
	color: inherit;
	text-decoration: none;
}

.p-evidenza__titolo a:hover {
	color: var(--p-blu);
}

.p-evidenza__testo {
	color: var(--p-testo-2);
	font-size: 16px;
	line-height: 1.56;
}

/* Schede della griglia */
.p-griglia-guide {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 40px 24px;
}

.p-scheda-guida__link {
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 100%;
	color: var(--p-navy);
	text-decoration: none;
}

.p-scheda-guida__link > * {
	margin: 0;
}

.p-scheda-guida__categoria {
	margin: 0;
	color: var(--p-blu);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	line-height: 1.3;
	text-transform: uppercase;
}

.p-scheda-guida__titolo {
	font-size: clamp(20px, 19.26px + 0.19vw, 22px);
	letter-spacing: -0.4px;
	line-height: 1.2;
	transition: color 0.15s ease;
}

.p-scheda-guida__link:hover .p-scheda-guida__titolo {
	color: var(--p-blu);
}

.p-scheda-guida__testo {
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.53;
}

.p-scheda-guida__dati {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 13px;
}

/* Paginazione */
.p-paginazione {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px;
}

.p-paginazione .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--p-filetto);
	border-radius: 3px;
	background: #fff;
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.p-paginazione a.page-numbers:hover {
	border-color: var(--p-blu);
	color: var(--p-blu);
}

.p-paginazione .page-numbers.current {
	border-color: var(--p-navy);
	background: var(--p-navy);
	color: #fff;
}

.p-paginazione .page-numbers.dots {
	border-color: transparent;
	background: none;
}

.p-paginazione .p-icona {
	width: 14px;
	height: 14px;
}

/* Articolo */
.p-guida__testata {
	gap: 40px;
	padding-top: clamp(28px, 17.6px + 2.667vw, 56px);
	padding-bottom: clamp(28px, 20.57px + 1.905vw, 48px);
}

.p-guida__intestazione {
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.p-guida__intestazione > * {
	margin: 0 !important;
}

.p-guida .p-percorso {
	font-size: 14px;
}

.p-percorso a {
	color: var(--p-testo-2);
	text-decoration: none;
}

.p-percorso a:hover {
	color: var(--p-blu);
}

.p-percorso a[aria-current] {
	color: var(--p-navy);
}

.p-guida__titolo {
	max-width: 900px;
	font-size: clamp(32px, 24.57px + 1.905vw, 52px);
	letter-spacing: -1.6px;
	line-height: 1.06;
}

.p-guida__sottotitolo {
	max-width: 820px;
	color: var(--p-testo-2);
	font-size: clamp(17px, 16.26px + 0.19vw, 19px);
	line-height: 1.53;
}

.p-guida__dati {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	padding: 6px 0 0;
	list-style: none;
}

.p-guida__dati li {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-guida__dati .p-icona {
	flex: 0 0 auto;
	width: 15px;
	height: 15px;
}

.p-guida__corpo {
	padding-top: 0;
	padding-bottom: clamp(56px, 47.09px + 2.286vw, 80px);
}

.p-guida__colonne {
	display: grid;
	grid-template-columns: minmax(0, 760px) minmax(0, 1fr);
	align-items: start;
	gap: 80px;
}

.p-guida__testo {
	display: flex;
	flex-direction: column;
	gap: 22px;
	min-width: 0;
}

.p-guida__lato {
	position: sticky;
	top: calc(var(--p-header-h) + 24px);
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.p-in-breve {
	padding: 20px 24px;
	/* impeccable-disable-next-line side-tab: «In breve» con il filetto blu, come nella tavola «Guide · articolo» approvata da Driss */
	border-left: 3px solid var(--p-blu);
	background: var(--p-grigio);
}

.p-in-breve p {
	margin: 0;
	color: var(--p-navy);
	font-size: clamp(16px, 15.63px + 0.095vw, 17px);
	line-height: 1.53;
}

.p-in-breve .p-in-breve__titolo {
	margin-bottom: 8px;
	color: var(--p-blu);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

/* Il testo scritto nell'editor */
.p-articolo {
	color: var(--p-navy);
	font-size: clamp(17px, 16.63px + 0.095vw, 18px);
	line-height: 1.67;
}

.p-articolo > * {
	margin-block: 0;
}

.p-articolo > * + * {
	margin-top: 22px;
}

.p-articolo > * + h2,
.p-articolo > * + h3 {
	margin-top: 32px;
}

.p-articolo h2 {
	scroll-margin-top: calc(var(--p-header-h) + 24px);
	font-size: clamp(24px, 21.77px + 0.571vw, 30px);
	letter-spacing: -0.6px;
	line-height: 1.17;
}

.p-articolo h3 {
	font-size: clamp(20px, 19.26px + 0.19vw, 22px);
	letter-spacing: -0.3px;
	line-height: 1.25;
}

.p-articolo a:not(.p-pulsante) {
	color: var(--p-blu);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.p-articolo strong {
	font-weight: 600;
}

.p-articolo ul {
	padding: 0;
	list-style: none;
}

.p-articolo ul > li {
	position: relative;
	padding-left: 30px;
	line-height: 1.56;
}

.p-articolo ul > li + li {
	margin-top: 12px;
}

.p-articolo ul > li::before {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 18px;
	height: 18px;
	background: var(--p-blu);
	-webkit-mask: var(--p-i-check) center / contain no-repeat;
	mask: var(--p-i-check) center / contain no-repeat;
}

.p-articolo ol {
	padding-left: 24px;
}

.p-articolo ol > li + li {
	margin-top: 12px;
}

.p-articolo ol > li::marker {
	color: var(--p-blu);
	font-weight: 600;
}

.p-articolo img {
	max-width: 100%;
	height: auto;
	border-radius: 3px;
}

.p-articolo figcaption {
	margin-top: 8px;
	color: var(--p-testo-2);
	font-size: 14px;
}

.p-articolo blockquote {
	margin-inline: 0;
	padding: 20px 24px;
	border-radius: 4px;
	background: var(--p-grigio);
}

.p-articolo blockquote p {
	margin: 0;
}

.p-articolo .wp-block-table {
	overflow-x: auto;
}

/* Tabelle: filetti sottili e cornice, al posto dei bordi spessi dello stile di WordPress */
.p-articolo table {
	width: 100%;
	border: 1px solid var(--p-filetto);
	border-collapse: separate;
	border-spacing: 0;
	border-radius: 4px;
	font-size: 16px;
	line-height: 1.5;
}

.p-articolo .wp-block-table thead {
	border-bottom: 0;
}

.p-articolo th,
.p-articolo td,
.p-articolo .wp-block-table th,
.p-articolo .wp-block-table td {
	padding: 12px 16px;
	border: 0;
	border-bottom: 1px solid var(--p-filetto);
	text-align: left;
	vertical-align: top;
}

.p-articolo tr:last-child > td,
.p-articolo .wp-block-table tr:last-child > td {
	border-bottom: 0;
}

.p-articolo th {
	background: var(--p-grigio);
	color: var(--p-testo-2);
	font-weight: 600;
}

/* Riquadro informativo (blocco Gruppo, stile «Riquadro informativo») */
.p-articolo .is-style-nota {
	position: relative;
	padding: 20px 24px 20px 62px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
}

.p-articolo .is-style-nota::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 24px;
	width: 22px;
	height: 22px;
	background: var(--p-blu);
	transform: translateY(-50%);
	-webkit-mask: var(--p-i-info) center / contain no-repeat;
	mask: var(--p-i-info) center / contain no-repeat;
}

.p-articolo .is-style-nota p {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.47;
}

.p-articolo .is-style-nota p:first-child {
	color: var(--p-navy);
	font-size: 16px;
	font-weight: 600;
}

.p-articolo .is-style-nota p + p {
	margin-top: 4px;
}

/* Domande dentro il testo: i blocchi «Dettagli» */
.p-articolo .p-domanda {
	border-bottom: 1px solid var(--p-filetto);
}

.p-articolo .p-domanda + .p-domanda {
	margin-top: 0;
	border-top: 0;
}

.p-articolo .p-domanda summary {
	font-family: var(--p-display);
	font-size: clamp(17px, 16.26px + 0.19vw, 19px);
	line-height: 1.3;
}

.p-articolo .p-domanda > p {
	margin-top: -10px !important;
	padding-bottom: 20px;
	font-size: 16px;
	line-height: 1.56;
}

/* Invito alla prova dentro il testo (blocco proonty/invito-prova) */
.p-invito-prova {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 24px 28px;
	border-radius: 4px;
	background: var(--p-azzurro);
}

.p-invito-prova p {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.47;
}

.p-invito-prova .p-invito-prova__titolo {
	margin-bottom: 4px;
	color: var(--p-navy);
	font-family: var(--p-display);
	font-size: clamp(19px, 17.89px + 0.286vw, 22px);
	font-weight: 600;
	line-height: 1.2;
}

.p-invito-prova .p-pulsante {
	flex: 0 0 auto;
}

/* Barra laterale: indice e invito */
.p-indice {
	padding: 24px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-indice__titolo {
	margin: 0 0 10px;
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.p-indice ol {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-indice a {
	color: var(--p-navy);
	font-size: 15px;
	line-height: 1.4;
	text-decoration: none;
}

.p-indice a:hover,
.p-indice a.is-attiva {
	color: var(--p-blu);
}

.p-indice a.is-attiva {
	font-weight: 600;
}

.p-guida__prova {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 24px;
	border-radius: 4px;
	background: var(--p-navy);
}

.p-guida__prova p {
	margin: 0;
	color: rgb(255 255 255 / 0.72);
	font-size: 15px;
}

.p-guida__prova .p-guida__prova-titolo {
	color: #fff;
	font-family: var(--p-display);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
}

.p-guida__prova .p-pulsante {
	width: 100%;
}

/* Guide correlate */
.p-correlate {
	gap: 32px;
	padding-bottom: clamp(56px, 41.14px + 3.81vw, 96px);
}

.p-correlate__titolo {
	margin: 0;
	font-size: clamp(26px, 23.77px + 0.571vw, 32px);
	letter-spacing: -0.8px;
}

@media (max-width: 1023px) {
	.p-griglia-guide {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.p-evidenza {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		padding: 16px 16px 24px;
		background: linear-gradient(180deg, #d6e8ff 0%, #eef5ff 50%, #fff 100%);
	}

	/* Sul telefono: indice prima del testo, invito dopo */
	.p-guida__colonne {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 24px;
	}

	.p-guida__lato {
		display: contents;
	}

	.p-indice {
		order: 1;
	}

	.p-guida__testo {
		order: 2;
	}

	.p-guida__prova {
		order: 3;
	}
}

@media (max-width: 899px) {
	.p-guide__filtri {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
	}

	.p-cerca {
		flex-basis: auto;
	}

	.p-cerca input {
		font-size: 16px;
	}

	.p-guida__dati {
		flex-direction: column;
	}

	.p-invito-prova {
		flex-direction: column;
		align-items: stretch;
		padding: 20px;
	}

	.p-invito-prova .p-pulsante {
		width: 100%;
	}
}

@media (max-width: 599px) {
	.p-griglia-guide {
		grid-template-columns: minmax(0, 1fr);
		gap: 32px;
	}

	.p-copertina:not(.p-copertina--grande) {
		height: 168px;
	}

	.p-articolo .is-style-nota {
		padding: 18px 18px 18px 52px;
	}

	.p-articolo .is-style-nota::before {
		top: 20px;
		left: 18px;
		transform: none;
	}
}

/* ------------------------------------------------------------------ */
/* Banner dei cookie (Complianz)                                      */
/* ------------------------------------------------------------------ */
/* Lo strumento resta Complianz: qui c'è solo lo stile della tavola «Banner dei cookie».
   Complianz carica il suo foglio dopo il tema, quindi qui si parte sempre dall'id del
   contenitore. La visibilità (cmplz-hidden, cmplz-show, cmplz-dismissed) resta sua. */

#cmplz-cookiebanner-container .cmplz-cookiebanner {
	--cmplz_banner_background_color: #fff;
	--cmplz_banner_border_color: var(--p-filetto);
	--cmplz_banner_border_width: 1px;
	--cmplz_banner_border_radius: 4px;
	--cmplz_banner_margin: 8px;
	--cmplz_banner_width: 460px;
	--cmplz_text_color: var(--p-navy);
	--cmplz_hyperlink_color: var(--p-blu);
	--cmplz_text_font_size: 14px;
	--cmplz_link_font_size: 13px;
	--cmplz_title_font_size: 18px;
	--cmplz_button_font_size: 15px;
	--cmplz_button_border_radius: 4px;
	--cmplz_button_accept_background_color: var(--p-navy);
	--cmplz_button_accept_border_color: var(--p-navy);
	--cmplz_button_accept_text_color: #fff;
	--cmplz_button_deny_background_color: var(--p-navy);
	--cmplz_button_deny_border_color: var(--p-navy);
	--cmplz_button_deny_text_color: #fff;
	--cmplz_button_settings_background_color: #fff;
	--cmplz_button_settings_border_color: var(--p-navy);
	--cmplz_button_settings_text_color: var(--p-navy);
	--cmplz_slider_active_color: var(--p-blu);
	--cmplz_slider_inactive_color: #d4dce7;
	--cmplz_slider_bullet_color: #fff;
	--cmplz_category_header_title_font_size: 15px;
	--cmplz_category_header_active_font_size: 13px;
	--cmplz_category_header_always_active_color: var(--p-testo-2);
	--cmplz_category_body_font_size: 14px;
	top: auto;
	right: auto;
	bottom: 32px;
	left: 32px;
	width: 460px;
	max-width: calc(100vw - 32px);
	max-height: calc(100vh - 64px);
	margin: 0;
	padding: 24px;
	transform: none;
	font-family: inherit;
}

#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show {
	display: flex;
	flex-direction: column;
	gap: 14px;
	box-shadow: 0 16px 40px rgb(0 25 50 / 0.14), 0 2px 6px rgb(0 25 50 / 0.06);
}

#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show:hover {
	box-shadow: 0 16px 40px rgb(0 25 50 / 0.14), 0 2px 6px rgb(0 25 50 / 0.06);
}

#cmplz-cookiebanner-container .cmplz-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-height: none;
	margin: 0;
}

#cmplz-cookiebanner-container .cmplz-logo,
#cmplz-cookiebanner-container .cmplz-link.impressum,
#cmplz-cookiebanner-container .cmplz-always-active .cmplz-banner-checkbox,
#cmplz-cookiebanner-container .cmplz-divider,
#cmplz-cookiebanner-container .cmplz-close,
#cmplz-cookiebanner-container .cmplz-links.cmplz-information,
#cmplz-cookiebanner-container .cmplz-category-toggle {
	display: none;
}

#cmplz-cookiebanner-container .cmplz-title {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: var(--p-navy);
	font-family: var(--p-display);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.25;
}

#cmplz-cookiebanner-container .cmplz-title::before {
	content: "";
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	background: var(--p-blu);
	-webkit-mask: var(--p-i-cookie) center / contain no-repeat;
	mask: var(--p-i-cookie) center / contain no-repeat;
}

#cmplz-cookiebanner-container .cmplz-body {
	min-width: 0;
	max-height: none;
	margin: 0;
	overflow: visible;
}

/* Complianz da 768px in su fissa messaggio e categorie a «larghezza del banner meno 42px»:
   qui seguono il contenitore, anche nella finestra delle preferenze, più larga. */
#cmplz-cookiebanner-container .cmplz-message,
#cmplz-cookiebanner-container .cmplz-categories {
	width: auto;
}

#cmplz-cookiebanner-container .cmplz-message {
	margin: 0;
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.5;
}

/* Pulsanti: «Rifiuta» e «Accetta» con lo stesso peso (regola del Garante) */
#cmplz-cookiebanner-container .cmplz-buttons {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 0;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn {
	width: 100%;
	height: auto;
	min-height: 44px;
	margin: 0;
	padding: 11px 16px;
	border-radius: 4px;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	white-space: normal;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-deny {
	order: 1;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-save-preferences {
	order: 2;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-accept {
	order: 3;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-accept:hover,
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-deny:hover {
	border-color: #002e5b;
	background: #002e5b;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-save-preferences:hover {
	background: var(--p-grigio);
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn:focus-visible,
#cmplz-cookiebanner-container .cmplz-links .cmplz-link:focus-visible {
	outline: none;
	box-shadow: var(--p-anello);
}

/* «Personalizza» è un link, sulla stessa riga dei documenti */
#cmplz-cookiebanner-container .cmplz-buttons .cmplz-view-preferences {
	position: absolute;
	bottom: 24px;
	left: 24px;
	width: auto;
	min-height: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--p-blu);
	font-size: 14px;
	line-height: 20px;
}

#cmplz-cookiebanner-container .cmplz-buttons .cmplz-view-preferences:hover {
	text-decoration: underline;
}

#cmplz-cookiebanner-container .cmplz-links.cmplz-documents {
	display: flex;
	justify-content: flex-end;
	min-height: 20px;
	margin: 0;
}

#cmplz-cookiebanner-container .cmplz-links ul {
	gap: 16px;
	justify-content: flex-end;
}

#cmplz-cookiebanner-container .cmplz-links .cmplz-link {
	color: var(--p-testo-2);
	font-size: 13px;
	line-height: 20px;
	text-decoration: none;
}

#cmplz-cookiebanner-container .cmplz-links .cmplz-link:hover {
	color: var(--p-navy);
	text-decoration: underline;
}

/* Preferenze aperte: finestra al centro, con un velo leggero */
#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show.cmplz-categories-visible {
	top: 50%;
	bottom: auto;
	left: 50%;
	width: 560px;
	max-height: min(720px, calc(100vh - 48px));
	padding: 0;
	gap: 0;
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 100vmax rgb(0 25 50 / 0.32), 0 20px 48px rgb(0 25 50 / 0.2);
}

#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-header {
	padding: 20px 24px;
	border-bottom: 1px solid var(--p-filetto);
}

#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-title::before {
	display: none;
}

#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-close {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	color: var(--p-navy);
}

#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-close svg {
	width: 14px;
	height: 14px;
}

#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-body {
	flex: 1 1 auto;
	min-height: 0;
	padding: 4px 24px;
	overflow-y: auto;
}

#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-message,
#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-links.cmplz-documents {
	display: none;
}

#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-buttons {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	padding: 16px 24px 24px;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--p-filetto);
	background: none;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category:last-child {
	border-bottom: 0;
}

/* Complianz sotto i 425px mette l'interruttore sotto il titolo, con !important */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-category .cmplz-category-header {
	grid-template-columns: minmax(0, 1fr) auto !important;
	gap: 16px;
	padding: 0;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-category-title {
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-always-active {
	display: flex;
	align-items: center;
	gap: 12px;
	color: var(--p-testo-2);
	font-size: 13px;
	font-weight: 400;
}

/* «Sempre attivo»: un interruttore acceso e fermo, come nella tavola */
#cmplz-cookiebanner-container .cmplz-categories .cmplz-always-active::after {
	content: "";
	order: 2;
	width: 36px;
	height: 20px;
	border-radius: 3px;
	background: var(--p-blu) linear-gradient(#fff, #fff) right 3px center / 14px 14px no-repeat;
	opacity: 0.4;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-description {
	display: block;
	margin-top: 4px;
	padding: 0;
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.5;
}

#cmplz-cookiebanner-container .cmplz-categories .cmplz-description span {
	font-size: inherit;
}

#cmplz-cookiebanner-container .cmplz-banner-checkbox input.cmplz-consent-checkbox {
	top: 0;
	left: 0;
	width: 36px;
	height: 20px;
	margin: 0;
}

#cmplz-cookiebanner-container .cmplz-banner-checkbox .cmplz-label {
	display: block;
	width: 36px;
	height: 20px;
	padding: 0;
}

#cmplz-cookiebanner-container .cmplz-banner-checkbox .cmplz-label::before {
	top: 0;
	left: 0;
	width: 36px;
	height: 20px;
	padding: 0;
	border-radius: 3px;
}

#cmplz-cookiebanner-container .cmplz-banner-checkbox .cmplz-label::after {
	top: 3px;
	left: 3px;
	width: 14px;
	height: 14px;
	border-radius: 2px;
}

#cmplz-cookiebanner-container .cmplz-banner-checkbox input.cmplz-consent-checkbox:checked + .cmplz-label::after {
	left: 19px;
}

#cmplz-cookiebanner-container .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus + .cmplz-label::before {
	box-shadow: none;
}

#cmplz-cookiebanner-container .cmplz-banner-checkbox input.cmplz-consent-checkbox:focus-visible + .cmplz-label::before {
	box-shadow: var(--p-anello);
}

/* La linguetta fissa di Complianz non serve: il consenso si riapre da «Gestisci il consenso»
   nel footer, e la linguetta finirebbe sopra il pulsante WhatsApp. */
#cmplz-manage-consent {
	display: none;
}

@media (max-width: 767px) {
	/* Sul telefono un pannello in fondo, che lascia vedere il pulsante della hero */
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		right: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		max-width: none;
		max-height: 85vh;
		padding: 16px 16px calc(14px + env(safe-area-inset-bottom));
		border-width: 1px 0 0;
		border-radius: 0;
	}

	/* Più basso possibile: anche con lo schermo corto del browser di Instagram il pulsante
	   della prova nella hero deve restare visibile sopra il pannello. */
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show {
		gap: 10px;
		box-shadow: 0 -8px 24px rgb(0 25 50 / 0.1);
	}

	#cmplz-cookiebanner-container .cmplz-title {
		font-size: 17px;
	}

	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-view-preferences {
		bottom: calc(14px + env(safe-area-inset-bottom));
		left: 16px;
	}

	#cmplz-cookiebanner-container .cmplz-links .cmplz-link {
		font-size: 14px;
	}

	/* Preferenze a tutto schermo, pulsanti in fondo */
	#cmplz-cookiebanner-container .cmplz-cookiebanner.cmplz-show.cmplz-categories-visible {
		top: 0;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		max-height: none;
		border: 0;
		transform: none;
		box-shadow: none;
	}

	#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-header {
		padding: 16px;
	}

	#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-body {
		padding: 4px 16px;
	}

	#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-buttons {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px 16px calc(16px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--p-filetto);
	}

	#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-buttons .cmplz-accept {
		order: 1;
	}

	#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-buttons .cmplz-deny {
		order: 2;
	}

	#cmplz-cookiebanner-container .cmplz-categories-visible .cmplz-buttons .cmplz-save-preferences {
		order: 3;
	}
}

/* ------------------------------------------------------------------ */
/* Pagine semplici                                                    */
/* ------------------------------------------------------------------ */

.p-pagina {
	padding: var(--p-sezione) var(--p-lato);
}

.p-pagina > .p-pagina__titolo {
	margin-bottom: 32px;
}

.p-pagina > .p-pagina__titolo + * {
	margin-top: 0;
}

/* ------------------------------------------------------------------ */
/* Pagine legali                                                      */
/* ------------------------------------------------------------------ */

.p-legale__testata {
	padding-top: clamp(32px, 20.11px + 3.048vw, 64px);
	padding-bottom: clamp(28px, 23.54px + 1.143vw, 40px);
	border-bottom: 1px solid var(--p-filetto);
	background: var(--p-grigio);
}

.p-legale__intestazione {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.p-legale__intestazione > * {
	margin: 0 !important;
}

.p-legale__titolo {
	font-size: clamp(32px, 24.57px + 1.905vw, 52px);
	letter-spacing: -1.6px;
	line-height: 1.06;
}

.p-legale__data {
	color: var(--p-testo-2);
	font-size: 15px;
}

.p-legale {
	padding-top: clamp(24px, 12.11px + 3.048vw, 56px);
	padding-bottom: clamp(56px, 41.14px + 3.81vw, 96px);
}

.p-legale__colonne {
	display: grid;
	grid-template-columns: 280px minmax(0, 780px);
	align-items: start;
	gap: 80px;
}

.p-legale__documenti {
	position: sticky;
	top: calc(var(--p-header-h) + 24px);
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.p-legale__gruppo {
	margin: 0 0 4px;
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.p-legale__documenti ul {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-legale__documenti a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 0 12px;
	border-radius: 3px;
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}

.p-legale__documenti a .p-icona {
	width: 16px;
	height: 16px;
	color: var(--p-testo-2);
}

.p-legale__documenti a:hover {
	background: var(--p-grigio);
}

.p-legale__documenti a.is-attivo {
	background: var(--p-azzurro);
	color: var(--p-blu-scuro);
	font-weight: 600;
}

.p-legale__documenti a.is-attivo .p-icona {
	color: var(--p-blu);
}

.p-legale__documenti .p-pulsante {
	margin-top: 8px;
	padding: 12px 16px;
	font-size: 15px;
	white-space: normal;
}

/* Il testo dei documenti: più compatto di una guida, elenchi con il trattino */
.p-legale__testo {
	font-size: 17px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.p-legale__testo > * + * {
	margin-top: 18px;
}

.p-legale__testo > * + h2,
.p-legale__testo > * + h3 {
	margin-top: 32px;
}

.p-legale__testo h2 {
	font-size: clamp(20px, 18.51px + 0.381vw, 24px);
	letter-spacing: -0.4px;
	line-height: 1.2;
}

.p-legale__testo h3 {
	font-size: 19px;
}

.p-legale__testo ul > li {
	padding-left: 28px;
}

.p-legale__testo ul > li::before {
	top: 0.82em;
	width: 14px;
	height: 2px;
	-webkit-mask: none;
	mask: none;
}

.p-legale__testo ol > li + li,
.p-legale__testo ul > li + li {
	margin-top: 10px;
}

.p-legale__testo table {
	font-size: 15px;
}

/* ------------------------------------------------------------------ */
/* Pagina non trovata (404)                                           */
/* ------------------------------------------------------------------ */

.p-non-trovata {
	align-items: center;
	gap: 0;
	padding-top: clamp(40px, 19.2px + 5.333vw, 96px);
	padding-bottom: clamp(56px, 38.17px + 4.571vw, 104px);
	background: radial-gradient(ellipse 60% 60% at 50% 25%, #e8f2ff 0%, #fff 100%);
}

.p-non-trovata__dentro {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 20px;
	text-align: center;
}

.p-non-trovata__dentro > * {
	margin: 0 !important;
}

.p-non-trovata__numero {
	color: #cfe2fa;
	font-family: var(--p-display);
	font-size: clamp(96px, 71.62px + 6.248vw, 160px);
	font-weight: 600;
	letter-spacing: -6px;
	line-height: 1;
}

.p-non-trovata__titolo {
	font-size: clamp(30px, 23.31px + 1.714vw, 48px);
	letter-spacing: -1.4px;
	line-height: 1.1;
}

.p-non-trovata__testo {
	color: var(--p-testo-2);
	font-size: clamp(16px, 15.26px + 0.19vw, 18px);
}

.p-non-trovata__pulsanti {
	display: flex;
	justify-content: center;
	gap: 12px;
	padding-top: 8px;
}

.p-non-trovata__cerca {
	flex: none;
	width: min(480px, 100%);
}

.p-non-trovata__utili {
	max-width: 1000px !important;
	padding-top: 40px;
}

.p-non-trovata__gruppo {
	margin: 0 0 14px;
	color: var(--p-testo-2);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.5px;
	text-transform: uppercase;
}

.p-non-trovata__utili ul {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.p-non-trovata__utili a {
	display: flex;
	align-items: center;
	gap: 12px;
	height: 100%;
	min-height: 74px;
	padding: 18px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
	color: var(--p-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
}

.p-non-trovata__utili a > .p-icona:first-child {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	color: var(--p-blu);
}

.p-non-trovata__utili a > span {
	flex: 1;
}

.p-non-trovata__freccia {
	flex: 0 0 auto;
	width: 14px;
	height: 14px;
	transition: transform 0.15s ease;
}

.p-non-trovata__utili a:hover {
	border-color: var(--p-blu);
}

.p-non-trovata__utili a:hover .p-non-trovata__freccia {
	transform: translateX(3px);
}

@media (max-width: 1023px) {
	.p-legale__colonne {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.p-legale__documenti {
		position: static;
	}
}

@media (max-width: 599px) {
	.p-legale__testo {
		font-size: 16px;
		line-height: 1.68;
	}

	.p-non-trovata__pulsanti {
		flex-direction: column;
		align-self: stretch;
	}

	.p-non-trovata__pulsanti .p-pulsante {
		width: 100%;
	}

	.p-non-trovata__utili ul {
		grid-template-columns: minmax(0, 1fr);
	}

	.p-non-trovata__utili a {
		min-height: 56px;
	}
}

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

/* Hero: solo CSS, parte al primo disegno della pagina e non aspetta lo script.
   Chi arriva da un'inserzione legge subito titolo e pulsante. */
@media (prefers-reduced-motion: no-preference) {
	.p-sale {
		animation: p-sale 0.5s var(--p-curva) backwards;
	}

	.p-hero__testo > :nth-child(2) { animation-delay: 80ms; }
	.p-hero__testo > :nth-child(3) { animation-delay: 160ms; }
	.p-hero__testo > :nth-child(4) { animation-delay: 240ms; }
	.p-hero__testo > :nth-child(5) { animation-delay: 320ms; }

	.p-titolo-hero mark.p-evidenzia {
		animation: p-allarga 0.3s var(--p-curva) 0.3s backwards;
	}

	.p-hero .p-finestra {
		animation: p-sale-16 0.6s var(--p-curva) 0.3s backwards;
	}

	.p-hero .p-portatile {
		animation: p-sale-32 0.6s var(--p-curva) 0.6s backwards;
	}

	.p-hero .p-app__grafico .p-barra {
		animation: p-cresce 0.4s var(--p-curva) backwards;
		animation-delay: calc(0.9s + var(--i) * 50ms);
	}

	/* A 1,8 s entra in cima una nuova fattura «Consegnata». */
	.p-hero .p-finestra__scorri {
		animation: p-nuova-riga 0.4s var(--p-curva) 1.8s backwards;
	}

	.p-hero .p-finestra__riga--nuova {
		animation: p-compare 0.4s ease 1.9s backwards;
	}

	/* Sul telefono le stesse animazioni, più corte. */
	@media (max-width: 899px) {
		.p-sale,
		.p-hero .p-finestra,
		.p-hero .p-portatile {
			animation-duration: 0.35s;
		}

		/* Nella home le garanzie vengono prima dei pulsanti: entrano prima anche loro. */
		.p-hero:not(.p-hero--funzione) .p-hero__testo > .p-garanzie { animation-delay: 160ms; }
		.p-hero:not(.p-hero--funzione) .p-hero__testo > .p-hero__pulsanti { animation-delay: 240ms; }
	}
}

@keyframes p-sale {
	from {
		opacity: 0;
		transform: translateY(12px);
	}
}

@keyframes p-sale-16 {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
}

@keyframes p-sale-32 {
	from {
		opacity: 0;
		transform: translateY(32px);
	}
}

@keyframes p-allarga {
	from {
		background-size: 0% 100%;
	}
}

@keyframes p-cresce {
	from {
		transform: scaleY(0);
	}
}

@keyframes p-nuova-riga {
	from {
		transform: translateY(-51.5px);
	}
}

@keyframes p-compare {
	from {
		opacity: 0;
	}
}

/* Pagine interne: anche le schede della prima sezione sono sopra la piega. */
.p-js .p-sezione--apertura .p-entra {
	opacity: 1;
	transform: none;
}

.p-js .p-sezione--apertura .p-piano--evidenza {
	box-shadow: 0 0 0 0.5px var(--p-blu), var(--p-ombra-evidenza);
}

@media (prefers-reduced-motion: no-preference) {
	.p-sezione--apertura .p-piano {
		animation: p-sale 0.5s var(--p-curva) backwards;
	}

	.p-sezione--apertura .p-piano:nth-child(1) { animation-delay: 120ms; }
	.p-sezione--apertura .p-piano:nth-child(2) { animation-delay: 240ms; }
	.p-sezione--apertura .p-piano:nth-child(3) { animation-delay: 320ms; }
}

/* Parallasse leggera della hero (solo desktop, impostata dallo script). */
.p-hero .p-finestra,
.p-hero .p-portatile {
	transform: translateY(var(--p-sposta, 0px));
}

/* Sotto la piega: ingressi quando la sezione entra nello schermo.
   Solo con JavaScript; se lo script non arriva entro 3 secondi, tutto compare. */
@media (prefers-reduced-motion: no-preference) {
	.p-js .p-entra {
		opacity: 0;
		transform: translateY(12px);
		transition: opacity 0.5s var(--p-curva), transform 0.5s var(--p-curva);
		transition-delay: var(--p-ritardo, 0s);
	}

	.p-js .p-entra.is-dentro {
		opacity: 1;
		transform: none;
	}

	/* Dashboard: le barre crescono e l'ultima diventa blu. */
	.p-js .p-scheda .p-grafico .p-barra {
		transform: scaleY(0);
		transition: transform 0.4s var(--p-curva), background-color 0.3s ease;
		transition-delay: calc(var(--p-ritardo, 0s) + 0.2s + var(--i) * 50ms), calc(var(--p-ritardo, 0s) + 1s);
	}

	.p-js .p-scheda .p-grafico .p-barra--blu {
		background: var(--p-barra);
	}

	.p-js .p-scheda.is-dentro .p-grafico .p-barra {
		transform: none;
	}

	.p-js .p-scheda.is-dentro .p-grafico .p-barra--blu {
		background: var(--p-blu);
	}

	/* Piani: lo Starter per primo, con l'ombra blu che si accende piano. */
	.p-js .p-piano--evidenza {
		box-shadow: 0 0 0 0.5px var(--p-blu), 0 20px 56px 0 rgba(0, 128, 255, 0);
		transition: opacity 0.5s var(--p-curva), transform 0.5s var(--p-curva), box-shadow 0.9s ease 0.3s, border-color 0.15s ease;
	}

	.p-js .p-piano--evidenza.is-dentro {
		box-shadow: 0 0 0 0.5px var(--p-blu), var(--p-ombra-evidenza);
	}

	/* Terzo passo: l'avviso arriva mezzo secondo dopo la riga della fattura. */
	.p-js .p-passo .p-avviso-scuro {
		opacity: 0;
		transform: translateY(6px);
		transition: opacity 0.3s ease, transform 0.3s var(--p-curva);
		transition-delay: calc(var(--p-ritardo, 0s) + 0.9s);
	}

	.p-js .p-passo.is-dentro .p-avviso-scuro {
		opacity: 1;
		transform: none;
	}
}

/* ------------------------------------------------------------------ */
/* Landing delle inserzioni (/proonty-landing/, tavola a y 97000)      */
/* ------------------------------------------------------------------ */

/* Landing: blu il video e «Come si parte», bianche «Cosa fai» e le recensioni, così bianco e blu si
   alternano anche qui e due sezioni blu non si toccano mai, nemmeno con le recensioni nascoste
   (Giacomo, 11 novembre: le sezioni blu in tutto il sito). */
.p-main--landing > .p-sezione--video + .p-sezione--grigio,
.p-main--landing > .p-sezione--recensioni {
	--p-navy: #001932;
	--p-testo-2: #4a5b72;
	--p-blu: #0080ff;
	--p-filetto: #dde4ee;
	--wp--preset--color--navy: #001932;
	--wp--preset--color--testo-2: #4a5b72;
	--wp--preset--color--blu: #0080ff;
	--wp--preset--color--filetto: #dde4ee;
	background: #fff;
	color: var(--p-navy);
}

.p-main--landing > .p-sezione--video + .p-sezione--grigio mark.p-evidenzia,
.p-main--landing > .p-sezione--recensioni mark.p-evidenzia {
	padding: 0;
	background: none;
	color: inherit;
}

/* Hero: il secondo pulsante scende al video, con l'icona play. */
.p-i-play .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.p-i-play .wp-block-button__link::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--p-i-play) center / contain no-repeat;
	mask: var(--p-i-play) center / contain no-repeat;
}

/* Video di Davide: testo a sinistra, video a destra. */
.p-video-sezione {
	display: grid;
	grid-template-columns: minmax(0, 520fr) minmax(0, 728fr);
	gap: clamp(32px, 4vw, 64px);
	align-items: center;
}

.p-video-sezione__testo {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.p-video-sezione__testo > p:not(.p-occhiello) {
	max-width: 520px;
	font-size: 16px;
	line-height: 1.5;
}

.p-video {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: 4px;
	background: var(--p-navy);
	box-shadow: 0 24px 64px rgba(0, 25, 50, 0.14);
	aspect-ratio: 16 / 9;
}

.p-video__video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: pointer;
}

.p-video__play {
	position: absolute;
	bottom: 20px;
	left: 20px;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 12px 18px;
	border: 0;
	border-radius: 2px;
	background: var(--p-blu);
	color: #fff;
	font: 600 16px/1.2 var(--wp--preset--font-family--sans);
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.p-video__play[hidden] {
	display: none;
}

.p-video__play:hover {
	background: var(--p-blu-scuro);
}

.p-video__play:focus-visible {
	outline: 2px solid #fff;
	outline-offset: -5px;
}

.p-video__icona {
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--p-i-play) center / contain no-repeat;
	mask: var(--p-i-play) center / contain no-repeat;
}

/* Prezzo: lo Starter su tutta la larghezza, poi gli altri due piani in una riga. */
.p-sezione--prezzo-landing {
	background: radial-gradient(ellipse 55% 50% at 45% 62%, #e8f2ff 0%, var(--p-grigio) 100%);
}

.p-sezione--prezzo-landing .p-intestazione + * {
	margin-top: 8px !important;
}

.p-piano-largo {
	flex-direction: row;
	align-items: stretch;
	gap: 0;
	padding: 40px;
}

.p-piano-largo__acquisto {
	display: flex;
	flex: 0 0 min(420px, 42%);
	flex-direction: column;
	gap: 20px;
	padding-right: 56px;
	border-right: 1px solid var(--p-filetto);
}

.p-piano-largo__acquisto .p-pulsante {
	width: 100%;
}

.p-piano-largo__nota {
	color: var(--p-testo-2);
	font-size: 14px;
	line-height: 1.45;
}

.p-piano-largo__funzioni {
	flex: 1 1 auto;
	justify-content: center;
	padding-left: 56px !important;
}

.p-piano-largo__funzioni li {
	font-size: 16px;
	line-height: 22px;
}

.p-piano-largo__funzioni li::before {
	margin-top: 3px;
}

.p-altri-piani {
	display: flex;
	align-items: center;
	gap: 32px;
	margin-top: calc(16px - var(--p-gap-sezione)) !important;
	padding: 22px 32px;
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-altri-piani__domanda {
	flex: 1 1 auto;
	color: var(--p-navy);
	font-size: 17px;
	font-weight: 600;
}

.p-altri-piani__testo {
	flex: 0 1 520px;
	color: var(--p-testo-2);
	font-size: 15px;
	line-height: 1.4;
}

.p-altri-piani .p-pulsante {
	flex: 0 0 auto;
}

/* Recensioni. */
.p-recensioni {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--p-scheda-gap);
	align-items: stretch;
}

.p-recensione {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: var(--p-scheda-pad);
	border: 1px solid var(--p-filetto);
	border-radius: 4px;
	background: #fff;
}

.p-recensione__virgolette {
	width: 28px;
	height: 28px;
	background: var(--p-blu);
	-webkit-mask: var(--p-icona) center / contain no-repeat;
	mask: var(--p-icona) center / contain no-repeat;
}

.p-recensione__testo {
	flex: 1 1 auto;
	margin: 0;
	padding: 0;
	border: 0;
	color: var(--p-navy);
	font-family: var(--p-display);
	font-size: 22px;
	font-weight: 500;
	line-height: 1.32;
	letter-spacing: -0.2px;
}

.p-recensione__chi {
	color: var(--p-testo-2);
	font-size: 14px;
}

/* Domande: il collegamento a WhatsApp sotto il titolo. */
.p-link-whatsapp a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--p-blu);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

.p-link-whatsapp a::before {
	content: "";
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: var(--p-i-whatsapp-logo) center / contain no-repeat;
	mask: var(--p-i-whatsapp-logo) center / contain no-repeat;
}

.p-link-whatsapp a:hover {
	color: var(--p-blu-scuro);
}

/* Chiusura: al posto dell'elenco dello Starter, le tre garanzie sulla prova. */
.p-garanzie--colonna {
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 22px;
	padding-top: 0 !important;
	border-top: 0;
}

.p-garanzie--colonna li {
	gap: 12px;
	font-size: 16px;
}

.p-garanzie--colonna li::before {
	width: 22px;
	height: 22px;
}

@media (max-width: 899px) {
	.p-video-sezione {
		grid-template-columns: 1fr;
		gap: 24px;
	}

	.p-video__play {
		bottom: 12px;
		left: 12px;
		padding: 10px 14px;
		font-size: 15px;
	}

	.p-piano-largo {
		flex-direction: column;
		padding: 24px;
	}

	.p-piano-largo__acquisto {
		flex: none;
		padding: 0 0 20px;
		border-right: 0;
		border-bottom: 1px solid var(--p-filetto);
	}

	.p-piano-largo__funzioni {
		padding: 20px 0 0 !important;
	}

	.p-piano-largo__funzioni li {
		font-size: 15px;
		line-height: 20px;
	}

	.p-altri-piani {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
		margin-top: calc(24px - var(--p-gap-sezione)) !important;
		padding: 0;
		border: 0;
		background: none;
	}

	.p-altri-piani__domanda {
		font-size: 16px;
	}

	.p-altri-piani__elenco {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.p-altri-piani__elenco a {
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 18px 20px;
		border: 1px solid var(--p-filetto);
		border-radius: 4px;
		background: #fff;
		color: var(--p-navy);
		text-decoration: none;
	}

	.p-altri-piani__nome {
		flex: 1 1 auto;
		font-family: var(--p-display);
		font-size: 20px;
		font-weight: 600;
	}

	.p-altri-piani__prezzo {
		color: var(--p-testo-2);
		font-family: var(--p-display);
		font-size: 19px;
		font-weight: 600;
	}

	.p-altri-piani__prezzo small {
		font-family: var(--wp--preset--font-family--sans);
		font-size: 14px;
		font-weight: 400;
	}

	.p-altri-piani__elenco .p-icona {
		width: 18px;
		height: 18px;
		color: var(--p-blu);
	}

	.p-recensioni {
		grid-template-columns: 1fr;
	}

	.p-recensione__testo {
		font-size: 20px;
	}

	.p-garanzie--colonna {
		display: grid;
		flex-direction: row;
		gap: 0;
		padding-top: 0 !important;
	}

	.p-garanzie--colonna li {
		gap: 8px;
		font-size: 14px;
	}
}

/* ------------------------------------------------------------------ */
/* Pulsanti da telefono: testo più grande, stessa misura              */
/* ------------------------------------------------------------------ */

/*
 * Giacomo, 8 novembre: da telefono il testo dei pulsanti cresce di un punto e lo spazio
 * interno cala quanto basta perché il pulsante resti grande uguale (17px con 16px sopra e
 * sotto fa 52px di altezza, 18px con 15px pure). Sta in fondo al file per valere anche sulle
 * eccezioni delle singole sezioni: header, menu, newsletter, banner dei cookie.
 */
@media (max-width: 899px) {
	.p-pulsante,
	.wp-block-button__link {
		padding: 15px 20px;
		font-size: 18px;
	}

	/* Il contorno ha 1px di bordo: 1px in meno di spazio. */
	.is-style-outline .wp-block-button__link {
		padding: 14px 19px;
	}

	.p-pulsante--piccolo {
		padding: 9px 14px;
		font-size: 16px;
	}

	.p-header__azioni .p-pulsante--piccolo {
		padding: 7px 10px;
	}

	.p-newsletter .p-pulsante--piccolo {
		padding: 13px 18px;
	}

	.p-pulsante--pieno {
		padding: 13px 16px;
		font-size: 17px;
	}

	.p-menu-telefono__fondo .p-pulsante {
		padding-block: 15px;
		font-size: 18px;
	}

	/* Complianz: l'altezza la decide min-height (44px). */
	#cmplz-cookiebanner-container .cmplz-buttons .cmplz-btn {
		padding: 10px 14px;
		font-size: 16px;
	}
}
