/*
Theme Name: Forestas Child
Theme URI: https://webmapp.it/
Template: Impreza
Author: Webmapp
Author URI: https://webmapp.it/
Description: Child theme di Impreza per Sardegna Sentieri (Forestas). Versionato nel repo wp-forestas e montato dal compose: si modifica nel repo, non dal pannello.
Version: 1.7.6
*/


/*
 * Variabili di header e footer (oc:8757). Header e footer sono identici a quelli del sito attuale,
 * sardegnasentieri.it (scrum del 14/10/2026: il capitolato chiede la stessa UI del sito Drupal, salvo
 * modifiche concordate), e i valori sono quelli del tema Drupal «sardegnasentieri» (fonte di design:
 * CLAUDE.md), con il prefisso del tema, «sase». Non vanno «migliorati»: ogni differenza dal sito
 * attuale va concordata col cliente. Le differenze concordate sono quelle del wireframe oc:8783
 * (call del 16/10/2026): logo senza «Beta», voce CAMMINI, «DA VEDERE» che diventa «PUNTI DI INTERESSE»,
 * barre del menu nei colori delle entità del committente, «Sentieri per tutti» e «Open Data» fra i
 * link di servizio, riga compatta che resta in alto su desktop, sette loghi solo nel footer, su due
 * righe (nell'header non ce ne sono più), e nella striscia del copyright solo il copyright.
 *
 * I colori che il sito attuale usa anche fuori da header e footer stanno nelle Theme Options di Impreza
 * (config/impreza.json, con gli stessi valori): qui rimandano alle loro variabili, così si cambiano in
 * un posto solo, e valgono anche per le pagine sincronizzate da Drupal (oc:8758). Nel gruppo «Misure del
 * tema Drupal» le prime quattro sono anche di header e footer; da --sase-spazio-sezione in giù sono delle
 * sole pagine, con i colori dell'artifact «Canvas Fase 2».
 */
:root {
	--sase-testo: var(--color-content-text);                 /* #4D4D4D: testo e link di header e footer, testo e pulsanti delle pagine */
	--sase-testo-chiaro: var(--color-content-faded);         /* #595959: contatti, icona della ricerca */
	--sase-bordo: var(--color-content-border);               /* #F0F0F0 */
	--sase-fondo: var(--color-content-bg);                   /* #FFFFFF */
	--sase-fondo-campo: var(--color-content-bg-alt);         /* #F5F5F5: campo e pulsante di ricerca, voce di Condividi sotto il mouse */
	--sase-arancio: var(--color-content-primary);            /* #F59F1A: filo del footer, pulsante menu, filo della galleria, icona degli allegati, pulsanti sotto il mouse */
	--sase-arancio-scuro: var(--color-content-link);         /* #CA4D1C: social, lingua attiva, menu aperto */
	--sase-arancio-hover: var(--color-content-link-hover);   /* #D63D00: social al passaggio del mouse */
	--sase-overlay: var(--color-content-overlay);            /* pagina coperta dal menu aperto */
	--sase-striscia-footer: var(--color-subfooter-bg);       /* #333333 */
	--sase-testo-su-scuro: var(--color-subfooter-text);      /* #FFFFFF */
	--sase-testo-scuro: hsl(0deg 0% 20%);                    /* pulsante menu, fondo della ricerca attiva */
	--sase-lingua-attiva: #000000;
	--sase-focus: #0089C7;                                   /* anche nelle Theme Options, «focus_outline_color» */
	/* Colori della barra sotto le voci del menu: i colori delle entità trasmessi dal committente il
	   22/09/2026, come nel wireframe oc:8783, al posto di quelli di sezione del tema Drupal. Tutti almeno
	   3:1 sul bianco (WCAG 1.4.11); News è #C2410C, non il #F67745 del sito attuale (2,75:1). MAPPA
	   INTERATTIVA ha il colore del marchio, anche la voce senza classe */
	--sase-sezione-sentieri: #DE1B0D;
	--sase-sezione-itinerari: #58810B;
	--sase-sezione-cammini: #1A416F;
	--sase-sezione-punti-di-interesse: #B7127F;
	--sase-sezione-da-sapere: #0F6E6A;
	--sase-sezione-mappa: var(--sase-arancio);
	--sase-sezione-news: #C2410C;
	--sase-sezione-eventi: #1271B7;                          /* barretta della testata di un evento (is-event di Drupal, oc:8760) */
	--sase-fondo-immagine: #E9F1F9;                          /* sotto un'immagine che si sta caricando (card del Canvas) */
	--sase-terra: #CA5C30;                                    /* terra del marchio SARDEGNA: pagine senza sezione */

	--sase-font-titoli: "Montserrat", sans-serif;
	--sase-font-testo: "Work Sans Sardegna Sentieri", sans-serif;

	/* Misure del tema Drupal */
	--sase-larghezza-contenuto: 1294px;
	--sase-larghezza-logo: clamp(231px, 25vw, 382px);
	--sase-spazio-riga-logo: clamp(1rem, 3vw, 2.5rem);       /* sopra e sotto la riga del logo */
	--sase-carattere-piccolo: clamp(.75rem, .75rem + (1vw - .2rem) * .0625, .875rem);
	--sase-spazio-sezione: clamp(1.875rem, 4vw, 2.5rem);    /* margine di sezione e regione delle pagine */
	--sase-filo-larghezza: 57px;                             /* filo sopra i titoli (sase-heading-has-decoration) */
	--sase-filo-altezza: 7px;
	--sase-filo-spazio: 1.875rem;                            /* filo + spazio fino al titolo */
	--sase-rientro-contenuto: max(22px, calc((100% - var(--sase-larghezza-contenuto)) / 2)); /* percorso e pulsanti allineati al logo */
	--sase-filo-percorso: #EEEBE5;                           /* sotto percorso e pulsanti (artifact) */
	--sase-blu-pulsante: #16497B;
	--sase-blu-marchio: #254877;                             /* blu del marchio SARDEGNA (artifact): pannello delle FAQ, oc:8760 */
	--sase-inchiostro: #1A1A1A;                              /* testi scuri del percorso e di Condividi (artifact) */
	--sase-grigio-percorso: #767676;                         /* percorso e bordo del pannello Condividi (artifact) */
	/* Caratteri del tema Drupal che ricorrono: titoli della testata, delle sezioni e degli allegati, testo */
	--sase-titolo-grande: clamp(2.5rem, 2.5rem + (1vw - 0.2rem) * 0.938, 3.438rem);
	--sase-titolo-medio: clamp(1.5rem, 0.5rem + (1vw - 0.2rem) * 0.5, 2rem);
	--sase-titolo-piccolo: clamp(1.125rem, 1.125rem + (1vw - 0.2rem) * 0.375, 1.5rem);
	--sase-testo-grande: clamp(1rem, 0.98rem + 0.35vw, 1.125rem);
	--sase-testo-pagina: clamp(0.875rem, 0.9375rem + (1vw - 0.2rem) * 0.1875, 1.125rem);
}

/*
 * Base. La radice è a 14px sotto i 960px, come sul sito attuale: il tema Drupal misura in rem, e così
 * le misure in rem di header e footer coincidono con quelle di produzione. Vale per tutto il sito,
 * testo compreso (Theme Options: «1rem»), non solo per header e footer.
 */
@media (max-width: 959px) {
	html {
		font-size: 14px;
	}
}

/*
 * Font del sito attuale, nel child (assets/fonts, licenza OFL nei file accanto). Sono gli stessi file del
 * tema Drupal, con gli stessi due pesi, 400 e 600: un peso intermedio richiesto dal CSS (500, 700) cade
 * su uno dei due come in produzione. Le Theme Options li usano per tutto il sito (famiglie scritte con
 * la virgola, così Impreza non scarica nulla da Google). Work Sans ha un nome proprio per non mescolarsi
 * con una Work Sans installata sul computer o caricata da un plugin, che potrebbe avere il peso 500:
 * il sito attuale non ce l'ha.
 */
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/montserrat-regular.woff2") format("woff2");
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/montserrat-600.woff2") format("woff2");
}
@font-face {
	font-family: "Work Sans Sardegna Sentieri";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/work-sans-regular.woff2") format("woff2");
}
@font-face {
	font-family: "Work Sans Sardegna Sentieri";
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url("assets/fonts/work-sans-600.woff2") format("woff2");
}

/*
 * Header e footer (oc:8757). Struttura e contenuti stanno in config/post.json (Header Builder e blocco
 * riutilizzabile «Footer»): qui l'aspetto, che riproduce il sito attuale.
 *
 * Soglia tablet/desktop, una sola in tre posti che vanno cambiati insieme (trappola nel CLAUDE.md):
 * - «tablets_breakpoint: 1024px» delle Theme Options (config/impreza.json): layout tablet dell'header;
 * - «mobile_width: 1025px» del menu nei due header IT/EN (config/post.json): Impreza mostra
 *   l'hamburger sotto 1025, cioè fino a 1024px;
 * - le media query del child: «max-width: 1024px» e «min-width: 1025px».
 * È anche la soglia del sito attuale. 600px è la soglia mobile di Impreza («mobiles_breakpoint»);
 * 768px e 960px sono soglie del tema Drupal, solo del child. L'opzione «breakpoint: 900px» che si
 * legge nel JSON dei due header è ignorata, perché «custom_breakpoint» è 0.
 */
/* Colori dei testi dell'header dalle Theme Options: #4D4D4D anche al passaggio del mouse, dove le voci
   si sottolineano */
.l-header,
.l-footer {
	font-family: var(--sase-font-testo);
	letter-spacing: 0;
}
.l-header {
	border-bottom: 1px solid var(--sase-bordo);
	box-shadow: none;
}
.l-header .l-subheader {
	box-shadow: none;
}
.l-header .l-subheader-cell {
	gap: 0;
}
/* Impreza distanzia gli elementi con margini logici: qui li azzera, le distanze del sito attuale
   sono nelle regole dei singoli elementi */
.header_hor .l-header .l-subheader-cell:is(.at_left, .at_center, .at_right) > * {
	margin-inline: 0;
}

/* Logo del sito: largo come sul sito attuale, l'altezza la dà il PNG (1442×120, senza «Beta») */
.forestas-logo {
	display: block;
	line-height: 0;
}
.forestas-logo img {
	display: block;
	width: 100%;
	max-width: none;
	height: auto;
}
.forestas-logo-wrap {
	width: var(--sase-larghezza-logo);
	max-width: 100%;
}

/* Social: icone Font Awesome 20px nell'arancio dei link, nessun effetto di Impreza al passaggio */
.w-socials.forestas-social .w-socials-list {
	display: flex;
	flex-wrap: nowrap;
	gap: 1rem;
	margin: 0;
}
.w-socials.forestas-social .w-socials-item {
	padding: .2em .35em;
	font-size: .75rem;
}
.w-socials.forestas-social .w-socials-item-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 2.3em;
	height: 2.3em;
	font-size: .625rem;
	line-height: 1;
	color: var(--sase-arancio-scuro);
}
.w-socials.forestas-social .w-socials-item-link i {
	font-size: 2em;
	line-height: 1;
}
.w-socials.forestas-social .w-socials-item-link-hover {
	display: none;
}
/* X con l'icona dell'uccellino, come sul sito attuale: Impreza per «twitter» stampa il logo X in SVG */
.w-socials.forestas-social .w-socials-item.twitter i svg {
	display: none;
}
.w-socials.forestas-social .w-socials-item.twitter i::before {
	content: "\f099";
	font-family: "Font Awesome 5 Brands";
	font-weight: 400;
}
.no-touch :is(.l-header, .l-footer) .w-socials.forestas-social .w-socials-item-link:hover,
.w-socials.forestas-social .w-socials-item-link:focus-visible {
	color: var(--sase-arancio-hover);
}
/* Sottolineatura al passaggio come sul sito attuale: sull'icona, perché Impreza la toglie al link con
   «text-decoration: none !important» */
.no-touch :is(.l-header, .l-footer) .w-socials.forestas-social .w-socials-item-link:hover i,
.w-socials.forestas-social .w-socials-item-link:focus-visible i {
	text-decoration: underline;
}
.forestas-seguici {
	display: block;
	font-family: var(--sase-font-titoli);
	font-weight: 500;
	line-height: 1.2;
	white-space: nowrap;
}

/* «Open Data», ultima voce dei link di servizio (wireframe oc:8783), con l'icona provvisoria di un
   database alta 13px, da sostituire con quella ufficiale dei dati aperti. L'icona è una maschera, così
   prende il colore del testo; è decorativa, il nome del link è il testo */
