/**
 * Pagina abbonamento "Giardino Sano" — stile brochure (palette + layout).
 * Scope: .wp-block-group.gv-pagina-abbonamento-sano
 */
.wp-block-group.gv-pagina-abbonamento-sano {
	--gv-paf-green-dark: #1a3a08;
	--gv-paf-green-mid: #2e6b10;
	--gv-paf-green-accent: #3d9918;
	--gv-paf-green-light: #a5d6a7;
	--gv-paf-green-pale: #edf7e8;
	--gv-paf-gold: #c8a040;
	--gv-paf-gold-light: #f5e8c0;
	--gv-paf-text: #1a2a10;
	--gv-paf-text-mid: #4a5c3a;
	--gv-paf-pad: clamp(1.25rem, 4vw, 2.75rem);

	box-sizing: border-box;
	font-family: "Inter", system-ui, -apple-system, sans-serif;
	color: var(--gv-paf-text);
	max-width: 820px;
	margin: 2rem auto 3.5rem;
	padding: 0 !important;
	background:
		linear-gradient(180deg, #0f2a06 0%, #2e6b10 48%, #1a7a5e 100%) 0 0 / 100% 340px no-repeat,
		linear-gradient(180deg, #eef6ea 0%, #f8faf6 40%, #fff 100%);
	/* border-radius: 22px; */
	overflow: hidden;
	box-shadow: 0 12px 48px rgba(30, 61, 15, 0.14), 0 2px 8px rgba(45, 80, 22, 0.06);
	border: 1px solid rgba(45, 80, 22, 0.08);
	position: relative;
}

.wp-block-group.gv-pagina-abbonamento-sano::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 340px;
	pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	opacity: 1;
}

.wp-block-group.gv-pagina-abbonamento-sano::after {
	content: "\2764\fe0f";
	position: absolute;
	right: clamp(0.5rem, 3vw, 2.5rem);
	top: 1.25rem;
	font-size: clamp(4rem, 18vw, 7.5rem);
	line-height: 1;
	opacity: 0.07;
	pointer-events: none;
}

/* —— Hero (primi blocchi) ——
 * Non impostare color sui wrapper (es. gruppo annidato): eredita su tutto il corpo e il testo
 * resta bianco sulla fascia chiara sotto. Bianco solo su badge / titolo / box intro. */
.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(1),
.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(2),
.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(3) {
	position: relative;
	z-index: 1;
	padding-left: var(--gv-paf-pad);
	padding-right: var(--gv-paf-pad);
}

.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(1).wp-block-paragraph,
.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(1).wp-block-group {
	color: #fff !important;
}

.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(1) {
	padding-top: 6.5rem;
	padding-bottom: 6.5rem;
	margin-top: 0;
	margin-bottom: 0.75rem;
}

.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(1) strong {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: #659745;
	border: 1px solid rgba(255, 255, 255, 0.28);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.45rem 1rem;
	border-radius: 100px;
}

.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading,
.wp-block-group.gv-pagina-abbonamento-sano h1.wp-block-heading:first-of-type {
	font-size: clamp(2.25rem, 7vw, 3.15rem);
	font-weight: 900;
	line-height: 1.05;
	letter-spacing: -0.03em;
	margin: 0 0 0.65rem;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.15);
	color: #fff !important;
}

.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading .gv-paf-accent {
	color: var(--gv-paf-green-light);
}

.wp-block-group.gv-pagina-abbonamento-sano > p.has-medium-font-size,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-paragraph.has-medium-font-size,
.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(3).wp-block-paragraph,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child p.has-medium-font-size,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child .wp-block-paragraph.has-medium-font-size,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child > .wp-block-paragraph:nth-child(3) {
	background: rgba(255, 255, 255, 0.11);
	border: 2px solid rgba(255, 255, 255, 0.28);
	border-radius: 18px;
	padding: 1rem 1.35rem 1.15rem;
	margin: 0 0 1.5rem;
	max-width: 34rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.92) !important;
	font-size: 1.02rem !important;
}

.wp-block-group.gv-pagina-abbonamento-sano > p.has-medium-font-size strong,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-paragraph.has-medium-font-size strong,
.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(3).wp-block-paragraph strong,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child p.has-medium-font-size strong,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child .wp-block-paragraph.has-medium-font-size strong,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child > .wp-block-paragraph:nth-child(3) strong {
	color: var(--gv-paf-green-light);
	font-weight: 700;
}

