﻿/*
 * Public Press — design system (.public-press-layout, home, singolo, archivio, pagine).
 * Estratto da style.css (CSS-T7).
 */
/* -------------------------------------------------------------------------
 * Homepage statica + Elementor (front-page.php)
 * Allarga l'area contenuto: le sezioni Elementor gestiscono padding/larghezza.
 * ------------------------------------------------------------------------- */
.public-press-front-page-static .site-main,
.public-press-front-page-static .content-area {
	max-width: 100%;
	width: 100%;
}
.public-press-front-page-static .public-press-elementor-entry-content > .elementor {
	margin-left: auto;
	margin-right: auto;
}

/* -------------------------------------------------------------------------
 * Design system condiviso (home, singolo, archivio) — token + .public-press-layout
 * ------------------------------------------------------------------------- */
:root {
	--public-press-after-header-gap: 1rem;
	--public-press-home-lavender: #e8e4f5;
	--public-press-home-blue: #2563eb;
	--public-press-home-blue-hover: #1d4ed8;
	--public-press-home-blue-band: #1e40af;
	--public-press-home-max: 1140px;
	--public-press-home-radius-lg: 16px;
	--public-press-home-radius-md: 12px;
	--public-press-home-shadow: 0 4px 24px rgba(15, 23, 42, 0.08);
	--public-press-home-font: 'Open Sans', sans-serif;
	/* Respiro uniforme: fine ultimo blocco contenuto → inizio footer (riferimento: singolo post-share). */
	--public-press-content-footer-gap: clamp(1.5rem, 4vw, 2.5rem);
}

.public-press-home-php,
.public-press-layout {
	font-family: var(--public-press-home-font);
	color: #111827;
}

.public-press-home-php .site-main,
.public-press-home-php .content-area,
.public-press-layout .site-main,
.public-press-layout .content-area {
	max-width: 100%;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}

.public-press-home-mockup {
	font-family: var(--public-press-home-font);
	color: #111827;
}

/* --- Hero (fascia lavanda, due colonne) --- */
.public-press-home-php .public-press-home-hero , .public-press-layout .public-press-home-hero {
	background: var(--public-press-home-lavender, #e8e4f5);
	border-radius: var(--public-press-home-radius-lg);
	overflow: hidden;
	padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 2rem);
}
.public-press-home-php .public-press-home-hero__inner , .public-press-layout .public-press-home-hero__inner {
	max-width: var(--public-press-home-max);
	margin: 0 auto;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 400px);
	grid-template-rows: auto auto;
	grid-template-areas:
		"hero-text hero-media"
		"hero-cta hero-media";
	align-items: start;
	column-gap: clamp(1.75rem, 4vw, 3rem);
	row-gap: 1rem;
}
.public-press-home-php .public-press-home-hero__col , .public-press-layout .public-press-home-hero__col {
	min-width: 0;
}
.public-press-home-php .public-press-home-hero__col--text , .public-press-layout .public-press-home-hero__col--text {
	grid-area: hero-text;
	max-width: 36rem;
	align-self: start;
}
.public-press-home-php .public-press-home-hero__col--cta , .public-press-layout .public-press-home-hero__col--cta {
	grid-area: hero-cta;
	align-self: start;
}
.public-press-home-php .public-press-home-hero__col--media , .public-press-layout .public-press-home-hero__col--media {
	grid-area: hero-media;
	display: flex;
	justify-content: center;
	justify-self: center;
	align-self: center;
}
.public-press-home-php .public-press-home-hero__title , .public-press-layout .public-press-home-hero__title {
	margin: 0 0 1rem;
	font-size: clamp(1.6rem, 4.2vw, 2.35rem);
	font-weight: 700;
	line-height: 1.2;
	color: #0f172a;
	letter-spacing: -0.02em;
}
.public-press-home-php .public-press-home-hero__excerpt , .public-press-layout .public-press-home-hero__excerpt {
	margin: 0;
	color: #334155;
	line-height: 1.6;
	font-size: 1.05rem;
	/* Ellissi automatica a fine anteprima */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}
