/* ==========================================================================
   VDA Adventures - stile del progetto.
   Valori dai token --dg-*. Eccezioni segnalate all'operatore (vanno in token):
   - grigio freddo delle sezioni #eef1f1 (.dg-sfondo-ghiaccio)
   - grigio delle etichette #e8edec (.dg-etichetta--tenue)
   - verde degli incentivi #a0e1ae (.dg-etichetta--incentivo)
   - font monospaziato: --dg-font-mono (Geist Mono), da creare nel Design system.
   ========================================================================== */

/* ---------- Base ---------- */
body { color: var(--dg-neutral-900); }
h1, h2, h3, h4, h5, h6 { font-weight: var(--dg-fw-normal); letter-spacing: -0.02em; }
a { color: inherit; }
a:hover { color: inherit; }

/* Sezioni larghe al massimo --dg-container-max, margine interno compreso; le hero non hanno limite. */
.dg-wrap { --dg-wrap-margine: var(--dg-space-3); padding-inline: var(--dg-wrap-margine); }
@media (min-width: 768px) { .dg-wrap { --dg-wrap-margine: var(--dg-space-4); } }
@media (min-width: 1200px) { .dg-wrap { --dg-wrap-margine: var(--dg-space-5); } }
.dg-hero .dg-wrap, .dg-hero-pagina .dg-wrap { max-width: none; }

