/*
 * Layout globale: header, menu laterale, breadcrumb, footer (Figma: UI_header, CIDAS_MENU, UI_footer).
 * Solo token di theme.json; le icone sono gli SVG del tema usati come mask.
 */

:root {
	--cidas-utility-h: 48px;
	--cidas-header-h: 56px;
	--cidas-icon-arrow-forward: url("../images/icon-arrow-forward.svg");
	--cidas-icon-arrow-drop-down: url("../images/icon-arrow-drop-down.svg");
	--cidas-icon-location: url("../images/icon-location.svg");
	--cidas-icon-chevron-right: url("../images/icon-chevron-right.svg");
	--cidas-icon-menu: url("../images/icon-menu.svg");
	--cidas-icon-close: url("../images/icon-close.svg");
}

/* Definita su body: --wp--style--root--padding-left esiste solo lì. */
body {
	--cidas-gutter: var(--wp--style--root--padding-left);
}

@media (max-width: 781px) {
	:root {
		/* Figma CIDAS_HOME_360: barra principale 64px (8 + 48 + 8), niente barra di servizio. */
		--cidas-header-h: 64px;
		--cidas-utility-h: 0px;
	}
}

/* Header, menu e footer gestiscono le spaziature da soli: niente margini del layout "flow". */
.cidas-header :where(.is-layout-flow) > *,
.cidas-header.is-layout-flow > *,
.cidas-drawer :where(.is-layout-flow) > *,
.cidas-drawer.is-layout-flow > *,
.cidas-footer :where(.is-layout-flow) > *,
.cidas-footer.is-layout-flow > * {
	margin-block: 0;
}

.cidas-header .wp-block-navigation__container,
.cidas-drawer .wp-block-navigation__container,
.cidas-footer .wp-block-navigation__container {
	gap: 0;
}

.screen-reader-text:not(:focus) {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.cidas-icon {
	display: block;
	flex: none;
	height: 1.25rem;
	width: 1.25rem;
}

/* Icona da file SVG tramite mask: prende il colore del testo. */
.cidas-mask-icon,
.cidas-nav-arrows .wp-block-navigation-item__content::before {
	background-color: currentColor;
	content: "";
	display: inline-block;
	flex: none;
	height: 1.25rem;
	mask: var(--cidas-icon) center / contain no-repeat;
	width: 1.25rem;
}

/* ============================================================== */
/* Navigazioni: reset comuni                                       */
/* ============================================================== */

.cidas-header .wp-block-navigation,
.cidas-drawer .wp-block-navigation,
.cidas-footer .wp-block-navigation {
	--wp--style--block-gap: 0;
	font-family: var(--wp--preset--font-family--sans);
}

.cidas-header .wp-block-navigation-item__content,
.cidas-footer .wp-block-navigation-item__content {
	text-decoration: none;
}

.cidas-header .wp-block-navigation-item__content:hover,
.cidas-footer .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* Liste con separatore "•" (barra di servizio, note legali). */
.cidas-nav-dotted .wp-block-navigation__container {
	align-items: center;
	gap: var(--wp--preset--spacing--20);
}

.cidas-nav-dotted .wp-block-navigation-item + .wp-block-navigation-item::before {
	content: "•" / "";
	font-weight: 500;
	margin-inline-end: var(--wp--preset--spacing--20);
}

/* ============================================================== */
/* Header                                                          */
/* ============================================================== */

/*
 * Header fisso (Figma: CIDAS_HOME_STICKY-HEADER-LIGHT), classi da assets/js/header.js:
 * - scorrendo verso il basso l'header scorre via con la pagina (non è agganciato);
 * - scorrendo verso l'alto si aggancia (.is-pinned) e, oltre la barra di servizio (.is-stuck), scende
 *   dall'alto: solo barra principale, bianca, alta 64px (4 + 56 + 4) con ombra. La barra di servizio resta
 *   sopra il bordo della finestra (top negativo); sfondo e 4px sopra/sotto li disegna ::before, così
 *   l'altezza dell'header non cambia e la pagina non salta;
 * - riprendendo a scorrere verso il basso risale (.is-leaving) e si sgancia.
 */
.cidas-site-header {
	position: relative;
	z-index: 50;
}

.cidas-site-header.is-pinned {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--cidas-utility-h) + 4px);
}

