/**
 * WRL Arno — sezioni (pattern) e stili dei blocchi.
 * Caricato sia nel sito sia nell'editor (add_editor_style): ciò che il redattore vede è ciò che esce.
 *
 * Regola: spaziature e dettagli di layout delle sezioni stanno qui, legati alla classe della sezione;
 * il redattore cambia testi e immagini, non le misure.
 */

/* ==========================================================================
   Stili dei blocchi
   ========================================================================== */

/* ---- Gruppo › "Card statistica" (core/group, is-style-wrl-stat) ---- */

.wp-block-group.is-style-wrl-stat {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 22px;
	height: 100%;
	min-height: 170px;
	padding: 24px 22px 26px;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
}

.wp-block-group.is-style-wrl-stat > * {
	margin: 0;
}

/* Primo paragrafo: il numero. Ultimo: la descrizione. */
.wp-block-group.is-style-wrl-stat > :first-child {
	font-size: 38px;
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.02em;
}

.wp-block-group.is-style-wrl-stat > :last-child:not(:first-child) {
	color: #dde6e8;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
}

/* ---- Accordion › "Elenco con frecce" (core/accordion, is-style-wrl-lista) ---- */

.wp-block-accordion.is-style-wrl-lista {
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-width: 660px;
}

.is-style-wrl-lista > .wp-block-accordion-item {
	margin: 0;
	border-bottom: 1px solid rgba(23, 46, 52, 0.12);
}

.is-style-wrl-lista .wp-block-accordion-heading {
	margin: 0;
	color: var(--wp--preset--color--petrolio);
	font-size: 15.5px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.35;
}

.is-style-wrl-lista .wp-block-accordion-heading__toggle {
	gap: 14px;
	padding: 14px 0;
	transition: opacity var(--wp--custom--transition);
}

.is-style-wrl-lista .wp-block-accordion-heading__toggle:hover {
	opacity: 0.72;
}

.is-style-wrl-lista .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

/* Il "+" di WordPress diventa un cerchio con freccia, che ruota di 90° quando la voce è aperta. */
.is-style-wrl-lista .wp-block-accordion-heading__toggle-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	border: 1.5px solid var(--wp--preset--color--blu);
	border-radius: 50%;
	font-size: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234a7a9e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / 13px no-repeat;
}

.is-style-wrl-lista .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(90deg);
}

.is-style-wrl-lista .wp-block-accordion-panel {
	margin-top: 0;
	padding: 0 0 18px 40px;
	color: var(--wp--preset--color--ardesia);
	font-size: 15px;
	line-height: 1.6;
}

.is-style-wrl-lista .wp-block-accordion-panel > * {
	margin: 0;
}

.is-style-wrl-lista .wp-block-accordion-panel > * + * {
	margin-top: 0.75em;
}

@media (prefers-reduced-motion: no-preference) {
	.is-style-wrl-lista .wp-block-accordion-item.is-open .wp-block-accordion-panel {
		animation: wrl-panel 0.35s ease both;
	}
}

@keyframes wrl-panel {
	from {
		opacity: 0;
		transform: translateY(8px);
	}
	to {
		opacity: 1;
		transform: none;
	}
}

/* ---- Pulsante › "Scuro con freccia" (core/button, is-style-wrl-scuro) ---- */

.wp-block-button.is-style-wrl-scuro .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 17px 28px;
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
}

.wp-block-button.is-style-wrl-scuro .wp-block-button__link::after {
	content: "";
	flex: 0 0 auto;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='13 6 19 12 13 18'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--wp--custom--transition);
}

.wp-block-button.is-style-wrl-scuro .wp-block-button__link:hover {
	background: var(--wp--preset--color--petrolio-scuro);
	color: var(--wp--preset--color--bianco);
}

.wp-block-button.is-style-wrl-scuro .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

/* ==========================================================================
   Sezioni (pattern)
   ========================================================================== */

/* Le sezioni sono blocchi a piena larghezza attaccati tra loro. */
.alignfull:is(.wrl-hero, .wrl-intro, .wrl-rischi, .wrl-settori, .wrl-obiettivi, .wrl-modello, .wrl-investire, .wrl-aree, .wrl-partner, .wrl-aderire, .wrl-contatti, .wrl-struttura, .wrl-form) {
	margin-top: 0;
	margin-bottom: 0;
}

/* ---- Hero ---- */

.wrl-hero {
	padding-top: clamp(34px, 6vw, 84px);
	padding-bottom: 0;
}

.wrl-hero .wrl-hero__title {
	margin: 0;
	color: var(--wp--preset--color--bianco);
	text-wrap: balance;
}

.wrl-hero .wrl-hero__sub {
	margin-top: 14px;
	color: #e6ebec;
	font-weight: 300;
	line-height: 1.2;
	text-wrap: balance;
}

/* Foto ritagliata ad altezza fissa; la sfumatura sopra la fa partire dal petrolio e finire nel blu
   della fascia successiva. Qualsiasi foto sostituita dal redattore prende lo stesso trattamento. */
.wrl-hero .wrl-hero__image {
	position: relative;
	height: clamp(380px, 52vw, 760px);
	margin-top: 56px;
	margin-bottom: 0;
	overflow: hidden;
	/* Fondo petrolio sopra e blu sotto, come le sezioni vicine: se il riquadro cade su mezzo pixel il
	   bordo non mostra una linea di colore diverso. */
	background: linear-gradient(var(--wp--preset--color--petrolio) 0 50%, var(--wp--preset--color--blu) 50% 100%);
	line-height: 0;
}

.wrl-hero .wrl-hero__image img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 62%;
}

.wrl-hero .wrl-hero__image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, #172e34 0%, rgba(23, 46, 52, 0.75) 14%, rgba(23, 46, 52, 0.25) 38%, rgba(23, 46, 52, 0) 55%, rgba(74, 122, 158, 0) 72%, rgba(74, 122, 158, 0.55) 88%, #4a7a9e 100%);
	pointer-events: none;
}

/* Telefono: foto più vicina al sottotitolo e più bassa, e meno spazio sopra l'introduzione, così il
   primo paragrafo entra nella prima schermata. */
@media (max-width: 860px) {
	.wrl-hero .wrl-hero__image {
		height: 240px;
		margin-top: 20px;
	}

	/* .alignfull: la regola base dell'introduzione viene più sotto nel file. */
	.alignfull.wrl-intro {
		padding-top: 32px;
	}
}

/* ---- Introduzione ---- */

.wrl-intro {
	padding-top: 56px;
	padding-bottom: clamp(64px, 7vw, 90px);
}

.wrl-intro p {
	color: #eef3f6;
	line-height: 1.65;
}

.wrl-intro strong {
	color: var(--wp--preset--color--bianco);
	font-weight: 700;
}

.wrl-intro .wrl-intro__cta {
	gap: 20px 32px;
	margin-top: 34px;
	padding-top: 26px;
	border-top: 1px solid rgba(255, 255, 255, 0.35);
}

.wrl-intro .wrl-intro__claim {
	flex: 1 1 320px;
	margin: 0;
	color: var(--wp--preset--color--bianco);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.45;
	text-wrap: pretty;
}

/* ---- Rischi ---- */

.wrl-rischi {
	padding-top: clamp(64px, 7vw, 96px);
	padding-bottom: clamp(64px, 7vw, 90px);
}

.wrl-rischi .wrl-rischi__grid {
	gap: 64px;
	margin: 0;
}

.wrl-rischi h2 {
	margin: 0;
	color: var(--wp--preset--color--petrolio);
	font-size: clamp(26px, 2.6vw + 0.6rem, 36px);
	line-height: 1.15;
}

.wrl-rischi .wrl-rischi__text {
	max-width: 620px;
	margin-top: 22px;
	color: #2e474d;
	line-height: 1.7;
}

.wrl-rischi .wrl-rischi__text + .wrl-rischi__text {
	margin-top: 16px;
}

.wrl-rischi .is-style-wrl-lista {
	margin-top: 38px;
}

/* Numeri chiave a lato, in griglia 2 × 2, allineati sotto il titolo. */
.wrl-rischi .wrl-rischi__aside {
	padding-top: 62px;
}

.wrl-rischi .wrl-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 0;
}

.wrl-rischi .wrl-stats > * {
	margin: 0;
}

.wrl-rischi .is-style-wrl-stat {
	min-height: 180px;
	padding: 26px 24px 28px;
}

.wrl-rischi .is-style-wrl-stat > :first-child {
	font-size: 44px;
	white-space: nowrap;
}