.dg-sezione { padding-block: var(--dg-ss-lg); }
.dg-sfondo-ghiaccio { background: #eef1f1; }
.dg-sfondo-scuro { color: var(--dg-white); background: var(--dg-neutral-900); }
.dg-sfondo-scuro h2, .dg-sfondo-scuro h3 { color: var(--dg-white); }

/* Occhiello: testo mono maiuscolo con il punto giallo */
.dg-occhiello {
	display: flex;
	align-items: center;
	gap: var(--dg-space-2);
	margin: 0 0 var(--dg-space-4);
	font-family: var(--dg-font-mono, ui-monospace, monospace);
	font-size: var(--dg-fs-sm);
	text-transform: uppercase;
	color: var(--dg-neutral-600);
}
.dg-occhiello::before {
	content: "";
	flex: none;
	width: 0.375rem; height: 0.375rem;
	background: var(--dg-primary-500);
	border-radius: var(--dg-radius-circle);
}
.dg-occhiello--chiaro, .dg-sfondo-scuro .dg-occhiello { color: var(--dg-white); }
.dg-cta .dg-occhiello::before { background: var(--dg-neutral-900); }
.dg-cta .dg-occhiello { color: var(--dg-neutral-900); }

.dg-titolo-sezione {
	margin: 0;
	font-size: var(--dg-display-3);
	font-weight: var(--dg-fw-normal);
	line-height: 1.1;
	letter-spacing: -0.03em;
}
.dg-testo-guida { margin: 0; font-size: var(--dg-fs-lg); line-height: var(--dg-lh-base); color: var(--dg-neutral-600); }
.dg-sfondo-scuro .dg-testo-guida { color: var(--dg-neutral-300); }

/* Intestazione: titoli a sinistra, testo a destra in basso */
.dg-intestazione {
	display: grid;
	gap: var(--dg-space-4);
	margin-bottom: var(--dg-ss-sm);
}
@media (min-width: 992px) {
	.dg-intestazione { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: end; gap: var(--dg-space-6); }
	.dg-intestazione__titoli { max-width: 44rem; }
	.dg-intestazione__testo { max-width: 31rem; justify-self: end; }
}
.dg-intestazione__testo { display: flex; flex-direction: column; align-items: flex-start; gap: var(--dg-space-4); }

/* ---------- Pulsanti e link ---------- */
.dg-pulsante {
	display: inline-flex;
	align-items: center;
	gap: var(--dg-space-3);
	padding: var(--dg-space-3);
	font-size: var(--dg-font-size-base);
	font-weight: var(--dg-fw-normal);
	line-height: 1.6;
	text-decoration: none;
	border: var(--dg-border-width) solid transparent;
	border-radius: var(--dg-radius-md);
	transition: background-color var(--dg-duration-fast) var(--dg-ease-standard), color var(--dg-duration-fast) var(--dg-ease-standard);
}
.dg-pulsante .dg-icona { width: 1.5rem; height: 1.5rem; }
.dg-pulsante--giallo { color: var(--dg-neutral-900); background: var(--dg-primary-500); }
.dg-pulsante--giallo:hover { color: var(--dg-neutral-900); background: var(--dg-primary-400); }
.dg-pulsante--scuro { color: var(--dg-white); background: var(--dg-neutral-900); }
.dg-pulsante--scuro:hover { color: var(--dg-white); background: var(--dg-neutral-700); }
.dg-pulsante--contorno { color: var(--dg-neutral-900); background: transparent; border-color: rgba(var(--dg-black-rgb), .5); }
.dg-pulsante--contorno:hover { color: var(--dg-white); background: var(--dg-neutral-900); }
.dg-pulsante--header { padding: var(--dg-space-2) var(--dg-space-3); font-weight: var(--dg-fw-medium); line-height: 1.4; }

.dg-link-freccia {
	display: inline-flex;
	align-items: center;
	gap: var(--dg-space-3);
	padding-bottom: var(--dg-space-1);
	font-family: var(--dg-font-mono, ui-monospace, monospace);
	font-size: var(--dg-fs-sm);
	text-transform: uppercase;
	text-decoration: none;
	color: inherit;
	border-bottom: var(--dg-border-width) solid currentColor;
}
.dg-link-freccia:hover { color: inherit; }
.dg-link-freccia .dg-icona { width: 1.125rem; height: 1.125rem; transition: transform var(--dg-duration-fast) var(--dg-ease-standard); }
.dg-link-freccia:hover .dg-icona { transform: translate(2px, -2px); }

.dg-freccia {
	display: inline-flex; align-items: center; justify-content: center;
	width: 2.5rem; height: 2.5rem;
	padding: 0;
	color: inherit;
	background: transparent;
	border: 0;
	border-radius: var(--dg-radius-circle);
	cursor: pointer;
}
.dg-freccia .dg-icona { width: 1.5rem; height: 1.5rem; }
.dg-freccia:disabled { opacity: var(--dg-disabled-opacity); cursor: default; }

/* ---------- Etichette (brand, utilizzi, incentivi) ---------- */
.dg-etichetta {
	display: inline-flex;
	align-items: center;
	padding: 0.375rem 0.625rem;
	font-family: var(--dg-font-mono, ui-monospace, monospace);
	font-size: var(--dg-fs-sm);
	line-height: 1.5;
	text-transform: uppercase;
	white-space: nowrap;
	border-radius: var(--dg-radius-sm);
}
.dg-etichetta--brand { color: var(--dg-neutral-900); background: var(--dg-primary-500); }
.dg-etichetta--tenue { color: var(--dg-neutral-900); background: #e8edec; }
.dg-etichetta--incentivo { color: var(--dg-neutral-900); background: #a0e1ae; }
.dg-etichetta--velo { padding: var(--dg-space-1) var(--dg-space-2); color: var(--dg-white); background: rgba(var(--dg-black-rgb), .5); border-radius: var(--dg-radius-lg); }
.dg-etichetta--contorno { padding: var(--dg-space-1) var(--dg-space-2); color: var(--dg-neutral-300); border: var(--dg-border-width) solid var(--dg-neutral-300); border-radius: var(--dg-radius-md); }

/* ---------- Header ---------- */
.dg-header {
	position: sticky;
	top: 0;
	z-index: var(--dg-z-sticky);
	color: var(--dg-neutral-900);
	background: var(--dg-white);
	border-bottom: var(--dg-border-width) solid transparent;
	transition: background-color var(--dg-duration-base) var(--dg-ease-standard), color var(--dg-duration-base) var(--dg-ease-standard);
}
.dg-header--trasparente {
	position: fixed;
	left: 0; right: 0;
	color: var(--dg-white);
	background: transparent;
	border-bottom-color: rgba(var(--dg-white-rgb), .2);
}
.dg-header--trasparente.is-scorso,
.dg-header--trasparente.is-menu-aperto { color: var(--dg-neutral-900); background: var(--dg-white); border-bottom-color: var(--dg-border-color); }
.admin-bar .dg-header--trasparente { top: 32px; }
@media (max-width: 782px) { .admin-bar .dg-header--trasparente { top: 46px; } }

.dg-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--dg-space-4);
	max-width: none;
	min-height: 5rem;
}
@media (min-width: 992px) { .dg-header__inner { min-height: 7.75rem; } }
.dg-header__brand { flex: none; width: 5.5rem; color: inherit; }
.dg-header__brand:hover { color: inherit; }
@media (min-width: 992px) { .dg-header__brand { width: 6.625rem; } }
.dg-header__tools { display: flex; align-items: center; gap: var(--dg-space-3); }

.dg-nav__toggle { color: inherit; border-color: currentColor; }
.dg-nav__toggle-chiudi, .dg-nav__toggle[aria-expanded="true"] .dg-nav__toggle-apri { display: none; }
.dg-nav__toggle[aria-expanded="true"] .dg-nav__toggle-chiudi { display: inline-flex; }

.dg-nav__menu > li > a,
.dg-nav__voce {
	display: inline-flex;
	align-items: center;
	gap: var(--dg-space-1);
	padding: 0.3125rem 0;
	font: inherit;
	font-size: var(--dg-font-size-base);
	font-weight: var(--dg-fw-medium);
	color: inherit;
	text-decoration: none;
	background: none;
	border: 0;
	border-bottom: var(--dg-border-width) solid transparent;
	cursor: pointer;
	/* Il colore arriva dall'header, che ha gia' la sua transizione: una seconda qui lo ritarderebbe. */
	transition: none;
}
.dg-nav__menu a:hover, .dg-nav__voce:hover { color: inherit; }
.dg-nav__menu > .current-menu-item > a,
.dg-nav__menu > .current-menu-ancestor > a,
.dg-nav__menu > li > a:hover { color: inherit; border-bottom-color: currentColor; }
.dg-nav__freccia { width: 1rem; height: 1rem; transition: transform var(--dg-duration-fast) var(--dg-ease-standard); }
.dg-nav__voce[aria-expanded="true"] .dg-nav__freccia { transform: rotate(180deg); }

@media (min-width: 992px) {
	.dg-nav { position: absolute; left: 50%; transform: translateX(-50%); }
	.dg-nav__menu { gap: var(--dg-space-5); }
	.dg-nav__menu > li { gap: 2rem; }
	.dg-nav__menu .sub-menu {
		top: calc(100% + var(--dg-space-3));
		left: 50%;
		min-width: 16rem;
		padding: var(--dg-space-4);
		color: var(--dg-neutral-900);
		border: 0;
		border-radius: var(--dg-radius-xl);
		box-shadow: 0 2px 23px rgba(var(--dg-black-rgb), .06);
		transform: translateX(-50%);
	}
	.dg-nav__menu .sub-menu a { padding: var(--dg-space-1) 0; font-weight: var(--dg-fw-medium); color: var(--dg-neutral-900); }
	.dg-nav__menu .sub-menu a:hover { color: var(--dg-neutral-600); }
	/* La tendina si apre al passaggio (base) e al clic sul pulsante (vda.js). */
	.dg-nav__menu .menu-item-has-children.is-aperto > .sub-menu { opacity: 1; visibility: visible; }
	.dg-nav__menu .menu-item-has-children > .sub-menu::before { content: ""; position: absolute; inset: calc(-1 * var(--dg-space-4)) 0 auto; height: var(--dg-space-4); }
}

@media (max-width: 991.98px) {
	.dg-nav {
		position: fixed;
		inset: 5rem 0 0;
		left: 0; right: 0;
		overflow-y: auto;
		padding: var(--dg-space-4) var(--dg-space-3) var(--dg-space-6);
		color: var(--dg-neutral-900);
		background: var(--dg-neutral-50);
		border: 0;
		box-shadow: none;
	}
	.admin-bar .dg-nav { top: calc(5rem + 46px); }
	.dg-nav__menu > li { border-bottom: var(--dg-border-width) solid var(--dg-border-color); }
	.dg-nav__menu > li > a, .dg-nav__voce { width: 100%; justify-content: space-between; padding: var(--dg-space-3) 0; font-size: var(--dg-h5); }
	.dg-nav__menu .sub-menu { display: none; padding: 0 0 var(--dg-space-3); background: transparent; }
	.dg-nav__menu .is-aperto > .sub-menu { display: block; }
	.dg-nav__menu .sub-menu a { padding: var(--dg-space-2) 0; color: var(--dg-neutral-700); }
	.dg-nav__cta { margin-top: var(--dg-space-5); }
}
body.dg-menu-aperto { overflow: hidden; }

/* ---------- Hero della home ---------- */
.dg-hero {
	position: relative;
	display: flex;
	min-height: 100svh;
	color: var(--dg-white);
	background: var(--dg-neutral-900);
	overflow: hidden;
}
.dg-hero__foto { position: absolute; inset: 0; }
.dg-hero__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dg-hero__foto::after { content: ""; position: absolute; inset: 0; z-index: 2; background: rgba(var(--dg-black-rgb), .35); pointer-events: none; }
.dg-hero__contenuto {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	width: 100%;
	padding-top: 7.75rem;
}
.dg-hero__luogo {
	margin: 0 auto auto;
	padding-top: var(--dg-space-4);
	font-family: var(--dg-font-mono, ui-monospace, monospace);
	font-size: var(--dg-fs-sm);
	font-weight: var(--dg-fw-light);
	text-align: right;
	text-transform: uppercase;
}
.dg-hero__principale {
	display: flex;
	flex-direction: column;
	gap: var(--dg-space-4);
	padding-bottom: var(--dg-space-4);
}
@media (min-width: 992px) {
	.dg-hero__principale { flex-direction: row; align-items: flex-end; justify-content: space-between; gap: var(--dg-space-5); padding-bottom: var(--dg-space-5); }
}
.dg-hero__testi { max-width: 44rem; }
.dg-hero__titolo {
	margin: 0 0 var(--dg-space-4);
	font-size: var(--dg-display-1);
	font-weight: var(--dg-fw-medium);
	line-height: 1.05;
	letter-spacing: -0.02em;
	color: var(--dg-white);
}
.dg-hero__testo { max-width: 40rem; margin: 0 0 var(--dg-space-5); font-size: var(--dg-fs-lg); }
/* Su mobile la card si riduce a una riga: miniatura e testo. Da 992px e' quella del disegno (Figma 36:440). */
.dg-hero__card {
	display: flex;
	align-items: center;
	gap: var(--dg-space-3);
	max-width: 30rem;
	padding: var(--dg-space-1);
	background: rgba(var(--dg-black-rgb), .6);
	border-radius: .75rem;
	overflow: hidden;
}
.dg-hero__card-img { display: block; flex: none; width: 6rem; height: auto; aspect-ratio: 289 / 186; object-fit: cover; border-radius: var(--dg-radius-lg); }
.dg-hero__card-corpo { padding-right: var(--dg-space-2); }
.dg-hero__card-titolo { margin: 0; font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-medium); line-height: 1.17; text-transform: uppercase; color: var(--dg-neutral-300); }
@media (min-width: 992px) {
	.dg-hero__card { flex: none; flex-direction: column; align-items: stretch; gap: var(--dg-space-3); width: 18.5625rem; max-width: none; padding-bottom: .375rem; }
	.dg-hero__card-img { width: 100%; }
	.dg-hero__card-corpo { padding: 0 .75rem var(--dg-space-2); }
	/* La prima riga del disegno sta nella colonna per meno di un pixel: la spaziatura la tiene su tre righe. */
	.dg-hero__card-titolo { font-size: var(--dg-font-size-base); letter-spacing: -0.01em; }
}
.dg-hero__badge { display: flex; flex-wrap: wrap; gap: var(--dg-space-1); margin: var(--dg-space-2) 0 0; padding: 0; list-style: none; }
.dg-hero__fondo { border-top: var(--dg-border-width) solid rgba(var(--dg-white-rgb), .2); }
.dg-hero__fondo-inner { display: flex; align-items: center; justify-content: space-between; min-height: 6rem; }
.dg-hero__caption { margin: 0; font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-light); text-transform: uppercase; }
.dg-hero__frecce { display: flex; gap: var(--dg-space-1); }