/* L'icona sta in linea col testo, non in un flex: il link resta sulla linea di base delle altre voci */
:is(.forestas-servizio :is(.forestas-open-data, .forestas-sentieri-per-tutti) > a, .forestas-pannello-servizio :is(a.forestas-open-data, a.forestas-sentieri-per-tutti))::before {
	content: "";
	display: inline-block;
	width: 13px;
	height: 13px;
	margin-right: 4px;
	vertical-align: -2px; /* al centro delle maiuscole */
	background: currentColor;
	-webkit-mask: url("assets/img/open-data.svg") center / contain no-repeat;
	mask: url("assets/img/open-data.svg") center / contain no-repeat;
}
/* «Sentieri per tutti», prima di «Open Data» (wireframe oc:8783 v105): icona provvisoria di 15px, il
   marchio «Sentieri per tutti» a un colore, senza il giallo. Decorativa come quella di Open Data */
:is(.forestas-servizio .forestas-sentieri-per-tutti > a, .forestas-pannello-servizio a.forestas-sentieri-per-tutti)::before {
	width: 15px;
	height: 15px;
	vertical-align: -3px;
	-webkit-mask-image: url("assets/img/sentieri-per-tutti.svg");
	mask-image: url("assets/img/sentieri-per-tutti.svg");
}

/* Link testuali di header e footer: il colore non cambia, al passaggio del mouse si sottolineano */
.no-touch :is(.forestas-servizio, .forestas-legali, .forestas-pannello-servizio, .forestas-contatti, .forestas-lingue) a:hover {
	color: inherit;
	text-decoration: underline;
}

/* Focus da tastiera come sul sito attuale: contorno azzurro di 3px staccato da un anello bianco */
:is(.l-header, .l-footer) :is(a, button, input):focus-visible,
.forestas-salta:focus-visible {
	outline: 3px solid var(--sase-focus);
	outline-offset: 3px;
	box-shadow: 0 0 0 3px var(--sase-fondo);
}

/* Selettore di lingua: «IT EN», la lingua attiva in nero con la barra arancio sotto */
.forestas-lingua-wrap {
	display: flex;
	align-self: stretch;
}
.forestas-lingue {
	display: flex;
	gap: .33em;
	text-transform: uppercase;
}
.forestas-lingue > * {
	display: flex;
	align-items: center;
	position: relative;
	padding: .25em .33em;
	color: var(--sase-testo);
	font-weight: 500;
	line-height: 1.4;
}
.forestas-lingue > b {
	color: var(--sase-lingua-attiva);
}
.forestas-lingue > b::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 2px;
	background: var(--sase-arancio-scuro);
}

/* Menu principale: barra colorata sotto la voce al passaggio, al focus e sulla voce attiva */
.forestas-nav .tipo-sentiero            { --sase-sezione: var(--sase-sezione-sentieri); }
.forestas-nav .tipo-itinerario          { --sase-sezione: var(--sase-sezione-itinerari); }
.forestas-nav .tipo-cammino             { --sase-sezione: var(--sase-sezione-cammini); }
.forestas-nav .tipo-punti-di-interesse  { --sase-sezione: var(--sase-sezione-punti-di-interesse); }
.forestas-nav .tipo-da-sapere           { --sase-sezione: var(--sase-sezione-da-sapere); }
.forestas-nav .tipo-mappa               { --sase-sezione: var(--sase-sezione-mappa); }
.forestas-nav .tipo-news                { --sase-sezione: var(--sase-sezione-news); }
.l-header .forestas-nav .w-nav-list.level_1 > .menu-item:not(.forestas-solo-mobile) {
	padding-top: .2em;
	font-family: var(--sase-font-titoli);
}
.l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor {
	display: flex;
	align-items: center;
	position: relative;
	height: auto;
	line-height: 1.4;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0;
	color: var(--sase-testo);
	background: transparent;
}
.l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor::after {
	content: "";
	display: block;
	position: absolute;
	right: 0;
	bottom: var(--sase-barra-voce, 0);
	left: 0;
	height: 0;
	background: var(--sase-sezione, var(--sase-arancio));
	transition: all .3s ease;
}
.l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor:is(:hover, :focus-visible)::after,
.l-header .forestas-nav .w-nav-list.level_1 > .menu-item:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_parent, .current-page-ancestor) > .w-nav-anchor::after {
	height: .20625rem;
}
.no-touch .l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor:hover,
.l-header .forestas-nav .w-nav-list.level_1 > .menu-item:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_parent, .current-page-ancestor) > .w-nav-anchor {
	color: var(--sase-testo);
	background: transparent;
}

/*
 * Desktop e laptop (da 1025px), come sul sito attuale: riga di servizio alta 36px più 5px sopra e
 * sotto, riga del logo con 1rem-2.5rem sopra e sotto, contenuto largo al massimo 1294px con 20px ai
 * lati.
 */
@media (min-width: 1025px) {
	.l-header .l-subheader.at_top {
		--padding-inline: 20px;
		height: auto;
		padding-top: 5px;
		padding-bottom: 5px;
		border-bottom: 1px solid var(--sase-bordo);
		font-size: 12px;
		line-height: 1.4;
	}
	.l-header .l-subheader.at_top .l-subheader-h {
		max-width: var(--sase-larghezza-contenuto);
		height: 36px;
	}
	.l-header .l-subheader.at_top .forestas-seguici {
		font-size: 12px;
	}
	.l-header .l-subheader.at_top .w-socials.forestas-social {
		margin-inline-start: 16px;
	}
	.l-header .w-menu.forestas-servizio {
		line-height: 1.4;
	}
	/* Distanze fra gli elementi della riga: il selettore batte l'azzeramento dei margini qui sopra */
	.header_hor .l-header .l-subheader-cell > .w-menu.forestas-servizio {
		margin-inline-start: 30px;
	}
	.header_hor .l-header .l-subheader-cell > .w-search.forestas-cerca {
		margin-inline-start: calc(10px + .33em); /* 10px più lo spazio fra le lingue */
	}
	.l-header .w-menu.forestas-servizio .menu {
		display: flex;
		align-items: baseline;
		gap: 1em;
		margin: 0;
		flex-wrap: nowrap;
		white-space: nowrap;
	}
	.l-header .w-menu.forestas-servizio .menu-item {
		padding: .2em 0 0;
	}
	.l-header .w-menu.forestas-servizio .menu-item a {
		font-weight: 500;
		text-transform: uppercase;
		color: inherit;
	}

	/* Ricerca: campo grigio di 144×36px con l'icona del sito attuale a destra */
	.l-header .w-search.forestas-cerca.layout_simple {
		flex: 0 0 144px;
		width: 144px;
		min-width: 0;
		max-width: none;
		height: 36px;
		padding: 0;
		font-size: 12px;
		line-height: normal;
	}
	.l-header .w-search.forestas-cerca .w-search-form,
	.l-header .w-search.forestas-cerca .w-form-row,
	.l-header .w-search.forestas-cerca .w-form-row-field {
		height: 36px;
	}
	.l-header .w-search.forestas-cerca input[type="text"] {
		width: 100%;
		height: 36px;
		padding: 5px 40px 5px 20px;
		border: none;
		border-radius: .3em;
		background: var(--sase-fondo-campo);
		box-shadow: none;
		color: var(--sase-testo);
		font-family: var(--sase-font-testo);
		font-size: 12px;
	}
	.l-header .w-search.forestas-cerca input[type="text"]::placeholder {
		opacity: 1;
		color: var(--sase-testo);
	}
	.l-header .w-search.forestas-cerca .w-search-form-btn,
	.no-touch .l-header .w-search.forestas-cerca .w-search-form-btn:hover {
		position: absolute;
		top: 0;
		right: 0;
		width: 36px;
		height: 36px;
		padding: 0;
		transform: none;
		border: none;
		border-radius: 0;
		box-shadow: none;
	}
	/* Impreza toglie lo sfondo al pulsante con «background: none !important»: fondo e lente del sito
	   attuale stanno sull'icona, che riempie il pulsante */
	.l-header .w-search.forestas-cerca .w-search-form-btn i {
		display: block;
		width: 36px;
		height: 36px;
		background: var(--sase-fondo-campo) url("assets/img/cerca.svg") center / 26.4px no-repeat;
	}
	.l-header .w-search.forestas-cerca .w-search-form-btn i::before {
		content: none;
	}

	/* Riga del logo e del menu */
	.l-header .l-subheader.at_middle {
		--padding-inline: 20px;
		height: auto;
		padding-top: var(--sase-spazio-riga-logo);
		padding-bottom: var(--sase-spazio-riga-logo);
		line-height: 1.4;
	}
	.l-header .l-subheader.at_middle .l-subheader-h {
		max-width: var(--sase-larghezza-contenuto);
		height: auto;
	}
	.l-header .forestas-nav.type_desktop {
		/* Impreza lo usa come padding laterale delle voci: 10px, da 6px sotto i 1180px (più in basso) */
		--menu-items-gap: clamp(6px, 6px + (100vw - 1025px) * 4 / 155, 10px);
	}
	.l-header .forestas-nav {
		/* la barra della voce scende fino al bordo inferiore della riga */
		--sase-barra-voce: calc(-1 * var(--sase-spazio-riga-logo));
		margin-left: auto;
		padding-left: 20px;
	}
	/* Spazi del sito attuale: 15px fra le voci e 10px di padding. Con «PUNTI DI INTERESSE» al posto di
	   «DA VEDERE» il menu non entra più accanto al logo fino a circa 1160px: da 1025px spazi e padding
	   partono da 6px e crescono con la finestra fino ai valori del sito attuale a 1180px, con margine per
	   la barra di scorrimento che su Windows toglie 17px (come il wireframe oc:8783, 6 e 7px a 1130px) */
	.l-header .forestas-nav .w-nav-list.level_1 {
		display: flex;
		align-items: center;
		gap: clamp(6px, 6px + (100vw - 1025px) * 9 / 155, .9375rem);
	}
	.l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor {
		min-height: 0;
		padding: 10px;
		font-size: var(--sase-carattere-piccolo);
	}
	/* Link di servizio e social aggiunti in coda al menu principale: solo nel pannello mobile */
	.forestas-nav .forestas-solo-mobile {
		display: none;
	}
}
/* Da 1295px il carattere del menu cresce di colpo, come sul sito attuale: fino a circa 1340px lo spazio
   fra le voci riparte da 9px, per lo stesso motivo */
@media (min-width: 1295px) {
	.l-header .forestas-nav .w-nav-list.level_1 {
		gap: clamp(9px, 9px + (100vw - 1295px) / 8, .9375rem);
	}
	.l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor {
		font-size: clamp(.875rem, .875rem + (1vw - .2rem) * .125, 1rem);
	}
}

/*
 * Riga compatta su desktop (wireframe oc:8783, Rubens 19/10): scorrendo, quando l'header intero è uscito
 * dallo schermo, resta fisso in alto ridotto a una riga alta 47px, come la riga dei social, con il logo
 * largo 170px e il menu a 12px; la voce attiva è più scura con la barra di 2px sotto il testo. La classe
 * la mette assets/js/header-compatto.js, che dà anche --forestas-altezza-header, lo spazio che l'header
 * lascia in cima alla pagina diventando fisso. Stessa media query dello script: con la finestra bassa
 * (zoom alto) non resta fisso (WCAG 1.4.10). scroll-padding-top riserva in cima lo spazio della riga, così
 * l'elemento che riceve il focus non finisce sotto (WCAG 2.4.11).
 */
