/**
 * CSS comune ai due siti (ex "CSS aggiuntivo" del Customizer, backup 2025-06-06).
 * Le regole specifiche di ciascun sito sono in assets/css/variant-*.css.
 * Il footer è in style.css.
 */
body {
		margin:0 0px;
		padding:0;
		font-family: Galano;
}


*:focus, *:active, *:active:focus {
    outline: none !important;
    box-shadow: none !important;
}

/********* LOGO **********/
.site-header.has-logo:not(.has-title-and-tagline).has-menu .site-logo img {
    max-height: var(--branding--logo--max-height-mobile);
}

@media only screen and (max-width: 600px) {
.primary-navigation {
   	margin-left: auto;
		margin-right: auto;
	}
	.site-branding {
		margin-left: auto;
		margin-right: auto;
	}
}

/*
 * Header mobile: una sola riga compatta, logo a sinistra e pulsante "Menu"
 * a destra, centrati in altezza.
 */
@media only screen and (max-width: 481.98px) {

	.site-header {
		position: relative;
		display: flex;
		align-items: center;
		flex-wrap: nowrap;
		row-gap: 0;
		padding-top: 0.75rem;
		padding-bottom: 0.75rem;
	}

	.site-header .site-branding {
		position: static;
		margin: 0;
		color: var(--branding--color-text);
	}

	.site-header .site-logo,
	.site-header > .site-logo {
		width: auto;
		margin: 0;
		padding: 0;
		border: 0;
		text-align: left;
	}

	/*
	 * Logo: blocco senza spazio di riga sotto l'immagine, così il suo centro
	 * coincide con quello del pulsante del menu. Più largo del limite di
	 * Twenty Twenty-One per mobile (150px).
	 */
	.site-header .site-branding,
	.site-header .site-logo,
	.site-header .custom-logo-link {
		display: flex;
		align-items: center;
		line-height: 0;
	}

	.site-header .site-logo .custom-logo:not(.sfn-dark-logo) {
		display: block;
	}

	.site-header .site-logo .custom-logo {
		max-width: min(210px, calc(100vw - 7rem));
		max-height: 64px;
		width: auto;
		height: auto;
		margin: 0;
	}

	/*
	 * Menu chiuso: il pulsante sta nella stessa riga del logo (non posizionato
	 * in alto come nel tema padre), così è centrato in altezza con il logo.
	 * !important: il tema padre usa selettori molto specifici per questi casi.
	 */
	body:not(.primary-navigation-open) .site-header .primary-navigation {
		position: static !important;
		top: auto !important;
		margin: 0 0 0 auto !important;
		display: flex;
		align-items: center;
	}

	body:not(.primary-navigation-open) .site-header .menu-button-container {
		position: static !important;
		margin: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}

/********* MOBILE MENU **********/
.menu-button-container .button.button {
    color: var(--sfn-color-text);
}

@media only screen and (max-width: 480px) {
.primary-navigation > .primary-menu-container {
	background-color: #004077;
}
	.primary-navigation > .primary-menu-container a {
		color: #fff;
	}
.primary-navigation-open .menu-button-container {
    background-color: transparent;
	}
.menu-button-container .button.button[aria-expanded*="true"] .dropdown-icon.close {
    color: #fff;
}
}

/********** Colori *********/
/* menu in alto a destra */
.primary-navigation {--primary-nav--color-link-hover: #004077}

/* links */
.widget-area a, .widget-area a:link, .widget-area a:visited, .widget-area a:active { color: var(--sfn-color-text)}

a{
	color: var(--sfn-color-text);
}
a:hover {
	color: var(--sfn-color-accent);
}

a.customize-unpreviewable {
	color: var(--sfn-color-text);
}
a.customize-unpreviewable:hover {
	color: var(--sfn-color-accent);
}
/* entry */
.entry-content p, .entry-content a:link, .entry-content a:visited, .entry-content a:active {color: var(--sfn-color-text);}
.entry-title {color: var(--sfn-color-text)}
/* clicked link */
.has-background-white .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
    background: none;
    color: var(--sfn-color-accent);
	text-decoration: underline;}


/*LINKS*/
.widget-area a:hover {
    text-decoration-style: solid;
}

.entry-title a:hover {
		color: var(--sfn-color-text);
    text-decoration-style: solid;
}

.entry-footer a:hover, .entry-footer a:focus {
  color: var(--sfn-color-text);
	text-decoration-style: solid;
}

a:hover {
    text-decoration-style: solid;
}
.wp-social-link a, .wp-social-link a:active, .wp-social-link a:hover, .wp-social-link a:visited, .wp-social-link svg {
    color: currentColor;
    fill: #fff;
}

/******** MENU *******/
/* dimensioni font */
.primary-navigation a {font-size: 1rem;}
/* comportamento on hover */
.primary-navigation a:hover {
    text-decoration: underline;
        text-decoration-style: solid;
    text-decoration-style: solid;
	color: var(--sfn-color-accent);
}
/* elemento selezionato: rosso, in hover diventa blu */
.primary-navigation .current-menu-item > a:first-child:hover, .primary-navigation .current_page_item > a:first-child:hover {
    text-decoration-style: solid;
	color: var(--sfn-color-text);}
.primary-navigation .current-menu-item > a:first-child, .primary-navigation .current_page_item > a:first-child {
    color: var(--sfn-color-accent);
}

/* menù a tendina */
.svg-icon {
	color: var(--sfn-color-text);
}

.primary-navigation .sub-menu .menu-item a {
	font-size: 0.9375rem;
}

.primary-navigation .sub-menu .menu-item > .sub-menu .menu-item > a {
    font-size: 0.9375rem;
		padding-left: 30px;
		padding-right: 30px;
}

/* desktop: i sottomenu si aprono al passaggio del mouse, niente pulsanti +/- */
@media only screen and (min-width: 482px) {
	.sub-menu-toggle {
		display: none !important;
	}
}

/*
 * MENU MOBILE (sotto i 482px)
 * - sta sopra a tutto il resto della pagina (footer compreso)
 * - i sottomenu sono chiusi e si aprono con il pulsante + accanto alla voce
 * - voce corrente bianca sottolineata (il rosso sul blu non si legge)
 */
@media only screen and (max-width: 481.98px) {

	.primary-navigation-open .primary-navigation {
		z-index: 9999;
	}

	.primary-navigation > div > .menu-wrapper > li.menu-item-has-children {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
	}

	.primary-navigation > div > .menu-wrapper > li.menu-item-has-children > a {
		flex: 1 1 auto;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu-toggle {
		display: flex;
		flex: 0 0 44px;
		color: #fff;
	}

	/*
	 * Icona di apertura: freccia bianca che punta in basso (chiuso) e ruota
	 * verso l'alto (aperto), al posto di +/- del tema padre (che il colore di
	 * .svg-icon rendeva blu su blu, quindi invisibili).
	 */
	.primary-navigation > div > .menu-wrapper > li > .sub-menu-toggle .icon-plus,
	.primary-navigation > div > .menu-wrapper > li > .sub-menu-toggle .icon-minus {
		display: none !important;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu-toggle::before {
		content: "";
		width: 14px;
		height: 14px;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 9l7 7 7-7'/%3E%3C/svg%3E") center / contain no-repeat;
		transition: transform 0.2s ease;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu-toggle[aria-expanded="true"]::before {
		transform: rotate(180deg);
	}

	@media (prefers-reduced-motion: reduce) {

		.primary-navigation > div > .menu-wrapper > li > .sub-menu-toggle::before {
			transition: none;
		}
	}

	/*
	 * Pulsante del menu: solo l'icona (hamburger per aprire, X per chiudere).
	 * Le scritte "Menu"/"Chiudi" restano per i lettori di schermo (font-size: 0).
	 */
	.menu-button-container #primary-mobile-menu {
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
		padding: 0.5rem;
	}

	.menu-button-container #primary-mobile-menu .dropdown-icon {
		font-size: 0;
	}

	.menu-button-container #primary-mobile-menu .dropdown-icon .svg-icon {
		width: 28px;
		height: 28px;
		margin-left: 0;
		top: 0;
		fill: currentColor;
	}

	/* Icone del pulsante Menu/Chiudi: bianche sul fondo blu del menu aperto */
	.primary-navigation-open .menu-button-container .svg-icon {
		color: #fff;
		fill: currentColor;
	}

	/* Niente divisore sotto la ricerca, ultima voce del menu */
	.primary-navigation > div > .menu-wrapper > li.sfn-menu-search {
		border-bottom: 0;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu {
		flex-basis: 100%;
		margin-left: 0;
		padding-left: var(--global--spacing-horizontal);
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu-toggle[aria-expanded="false"] ~ .sub-menu {
		display: none;
	}

	.primary-navigation > div > .menu-wrapper > li {
		border-bottom: 1px solid rgba(255, 255, 255, 0.15);
	}

	.primary-navigation .primary-menu-container .current-menu-item > a,
	.primary-navigation .primary-menu-container .current_page_item > a,
	.primary-navigation .primary-menu-container .current-menu-item > a:first-child,
	.primary-navigation .primary-menu-container .current_page_item > a:first-child {
		color: #fff !important;
		text-decoration: underline;
		text-decoration-thickness: 2px;
		text-underline-offset: 5px;
	}
}

/* sottomenu: niente bordo né freccia, riquadro arrotondato con ombra leggera */
.primary-navigation .sub-menu {
    border: none;
}

@media only screen and (min-width: 482px) {
	.primary-navigation > div > .menu-wrapper > li > .sub-menu {
		margin-top: 0.5rem;
		padding: 0.4rem 0;
		background: var(--sfn-surface, #fff);
		border-radius: 12px;
		box-shadow: var(--sfn-shadow, 0 8px 24px rgba(0, 32, 64, 0.16));
	}

	/* niente freccia */
	.primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
		display: none;
	}

	/*
	 * "Ponte" invisibile tra la voce e il sottomenu: copre lo spazio di
	 * margin-top, così il mouse non esce dalla voce e il sottomenu resta aperto.
	 * (.site-header: deve vincere sulla regola più in basso che nasconde le frecce.)
	 */
	.site-header .primary-navigation > div > .menu-wrapper > li > .sub-menu:before {
		content: "";
		display: block;
		position: absolute;
		top: -0.6rem;
		left: 0;
		right: 0;
		width: auto;
		height: 0.6rem;
		border: 0;
		background: transparent;
	}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu li {
		background: transparent;
	}
}

/******** PADDINGS **********/
.site-header {
    padding-bottom: 20px;
}

/* meno spazio tra header e contenuto (Twenty Twenty-One: 30px) */
.site-main {
	padding-top: calc(0.5 * var(--global--spacing-vertical));
}

/* spazio tra i blocchi principali della pagina (Twenty Twenty-One: 90px) */
.site-main > * {
	margin-top: calc(1.5 * var(--global--spacing-vertical));
	margin-bottom: calc(1.5 * var(--global--spacing-vertical));
}

.site-main > article > .entry-footer {
	margin-top: var(--global--spacing-vertical);
	padding-top: 0;
	padding-bottom: 0;
}

/* widget del footer: separati dal contenuto da una linea sottile */
.widget-area {
    margin-top: calc(2 * var(--global--spacing-vertical));
    padding-top: calc(1.5 * var(--global--spacing-vertical));
    border-top: 1px solid var(--sfn-color-border-soft, rgba(0, 64, 119, 0.15));
}

.widget-area .widget-title,
.widget-area .wp-block-heading {
	font-size: var(--global--font-size-sm);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 0.75rem;
}

.widget-area ul li {
	margin-top: 0.4rem;
	margin-bottom: 0.4rem;
	line-height: 1.4;
}

/* categorie come etichette compatte */
.widget_categories ul,
.widget-area .wp-block-categories-list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0;
	list-style: none;
}

.widget_categories ul li,
.widget-area .wp-block-categories-list li {
	margin: 0;
}

.widget_categories ul li a,
.widget-area .wp-block-categories-list li a {
	display: inline-block;
	padding: 0.25em 0.8em;
	border-radius: 999px;
	background: var(--sfn-chip-bg, rgba(0, 64, 119, 0.08));
	font-size: var(--global--font-size-xs);
	text-decoration: none;
}

.widget_categories ul li a:hover,
.widget-area .wp-block-categories-list li a:hover {
	text-decoration: underline;
}

/* ricerca nei widget: campo e pulsante sulla stessa riga */
.widget-area .search-form {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	padding-right: 0;
}

.widget-area .search-form .search-field {
	flex: 1 1 10rem;
	min-width: 0;
}


/******** SEPARATORI *********/
hr.wp-block-separator:not(.is-style-dots) {
    max-width: min(var(--sfn-prose-width), 100%);
}
/******** TITOLI PAGINA E RICERCA ********/
.singular .entry-title, h1.page-title {
    font-size: var(--global--font-size-page-title);
    line-height: var(--global--line-height-page-title);
		text-align: center;
		color: #fff;
}

article.page > header.entry-header.alignwide {
	background: #e42313;
}

header.entry-header.alignwide {
	background: #004077;
}
header.page-header.alignwide {
	background: #e42313;
	padding-bottom: 0;
	margin-left: 0;
	margin-right: 0;
	width: 100%;
	max-width: none;
}
.singular .entry-header {
    padding-top: var(--sfn-band-padding);
		padding-bottom: var(--sfn-band-padding);
	/* spazio tra la fascia del titolo e il contenuto (Twenty Twenty-One: 90px) */
	margin-bottom: calc(1.25 * var(--global--spacing-vertical));
	margin-left: 0;
	margin-right: 0;
	max-width: none;
}

/* desktop: più spazio sotto la fascia del titolo */
@media only screen and (min-width: 1024px) {
	.singular .entry-header {
		margin-bottom: calc(2 * var(--global--spacing-vertical));
	}
}

h1.page-title {
    padding-top: var(--sfn-band-padding);
		padding-bottom: var(--sfn-band-padding);
}

/******** CORPO ********/
/* titoli */
.entry-title a {
    text-decoration: none;
}
.entry-title a:hover {
    text-decoration: underline;
}

.entry-content > ul {
	color: var(--sfn-color-text);
}

h3 {
	color: var(--sfn-color-text);
	text-transform: none !important;
}

/* immagini larghe */
.entry-content img {
    max-width: 100%;
    padding-left: auto;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}

div.wp-block-buttons {
	text-align: center;
}

/* larghezza */
/*
 * Un'unica larghezza per tutto il contenuto (quella del testo, circa 70
 * caratteri per riga): testi, immagini, gallerie, colonne, file, video ed
 * elenchi. Le opzioni "ampia" e "piena" sono disattivate nell'editor
 * (functions.php); i blocchi salvati così in passato vengono riportati qui.
 * Restano a tutta larghezza solo header, fascia del titolo, slider e footer.
 */
.post-thumbnail,
.entry-content .wp-audio-shortcode,
.default-max-width,
:is(.entry-content, [class*="inner-container"], .odn-slider-body, .is-layout-flow:not(.wp-block-column), .is-layout-constrained) > *:not(.wp-block-sanfilipponeri-slider):not(.alignleft):not(.alignright) {
	--sfn-content-width: min(var(--sfn-prose-width), 100%);
	/* !important: le regole di Twenty Twenty-One per .entry-content > * sono più specifiche */
	max-width: var(--sfn-content-width) !important;
	margin-left: auto;
	margin-right: auto;
}

/* Elenchi di articoli (shortcode Display Posts): stessa colonna dei testi */
.entry-content .display-posts-listing {
	max-width: min(var(--sfn-prose-width), 100%);
	margin-left: auto;
	margin-right: auto;
}

table td {
	border: 0px;
	text-align: center;
}

/*testo e immagine affiancate*/ 
.wp-block-media-text .wp-block-media-text__content {
    padding: 0;
}
/*footer articoli*/
.entry-footer {
	color: var(--sfn-color-text);
}
.single .site-main > article > .entry-footer {
	border-top: 2px solid var(--sfn-color-border);
}

/* colore risultato ricerca */
div.search-result-count {
	color: var(--sfn-color-text);
}



/******** COMMENTS ********/
.comments-title, .comment-reply-title {
	color: var(--sfn-color-text);
	font-size: var(--heading--font-size-h2);
}
.comment-body, .comment-body a , .comment-form{
	color: var(--sfn-color-text);
}
.comment-body a:hover {
	color: var(--sfn-color-accent);
	text-decoration-style: solid;
}

.page-header {
	border: none;
}
.page-content {
	color: var(--sfn-color-text);
}


/****** FORMS e BOTTONI *******/
input[type="text"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="password"]:focus, input[type="search"]:focus, input[type="number"]:focus, input[type="tel"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="time"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="color"]:focus, .site textarea:focus {
	  outline: none;
		color: #004077;
    font-size: var(--sfn-control-font-size);
		padding: var(--sfn-control-padding);
}

input[type="text"], input[type="email"], input[type="url"], input[type="password"], input[type="search"], input[type="number"], input[type="tel"], input[type="date"], input[type="month"], input[type="week"], input[type="time"], input[type="datetime"], input[type="datetime-local"], input[type="color"], .site textarea {color: #004077;
border: var(--form--border-width) solid #004077;
    font-size: var(--sfn-control-font-size);
		padding: var(--sfn-control-padding);
    border-radius: 35px;
		line-height: var(--button--line-height);
}

.search-form label {
	font-weight: bold;
}

.search-form{
	padding-right:30px;
}

/*
 * BOTTONI: tutti con lo stile del pulsante "Cerca" (pieno blu, testo bianco;
 * in hover si invertono). I colori sono variabili definite in style.css e
 * ridefinite in modalità scura (assets/css/dark-mode.css).
 * !important serve a vincere sulle regole molto specifiche di Twenty Twenty-One.
 */
.site .button:not(#primary-mobile-menu),
.site input[type="submit"],
.site input[type="reset"],
.wp-block-search .wp-block-search__button,
.search-submit,
.wp-block-button .wp-block-button__link,
.wp-block-file a.wp-block-file__button {
	color: var(--sfn-button-text) !important;
	background: var(--sfn-button-bg) !important;
	border: var(--button--border-width) solid var(--sfn-button-border) !important;
	font-size: var(--sfn-control-font-size);
	padding: var(--sfn-control-padding);
	line-height: 1.3;
	border-radius: 35px !important;
	font-weight: bold;
	text-decoration: none;
	cursor: pointer;
}

.site .button:not(#primary-mobile-menu):hover,
.site .button:not(#primary-mobile-menu):focus,
.site input[type="submit"]:hover,
.site input[type="submit"]:focus,
.site input[type="reset"]:hover,
.site input[type="reset"]:focus,
.wp-block-search .wp-block-search__button:hover,
.wp-block-search .wp-block-search__button:focus,
.search-submit:hover,
.search-submit:focus,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-file a.wp-block-file__button:hover,
.wp-block-file a.wp-block-file__button:focus {
	color: var(--sfn-button-text-hover) !important;
	background: var(--sfn-button-bg-hover) !important;
	border-color: var(--sfn-button-border-hover) !important;
}

/* Stile "contorno" dei blocchi pulsante: parte già invertito */
.wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--sfn-button-text-hover) !important;
	background: var(--sfn-button-bg-hover) !important;
	border-color: var(--sfn-button-border-hover) !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus {
	color: var(--sfn-button-text) !important;
	background: var(--sfn-button-bg) !important;
	border-color: var(--sfn-button-border) !important;
}

/********* FOOTER *********/
/* colori */
.widget-area {color: var(--sfn-color-text)}

/******** display posts ********/

iframe {
		margin-top: 30px;
		margin-bottom: 30px;
}

a.title {
	color: var(--sfn-color-text);
	font-family: GalanoB;
	font-size: var(--heading--font-size-h2);
	line-height: var(--global--line-height-heading);
	text-decoration: none;
}

.excerpt-dash {
	display: none;
}

.excerpt {
	padding-top: 0.75rem;
	display: block;
}

a.title:hover {
	color: var(--sfn-color-accent);
	text-decoration: underline;
	text-underline-position: auto;
}


div.listing-item {
	padding-top: 2rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid var(--sfn-color-border);
}

div.content {
	padding-top: 1rem;
}

.wp-block-image img {
	margin-left: auto;
	margin-right: auto;
	padding-top: 20px;
	padding-bottom: 20px;
}

/* niente spazio in più se la pagina comincia con un'immagine */
.entry-content > .wp-block-image:first-child img,
.entry-content > figure:first-child img {
	padding-top: 0;
}

.wp-block-embed {
	margin-top: 30px;
	margin-bottom: 30px;
}

#ng-wrapper-home.display-posts-listing > div.listing-item {
	text-align: center;
}

#ng-wrapper-home.display-posts-listing > .listing-item > .image > img {
	padding-bottom: 40px;
	margin-left: auto;
	margin-right: auto;
}

#newsletter-wrapper-home p {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}

#newsletter-wrapper-home img {
  max-width: var(--responsive--alignwide-width);
}

#cinema-wrapper-home p {
  margin-top: var(--global--spacing-vertical);
  margin-bottom: var(--global--spacing-vertical);
}