/* ---------- Striscia dei brand ---------- */
.dg-brand { padding-block: var(--dg-space-6); overflow: hidden; }
.dg-brand__nastro { --swiper-wrapper-transition-timing-function: linear; }
.dg-brand__elenco { margin: 0; padding: 0; list-style: none; align-items: center; }
/* Celle tutte uguali: con larghezze diverse lo scorrimento di Swiper non avrebbe velocita' costante. */
.dg-brand__logo { display: flex; justify-content: center; width: 14rem; margin-right: var(--dg-space-6); }
.dg-brand__logo img { display: block; width: auto; max-width: 100%; height: 2.5rem; object-fit: contain; filter: grayscale(1); opacity: .75; }

/* ---------- Card delle categorie ---------- */
.dg-categorie { display: grid; gap: var(--dg-space-3); grid-template-columns: 1fr; }
@media (min-width: 768px) { .dg-categorie { grid-template-columns: repeat(6, 1fr); } .dg-categorie > * { grid-column: span 3; } }
@media (min-width: 992px) { .dg-categorie > *:nth-child(n+3) { grid-column: span 2; } }
.dg-categoria {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 30rem;
	color: var(--dg-white);
	background: var(--dg-neutral-800);
	border-radius: var(--dg-radius-lg);
	overflow: hidden;
	isolation: isolate;
}
@media (min-width: 992px) { .dg-categoria { min-height: 45.625rem; } }
.dg-categoria__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; transition: transform var(--dg-duration-slow) var(--dg-ease-standard); }
.dg-categoria::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(var(--dg-black-rgb), .6), rgba(var(--dg-black-rgb), 0) 55%); }
@media (prefers-reduced-motion: no-preference) { .dg-categoria:hover .dg-categoria__img { transform: scale(1.04); } }
.dg-categoria__brand { position: absolute; top: var(--dg-space-4); right: var(--dg-space-4); display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--dg-space-1); margin: 0; padding: 0; list-style: none; }
.dg-categoria__corpo { padding: var(--dg-space-5) var(--dg-space-4) var(--dg-space-4); }
@media (min-width: 992px) { .dg-categoria__corpo { padding: var(--dg-space-5) 1.875rem 1.875rem; } }
.dg-categoria__titolo { margin: 0 0 var(--dg-space-3); font-size: var(--dg-h2); line-height: 1.15; color: var(--dg-white); }
.dg-categoria__titolo a, .dg-categoria__titolo a:hover { color: inherit; text-decoration: none; }
.dg-categoria__titolo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.dg-categoria__testo { max-width: 35rem; margin: 0; }