.public-press-home-php .public-press-home-hero__excerpt p , .public-press-layout .public-press-home-hero__excerpt p {
	display: inline;
	margin: 0;
}
.public-press-home-php .public-press-home-hero__excerpt p:last-child , .public-press-layout .public-press-home-hero__excerpt p:last-child {
	margin-bottom: 0;
}
.public-press-home-php .public-press-home-hero__cta-wrap , .public-press-layout .public-press-home-hero__cta-wrap {
	margin: 0;
}
.public-press-home-php .public-press-home-hero__btn , .public-press-layout .public-press-home-hero__btn {
	display: inline-block;
	padding: 0.7rem 1.6rem;
	background: var(--public-press-home-blue);
	color: #fff !important;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
	border-radius: var(--public-press-home-radius-md);
	box-shadow: 0 2px 12px rgba(37, 99, 235, 0.35);
	transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
}
.public-press-home-php .public-press-home-hero__btn:hover, .public-press-layout .public-press-home-hero__btn:hover,
.public-press-home-php .public-press-home-hero__btn:focus , .public-press-layout .public-press-home-hero__btn:focus {
	background: var(--public-press-home-blue-hover);
	color: #fff !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 16px rgba(37, 99, 235, 0.4);
}
.public-press-home-php .public-press-home-hero__media-link , .public-press-layout .public-press-home-hero__media-link {
	display: block;
	line-height: 0;
	width: 100%;
	max-width: 400px;
	margin-left: auto;
	margin-right: auto;
}
.public-press-home-php .public-press-home-hero__img , .public-press-layout .public-press-home-hero__img {
	width: 100%;
	height: auto;
	border-radius: var(--public-press-home-radius-lg);
	object-fit: cover;
	aspect-ratio: 1 / 1;
	box-shadow: var(--public-press-home-shadow);
}
.public-press-home-php .public-press-home-hero__img--placeholder , .public-press-layout .public-press-home-hero__img--placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--public-press-home-radius-lg);
	background: var(--public-press-home-blue);
	box-shadow: var(--public-press-home-shadow);
}