@media (max-width: 860px) {
	.wrl-rischi .wrl-rischi__grid {
		gap: 32px;
	}

	.wrl-rischi .wrl-rischi__aside {
		padding-top: 0;
	}

	.wrl-rischi .wrl-stats {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.wp-block-group.is-style-wrl-stat {
		min-height: 0;
	}
}

/* ==========================================================================
   Blocco Icona e stili aggiunti per le sezioni successive
   ========================================================================== */

/* ---- Icona (wrl/icona): prende il colore del testo intorno ---- */

.wrl-icon {
	display: block;
	line-height: 0;
	color: inherit;
}

.wrl-icon svg {
	display: block;
}

/* ---- Paragrafo › "Occhiello" (is-style-wrl-occhiello) ---- */

p.is-style-wrl-occhiello {
	margin: 0;
	color: var(--wp--preset--color--blu);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.3;
	text-transform: uppercase;
}

/* ---- Gruppo › "Card con bordo e icona" (is-style-wrl-settore) ---- */

.wp-block-group.is-style-wrl-settore {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 22px;
	min-height: 150px;
	padding: 22px 20px 24px;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 14px;
	color: var(--wp--preset--color--bianco);
	transition: background var(--wp--custom--transition), border-color var(--wp--custom--transition);
}

.wp-block-group.is-style-wrl-settore:hover {
	border-color: rgba(255, 255, 255, 0.65);
	background: rgba(255, 255, 255, 0.07);
}

.wp-block-group.is-style-wrl-settore > * {
	margin: 0;
}

.wp-block-group.is-style-wrl-settore > p {
	font-size: clamp(16px, 1.4vw, 19px);
	font-weight: 400;
	line-height: 1.2;
}

/* ---- Gruppo › "Card passaggio" (is-style-wrl-step) ---- */

.wp-block-group.is-style-wrl-step {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 26px 28px 30px;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 14px;
	background: var(--wp--preset--color--blu-acciaio);
	color: var(--wp--preset--color--bianco);
}

.wp-block-group.is-style-wrl-step > * {
	margin: 0;
}

.is-style-wrl-step .wrl-step__testa {
	gap: 16px;
}

.is-style-wrl-step .is-style-wrl-occhiello {
	color: #cfe0ea;
}

.is-style-wrl-step h3 {
	color: var(--wp--preset--color--bianco);
	font-size: 15.5px;
	letter-spacing: 0;
	line-height: 1.3;
}

.is-style-wrl-step h3 + p {
	margin-top: -10px;
}

.is-style-wrl-step p:not(.is-style-wrl-occhiello) {
	color: var(--wp--preset--color--nebbia);
	font-size: 14.5px;
	line-height: 1.5;
}

/* ---- Gruppo › "Riga con cifra" (is-style-wrl-cifra) ---- */

.wp-block-group.is-style-wrl-cifra {
	display: grid;
	grid-template-columns: 190px minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	padding: 26px 0;
	border-top: 1px solid rgba(255, 255, 255, 0.45);
}

.wp-block-group.is-style-wrl-cifra > * {
	margin: 0;
}

.wp-block-group.is-style-wrl-cifra > :first-child {
	color: var(--wp--preset--color--bianco);
	font-size: var(--wp--preset--font-size--cifra);
	font-weight: 300;
	letter-spacing: -0.02em;
	line-height: 1;
	text-align: right;
}

.wp-block-group.is-style-wrl-cifra > :last-child:not(:first-child) {
	color: #eef4f7;
	font-size: 15.5px;
	line-height: 1.4;
}

/* ---- Gruppo › "Griglia di loghi" (is-style-wrl-loghi) ---- */

.wp-block-group.is-style-wrl-loghi {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 24px;
}

.wp-block-group.is-style-wrl-loghi.wrl-loghi--grandi {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 40px;
	max-width: 820px;
	margin-right: auto;
	margin-left: auto;
}

.wp-block-group.is-style-wrl-loghi > * {
	margin: 0;
}

.wp-block-group.is-style-wrl-loghi .wp-block-image {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 74px;
	padding: 8px;
}

.wp-block-group.is-style-wrl-loghi .wp-block-image img {
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 100%;
	object-fit: contain;
}

/* ---- Lista › "Numeri nei cerchi" (is-style-wrl-numeri) ---- */

.wp-block-list.is-style-wrl-numeri {
	display: flex;
	flex-direction: column;
	gap: 24px;
	padding: 0;
	list-style: none;
	counter-reset: wrl-numero;
}

.wp-block-list.is-style-wrl-numeri > li {
	display: grid;
	grid-template-columns: 36px minmax(0, 1fr);
	gap: 18px;
	align-items: start;
	margin: 0;
	padding-top: 6px;
	color: #243d43;
	line-height: 1.55;
	counter-increment: wrl-numero;
}

.wp-block-list.is-style-wrl-numeri > li::before {
	content: counter(wrl-numero);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin-top: -6px;
	border: 1.5px solid var(--wp--preset--color--blu);
	border-radius: 50%;
	color: var(--wp--preset--color--blu-scuro);
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
}

/* ---- Accordion › "Pillole" (is-style-wrl-pillola) ---- */

.wp-block-accordion.is-style-wrl-pillola {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	align-items: start;
}

.is-style-wrl-pillola > .wp-block-accordion-item {
	margin: 0;
	overflow: hidden;
	border: 2px solid rgba(255, 255, 255, 0.55);
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--blu);
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.25);
	transition: border-radius 0.25s ease, background var(--wp--custom--transition), border-color var(--wp--custom--transition);
}

.is-style-wrl-pillola > .wp-block-accordion-item.is-open {
	border-color: var(--wp--preset--color--bianco);
	border-radius: 18px;
	background: #5a8db4;
}

.is-style-wrl-pillola .wp-block-accordion-heading {
	margin: 0;
	color: var(--wp--preset--color--bianco);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.25;
}

.is-style-wrl-pillola .wp-block-accordion-heading__toggle {
	justify-content: space-between;
	gap: 12px;
	padding: 16px 16px 16px 22px;
	transition: background var(--wp--custom--transition);
}

.is-style-wrl-pillola .wp-block-accordion-heading__toggle:hover {
	background: rgba(255, 255, 255, 0.1);
}

.is-style-wrl-pillola .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.is-style-wrl-pillola .wp-block-accordion-heading__toggle-icon {
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	font-size: 0;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23172e34' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") center / 16px no-repeat;
}

.is-style-wrl-pillola .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(180deg);
}

.is-style-wrl-pillola .wp-block-accordion-panel {
	margin-top: 0;
	padding: 0 22px 22px;
	color: var(--wp--preset--color--bianco);
	font-size: 14.5px;
	line-height: 1.5;
}

.is-style-wrl-pillola .wp-block-accordion-panel > * {
	margin: 0;
}

/* ---- Accordion › "Schede" (is-style-wrl-card) ---- */

.wp-block-accordion.is-style-wrl-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.is-style-wrl-card > .wp-block-accordion-item {
	margin: 0;
	border-radius: 12px;
	background: #f7f6f4;
	box-shadow: 0 1px 3px rgba(23, 46, 52, 0.08);
	transition: background var(--wp--custom--transition);
}

.is-style-wrl-card > .wp-block-accordion-item.is-open {
	background: #faf9f7;
}

.is-style-wrl-card .wp-block-accordion-heading {
	margin: 0;
	color: var(--wp--preset--color--petrolio);
	font-size: var(--wp--preset--font-size--grande);
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.15;
}

.is-style-wrl-card .wp-block-accordion-heading__toggle {
	justify-content: space-between;
	gap: 20px;
	padding: 24px 28px;
}

.is-style-wrl-card .wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
	text-decoration: none;
}

.is-style-wrl-card .wp-block-accordion-heading__toggle-icon {
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	font-size: 0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23172e34' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.is-style-wrl-card .wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon {
	transform: rotate(90deg);
}

.is-style-wrl-card .wp-block-accordion-panel {
	margin-top: 0;
	padding: 0 28px 26px;
}

.is-style-wrl-card .wp-block-accordion-panel ul {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.is-style-wrl-card .wp-block-accordion-panel li {
	display: grid;
	grid-template-columns: 14px minmax(0, 1fr);
	gap: 8px;
	margin: 0;
	color: #2b464c;
	font-size: 14.5px;
	line-height: 1.45;
}

.is-style-wrl-card .wp-block-accordion-panel li::before {
	content: "–";
	color: var(--wp--preset--color--blu);
}

@media (prefers-reduced-motion: no-preference) {
	:is(.is-style-wrl-pillola, .is-style-wrl-card) .wp-block-accordion-item.is-open .wp-block-accordion-panel {
		animation: wrl-panel 0.35s ease both;
	}
}

/* ---- Settori ---- */

/* Onda in cima alla sezione, disegnata in CSS: due onde sfasate che scorrono a velocità diverse
   (la chiara dietro, la scura davanti) sul fondo sabbia della sezione precedente. Decorativa. */
.wrl-settori {
	position: relative;
	padding-top: calc(72px + 30px);
	padding-bottom: clamp(90px, 11vw, 150px);
}

.wrl-settori::before,
.wrl-settori::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	pointer-events: none;
	background-repeat: repeat-x;
	background-position: 0 100%;
	background-size: 1440px 100%;
}