/* ---------- Card dei prodotti ---------- */
.dg-griglia-prodotti { display: grid; gap: var(--dg-space-6) var(--dg-space-4); margin: 0; padding: 0; list-style: none; grid-template-columns: 1fr; }
@media (min-width: 576px) { .dg-griglia-prodotti { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .dg-griglia-prodotti--4 { grid-template-columns: repeat(4, 1fr); gap: var(--dg-space-3); } .dg-griglia-prodotti--3 { grid-template-columns: repeat(3, 1fr); } }
.dg-prodotto { position: relative; display: flex; flex-direction: column; height: 100%; }
.dg-prodotto__media {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 6.5rem var(--dg-space-4) 4.5rem;
	background: var(--dg-white);
	border-radius: var(--dg-radius-lg);
}
.dg-prodotto__img { display: block; width: 100%; height: auto; aspect-ratio: 40 / 29; object-fit: contain; transition: transform var(--dg-duration-base) var(--dg-ease-standard); }
@media (prefers-reduced-motion: no-preference) { .dg-prodotto:hover .dg-prodotto__img { transform: scale(1.04); } }
.dg-prodotto__etichette { position: absolute; top: var(--dg-space-3); left: var(--dg-space-3); right: var(--dg-space-3); display: flex; justify-content: space-between; align-items: flex-start; gap: var(--dg-space-1); }
.dg-prodotto__utilizzi { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: var(--dg-space-1); }
.dg-prodotto__incentivi { position: absolute; left: var(--dg-space-3); bottom: var(--dg-space-3); display: flex; flex-wrap: wrap; gap: var(--dg-space-1); }
.dg-prodotto__corpo { padding-top: var(--dg-space-3); }
.dg-prodotto__titolo { margin: 0 0 var(--dg-space-2); font-size: var(--dg-h4); line-height: 1.3; }
.dg-prodotto__titolo a, .dg-prodotto__titolo a:hover { color: inherit; text-decoration: none; }
.dg-prodotto__titolo a::after { content: ""; position: absolute; inset: 0; }
.dg-prodotto__testo { margin: 0 0 var(--dg-space-3); font-size: var(--dg-fs-sm); line-height: 1.6; }
.dg-prezzo { margin: 0; font-size: var(--dg-font-size-base); }

/* ---------- Banner con foto (agricoltura) ---------- */
.dg-banner { position: relative; display: flex; align-items: flex-end; min-height: 52rem; color: var(--dg-white); background: var(--dg-neutral-900); overflow: hidden; isolation: isolate; }
@media (max-width: 767.98px) { .dg-banner { min-height: 40rem; } }
.dg-banner__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.dg-banner::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(var(--dg-black-rgb), .35); }
.dg-banner__contenuto { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: var(--dg-space-5); padding-block: var(--dg-space-5) var(--dg-space-7); }
.dg-banner__testi { max-width: 44rem; }
.dg-banner .dg-titolo-sezione { color: var(--dg-white); margin-bottom: var(--dg-space-5); }
.dg-banner__testo { margin: 0; font-size: var(--dg-fs-lg); }

/* ---------- Servizi in home ---------- */
.dg-servizi-home { display: grid; gap: var(--dg-space-5); }
@media (min-width: 992px) { .dg-servizi-home { grid-template-columns: 1fr 1fr; gap: 5%; align-items: start; } }
.dg-servizi-home__img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--dg-radius-lg); }
.dg-numerati { margin: 0; padding: 0; list-style: none; }
.dg-numerati__voce {
	display: grid;
	grid-template-columns: 2.5rem 1fr;
	gap: var(--dg-space-2) var(--dg-space-3);
	padding-block: var(--dg-space-5);
	border-top: var(--dg-border-width) solid rgba(var(--dg-white-rgb), .2);
}
@media (min-width: 768px) { .dg-numerati__voce { grid-template-columns: 2.5rem 1fr 1fr; gap: var(--dg-space-5); } }
.dg-numerati__numero { padding-top: 0.5em; font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); color: var(--dg-primary-500); }
.dg-numerati__titolo { margin: 0; font-size: var(--dg-h3); line-height: 1.3; }
.dg-numerati__testo { grid-column: 2; margin: 0; font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); line-height: 1.6; color: var(--dg-neutral-300); }
@media (min-width: 768px) { .dg-numerati__testo { grid-column: 3; } }
.dg-servizi-home__cta { display: flex; justify-content: flex-end; margin-top: var(--dg-space-4); }