/* Hero: layout mobile (titolo → estratto → immagine → pulsante) */
@media screen and (max-width: 900px) {
	/*
	 * La home PHP è dentro #content.site-content: il padding globale 4em in alto lasciava una banda bianca
	 * tra masthead fisso e la fascia lavanda della hero.
	 */
	.site-content:has(#primary.public-press-home-php),
	.site-content:has(#primary.public-press-layout) {
		padding-top: var(--public-press-after-header-gap, 1rem);
		padding-left: 0;
		padding-right: 0;
	}
	.public-press-home-php .public-press-home-hero , .public-press-layout .public-press-home-hero {
		/* Mobile: lascia un filo di "respiro" laterale (bordi bianchi) */
		margin-left: max(12px, env(safe-area-inset-left, 0px));
		margin-right: max(12px, env(safe-area-inset-right, 0px));
		padding-top: clamp(1rem, 3.5vw, 1.75rem);
		padding-bottom: clamp(1.5rem, 4vw, 2.75rem);
		padding-left: max(clamp(1.25rem, 5.5vw, 2rem), env(safe-area-inset-left, 0px));
		padding-right: max(clamp(1.25rem, 5.5vw, 2rem), env(safe-area-inset-right, 0px));
		scroll-margin-top: 0.5rem;
	}
	.public-press-home-php .public-press-home-hero__inner , .public-press-layout .public-press-home-hero__inner {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 1.25rem;
	}
	.public-press-home-php .public-press-home-hero__col--text, .public-press-layout .public-press-home-hero__col--text,
	.public-press-home-php .public-press-home-hero__col--media, .public-press-layout .public-press-home-hero__col--media,
	.public-press-home-php .public-press-home-hero__col--cta , .public-press-layout .public-press-home-hero__col--cta {
		grid-area: auto;
		max-width: none;
		width: 100%;
		justify-self: stretch;
		align-self: stretch;
	}
	.public-press-home-php .public-press-home-hero__col--media , .public-press-layout .public-press-home-hero__col--media {
		max-width: min(400px, 100%);
		margin-left: auto;
		margin-right: auto;
	}
	.public-press-home-php .public-press-home-hero__col--cta , .public-press-layout .public-press-home-hero__col--cta {
		text-align: center;
	}
	.public-press-home-php .public-press-home-hero__title , .public-press-layout .public-press-home-hero__title {
		display: block;
		color: #0f172a;
		font-size: clamp(1.35rem, 5.5vw, 1.95rem);
		line-height: 1.25;
		margin: 0 0 0.75rem;
		padding: 0;
		overflow-wrap: anywhere;
		word-break: break-word;
		max-width: 100%;
		position: relative;
		z-index: 1;
	}
	.public-press-home-php .public-press-home-hero__excerpt , .public-press-layout .public-press-home-hero__excerpt {
		margin-bottom: 0.25rem;
		font-size: clamp(0.95rem, 3.8vw, 1.05rem);
		line-height: 1.55;
		max-width: 100%;
		-webkit-line-clamp: 4;
	}
	.public-press-home-php .public-press-home-hero__cta-wrap , .public-press-layout .public-press-home-hero__cta-wrap {
		margin-top: 0.25rem;
	}

	.public-press-home-php .public-press-home-grid , .public-press-layout .public-press-home-grid {
		padding-left: max(clamp(1.25rem, 5.5vw, 2rem), env(safe-area-inset-left, 0px));
		padding-right: max(clamp(1.25rem, 5.5vw, 2rem), env(safe-area-inset-right, 0px));
	}
}

/* --- Griglie (sfondo bianco, titolo centrato, card mockup) --- */
.public-press-home-php .public-press-home-grid , .public-press-layout .public-press-home-grid {
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 4vw, 2rem);
	background: #fff;
}
.public-press-home-php .public-press-home-grid__container , .public-press-layout .public-press-home-grid__container {
	max-width: var(--public-press-home-max);
	margin: 0 auto;
	width: 100%;
}
.public-press-home-php .public-press-home-grid__heading , .public-press-layout .public-press-home-grid__heading {
	text-align: center;
	margin: 0 0 clamp(1.75rem, 4vw, 2.5rem);
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.02em;
}
.public-press-home-php .public-press-home-grid__list , .public-press-layout .public-press-home-grid__list {
	list-style: none !important;
	list-style-type: none !important;
	margin: 0 !important;
	padding: 0 !important;
	padding-left: 0 !important;
	width: 100%;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 3vw, 1.75rem);
}
.public-press-home-php .public-press-home-grid__item , .public-press-layout .public-press-home-grid__item {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	list-style-type: none !important;
	display: flex;
	min-width: 0;
}
.public-press-home-php .public-press-home-grid__item::marker , .public-press-layout .public-press-home-grid__item::marker {
	content: none;
}
.public-press-home-php .public-press-home-grid__card , .public-press-layout .public-press-home-grid__card {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch;
	text-decoration: none;
	height: 100%;
	width: 100%;
	box-sizing: border-box;
	background: #fff;
	border-radius: var(--public-press-home-radius-lg);
	overflow: hidden;
	box-shadow: var(--public-press-home-shadow);
	border: 1px solid rgba(15, 23, 42, 0.06);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}
