/*
Theme Name: RGS Ordine
Theme URI: https://www.sosbiogas.it/
Author: RGS S.r.l.
Description: Tema a blocchi del sito RGS – Manutenzione Impianti Biogas. Posizionamento "Ordine": impianto sotto controllo prima del caos.
Version: 0.2.2
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: Proprietario
Text Domain: rgs-ordine
*/

/* ==========================================================================
   Stili che theme.json non copre. I colori e i font sono in theme.json:
   qui si usano solo le variabili --wp--preset--*.
   ========================================================================== */

:root {
	--rgs-griglia: rgba(0, 161, 154, 0.09);
	--rgs-griglia-scura: rgba(178, 223, 220, 0.07);
	--rgs-ombra: 0 1px 2px rgba(20, 32, 31, 0.06), 0 8px 24px rgba(20, 32, 31, 0.06);
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Salto al contenuto (accessibilità) */
.skip-link.screen-reader-text:focus { z-index: 100000; }

/* --------------------------------------------------------------------------
   Etichette "da strumento": testo mono maiuscolo
   -------------------------------------------------------------------------- */
.rgs-etichetta {
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
}
.rgs-etichetta::before {
	content: "";
	display: inline-block;
	width: 0.55em;
	height: 0.55em;
	margin-right: 0.7em;
	border-radius: 50%;
	background: var(--wp--preset--color--teal);
	box-shadow: 0 0 0 3px rgba(0, 161, 154, 0.2);
	vertical-align: 0.05em;
}
.rgs-etichetta.is-segnale::before {
	background: var(--wp--preset--color--segnale);
	box-shadow: 0 0 0 3px rgba(232, 102, 42, 0.22);
}

/* --------------------------------------------------------------------------
   Sfondo a griglia da schema tecnico
   -------------------------------------------------------------------------- */
.rgs-griglia {
	background-image:
		linear-gradient(var(--rgs-griglia) 1px, transparent 1px),
		linear-gradient(90deg, var(--rgs-griglia) 1px, transparent 1px);
	background-size: 32px 32px;
}
.rgs-griglia-scura {
	background-image:
		linear-gradient(var(--rgs-griglia-scura) 1px, transparent 1px),
		linear-gradient(90deg, var(--rgs-griglia-scura) 1px, transparent 1px),
		radial-gradient(ellipse at 75% 40%, rgba(0, 161, 154, 0.22), transparent 60%);
	background-size: 32px 32px, 32px 32px, 100% 100%;
}

/* --------------------------------------------------------------------------
   Intestazione
   -------------------------------------------------------------------------- */
.rgs-barra-emergenza {
	font-size: 0.875rem;
}
.rgs-barra-emergenza a { text-decoration: none; font-weight: 700; }
.rgs-barra-emergenza a:hover { text-decoration: underline; }
@media (max-width: 781px) {
	.rgs-barra-emergenza p { text-align: center !important; font-size: .8125rem; }
	.rgs-barra-emergenza .rgs-solo-desktop { display: none; }
}

.rgs-intestazione {
	position: sticky;
	top: 0;
	z-index: 50;
	backdrop-filter: saturate(1.4) blur(8px);
	background: rgba(255, 255, 255, 0.92) !important;
	border-bottom: 1px solid var(--wp--preset--color--linea);
}
.admin-bar .rgs-intestazione { top: 32px; }
@media (max-width: 782px) { .admin-bar .rgs-intestazione { top: 0; } }

.rgs-intestazione .wp-block-site-logo img { width: auto; max-height: 52px; }
.rgs-intestazione .wp-block-navigation a { font-weight: 700; font-size: 0.92rem; }
.rgs-intestazione .wp-block-navigation a:hover { color: var(--wp--preset--color--teal-scuro); }

/* --------------------------------------------------------------------------
   Pulsanti
   -------------------------------------------------------------------------- */
.wp-block-button .wp-block-button__link {
	transition: transform 0.15s ease, box-shadow 0.15s ease, background-color 0.15s ease;
}
.wp-block-button .wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(0, 115, 110, 0.28);
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { box-shadow: none; }
.wp-block-button.rgs-freccia .wp-block-button__link::after {
	content: "→";
	display: inline-block;
	margin-left: 0.6em;
	transition: transform 0.15s ease;
}
.wp-block-button.rgs-freccia .wp-block-button__link:hover::after { transform: translateX(3px); }

/* --------------------------------------------------------------------------
   Hero della home
   -------------------------------------------------------------------------- */
.rgs-hero h1 { text-wrap: balance; font-size: clamp(2.3rem, 4.4vw, 3.6rem); }
.rgs-hero h1 em {
	font-style: normal;
	color: var(--wp--preset--color--teal);
}
.rgs-hero .rgs-schema svg { width: 100%; height: auto; display: block; }

/* Pannello-schema: le spie passano da "caos" (arancio) a "sotto controllo" (teal) */
.rgs-schema .spia { fill: var(--wp--preset--color--segnale); animation: rgs-spia 5.5s ease forwards; }
.rgs-schema .spia-alone { fill: var(--wp--preset--color--segnale); opacity: .25; animation: rgs-spia-alone 5.5s ease forwards; transform-box: fill-box; transform-origin: center; }
.rgs-schema .spia:nth-of-type(2), .rgs-schema .spia-alone:nth-of-type(2) { animation-delay: .2s; }
.rgs-schema .stato-testo { animation: rgs-stato 5.5s ease forwards; }
.rgs-schema .flusso { stroke-dasharray: 6 10; animation: rgs-flusso 1.6s linear infinite; }
.rgs-schema .g1 .spia, .rgs-schema .g1 .spia-alone { animation-delay: 1.0s; }
.rgs-schema .g2 .spia, .rgs-schema .g2 .spia-alone { animation-delay: 1.4s; }
.rgs-schema .g3 .spia, .rgs-schema .g3 .spia-alone { animation-delay: 1.8s; }
.rgs-schema .g7 .spia, .rgs-schema .g7 .spia-alone { animation-delay: 2.2s; }
.rgs-schema .g4 .spia, .rgs-schema .g4 .spia-alone { animation-delay: 2.6s; }
.rgs-schema .g6 .spia, .rgs-schema .g6 .spia-alone { animation-delay: 3.0s; }
.rgs-schema .g5 .spia, .rgs-schema .g5 .spia-alone { animation-delay: 3.4s; }
@keyframes rgs-spia { 0%, 20% { fill: #E8662A; } 32%, 100% { fill: #00A19A; } }
@keyframes rgs-spia-alone {
	0% { fill: #E8662A; transform: scale(1); opacity: .25; }
	10% { transform: scale(1.8); opacity: .05; }
	20% { fill: #E8662A; transform: scale(1); opacity: .25; }
	32%, 100% { fill: #00A19A; transform: scale(1); opacity: .22; }
}
@keyframes rgs-flusso { to { stroke-dashoffset: -32; } }
.rgs-schema .stato-caos { animation: rgs-sparisci 5.5s ease forwards; animation-delay: 3.2s; }
.rgs-schema .stato-ordine { opacity: 0; animation: rgs-appari 5.5s ease forwards; animation-delay: 3.2s; }
@keyframes rgs-sparisci { 0%, 10% { opacity: 1; } 20%, 100% { opacity: 0; } }
@keyframes rgs-appari { 0%, 10% { opacity: 0; } 20%, 100% { opacity: 1; } }

/* Entrata morbida degli elementi dell'hero */
.rgs-hero .rgs-entra { opacity: 0; transform: translateY(12px); animation: rgs-entra .7s cubic-bezier(.2,.7,.2,1) forwards; }
.rgs-hero .rgs-entra-2 { animation-delay: .12s; }
.rgs-hero .rgs-entra-3 { animation-delay: .24s; }
.rgs-hero .rgs-entra-4 { animation-delay: .36s; }
@keyframes rgs-entra { to { opacity: 1; transform: none; } }

/* --------------------------------------------------------------------------
   Segnali di caos (spie arancioni)
   -------------------------------------------------------------------------- */
.rgs-segnali { counter-reset: segnale; }
.rgs-segnale {
	position: relative;
	border: 1px solid var(--wp--preset--color--linea);
	background: var(--wp--preset--color--bianco);
	transition: border-color .2s ease, transform .2s ease;
}
.rgs-segnale:hover { border-color: var(--wp--preset--color--segnale); transform: translateY(-2px); }
.rgs-segnale::before {
	counter-increment: segnale;
	content: "0" counter(segnale);
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	letter-spacing: .1em;
	color: var(--wp--preset--color--segnale-scuro);
	display: block;
	margin-bottom: .6rem;
}
.rgs-segnale::after {
	content: "";
	position: absolute;
	top: 1.25rem;
	right: 1.25rem;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: var(--wp--preset--color--segnale);
	box-shadow: 0 0 0 4px rgba(232, 102, 42, .18);
}
.rgs-segnale p { margin: 0; }

/* --------------------------------------------------------------------------
   Confronto "A chiamata" / "Sotto controllo"
   -------------------------------------------------------------------------- */
.rgs-confronto table { border-collapse: collapse; width: 100%; }
.rgs-confronto th, .rgs-confronto td {
	border: 0;
	border-bottom: 1px solid var(--wp--preset--color--linea);
	padding: 1rem 1.1rem;
	text-align: left;
	vertical-align: top;
}
.rgs-confronto thead th {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--wp--preset--color--antracite);
}
.rgs-confronto thead th:nth-child(2) { color: var(--wp--preset--color--segnale-scuro); }
.rgs-confronto thead th:nth-child(3) { color: var(--wp--preset--color--teal-scuro); }
.rgs-confronto td:first-child { font-weight: 700; width: 24%; }
.rgs-confronto td:nth-child(3) { background: rgba(0, 161, 154, .06); }
@media (max-width: 700px) {
	.rgs-confronto th, .rgs-confronto td { padding: .75rem .6rem; font-size: .9rem; }
}

/* --------------------------------------------------------------------------
   Percorso in 3 passi
   -------------------------------------------------------------------------- */
.rgs-passo {
	position: relative;
	background: var(--wp--preset--color--bianco);
	border-top: 4px solid var(--wp--preset--color--teal);
	box-shadow: var(--rgs-ombra);
	height: 100%;
}
.rgs-passo .rgs-numero {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: 3.25rem;
	line-height: 1;
	color: var(--wp--preset--color--teal-chiaro);
	margin: 0;
}
.rgs-passo.is-principale { border-top-color: var(--wp--preset--color--teal-scuro); background: var(--wp--preset--color--notte); color: var(--wp--preset--color--bianco); }
.rgs-passo.is-principale .rgs-numero { color: var(--wp--preset--color--teal); }
.rgs-passo.is-principale a { color: var(--wp--preset--color--teal-chiaro); }
@media (min-width: 782px) {
	.rgs-percorso > .wp-block-column:not(:last-child) .rgs-passo::after {
		content: "";
		position: absolute;
		top: 50%;
		right: -1.6rem;
		width: 1.2rem;
		border-top: 2px dashed var(--wp--preset--color--teal);
	}
}

/* --------------------------------------------------------------------------
   Riquadri e liste
   -------------------------------------------------------------------------- */
.rgs-lista-spunte, .rgs-lista-croci { list-style: none; padding-left: 0; }
.rgs-lista-spunte li, .rgs-lista-croci li { position: relative; padding-left: 1.9rem; margin-bottom: .7rem; }
.rgs-lista-spunte li::before, .rgs-lista-croci li::before {
	position: absolute; left: 0; top: .1em;
	width: 1.25rem; height: 1.25rem; border-radius: 50%;
	display: grid; place-items: center;
	font-size: .75rem; font-weight: 900; color: #fff;
}
.rgs-lista-spunte li::before { content: "✓"; background: var(--wp--preset--color--teal-scuro); }
.rgs-lista-croci li::before { content: "✕"; background: var(--wp--preset--color--grigio); }

.rgs-riquadro-lipp { overflow: hidden; position: relative; }
.rgs-riquadro-lipp::after {
	content: "LIPP";
	position: absolute;
	right: -0.05em;
	bottom: -0.28em;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 900;
	font-size: clamp(6rem, 16vw, 13rem);
	line-height: 1;
	color: rgba(178, 223, 220, .08);
	pointer-events: none;
}

.rgs-cifra {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 800;
	font-size: clamp(1.6rem, 5vw, 3.25rem);
	line-height: 1;
	color: var(--wp--preset--color--teal-scuro);
	overflow-wrap: normal;
	margin-bottom: .35rem;
}

/* Segnaposto per i dati ancora da confermare con Remus */
.da-confermare {
	background: #FFF3B0;
	color: #5A4A00;
	padding: 0 .25em;
	border-radius: 3px;
	outline: 1px dashed #C9A800;
}

/* Domande frequenti */
.rgs-faq .wp-block-details {
	border-bottom: 1px solid var(--wp--preset--color--linea);
	padding: 1.1rem 0;
}
.rgs-faq .wp-block-details summary {
	font-weight: 700;
	font-size: 1.1rem;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
}
.rgs-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.rgs-faq .wp-block-details summary::after {
	content: "+";
	font-family: var(--wp--preset--font-family--mono);
	color: var(--wp--preset--color--teal-scuro);
	font-size: 1.3rem;
	line-height: 1;
	transition: transform .2s ease;
}
.rgs-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.rgs-faq .wp-block-details p { margin-top: .75rem; color: var(--wp--preset--color--grigio-scuro); }

/* --------------------------------------------------------------------------
   Footer e barra mobile
   -------------------------------------------------------------------------- */
.rgs-footer a { color: var(--wp--preset--color--teal-chiaro); text-decoration: none; }
.rgs-footer a:hover { text-decoration: underline; }
.rgs-footer .rgs-piccolo { font-size: .8125rem; opacity: .75; }

.rgs-barra-mobile { display: none; }
@media (max-width: 781px) {
	.rgs-barra-mobile {
		display: grid;
		grid-template-columns: 1fr 1.4fr;
		position: fixed;
		left: 0; right: 0; bottom: 0;
		z-index: 60;
		box-shadow: 0 -4px 18px rgba(20, 32, 31, .18);
	}
	.rgs-barra-mobile a {
		display: flex; align-items: center; justify-content: center; gap: .5rem;
		min-height: 56px;
		font-weight: 700;
		text-decoration: none;
		font-size: .95rem;
	}
	.rgs-barra-mobile .chiama { background: var(--wp--preset--color--antracite); color: #fff; }
	.rgs-barra-mobile .chiama::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--wp--preset--color--segnale); }
	.rgs-barra-mobile .checkup { background: var(--wp--preset--color--teal-scuro); color: #fff; }
	body { padding-bottom: 56px; }
	.rgs-intestazione .rgs-cta-testa { display: none; }
}

/* ==========================================================================
   Landing (Check-Up, Audit LIPP, Piano)
   ========================================================================== */

/* Scheda-report finta: mostra cosa riceve il cliente */
.rgs-scheda {
	background: var(--wp--preset--color--bianco);
	color: var(--wp--preset--color--antracite);
	border-radius: 6px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .35);
	padding: 1.5rem 1.5rem 1.25rem;
	transform: rotate(1.2deg);
	max-width: 440px;
	margin-left: auto;
	font-size: .9rem;
}
.rgs-scheda-testa {
	display: flex; justify-content: space-between; align-items: baseline;
	border-bottom: 2px solid var(--wp--preset--color--antracite);
	padding-bottom: .6rem; margin-bottom: .9rem;
}
.rgs-scheda-testa strong { font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; }
.rgs-scheda-testa span, .rgs-scheda-piede { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .08em; color: var(--wp--preset--color--grigio); text-transform: uppercase; }
.rgs-scheda ol { list-style: none; margin: 0; padding: 0; }
.rgs-scheda li {
	display: grid; grid-template-columns: auto 1fr auto; gap: .75rem; align-items: center;
	padding: .65rem 0; border-bottom: 1px dashed var(--wp--preset--color--linea);
}
.rgs-scheda .p { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; font-weight: 500; color: #fff; border-radius: 3px; padding: .2rem .45rem; }
.rgs-scheda .p1 { background: var(--wp--preset--color--segnale-scuro); }
.rgs-scheda .p2 { background: #C98A1B; }
.rgs-scheda .p3 { background: var(--wp--preset--color--teal-scuro); }
.rgs-scheda .quando { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; color: var(--wp--preset--color--grigio); white-space: nowrap; }
.rgs-scheda-piede { margin-top: .9rem; display: flex; justify-content: space-between; }
.rgs-scheda-timbro {
	display: inline-block; margin-top: .9rem;
	border: 2px solid var(--wp--preset--color--teal-scuro); color: var(--wp--preset--color--teal-scuro);
	font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
	padding: .3rem .6rem; border-radius: 3px; transform: rotate(-3deg);
}
@media (max-width: 781px) { .rgs-scheda { transform: none; margin: 1rem auto 0; } }

/* Problema → conseguenze */
.rgs-freccia-grande { font-family: var(--wp--preset--font-family--display); font-size: 3rem; color: var(--wp--preset--color--segnale); line-height: 1; }
.rgs-riquadro-caos { border-left: 4px solid var(--wp--preset--color--segnale); }
.rgs-riquadro-ordine { border-left: 4px solid var(--wp--preset--color--teal); }

/* Cosa ricevi: griglia di elementi con icona-spia */
.wp-block-group.rgs-voce {
	border: 1px solid var(--wp--preset--color--linea);
	background: var(--wp--preset--color--bianco);
}
.wp-block-column > .wp-block-group.rgs-voce:only-child { height: 100%; }
.wp-block-column > .wp-block-group.rgs-voce + .wp-block-group.rgs-voce { margin-top: 1.25rem; }
.rgs-voce h3 { font-size: 1.1rem; margin: 0 0 .4rem; }
.rgs-voce h3::before {
	content: ""; display: block; width: 26px; height: 26px; margin-bottom: .8rem; border-radius: 50%;
	background: radial-gradient(circle, var(--wp--preset--color--teal) 0 35%, rgba(0,161,154,.18) 36% 100%);
}
.rgs-voce p { margin: 0; color: var(--wp--preset--color--grigio-scuro); }
.rgs-situazione h3::before { display: none; }
.rgs-situazione .rgs-etichetta { margin: 0 0 .7rem; font-size: .7rem; }
.rgs-situazione h3 { font-size: 1.2rem; }
.rgs-voce.is-bonus { border-style: dashed; border-color: var(--wp--preset--color--teal); background: rgba(0,161,154,.05); }
.rgs-voce.is-bonus h3::before { background: radial-gradient(circle, var(--wp--preset--color--teal-scuro) 0 35%, rgba(0,115,110,.2) 36% 100%); }

/* Come funziona: passi numerati su una linea */
.rgs-passi { counter-reset: passo; list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: 0; }
.rgs-passi li { position: relative; padding: 0 0 1.6rem 3.4rem; counter-increment: passo; }
.rgs-passi li::before {
	content: counter(passo);
	position: absolute; left: 0; top: -.1rem;
	width: 2.3rem; height: 2.3rem; border-radius: 50%;
	display: grid; place-items: center;
	font-family: var(--wp--preset--font-family--display); font-weight: 800;
	background: var(--wp--preset--color--notte); color: var(--wp--preset--color--teal);
}
.rgs-passi li:not(:last-child)::after {
	content: ""; position: absolute; left: 1.15rem; top: 2.4rem; bottom: .2rem;
	border-left: 2px dashed var(--wp--preset--color--teal-chiaro);
}
.rgs-passi li strong { display: block; font-size: 1.1rem; }

/* Garanzia: timbro */
.rgs-garanzia { position: relative; }
.rgs-timbro {
	width: 150px; height: 150px; border-radius: 50%;
	border: 3px double var(--wp--preset--color--teal-scuro);
	display: grid; place-items: center; text-align: center;
	font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
	color: var(--wp--preset--color--teal-scuro);
	transform: rotate(-8deg);
	margin: 0 auto;
}
.rgs-timbro b { display: block; font-family: var(--wp--preset--font-family--display); font-size: 1.35rem; letter-spacing: 0; text-transform: none; line-height: 1.1; margin: .2rem 0; }

/* Segnaposto del modulo Framework 360 (solo in locale) */
.rgs-modulo-segnaposto {
	border: 2px dashed var(--wp--preset--color--teal);
	border-radius: 6px;
	padding: 1.5rem;
	background: rgba(255,255,255,.04);
}
.rgs-modulo-segnaposto .campo {
	border: 1px solid rgba(178,223,220,.35); border-radius: 4px;
	padding: .7rem .9rem; margin: .5rem 0; font-size: .9rem; color: var(--wp--preset--color--teal-chiaro);
}
.rgs-modulo-segnaposto .invia {
	margin-top: .9rem; background: var(--wp--preset--color--teal); color: var(--wp--preset--color--notte);
	font-weight: 700; text-align: center; padding: .9rem; border-radius: 4px;
}

/* False credenze: frase sbarrata → realtà */
.rgs-credenza { border: 1px solid var(--wp--preset--color--linea); margin-bottom: 1.25rem; }
.rgs-credenza .rgs-falsa {
	margin: 0 0 .55rem;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 1.15rem;
	color: var(--wp--preset--color--grigio);
	text-decoration: line-through;
	text-decoration-color: var(--wp--preset--color--segnale);
	text-decoration-thickness: 1.5px;
}
.rgs-credenza .rgs-vera { margin: 0; padding-left: 1.4rem; position: relative; }
.rgs-credenza .rgs-vera::before { content: "→"; position: absolute; left: 0; color: var(--wp--preset--color--teal-scuro); font-weight: 900; }
.rgs-esclusione h3 { color: var(--wp--preset--color--bianco); margin-top: 0; }
.rgs-esclusione .rgs-lista-croci li { color: var(--wp--preset--color--teal-chiaro); }
.rgs-esclusione .rgs-lista-croci li::before { background: var(--wp--preset--color--segnale-scuro); }

/* Calendario Manutenzione Protetta 12 Mesi (esempio grafico) */
.rgs-calendario {
	background: var(--wp--preset--color--bianco);
	color: var(--wp--preset--color--antracite);
	border-radius: 6px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .35);
	padding: 1.25rem 1.25rem 1rem;
	font-size: .8rem;
	max-width: 480px;
	margin-left: auto;
}
.rgs-calendario .rgs-scheda-testa { margin-bottom: .6rem; }
.rgs-cal-griglia {
	display: grid;
	grid-template-columns: 7.2rem repeat(12, 1fr);
	gap: 3px;
	align-items: center;
}
.rgs-cal-griglia .mese, .rgs-cal-griglia .voce {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .62rem;
	letter-spacing: .04em;
	color: var(--wp--preset--color--grigio);
	text-transform: uppercase;
}
.rgs-cal-griglia .mese { text-align: center; }
.rgs-cal-griglia .voce { color: var(--wp--preset--color--antracite); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.rgs-cal-griglia .c { height: 16px; border-radius: 2px; background: var(--wp--preset--color--carta); }
.rgs-cal-griglia .c.v { background: var(--wp--preset--color--teal-chiaro); }
.rgs-cal-griglia .c.m { background: var(--wp--preset--color--teal); }
.rgs-cal-griglia .c.r { background: var(--wp--preset--color--teal-scuro); }
.rgs-cal-legenda { display: flex; gap: 1rem; margin-top: .8rem; font-family: var(--wp--preset--font-family--mono); font-size: .62rem; text-transform: uppercase; color: var(--wp--preset--color--grigio); flex-wrap: wrap; }
.rgs-cal-legenda i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: .35rem; vertical-align: -1px; }
@media (max-width: 781px) { .rgs-calendario { margin: 1rem auto 0; } .rgs-cal-griglia { grid-template-columns: 5.6rem repeat(12, 1fr); } }

/* Fasi del Piano */
.rgs-fase { border-top: 4px solid var(--wp--preset--color--teal); height: 100%; }
.rgs-fase.is-due { border-top-color: var(--wp--preset--color--teal-scuro); }
.rgs-fase .rgs-etichetta { margin-top: 0; }

/* Citazione d'apertura della lettera */
.rgs-apertura {
	border-left: 4px solid var(--wp--preset--color--segnale);
	padding-left: 1.4rem;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 600;
	font-size: clamp(1.3rem, 2.4vw, 1.75rem);
	line-height: 1.35;
}
.rgs-confronto.is-tre td:nth-child(3) { background: transparent; }
.rgs-confronto.is-tre td:nth-child(4) { background: rgba(0, 161, 154, .08); font-weight: 700; }
.rgs-confronto.is-tre thead th:nth-child(3) { color: var(--wp--preset--color--grigio); }
.rgs-confronto.is-tre thead th:nth-child(4) { color: var(--wp--preset--color--teal-scuro); }

/* Sezioni scure: link leggibili e riquadri in negativo */
.has-notte-background-color a:not(.wp-element-button),
.rgs-esclusione a:not(.wp-element-button) { color: var(--wp--preset--color--teal-chiaro); }
.has-notte-background-color a:not(.wp-element-button):hover,
.rgs-esclusione a:not(.wp-element-button):hover { color: var(--wp--preset--color--bianco); }
.has-notte-background-color .wp-block-group.rgs-voce {
	background: rgba(255, 255, 255, .04);
	border-color: rgba(178, 223, 220, .28);
}
.has-notte-background-color .wp-block-group.rgs-voce.is-bonus { border-color: var(--wp--preset--color--teal); background: rgba(0, 161, 154, .10); }
.has-notte-background-color .rgs-voce h3 { color: var(--wp--preset--color--bianco); }
.has-notte-background-color .rgs-voce p { color: var(--wp--preset--color--teal-chiaro); }
.rgs-fase h3::before { display: none; }
@media (max-width: 700px) {
	.rgs-confronto.is-tre th:nth-child(3), .rgs-confronto.is-tre td:nth-child(3) { display: none; }
	.rgs-confronto.is-tre th, .rgs-confronto.is-tre td { font-size: .85rem; padding: .7rem .5rem; }
	.rgs-confronto.is-tre td:first-child { width: 30%; }
}

/* Barra del percorso: 1 Check-Up → 2 Piano → 3 Continuità Protetta */
.rgs-tappe { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; margin-bottom: 1.6rem; }
.rgs-tappe .tappa {
	display: inline-flex; align-items: center; gap: .5rem;
	font-family: var(--wp--preset--font-family--mono); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase;
	color: var(--wp--preset--color--teal-chiaro) !important; text-decoration: none;
	border: 1px solid rgba(178, 223, 220, .3); border-radius: 999px; padding: .3rem .8rem .3rem .35rem;
	opacity: .75;
}
.rgs-tappe .tappa b {
	display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%;
	background: rgba(178, 223, 220, .15); font-family: var(--wp--preset--font-family--display); font-size: .8rem;
}
.rgs-tappe .tappa.is-attiva { opacity: 1; border-color: var(--wp--preset--color--teal); color: var(--wp--preset--color--bianco) !important; }
.rgs-tappe .tappa.is-attiva b { background: var(--wp--preset--color--teal); color: var(--wp--preset--color--notte); }
.rgs-tappe .tappa:hover { opacity: 1; }
.rgs-tappe .sep { color: var(--wp--preset--color--teal); opacity: .6; }

/* Registro interventi (Continuità Protetta) */
.rgs-registro li { grid-template-columns: 3.2rem 1fr auto; }
.rgs-registro .data { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; color: var(--wp--preset--color--grigio); }
.rgs-registro .esito { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; padding: .2rem .45rem; border-radius: 3px; white-space: nowrap; }
.rgs-registro .esito.ok { background: rgba(0, 161, 154, .14); color: var(--wp--preset--color--teal-scuro); }
.rgs-registro .esito.p2 { background: rgba(201, 138, 27, .16); color: #7A5410; }
.rgs-registro .esito.cal { background: var(--wp--preset--color--carta); color: var(--wp--preset--color--grigio); }

.wp-block-column > .wp-block-group.rgs-voce.is-libero { height: auto; }

/* Richiesta di intervento (esempio) */
.rgs-ordine-lavoro dl { display: grid; grid-template-columns: 7.5rem 1fr; gap: .55rem .9rem; margin: .4rem 0 1rem; }
.rgs-ordine-lavoro dt { font-family: var(--wp--preset--font-family--mono); font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; color: var(--wp--preset--color--grigio); padding-top: .15rem; }
.rgs-ordine-lavoro dd { margin: 0; font-weight: 700; }
.rgs-ordine-stato { display: flex; align-items: center; gap: .6rem; padding: .7rem 0; border-top: 1px dashed var(--wp--preset--color--linea); border-bottom: 1px dashed var(--wp--preset--color--linea); }
.rgs-ordine-stato .esito { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .06em; padding: .25rem .5rem; border-radius: 3px; }
.rgs-ordine-stato .esito.ok { background: rgba(0, 161, 154, .14); color: var(--wp--preset--color--teal-scuro); }
.rgs-ordine-stato .esito.p2 { background: rgba(201, 138, 27, .16); color: #7A5410; }
.rgs-ordine-stato .freccia { color: var(--wp--preset--color--teal-scuro); }
.rgs-riquadro-caos h3::before, .rgs-riquadro-ordine h3::before { display: none; }

/* Modulo Framework 360 incorporato, su sfondo scuro */
.rgs-modulo { background: var(--wp--preset--color--bianco); color: var(--wp--preset--color--antracite); border-radius: 6px; padding: 1.5rem; box-shadow: 0 20px 50px rgba(0,0,0,.3); min-height: 200px; }
.rgs-modulo a { color: var(--wp--preset--color--teal-scuro) !important; }

/* Moduli F360: F360 inietta la sua tavolozza (blu #1c84c6, verde #28a745) con !important; qui si riportano ai colori RGS */
body .ms-form .ms-btn-primary, body .ms-form .ms-form-button {
	background-color: var(--wp--preset--color--teal-scuro) !important; color: var(--wp--preset--color--bianco) !important;
	border: 0 !important; border-radius: 4px !important; padding: 0.95rem 1.6rem !important;
	font-family: var(--wp--preset--font-family--testo) !important; font-weight: 700 !important; font-size: 1rem !important;
	cursor: pointer; transition: background-color .15s;
}
body .ms-form .ms-btn-primary:hover, body .ms-form .ms-form-button:hover { background-color: var(--wp--preset--color--notte) !important; }
body .ms-alert-success, body .ms-bg-success, body .ms-btn-success { background-color: var(--wp--preset--color--teal-scuro) !important; color: var(--wp--preset--color--bianco) !important; }
body .ms-alert-primary, body .ms-bg-primary { background-color: var(--wp--preset--color--teal-scuro) !important; color: var(--wp--preset--color--bianco) !important; }
body .ms-text-success, body .ms-text-primary { color: var(--wp--preset--color--teal-scuro) !important; }
body .ms-border-success, body .ms-border-primary { border-color: var(--wp--preset--color--teal-scuro) !important; }
body .swal2-icon.swal2-success { border-color: var(--wp--preset--color--teal) !important; color: var(--wp--preset--color--teal) !important; }
body .swal2-icon.swal2-success [class^="swal2-success-line"] { background-color: var(--wp--preset--color--teal) !important; }
body .swal2-icon.swal2-success .swal2-success-ring { border-color: rgba(0, 161, 154, .3) !important; }
body .swal2-styled.swal2-confirm { background-color: var(--wp--preset--color--teal-scuro) !important; }

/* Banner cookie iubenda (widget, configurato nel pannello iubenda): colori RGS. "Rifiuta" e "Accetta" restano identici (GDPR) */
/* Il fondo nero è scritto inline con !important da iubenda: si cambia solo dal pannello iubenda */
html body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-accept-btn.iubenda-cs-btn-primary,
html body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-reject-btn.iubenda-cs-btn-primary {
	background-color: var(--wp--preset--color--teal-scuro) !important; color: var(--wp--preset--color--bianco) !important;
	border-radius: 4px !important; font-weight: 700 !important;
}
html body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-accept-btn.iubenda-cs-btn-primary:hover,
html body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-reject-btn.iubenda-cs-btn-primary:hover { background-color: var(--wp--preset--color--teal) !important; }
html body #iubenda-cs-banner .iubenda-cs-opt-group button.iubenda-cs-customize-btn.iubenda-cs-customize-btn { border-radius: 4px !important; }
html body #iubenda-cs-banner .iubenda-cs-content a.iubenda-cs-cookie-policy-lnk, html body #iubenda-cs-banner .iubenda-cs-content a.iubenda-privacy-policy-link { color: var(--wp--preset--color--teal-chiaro) !important; }

/* Chi siamo: tappe, racconto, firma */
.rgs-tappe-storia li { grid-template-columns: 3.4rem 1fr; }
.rgs-tappe-storia .anno { font-family: var(--wp--preset--font-family--display); font-weight: 800; font-size: 1.15rem; color: var(--wp--preset--color--teal-scuro); }
.rgs-storia p { line-height: 1.75; }
.rgs-capolettera::first-letter {
	float: left; font-family: var(--wp--preset--font-family--display); font-weight: 800;
	font-size: 4.2rem; line-height: .85; padding: .35rem .6rem 0 0; color: var(--wp--preset--color--teal-scuro);
}
.rgs-storia-svolta { border-left: 4px solid var(--wp--preset--color--teal); padding-left: 1.2rem; }
.rgs-firma { font-family: var(--wp--preset--font-family--mono); font-size: .8rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--grigio); }
.rgs-firma::before { content: "— "; }
.rgs-passi a { color: inherit; text-decoration: none; border-bottom: 2px solid var(--wp--preset--color--teal-chiaro); }
.rgs-passi a:hover { border-color: var(--wp--preset--color--teal); }
.rgs-cta-doppia h3 { margin-top: .2rem; }
.rgs-cta-doppia h3::before { display: none; }

/* Contatti */
.rgs-biglietto dl { display: grid; grid-template-columns: 6.5rem 1fr; gap: .75rem 1rem; margin: .4rem 0 1rem; }
.rgs-biglietto dt { font-family: var(--wp--preset--font-family--mono); font-size: .66rem; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--grigio); padding-top: .2rem; }
.rgs-biglietto dd { margin: 0; font-weight: 700; line-height: 1.45; }
.rgs-biglietto dd a { color: var(--wp--preset--color--teal-scuro); }
.rgs-biglietto .nota { font-weight: 400; font-size: .8rem; color: var(--wp--preset--color--grigio); }
.rgs-porta { display: flex; flex-direction: column; }
.rgs-porta .wp-block-buttons { margin-top: auto !important; padding-top: 1rem; }
.rgs-porta.is-principale { border: 2px solid var(--wp--preset--color--teal); }
.rgs-inglese { font-style: italic; color: var(--wp--preset--color--grigio-scuro); border-top: 1px dashed var(--wp--preset--color--linea); padding-top: 1rem; }
.has-notte-background-color .rgs-scheda a:not(.wp-element-button) { color: var(--wp--preset--color--teal-scuro); }