/* ---------- Riquadri (accessori in home) ---------- */
.dg-riquadri { display: grid; gap: var(--dg-space-3); margin: 0; padding: 0; list-style: none; grid-template-columns: 1fr; }
@media (min-width: 576px) { .dg-riquadri { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 992px) { .dg-riquadri { grid-template-columns: repeat(4, 1fr); } }
.dg-riquadro { position: relative; display: flex; flex-direction: column; background: #eef1f1; border-radius: var(--dg-radius-lg); overflow: hidden; }
.dg-riquadro__img { display: block; width: 100%; aspect-ratio: 6 / 7; object-fit: cover; }
.dg-riquadro__corpo { padding: var(--dg-space-5) var(--dg-space-5) var(--dg-space-5); }
@media (max-width: 1199.98px) { .dg-riquadro__corpo { padding: var(--dg-space-4); } }
.dg-riquadro__titolo { margin: 0 0 var(--dg-space-3); font-size: var(--dg-h3); line-height: 1.3; }
.dg-riquadro__titolo a, .dg-riquadro__titolo a:hover { color: inherit; text-decoration: none; }
.dg-riquadro__titolo a::after { content: ""; position: absolute; inset: 0; }
.dg-riquadro__testo { margin: 0; font-size: var(--dg-fs-sm); line-height: 1.4; color: var(--dg-neutral-600); }

/* ---------- CTA gialla ---------- */
.dg-cta { padding-block: var(--dg-ss-xl); color: var(--dg-neutral-900); background: var(--dg-primary-500); }
.dg-cta__corpo { display: grid; gap: var(--dg-space-5); align-items: center; }
@media (min-width: 992px) { .dg-cta__corpo { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); justify-content: space-between; } }
.dg-cta__titolo { margin: 0; font-size: var(--dg-display-2); font-weight: var(--dg-fw-normal); line-height: 1.05; letter-spacing: -0.03em; color: var(--dg-neutral-900); }
.dg-cta__azione { display: flex; flex-direction: column; align-items: flex-start; gap: var(--dg-space-5); max-width: 28.5rem; }
@media (min-width: 992px) { .dg-cta__azione { justify-self: end; } }
.dg-cta__testo { margin: 0; }
/* Versione grande della home: occhiello sopra una linea, titolo enorme, testo e pulsante sotto. */
.dg-cta--grande { padding-block: var(--dg-ss-lg); }
.dg-cta__testa { padding-bottom: var(--dg-space-6); border-bottom: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2); }
.dg-cta__testa .dg-occhiello { margin: 0; }
.dg-cta--grande .dg-cta__corpo { grid-template-columns: 1fr; gap: 0; }
/* Elemento distintivo della home: titolo oltre la scala dei display (1,75 volte il display-1). */
.dg-cta--grande .dg-cta__titolo { padding-block: var(--dg-space-7); font-size: calc(var(--dg-display-1) * 1.75); font-weight: var(--dg-fw-medium); line-height: 1; }
.dg-cta--grande .dg-cta__azione { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; justify-self: stretch; max-width: none; padding-top: var(--dg-space-6); border-top: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2); }
.dg-cta--grande .dg-cta__testo { max-width: 28rem; }

/* ---------- Footer ---------- */
.dg-footer { padding-block: var(--dg-ss-lg) 0; color: var(--dg-neutral-300); background: var(--dg-neutral-900); }
.dg-footer__top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: var(--dg-space-4); padding-bottom: var(--dg-space-6); border-bottom: var(--dg-border-width) solid rgba(var(--dg-white-rgb), .2); }
.dg-footer .dg-footer__logo { width: 6.625rem; margin: 0; color: var(--dg-white); }
.dg-footer__frase { max-width: 20.5rem; margin: 0; font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-light); text-transform: uppercase; color: var(--dg-neutral-500); }
.dg-footer__grid { display: grid; gap: var(--dg-space-6); padding-block: var(--dg-ss-md) var(--dg-ss-lg); grid-template-columns: 1fr; }
@media (min-width: 992px) { .dg-footer__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); } }
.dg-footer__societa { margin: 0 0 var(--dg-space-3); font-size: var(--dg-h5); font-weight: var(--dg-fw-medium); }
.dg-footer__address, .dg-footer__piva { margin: 0 0 var(--dg-space-1); font-style: normal; font-weight: var(--dg-fw-light); }
.dg-footer__title { margin: var(--dg-space-5) 0 var(--dg-space-3); font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-medium); text-transform: uppercase; color: var(--dg-neutral-500); }
.dg-footer__menu .dg-footer__title { margin-top: 0; }
.dg-footer__contatti { display: grid; gap: var(--dg-space-1); margin: 0; padding: 0; list-style: none; }
.dg-footer__contatti a { display: inline-flex; align-items: center; gap: var(--dg-space-2); text-decoration: none; }
.dg-footer__contatti .dg-icona { width: 1.125rem; height: 1.125rem; }
.dg-footer__social { margin-top: var(--dg-space-2); }
.dg-footer__menu { display: grid; gap: var(--dg-space-5) var(--dg-space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .dg-footer__menu { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.dg-footer__list a { text-decoration: none; font-size: var(--dg-fs-sm); }
@media (min-width: 992px) { .dg-footer__list a { font-size: var(--dg-font-size-base); } }
.dg-footer__list .current-menu-item > a { color: var(--dg-white); }
.dg-footer__bottom { margin-top: 0; padding-block: var(--dg-space-6); border-top-color: rgba(var(--dg-white-rgb), .2); }
.dg-footer__bottom a { text-decoration: none; }

/* ---------- Pagine con intestazione (prodotti, contatti, scheda) ---------- */
.dg-pagina { padding-block: var(--dg-ss-lg); }
.dg-intestazione--pagina { margin-bottom: 0; padding-block: var(--dg-space-6) var(--dg-space-6); }
.dg-intestazione--pagina .dg-titolo-sezione { font-weight: var(--dg-fw-medium); }
.dg-pagina__corpo { padding-top: var(--dg-ss-lg); border-top: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2); }
.dg-titolo-sezione--medio { font-size: var(--dg-display-5); font-weight: var(--dg-fw-medium); }
.dg-sfondo-scuro .dg-titolo-sezione--medio { font-weight: var(--dg-fw-normal); }
.dg-sezione--linea { border-top: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2); }
.dg-occhiello--senza-punto::before { display: none; }

/* ---------- Hero delle pagine interne ---------- */
.dg-hero-pagina {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 40rem;
	color: var(--dg-white);
	background: var(--dg-neutral-800);
	overflow: hidden;
	isolation: isolate;
}
@media (min-width: 992px) { .dg-hero-pagina { min-height: 53.125rem; } }
.dg-hero-pagina__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.dg-hero-pagina::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(var(--dg-black-rgb), .55), rgba(var(--dg-black-rgb), .15) 60%, rgba(var(--dg-black-rgb), .3)); }
.dg-hero-pagina__contenuto { display: grid; gap: var(--dg-space-4); padding-block: 9rem var(--dg-space-6); }
@media (min-width: 992px) { .dg-hero-pagina__contenuto { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); justify-content: space-between; align-items: end; } }
.dg-hero-pagina__titolo { max-width: 55.875rem; margin: 0; font-size: var(--dg-display-2); font-weight: var(--dg-fw-medium); line-height: 1.1; letter-spacing: -0.03em; color: var(--dg-white); }
.dg-hero-pagina__testo { max-width: 31rem; margin: 0; font-size: var(--dg-fs-lg); line-height: 1.6; }
@media (min-width: 992px) { .dg-hero-pagina__testo { justify-self: end; } }
.dg-hero-pagina--centrata { min-height: 45rem; }
@media (min-width: 992px) { .dg-hero-pagina--centrata { min-height: 68.75rem; } }
.dg-hero-pagina--centrata .dg-hero-pagina__contenuto { grid-template-columns: 1fr; justify-items: center; text-align: center; }
.dg-hero-pagina--centrata .dg-hero-pagina__testo { max-width: 57.5rem; justify-self: center; }
/* Elemento distintivo: il nome del brand oltre la scala dei display (1,36 volte il display-1). */
.dg-hero-pagina--brand .dg-hero-pagina__titolo { font-size: calc(var(--dg-display-1) * 1.36); line-height: 1.1; }