/* Ultimi articoli e Â«Per categoriaÂ»: testo card neutro in home (i colori per slug restano su archivio / titoli categoria). */
.public-press-home-php .public-press-home-grid--latest .public-press-home-grid__card , .public-press-layout .public-press-home-grid--latest .public-press-home-grid__card {
	color: #0f172a;
}
.public-press-home-php .public-press-home-grid--categories .public-press-home-grid__card, .public-press-layout .public-press-home-grid--categories .public-press-home-grid__card,
.public-press-home-php .public-press-home-grid--categories .public-press-home-grid__card:before , .public-press-layout .public-press-home-grid--categories .public-press-home-grid__card:before {
	color: #0f172a;
}
.public-press-home-php .public-press-home-grid__card:hover, .public-press-layout .public-press-home-grid__card:hover,
.public-press-home-php .public-press-home-grid__card:focus , .public-press-layout .public-press-home-grid__card:focus {
	box-shadow: 0 8px 32px rgba(15, 23, 42, 0.12);
	transform: translateY(-2px);
}
.public-press-home-php .public-press-home-grid__thumb-wrap, .public-press-layout .public-press-home-grid__thumb-wrap,
.public-press-home-php .public-press-home-grid__card-title , .public-press-layout .public-press-home-grid__card-title {
	display: block;
	width: 100%;
}
.public-press-home-php .public-press-home-grid__thumb-wrap , .public-press-layout .public-press-home-grid__thumb-wrap {
	overflow: hidden;
	line-height: 0;
	background: #e2e8f0;
	border-radius: 0;
}
.public-press-home-php .public-press-home-grid__thumb , .public-press-layout .public-press-home-grid__thumb {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}
.public-press-home-php .public-press-home-grid__thumb--placeholder , .public-press-layout .public-press-home-grid__thumb--placeholder {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	background: var(--public-press-home-blue);
}
.public-press-home-php .public-press-home-grid__card-title , .public-press-layout .public-press-home-grid__card-title {
	font-weight: 600;
	font-size: 0.9375rem;
	line-height: 1.4;
	text-align: left;
	padding: 1rem 1.1rem 1.2rem;
	margin: 0;
}
.public-press-home-php .public-press-home-grid--latest .public-press-home-grid__card-title , .public-press-layout .public-press-home-grid--latest .public-press-home-grid__card-title {
	color: #0f172a;
}
.public-press-home-php .public-press-home-grid--categories .public-press-home-grid__card-title , .public-press-layout .public-press-home-grid--categories .public-press-home-grid__card-title {
	color: #0f172a;
}
.public-press-home-php .public-press-home-grid__card:hover .public-press-home-grid__card-title, .public-press-layout .public-press-home-grid__card:hover .public-press-home-grid__card-title,
.public-press-home-php .public-press-home-grid__card:focus .public-press-home-grid__card-title , .public-press-layout .public-press-home-grid__card:focus .public-press-home-grid__card-title {
	text-decoration: none;
	color: var(--public-press-home-blue);
}

/* --- Newsletter (fascia blu, testo bianco, bottone scuro come mockup) --- */
.public-press-home-php .public-press-home-newsletter , .public-press-layout .public-press-home-newsletter {
	background: var(--public-press-home-blue-band);
	color: #fff;
	padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 4vw, 2rem);
	text-align: center;
}
.public-press-home-php .public-press-home-newsletter__inner , .public-press-layout .public-press-home-newsletter__inner {
	max-width: 40rem;
	margin: 0 auto;
}
.public-press-home-php .public-press-home-newsletter__text , .public-press-layout .public-press-home-newsletter__text {
	margin: 0 0 1.35rem;
	font-size: clamp(1.05rem, 2.5vw, 1.2rem);
	line-height: 1.5;
	font-weight: 500;
}
.public-press-home-php .public-press-home-newsletter__action , .public-press-layout .public-press-home-newsletter__action {
	margin: 0;
}
.public-press-home-php .public-press-home-newsletter__btn , .public-press-layout .public-press-home-newsletter__btn {
	display: inline-block;
	padding: 0.6rem 1.5rem;
	background: #111827;
	color: #fff !important;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	border-radius: var(--public-press-home-radius-md);
	border: none;
	cursor: pointer;
	transition: background 0.2s ease, transform 0.15s ease;
}
.public-press-home-php .public-press-home-newsletter__btn--static , .public-press-layout .public-press-home-newsletter__btn--static {
	cursor: default;
}
.public-press-home-php .public-press-home-newsletter__btn:hover, .public-press-layout .public-press-home-newsletter__btn:hover,
.public-press-home-php .public-press-home-newsletter__btn:focus , .public-press-layout .public-press-home-newsletter__btn:focus {
	background: #000;
	color: #fff !important;
	transform: translateY(-1px);
}