.wrl-settori::before {
	top: 0;
	height: 72px;
	background-color: var(--wp--preset--color--sabbia);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0,45 C240,15 480,15 720,45 S1200,75 1440,45 V90 H0 Z' fill='%234a7a9e' fill-opacity='.35'/%3E%3C/svg%3E");
}

.wrl-settori::after {
	top: calc(72px * 0.18);
	height: calc(72px * 0.82 + 1px);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 90' preserveAspectRatio='none'%3E%3Cpath d='M0,45 C240,15 480,15 720,45 S1200,75 1440,45 V90 H0 Z' fill='%23173036'/%3E%3C/svg%3E");
}

@media (prefers-reduced-motion: no-preference) {
	.wrl-settori::before {
		animation: wrl-onda 26s linear infinite reverse;
	}

	.wrl-settori::after {
		animation: wrl-onda 18s linear infinite;
	}
}

@keyframes wrl-onda {
	to {
		background-position: -1440px 100%;
	}
}

.wrl-settori h2 {
	margin: 0 auto 42px;
	color: var(--wp--preset--color--bianco);
	font-size: clamp(24px, 2.2vw + 0.5rem, 31px);
}

.wrl-settori .wrl-settori__griglia {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 20px;
}

.wrl-settori .wrl-settori__griglia > * {
	margin: 0;
}

.wrl-settori .wrl-settori__nota {
	margin: 46px auto 0;
	font-size: 17px;
	font-weight: 500;
}

/* Stessa misura del titolo della sezione ("Un bacino che alimenta…"). */
.wrl-settori .wrl-settori__sottotitolo {
	margin: 48px auto 26px;
	color: var(--wp--preset--color--bianco);
	font-size: clamp(24px, 2.2vw + 0.5rem, 31px);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.25;
}

.wrl-settori .wrl-settori__chiusura {
	max-width: 760px;
	margin: clamp(64px, 8vw, 96px) auto 0;
	color: var(--wp--preset--color--bianco);
	font-size: clamp(20px, 2vw + 0.5rem, 28px);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.25;
	text-wrap: balance;
}

.wrl-settori .wrl-settori__chiusura::before {
	content: "";
	display: block;
	width: 48px;
	height: 3px;
	margin: 0 auto 18px;
	border-radius: 2px;
	background: #7fa6c2;
}

/* ---- Obiettivi ---- */

.wrl-obiettivi {
	position: relative;
	z-index: 4;
	padding-top: clamp(64px, 7vw, 96px);
	padding-bottom: 0;
}

.wrl-obiettivi .wrl-obiettivi__grid {
	gap: 48px;
	margin: 0;
}

/* Il martin pescatore scende sopra la sezione successiva e arriva al bordo sinistro dello schermo. */
.wrl-obiettivi .wrl-obiettivi__uccello {
	position: relative;
	z-index: 5;
	align-self: flex-end;
	margin-bottom: -230px;
	margin-left: calc(-1 * (max(0px, (100vw - 1280px) / 2) + var(--wp--style--root--padding-left)));
	pointer-events: none;
}

.wrl-obiettivi .wrl-obiettivi__uccello .wp-block-image {
	max-width: 520px;
	margin: 0;
}

.wrl-obiettivi h2 {
	margin: 0;
	color: var(--wp--preset--color--blu-scuro);
}

.wrl-obiettivi .wrl-obiettivi__intro {
	margin-top: 16px;
	color: var(--wp--preset--color--blu-scuro);
	font-size: 16.5px;
	font-weight: 600;
	line-height: 1.5;
}

/* Obiettivo principale come titolo, con i punti che lo realizzano elencati sotto. */
.wrl-obiettivi .wrl-obiettivi__titolo {
	margin-top: 30px;
	color: var(--wp--preset--color--blu-scuro);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.35;
	text-wrap: balance;
}

.wrl-obiettivi .wrl-obiettivi__lista {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.wrl-obiettivi .wrl-obiettivi__lista > li {
	position: relative;
	margin: 0;
	padding-left: 24px;
	color: #243d43;
	line-height: 1.55;
}

.wrl-obiettivi .wrl-obiettivi__lista > li::before {
	content: "";
	position: absolute;
	top: 0.6em;
	left: 4px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--wp--preset--color--blu);
}

.wrl-obiettivi .wrl-obiettivi__nota {
	margin-top: 30px;
	color: #4f6b72;
	font-size: 13.5px;
	line-height: 1.5;
}

/* ---- Modello ---- */

.wrl-modello {
	padding-top: clamp(48px, 5vw, 70px);
	padding-bottom: clamp(64px, 7vw, 96px);
}

.wrl-modello .wrl-modello__card {
	position: relative;
	z-index: 3;
	padding: 64px 56px 52px;
	border-radius: 28px;
	background: var(--wp--preset--color--petrolio);
	box-shadow: 0 18px 40px rgba(23, 46, 52, 0.18);
	color: var(--wp--preset--color--bianco);
}

.wrl-modello .wrl-modello__card > h2 {
	margin: 0 0 44px;
	color: var(--wp--preset--color--bianco);
	font-size: clamp(24px, 2.2vw + 0.5rem, 31px);
	line-height: 1.25;
	text-wrap: balance;
}