/* ---------- Elenco dei servizi ---------- */
.dg-elenco-servizi { margin: 0; padding: 0; list-style: none; }
.dg-elenco-servizi__voce {
	position: relative;
	display: grid;
	grid-template-columns: 2rem 1fr;
	gap: var(--dg-space-3);
	align-items: center;
	padding-block: var(--dg-space-5);
	border-top: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2);
}
@media (min-width: 992px) { .dg-elenco-servizi__voce { grid-template-columns: 2rem 1.3fr 1fr 10rem 3rem; gap: var(--dg-space-6); } }
.dg-elenco-servizi__numero { font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); color: var(--dg-neutral-500); }
.dg-elenco-servizi__titolo { margin: 0; font-size: var(--dg-h2); font-weight: var(--dg-fw-medium); line-height: 1.2; color: var(--dg-neutral-800); }
.dg-elenco-servizi__titolo a, .dg-elenco-servizi__titolo a:hover { color: inherit; text-decoration: none; }
.dg-elenco-servizi__titolo a::after { content: ""; position: absolute; inset: 0; }
.dg-elenco-servizi__testo { grid-column: 2; margin: 0; color: var(--dg-neutral-600); }
.dg-elenco-servizi__img { grid-column: 2; width: 10rem; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--dg-radius-lg); }
.dg-elenco-servizi__freccia { display: none; }
@media (min-width: 992px) {
	.dg-elenco-servizi__testo, .dg-elenco-servizi__img { grid-column: auto; }
	.dg-elenco-servizi__freccia { display: flex; justify-content: flex-end; }
	.dg-elenco-servizi__freccia .dg-icona { width: 2.25rem; height: 2.25rem; transition: transform var(--dg-duration-fast) var(--dg-ease-standard); }
	.dg-elenco-servizi__voce:hover .dg-icona { transform: translateX(4px); }
}

/* ---------- Foto e testo affiancati (chi siamo, servizio) ---------- */
.dg-affiancato { display: grid; gap: var(--dg-space-5); align-items: start; }
@media (min-width: 992px) { .dg-affiancato { grid-template-columns: 1fr 1fr; gap: var(--dg-space-6); } .dg-affiancato__testo { padding-top: var(--dg-space-6); } }
.dg-affiancato__img { display: block; width: 100%; aspect-ratio: 8 / 9; object-fit: cover; border-radius: var(--dg-radius-lg); }
@media (min-width: 992px) { .dg-affiancato--inverso .dg-affiancato__foto { order: 2; } }
.dg-affiancato .dg-titolo-sezione { margin-bottom: var(--dg-space-5); }
.dg-testo-lungo { font-size: var(--dg-fs-lg); line-height: 1.6; }
.dg-spunte { display: grid; gap: var(--dg-space-2); margin: var(--dg-space-4) 0 var(--dg-space-5); padding: 0; list-style: none; }
.dg-spunte li { display: flex; gap: var(--dg-space-2); }
.dg-spunte .dg-icona { width: 1.5rem; height: 1.5rem; color: var(--dg-primary-600); }

/* ---------- Sede (chi siamo, fondo scuro) ---------- */
.dg-sede__foto { display: grid; gap: var(--dg-space-3); }
@media (min-width: 768px) { .dg-sede__foto { grid-template-columns: 3.57fr 1fr; } }
.dg-sede__img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--dg-radius-lg); }
@media (min-width: 768px) { .dg-sede__img { aspect-ratio: auto; max-height: 46.75rem; } .dg-sede__img--1 { aspect-ratio: 7 / 5; } }
.dg-sede__testi { display: grid; gap: var(--dg-space-5); margin-top: var(--dg-ss-md); padding-top: var(--dg-ss-md); border-top: var(--dg-border-width) solid rgba(var(--dg-white-rgb), .2); }
@media (min-width: 992px) { .dg-sede__testi { grid-template-columns: 1fr 1.75fr; gap: var(--dg-space-6); } }
.dg-sede__testo { margin: 0; font-size: var(--dg-fs-lg); line-height: 1.6; color: var(--dg-neutral-100); }
@media (min-width: 992px) { .dg-sede__testo { columns: 2; column-gap: var(--dg-space-6); } }
.dg-foto-larga { display: block; width: 100%; height: auto; border-radius: var(--dg-radius-lg); }