/********* NG *********/

.ng-title {
  text-align: center;
}

/********* ROBA NASCOSTA *********/
/** separatori vari **/
.singular .entry-header {border-bottom: 0px}
.site-footer > .site-info {border-top: 0px}

/* label del widget di ricerca */
.search-form label {
    display: none;
}

/* link navigazione articoli */
.post-navigation .nav-links {
	display: none;
}

/* label autore articoli */
.single .site-main > article > .entry-footer .byline {
	display: none;
}

	.primary-navigation > div > .menu-wrapper > li > .sub-menu:before,
	.primary-navigation > div > .menu-wrapper > li > .sub-menu:after {
		display: none;
	}

@media only screen and (max-width:480px) {
	#recent-posts-2 {
		display: none;
	}
	#categories-2 {
		display: none;
	}
}

@media only screen and (min-width:480px) {
	#sep {
		display: none;
	}
}

.entry-content > iframe[style] {
   margin-left: auto !important;
	margin-right: auto !important;
    max-width: min(var(--sfn-prose-width), 100%) !important;
	display: block;
}


div.tickera_additional_info h3:before {
	content: 'Inserisci le tue info e fai click su Procedi al Checkout';
	visibility: visible;
}

#user-registration *, #user-registration.user-registration {
    box-sizing: border-box;
    margin: auto;
}