.public-press-home-php .public-press-home-pagination , .public-press-layout .public-press-home-pagination {
	margin-top: 2rem;
	padding: 0.75rem 1rem;
	background: var(--public-press-home-lavender);
	border-radius: var(--public-press-home-radius-md);
	max-width: var(--public-press-home-max);
	margin-left: auto;
	margin-right: auto;
}
.public-press-home-php .public-press-home-pagination .page-numbers , .public-press-layout .public-press-home-pagination .page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	list-style: none;
	margin: 0;
	padding: 0;
	justify-content: center;
	width: 100%;
}
.public-press-home-php .public-press-home-pagination li , .public-press-layout .public-press-home-pagination li {
	display: inline-block;
	margin: 0;
}
.public-press-home-php .public-press-home-pagination a, .public-press-layout .public-press-home-pagination a,
.public-press-home-php .public-press-home-pagination span , .public-press-layout .public-press-home-pagination span {
	text-decoration: none;
	color: #111;
	padding: 0.25rem 0.5rem;
	border-radius: 999px;
}
.public-press-home-php .public-press-home-pagination span.current , .public-press-layout .public-press-home-pagination span.current {
	background: #4338ca;
	color: #fff;
}

@media screen and (max-width: 782px) {
	.public-press-home-php .public-press-home-grid__list , .public-press-layout .public-press-home-grid__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media screen and (max-width: 500px) {
	.public-press-home-php .public-press-home-grid__list , .public-press-layout .public-press-home-grid__list {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* --- Archivio categoria / ricerca: intestazione stile home --- */
.public-press-layout .public-press-archive-header {
	padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 4vw, 2rem) clamp(0.5rem, 2vw, 1.5rem);
	background: #fff;
}
.public-press-layout .public-press-archive-header__inner {
	max-width: var(--public-press-home-max);
	margin: 0 auto;
	text-align: center;
}
.public-press-layout .public-press-archive-header__title {
	margin: 0;
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	font-weight: 700;
	color: #0f172a;
	letter-spacing: -0.02em;
	text-transform: none;
}
.public-press-layout .public-press-archive-header__media {
	margin: 0 auto clamp(1.25rem, 3vw, 2rem);
	max-width: min(720px, 100%);
}
.public-press-layout .public-press-archive-header__media .post-thumbnail,
.public-press-layout .public-press-archive-header__media .category-header-thumbnail {
	margin: 0;
}
.public-press-layout .public-press-archive-header__media img {
	width: 100%;
	height: auto;
	border-radius: var(--public-press-home-radius-lg);
	box-shadow: var(--public-press-home-shadow);
	display: block;
	margin: 0 auto;
}

/* --- Articolo singolo: hero lavanda + corpo (colonna centrata come il logo) --- */
.public-press-layout.public-press-single .public-press-single-article {
	width: 100%;
	max-width: var(--public-press-home-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: clamp(1.25rem, 4vw, 2rem);
	padding-right: clamp(1.25rem, 4vw, 2rem);
	box-sizing: border-box;
}
.public-press-layout.public-press-single .public-press-single-hero {
	margin: clamp(1rem, 3vw, 1.75rem) 0 0;
	width: 100%;
}
.public-press-layout.public-press-single .public-press-single-hero__inner {
	width: 100%;
	max-width: none;
	grid-template-areas: "hero-text hero-media";
	grid-template-rows: auto;
	grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
}
.public-press-layout.public-press-single .public-press-single-hero__inner--no-media {
	grid-template-columns: minmax(0, 1fr);
	grid-template-areas: "hero-text";
}
.public-press-layout.public-press-single .public-press-single-hero__inner--no-media .public-press-home-hero__col--text {
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.public-press-layout.public-press-single .public-press-single-hero__category {
	margin: 0 0 0.65rem;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #64748b;
}
.public-press-layout.public-press-single .public-press-single-hero__meta {
	margin: 0.85rem 0 0;
	font-size: 0.9rem;
	color: #64748b;
	line-height: 1.5;
}
.public-press-layout.public-press-single .public-press-single-hero__meta a {
	color: #475569;
	text-decoration: none;
}
.public-press-layout.public-press-single .public-press-single-hero__meta a:hover,
.public-press-layout.public-press-single .public-press-single-hero__meta a:focus {
	color: var(--public-press-home-blue);
	text-decoration: underline;
}
.public-press-layout.public-press-single .public-press-single-hero__meta-sep {
	margin: 0 0.35rem;
}
.public-press-layout.public-press-single .public-press-single-hero__img {
	aspect-ratio: 16 / 9;
}
.public-press-layout.public-press-single .public-press-single__body {
	max-width: none;
	margin: 0;
	padding: clamp(2rem, 4vw, 3rem) 0;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}
#primary.public-press-layout.public-press-single .public-press-single__body .entry-content {
	width: min(100%, 42rem);
	max-width: 42rem;
	margin-left: 0;
	margin-right: 0;
	text-align: left;
	box-sizing: border-box;
}

/* CSS-T8b: margini legacy Twenty Sixteen 11.2 non applicati al design system */
#primary.public-press-layout:not(.public-press-single) :is(.entry-header, .entry-content, .entry-footer),
#primary.public-press-layout.public-press-single :is(.entry-header, .entry-footer) {
	margin-left: 0;
	margin-right: 0;
}

.public-press-layout.public-press-single .public-press-single__body .entry-content :is(pre, .wp-block-code) {
	text-align: start;
	overflow-wrap: break-word;
}

.public-press-layout.public-press-single .public-press-single-share-band {
	margin-bottom: 0;
}

/*
 * Singolo: niente padding/margini legacy (Twenty Sixteen) extra; respiro share → footer
 * come le altre pagine layout (padding su .site-main, 2.2.75).
 */
#content.site-content:has(#primary.public-press-single) {
	padding-bottom: 0;
}

.public-press-layout.public-press-single .site-main > article {
	margin-bottom: 0;
}

.public-press-layout.public-press-archive .public-press-home-grid--archive {
	padding-top: clamp(1rem, 3vw, 2rem);
}

@media screen and (max-width: 900px) {
	.public-press-layout.public-press-single .public-press-single-article {
		padding-left: max(12px, env(safe-area-inset-left, 0px));
		padding-right: max(12px, env(safe-area-inset-right, 0px));
	}
	.public-press-layout.public-press-single .public-press-single-hero__inner {
		display: flex;
		flex-direction: column;
		gap: 1.25rem;
	}
	.public-press-layout.public-press-single .public-press-single-hero__media {
		max-width: min(420px, 100%);
		margin-left: auto;
		margin-right: auto;
		width: 100%;
	}
}

/**
 * 11.0 - Post/page content typography
 *
 * Neutralize inline font, size, and color from pasted editor content
 * (Gutenberg / Word) so articles and pages use theme typography.
 */
body.single .entry-content:not(.public-press-elementor-entry-content),
body.page .entry-content:not(.public-press-elementor-entry-content) {
	font-family: 'Open Sans', sans-serif;
	font-size: 1rem;
	line-height: 1.75;
	color: #1a1a1a;
}

body.single .entry-content:not(.public-press-elementor-entry-content) :is(p, div, span, li, dt, dd, figcaption, em, strong, b, i, cite, mark, sub, sup, small)[style],
body.page .entry-content:not(.public-press-elementor-entry-content) :is(p, div, span, li, dt, dd, figcaption, em, strong, b, i, cite, mark, sub, sup, small)[style] {
	font-family: inherit !important;
	font-size: inherit !important;
	line-height: inherit !important;
	color: inherit !important;
}

body.single .entry-content:not(.public-press-elementor-entry-content) a[style],
body.page .entry-content:not(.public-press-elementor-entry-content) a[style] {
	color: #007acc !important;
}

/* CSS-T8c — tipografia titoli corpo articolo/pagina (ex T16 §11.2 .entry-content h*) */
body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h1, h2, h3, h4, h5, h6),
body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h1, h2, h3, h4, h5, h6) {
	font-weight: 700;
}