/* ---------- Contatti ---------- */
.dg-contatti { display: grid; gap: var(--dg-space-6); }
@media (min-width: 992px) { .dg-contatti { grid-template-columns: 5fr 7fr; } }
.dg-contatti__blocco + .dg-contatti__blocco { margin-top: var(--dg-space-6); }
.dg-contatti__etichetta { margin: 0 0 var(--dg-space-4); font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-font-size-base); font-weight: var(--dg-fw-normal); letter-spacing: 0; text-transform: uppercase; }
.dg-contatti__indirizzo { margin: 0 0 var(--dg-space-3); font-size: var(--dg-h4); font-style: normal; line-height: 1.3; }
.dg-contatti__orario { margin: 0 0 var(--dg-space-4); font-size: var(--dg-h5); }
.dg-contatti__elenco { display: grid; gap: var(--dg-space-2); margin: 0; padding: 0; list-style: none; font-size: var(--dg-h5); }
.dg-contatti__elenco a { text-decoration: none; }
.dg-contatti__elenco a:hover { text-decoration: underline; }
/* Form: campi bianchi senza bordo e alti come nel vecchio sito (variabili dello stile CF7 della base). */
.dg-contatti__form { --dg-cf7-field-height: 5.625rem; --dg-cf7-field-radius: var(--dg-radius-xl); }
.dg-contatti__form .wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance) { background: var(--dg-white); border-color: transparent; }
.dg-contatti__form textarea.wpcf7-form-control { min-height: 15rem; }

/* ---------- Scheda prodotto ---------- */
.dg-scheda__griglia { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--dg-space-5); align-items: start; }
@media (min-width: 992px) { .dg-scheda__griglia { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--dg-space-7); } .dg-scheda__galleria { position: sticky; top: 9rem; } }
.dg-galleria { --swiper-pagination-bottom: var(--dg-space-3); background: var(--dg-white); border-radius: var(--dg-radius-lg); }
.dg-galleria__binario { margin: 0; padding: 0; list-style: none; }
.dg-galleria__img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: contain; }
.dg-galleria__punti { position: absolute; left: 0; right: 0; z-index: 2; display: flex; justify-content: center; gap: var(--dg-space-1); }
.dg-galleria__punto { width: 0.5rem; height: 0.5rem; padding: 0; background: rgba(var(--dg-black-rgb), .2); border: 0; border-radius: var(--dg-radius-circle); cursor: pointer; }
.dg-galleria__punto.is-attivo { background: var(--dg-primary-500); }
.dg-galleria__frecce { position: absolute; right: var(--dg-space-4); bottom: var(--dg-space-5); z-index: 2; display: flex; gap: var(--dg-space-1); }
.dg-scheda__titolo { margin: 0 0 var(--dg-space-4); font-size: var(--dg-display-6); font-weight: var(--dg-fw-normal); line-height: 1.1; letter-spacing: -0.03em; text-transform: uppercase; }
.dg-scheda__descrizione { margin-bottom: var(--dg-space-4); }
.dg-prezzo--grande .dg-prezzo__prefisso { color: var(--dg-neutral-600); }
.dg-prezzo--grande .dg-prezzo__valore { font-size: var(--dg-h5); font-weight: var(--dg-fw-medium); }
.dg-scheda__incentivi { display: flex; flex-wrap: wrap; gap: var(--dg-space-1); margin-top: var(--dg-space-4); }
.dg-contatto-card { margin-top: var(--dg-space-5); padding: var(--dg-space-5) var(--dg-space-4); background: var(--dg-white); border-radius: var(--dg-radius-md); }
@media (min-width: 576px) { .dg-contatto-card { padding: var(--dg-space-5); } }
.dg-contatto-card .dg-occhiello { margin-bottom: var(--dg-space-3); }
.dg-contatto-card__titolo { margin: 0 0 var(--dg-space-4); font-size: var(--dg-h4); font-weight: var(--dg-fw-medium); line-height: 1.2; }
.dg-contatto-card__testo { margin: 0 0 var(--dg-space-5); font-size: var(--dg-fs-sm); color: var(--dg-neutral-600); }
.dg-contatto-card__azioni { display: grid; gap: var(--dg-space-2); }
.dg-pulsante--pieno { justify-content: center; width: 100%; }
.dg-contatto-card__dettagli { display: grid; gap: var(--dg-space-2); margin: var(--dg-space-5) 0 0; padding-top: var(--dg-space-5); border-top: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2); }
.dg-contatto-card__dettagli div { display: flex; justify-content: space-between; gap: var(--dg-space-3); }
.dg-contatto-card__dettagli dt { font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-normal); text-transform: uppercase; color: var(--dg-neutral-500); }
.dg-contatto-card__dettagli dd { margin: 0; font-size: var(--dg-fs-sm); text-align: right; }
.dg-scheda__sezione { padding-top: var(--dg-ss-lg); }
.dg-caratteristiche { display: grid; gap: var(--dg-space-5) var(--dg-space-6); margin: 0; padding: 0; list-style: none; grid-template-columns: 1fr; }
@media (min-width: 768px) { .dg-caratteristiche { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .dg-caratteristiche { grid-template-columns: repeat(4, 1fr); } }
.dg-caratteristiche__titolo { margin: 0 0 var(--dg-space-3); font-size: var(--dg-h5); font-weight: var(--dg-fw-medium); }
.dg-caratteristiche__testo { margin: 0; font-size: var(--dg-fs-sm); line-height: 1.6; }
.dg-specifiche { display: grid; gap: 0 var(--dg-space-6); margin: 0; grid-template-columns: 1fr; }
@media (min-width: 768px) { .dg-specifiche { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .dg-specifiche { grid-template-columns: repeat(3, 1fr); } }
.dg-specifiche__riga { display: flex; justify-content: space-between; align-items: baseline; gap: var(--dg-space-4); padding-block: var(--dg-space-4); border-bottom: var(--dg-border-width) solid rgba(var(--dg-white-rgb), .2); }
.dg-specifiche dt { font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-normal); text-transform: uppercase; color: var(--dg-neutral-400); }
.dg-specifiche dd { margin: 0; text-align: right; }

/* ---------- Carosello di card ---------- */
.dg-carosello { position: relative; }
/* Larghezze e margine valgono prima che Swiper parta (poi li imposta lui, uguali), cosi' la pagina non salta. */
.dg-carosello__binario { margin: 0; padding: 0; list-style: none; }
.dg-carosello__voce { width: 85%; height: auto; margin-right: var(--dg-space-4); }
@media (min-width: 768px) { .dg-carosello__voce { width: calc((100% - var(--dg-space-4)) / 2); } }
@media (min-width: 1200px) { .dg-carosello__voce { width: calc((100% - 3 * var(--dg-space-4)) / 4); } }
.dg-carosello__frecce { display: flex; justify-content: flex-end; gap: var(--dg-space-2); margin-top: var(--dg-space-4); }
/* Niente da scorrere: Swiper blocca le frecce e la riga sparisce. */
.dg-carosello__frecce:has(.swiper-button-lock) { display: none; }
.dg-freccia--tonda { width: 4rem; height: 4rem; color: var(--dg-neutral-900); background: var(--dg-white); box-shadow: 0 4px 18px rgba(var(--dg-black-rgb), .25); }

/* ---------- Archivio prodotti con filtri ---------- */
.dg-archivio { display: grid; gap: var(--dg-space-5); }
@media (min-width: 992px) { .dg-archivio { grid-template-columns: 17rem 1fr; gap: 0; } .dg-archivio--senza-filtri { grid-template-columns: 1fr; } .dg-archivio__elenco { padding-left: var(--dg-space-6); border-left: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2); } .dg-archivio--senza-filtri .dg-archivio__elenco { padding-left: 0; border-left: 0; } .dg-filtri { padding-right: var(--dg-space-4); } }
.dg-filtri__gruppo + .dg-filtri__gruppo { margin-top: var(--dg-space-5); }
.dg-filtri__titolo { margin: 0 0 var(--dg-space-3); font-family: var(--dg-font-mono, ui-monospace, monospace); font-size: var(--dg-fs-sm); font-weight: var(--dg-fw-normal); letter-spacing: 0; text-transform: uppercase; color: var(--dg-neutral-600); }
.dg-filtri__elenco { display: flex; flex-wrap: wrap; gap: var(--dg-space-1); margin: 0; padding: 0; list-style: none; }
.dg-filtro {
	display: inline-flex; align-items: center; gap: var(--dg-space-2);
	padding: 0.625rem 0.75rem;
	font-family: var(--dg-font-mono, ui-monospace, monospace);
	font-size: var(--dg-fs-sm);
	line-height: 1.2;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--dg-neutral-900);
	border: var(--dg-border-width) solid rgba(var(--dg-black-rgb), .2);
	border-radius: var(--dg-radius-pill);
	transition: background-color var(--dg-duration-fast) var(--dg-ease-standard), border-color var(--dg-duration-fast) var(--dg-ease-standard);
}
.dg-filtro:hover { color: var(--dg-neutral-900); border-color: var(--dg-neutral-900); }
.dg-filtro.is-attivo { background: var(--dg-primary-500); border-color: var(--dg-primary-500); }
.dg-filtro__conta { color: var(--dg-neutral-400); }
.dg-filtro.is-attivo .dg-filtro__conta { color: var(--dg-neutral-700); }