.wrl-modello .wrl-modello__pilastri {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.wrl-modello .wrl-modello__pilastri > * {
	margin: 0;
}

.wrl-modello .wrl-modello__standard {
	margin-top: 28px;
	padding: 40px 44px 44px;
	border-radius: 20px;
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
}

.wrl-modello .wrl-modello__standard > h3 {
	max-width: 760px;
	margin: 0;
	color: var(--wp--preset--color--bianco);
	font-size: clamp(20px, 1.6vw + 0.5rem, 26px);
	text-wrap: balance;
}

.wrl-modello .wrl-frameworks {
	gap: 0;
	margin: 8px 0 0;
}

.wrl-modello .wrl-frameworks > .wp-block-column {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 24px 4px;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.wrl-modello .wrl-frameworks > .wp-block-column:first-child {
	padding-left: 0;
	border-left: 0;
}

.wrl-modello .wrl-frameworks > .wp-block-column > * {
	margin: 0;
}

.wrl-modello .wrl-frameworks .is-style-wrl-occhiello {
	color: var(--wp--preset--color--blu-chiaro);
}

.wrl-modello .wrl-frameworks h4 {
	color: var(--wp--preset--color--bianco);
	font-size: 18px;
	line-height: 1.25;
	text-wrap: balance;
}

.wrl-modello .wrl-frameworks p:not(.is-style-wrl-occhiello) {
	color: var(--wp--preset--color--nebbia);
	font-size: 14.5px;
	line-height: 1.5;
}

.wrl-modello .wrl-frameworks .wrl-frameworks__logo {
	width: 100%;
	max-width: 180px;
	height: 78px;
	margin-top: auto;
	padding-top: 18px;
}

.wrl-modello .wrl-frameworks .wrl-frameworks__logo img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left center;
}

/* ---- Investimento ---- */

.wrl-investire {
	padding-top: clamp(64px, 7vw, 96px);
	padding-bottom: clamp(64px, 7vw, 96px);
}

.wrl-investire .wrl-investire__grid {
	gap: 56px;
	margin: 0;
}

.wrl-investire h2 {
	margin: 0;
	color: var(--wp--preset--color--bianco);
	text-wrap: balance;
}

.wrl-investire .wrl-cifre {
	margin-top: 40px;
}

.wrl-investire .wrl-cifre > * {
	margin: 0;
}

.wrl-investire .wrl-investire__media {
	display: flex;
}

.wrl-investire .wrl-investire__media .wp-block-image {
	flex: 1;
	min-height: 600px;
	margin: 0;
}

.wrl-investire .wrl-investire__media img {
	width: 100%;
	height: 100%;
	border-radius: var(--wp--custom--radius--card);
	object-fit: cover;
	object-position: 52% center;
}

/* ---- Aree di intervento ---- */

.wrl-aree .wrl-aree__grid {
	gap: 0;
	margin: 0;
	align-items: stretch;
}

.wrl-aree .wrl-aree__testo {
	padding: 96px 56px 96px max(var(--wp--style--root--padding-left), calc((100vw - 1280px) / 2 + var(--wp--style--root--padding-left)));
}

.wrl-aree h2 {
	margin: 0;
	color: var(--wp--preset--color--blu-scuro);
	text-wrap: balance;
}

.wrl-aree .wrl-aree__intro {
	max-width: 520px;
	margin-top: 18px;
	color: #2e474d;
	font-size: 16px;
	line-height: 1.6;
	text-wrap: pretty;
}

.wrl-aree .wrl-aree__intro + .wrl-aree__intro {
	margin-top: 14px;
}

.wrl-aree .wrl-aree__intro strong {
	color: var(--wp--preset--color--blu-scuro);
	font-weight: 700;
}

.wrl-aree .wrl-aree__ungc {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14px;
	margin-top: 36px;
	padding-top: 28px;
	border-top: 1px solid rgba(23, 46, 52, 0.15);
}

.wrl-aree .wrl-aree__ungc > * {
	margin: 0;
}

.wrl-aree .wrl-aree__ungc .wp-block-image {
	width: 220px;
	max-width: 100%;
}

.wrl-aree .wrl-aree__ungc p {
	max-width: 420px;
	color: var(--wp--preset--color--ardesia);
	font-size: 14.5px;
	line-height: 1.45;
}

.wrl-aree .wrl-aree__mappa {
	position: relative;
	min-height: 680px;
	background: #dedcd6;
}

.wrl-aree .wrl-aree__mappa .wp-block-image {
	position: absolute;
	inset: 0;
	margin: 0;
}

.wrl-aree .wrl-aree__mappa img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* ---- Partner ---- */

.wrl-partner {
	padding-top: clamp(56px, 6vw, 80px);
	padding-bottom: clamp(64px, 7vw, 90px);
}

.wrl-partner > .wrl-partner__gruppo {
	margin-top: 0;
	margin-bottom: 0;
}

.wrl-partner > .wrl-partner__gruppo + .wrl-partner__gruppo {
	margin-top: 56px;
}

.wrl-partner .wrl-partner__titolo {
	margin: 0 0 28px;
	color: var(--wp--preset--color--bianco);
	font-size: 15px;
	font-weight: 700;
}

/* ---- Perché aderire ---- */

.wrl-aderire {
	padding-top: clamp(64px, 7vw, 96px);
	padding-bottom: clamp(64px, 7vw, 100px);
}

.wrl-aderire .wrl-aderire__grid {
	gap: 56px;
	margin: 0;
}

/* Colonna dello schema: resta in vista mentre si scorrono le schede accanto. */
.wrl-aderire .wrl-aderire__grid {
	align-items: flex-start;
}

.wrl-aderire .wrl-aderire__media {
	position: sticky;
	top: 110px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 22px;
}

.wrl-aderire .wrl-aderire__media > * {
	margin: 0;
}

.wrl-aderire .wrl-aderire__sinergie {
	max-width: 460px;
	color: var(--wp--preset--color--blu-scuro);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.5;
	text-wrap: balance;
}

.wrl-aderire .wrl-aderire__aiuto {
	margin-top: -10px;
	color: #5a6b70;
	font-size: 13px;
}

@media (max-width: 781px) {
	.wrl-aderire .wrl-aderire__media {
		position: static;
	}
}

/* ---- Rete degli attori (wrl/rete-attori) ---- */

.wrl-rete {
	width: 100%;
	max-width: 540px;
}

.wrl-rete__schema {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
	container-type: inline-size;
}

.wrl-rete__linee,
.wrl-rete__anello {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	overflow: visible;
	pointer-events: none;
}

.wrl-rete__linee line {
	transition: stroke 0.2s ease, stroke-width 0.2s ease, opacity 0.2s ease;
}

.wrl-rete__maglia {
	stroke: #cdd7d9;
	stroke-width: 0.3;
}

.wrl-rete__raggio {
	stroke: #9fb3b8;
	stroke-width: 0.4;
	stroke-dasharray: 1.2 1.2;
}

.wrl-rete.has-scelta .wrl-rete__maglia:not(.is-attiva) {
	opacity: 0.4;
}

.wrl-rete__maglia.is-attiva {
	stroke: var(--wp--preset--color--blu);
	stroke-width: 0.6;
	stroke-dasharray: 1.2 1.2;
}

.wrl-rete__raggio.is-attiva {
	stroke: var(--wp--preset--color--petrolio);
	stroke-width: 0.7;
}

/* L'anello occupa solo il riquadro centrale (32–68 su 100): ruotando non esce dalla colonna. */
.wrl-rete__anello {
	inset: 32%;
	z-index: 2;
	width: 36%;
	height: 36%;
	overflow: visible;
}

.wrl-rete__anello circle {
	fill: #fff;
	fill-opacity: 0.92;
}

.wrl-rete__anello text {
	fill: var(--wp--preset--color--blu);
	font-family: var(--wp--preset--font-family--archivo);
	font-size: 2.3px;
	font-weight: 700;
	letter-spacing: 0.35px;
	dominant-baseline: middle;
}

.wrl-rete__centro {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24%;
	aspect-ratio: 1;
	padding: 3%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
	font-size: clamp(9px, 2.4cqw, 13px);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
}

.wrl-rete__nodo {
	position: absolute;
	z-index: 4;
	width: 27%;
	padding: clamp(8px, 2cqw, 12px) 8px;
	transform: translate(-50%, -50%);
	border: 2px solid var(--wp--preset--color--blu);
	border-radius: 12px;
	background: var(--wp--preset--color--bianco);
	box-shadow: 0 6px 16px rgba(23, 46, 52, 0.1);
	color: var(--wp--preset--color--petrolio);
	font-family: inherit;
	font-size: clamp(10px, 2.4cqw, 14px);
	font-weight: 700;
	line-height: 1.2;
	text-align: center;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
}

.wrl-rete__nodo:hover,
.wrl-rete__nodo:focus-visible {
	box-shadow: 0 0 0 4px rgba(74, 122, 158, 0.2), 0 10px 22px rgba(23, 46, 52, 0.14);
}

.wrl-rete__nodo:focus-visible {
	outline: 2px solid var(--wp--preset--color--petrolio);
	outline-offset: 2px;
}

.wrl-rete__nodo.is-scelto {
	background: var(--wp--preset--color--blu);
	box-shadow: 0 0 0 6px rgba(74, 122, 158, 0.2), 0 12px 24px rgba(23, 46, 52, 0.16);
	color: var(--wp--preset--color--bianco);
}

/* Nell'editor lo schema è un'anteprima: i nodi non sono cliccabili. */
.wrl-rete-editor .wrl-rete__nodo {
	pointer-events: none;
}

@media (prefers-reduced-motion: no-preference) {
	.wrl-rete__raggio,
	.wrl-rete__maglia.is-attiva {
		animation: wrl-tratteggio 1.4s linear infinite;
	}

	.wrl-rete__anello {
		animation: wrl-giro 40s linear infinite;
	}

	.wrl-rete__centro {
		animation: wrl-alone 2.4s ease-out infinite;
	}
}

@keyframes wrl-tratteggio {
	to {
		stroke-dashoffset: -2.4;
	}
}

@keyframes wrl-giro {
	to {
		transform: rotate(360deg);
	}
}

@keyframes wrl-alone {
	0%,
	100% {
		box-shadow: 0 0 0 0 rgba(74, 122, 158, 0.45);
	}

	50% {
		box-shadow: 0 0 0 12px rgba(74, 122, 158, 0);
	}
}

.wrl-aderire h2 {
	margin: 0;
	color: var(--wp--preset--color--petrolio);
	text-wrap: balance;
}

.wrl-aderire .wrl-aderire__intro {
	margin-top: 16px;
	color: var(--wp--preset--color--ardesia);
	font-size: 15.5px;
	line-height: 1.5;
}

.wrl-aderire .is-style-wrl-card {
	margin-top: 34px;
}

/* ---- Invito a contattarci (Copertina) ---- */

/* Il fondo scende di 220 px sotto il pulsante: il riquadro del modulo vi sale sopra per 150 px. */
.wp-block-cover.wrl-contatti {
	align-items: flex-start;
	min-height: 0;
	padding-top: clamp(64px, 7vw, 96px);
	padding-bottom: 220px;
	background-color: #1e353b;
}

.wrl-contatti h2 {
	margin: 0;
	color: var(--wp--preset--color--bianco);
	font-size: var(--wp--preset--font-size--titolo-grande);
	text-wrap: balance;
}

.wrl-contatti .wrl-contatti__testo {
	max-width: 840px;
	margin: 24px auto 0;
	color: #e8eef0;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.5;
}

.wrl-contatti .wp-block-buttons {
	margin-top: 34px;
}

/* ---- Responsive delle nuove sezioni ---- */

@media (max-width: 1080px) {
	.wrl-settori .wrl-settori__griglia {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wp-block-accordion.is-style-wrl-pillola {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.wrl-settori .wrl-settori__griglia {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 14px;
	}

	.wp-block-accordion.is-style-wrl-pillola {
		grid-template-columns: minmax(0, 1fr);
	}

	.wrl-modello .wrl-modello__card {
		padding: 36px 22px 32px;
		border-radius: 18px;
	}

	.wrl-modello .wrl-modello__pilastri {
		grid-template-columns: minmax(0, 1fr);
	}

	.wrl-modello .wrl-modello__standard {
		padding: 28px 22px;
	}

	.wp-block-group.is-style-wrl-cifra {
		grid-template-columns: 110px minmax(0, 1fr);
		gap: 16px;
	}

	.wp-block-group.is-style-wrl-cifra > :first-child {
		font-size: 38px;
	}

	.is-style-wrl-card .wp-block-accordion-heading {
		font-size: 19px;
	}

	.wp-block-group.is-style-wrl-loghi {
		grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
		gap: 16px;
	}

	.wp-block-group.is-style-wrl-loghi.wrl-loghi--grandi {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px;
	}
}

@media (max-width: 781px) {
	.wrl-obiettivi .wrl-obiettivi__uccello {
		align-self: auto;
		max-width: 75%;
		margin-bottom: 0;
	}

	.wrl-modello .wrl-frameworks > .wp-block-column,
	.wrl-modello .wrl-frameworks > .wp-block-column:first-child {
		padding: 24px 0;
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		border-left: 0;
	}

	.wrl-investire .wrl-investire__grid,
	.wrl-aderire .wrl-aderire__grid {
		gap: 32px;
	}

	.wrl-investire .wrl-investire__media .wp-block-image,
	.wrl-aderire .wrl-aderire__media .wp-block-image {
		min-height: 360px;
	}

	.wrl-aree .wrl-aree__testo {
		padding: 64px var(--wp--style--root--padding-right) 40px var(--wp--style--root--padding-left);
	}

	.wrl-aree .wrl-aree__mappa {
		min-height: 460px;
	}
}

/* ==========================================================================
   Fase 3 — Frammentazione, Struttura del Lab, mappa e form
   ========================================================================== */

/* ---- Frammentazione ---- */

/* La card sale di 80px sopra la fascia scura dei Settori, come nel design. */
.alignfull.wrl-frammentazione,
.wrl-page--landing .wrl-content > .alignfull.wrl-frammentazione {
	position: relative;
	z-index: 2;
	margin-top: -80px;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
	background: linear-gradient(transparent 0 80px, var(--wp--preset--color--sabbia) 80px);
}

.wrl-frammentazione .wrl-fram__card {
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--bianco);
	box-shadow: var(--wp--preset--shadow--card);
}

.wrl-frammentazione .wrl-fram__card > * {
	margin: 0;
}

.wp-block-cover.wrl-fram__foto {
	min-height: 0;
	padding: 0;
	background-color: #2b4a52;
}

.wrl-fram__foto .wp-block-cover__inner-container {
	width: 100%;
}

.wrl-fram__griglia {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px 40px;
	align-items: start;
	padding: 48px 56px 56px;
}

.wrl-fram__griglia > * {
	margin: 0;
}

/* Card di un'iniziativa isolata: icona + chi/cosa, con uno "stelo" che scende verso il bacino. */
.wrl-fram__iniziativa {
	--wrl-stelo: 50px;
	--wrl-scarto: 0px;
	position: relative;
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	margin-top: var(--wrl-scarto) !important;
	margin-bottom: calc(var(--wrl-stelo) + 12px) !important;
	padding: 18px 20px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 8px 24px rgba(23, 46, 52, 0.18);
	color: var(--wp--preset--color--petrolio);
}

.wrl-fram__iniziativa > *,
.wrl-fram__iniziativa > .wp-block-group > * {
	margin: 0;
}

.wrl-fram__iniziativa .wrl-icon {
	color: var(--wp--preset--color--blu);
}

.wrl-fram__iniziativa .is-style-wrl-occhiello {
	letter-spacing: 0.08em;
	font-weight: 700;
}

.wrl-fram__iniziativa p:not(.is-style-wrl-occhiello) {
	margin-top: 4px;
	font-size: 15px;
	font-weight: 600;
	line-height: 1.35;
}

.wrl-fram__iniziativa::before,
.wrl-fram__iniziativa::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 100%;
}

.wrl-fram__iniziativa::before {
	width: 2px;
	height: var(--wrl-stelo);
	margin-left: -1px;
	background: rgba(255, 255, 255, 0.9);
}

.wrl-fram__iniziativa::after {
	width: 12px;
	height: 12px;
	margin: var(--wrl-stelo) 0 0 -6px;
	border: 2px solid var(--wp--preset--color--blu);
	border-radius: 50%;
	background: var(--wp--preset--color--bianco);
}

/* Sfalsamenti e lunghezze degli steli del design, ripetuti ogni 6 card. */
.wrl-fram__iniziativa:nth-child(6n + 1) { --wrl-scarto: 0px;  --wrl-stelo: 70px; }
.wrl-fram__iniziativa:nth-child(6n + 2) { --wrl-scarto: 0px;  --wrl-stelo: 40px; }
.wrl-fram__iniziativa:nth-child(6n + 3) { --wrl-scarto: 30px; --wrl-stelo: 50px; }
.wrl-fram__iniziativa:nth-child(6n + 4) { --wrl-scarto: 10px; --wrl-stelo: 60px; }
.wrl-fram__iniziativa:nth-child(6n + 5) { --wrl-scarto: 60px; --wrl-stelo: 90px; }
.wrl-fram__iniziativa:nth-child(6n + 6) { --wrl-scarto: 30px; --wrl-stelo: 40px; }

.wrl-frammentazione .wrl-fram__fascia {
	padding: 22px 32px;
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
	font-size: clamp(20px, 2vw + 0.5rem, 28px);
	font-weight: 700;
	letter-spacing: -0.01em;
	line-height: 1.2;
	text-wrap: balance;
}

.wrl-fram__rischi {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 24px;
	padding: 34px 32px 38px;
}

.wrl-fram__rischi > * {
	margin: 0;
}

.wrl-fram__rischio {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	color: var(--wp--preset--color--petrolio);
}

.wrl-fram__rischio > * {
	margin: 0;
}

.wrl-fram__rischio p {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
}

/* Telefono: le iniziative una sotto l'altra sopra la foto, senza sfalsamenti, steli e pallini;
   i rischi condivisi su due colonne (l'ultimo, se dispari, centrato su tutta la riga). */
@media (max-width: 860px) {
	.wrl-fram__griglia {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		padding: 24px 18px 28px;
	}

	.wrl-fram__iniziativa {
		grid-template-columns: 28px minmax(0, 1fr);
		gap: 12px;
		align-items: center;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding: 14px 16px;
	}

	.wrl-fram__iniziativa::before,
	.wrl-fram__iniziativa::after {
		display: none;
	}

	.wrl-fram__iniziativa .wrl-icon svg {
		width: 28px;
		height: 28px;
	}

	.wrl-frammentazione .wrl-fram__fascia {
		padding: 20px;
	}

	.wrl-fram__rischi {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 22px 16px;
		padding: 28px 20px 32px;
	}

	.wrl-fram__rischio:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}
}