.cidas-site-header.is-stuck {
	animation: cidas-header-in 0.2s ease;
}

.cidas-site-header.is-leaving {
	transform: translateY(calc(-100% - 8px));
	transition: transform 0.2s ease;
}

@keyframes cidas-header-in {
	from {
		transform: translateY(calc(-100% - 8px));
	}
}

.cidas-site-header.is-stuck::before {
	background-color: var(--wp--preset--color--base);
	bottom: -4px;
	box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.3), 0 1px 3px 1px rgb(0 0 0 / 0.15);
	content: "";
	height: calc(var(--cidas-header-h) + 8px);
	inset-inline: 0;
	position: absolute;
	z-index: -1;
}

.cidas-site-header.is-stuck .cidas-header {
	background-color: transparent;
}

.cidas-site-header.is-stuck .cidas-header__utility {
	visibility: hidden;
}

/* Mobile: niente barra di servizio, l'header resta a filo e lo sfondo fisso è alto quanto la barra. */
@media (max-width: 781px) {
	.cidas-site-header.is-pinned {
		top: var(--wp-admin--admin-bar--height, 0px);
	}

	.cidas-site-header.is-stuck::before {
		bottom: 0;
		height: var(--cidas-header-h);
	}
}

@media (prefers-reduced-motion: reduce) {
	.cidas-site-header.is-stuck,
	.cidas-site-header.is-leaving {
		animation: none;
		transition: none;
	}
}

.cidas-header {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	padding-inline: var(--cidas-gutter);
	transition: box-shadow 0.2s ease;
}

.cidas-header > * {
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
}

.cidas-header__utility {
	align-items: center;
	display: flex;
	height: var(--cidas-utility-h);
	justify-content: space-between;
}

.cidas-header__utility .wp-block-navigation {
	font-size: var(--wp--preset--font-size--label-l);
	font-weight: 600;
	line-height: 1.2857;
}

.cidas-header__utility .wp-block-navigation-item__content {
	align-items: center;
	display: flex;
	min-height: 48px;
}

/* Barra di servizio (Figma): 12px tra voce e puntino. */
.cidas-header__utility .cidas-nav-dotted .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--30);
}

.cidas-header__utility .cidas-nav-dotted .wp-block-navigation-item + .wp-block-navigation-item::before {
	margin-inline-end: var(--wp--preset--spacing--30);
}

/* Ricerca nel sito (menu laterale): campo con pulsante. */
.cidas-site-search .wp-block-search__inside-wrapper {
	align-items: center;
	border: 1px solid var(--wp--preset--color--outline-variant);
	border-radius: var(--wp--custom--radius--pill);
	box-sizing: border-box;
	padding: 4px;
}

.cidas-site-search .wp-block-search__input {
	background: transparent;
	border: 0;
	color: inherit;
	font: inherit;
	font-size: var(--wp--preset--font-size--body-m);
	min-width: 0;
	padding-inline: 12px;
}

.cidas-site-search .wp-block-search__input::placeholder {
	color: inherit;
	opacity: 0.8;
}

.cidas-site-search .wp-block-search__button {
	align-items: center;
	background-color: var(--wp--preset--color--primary);
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--on-primary);
	display: flex;
	height: 40px;
	justify-content: center;
	margin: 0;
	padding: 0;
	width: 40px;
}

.cidas-site-search .wp-block-search__button svg {
	fill: currentColor;
	height: 24px;
	width: 24px;
}

@media (max-width: 781px) {
	.cidas-header__utility {
		display: none;
	}
}

.cidas-header__main {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	gap: var(--wp--preset--spacing--30);
	justify-content: space-between;
	min-height: var(--cidas-header-h);
	padding-block: 3px;
}

.cidas-header-sentinel {
	height: max(1px, var(--cidas-utility-h));
	inset-block-start: 0;
	inset-inline: 0;
	pointer-events: none;
	position: absolute;
}

.cidas-logo {
	display: block;
	flex: none;
	line-height: 0;
}

.cidas-logo img {
	height: 40px;
	width: auto;
}