/* ---------- Passi (come funziona un servizio) ---------- */
.dg-passi { display: grid; gap: var(--dg-space-5); margin: 0; padding: 0; list-style: none; grid-template-columns: 1fr; }
@media (min-width: 768px) { .dg-passi { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1200px) { .dg-passi { grid-template-columns: repeat(4, 1fr); } }
.dg-passi__voce { padding-top: var(--dg-space-4); border-top: var(--dg-border-width) solid rgba(var(--dg-white-rgb), .2); }
.dg-passi__titolo { margin: var(--dg-space-3) 0; font-size: var(--dg-h4); }
.dg-passi__testo { margin: 0; color: var(--dg-neutral-300); }

/* Link nei testi del progetto: colore del testo, non quello dei link del framework. */
.dg-contatti a, .dg-contatti__form .wpcf7-acceptance a, .dg-content a { color: inherit; }
.dg-contatti__form .wpcf7-acceptance a { font-weight: var(--dg-fw-semibold); }

/* ---------- Pagina di manutenzione ---------- */
.dg-manutenzione {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--dg-space-6);
	min-height: 100svh;
	color: var(--dg-white);
	background: var(--dg-neutral-900);
	isolation: isolate;
	overflow: hidden;
}
.dg-manutenzione__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.dg-manutenzione::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to top, rgba(var(--dg-black-rgb), .75), rgba(var(--dg-black-rgb), .25) 60%, rgba(var(--dg-black-rgb), .35)); }
.dg-manutenzione__alto { padding-top: var(--dg-space-4); }
.dg-manutenzione__logo { width: 6.625rem; color: var(--dg-white); }
.dg-manutenzione__contenuto { display: grid; gap: var(--dg-space-5); padding-bottom: var(--dg-space-5); }
@media (min-width: 992px) { .dg-manutenzione__contenuto { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); justify-content: space-between; align-items: end; } }
.dg-manutenzione__titolo { max-width: 55.875rem; margin: 0; font-size: var(--dg-display-2); font-weight: var(--dg-fw-medium); line-height: 1.1; letter-spacing: -0.03em; color: var(--dg-white); }
.dg-manutenzione__testo { max-width: 40rem; margin: var(--dg-space-4) 0 0; font-size: var(--dg-fs-lg); line-height: 1.6; }
.dg-manutenzione__contatti { font-size: var(--dg-font-size-base); }
@media (min-width: 992px) { .dg-manutenzione__contatti { justify-self: end; } }
.dg-manutenzione__indirizzo { margin: 0 0 var(--dg-space-3); font-style: normal; }
.dg-manutenzione__contatti ul { display: flex; flex-direction: column; gap: var(--dg-space-2); margin: 0; padding: 0; list-style: none; }
.dg-manutenzione__contatti a, .dg-manutenzione__contatti a:hover { display: inline-flex; align-items: center; gap: var(--dg-space-2); color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.dg-manutenzione__contatti a:hover span { text-decoration: underline; }
.dg-manutenzione__contatti .dg-icona { flex: none; width: 1.25rem; height: 1.25rem; }