body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h1,
body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h1 {
	font-size: 1.75rem;
	line-height: 1.25;
	margin: 2em 0 1em;
}

body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h2, h3),
body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h2, h3) {
	font-size: 1.375rem;
	line-height: inherit;
	margin: 0 0 1em;
}

body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h4, h5, h6),
body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h4, h5, h6) {
	font-size: 1rem;
	line-height: inherit;
	margin: 0 0 1em;
}

body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h4,
body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h4 {
	letter-spacing: 0.140625em;
	text-transform: uppercase;
}

body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h6,
body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h6 {
	font-style: italic;
}

body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h1, h2, h3, h4, h5, h6):first-child,
body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) :is(h1, h2, h3, h4, h5, h6):first-child {
	margin-top: 0;
}

#primary.public-press-layout .entry-content > :last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 901px) {
	body.single #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h1,
	body.page #primary.public-press-layout .entry-content:not(.public-press-elementor-entry-content) h1 {
		font-size: 2.0625rem;
		line-height: 1.2727272727;
		margin-top: 1.696969697em;
		margin-bottom: 0.8484848485em;
	}

	#primary.public-press-layout .entry-content blockquote.alignleft,
	#primary.public-press-layout .entry-content blockquote.alignright {
		border-width: 4px 0 0 0;
		padding: 0.9473684211em 0 0;
		width: calc(50% - 0.736842105em);
	}

	#primary.public-press-layout .entry-content blockquote:not(.alignleft):not(.alignright) {
		margin-left: -1.473684211em;
	}

	#primary.public-press-layout .entry-content blockquote blockquote:not(.alignleft):not(.alignright) {
		margin-left: 0;
	}

	#primary.public-press-layout .entry-content :is(ul, ol) {
		margin-left: 0;
	}

	#primary.public-press-layout .entry-content :is(li > ul, blockquote > ul) {
		margin-left: 1.25em;
	}

	#primary.public-press-layout .entry-content :is(li > ol, blockquote > ol) {
		margin-left: 1.5em;
	}
}