/* Con la Frammentazione subito dopo, i Settori lasciano spazio alla card che sale. */
.wrl-settori:has(+ .wrl-frammentazione) {
	padding-bottom: clamp(150px, 16vw, 230px);
}

/* ---- Struttura del Lab ---- */

.wrl-struttura {
	padding-top: clamp(64px, 7vw, 96px);
	padding-bottom: clamp(72px, 8vw, 110px);
}

.wrl-struttura > h2 {
	margin: 0 0 42px;
	color: var(--wp--preset--color--petrolio);
}

.wrl-struttura .wrl-struttura__blocco > * {
	margin: 0;
}

.wrl-struttura .is-style-wrl-occhiello {
	font-size: 13px;
	font-weight: 700;
}

.wrl-struttura .wrl-struttura__lead {
	max-width: 720px;
	margin-top: 10px;
	color: var(--wp--preset--color--petrolio);
	font-size: 20px;
	font-weight: 600;
	line-height: 1.35;
	text-wrap: pretty;
}

/* Divisore linea · punto · linea */
.wrl-struttura .wrl-struttura__divisore {
	height: 10px;
	margin: 60px 0;
	border: 0;
	background:
		radial-gradient(circle, var(--wp--preset--color--blu) 0 5px, transparent 5.5px) center / 10px 10px no-repeat,
		linear-gradient(#e3e2dc, #e3e2dc) left center / calc(50% - 23px) 2px no-repeat,
		linear-gradient(#e3e2dc, #e3e2dc) right center / calc(50% - 23px) 2px no-repeat;
	opacity: 1;
}

/* Governance: quattro passaggi numerati, uniti da linee tratteggiate su cui scorre un punto; un'onda di
   evidenza percorre i riquadri in sequenza. Numeri e collegamenti li disegna il CSS. */
.wrl-gov {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 62px;
	align-items: start;
	margin-top: 28px !important;
	counter-reset: wrl-gov;
}

.wrl-gov > * {
	margin: 0;
}

.wrl-gov__passo {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
}

.wrl-gov__passo > * {
	margin: 0;
}

.wrl-gov__box {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 14px;
	min-height: 132px;
	padding: 16px 16px 18px;
	border-radius: 12px;
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
	font-size: clamp(13px, 1.15vw, 16px);
	font-weight: 700;
	letter-spacing: 0.02em;
	line-height: 1.2;
	overflow-wrap: anywhere;
	transition: filter 0.2s ease;
}

.wrl-gov__box:hover {
	filter: brightness(1.12);
}

.wrl-gov__box::before {
	counter-increment: wrl-gov;
	content: counter(wrl-gov, decimal-leading-zero);
	color: #8fb5cc;
	font-size: 12px;
	letter-spacing: 0.1em;
}

/* L'ultimo passaggio (dove la governance si concretizza) è blu. */
.wrl-gov__passo:last-child .wrl-gov__box {
	background: var(--wp--preset--color--blu);
}

.wrl-gov__passo:last-child .wrl-gov__box::before {
	color: #dcebee;
}

.wrl-gov__ruolo {
	color: var(--wp--preset--color--blu-scuro);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
	text-wrap: pretty;
}

/* Collegamento verso il passaggio successivo: linea tratteggiata con punta, al centro del riquadro. */
.wrl-gov__passo:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 59px;
	left: calc(100% + 3px);
	width: 56px;
	height: 14px;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 14' fill='none' stroke='%234a7a9e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 2 8 7 2 12'/%3E%3C/svg%3E") right center / 10px 14px no-repeat,
		repeating-linear-gradient(90deg, var(--wp--preset--color--blu) 0 6px, transparent 6px 12px) left center / calc(100% - 6px) 2px no-repeat;
}

/* Punto che viaggia sul collegamento. */
.wrl-gov__passo:not(:last-child)::before {
	content: "";
	position: absolute;
	z-index: 1;
	top: 61px;
	left: calc(100% + 3px);
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--blu);
	box-shadow: 0 0 0 4px rgba(74, 122, 158, 0.2);
	opacity: 0;
}