/* Pillola azioni: Servizi, Lavora con noi, menu. */
.cidas-header__actions {
	align-items: center;
	background-color: var(--wp--preset--color--surface);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--outline) 8%, transparent);
	border-radius: var(--wp--custom--radius--pill);
	box-sizing: border-box;
	display: flex;
	gap: var(--wp--preset--spacing--40);
	justify-content: space-between;
	padding-inline-start: var(--wp--preset--spacing--30);
}

/* Desktop: pillola larga 288px come in Figma (le voci si distribuiscono). */
@media (min-width: 782px) {
	.cidas-header__actions {
		min-width: 288px;
	}
}

.cidas-menu--actions .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--50);
}

.cidas-menu--actions > .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	align-items: center;
	display: flex;
	font-size: var(--wp--preset--font-size--label-l);
	font-weight: 600;
	gap: var(--wp--preset--spacing--20);
	line-height: 1.2857;
	min-height: 48px;
}

/* "Servizi": icona prima dell'etichetta (desktop: menu a tendina, mobile: posizione). */
.cidas-menu--actions .has-child > .wp-block-navigation-item__content::before {
	--cidas-icon: var(--cidas-icon-arrow-drop-down);
	background-color: currentColor;
	content: "";
	height: 1.25rem;
	mask: var(--cidas-icon) center / contain no-repeat;
	width: 1.25rem;
}

/* Tendina delle aree di servizio. */
.cidas-menu--actions .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--base) !important;
	border: 1px solid var(--wp--preset--color--outline-variant) !important;
	border-radius: var(--wp--custom--radius--m);
	box-shadow: 0 4px 8px 3px rgb(0 0 0 / 0.15);
	color: var(--wp--preset--color--contrast) !important;
	font-size: var(--wp--preset--font-size--body-m);
	font-weight: 500;
	min-width: 16rem !important;
	padding: var(--wp--preset--spacing--20) 0;
	top: calc(100% + var(--wp--preset--spacing--20)) !important;
}

/* Ponte invisibile sullo spazio tra "Servizi" e la tendina: senza, il mouse che scende esce
   dall'hover e la tendina si chiude. */
.cidas-menu--actions .wp-block-navigation__submenu-container::before {
	content: "";
	height: calc(var(--wp--preset--spacing--20) + 1px);
	inset-block-end: 100%;
	inset-inline: 0;
	position: absolute;
}

.cidas-menu--actions .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40) !important;
}

@media (max-width: 781px) {
	.cidas-header__main {
		padding-block: var(--wp--preset--spacing--20);
	}

	/* Pillola alta 48px compreso il bordo (Figma: Actions h48). */
	.cidas-header__actions {
		box-sizing: border-box;
		gap: 2px;
		height: 48px;
		padding-inline-start: var(--wp--preset--spacing--20);
	}

	.cidas-menu--actions .wp-block-navigation-item:not(.has-child),
	.cidas-menu--actions .wp-block-navigation__submenu-container {
		display: none !important;
	}

	/* Stessa specificità della regola desktop (gap 8px), altrimenti il gap di Figma (6px) non vale. */
	.cidas-menu--actions > .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content {
		background-color: var(--wp--preset--color--secondary-container);
		border-radius: var(--wp--custom--radius--pill);
		gap: 6px;
		min-height: 32px !important;
		padding-inline: var(--wp--preset--spacing--30);
	}

	.cidas-menu--actions .has-child > .wp-block-navigation-item__content::before {
		--cidas-icon: var(--cidas-icon-location);
	}
}

/* Pulsante menu: area di tocco 48px, cerchio verde 32px. */
.cidas-menu-toggle .wp-block-navigation__responsive-container-open {
	align-items: center;
	background: none;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--base);
	cursor: pointer;
	display: flex;
	height: 48px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 48px;
}

.cidas-menu-toggle .wp-block-navigation__responsive-container-open::before {
	background-color: var(--wp--preset--color--area-minori);
	border-radius: var(--wp--custom--radius--pill);
	content: "";
	height: 32px;
	position: absolute;
	width: 32px;
}

.cidas-menu-toggle .wp-block-navigation__responsive-container-open svg {
	display: none;
}