/* CSS-T8d — embed e galleria legacy nel corpo contenuto layout */
#primary.public-press-layout .entry-content > .item {
	float: none;
}

#primary.public-press-layout .entry-content .wp-smiley {
	border: none;
	margin-top: 0;
	margin-bottom: 0;
	padding: 0;
}

#primary.public-press-layout .entry-content a img {
	display: block;
	margin: 0 auto;
}

#primary.public-press-layout .entry-content .wp-audio-shortcode a,
#primary.public-press-layout .entry-content .wp-playlist a {
	box-shadow: none;
}

#primary.public-press-layout .entry-content .thumbBox {
	width: 800px;
	max-width: 100%;
	margin: 15px auto;
}

#primary.public-press-layout .entry-content .thumbBox .imgTmb {
	height: auto !important;
}

#primary.public-press-layout .entry-content .numFoto {
	color: #58585a;
}

#primary.public-press-layout .entry-content .numFoto p {
	margin: 0;
}

/* -------------------------------------------------------------------------
 * Legacy cleanup 2.2.64 — pagine, blocchi home CPT, YARPP, padding layout
 * ------------------------------------------------------------------------- */
#content.site-content:has(#primary.public-press-layout) {
	padding-bottom: 0;
}

/*
 * Gap contenuto → footer (2.2.76): spacer esplicito (::after) su .site-main — evita
 * collasso margini (home .public-press-home-mockup, singolo share band) e override mobile.
 */
#primary.public-press-layout .site-main > article {
	margin-bottom: 0;
}

.public-press-layout .site-main {
	padding-bottom: 0;
}

.public-press-layout .site-main::after {
	content: "";
	display: block;
	width: 100%;
	height: var(--public-press-content-footer-gap);
	flex-shrink: 0;
	clear: both;
}

@media screen and (max-width: 900px) {
	.public-press-layout.public-press-single .site-main > article {
		margin-bottom: 0;
	}
}

.public-press-page__article {
	max-width: var(--public-press-home-max, 1140px);
	margin: 0 auto;
	padding: clamp(1.25rem, 4vw, 2.5rem) clamp(1rem, 3vw, 1.5rem);
}