.wrl-gov__membri {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin-left: 16px !important;
	padding-left: 14px;
	border-left: 2px solid var(--wp--preset--color--blu);
}

.wrl-gov__membri > * {
	margin: 0;
}

.wrl-gov__membri-titolo {
	color: #5a6b70;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.wrl-gov__membro {
	padding: 9px 12px;
	border: 1.5px solid #c9d3d5;
	border-radius: 8px;
	background: var(--wp--preset--color--bianco);
	color: var(--wp--preset--color--petrolio);
	font-size: 13.5px;
	font-weight: 700;
	line-height: 1.25;
}

/* Modello finanziario: 6 fonti in cerchio confluiscono nel Lab, che finanzia 4 attività sul campo. */
.wrl-fin {
	display: grid;
	grid-template-columns: minmax(0, 520px) minmax(0, 1fr);
	align-items: center;
	margin-top: 8px !important;
	margin-bottom: 40px;
}

.wrl-fin > * {
	margin: 0;
}

.wrl-fin__cerchio {
	position: relative;
	width: 100%;
	aspect-ratio: 1;
}

/* Anello tratteggiato che ruota lentamente dietro le fonti. */
.wrl-fin__cerchio::before {
	content: "";
	position: absolute;
	inset: 14%;
	border: 2px dashed #c9d3d5;
	border-radius: 50%;
}

/* Frecce dalle fonti al Lab e linea verso le attività. */
.wrl-fin__cerchio::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cstyle%3Eline%7Banimation:d 1s linear infinite%7D.h%7Banimation-duration:.9s%7D@keyframes d%7Bto%7Bstroke-dashoffset:-2.4%7D%7D@media (prefers-reduced-motion:reduce)%7Bline%7Banimation:none%7D%7D%3C/style%3E%3Cdefs%3E%3Cmarker id='a' viewBox='0 0 10 10' refX='8' refY='5' markerWidth='5' markerHeight='5' orient='auto-start-reverse'%3E%3Cpath d='M1 1 L8 5 L1 9' fill='none' stroke='%234a7a9e' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/marker%3E%3C/defs%3E%3Cg stroke='%234a7a9e' stroke-width='.45' stroke-dasharray='1.2 1.2' marker-end='url(%23a)'%3E%3Cline x1='50' y1='14' x2='50' y2='31.5'/%3E%3Cline x1='81.18' y1='32' x2='66.02' y2='40.75'/%3E%3Cline x1='81.18' y1='68' x2='66.02' y2='59.25'/%3E%3Cline x1='50' y1='86' x2='50' y2='68.5'/%3E%3Cline x1='18.82' y1='68' x2='33.98' y2='59.25'/%3E%3Cline x1='18.82' y1='32' x2='33.98' y2='40.75'/%3E%3C/g%3E%3Cline class='h' x1='67' y1='50' x2='100' y2='50' stroke='%234a7a9e' stroke-width='.55' stroke-dasharray='1.6 1.6'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.wrl-fin__fonti {
	position: static;
}

.wrl-fin__fonti > p {
	position: absolute;
	z-index: 2;
	width: 26%;
	margin: 0;
	padding: clamp(7px, 0.9vw, 12px) 8px;
	transform: translate(-50%, -50%);
	border-radius: 10px;
	background: var(--wp--preset--color--sabbia);
	color: var(--wp--preset--color--petrolio);
	font-size: clamp(10px, 1vw, 14px);
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	transition: background 0.2s ease, box-shadow 0.2s ease;
}

.wrl-fin__fonti > p:hover {
	background: #e3ecef;
	box-shadow: 0 10px 22px rgba(23, 46, 52, 0.14);
}

/* Posizioni in senso orario dall'alto (cerchio di raggio 36 su 100). */
.wrl-fin__fonti > p:nth-child(1) { top: 14%; left: 50%; }
.wrl-fin__fonti > p:nth-child(2) { top: 32%; left: 81.18%; }
.wrl-fin__fonti > p:nth-child(3) { top: 68%; left: 81.18%; }
.wrl-fin__fonti > p:nth-child(4) { top: 86%; left: 50%; }
.wrl-fin__fonti > p:nth-child(5) { top: 68%; left: 18.82%; }
.wrl-fin__fonti > p:nth-child(6) { top: 32%; left: 18.82%; }

.wrl-fin__fonti a {
	color: var(--wp--preset--color--blu);
	text-decoration: underline;
}

.wrl-fin__fonti a:hover {
	color: var(--wp--preset--color--petrolio);
}

/* Punto con freccia che esce dal Lab verso le attività. */
.wrl-fin__fonti::after {
	content: "";
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 70%;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	border-radius: 50%;
	background: var(--wp--preset--color--blu) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='1.5' y1='6' x2='10' y2='6'/%3E%3Cpolyline points='6.5 2 10.5 6 6.5 10'/%3E%3C/svg%3E") center / 12px no-repeat;
	box-shadow: 0 0 0 5px rgba(74, 122, 158, 0.2);
}

.wrl-fin__hub {
	position: absolute;
	z-index: 3;
	top: 50%;
	left: 50%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 6px;
	width: 34%;
	aspect-ratio: 1;
	padding: 4%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
	text-align: center;
}

.wrl-fin__hub > * {
	margin: 0;
}

.wrl-fin__hub > :first-child {
	font-size: clamp(11px, 1.25vw, 17px);
	font-weight: 700;
	line-height: 1.2;
}

.wrl-fin__hub > :last-child:not(:first-child) {
	color: #b9d3df;
	font-size: clamp(9px, 0.85vw, 12px);
	font-weight: 500;
	line-height: 1.3;
}

.wrl-fin__didascalia {
	color: var(--wp--preset--color--blu-scuro);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.35;
}

.wrl-fin__cerchio > .wrl-fin__didascalia {
	position: absolute;
	top: calc(100% + 4px);
	right: 0;
	left: 0;
	margin: 0;
}

/* Attività: curve tratteggiate che si aprono dalla linea del Lab verso i quattro riquadri. */
.wrl-fin__uso {
	position: relative;
	display: grid;
	grid-template-columns: minmax(60px, 110px) minmax(0, 300px);
	align-items: stretch;
}

.wrl-fin__uso::before {
	content: "";
	grid-row: 1;
	grid-column: 1;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cstyle%3Epath%7Banimation:d .9s linear infinite%7D@keyframes d%7Bto%7Bstroke-dashoffset:-8%7D%7D@media (prefers-reduced-motion:reduce)%7Bpath%7Banimation:none%7D%7D%3C/style%3E%3Cg fill='none' stroke='%234a7a9e' stroke-width='1.6' stroke-dasharray='4 4' vector-effect='non-scaling-stroke'%3E%3Cpath d='M0 50 C60 50, 40 12.5, 100 12.5'/%3E%3Cpath d='M0 50 C60 50, 40 37.5, 100 37.5'/%3E%3Cpath d='M0 50 C60 50, 40 62.5, 100 62.5'/%3E%3Cpath d='M0 50 C60 50, 40 87.5, 100 87.5'/%3E%3C/g%3E%3C/svg%3E") center / 100% 100% no-repeat;
}