.cidas-menu-toggle .wp-block-navigation__responsive-container-open::after {
	--cidas-icon: var(--cidas-icon-menu);
	background-color: currentColor;
	content: "";
	height: 1.25rem;
	mask: var(--cidas-icon) center / contain no-repeat;
	position: relative;
	width: 1.25rem;
}

/* Variante scura (home, sopra la hero blu). */
.cidas-header--dark {
	background-color: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--inverse-on-surface);
}

.cidas-header--dark .cidas-header__actions {
	background-color: var(--wp--preset--color--base);
	border-color: transparent;
	color: var(--wp--preset--color--contrast);
}

.cidas-header--dark .cidas-logo--color,
.cidas-header--light .cidas-logo--white {
	display: none;
}

/* Header scuro sopra la hero (pagina d'area, home): trasparente finché non scorre. */
.cidas-site-header:not(.is-stuck) .cidas-header--dark {
	background-color: transparent;
}

/* Scorrendo, l'header scuro diventa l'header chiaro fisso. */
.cidas-site-header.is-stuck .cidas-header--dark {
	color: var(--wp--preset--color--contrast);
}

.cidas-site-header.is-stuck .cidas-header--dark .cidas-header__actions {
	background-color: var(--wp--preset--color--surface);
	border-color: color-mix(in srgb, var(--wp--preset--color--outline) 8%, transparent);
}

.cidas-site-header.is-stuck .cidas-header--dark .cidas-logo--white {
	display: none;
}

.cidas-site-header.is-stuck .cidas-header--dark .cidas-logo--color {
	display: block;
}

/* ============================================================== */
/* Menu laterale (overlay del blocco Navigazione)                  */
/* ============================================================== */

.cidas-menu-toggle .wp-block-navigation__responsive-container.is-menu-open {
	background:
		linear-gradient(90deg, color-mix(in srgb, var(--wp--preset--color--contrast) 48%, transparent) 0%, var(--wp--preset--color--primary) 80%),
		rgb(0 0 0 / 0.48);
	color: var(--wp--preset--color--contrast);
	padding: 0;
}

.cidas-menu-toggle .is-menu-open .wp-block-navigation__responsive-close,
.cidas-menu-toggle .is-menu-open .wp-block-navigation__responsive-dialog,
.cidas-menu-toggle .is-menu-open .wp-block-navigation__responsive-container-content,
.cidas-menu-toggle .is-menu-open .wp-block-navigation__overlay-container {
	height: 100%;
}

.cidas-menu-toggle .is-menu-open .wp-block-navigation__responsive-close {
	display: flex;
	justify-content: flex-end;
}

.cidas-menu-toggle .is-menu-open .wp-block-navigation__responsive-dialog {
	width: min(448px, 100%);
}

.cidas-drawer {
	background:
		linear-gradient(180deg, transparent 0%, var(--wp--preset--color--base) 90%),
		radial-gradient(ellipse at 50% 50%, transparent 52%, var(--wp--preset--color--surface) 100%),
		var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--outline-variant);
	border-end-start-radius: var(--wp--custom--radius--l);
	border-start-start-radius: var(--wp--custom--radius--l);
	box-shadow: 0 4px 8px 3px rgb(0 0 0 / 0.15), 0 1px 3px 0 rgb(0 0 0 / 0.3);
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow-y: auto;
}

.cidas-drawer__top {
	align-items: center;
	display: flex;
	justify-content: flex-end;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) 0;
}

.cidas-drawer__top .cidas-logo {
	display: none;
	margin-inline-end: auto;
	padding-inline-start: var(--wp--preset--spacing--30);
}

/* Pulsante chiudi: cerchio verde 32px, area di tocco 48px. */
.cidas-drawer__close {
	align-items: center;
	background: none;
	border: 0;
	border-radius: var(--wp--custom--radius--pill);
	color: var(--wp--preset--color--base);
	cursor: pointer;
	display: flex;
	height: 48px;
	justify-content: center;
	padding: 0;
	position: relative;
	width: 48px;
}

.cidas-drawer__close::before {
	background-color: var(--wp--preset--color--area-minori);
	border-radius: var(--wp--custom--radius--pill);
	content: "";
	height: 32px;
	position: absolute;
	width: 32px;
}