.category-nembro-giovane .post-thumbnail {
  display: none;
}

/******** ELENCHI DI ARTICOLI ********/
/*
 * Blocco "Ultimi articoli" e elenchi Display Posts con riassunto: schede
 * compatte come nei risultati di ricerca (titolo, data in piccolo, riassunto
 * di massimo 3 righe, "Continua a leggere" discreto).
 * Nel footer restano semplici elenchi.
 */
.entry-content .wp-block-latest-posts,
.entry-content .display-posts-listing:has(.excerpt) {
	display: grid;
	gap: 1rem;
	padding: 0;
	list-style: none;
}

.entry-content .wp-block-latest-posts.is-grid {
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
}

.entry-content .wp-block-latest-posts > li,
.entry-content .display-posts-listing:has(.excerpt) > .listing-item {
	margin: 0;
	padding: 1.25rem 1.5rem;
	background: var(--sfn-card-bg);
	border: 0;
	border-radius: 14px;
	width: auto;
	display: flow-root;
}

/* Titolo */
.entry-content .wp-block-latest-posts > li > a.wp-block-latest-posts__post-title,
.entry-content .display-posts-listing:has(.excerpt) > .listing-item > a.title {
	display: block;
	margin: 0;
	font-family: var(--global--font-primary);
	font-size: var(--heading--font-size-h3);
	font-weight: normal;
	line-height: var(--global--line-height-heading);
	text-decoration: none;
	white-space: normal;
	text-transform: none;
}