.wrl-fin__strumenti {
	grid-row: 1;
	grid-column: 2;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 !important;
}

.wrl-fin__strumenti > p {
	display: flex;
	align-items: center;
	min-height: 58px;
	margin: 0;
	padding: 10px 8px 10px 14px;
	border: 2px solid var(--wp--preset--color--blu);
	border-radius: 10px;
	background: var(--wp--preset--color--bianco);
	color: var(--wp--preset--color--petrolio);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.2;
	text-wrap: balance;
}

/* Didascalia fuori dal flusso, sotto l'elenco: così il centro delle diramazioni resta alla stessa
   altezza della linea che esce dal Lab (con la didascalia nel flusso salirebbe di metà della sua altezza). */
.wrl-fin__uso > .wrl-fin__didascalia {
	position: absolute;
	top: calc(100% + 12px);
	right: 0;
	left: 0;
	grid-row: 1;
	grid-column: 2;
	margin: 0 !important;
}

@media (prefers-reduced-motion: no-preference) {
	.wrl-gov__box {
		animation: wrl-passo 6.4s ease-in-out infinite;
	}

	.wrl-gov__passo:nth-child(2) .wrl-gov__box { animation-delay: 1.6s; }
	.wrl-gov__passo:nth-child(3) .wrl-gov__box { animation-delay: 3.2s; }
	.wrl-gov__passo:nth-child(4) .wrl-gov__box { animation-delay: 4.8s; }

	.wrl-gov__passo:not(:last-child)::after {
		animation: wrl-scorre 0.8s linear infinite;
	}

	.wrl-gov__passo:not(:last-child)::before {
		animation: wrl-viaggio 6.4s ease-in-out 0.88s infinite;
	}

	.wrl-gov__passo:nth-child(2)::before { animation-delay: 2.48s; }
	.wrl-gov__passo:nth-child(3)::before { animation-delay: 4.08s; }

	.wrl-gov__membro {
		animation: wrl-membro 6.4s ease-in-out 1.85s infinite;
	}

	.wrl-gov__membro:nth-child(3) { animation-delay: 2.03s; }
	.wrl-gov__membro:nth-child(4) { animation-delay: 2.21s; }

	.wrl-fin__cerchio::before {
		animation: wrl-giro 60s linear infinite;
	}

	.wrl-fin__fonti::after {
		animation: wrl-esce 1.8s ease-in infinite;
	}

	.wrl-fin__hub {
		animation: wrl-alone 2.4s ease-out infinite;
	}
}

@keyframes wrl-passo {
	0%,
	22%,
	100% {
		transform: translateY(0);
		box-shadow: 0 0 0 0 rgba(74, 122, 158, 0);
	}

	8% {
		transform: translateY(-6px);
		box-shadow: 0 0 0 6px rgba(74, 122, 158, 0.22), 0 14px 28px rgba(23, 46, 52, 0.16);
	}
}

@keyframes wrl-scorre {
	to {
		background-position: right center, 12px center;
	}
}

@keyframes wrl-viaggio {
	0% {
		transform: translateX(0);
		opacity: 0;
	}

	4% {
		opacity: 1;
	}

	20% {
		transform: translateX(46px);
		opacity: 1;
	}

	25%,
	100% {
		transform: translateX(46px);
		opacity: 0;
	}
}

@keyframes wrl-membro {
	0%,
	18%,
	100% {
		border-color: #c9d3d5;
		transform: none;
	}

	7% {
		border-color: var(--wp--preset--color--blu);
		transform: translateX(4px);
	}
}

@keyframes wrl-esce {
	0% {
		left: 68%;
		opacity: 0;
	}

	15%,
	85% {
		opacity: 1;
	}

	100% {
		left: calc(100% + 20px);
		opacity: 0;
	}
}

@media (max-width: 860px) {
	/* Passaggi in colonna, collegati da una linea verticale. */
	.wrl-gov {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 4px;
	}

	.wrl-gov__passo:not(:last-child)::after {
		position: static;
		width: 14px;
		height: 44px;
		margin: 2px auto 6px;
		background:
			url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 10' fill='none' stroke='%234a7a9e' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='2 2 7 8 12 2'/%3E%3C/svg%3E") center bottom / 14px 10px no-repeat,
			repeating-linear-gradient(180deg, var(--wp--preset--color--blu) 0 6px, transparent 6px 12px) center top / 2px calc(100% - 6px) no-repeat;
		animation: none;
	}

	.wrl-gov__passo:not(:last-child)::before {
		display: none;
	}

	/* Schema finanziario: cerchio a tutta larghezza, attività in elenco sotto. */
	.wrl-fin {
		grid-template-columns: minmax(0, 1fr);
		margin-bottom: 0;
	}

	.wrl-fin__fonti::after {
		display: none;
	}

	.wrl-fin__uso {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 48px !important;
	}

	.wrl-fin__uso::before {
		display: none;
	}

	.wrl-fin__strumenti {
		grid-column: 1;
	}

	.wrl-fin__uso > .wrl-fin__didascalia {
		position: static;
		grid-row: 2;
		grid-column: 1;
		margin: 12px 0 0 !important;
	}
}

/* ---- Mappa degli hotspot (wrl/mappa-hotspot) ---- */

.wrl-mappa {
	position: relative;
	aspect-ratio: 630 / 376;
	background: var(--wp--preset--color--sabbia);
	color: var(--wp--preset--color--petrolio);
}

/* Nella sezione Aree la mappa riempie la colonna (680px, 460px su mobile). */
.wrl-aree__mappa > .wrl-mappa,
.wrl-aree__mappa > .wrl-mappa-editor {
	position: absolute;
	inset: 0;
	aspect-ratio: auto;
}

/* Anteprima nell'editor dentro la colonna: la mappa riempie la colonna senza ricalcolare la larghezza. */
.wrl-aree__mappa .wrl-mappa-editor > div,
.wrl-aree__mappa .wrl-mappa-editor .wrl-mappa {
	width: 100%;
	height: 100%;
	aspect-ratio: auto;
}

.wrl-mappa__svg {
	display: block;
	width: 100%;
	height: 100%;
}

.wrl-mappa__pin {
	cursor: pointer;
	outline: none;
}

.wrl-mappa__goccia {
	transform-box: fill-box;
	transform-origin: 50% 100%;
	transition: transform 0.15s ease;
}

.wrl-mappa__goccia path {
	fill: var(--wp--preset--color--petrolio);
}

.wrl-mappa__goccia text {
	fill: var(--wp--preset--color--bianco);
	font-family: var(--wp--preset--font-family--archivo);
	font-size: 13px;
	font-weight: 700;
}

.wrl-mappa__pin:hover .wrl-mappa__goccia,
.wrl-mappa__pin.is-attivo .wrl-mappa__goccia {
	transform: scale(1.18);
}

.wrl-mappa__pin:focus-visible .wrl-mappa__goccia path {
	stroke: var(--wp--preset--color--blu);
	stroke-width: 2px;
}

.wrl-mappa__pop {
	position: absolute;
	z-index: 5;
	width: 330px;
	max-width: calc(100% - 16px);
	padding: 16px 18px 18px;
	border-radius: 10px;
	background: var(--wp--preset--color--bianco);
	box-shadow: 0 10px 30px rgba(23, 46, 52, 0.25);
	color: var(--wp--preset--color--petrolio);
	font-size: 13px;
	line-height: 1.35;
}

.wrl-mappa__pop[hidden] {
	display: none;
}

.wrl-mappa__pop::after {
	content: "";
	position: absolute;
	bottom: -8px;
	left: var(--wrl-freccia, 50%);
	margin-left: -8px;
	border: 8px solid transparent;
	border-top-color: var(--wp--preset--color--bianco);
	border-bottom: 0;
}

.wrl-mappa__pop.is-sotto::after {
	top: -8px;
	bottom: auto;
	border-top: 0;
	border-bottom: 8px solid var(--wp--preset--color--bianco);
}

.wrl-mappa__chiudi {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.92);
	color: #6b7c80;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
}

.wrl-mappa__contenuto > * {
	margin: 0;
}

.wrl-mappa__contenuto .wrl-mappa__foto {
	display: block;
	width: calc(100% + 36px);
	max-width: none;
	height: 110px;
	margin: -16px -18px 14px;
	border-radius: 10px 10px 0 0;
	object-fit: cover;
}