.cidas-drawer__close svg {
	display: none;
}

.cidas-drawer__close::after {
	--cidas-icon: var(--cidas-icon-close);
	background-color: currentColor;
	content: "";
	height: 1.25rem;
	mask: var(--cidas-icon) center / contain no-repeat;
	position: relative;
	width: 1.25rem;
}

.cidas-drawer__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--wp--preset--spacing--50);
	padding-inline: var(--wp--preset--spacing--50);
}

.cidas-drawer .wp-block-navigation,
.cidas-drawer .wp-block-navigation__container {
	align-items: stretch !important;
	width: 100%;
}

.cidas-drawer .wp-block-navigation__container {
	gap: var(--wp--preset--spacing--20) !important;
}

.cidas-drawer .wp-block-navigation-item {
	flex-wrap: wrap;
	width: 100%;
}

.cidas-drawer .wp-block-navigation-item__content {
	align-items: center;
	display: flex !important;
	flex: 1;
	min-height: 48px;
	text-decoration: none;
}

nav.cidas-drawer__primary {
	font-size: var(--wp--preset--font-size--headline-xs);
	font-weight: 500;
	line-height: var(--wp--custom--line-height--headline-xs);
}

.cidas-drawer__primary > .wp-block-navigation__container > .current-menu-item > .wp-block-navigation-item__content,
.cidas-drawer__primary > .wp-block-navigation__container > .wp-block-home-link:has(> [aria-current]) > .wp-block-navigation-item__content {
	border-block-end: 1px solid var(--wp--preset--color--contrast);
	font-weight: 600;
}

/*
 * Voci con sottopagine (Chi siamo, Servizi): link alla pagina con chevron. Dentro un overlay il core
 * considera i sottomenu sempre aperti, quindi qui non li mostriamo: le sottopagine sono elencate
 * nelle pagine stesse (Hub).
 */
.cidas-drawer .wp-block-navigation__submenu-container,
.cidas-drawer .wp-block-navigation__submenu-icon {
	display: none !important;
}

.cidas-drawer__primary .has-child > .wp-block-navigation-item__content::after {
	--cidas-icon: var(--cidas-icon-chevron-right);
	background-color: currentColor;
	content: "";
	height: 1.25rem;
	margin-inline-start: auto;
	mask: var(--cidas-icon) center / contain no-repeat;
	width: 1.25rem;
}

nav.cidas-drawer__secondary {
	border-block-start: 1px solid var(--wp--preset--color--outline-variant);
	font-size: var(--wp--preset--font-size--body-l);
	font-weight: 600;
	padding-block-start: var(--wp--preset--spacing--50);
}

@media (max-width: 599px) {
	.cidas-menu-toggle .is-menu-open .wp-block-navigation__responsive-dialog {
		width: 100%;
	}

	.cidas-drawer {
		border-radius: 0;
	}

	.cidas-drawer__top {
		justify-content: space-between;
	}

	.cidas-drawer__top .cidas-logo {
		display: block;
	}
}

/* ============================================================== */
/* Selettore lingua (pulsanti collegati Ita / Eng)                 */
/* ============================================================== */