.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-separator:nth-child(4),
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child + .wp-block-separator,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child + hr {
	margin: 0 var(--gv-paf-pad) 1.75rem;
	border: none !important;
	border-bottom: none !important;
	border-top: 1px solid rgba(255, 255, 255, 0.45) !important;
	background: transparent !important;
	background-color: transparent !important;
	opacity: 1 !important;
	position: relative;
	z-index: 1;
	height: 0;
	min-height: 0;
}

.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-separator:nth-child(4)::before,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child + .wp-block-separator::before {
	content: none;
}

/* —— Corpo: sezioni (dal 5° blocco = dopo hero + separatore) —— */
.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(n + 5) {
	padding-left: var(--gv-paf-pad);
	padding-right: var(--gv-paf-pad);
	color: var(--gv-paf-text);
}

.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(n + 5) a:not(.wp-block-button__link) {
	color: var(--gv-paf-green-accent);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.wp-block-group.gv-pagina-abbonamento-sano > *:nth-child(n + 5) a:not(.wp-block-button__link):hover {
	color: var(--gv-paf-green-mid);
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading {
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gv-paf-green-mid);
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-top: 2rem;
	margin-bottom: 1.1rem;
	line-height: 1.3;
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading::after {
	content: "";
	flex: 1;
	height: 2px;
	background: linear-gradient(90deg, var(--gv-paf-green-pale), transparent);
	border-radius: 2px;
	min-width: 2rem;
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:first-of-type {
	margin-top: 0.5rem;
}

/* Lista come “card” servizi */
.wp-block-group.gv-pagina-abbonamento-sano .wp-block-list,
.wp-block-group.gv-pagina-abbonamento-sano ul.wp-block-list {
	list-style: none !important;
	padding: 0 !important;
	padding-left: 0 !important;
	margin: 0.75rem 0 2rem !important;
	margin-left: 0 !important;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-list li,
.wp-block-group.gv-pagina-abbonamento-sano ul.wp-block-list > li {
	margin: 0;
	box-sizing: border-box;
	min-height: 3.25rem;
	/* Icona 2rem @ left 1.25rem → fine ~3.25rem; testo dopo */
	padding: 0.95rem 1.15rem 0.95rem 3.85rem;
	background: var(--gv-paf-green-pale);
	border: 1px solid #ddeedd;
	border-radius: 14px;
	position: relative;
	line-height: 1.45;
	font-size: 0.95rem;
	color: var(--gv-paf-text) !important;
	overflow: visible;
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-list li::before,
.wp-block-group.gv-pagina-abbonamento-sano ul.wp-block-list > li::before {
	content: "";
	position: absolute;
	left: 1.25rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	border-radius: 10px;
	background: linear-gradient(135deg, var(--gv-paf-green-mid), var(--gv-paf-green-accent));
	box-shadow: 0 2px 8px rgba(45, 80, 22, 0.2);
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-list li::after,
.wp-block-group.gv-pagina-abbonamento-sano ul.wp-block-list > li::after {
	content: "\2713";
	position: absolute;
	left: 1.67rem;
	top: 50%;
	padding-left: 2px !important;
	transform: translateY(-50%);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
	line-height: 1;
	pointer-events: none;
}

/* Box “Il valore” (2° h2 + paragrafo seguente) */
.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(2) {
	border: 0;
	clip: rect(0 0 0 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(2)::after {
	content: none;
	display: none;
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(2) + p {
	background: linear-gradient(135deg, var(--gv-paf-green-dark), #1a7a5e);
	border-radius: 18px;
	padding: 1.75rem 1.5rem 1.75rem 4.25rem;
	margin: 0 0 2rem;
	position: relative;
	color: rgba(255, 255, 255, 0.92) !important;
	line-height: 1.65;
	font-size: 1rem;
	box-shadow: 0 8px 28px rgba(30, 61, 15, 0.22);
	border: 1px solid rgba(255, 255, 255, 0.12);
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(2) + p::before {
	content: "Il valore";
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--gv-paf-green-light);
	margin-bottom: 0.5rem;
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(2) + p::after {
	content: "\1f6e1\fe0f";
	position: absolute;
	left: 1.25rem;
	top: 1.6rem;
	width: 2.6rem;
	height: 2.6rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.25rem;
	line-height: 1;
	background: rgba(255, 255, 255, 0.12);
	border-radius: 14px;
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(2) + p strong {
	color: var(--gv-paf-green-light);
}

/* Box “Per chi è pensato” */
.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(3) + p {
	border: 2px solid var(--gv-paf-green-pale);
	border-radius: 16px;
	padding: 1.35rem 1.35rem 1.35rem 3.5rem;
	margin: 0 0 2rem;
	position: relative;
	background: #fafdf8;
	line-height: 1.55;
	color: var(--gv-paf-text-mid);
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(3) + p::before {
	content: "\1f33f";
	position: absolute;
	left: 1.1rem;
	top: 1.2rem;
	font-size: 1.65rem;
	line-height: 1;
}

/* Colonne “garanzie” */
.wp-block-group.gv-pagina-abbonamento-sano .wp-block-columns {
	gap: 1rem;
	margin-bottom: 2rem;
	flex-wrap: wrap !important;
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-column {
	flex-basis: 100% !important;
	min-width: 0;
}

@media (min-width: 600px) {
	.wp-block-group.gv-pagina-abbonamento-sano .wp-block-column {
		flex-basis: calc(33.333% - 0.67rem) !important;
	}
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-column .wp-block-paragraph {
	background: var(--gv-paf-green-pale);
	border: 1px solid #ddeedd;
	border-radius: 14px;
	padding: 1.15rem 1rem !important;
	text-align: center;
	margin: 0;
	min-height: 100%;
	font-size: 0.88rem;
	line-height: 1.45;
	color: var(--gv-paf-text-mid);
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-column .wp-block-paragraph strong {
	display: block;
	font-size: 0.95rem;
	color: var(--gv-paf-text);
	margin-bottom: 0.35rem;
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-column:nth-child(1) .wp-block-paragraph strong::before {
	content: "\1f4cd";
	display: block;
	font-size: 1.35rem;
	margin-bottom: 0.45rem;
	line-height: 1;
	color: var(--gv-paf-green-accent);
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-column:nth-child(2) .wp-block-paragraph strong::before {
	content: "\260e\fe0f";
	display: block;
	font-size: 1.35rem;
	margin-bottom: 0.45rem;
	line-height: 1;
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-column:nth-child(3) .wp-block-paragraph strong::before {
	content: "\21bb";
	display: block;
	font-size: 1.35rem;
	margin-bottom: 0.45rem;
	line-height: 1;
	color: var(--gv-paf-green-accent);
}

/* Separatore prima Stripe */
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-separator:not(:nth-child(4)) {
	margin: 2rem var(--gv-paf-pad);
	border: none;
	border-top: 1px solid #dde8d4;
	opacity: 1;
}

/* —— Fascia CTA / Stripe (ultimi blocchi) —— */
.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(5) {
	margin-top: 2.25rem;
	padding-top: 1.5rem;
	border-radius: 16px 16px 0 0;
	border: 2px solid var(--gv-paf-gold);
	border-bottom: none;
	background: linear-gradient(135deg, var(--gv-paf-gold-light), #fff9ec);
	margin-left: var(--gv-paf-pad);
	margin-right: var(--gv-paf-pad);
	padding-left: 1.25rem;
	padding-right: 1.25rem;
	color: var(--gv-paf-gold);
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:nth-of-type(5)::after {
	background: linear-gradient(90deg, rgba(200, 160, 64, 0.35), transparent);
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-simpay-payment-form,
.wp-block-group.gv-pagina-abbonamento-sano [class*="simpay-payment-form"],
.wp-block-group.gv-pagina-abbonamento-sano [class*="simpay-form"] {
	margin-left: var(--gv-paf-pad);
	margin-right: var(--gv-paf-pad);
	padding: 0 1.25rem 1rem;
	background: linear-gradient(135deg, var(--gv-paf-gold-light), #fff9ec);
	border-left: 2px solid var(--gv-paf-gold);
	border-right: 2px solid var(--gv-paf-gold);
	border-bottom: none;
	color: var(--gv-paf-text);
}

.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-buttons:last-child {
	margin-left: var(--gv-paf-pad);
	margin-right: var(--gv-paf-pad);
	padding: 0 1.25rem 1.5rem;
	background: linear-gradient(135deg, var(--gv-paf-gold-light), #fff9ec);
	border: 2px solid var(--gv-paf-gold);
	border-top: none;
	border-radius: 0 0 16px 16px;
	margin-bottom: 0;
}

.wp-block-group.gv-pagina-abbonamento-sano a.wp-block-button__link,
.wp-block-group.gv-pagina-abbonamento-sano .wp-block-button__link {
	background: linear-gradient(135deg, var(--gv-paf-green-mid), var(--gv-paf-green-accent)) !important;
	color: #fff !important;
	border-radius: 100px !important;
	font-weight: 700 !important;
	padding: 0.65rem 1.5rem !important;
	border: none !important;
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(45, 80, 22, 0.25);
	transition: opacity 0.2s, transform 0.15s;
}

.wp-block-group.gv-pagina-abbonamento-sano a.wp-block-button__link:hover,
.wp-block-group.gv-pagina-abbonamento-sano .wp-block-button__link:hover {
	opacity: 0.92;
	transform: translateY(-1px);
}

/* Override Bootstrap dentro pagina */
.wp-block-group.gv-pagina-abbonamento-sano p {
	font-size: inherit;
}

.wp-block-group.gv-pagina-abbonamento-sano .wp-block-columns.are-vertically-aligned-top {
	align-items: stretch;
}

/*
 * Fine foglio: batte Bootstrap/tema e copre hero annidato in un .wp-block-group interno.
 * (Prima i selettori ">" non matchavano h1/p dentro il primo gruppo.)
 */
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child .wp-block-paragraph,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child p {
	color: #fff !important;
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:first-of-type,
.wp-block-group.gv-pagina-abbonamento-sano h2.wp-block-heading:has(+ ul.wp-block-list),
.wp-block-group.gv-pagina-abbonamento-sano h2.wp-block-heading:has(+ .wp-block-list) {
	color: #fff !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.wp-block-group.gv-pagina-abbonamento-sano > h2.wp-block-heading:first-of-type::after,
.wp-block-group.gv-pagina-abbonamento-sano h2.wp-block-heading:has(+ ul.wp-block-list)::after,
.wp-block-group.gv-pagina-abbonamento-sano h2.wp-block-heading:has(+ .wp-block-list)::after {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.35), transparent) !important;
}

/* Intro prezzo dopo h1 (anche senza has-medium-font-size); span interni ereditano */
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child h1.wp-block-heading + .wp-block-paragraph,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child h1.wp-block-heading + p,
.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading + .wp-block-paragraph,
.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading + p {
	background: rgba(255, 255, 255, 0.11) !important;
	border: 2px solid rgba(255, 255, 255, 0.28) !important;
	border-radius: 18px;
	padding: 1rem 1.35rem 1.15rem !important;
	margin: 0 0 1.5rem !important;
	max-width: 34rem;
	line-height: 1.55 !important;
	color: #fff !important;
	font-size: 1.02rem !important;
}

.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child h1.wp-block-heading + .wp-block-paragraph strong,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child h1.wp-block-heading + p strong,
.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading + .wp-block-paragraph strong,
.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading + p strong {
	color: var(--gv-paf-green-light) !important;
}

/* Colore da editor su span/em dentro l’intro */
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child h1.wp-block-heading + .wp-block-paragraph span,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child h1.wp-block-heading + p span,
.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading + .wp-block-paragraph span,
.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading + p span,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child h1.wp-block-heading + .wp-block-paragraph em,
.wp-block-group.gv-pagina-abbonamento-sano > h1.wp-block-heading + p em {
	color: #fff !important;
}

/* Separatore sotto hero: linea chiara (Bootstrap hr spesso nero) */
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child + .wp-block-separator,
.wp-block-group.gv-pagina-abbonamento-sano > .wp-block-group:first-child + hr {
	border: none !important;
	border-bottom: none !important;
	border-top: 1px solid rgba(255, 255, 255, 0.45) !important;
	background: transparent !important;
	background-color: transparent !important;
	opacity: 1 !important;
}