.public-press-page__title {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 4vw, 2rem);
	font-weight: 700;
	color: #0f172a;
	line-height: 1.25;
}

.public-press-page__cover.post-thumbnail {
	margin: 0 0 1.5rem;
	border-radius: var(--public-press-home-radius-lg, 16px);
	overflow: hidden;
}

.public-press-page__cover.post-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: inherit;
}

.public-press-page__content.entry-content {
	margin: 0;
	max-width: 42rem;
}

.public-press-error .entry-content {
	max-width: 36rem;
}

.public-press-layout .no-results.not-found {
	max-width: var(--public-press-home-max, 1140px);
	margin: 0 auto;
	padding: clamp(2rem, 5vw, 3rem) clamp(1.25rem, 4vw, 2rem);
	box-sizing: border-box;
}

.public-press-home-block {
	max-width: var(--public-press-home-max, 1140px);
	margin: clamp(2rem, 5vw, 3rem) auto 0;
	padding: clamp(1.5rem, 4vw, 2.25rem);
	background: var(--public-press-home-lavender, #e8e4f5);
	border-radius: var(--public-press-home-radius-lg, 16px);
}

.public-press-home-block__header {
	text-align: center;
	margin-bottom: 1.25rem;
}

.public-press-home-block__title {
	margin: 0;
	font-size: clamp(1.25rem, 3vw, 1.5rem);
	font-weight: 700;
	color: #0f172a;
}

.public-press-home-block__brand {
	display: block;
	margin: 0 auto 0.75rem;
	max-width: 200px;
	height: auto;
}

.public-press-home-block__item-title {
	margin: 0 0 0.75rem;
	font-size: 1.125rem;
	font-weight: 600;
}

.public-press-home-block__item-title a {
	color: #0f172a;
	text-decoration: none;
}

.public-press-home-block__item-title a:hover,
.public-press-home-block__item-title a:focus {
	color: var(--public-press-home-blue, #2563eb);
}

.public-press-home-block--versi .public-press-home-block__content,
.public-press-home-block--versi .public-press-home-block__content :is(p, ul, ol, li, h2, h3, h4, h5, h6, blockquote, .wp-block-paragraph) {
	color: #334155;
	line-height: 1.65;
	text-align: center;
}

.public-press-home-block__meta {
	margin: 1rem 0 0;
	font-style: italic;
	color: #64748b;
	text-align: center;
}

.public-press-home-block__vignette-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.public-press-home-block__vignette-img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0.75rem auto 0;
	border-radius: var(--public-press-home-radius-md, 12px);
}

.public-press-home-block__footer {
	margin: 1.25rem 0 0;
	text-align: center;
}

.public-press-home-block__archive-link {
	display: inline-block;
	padding: 0.55rem 1.25rem;
	background: var(--public-press-home-blue, #2563eb);
	color: #fff;
	border-radius: 999px;
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 600;
}

.public-press-home-block__archive-link:hover,
.public-press-home-block__archive-link:focus {
	background: var(--public-press-home-blue-hover, #1d4ed8);
	color: #fff;
}

.public-press-yarpp {
	max-width: var(--public-press-home-max, 1140px);
	margin: clamp(2rem, 5vw, 3rem) auto 0;
	padding: clamp(1rem, 3vw, 1.5rem) clamp(1rem, 3vw, 1.5rem) clamp(2rem, 4vw, 3rem);
	border-top: 1px solid #e2e8f0;
	clear: both;
}

@media screen and (min-width: 901px) {
	#content.site-content:has(#primary.public-press-layout) {
		padding-top: var(--public-press-after-header-gap, 1rem);
		padding-left: clamp(1rem, 3vw, 2rem);
		padding-right: clamp(1rem, 3vw, 2rem);
	}
}

.public-press-comments {
	max-width: 42rem;
	margin: 2rem auto 0;
	padding: 0 clamp(1rem, 3vw, 1.5rem) 2rem;
}

.public-press-attachment__nav {
	margin-bottom: 1rem;
}

.public-press-attachment__footer {
	margin-top: 1.5rem;
	font-size: 0.875rem;
	color: #64748b;
}