.cidas-lang ul {
	display: flex;
	gap: 2px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cidas-lang__link {
	align-items: center;
	border-radius: var(--wp--custom--radius--l);
	display: flex;
	font-size: var(--wp--preset--font-size--label-l);
	font-weight: 500;
	gap: 4px;
	justify-content: center;
	line-height: 1.43;
	min-height: 32px;
	min-width: 48px;
	padding: 6px var(--wp--preset--spacing--30);
	text-decoration: none;
}

.cidas-lang li:last-child .cidas-lang__link {
	border-radius: 4px var(--wp--custom--radius--l) var(--wp--custom--radius--l) 4px;
}

.cidas-lang--drawer {
	padding: 20px var(--wp--preset--spacing--50);
}

.cidas-lang--drawer .cidas-lang__link {
	background-color: color-mix(in srgb, var(--wp--preset--color--on-surface-variant) 8%, transparent);
	color: var(--wp--preset--color--on-surface-variant);
}

.cidas-lang--drawer .cidas-lang__link.is-active {
	background-color: var(--wp--preset--color--secondary-container);
	color: var(--wp--preset--color--on-secondary-container);
}

@media (max-width: 599px) {
	.cidas-lang--drawer .cidas-lang__link.is-active {
		background-color: var(--wp--preset--color--primary);
		color: var(--wp--preset--color--on-primary);
	}
}

/* Sul footer scuro la lingua non attiva resta leggibile (Figma: opacità 32%, contrasto insufficiente). */
.cidas-lang--footer .cidas-lang__link {
	background-color: color-mix(in srgb, var(--wp--preset--color--surface-variant) 16%, transparent);
	color: var(--wp--preset--color--inverse-primary);
}

.cidas-lang--footer .cidas-lang__link.is-active {
	background-color: var(--wp--preset--color--secondary-container);
	color: var(--wp--preset--color--on-secondary-container);
}

.cidas-lang__link .cidas-icon {
	height: 1.25rem;
	width: 1.25rem;
}

/* ============================================================== */
/* Breadcrumb                                                      */
/* ============================================================== */

.cidas-breadcrumbs {
	padding-block: var(--wp--preset--spacing--40);
}

.cidas-breadcrumbs .wp-block-breadcrumbs {
	font-size: var(--wp--preset--font-size--body-s);
	font-weight: 600;
	line-height: 1.3333;
}

.cidas-breadcrumbs .wp-block-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.cidas-breadcrumbs .wp-block-breadcrumbs a:hover,
.cidas-breadcrumbs .wp-block-breadcrumbs [aria-current] {
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

/* ============================================================== */
/* Footer                                                          */
/* ============================================================== */

.cidas-site-footer {
	margin-block-start: 0;
}

.cidas-footer {
	background-color: var(--wp--preset--color--contrast);
	border-start-end-radius: var(--wp--custom--radius--l);
	border-start-start-radius: var(--wp--custom--radius--l);
	color: var(--wp--preset--color--on-primary);
	overflow: hidden;
}

.cidas-footer__hero {
	align-items: flex-end;
	background:
		linear-gradient(180deg, transparent 0%, var(--wp--preset--color--contrast) 100%),
		image-set(url("../images/footer-photo-1280.jpg") 1x, url("../images/footer-photo-2560.jpg") 2x) center 30% / cover no-repeat,
		var(--wp--preset--color--contrast);
	display: flex;
	gap: var(--wp--preset--spacing--60);
	justify-content: space-between;
	min-height: 512px;
	/* Logo e dati societari restano nella larghezza "wide", allineati alle colonne sotto; solo la foto è a tutta pagina. */
	padding: 72px max(var(--cidas-gutter), calc((100% - var(--wp--style--global--wide-size)) / 2)) var(--wp--preset--spacing--70);
}

.cidas-footer__hero .cidas-logo {
	flex: 1;
	max-width: 576px;
}

.cidas-footer__hero .cidas-logo img {
	height: auto;
	width: 100%;
}

.cidas-footer__org {
	display: flex;
	flex-direction: column;
	font-size: var(--wp--preset--font-size--body-m);
	font-style: normal;
	gap: 2px;
	line-height: var(--wp--custom--line-height--ui);
	padding-block-start: var(--wp--preset--spacing--20);
	width: 272px;
}

.cidas-footer__org strong {
	font-size: var(--wp--preset--font-size--title-m);
	font-weight: 600;
	line-height: var(--wp--custom--line-height--title-m);
}

.cidas-footer__body {
	background:
		linear-gradient(174deg, transparent 41%, var(--wp--preset--color--primary) 102.5%),
		var(--wp--preset--color--contrast);
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--70);
	padding: 0 var(--cidas-gutter) var(--wp--preset--spacing--50);
}

.cidas-footer__body > * {
	border-block-start: 1px solid var(--wp--preset--color--outline);
	margin-inline: auto;
	max-width: var(--wp--style--global--wide-size);
	width: 100%;
}

.cidas-footer__columns {
	display: grid;
	gap: var(--wp--preset--spacing--60);
	grid-template-columns: repeat(3, 1fr);
	padding-block-start: var(--wp--preset--spacing--70);
}

.cidas-footer__column {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--40);
}