.entry-content .wp-block-latest-posts > li > a.wp-block-latest-posts__post-title:hover,
.entry-content .wp-block-latest-posts > li > a.wp-block-latest-posts__post-title:focus,
.entry-content .display-posts-listing:has(.excerpt) > .listing-item > a.title:hover,
.entry-content .display-posts-listing:has(.excerpt) > .listing-item > a.title:focus {
	text-decoration: underline;
}

/* Data e autore: piccoli e attenuati */
.entry-content .wp-block-latest-posts .wp-block-latest-posts__post-date,
.entry-content .wp-block-latest-posts .wp-block-latest-posts__post-author,
.entry-content .display-posts-listing .listing-item .date,
.entry-content .display-posts-listing .listing-item .author {
	display: block;
	margin: 0.35rem 0 0;
	font-size: var(--global--font-size-xs);
	color: var(--sfn-color-text);
	opacity: 0.75;
}

/* Riassunto: massimo 3 righe */
.entry-content .wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
.entry-content .display-posts-listing:has(.excerpt) .excerpt {
	margin: 0.6rem 0 0;
	padding: 0;
	font-size: var(--global--font-size-sm);
	line-height: var(--global--line-height-body);
}

.entry-content .wp-block-latest-posts .wp-block-latest-posts__post-excerpt,
.entry-content .display-posts-listing:has(.excerpt) .excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* "Continua a leggere": nascosto, tutta la scheda porta già all'articolo */
.entry-content .wp-block-latest-posts .more-link,
.entry-content .display-posts-listing .excerpt .more-link {
	display: none;
}