@media (min-width: 1025px) and (min-height: 501px) {
	html {
		scroll-padding-top: calc(47px + var(--wp-admin--admin-bar--height, 0px));
	}
	.forestas-header-compatto .l-canvas {
		padding-top: var(--forestas-altezza-header, 0px);
	}
	.forestas-header-compatto .header_hor .l-header {
		position: fixed;
		top: var(--wp-admin--admin-bar--height, 0px);
		right: 0;
		left: 0;
		border-bottom-color: #E5E5E5;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .18);
		animation: forestas-compare .2s ease;
	}
	.forestas-header-compatto .l-header .l-subheader.at_top {
		display: none;
	}
	.forestas-header-compatto .l-header .l-subheader.at_middle {
		height: 46px; /* più il bordo dell'header, 47px */
		padding-top: 0;
		padding-bottom: 0;
	}
	.forestas-header-compatto .l-header .l-subheader.at_middle .l-subheader-h {
		height: 100%;
		align-items: stretch;
	}
	.forestas-header-compatto .l-header .forestas-logo-wrap {
		width: 170px;
	}
	/* Voci alte quanto la riga, così l'area cliccabile è tutta la riga; la barra sta in fondo al testo,
	   alto 1.4em al centro della voce */
	.forestas-header-compatto .l-header .forestas-nav {
		align-self: stretch;
		--sase-barra-voce: calc((100% - 1.4em) / 2);
	}
	.forestas-header-compatto .l-header .forestas-nav .w-nav-list.level_1 {
		height: 100%;
		gap: 16px;
	}
	.forestas-header-compatto .l-header .forestas-nav .w-nav-list.level_1 > .menu-item:not(.forestas-solo-mobile) {
		height: 100%;
		padding-top: 0;
	}
	.forestas-header-compatto .l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor {
		height: 100%;
		padding: 0;
		font-size: 12px;
	}
	.forestas-header-compatto .l-header .forestas-nav .w-nav-list.level_1 > .menu-item > .w-nav-anchor:is(:hover, :focus-visible)::after,
	.forestas-header-compatto .l-header .forestas-nav .w-nav-list.level_1 > .menu-item:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_parent, .current-page-ancestor) > .w-nav-anchor::after {
		height: 2px;
	}
	.forestas-header-compatto .l-header .forestas-nav .w-nav-list.level_1 > .menu-item:is(.current-menu-item, .current-menu-ancestor, .current-menu-parent, .current_page_parent, .current-page-ancestor) > .w-nav-anchor {
		color: #1A1A1A;
	}
}
@keyframes forestas-compare {
	from {
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.forestas-header-compatto .header_hor .l-header {
		animation: none;
	}
}

/*
 * Tablet e mobile (fino a 1024px). La riga del sito attuale: logo, IT EN, pulsante ricerca e pulsante
 * menu di 45px. Come sul sito attuale l'header resta fermo in cima allo schermo mentre la pagina scorre,
 * tranne sugli schermi bassi e sui tablet in orizzontale.
 * --forestas-sotto-header, il bordo inferiore dell'header nello schermo, lo calcola
 * assets/js/menu-mobile.js all'apertura del menu: qui solo la riserva se lo script non gira.
 */
@media (max-width: 1024px) {
	:root {
		--forestas-sotto-header: calc(92px + var(--wp-admin--admin-bar--height, 0px));
	}
	.l-header .l-subheader.at_middle {
		--padding-inline: 1.25rem;
		height: auto;
		padding-top: clamp(1rem, 3vw, 2.5rem);
		padding-bottom: clamp(1rem, 3vw, 2.5rem);
		font-size: 1rem;
		line-height: 1.4;
	}
	.l-header .l-subheader.at_middle .l-subheader-h {
		height: auto;
		align-items: stretch;
	}
	.l-header .l-subheader.at_middle .l-subheader-cell.at_left {
		flex: 0 1 auto;
		min-width: 0;
		margin-right: auto;
		align-items: center;
	}
	.l-header .l-subheader.at_middle .l-subheader-cell.at_right {
		flex: 0 0 auto;
		gap: clamp(1em, 2vw, 2em);
		margin-left: clamp(1em, 2vw, 2em);
		align-items: center;
	}
	.l-header .forestas-logo-wrap {
		flex-shrink: 1;
		min-width: 0;
	}

	/* Pulsante ricerca: riquadro grigio di 3em con la lente, scuro al passaggio e quando è aperto */
	/* «.header_hor … .layout_simple» batte il «display: block» che Impreza dà al pulsante sotto i 600px */
	.header_hor .l-header .w-search.forestas-cerca.layout_simple .w-search-open {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 3em;
		height: 3em;
		padding: 0;
		background: var(--sase-fondo-campo);
		color: var(--sase-testo-chiaro);
		font-size: 1.125rem;
		line-height: 1;
		transition: all .3s;
	}
	.l-header .w-search.forestas-cerca .w-search-open i {
		font-size: 1em;
		line-height: 1;
	}
	.no-touch .l-header .l-subheader .w-search.forestas-cerca .w-search-open:hover,
	.l-header .l-subheader .w-search.forestas-cerca .w-search-open:focus-visible,
	.l-header .l-subheader .w-search.forestas-cerca.active .w-search-open {
		background: var(--sase-testo-scuro);
		color: var(--sase-testo-su-scuro);
	}

	/* Pulsante menu: riquadro arancio di 45px con l'icona e la scritta «menu», «chiudi» se aperto */
	.l-header .forestas-nav .w-nav-control {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 45px;
		height: 45px;
		padding: 0;
		border-radius: 0;
		background: var(--sase-arancio);
		color: var(--sase-testo-scuro);
		font-size: 1rem;
		line-height: 1.4;
		transition: all .3s;
	}
	/* Impreza sposta di -0.8rem l'ultimo elemento della riga verso il bordo */
	body.header_hor .l-subheader-cell.at_right .w-nav.forestas-nav:last-child .w-nav-control {
		margin-inline-end: 0;
	}
	.l-header .forestas-nav .w-nav-control .w-nav-icon {
		display: block;
		width: auto;
		height: auto;
		font-size: 1rem;
		line-height: 1.4;
	}
	.l-header .forestas-nav .w-nav-control .w-nav-icon i {
		font-size: 1em;
		line-height: 1;
		vertical-align: baseline;
	}
	/* Scritta «menu»/«chiudi»: la cambia assets/js/menu-mobile.js insieme al nome accessibile */
	.l-header .forestas-nav .w-nav-control > span {
		display: block;
		width: 100%;
		margin: 0;
		text-align: center;
		font-size: .75rem;
		line-height: 1.4;
	}
	/* «.l-subheader» serve a battere «.no-touch .l-subheader.at_middle a:hover» di Impreza */
	.l-header .l-subheader .forestas-nav .w-nav-control:is(:hover, :focus-visible, [aria-expanded="true"]) {
		background: var(--sase-arancio-scuro);
		color: var(--sase-testo-su-scuro);
	}

	/*
	 * Pannello del menu, come sul sito attuale: entra da destra sotto l'header, largo quanto il suo
	 * contenuto (tutta la larghezza sui telefoni), alto fino al fondo dello schermo; la pagina dietro è
	 * coperta da un velo scuro e non scorre. Il selettore deve battere
	 * «.w-nav.type_mobile.m_layout_panel .w-nav-list.level_1» di Impreza.
	 */
	.l-header .w-nav.forestas-nav.m_layout_panel .w-nav-list.level_1 {
		top: var(--forestas-sotto-header);
		bottom: auto;
		left: auto;
		right: 0;
		width: max-content;
		max-width: 100%;
		height: calc(100vh - var(--forestas-sotto-header));
		height: calc(100dvh - var(--forestas-sotto-header));
		min-height: 0; /* Impreza gli dà come minimo l'altezza dello schermo intero */
		display: flex;
		flex-direction: column;
		padding: 1.25rem .625rem;
		background: var(--sase-fondo);
		box-shadow: none;
		font-size: 1rem;
		overflow-y: auto;
		overscroll-behavior: contain;
	}
	.l-header .w-nav.forestas-nav.m_layout_panel .w-nav-list.level_1 > .menu-item:not(.forestas-solo-mobile) + .menu-item:not(.forestas-solo-mobile) {
		margin-top: .625rem;
	}
	.l-header .w-nav.forestas-nav.m_layout_panel .w-nav-list.level_1 > .menu-item > .w-nav-anchor {
		margin: 0;
		padding: .625rem;
		font-size: 1.125rem;
	}
	.l-header .forestas-nav .w-nav-list.level_1 > .menu-item {
		margin-bottom: 0;
	}
	.forestas-pannello-servizio {
		display: flex;
		flex-wrap: wrap;
		gap: 1em;
		margin-top: auto;
		/* sul sito attuale i link stanno in un elenco con .2em sopra ogni voce */
		padding: calc(.625rem + .2em) 0 .625rem;
		border-top: 1px solid var(--sase-bordo);
		text-transform: uppercase;
	}
	.forestas-pannello-servizio a {
		padding: .3125rem;
		color: var(--sase-testo);
		font-size: .9375rem;
		font-weight: 500;
		line-height: 1.4;
	}
	/* «Seguici su» e social in riga, piccoli; sotto i 768px riquadri di 45px sotto la scritta */
	.forestas-pannello-social {
		display: flex;
		align-items: center;
		gap: 1rem;
		padding: .9375rem;
		border-top: 1px solid var(--sase-bordo);
		font-size: .75rem;
		line-height: 1.4;
	}
	.forestas-pannello-social .forestas-seguici {
		display: block;
		font-size: .9375rem;
	}
	.forestas-pannello-social .w-socials.forestas-social .w-socials-list {
		flex-wrap: wrap;
	}
	

	/* A menu aperto la pagina non scorre ed è coperta da un velo scuro, che chiude il menu al tocco
	   (assets/js/menu-mobile.js). La classe w-nav-open la mette e la toglie Impreza. Il blocco sta sul
	   body, come sul sito attuale: su <html> fermerebbe lo sticky dell'header, e lo script, per riportare
	   in vista la riga del pulsante, farebbe tornare la pagina in cima */
	html.w-nav-open body {
		overflow: hidden;
	}
	html.w-nav-open body::after {
		content: "";
		position: fixed;
		top: var(--forestas-sotto-header);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 110; /* sotto l'header di Impreza (111), che contiene il pannello */
		background: var(--sase-overlay);
	}
}
/* Ricerca fra 601 e 1024px: Impreza mostra il campo intero, il sito attuale il pulsante. Qui le regole
   che Impreza applica sotto i 600px (common/css/elements/search.css), estese fino a 1024px */
@media (min-width: 601px) and (max-width: 1024px) {
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header {
		position: static;
		overflow: visible;
		margin: 0;
		padding: 0;
		min-width: 0;
		height: auto;
		line-height: inherit;
		width: auto !important; /* batte la larghezza in linea che Impreza scrive per la ricerca */
		max-width: none;
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header .w-search-open {
		position: static;
		transform: none;
		visibility: visible;
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header .w-search-form {
		position: absolute;
		top: 0;
		left: -1.5rem;
		right: -1.5rem;
		height: 0;
		overflow: hidden;
		opacity: 1;
		z-index: 119;
		transition: height .3s;
		background: var(--color-content-bg);
		color: var(--color-content-text);
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header.active .w-search-form {
		height: 100%;
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header .w-form-row-field {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		left: 0;
		right: 0;
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header input {
		padding: 0 3rem 0 1.5rem;
		border-radius: 0;
		border: none;
		background: none;
		color: inherit;
		box-shadow: none !important; /* come nella regola di Impreza che estende */
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header .w-btn {
		display: none;
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header .w-search-close {
		display: block;
		margin-inline-end: 1rem;
		transform: translateY(-50%);
	}
	.header_hor .l-header .w-search.forestas-cerca.layout_simple.elm_in_header.active .w-search-close {
		visibility: visible;
	}
}
/* Sui touch screen il pulsante ricerca è di 45px come il menu (nel tema Drupal 2.858em, che fa 45px
   con la radice a 14px: qui il valore, giusto anche fra 960 e 1024px) */
@media (max-width: 1024px) and (hover: none) and (pointer: coarse) {
	.header_hor .l-header .w-search.forestas-cerca.layout_simple .w-search-open {
		width: 45px;
		height: 45px;
	}
}
@media (max-width: 767px) {
	.forestas-pannello-social {
		display: block;
	}
	.forestas-pannello-social .w-socials.forestas-social .w-socials-item-link {
		width: 45px;
		height: 45px;
		font-size: 1.125rem;
	}
}
/* Header fermo in cima allo schermo, come sul sito attuale («--header-position: fixed» del tema
   Drupal) e con le sue stesse condizioni: finestra fino a 1024px e alta almeno 480px, ma non sui
   dispositivi con lo schermo fra 576 e 1024px tenuti in orizzontale (device-width: è lo schermo, non la
   finestra). Sotto i 600px la barra di amministrazione di WordPress non è fissa */
/* «.header_hor» batte «.l-header { position: relative }» di Impreza. Lo sticky funziona solo se nessun
   contenitore dell'header taglia il contenuto con «overflow: hidden», come fa Impreza su .l-canvas:
   «clip» taglia allo stesso modo senza farne un contenitore di scorrimento */
@media (max-width: 1024px) and (min-height: 480px) {
	.header_hor .l-canvas {
		overflow: clip;
	}
	.header_hor .l-header {
		position: sticky;
		top: var(--wp-admin--admin-bar--height, 0px);
	}
}
@media (max-width: 600px) and (min-height: 480px) {
	.header_hor .l-header {
		top: 0;
	}
}
@media (min-device-width: 576px) and (max-device-width: 1024px) and (orientation: landscape) {
	.header_hor .l-header {
		position: relative;
		top: 0;
	}
}

/*
 * Footer, come sul sito attuale: in cima la riga dei sette loghi, poi il filo arancio di 5px, logo e
 * contatti a sinistra, social e link istituzionali a destra, e la striscia scura con il copyright.
 * Contenuto largo il 90%, al massimo 1294px.
 */

/* Riga dei loghi ([forestas_loghi_footer]), come nel wireframe oc:8783 (v105): sette loghi su due righe
   di una griglia di 12 colonne, centrati. Sopra i quattro finanziatori (tre colonne ciascuno, al massimo
   il 18% della finestra, 259px a 1440px), sotto i tre enti della rete (quattro colonne, al massimo il
   15%, 216px). Spazi del 2,2% in verticale e del 3,3% in orizzontale, fino a 32px e 48px. Sopra e sotto
   1.875rem, ai lati 1.25rem, che spariscono quando la finestra supera 1294px più i due margini */
.l-section.forestas-footer-loghi {
	padding-left: 0;
	padding-right: 0;
	border-top: 1px solid var(--sase-bordo);
}
.forestas-footer-loghi .l-section-h {
	max-width: none;
	padding: 0;
}
.forestas-footer-loghi .wpb_text_column :is(.wpb_wrapper, p) {
	margin: 0;
}
.forestas-loghi-footer {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	justify-items: center;
	align-items: center;
	gap: min(2.2vw, 32px) min(3.3vw, 48px);
	width: 100%;
	max-width: var(--sase-larghezza-contenuto);
	margin: 0 auto;
	padding: 1.875rem 1.25rem;
}
.forestas-logo-ente {
	grid-column: span 3;
	width: 100%;
	max-width: min(18vw, 259px);
}
.forestas-logo-ente:nth-child(n+5) {
	grid-column: span 4;
	max-width: min(15vw, 216px);
}
.forestas-logo-ente img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
}
/* Sotto i 768px la stessa griglia con spazi fissi e le caselle larghe quanto le colonne: quattro
   finanziatori sulla prima riga, tre enti sulla seconda, così nessun logo resta da solo */
@media (max-width: 767px) {
	.forestas-loghi-footer {
		gap: 18px 12px;
	}
	.forestas-logo-ente,
	.forestas-logo-ente:nth-child(n+5) {
		max-width: none;
	}
}
@media (min-width: 1334px) {
	.forestas-loghi-footer {
		padding-left: 0;
		padding-right: 0;
	}
}

.l-section:is(.forestas-footer, .forestas-footer-bar) {
	padding-left: 0;
	padding-right: 0;
}
.l-section.forestas-footer {
	border-top: 5px solid var(--sase-arancio);
	background: var(--sase-fondo);
	color: var(--sase-testo);
}
.forestas-footer .l-section-h {
	width: 90%;
	max-width: var(--sase-larghezza-contenuto);
	padding: 1.875rem 0;
}
.l-footer .forestas-footer-main.g-cols {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.875rem;
	margin: 0;
}
.l-footer .forestas-footer-main.g-cols > .wpb_column {
	flex: 0 1 auto;
	width: auto;
	min-width: auto; /* Impreza mette 0: la colonna si stringerebbe sotto la larghezza del logo */
	padding: 0;
}
.forestas-footer-main .wpb_column > .vc_column-inner {
	display: grid;
	align-content: start;
	gap: clamp(1.25rem, 6vw, 1.875rem);
	padding: 0;
}
.forestas-footer-main .wpb_column > .vc_column-inner > * {
	margin: 0;
}
/* Larghezza fissa come sul sito attuale: è il logo a dare la larghezza minima alla colonna sinistra */
.forestas-footer-logo {
	width: var(--sase-larghezza-logo);
}
.forestas-contatti {
	color: var(--sase-testo-chiaro);
	font-size: .75rem;
	font-weight: 500;
	line-height: 1.3;
}
.forestas-contatti p {
	margin: 0;
}
.forestas-contatti a {
	color: inherit;
}
.forestas-footer .forestas-social-wrap {
	justify-content: flex-start;
	font-size: .75rem;
}
.forestas-footer .forestas-social-wrap .forestas-seguici {
	/* 1rem del sito attuale: Impreza scrive in linea --hwrapper-gap: 1rem, che non si può battere da qui */
	margin-inline-end: 1rem;
	font-size: inherit;
}
/* «.w-menu.layout_hor» batte l'inline-flex di Impreza, che abbasserebbe la riga di 2-3px */
.l-footer .w-menu.forestas-legali.layout_hor .menu {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin: 0;
	padding: 0;
	font-family: var(--sase-font-titoli);
	font-size: var(--sase-carattere-piccolo);
	line-height: 1.4;
}
/* «.layout_hor» batte il margine fra le voci che Impreza mette in «--main-gap» */
.l-footer .w-menu.forestas-legali.layout_hor .menu > .menu-item {
	margin: 0;
	padding: .2em 0 0;
	font-weight: 700;
	text-transform: uppercase;
}
.forestas-legali .menu-item a {
	display: block;
	white-space: normal; /* le voci vanno a capo come sul sito attuale quando la colonna è stretta */
	padding: 0 1.25rem;
	color: inherit;
}
.l-section.forestas-footer-bar {
	background: var(--sase-striscia-footer);
	color: var(--sase-testo-su-scuro);
	font-size: var(--sase-carattere-piccolo);
}
.forestas-footer-bar .l-section-h {
	width: 90%;
	max-width: var(--sase-larghezza-contenuto);
	/* Sotto, spazio per i pulsanti fissi nell'angolo dello schermo (oggi il «torna su» di Impreza, in
	   futuro il pulsante delle preferenze di iubenda e quello dell'accessibilità), come nel wireframe
	   oc:8783: in fondo alla pagina si appoggiano lì e non coprono il copyright (WCAG 2.4.11) */
	padding: .625rem 0 calc(.625rem + 88px);
}
@media (max-width: 600px) {
	.forestas-footer-bar .l-section-h {
		padding-bottom: calc(.625rem + 80px);
	}
}
.forestas-footer-bar .wpb_text_column p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .625rem 1.25rem;
	margin: 0;
	font-size: .75rem;
	line-height: 1.3;
}
/* Da 768px le due colonne stanno affiancate, distanti 2.5rem, e i link istituzionali su una riga */
@media (min-width: 768px) {
	.forestas-footer .l-section-h {
		padding: 3.75rem 0;
	}
	.l-footer .forestas-footer-main.g-cols {
		display: flex;
		justify-content: space-between;
		gap: 2.5rem;
	}
	.forestas-footer .forestas-social-wrap {
		justify-content: flex-end;
	}
	.l-footer .w-menu.forestas-legali.layout_hor .menu {
		flex-wrap: nowrap;
	}
}
@media (max-width: 1024px) {
	.l-footer .w-menu.forestas-legali.layout_hor .menu {
		font-size: .875rem;
	}
	.forestas-footer .forestas-social-wrap .forestas-seguici {
		text-align: left;
		font-size: .9375rem;
	}
	.forestas-contatti,
	.forestas-footer-bar .wpb_text_column p {
		font-size: .875rem;
	}
}
/* Sotto i 768px «Seguici su» sta sopra le icone, che diventano riquadri di 45px (come nel pannello) */
@media (max-width: 767px) {
	.forestas-footer .forestas-social-wrap {
		display: block;
	}
	.forestas-footer .forestas-social-wrap .forestas-seguici {
		margin: 0;
	}
	.forestas-footer .w-socials.forestas-social .w-socials-list {
		flex-wrap: wrap;
	}
	.forestas-footer .w-socials.forestas-social .w-socials-item-link {
		width: 45px;
		height: 45px;
		font-size: 1.125rem;
	}
}
/* Sui touch screen il sito attuale dà ai link del footer 0.3125rem sopra e sotto, e niente ai lati */
@media (hover: none) and (pointer: coarse) {
	.l-footer :is(.forestas-logo, .forestas-contatti a, .forestas-social .w-socials-item-link) {
		display: flex;
		padding-top: .3125rem;
		padding-bottom: .3125rem;
	}
	.l-footer .forestas-legali .menu-item a {
		display: flex;
		padding: .3125rem 0;
	}
}

/*
 * Link «Vai al contenuto» (oc:8757): fuori dallo schermo finché non riceve il focus da tastiera, poi in
 * alto a sinistra sopra l'header, con l'aspetto dei link di salto del sito attuale (.sase-skip-links):
 * fondo bianco, colore dei link, peso 500, 0.625rem di spazio intorno, contorno del colore del testo.
 * Non è l'opzione nativa di Impreza («skip_to_content_btn»): quella ha un'etichetta sola per tutte le
 * lingue nelle Theme Options e mette role="button" su un link.
 */
.forestas-salta {
	position: absolute;
	left: 0;
	top: -100px;
	z-index: 1000;
	padding: .625rem;
	background: var(--sase-fondo);
	color: var(--sase-arancio-scuro);
	font-weight: 500;
	text-decoration: none;
}
/* Col mouse sopra, «.no-touch a:hover» di Impreza gli darebbe il colore dei link al passaggio */
.no-touch .forestas-salta:hover {
	color: var(--sase-arancio-scuro);
}
.forestas-salta:focus {
	/* sotto la barra di amministrazione, per chi è loggato */
	top: var(--wp-admin--admin-bar--height, 0px);
}
.forestas-salta:focus-visible {
	outline-color: currentColor;
}


/*
 * Pagine statiche sincronizzate da Drupal (oc:8758), elementi di inc/pagine-statiche.php.
 *
 * Testata: altezze, misure e impaginazione (testo in basso, centrato) dal tema Drupal «sardegnasentieri»
 * (_hero.scss); sfumatura dal basso delle tavole del catasto dell'artifact «Canvas Fase 2» (.sh-scrim) e
 * barretta nel colore della sezione (tavola 8); su richiesta del dev (oc:8758). Testo, allegati e
 * galleria: tema Drupal (sase-page-body, field--field-allegati-media), che l'artifact non ridisegna.
 */
.forestas-sezione-base { --forestas-sezione: var(--sase-terra); }
.forestas-sezione-sentieri { --forestas-sezione: var(--sase-sezione-sentieri); }
.forestas-sezione-itinerari { --forestas-sezione: var(--sase-sezione-itinerari); }
.forestas-sezione-cammini { --forestas-sezione: var(--sase-sezione-cammini); }
.forestas-sezione-punti-di-interesse { --forestas-sezione: var(--sase-sezione-punti-di-interesse); }
.forestas-sezione-da-sapere { --forestas-sezione: var(--sase-sezione-da-sapere); }
.forestas-sezione-news { --forestas-sezione: var(--sase-sezione-news); }
.forestas-sezione-eventi { --forestas-sezione: var(--sase-sezione-eventi); }

.forestas-testata {
	position: relative;
	display: flex;
	/* testo in basso, come la testata hero del sito Drupal (_hero.scss: align-content end) */
	align-items: flex-end;
	justify-content: center;
	/* Altezze del tema Drupal (_hero.scss): 66% della finestra, minimo 17,86em (286px, 250px sotto 960px
	   dove la radice è 14px); su tablet al massimo il 50%, su desktop fra 500 e 600px */
	height: 66vh;
	min-height: 17.86rem;
	overflow: hidden;
}
@media (min-width: 768px) {
	.forestas-testata { max-height: 50vh; }
}
/* Sotto 768px Drupal mette la testata alta quanto il suo contenuto (--hero-height: auto), con il minimo */
@media (max-width: 767px) {
	.forestas-testata { height: auto; }
}
@media (min-width: 1025px) {
	.forestas-testata { min-height: 500px; max-height: 600px; }
}
.forestas-testata-sfondo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.forestas-testata-testo {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	/* larghezza del contenuto del sito (1294px, 90% sotto) e margini della testata di Drupal */
	/* Sotto il sottotitolo lo spazio della testata del Layout Builder di Drupal, misurato con il suo CSS
	   (101px a 1440px): margine della sezione + margine della regione + 1,3em della riga dell'immagine,
	   dove stanno anche i «Credits foto». In rem come su Drupal: sotto 960px la radice è 14px */
	--forestas-sfumatura: 64px;
	padding: calc(var(--sase-spazio-sezione) + var(--forestas-sfumatura)) max(5%, calc((100% - var(--sase-larghezza-contenuto)) / 2)) calc(2 * var(--sase-spazio-sezione) + 1.3rem);
	text-align: center;
	color: #FFFFFF;
	/* Sfumatura dal basso delle tavole del catasto dell'artifact (.sh-scrim): piena al 60% dove c'è
	   testo, sfuma negli ultimi 64px in alto. Bianco su #1A1A1A al 60% sopra una foto chiara resta
	   almeno 4,54:1 (WCAG 1.4.3) */
	background: linear-gradient(to top, rgba(26, 26, 26, 0.6) 0, rgba(26, 26, 26, 0.6) calc(100% - var(--forestas-sfumatura)), rgba(26, 26, 26, 0) 100%);
}
/* Con la testata alta quanto il contenuto, sopra il filo c'è lo spazio di Drupal (sezione + regione):
   la sfumatura occupa la parte che sta sopra quello della regione */
@media (max-width: 767px) {
	.forestas-testata-testo { --forestas-sfumatura: var(--sase-spazio-sezione); }
}
/* Senza immagine in evidenza, come su Drupal: stessa testata con la sfumatura nera del tema
   (--custom-theme-hero-gradient, sotto 768px la variante di _hero.scss) sul bianco della pagina, al posto
   della foto e della sfumatura dell'artifact. Senza il blocco dell'immagine la regione ha una riga in
   meno: sotto il sottotitolo restano solo i margini di sezione e regione */
.forestas-testata-senza-immagine {
	background: var(--sase-fondo) linear-gradient(0deg, rgba(0, 0, 0, 0.83) 21.78%, rgba(0, 0, 0, 0.81) 28%, rgba(0, 0, 0, 0.7) 41%, rgba(0, 0, 0, 0.66) 47%, rgba(0, 0, 0, 0.5) 64%, rgba(0, 0, 0, 0) 95%);
}
.forestas-testata-senza-immagine .forestas-testata-testo {
	padding-bottom: calc(2 * var(--sase-spazio-sezione));
	background: none;
}
@media (max-width: 767px) {
	.forestas-testata-senza-immagine {
		background: var(--sase-fondo) linear-gradient(0.08deg, rgba(0, 0, 0, 0.7) 33%, rgba(0, 0, 0, 0.6) 66%, rgba(0, 0, 0, 0.3) 90%, rgba(0, 0, 0, 0) 100%);
	}
}
/* «Credits foto» della testata: sase-image-credits del tema Drupal. In basso a sinistra sopra
   l'immagine; testo bianco 0,8125rem; il pulsante è scuro a credits nascosti, bianco quando sono aperti */
.forestas-credits {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	display: flex;                                          /* senza align-items, come su Drupal: con il testo
	                                                           su più righe (telefono) il pulsante resta in alto */
	gap: 1ch;
	padding: 0 1.25rem 0.3125rem;
	color: #FFFFFF;
	font-size: 0.8125rem;
	font-weight: 500;
}
.forestas-credits i {
	font-size: 1.2em;
}
.l-main .forestas-credits__pulsante {
	display: flex;
	align-items: center;
	gap: 1ch;
	margin: 0;
	/* come il pulsante di Drupal: eredita carattere e interlinea del blocco (normalize del sito:
	   button { font: inherit }), 0,33em × 0,5em */
	padding: 0.33em 0.5em;
	border: 0;
	border-radius: 0;
	background-color: var(--sase-fondo);
	color: var(--sase-testo);
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	line-height: 1.4;
	white-space: nowrap;
	cursor: pointer;
}
/* Fino a 1024px Drupal ingrandisce il pulsante: alto 2,5em, 0,25em × 1em */
@media (max-width: 1024px) {
	.l-main .forestas-credits__pulsante { height: 2.5em; padding: 0.25em 1em; }
}
.l-main .forestas-credits.is-hidden .forestas-credits__pulsante {
	background-color: rgba(0, 0, 0, 0.7);
	color: #FFFFFF;
}
.forestas-credits.is-hidden .forestas-credits__nascondi,
.forestas-credits:not(.is-hidden) .forestas-credits__mostra {
	display: none;
}
.l-main .forestas-credits__testo {
	margin: 0;
	padding: 0;
	color: #FFFFFF;
	font-size: inherit;
	line-height: 1.4;
	opacity: 1;
	transition: all 0.3s ease;
}
.forestas-credits.is-hidden .forestas-credits__testo {
	opacity: 0;
	visibility: hidden;
}
/* Separatore di Drupal (.sase-image-credits p > * + *::before): «•» attaccato al secondo campo */
.forestas-credits__testo > * + *::before {
	content: "•";
	display: inline;
}
.forestas-credits__testo strong {
	font-weight: 700;
}
@media (prefers-reduced-motion: reduce) {
	.l-main .forestas-credits__testo { transition: none; }
}

/* Barretta del tema Drupal (sase-heading-has-decoration): 57×7px sopra il titolo della testata,
   dell'intestazione e della galleria. Nella testata è un elemento con lo spazio sotto; negli altri due
   è un ::before che sale di 1,875rem nel padding del titolo */
.forestas-testata-filo,
.forestas-intestazione::before,
.forestas-galleria-titolo::before {
	display: block;
	width: var(--sase-filo-larghezza);
	height: var(--sase-filo-altezza);
}
.forestas-intestazione::before,
.forestas-galleria-titolo::before {
	content: "";
	margin-top: calc(-1 * var(--sase-filo-spazio));
}
.forestas-testata-filo {
	margin-bottom: calc(var(--sase-filo-spazio) - var(--sase-filo-altezza)); /* barra + spazio = 1,875rem, come su Drupal */
	background: var(--forestas-sezione);
}
.l-main .forestas-testata-titolo {
	margin: 0 0 1.3rem;
	padding: 0;                                             /* Impreza dà 24px sopra a ogni h1 */
	color: #FFFFFF;
	font-family: var(--sase-font-titoli);
	/* In rem come .sase-hero__title di Drupal: sotto 960px la radice è 14px sia lì sia in Impreza */
	font-size: clamp(1.875rem, 1.875rem + (1vw - 0.2rem) * 0.625, 2.5rem);
	font-weight: 600;
	line-height: 1.2;
}
/* Lo spazio sotto il titolo è il row-gap della regione di Drupal: senza sottotitolo né immagine non segue
   nessun blocco e lo spazio non c'è (Contatti) */
.l-main .forestas-testata-senza-immagine .forestas-testata-titolo:last-child {
	margin-bottom: 0;
}
@media (min-width: 768px) {
	.l-main .forestas-testata-titolo { font-size: var(--sase-titolo-grande); }
}
.forestas-testata-sottotitolo {
	margin: 0;
	color: #FFFFFF;
	font-size: var(--sase-testo-pagina); /* .sase-hero__subtitle */
	line-height: 1.6;
}
@media (min-width: 768px) {
	.forestas-testata-sottotitolo { font-size: var(--sase-testo-grande); }
}
/* Sola intestazione (News, che su Drupal ha un layout proprio senza testata): blocco sase-container con
   sase-heading-has-decoration, titolo sase-h1 scuro e filo centrato nel colore della sezione, come le
   altre testate. Il percorso viene dopo, come in tutte le pagine (decisione del dev, 21/10): sopra e sotto
   il titolo i margini della sezione hero di Drupal, dopo il percorso quello della sezione che su Drupal
   segue (3,75rem) */
.forestas-intestazione {
	display: grid;
	justify-items: center;
	width: 90%;
	max-width: var(--sase-larghezza-contenuto);
	margin: 0 auto;
	padding: calc(var(--sase-spazio-sezione) + var(--sase-filo-spazio)) 0 var(--sase-spazio-sezione);
	text-align: center;
}
.forestas-intestazione::before {
	background-color: var(--forestas-sezione);
}
.forestas-intestazione + .forestas-percorso {
	margin-bottom: 3.75rem;
}
.l-main .forestas-intestazione-titolo {
	margin: 0;
	padding: 0;                                             /* Impreza dà 24px sopra a ogni h1 */
	color: var(--sase-testo);
	font-family: var(--sase-font-titoli);
	font-size: var(--sase-titolo-grande);
	font-weight: 600;
	line-height: 1.2;
}
/* Percorso di navigazione: .crumb dell'artifact «Canvas Fase 2» (tavola 8), valori dell'artifact così come
   sono. Filo a tutta larghezza; il testo parte dove parte il logo dell'header (contenuto di 1294px) */
.forestas-percorso {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 11px var(--sase-rientro-contenuto);
	border-bottom: 1px solid var(--sase-filo-percorso);
	color: var(--sase-grigio-percorso);
	font-size: 12.5px;
	line-height: 1.4;
}
.forestas-percorso a {
	color: #254877;
	text-decoration: underline;
}
.forestas-percorso [aria-current] {
	color: var(--sase-inchiostro);
	font-weight: 600;
}

/*
 * Riga dei pulsanti sotto il percorso: .sh-actions dell'artifact «Canvas Fase 2» (oc:8783), allineata al
 * percorso. Per le pagine c'è solo «Condividi» (.sh-share), al posto della condivisione AddToAny di Drupal.
 */
.forestas-azioni {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding: 13px var(--sase-rientro-contenuto);
	border-bottom: 1px solid var(--sase-filo-percorso);
}
.forestas-condividi {
	position: relative;
	display: inline-flex;
}
.forestas-condividi .forestas-pulsante[aria-expanded="true"] {
	border-color: var(--sase-blu-pulsante);
	background-color: var(--sase-blu-pulsante);
	color: #FFFFFF;
}
/* Pannello: collegamenti scritti, niente script né cookie di terzi */
.forestas-condividi__pannello {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	z-index: 20;
	min-width: 230px;
	padding: 10px;
	border: 1px solid var(--sase-grigio-percorso);
	border-radius: 6px;
	background: var(--sase-fondo);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}
.forestas-condividi__pannello[hidden] {
	display: none;
}
.forestas-condividi__titolo {
	display: block;
	margin: 0 0 6px 4px;
	color: var(--sase-testo);
	font-family: var(--sase-font-testo);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.forestas-condividi__pannello ul {
	display: grid;
	gap: 2px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.forestas-condividi__pannello li {
	margin: 0;
}
.l-main .forestas-condividi__pannello a,
.l-main .forestas-condividi__copia {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin: 0;
	padding: 8px;
	border: 0;
	border-radius: 4px;
	background: none;
	color: var(--sase-inchiostro);
	font-family: var(--sase-font-testo);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.4;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
}
.l-main .forestas-condividi__pannello a:hover,
.l-main .forestas-condividi__copia:hover {
	background: var(--sase-fondo-campo);
	color: var(--sase-inchiostro);
	text-decoration: underline;
}
.l-main .forestas-condividi__pannello a:focus-visible,
.l-main .forestas-condividi__copia:focus-visible {
	outline: 3px solid var(--sase-focus);
	outline-offset: 1px;
}
.forestas-condividi__pannello svg {
	flex: none;
	width: 20px;
	height: 20px;
	fill: currentColor;
}
.l-main .forestas-condividi__copia {
	margin-top: 4px;
	padding-top: 10px;
	border-top: 1px solid #E5E5E5;
	border-radius: 0 0 4px 4px;
}
.forestas-condividi__copia svg {
	fill: none;
}
.forestas-condividi__esito {
	display: block;
	margin: 6px 8px 0;
	color: #0E7D2C;
	font-size: 13px;
	font-weight: 600;
}
.forestas-condividi__esito:empty {
	display: none;
}

/*
 * Testo della pagina come la sezione «Pagina contenuto» del Layout Builder di Drupal (oc:8758): blocco
 * sase-container--xs (90%, al massimo 960px) in una sezione sase-padding-v-12 (3,75rem sopra e sotto).
 * Dentro, le regole di sase-page-body copiate dal CSS compilato del tema (utilities/_typographic.scss):
 * valgono solo per i figli diretti senza classe, e lo spazio fra due elementi è il margine superiore del
 * secondo. Il contenitore non ha una dimensione del carattere: il testo fuori da un paragrafo ha quella
 * del body (1rem, 1,4), come su Drupal.
 */
.forestas-pagina-testo {
	width: 90%;
	max-width: 960px;
	margin: 0 auto;
	padding: 3.75rem 0;
}
/* Reset del tema Drupal (global/_base.scss, _typography.scss) al posto degli stili di Impreza: titoli,
   paragrafi e blockquote senza margini; liste e tabelle con gli stili del browser */
.forestas-pagina-testo :where(h1, h2, h3, h4, h5, h6, p, blockquote) { margin: 0; padding: 0; }
/* Drupal non dà stile ai titoli che non sono figli diretti del testo (per esempio dentro un blockquote):
   restano quelli del browser, non quelli dei titoli di Impreza */
.forestas-pagina-testo :where(h1, h2, h3, h4, h5, h6) {
	font-family: inherit;
	font-weight: 700;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: none;
}
.forestas-pagina-testo :where(h1) { font-size: 2em; }
.forestas-pagina-testo :where(h2) { font-size: 1.5em; }
.forestas-pagina-testo :where(h3) { font-size: 1.17em; }
.forestas-pagina-testo :where(h4) { font-size: 1em; }
.forestas-pagina-testo :where(h5) { font-size: 0.83em; }
.forestas-pagina-testo :where(h6) { font-size: 0.67em; }
/* :where() anche sul :not([class]): queste regole perdono contro quelle di allegati e galleria */
.forestas-pagina-testo :where(ul:not([class]), ol:not([class])) { margin: 1em 0; padding: 0 0 0 40px; }
.forestas-pagina-testo :where(ul:not([class])) { list-style: disc; }
.forestas-pagina-testo :where(ol:not([class])) { list-style: decimal; }
.forestas-pagina-testo :where(ul, ol) :where(ul:not([class]), ol:not([class])) { margin: 0; }
.forestas-pagina-testo :where(ul ul:not([class])) { list-style: circle; }
.forestas-pagina-testo :where(li) { margin: 0; padding: 0; }
.forestas-pagina-testo :where(h1, h2, h3, h4, h5, h6) a { color: inherit; text-decoration: none; }
.forestas-pagina-testo blockquote { border: 0; font-size: inherit; font-style: inherit; line-height: inherit; }
.forestas-pagina-testo blockquote::before { content: none; }

/* Tutti i link del testo sottolineati, anche negli elenchi e nelle tabelle: su Drupal solo quelli nei
   paragrafi, e altrove il colore da solo non basta (WCAG 1.4.1, 1,84:1 col testo) */
.forestas-pagina-testo a[href]:not([class]) {
	text-decoration: underline;
}

/* sase-page-body */
.forestas-pagina-testo > :is(em, p) a:not([class]),
.forestas-pagina-testo > a:not([class]) {
	text-decoration: underline;
	font-weight: 700;
	word-break: break-all;
}
.forestas-pagina-testo > :is(h2, h3, h4, h5, h6):not([class]) {
	font-family: var(--sase-font-titoli);
	font-weight: 600;
}
.forestas-pagina-testo > h2:not([class]) { font-size: var(--sase-titolo-medio); line-height: 1.2; }
.forestas-pagina-testo > h3:not([class]) { font-size: clamp(1.375rem, 1.08rem + 0.9vw, 1.75rem); line-height: 1.3; }
.forestas-pagina-testo > h4:not([class]) { font-size: var(--sase-titolo-piccolo); line-height: 1.4; }
.forestas-pagina-testo > :is(h5, h6):not([class]) { font-size: var(--sase-testo-grande); line-height: 1.4; }
.forestas-pagina-testo > :is(p, ul, ol):not([class]) {
	font-size: var(--sase-testo-pagina);
	font-weight: 400;
	line-height: 1.6;
}
.forestas-pagina-testo > h2:not([class]) + * { margin-top: 1.33em; }
.forestas-pagina-testo > h3:not([class]) + * { margin-top: 1.25em; }
.forestas-pagina-testo > h4:not([class]) + * { margin-top: 1.2em; }
.forestas-pagina-testo > h5:not([class]) + * { margin-top: 1.15em; }
.forestas-pagina-testo > h6:not([class]) + * { margin-top: 1.1em; }
.forestas-pagina-testo > * + h2:not([class]) { margin-top: 1.45em; }
.forestas-pagina-testo > * + h3:not([class]) { margin-top: 1.25em; }
.forestas-pagina-testo > * + h4:not([class]) { margin-top: 1.2em; }
.forestas-pagina-testo > * + h5:not([class]) { margin-top: 1.15em; }
.forestas-pagina-testo > * + h6:not([class]) { margin-top: 1.1em; }
.forestas-pagina-testo > p:not([class]) + p:not([class]),
.forestas-pagina-testo > * + :is(ul, ol):not([class]) { margin-top: 1.3em; }
/* Le ancore interne (FAQ) non finiscono sotto l'header fisso: riga compatta su desktop, header su mobile */
.forestas-pagina-testo [id],
.forestas-pagina-testo a[name] {
	scroll-margin-top: calc(var(--wp-admin--admin-bar--height, 0px) + 140px);
}

/* Allegati e galleria sono blocchi successivi della stessa regione: 3,125rem sopra
   (sase-section-inner-vertical-spaced-layout-region-10) */
.forestas-pagina-testo > :is(.forestas-allegati, .forestas-galleria) {
	margin-top: 3.125rem;
}
/* Titolo degli allegati: sase-h5 del tema Drupal */
.l-main .forestas-allegati-titolo {
	margin: 0 0 1.25rem;                                    /* sase-section-inner-vertical-spaced-padding-4 */
	color: var(--sase-testo);
	font-family: var(--sase-font-titoli);
	font-size: var(--sase-titolo-piccolo);
	font-weight: 600;
	line-height: 1.4;
}
.forestas-allegati ul,
.forestas-galleria ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
/* Allegati: file-link del tema Drupal (sase-file), 10px fra le voci */
.forestas-allegati li {
	margin: 0;
}
.forestas-allegati li + li {
	padding-top: 0.625rem;
}
.forestas-pagina-testo a.forestas-file,
.forestas-file {
	display: block;
	color: var(--sase-testo);
	font-weight: 400;
	text-decoration: none;
}
.no-touch .forestas-file:hover {
	color: var(--sase-arancio-hover);
	text-decoration: underline;
}
.forestas-file__descrizione {
	display: block;
	font-size: var(--sase-testo-grande);
	font-weight: 600;
	line-height: 1.6;
}
.forestas-file__info {
	display: block;
	font-size: clamp(0.875rem, 0.875rem + (1vw - 0.2rem) * 0.125, 1rem);
	line-height: 1.6;
}
/* Icona del file nel colore del marchio, come nelle pagine di testo di Drupal; nelle news nel colore
   della sezione, come le altre icone della news (sase-file__icon prende --section-color) */
.forestas-file__icona {
	color: var(--sase-arancio);
}
.forestas-corpo-contenuto .forestas-file__icona {
	color: var(--sase-sezione-news);
}
/* Galleria: sezione sase-padding-v-8 (2,5rem sopra e sotto) con 1,875rem fra titolo e griglia
   (sase-section-inner-vertical-spaced-margin-6) */
.forestas-pagina-testo > .forestas-galleria {
	padding: 2.5rem 0;
}
/* Titolo: sase-h3 con sase-heading-has-decoration is-left-aligned (field--node--field-galleria-media---custom,
   il template attivo sulle pagine), filo nel colore del marchio come su Drupal */
.l-main .forestas-galleria-titolo {
	display: grid;
	justify-items: start;
	margin: 0;
	padding: var(--sase-filo-spazio) 0 0;
	color: var(--sase-testo);
	font-family: var(--sase-font-titoli);
	font-size: var(--sase-titolo-medio);
	font-weight: 600;
	line-height: 1.2;
}
.forestas-galleria-titolo::before {
	background-color: var(--sase-arancio);
}
/* Griglia: sase-grid (0,9375rem fra le immagini), 3 colonne su telefono e 4 da 768px */
.forestas-galleria ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.9375rem;
	margin-top: 1.875rem;
}
@media (min-width: 768px) {
	.forestas-galleria ul { grid-template-columns: repeat(4, 1fr); }
}
.forestas-galleria a {
	position: relative;
	display: block;
}
/* Didascalia per la lightbox, nascosta come la visually-hidden di Drupal (system, hidden.module.css) */
.forestas-galleria .visually-hidden {
	position: absolute !important;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	width: 1px;
	height: 1px;
	word-wrap: normal;
}
.forestas-galleria img {
	display: block;
	width: 100%;
	height: 100%;
	aspect-ratio: 1;
	object-fit: cover;
}
/* Lente di Blazy al passaggio del mouse, con le modifiche del tema Drupal (_gallery.scss): cerchio scuro
   di 3em con l'icona di ingrandimento */
.forestas-galleria__lente {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 3em;
	height: 3em;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.8);
	transform: translate(-50%, -50%);
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
	transition: visibility 0s linear 0.5s, opacity 0.5s linear;
}
.forestas-galleria__lente::before {
	content: "\f00e";
	font-family: fontawesome;
	font-weight: 400;
	font-size: 1.5em;
	color: #FFFFFF;
}
.forestas-galleria a:hover .forestas-galleria__lente,
.forestas-galleria a:focus-visible .forestas-galleria__lente {
	visibility: visible;
	opacity: 1;
	transition-delay: 0s;
}
@media (prefers-reduced-motion: reduce) {
	.forestas-galleria__lente { transition: none; }
}

/*
 * Mappa interattiva: il blocco «mappa_interattiva» del tema Drupal (block--mappa-interattiva.html.twig)
 * con le regole compilate di sase-map-wrapper e has-iframe-fullpage. Alta quanto la finestra meno header,
 * percorso e barra di WordPress (su Drupal la toolbar); l'iframe parte 5rem sotto, dove c'è la barra con
 * il pulsante. A schermo intero copre la finestra, header compreso. Le altezze le misura
 * assets/js/mappa.js, come header-navigation.js e scripts.js di Drupal.
 */
.forestas-mappa {
	--_map-ratio: var(--map-ratio, var(--_iframe-ratio));
	--_iframe-ratio: calc(var(--forestas-vh, 100vh) - var(--forestas-mappa-header, 0px) - var(--forestas-mappa-percorso, 0px) - var(--wp-admin--admin-bar--height, 0px));
	position: relative;
	width: 100%;
	height: 0;
	padding-bottom: var(--_map-ratio);
	overflow: hidden;
}
.forestas-mappa iframe {
	position: absolute;
	top: 5rem !important;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100% !important;
	height: calc(100% - 5rem) !important;
	border: 0;
}
.forestas-mappa.is-expanded {
	--map-ratio: calc(var(--forestas-vh, 100vh) - var(--wp-admin--admin-bar--height, 0px));
	position: fixed;
	top: var(--wp-admin--admin-bar--height, 0px);
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 60;
}
/* Sotto 640px su Drupal la mappa lascia libera in basso la barra di 57px dell'app (ionic) */
@media (max-width: 639px) {
	.forestas-mappa iframe {
		height: calc(100% - 1.25rem - 57px) !important;
	}
	.forestas-mappa.is-expanded {
		height: calc(100% - 5rem - 57px) !important;
	}
}
/* Barra sopra la mappa: sase-padding-4 sase-display-flex sase-justify-content-end sase-background-color-white */
.forestas-mappa__barra {
	display: flex;
	justify-content: flex-end;
	padding: 1.25rem;
	background-color: var(--sase-fondo);
}
.forestas-mappa.is-shrinked .is-map-shrinker,
.forestas-mappa.is-expanded .is-map-expander {
	display: none;
}
/* Pulsante chiaro con bordo: sase-btn sase-btn-light sase-btn--has-icon del tema Drupal, usato dalla mappa e
   dalla riga dei pulsanti sotto il percorso (il «secondario» dell'artifact «Canvas Fase 2») */
.l-main .forestas-pulsante {
	display: flex;
	align-items: center;
	justify-content: center;                                /* sase-btn; con l'icona space-between, sotto */
	min-width: 165px;
	width: 100%;
	height: 3em;
	margin: 0;
	padding: 0 1.25rem;
	border: solid currentColor;
	border-width: 1px 2px 2px 1px;
	border-radius: 0.25em;
	background-color: var(--sase-fondo);
	color: var(--sase-testo);
	font-family: var(--sase-font-testo);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.1;
	text-align: center;
	text-decoration: none;
	vertical-align: top;
	cursor: pointer;
	transition: all 0.3s ease;
}
.l-main .forestas-pulsante:hover,
.l-main .forestas-pulsante:focus {
	border-color: var(--sase-arancio);
	background-color: var(--sase-arancio);
	color: var(--sase-testo);
}
.l-main .forestas-pulsante:active {
	border-color: var(--sase-blu-pulsante);
	background-color: var(--sase-blu-pulsante);
	color: #FFFFFF;
}
/* Fuoco del tema Drupal (global/_base.scss, --system-focus-outline-color): azzurro con un anello bianco */
.l-main .forestas-pulsante:focus-visible {
	outline: max(3px, 0.08em) solid var(--sase-focus);
	outline-offset: max(3px, 0.08em);
	box-shadow: 0 0 0 max(3px, 0.08em) #FFFFFF;
}
/* sase-btn--has-icon: testo e icona ai due lati */
.l-main .forestas-pulsante--icona {
	justify-content: space-between;
}
.forestas-pulsante__icona {
	font-size: 0.875em;
}
@media (min-width: 768px) {
	.l-main .forestas-pulsante {
		display: inline-flex;
		width: fit-content;
	}
	.forestas-pulsante__icona {
		padding-left: 0.625rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.l-main .forestas-pulsante { transition: none; }
}
/* Mappa a schermo intero: la pagina non scorre e l'header passa sotto, come su Drupal (has-map-expanded) */
.forestas-mappa-aperta {
	overflow: hidden;
}
.forestas-mappa-aperta .l-header {
	z-index: -1 !important;
}

/*
 * News (oc:8759): pagina della news, schede della pagina News, card unica e pagine d'elenco. Schede e card
 * seguono il «Canvas Fase 2» (tavola 9, sezioni redazionali: .tabs, .red-t, .uc); la pagina della news
 * segue il layout di Drupal (core.entity_view_display.node.news.full.yml), con le classi del tema
 * sardegnasentieri tradotte nei valori.
 */

/* Testata della news: quella delle pagine, con la tipologia sopra il titolo (sase-hero__category) e la
   data sotto il titolo (sase-hero__date). La tipologia, e «Eventi» sopra un evento, ha la sua barretta
   come sase-hero__category-text-decorated di Drupal (mixin labelDecorated): larga quanto il testo, alta
   5px, 1em sotto il testo; al posto del filo delle pagine. Sotto, il margine di Drupal ($space * 2) più
   il row-gap della hero (1,3rem), da cui si toglie la barretta che scende di 1em */
.forestas-testata-tipologia {
	position: relative;
	margin: 0 0 2.55rem;
	padding-bottom: 1em;
	font-size: var(--sase-carattere-piccolo);               /* $font-size-14px-fluid, come su Drupal */
	font-weight: 600;
	text-transform: uppercase;
}
.forestas-testata-tipologia::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1em;
	width: 100%;
	height: 5px;
	background: var(--forestas-sezione);
}
.forestas-testata-tipologia + .forestas-testata-filo { display: none; }
.forestas-testata-data {
	margin: .75rem 0 0;
	font-size: var(--sase-carattere-piccolo);
	font-weight: 600;
}
.forestas-testata-data i { margin-right: .35em; color: var(--sase-sezione-news); }
.forestas-corpo-contenuto { padding-top: 2.5rem; }
.forestas-corpo-contenuto > .forestas-collegamenti { margin-top: 3.125rem; }
/* Tag: sase-tag del tema Drupal. Segnalibro «light» nel colore della sezione News (#C2410C concordato
   al posto del #F67745 di Drupal, come la data, i file e la freccia dei collegamenti), voci in maiuscolo
   separate da «-» */
.forestas-news-tag {
	display: flex;
	align-items: baseline;
	gap: 1em;
	margin-bottom: 3.125rem;                                 /* 50px prima del testo, come il blocco sase-block */
	color: var(--sase-testo);
	font-weight: 600;
	text-transform: uppercase;
}
.forestas-news-tag__icona { color: var(--sase-sezione-news); }
.forestas-news-tag ul {
	display: flex;
	flex-wrap: wrap;
	gap: 1em .5em;
	margin: 0;
	padding: 0;
	list-style: none;
}
.forestas-news-tag li { margin: 0; }
.forestas-news-tag li:not(:last-child)::after {
	content: "-";
	margin-left: .5em;
}
/* Collegamenti: field--field-collegamenti di Drupal. Titolo sase-h5 come quello degli allegati, 1,25rem
   prima dell'elenco, voci a 0,9375rem; link sase-link: grassetto, senza sottolineatura (solo al
   passaggio del mouse), freccia davanti nel colore della sezione */
.l-main .forestas-collegamenti-titolo {
	margin: 0 0 1.25rem;
	color: var(--sase-testo);
	font-family: var(--sase-font-titoli);
	font-size: var(--sase-titolo-piccolo);
	font-weight: 600;
	line-height: 1.4;
}
.forestas-collegamenti ul {
	display: grid;
	gap: .9375rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.forestas-link-freccia {
	display: flex;
	align-items: baseline;
	gap: .5em;
	color: var(--sase-testo);
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
}
.forestas-link-freccia:hover,
.forestas-link-freccia:focus { text-decoration: underline; }
.forestas-link-freccia i {
	font-size: .9375rem;
	color: var(--sase-sezione-news);
}

/* Schede: .tabs del Canvas. Collegamenti, non un componente: quello aperto in grassetto con il filetto */
.forestas-schede {
	display: flex;
	justify-content: center;
	gap: 26px;
	padding: 0 22px;
	border-bottom: 1px solid var(--sase-filo-percorso);
}
.forestas-schede a {
	display: block;
	padding: 13px 0;
	border-bottom: 3px solid transparent;
	color: var(--sase-testo);
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none;
}
.forestas-schede a:hover { color: var(--sase-inchiostro); }
.forestas-schede a[aria-current] {
	border-bottom-color: var(--forestas-sezione);
	color: var(--sase-inchiostro);
	font-weight: 700;
}
/* 860px: la soglia del Canvas per schede e griglie (anche più sotto e in assets/js/schede.js).
   Sotto 860px la fila scorre in orizzontale se non ci sta, mai in verticale (con overflow-x: auto il
   browser mette auto anche in verticale, e il filetto della scheda aperta lo faceva comparire) */
@media (max-width: 860px) {
	.forestas-schede { justify-content: flex-start; gap: 18px; overflow: auto hidden; }
}
.forestas-scheda,
.forestas-elenco {
	width: 90%;
	max-width: var(--sase-larghezza-contenuto);
	margin: 0 auto;
	padding: 1.875rem 0 3.75rem;
}
/* Titolo della scheda: .red-t del Canvas, filetto corto nel colore della sezione sopra il titolo */
.forestas-scheda-titolo {
	display: grid;
	justify-items: center;
	gap: 10px;
	margin-bottom: 1.25rem;
	text-align: center;
}
.forestas-scheda-titolo span {
	width: 34px;
	height: 3px;
	background: var(--forestas-sezione);
}
.l-main .forestas-scheda-titolo h2 {
	margin: 0;
	padding: 0;
	color: var(--sase-testo);
	font-family: var(--sase-font-titoli);
	font-size: 1.375rem;
	font-weight: 600;
}
.forestas-scheda-pulsante {
	margin: 1.25rem 0 0;
	text-align: center;
}

/* Card unica: .uc del Canvas. Tutta la card è cliccabile (il link del titolo la copre) */
.forestas-griglia {
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}
/* Disposizione di sase-grid--left-highlight-column di Drupal (blocchi «in evidenza» di News, Attività e Da
   sapere): due colonne uguali a 15px, la prima card su tre righe a sinistra, le altre tre impilate a
   destra, alte 180px con la foto larga 207px su 640 (a 1920px) */
.forestas-griglia--evidenza {
	gap: 15px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
.forestas-card {
	--c: var(--forestas-sezione, var(--sase-sezione-news));
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 4px 14px rgba(0, 0, 0, .07);
	transition: box-shadow .25s ease, transform .25s ease;
}
.forestas-card:hover {
	box-shadow: 0 2px 4px rgba(0, 0, 0, .08), 0 12px 28px rgba(0, 0, 0, .12);
	transform: translateY(-2px);
}
.forestas-card:focus-within { outline: 3px solid var(--sase-focus); outline-offset: 2px; }
.forestas-card__media {
	position: relative;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	background: var(--sase-fondo-immagine);
}
.forestas-card__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .4s ease;
}
.forestas-card:hover .forestas-card__media img { transform: scale(1.04); }
.forestas-card__testo {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 16px 16px 18px;
}
.forestas-card__tag {
	display: inline-flex;
	align-items: center;
	gap: .55em;
	color: var(--sase-testo);
	font: 600 .75rem/1.2 var(--sase-font-testo);
	letter-spacing: .06em;
	text-transform: uppercase;
}
.forestas-card__tag::before {
	content: "";
	flex: none;
	width: 1.8em;
	height: 3px;
	background: var(--c);
}
.l-main .forestas-card__titolo {
	margin: 0;
	padding: 0;
	color: var(--sase-testo-scuro);
	font: 600 1.0625rem/1.25 var(--sase-font-titoli);
}
.forestas-card__titolo a { color: inherit; text-decoration: none; }
.forestas-card__titolo a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.forestas-card__titolo a:focus-visible { outline: none; }
.forestas-card:hover .forestas-card__titolo a {
	text-decoration: underline;
	text-decoration-color: var(--c);
	text-underline-offset: 3px;
}
.forestas-card__data {
	margin: auto 0 0;
	padding-top: 4px;
	color: var(--sase-testo);
	font-size: .875rem;
}
/* Senza foto: filetto in alto */
.forestas-card--senza-immagine { border-top: 4px solid var(--c); }
.forestas-card--senza-immagine .forestas-card__testo { min-height: 9em; padding-top: 20px; }
/* In evidenza: foto piena, testo bianco sulla sfumatura scura */
.forestas-card--evidenza {
	grid-row: span 3;                                        /* accanto, le altre 3 («quanti»: 4 in config/pagine.json) */
	min-height: 360px;
	background: var(--sase-testo-scuro);
}
.forestas-card--evidenza .forestas-card__media { position: absolute; inset: 0; aspect-ratio: auto; }
.forestas-card--evidenza .forestas-card__testo {
	position: relative;
	flex: none;
	margin-top: auto;
	padding: 80px 20px 22px;
	background: linear-gradient(to top, rgba(0, 0, 0, .88) 0, rgba(0, 0, 0, .78) 55%, rgba(0, 0, 0, 0) 100%);
}
.forestas-card--evidenza :is(.forestas-card__tag, .forestas-card__data),
.l-main .forestas-card--evidenza .forestas-card__titolo { color: #fff; }
.l-main .forestas-card--evidenza .forestas-card__titolo { font-size: 1.375rem; line-height: 1.2; }
.forestas-card--evidenza:hover .forestas-card__titolo a { text-decoration-color: #fff; }
.forestas-card__flag {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: .4em .7em;
	border-radius: 4px;
	background: #fff;
	color: var(--sase-testo-scuro);
	font: 600 .75rem/1 var(--sase-font-testo);
	letter-spacing: .06em;
	text-transform: uppercase;
}
/* Compatta, accanto a quella in evidenza: foto a lato */
.forestas-card--compatta { flex-direction: row; min-height: 180px; }
.forestas-card--compatta .forestas-card__media { flex: 0 0 32.35%; aspect-ratio: auto; }
/* La foto riempie l'altezza della card senza allungarla: una foto verticale la faceva crescere (Da sapere) */
.forestas-card--compatta .forestas-card__media img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.forestas-card--compatta .forestas-card__testo { padding: 12px 14px; }
.l-main .forestas-card--compatta .forestas-card__titolo { font-size: .9375rem; }
@media (max-width: 860px) {
	.forestas-griglia { grid-template-columns: 1fr; }
	.forestas-card--evidenza { grid-row: auto; min-height: 60vw; }
}
@media (prefers-reduced-motion: reduce) {
	.forestas-card,
	.forestas-card__media img { transition: none; }
	.forestas-card:hover,
	.forestas-card:hover .forestas-card__media img { transform: none; }
}
.forestas-paginazione {
	display: flex;
	justify-content: center;
	gap: .5rem;
	margin-top: 2.5rem;
}
.forestas-paginazione .page-numbers {
	min-width: 2.25em;
	padding: .35em .6em;
	border: 1px solid var(--sase-filo-percorso);
	color: var(--sase-testo);
	text-align: center;
	text-decoration: none;
}
.forestas-paginazione .page-numbers.current {
	border-color: var(--sase-sezione-news);
	color: var(--sase-inchiostro);
	font-weight: 700;
}
/* Griglia a due colonne (campo «colonne» di config/pagine.json): la lista di /attivita-e-comunicazioni/,
   come sase-grid--2 di Drupal */
.forestas-griglia--colonne-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
/* Una colonna di card orizzontali: la lista di /eventi/, come la teaser dell'evento di Drupal
   (sase-card--has-side-thumb-left): foto a sinistra larga 308px su 944 e alta 224, testo a destra */
.forestas-griglia--colonne-1 { grid-template-columns: minmax(0, 1fr); }
.forestas-griglia--colonne-1 .forestas-card { flex-direction: row; min-height: 224px; }
.forestas-griglia--colonne-1 .forestas-card__media { flex: 0 0 32.63%; aspect-ratio: auto; }
.forestas-griglia--colonne-1 .forestas-card__media img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
@media (max-width: 600px) {
	.forestas-griglia--colonne-1 .forestas-card { flex-direction: column; }
	.forestas-griglia--colonne-1 .forestas-card__media { aspect-ratio: 3 / 2; }
}

/*
 * Lista con i filtri (campo «filtri», oc:8760): la griglia 3-9 della pagina di Drupal (sase-grid--3-9
 * sase-grid--xl), filtri a sinistra e lista a destra a $space * 3,5. I filtri copiano le faccette di Drupal
 * (sase-block--facets), misurate a 1512px: titolo Montserrat 18px fluido con la freccia in un pulsante di
 * 45px; gruppi a 3px, il secondo con un filo #F0F0F0 e 15px sopra; voci a 8px, numero in un riquadro
 * arancio a destra; «Mostra di più» centrato sotto un filo. Sotto 960px stanno sopra la lista, dietro il
 * pulsante «Filtri».
 */
.forestas-filtrabile {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 9fr);
	gap: 2.1875rem;
	align-items: start;
	margin-top: 3.75rem;
}
.forestas-filtrabile .forestas-griglia { gap: .9375rem; }
.forestas-filtri {
	--forestas-filtro: #CA4D1C;                              /* --custom-theme-brand-color-shade-dark della sezione News */
	color: var(--sase-testo);
	font-size: 1rem;
	line-height: 1.4;
}
.forestas-filtri__apri { display: none; }
.forestas-filtri__gruppi { display: grid; gap: 3px; }
.forestas-filtri__gruppo { display: grid; gap: .78125rem; }
.forestas-filtri__gruppo + .forestas-filtri__gruppo {
	padding-top: .9375rem;
	border-top: 1px solid var(--sase-bordo);
}
.forestas-filtri__testata {
	display: flex;
	gap: 1rem;
	align-items: baseline;
}
.l-main .forestas-filtri__titolo {
	margin: 0;
	padding: 0;
	color: var(--sase-testo);
	font-family: var(--sase-font-titoli);
	font-size: clamp(1rem, .98rem + .35vw, 1.125rem);        /* $font-size-20px-fluid: arriva a 18px */
	font-weight: 600;
	line-height: 1.2;
}
.forestas-filtri__apri-gruppo {
	flex: 0 0 45px;
	height: 45px;
	margin-left: auto;
	padding: 0 6px;
	border: 0;
	background: none;
	color: var(--sase-testo);
	font-size: 1rem;
	cursor: pointer;
}
/* Come su Drupal: la freccia è in su a gruppo chiuso, in giù ad aperto */
.forestas-filtri__apri-gruppo i { transform: rotate(180deg); }
.forestas-filtri__gruppo.is-aperto .forestas-filtri__apri-gruppo i { transform: none; }
/* Chiuso, il contenuto resta alto 0: come su Drupal conta nella spaziatura del gruppo */
.forestas-filtri__voci { height: 0; overflow: hidden; visibility: hidden; }
.forestas-filtri__gruppo.is-aperto .forestas-filtri__voci { height: auto; overflow: visible; visibility: visible; }
.forestas-filtri__voci ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.forestas-filtri__voci li { margin: 0; padding-right: .625rem; }
.forestas-filtri__voci a {
	display: flex;
	align-items: center;
	color: var(--sase-testo);
	text-decoration: none;
}
.forestas-filtri__valore { padding: .25em 0; }
.forestas-filtri__voci a:is(:hover, :focus) .forestas-filtri__valore { text-decoration: underline; }
.forestas-filtri__numero {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 2em;
	margin-left: auto;
	padding: 0 .75em;
	border: 1px solid var(--forestas-filtro);
	border-radius: .3em;
	background: #FFFDFA;
	color: var(--forestas-filtro);
	font-size: .8em;
	font-weight: 700;
}
/* Gruppo con un valore scelto: tutte le voci in grassetto e i numeri su fondo pieno (.facet-active) */
.forestas-filtri__gruppo.is-attivo .forestas-filtri__valore { font-weight: 700; }
.forestas-filtri__gruppo.is-attivo .forestas-filtri__numero { background: var(--forestas-filtro); color: #fff; }
.forestas-filtri__in-piu { display: none; }
.forestas-filtri__voci.is-tutte .forestas-filtri__in-piu { display: list-item; }
.forestas-filtri__mostra {
	display: flex;
	gap: .66em;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 8px;
	padding: 1rem;
	border: 0;
	border-top: 1px solid var(--sase-bordo);
	background: none;
	color: var(--sase-testo);
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}
.forestas-filtri__mostra::after {
	content: "\f077";                                         /* chevron-up; chevron-down ad aperto */
	font-family: fontawesome;                                /* il Font Awesome Pro di Impreza */
	font-weight: 400;
}
.forestas-filtri__mostra[aria-expanded="true"]::after { content: "\f078"; }
@media (max-width: 960px) {
	.forestas-filtrabile { grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
	.forestas-filtri__apri {
		display: inline-flex;
		gap: .5em;
		align-items: center;
		justify-self: end;
		padding: .6em 1.2em;
		border: 1px solid var(--sase-filo-percorso);
		border-radius: 4px;
		background: #fff;
		color: var(--sase-inchiostro);
		font: inherit;
		font-weight: 600;
		cursor: pointer;
	}
	.forestas-filtri { display: grid; }
	.forestas-filtri__gruppi { display: none; margin-top: 1rem; }
	.forestas-filtri.is-aperto .forestas-filtri__gruppi { display: grid; }
}
@media (max-width: 600px) {
	.forestas-griglia--colonne-2 { grid-template-columns: minmax(0, 1fr); }
}

/* Pagina di una tipologia dei «da sapere» (taxonomy-tipologia_da_sapere.php): la griglia di
   termine_tassonomia_da_sapere di Drupal, tre colonne a 15px con 70px sopra e sotto, card con la foto a
   sinistra (134px su 421 a 1920px) alte quanto il testo, su fondo #FCFCFC */
.forestas-griglia--tipologia { gap: 15px; }
.forestas-elenco:has(.forestas-griglia--tipologia) { padding: 70px 0; }
.forestas-griglia--tipologia .forestas-card--compatta { min-height: 113px; background: #FCFCFC; }
.forestas-griglia--tipologia .forestas-card--compatta .forestas-card__media { flex-basis: 31.83%; }
.forestas-testata-sottotitolo > p { margin: 0; }
@media (max-width: 1024px) {
	.forestas-griglia--tipologia { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
	.forestas-griglia--tipologia { grid-template-columns: minmax(0, 1fr); }
}

/* Sulle pagine a schede la fila delle schede segue subito il percorso, come nel Canvas */
.l-main:has(.forestas-schede) .forestas-intestazione + .forestas-percorso { margin-bottom: 0; }

/*
 * Eventi e «da sapere» (oc:8760). Card dell'evento come nel Canvas (.uc--evento, .uc-date): il blu degli
 * eventi per filetto e sottolineatura, la data in un riquadro bianco sulla foto, in alto a sinistra.
 */
.forestas-card--evento { --c: var(--sase-blu-pulsante); }
.forestas-card__giorno {
	position: absolute;
	top: 12px;
	left: 12px;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 3.4em;
	padding: .35em .5em .45em;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .18);
	color: var(--sase-blu-pulsante);
	font: 600 .75rem/1 var(--sase-font-testo);
	letter-spacing: .04em;
	text-transform: uppercase;
}
.forestas-card__giorno b { margin-bottom: .15em; font: 600 1.75rem/1 var(--sase-font-titoli); letter-spacing: 0; }
/*
 * Scheda FAQ (wireframe, tavola 8, .faq-panel): pannello blu del marchio, titolo bianco a sinistra senza
 * filetto, una riga per domanda con «›» a destra e un filo chiaro sotto, pulsante bianco con il testo blu.
 * Le card «lista» sono quelle di node--da-sapere--anteprima-lista: solo il titolo
 */
.forestas-scheda:has(.forestas-griglia--lista) {
	margin: 1.875rem auto 3.75rem;
	padding: 20px 22px 22px;
	background: var(--sase-blu-marchio);
	color: #fff;
}
.forestas-scheda:has(.forestas-griglia--lista) .forestas-scheda-titolo { justify-items: start; margin-bottom: 12px; text-align: left; }
.forestas-scheda:has(.forestas-griglia--lista) .forestas-scheda-titolo span { display: none; }
.l-main .forestas-scheda:has(.forestas-griglia--lista) .forestas-scheda-titolo h2 { color: #fff; font-size: 1.25rem; }
.forestas-griglia--lista { grid-template-columns: 1fr; gap: 0; margin-bottom: 16px; }
.forestas-card--lista {
	border-radius: 0;
	border-bottom: 1px solid rgba(255, 255, 255, .22);
	background: none;
	box-shadow: none;
}
.forestas-card--lista:hover { box-shadow: none; transform: none; }
.forestas-card--lista:focus-within { outline-color: #fff; }
.l-main .forestas-card--lista .forestas-card__titolo { padding: 9px 0; color: #fff; font: 400 .9375rem/1.4 var(--sase-font-testo); }
.forestas-card--lista .forestas-card__titolo a { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.forestas-card--lista:hover .forestas-card__titolo a { text-decoration-color: #fff; }
.forestas-card--lista .forestas-card__titolo span { flex: none; }
.forestas-scheda:has(.forestas-griglia--lista) .forestas-scheda-pulsante { text-align: left; }
.forestas-scheda:has(.forestas-griglia--lista) .forestas-pulsante { border-color: #fff; background: #fff; color: var(--sase-blu-pulsante); }
/* Pillole di sentieristica (wireframe, tavola 8): riquadri verso le tipologie, filetto in basso */
.forestas-pillole {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
}
.l-main .forestas-pillola { margin: 0; padding: 0; font: 500 .9375rem/1.3 var(--sase-font-testo); }
.forestas-pillola a {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 44px;
	padding: 14px;
	border-bottom: 3px solid var(--forestas-sezione);
	background: #F7F5F1;
	color: var(--sase-testo-scuro);
	text-decoration: none;
}
.forestas-pillola a:hover { text-decoration: underline; text-underline-offset: 3px; }
.forestas-pillola i { color: var(--forestas-sezione); font-size: 1.1rem; }
/*
 * Pagina dell'evento (is-event di Drupal): frecce dei collegamenti e barretta della galleria nel blu degli
 * eventi, icone dei file grigie. «Dove» e «Quando» come sase-content-datas: due colonne uguali divise da
 * un filo, 30px di spazio, filo sotto; icona accanto al titolo, testo allineato al titolo, in grassetto.
 * Il paese dell'indirizzo c'è nel markup ma Drupal non lo mostra (.country nascosto).
 */
.forestas-evento-corpo .forestas-link-freccia i,
.forestas-evento-info__voce > i { color: var(--sase-blu-pulsante); }
.forestas-evento-corpo .forestas-galleria-titolo::before { background-color: var(--sase-blu-pulsante); }
.forestas-evento-corpo .forestas-file__icona { color: var(--sase-testo); }
.forestas-evento-info {
	display: flex;
	margin-bottom: 50px;
	padding-bottom: 30px;
	border-bottom: 1px solid var(--sase-bordo);
}
.forestas-evento-info__voce { display: flex; flex: 1 1 0; align-items: flex-start; gap: .6rem; }
.forestas-evento-info__voce + .forestas-evento-info__voce { margin-left: 25px; padding-left: 30px; border-left: 1px solid var(--sase-bordo); }
.forestas-evento-info__voce > i { margin-top: 5px; font-size: var(--sase-titolo-piccolo); line-height: 1; }
.l-main .forestas-evento-info__titolo {
	margin: 0;
	padding: 0;
	color: var(--sase-testo);
	font-family: var(--sase-font-titoli);
	font-size: var(--sase-titolo-piccolo);
	font-weight: 600;
	line-height: 1.4;
}
.forestas-evento-info__testo { font-weight: 600; }
.forestas-evento-info__paese { display: none; }
@media (max-width: 860px) {
	.forestas-pillole { grid-template-columns: 1fr; }
	.forestas-evento-info { flex-direction: column; gap: 20px; }
	.forestas-evento-info__voce + .forestas-evento-info__voce { margin-left: 0; padding-left: 0; border-left: 0; }
}