.cidas-footer__column:nth-child(2) {
	align-items: center;
}

.cidas-footer__column:nth-child(3) {
	align-items: flex-end;
}

.cidas-footer__heading {
	color: inherit;
	font-family: var(--wp--preset--font-family--sans);
	font-size: var(--wp--preset--font-size--label-s);
	font-weight: 600;
	letter-spacing: var(--wp--custom--letter-spacing--label);
	line-height: var(--wp--custom--line-height--ui);
	margin: 0;
	text-transform: uppercase;
}

.cidas-footer .cidas-nav-arrows {
	color: var(--wp--preset--color--inverse-on-surface);
	font-size: var(--wp--preset--font-size--label-l);
	font-weight: 600;
	line-height: 1.2857;
}

.cidas-footer .cidas-nav-arrows .wp-block-navigation-item__content {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--20);
	min-height: 48px;
}

.cidas-nav-arrows .wp-block-navigation-item__content::before {
	--cidas-icon: var(--cidas-icon-arrow-forward);
}

.cidas-footer__column:nth-child(2) .wp-block-navigation__container {
	align-items: center !important;
}

.cidas-footer__column:nth-child(3) .wp-block-navigation__container {
	align-items: flex-end !important;
}

.cidas-only-mobile {
	display: none !important;
}

.cidas-footer__bottom {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--60);
	justify-content: space-between;
	padding-block-start: var(--wp--preset--spacing--70);
}

.cidas-social {
	display: flex;
	gap: 4px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.cidas-social__link {
	align-items: center;
	color: var(--wp--preset--color--on-primary);
	display: flex;
	height: 48px;
	justify-content: center;
	position: relative;
	width: 48px;
}

.cidas-social__link::before {
	border: 1px solid var(--wp--preset--color--outline-variant);
	border-radius: var(--wp--custom--radius--pill);
	content: "";
	inset: 4px;
	position: absolute;
}

.cidas-social__link .cidas-icon {
	height: 24px;
	width: 24px;
}

.cidas-footer__utilities {
	align-items: center;
	display: flex;
	gap: var(--wp--preset--spacing--60);
}

.cidas-footer .cidas-menu--legal {
	font-size: var(--wp--preset--font-size--label-l);
	font-weight: 500;
	line-height: 1.43;
}

.cidas-footer .cidas-menu--legal .wp-block-navigation-item__content {
	align-items: center;
	display: flex;
	min-height: 48px;
}

/* Footer su focus: anello bianco (sezione scura). */
.cidas-footer :focus-visible,
.cidas-header--dark :focus-visible {
	outline-color: var(--wp--custom--focus--color-on-dark);
}

@media (max-width: 781px) {
	.cidas-footer__hero {
		background:
			linear-gradient(180deg, transparent 0%, var(--wp--preset--color--contrast) 100%),
			image-set(url("../images/footer-photo-720.jpg") 1x, url("../images/footer-photo-1280.jpg") 2x) center top / cover no-repeat,
			var(--wp--preset--color--contrast);
		align-items: center;
		flex-direction: column;
		justify-content: flex-end;
		min-height: 0;
		padding-block: 200px var(--wp--preset--spacing--60);
		text-align: center;
	}

	.cidas-footer__hero .cidas-logo {
		width: 100%;
	}

	.cidas-footer__org {
		align-items: center;
		width: auto;
	}

	.cidas-footer__columns {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--60);
	}

	.cidas-footer__column,
	.cidas-footer__column:nth-child(n) {
		align-items: flex-start;
	}

	.cidas-footer__column:nth-child(n) .wp-block-navigation__container {
		align-items: flex-start !important;
	}

	.cidas-only-mobile {
		display: flex !important;
	}

	.cidas-footer__bottom,
	.cidas-footer__utilities {
		align-items: center;
		flex-direction: column;
		gap: var(--wp--preset--spacing--50);
	}

	.cidas-footer .cidas-menu--legal .wp-block-navigation__container {
		align-items: center !important;
		flex-direction: column;
		gap: 0;
	}

	.cidas-footer .cidas-menu--legal .wp-block-navigation-item::before {
		display: none;
	}
}