/* Immagine in evidenza: piccola, arrotondata, a destra */
.entry-content .wp-block-latest-posts:not(.is-grid) .wp-block-latest-posts__featured-image,
.entry-content .display-posts-listing:has(.excerpt) .listing-item > .image {
	float: right;
	width: 6rem;
	margin: 0 0 0.5rem 1rem;
}

.entry-content .wp-block-latest-posts .wp-block-latest-posts__featured-image img,
.entry-content .display-posts-listing:has(.excerpt) .listing-item > .image img {
	width: 100%;
	height: auto;
	aspect-ratio: 1;
	margin: 0;
	padding: 0;
	object-fit: cover;
	border-radius: 10px;
}

.entry-content .wp-block-latest-posts.is-grid .wp-block-latest-posts__featured-image {
	margin: -1.25rem -1.5rem 1rem;
}

.entry-content .wp-block-latest-posts.is-grid .wp-block-latest-posts__featured-image img {
	aspect-ratio: 16 / 9;
	border-radius: 14px 14px 0 0;
}

/* Tutta la scheda è cliccabile tramite il titolo */
.entry-content .wp-block-latest-posts > li,
.entry-content .display-posts-listing:has(.excerpt) > .listing-item {
	position: relative;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.entry-content .wp-block-latest-posts > li > a.wp-block-latest-posts__post-title::after,
.entry-content .display-posts-listing:has(.excerpt) > .listing-item > a.title::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 14px;
}