.wrl-mappa__contenuto h3 {
	padding-right: 18px;
	color: var(--wp--preset--color--petrolio);
	font-size: 16px;
	letter-spacing: 0;
	line-height: 1.3;
}

.wrl-mappa__contenuto .wrl-mappa__intervento {
	margin: 8px 0;
	color: #4f5d61;
	font-size: 13.5px;
	line-height: 1.45;
}

.wrl-mappa__contenuto .wrl-mappa__criticita {
	margin-bottom: 4px;
	color: #4f5d61;
	font-size: 12.5px;
}

.wrl-mappa__contenuto .wrl-mappa__criticita b {
	color: var(--wp--preset--color--petrolio);
}

.wrl-mappa__contenuto .wrl-mappa__piede {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 12px;
}

.wrl-mappa__beneficio {
	color: #3f7fc4;
	font-size: 14px;
	font-weight: 700;
}

.wrl-mappa__stato {
	padding: 6px 10px;
	border-radius: 4px;
	background: var(--wp--preset--color--petrolio);
	color: var(--wp--preset--color--bianco);
	font-size: 11.5px;
	font-weight: 600;
	white-space: nowrap;
}

.wrl-mappa__stato.is-parziale {
	background: #c9c8bd;
	color: var(--wp--preset--color--petrolio);
}

.wrl-mappa__stato.is-finanziato {
	background: var(--wp--preset--color--blu);
}

/* Schede complete: nascoste alla vista ma leggibili dai lettori di schermo; il popup ne mostra una. */
.wrl-mappa__schede {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.wrl-mappa__legenda {
	position: absolute;
	bottom: 16px;
	left: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: 10px 12px;
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--wp--preset--color--petrolio);
	font-size: 12px;
}

.wrl-mappa__legenda span {
	display: flex;
	align-items: center;
	gap: 8px;
}

.wrl-mappa__vuota {
	position: absolute;
	top: 16px;
	right: 16px;
	left: 16px;
	margin: 0;
	padding: 10px 14px;
	border-radius: 8px;
	background: var(--wp--preset--color--bianco);
	font-size: 13px;
}

/* ---- Modulo di contatto ---- */

.wrl-form {
	padding-top: 0;
	padding-bottom: clamp(64px, 7vw, 90px);
}

.wrl-form .wrl-form__card {
	position: relative;
	z-index: 5;
	max-width: 620px;
	margin: -150px auto 0;
	padding: 46px 48px 40px;
	border-radius: 16px;
	background: var(--wp--preset--color--bianco);
	box-shadow: var(--wp--preset--shadow--card-forte);
}

.wrl-form .wrl-form__card:focus {
	outline: none;
}

/* Modulo chiuso (classe messa da theme.js solo se c'è un link "Contattaci" a #form): la sezione
   "Invito a contattarci" finisce con il pulsante; all'apertura riprende lo spazio su cui sale il riquadro. */
.wrl-form-chiuso .wrl-form {
	display: none;
}

.wrl-form-chiuso .wp-block-cover.wrl-contatti {
	padding-bottom: clamp(64px, 7vw, 96px);
}

@media (prefers-reduced-motion: no-preference) {
	.wp-block-cover.wrl-contatti {
		transition: padding-bottom 0.45s ease;
	}

	.wrl-form.is-in-apertura .wrl-form__card {
		animation: wrl-apri 0.5s ease both;
	}
}

@keyframes wrl-apri {
	from {
		opacity: 0;
		transform: translateY(24px);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.wrl-form .wrl-form__card > * {
	margin: 0;
}

.wrl-form-ac.is-segnaposto {
	padding: 40px 0;
	color: var(--wp--preset--color--ardesia);
	text-align: center;
}

.wrl-form-ac.is-segnaposto > * {
	margin: 0;
}

.wrl-form-ac__avviso {
	margin: 0;
	padding: 24px;
	border: 1px dashed var(--wp--preset--color--blu);
	border-radius: 8px;
	color: var(--wp--preset--color--ardesia);
	text-align: center;
}

/*
 * Modulo ActiveCampaign adattato al design. Lo stile di AC arriva con lo script e usa selettori con
 * l'ID del modulo (#_form_…), molto specifici: qui serve !important. Le regole valgono per qualsiasi
 * modulo AC (non dipendono dall'ID 114), così funzionano anche con il modulo inglese.
 */
.wrl-form-ac ._form {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--wp--preset--color--petrolio) !important;
	font-family: var(--wp--preset--font-family--archivo) !important;
}

/* Dopo l'invio AC nasconde i campi con style="display: none": la regola non deve prevalere. */
.wrl-form-ac ._form-content:not([style*="none"]) {
	display: flex !important;
	flex-direction: column;
	gap: 18px;
}

.wrl-form-ac ._form_element {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wrl-form-ac ._form-label {
	display: block !important;
	margin: 0 0 7px !important;
	color: #5a6b70 !important;
	font-family: inherit !important;
	font-size: 11.5px !important;
	font-weight: 500 !important;
	letter-spacing: 0.07em !important;
	line-height: 1.3 !important;
	text-transform: uppercase;
}

.wrl-form-ac ._form-label .field-required {
	color: inherit !important;
}

.wrl-form-ac input[type="text"],
.wrl-form-ac input[type="email"],
.wrl-form-ac input[type="tel"],
.wrl-form-ac select,
.wrl-form-ac textarea {
	box-sizing: border-box !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 14px 16px !important;
	border: 1px solid transparent !important;
	border-radius: var(--wp--custom--radius--small) !important;
	background: #ebece7 !important;
	color: var(--wp--preset--color--petrolio) !important;
	font-family: inherit !important;
	font-size: 15px !important;
	line-height: 1.4 !important;
	outline: none;
	transition: border-color var(--wp--custom--transition);
}

.wrl-form-ac textarea {
	min-height: 112px !important;
	line-height: 1.5 !important;
	resize: vertical;
}

.wrl-form-ac select {
	padding-right: 44px !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #ebece7 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23172e34' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E") right 16px center / 18px no-repeat !important;
	cursor: pointer;
}

.wrl-form-ac input::placeholder,
.wrl-form-ac textarea::placeholder {
	color: #7a878b !important;
	opacity: 1;
}

.wrl-form-ac input:focus,
.wrl-form-ac select:focus,
.wrl-form-ac textarea:focus {
	border-color: var(--wp--preset--color--blu) !important;
}

.wrl-form-ac ._button-wrapper {
	width: 100% !important;
	margin: 8px 0 0 !important;
}

/* Pulsante: AC lo imposta con "#_form_… ._submit" e !important; "#wrl-modulo-ac ._form ._submit" è più specifico. */
#wrl-modulo-ac ._form ._submit,
.wrl-form-ac button[type="submit"] {
	display: flex !important;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100% !important;
	padding: 17px 20px !important;
	border: 0 !important;
	border-radius: var(--wp--custom--radius--small) !important;
	background: #0d0d0d !important;
	color: var(--wp--preset--color--bianco) !important;
	font-family: inherit !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	cursor: pointer;
	transition: background var(--wp--custom--transition);
}

.wrl-form-ac button[type="submit"]::after {
	content: "";
	width: 18px;
	height: 18px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cline x1='4' y1='12' x2='19' y2='12'/%3E%3Cpolyline points='13 6 19 12 13 18'/%3E%3C/svg%3E") center / contain no-repeat;
}

#wrl-modulo-ac ._form ._submit:hover,
#wrl-modulo-ac ._form ._submit:focus-visible,
.wrl-form-ac button[type="submit"]:hover,
.wrl-form-ac button[type="submit"]:focus-visible {
	background: var(--wp--preset--color--petrolio) !important;
}

/* Invio in corso: AC mostra uno spinner al centro (::before) e un velo (::after); testo e freccia spariscono. */
#wrl-modulo-ac ._form ._submit.processing {
	color: transparent !important;
}

#wrl-modulo-ac ._form ._submit.processing::before {
	margin: -0.5em 0 0 -0.5em;
	background-image: linear-gradient(#0d0d0d, #0d0d0d), conic-gradient(#0d0d0d, #fff) !important;
}

#wrl-modulo-ac ._form ._submit.processing::after {
	width: auto;
	height: auto;
	background: none;
}

/* Messaggio di conferma dopo l'invio. */
.wrl-form-ac ._form-thank-you {
	padding: 40px 0 !important;
	color: var(--wp--preset--color--petrolio) !important;
	font-family: inherit !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	text-align: center;
}

.wrl-form .wrl-form__privacy {
	margin-top: 16px;
	color: #7a878b;
	font-size: 12px;
	line-height: 1.5;
}

@media (max-width: 860px) {
	.wrl-form .wrl-form__card {
		margin-top: -150px;
		padding: 30px 22px 28px;
	}
}