.entry-content .wp-block-latest-posts > li:hover,
.entry-content .display-posts-listing:has(.excerpt) > .listing-item:hover {
	box-shadow: var(--sfn-shadow);
	transform: translateY(-2px);
}

@media (prefers-reduced-motion: reduce) {

	.entry-content .wp-block-latest-posts > li,
	.entry-content .display-posts-listing:has(.excerpt) > .listing-item {
		transition: none;
	}

	.entry-content .wp-block-latest-posts > li:hover,
	.entry-content .display-posts-listing:has(.excerpt) > .listing-item:hover {
		transform: none;
	}
}

/*
 * Footer mobile: niente area widget vuota (su mobile "Ultimi post" e
 * "Categorie" sono nascosti), meno spazio sopra la fascia blu e la riga del
 * copyright lontana dal pulsante della modalità scura.
 */
@media only screen and (max-width: 481.98px) {

	.widget-area:not(:has(.widget:not(#recent-posts-2):not(#categories-2))) {
		display: none;
	}

	.site-main {
		padding-bottom: calc(0.5 * var(--global--spacing-vertical));
	}

	.site-footer {
		padding-top: calc(0.5 * var(--global--spacing-vertical));
	}

	#footer-info {
		padding: 0.4rem 4.25rem 0;
		line-height: 1.5;
	}
}

/* Poco spazio sotto la riga del copyright (Twenty Twenty-One: 51px) */
.site-footer {
	padding-bottom: 0.75rem;
}

/*
 * Mobile e tablet: margine laterale per il contenuto delle pagine (testi,
 * immagini, elenchi), che altrimenti toccherebbe i bordi dello schermo.
 * Lo slider resta da bordo a bordo.
 */
@media only screen and (max-width: 1023.98px) {

	:root {
		--sfn-gutter: 2rem;
	}

	.entry-content {
		padding-left: var(--sfn-gutter) !important;
		padding-right: var(--sfn-gutter) !important;
	}

	/*
	 * Stesso margine per ciò che sta fuori dal contenuto: metadati e piè degli
	 * articoli, commenti, navigazione, paginazione, risultati di ricerca.
	 * (Le fasce dei titoli restano da bordo a bordo.)
	 */
	.site-main > article > :not(.entry-header):not(.entry-content),
	.site-main > :not(article):not(.page-header),
	.search .site-main > article {
		margin-left: var(--sfn-gutter) !important;
		margin-right: var(--sfn-gutter) !important;
	}

	/* Piè dell'articolo: meno spazio sopra e sotto (Twenty Twenty-One: 102px) */
	.single .site-main > article > .entry-footer {
		margin-top: calc(1.5 * var(--global--spacing-vertical));
		margin-bottom: 0;
		padding-top: 1rem;
	}

	.entry-content > .wp-block-sanfilipponeri-slider {
		width: calc(100% + 2 * var(--sfn-gutter)) !important;
		margin-left: calc(-1 * var(--sfn-gutter)) !important;
		margin-right: calc(-1 * var(--sfn-gutter)) !important;
	}
}

@media only screen and (max-width: 481.98px) {

	:root {
		--sfn-gutter: 1.25rem;
	}
}

@media only screen and (max-width: 481.98px) {

	.singular .entry-header {
		margin-bottom: 1.25rem;
	}
}
