/**
 * Stile editoriale del child theme.
 * Nessun font remoto e nessun JavaScript proprietario.
 */

:root {
	--tempo-page-max: 1280px;
	--tempo-red: var(--wp--preset--color--accent);
	--tempo-blue: var(--wp--preset--color--brand-blue);
	--tempo-blue-light: var(--wp--preset--color--brand-blue-light);
	--tempo-shadow: 0 14px 36px rgba(21, 34, 50, .08);
}

/* Tela e contenitore del sito */
body.tempo-italia-child {
	background: #e31d2a;
}

.tempo-italia-child .wp-site-blocks {
	width: min(100%, var(--tempo-page-max));
	min-height: 100vh;
	margin-inline: auto;
	background: var(--wp--preset--color--paper);
	box-shadow: 0 0 34px rgba(0, 0, 0, .14);
}

.tempo-italia-child a:hover {
	color: var(--tempo-red);
	text-decoration: none;
}

/* Header */
.tempo-header {
	border-top: 4px solid var(--tempo-red);
	background: var(--wp--preset--color--paper);
}

.tempo-header__top {
	min-height: 108px;
	padding-block: .75rem;
}

.tempo-brand {
	min-width: min(260px, 38vw);
}

.tempo-brand .wp-block-site-logo img {
	width: auto;
	max-width: 240px;
	max-height: 72px;
	object-fit: contain;
}

.tempo-brand .wp-block-site-title {
	font-family: var(--wp--preset--font-family--condensed);
	font-size: clamp(1.65rem, 3vw, 2.5rem);
	font-weight: 800;
}

.tempo-header-search {
	width: min(540px, 52vw);
	padding: .6rem .75rem;
	border: 1px solid #b8d8e8;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 6px 20px rgba(13, 85, 118, .08);
}

.tempo-header-search .wp-block-search__label {
	margin: 0 0 .35rem;
	color: #003b63;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: .95rem;
	font-weight: 800;
}

.tempo-header-search .wp-block-search__inside-wrapper {
	padding: 4px;
	border: 2px solid #d7e7f0;
	border-radius: 11px;
	background: #f3f6f8;
}

.tempo-header-search .wp-block-search__input {
	min-height: 42px;
	border: 0;
	background: transparent;
}

.tempo-header-search .wp-block-search__button {
	min-width: 88px;
	margin: 0;
	border-radius: 10px;
	background: #d84313;
}

.tempo-nav {
	background: linear-gradient(100deg, var(--tempo-blue-light), var(--tempo-blue));
}

.tempo-nav__inner {
	min-height: 78px;
}

.tempo-nav .wp-block-navigation,
.tempo-nav .wp-block-navigation a {
	color: #fff;
}

.tempo-nav .wp-block-navigation-item__content {
	padding: .85rem .2rem;
}

.tempo-nav .wp-block-navigation-item__content:hover {
	color: #fff;
	text-decoration: underline;
	text-underline-offset: .25em;
}

/* Titoli e card */
.tempo-italia-child .section-heading {
	border-bottom-color: var(--tempo-red);
}

.tempo-italia-child .taxonomy-label,
.tempo-italia-child .wp-block-post-terms {
	color: var(--tempo-red);
}

.tempo-italia-child .card {
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(25, 38, 54, .05);
}

.tempo-italia-child .card .wp-block-post-title a,
.tempo-italia-child .lead-story .wp-block-post-title a {
	color: var(--wp--preset--color--ink);
}

/* Articolo */
.tempo-article {
	padding-block: 1.15rem clamp(3rem, 7vw, 6rem);
}

.tempo-article-header {
	max-width: 1200px;
	padding-top: .2rem;
}

.tempo-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: .38rem;
	margin-bottom: 1.3rem;
	color: var(--wp--preset--color--muted);
	font-size: .72rem;
}

.tempo-breadcrumbs a {
	color: inherit;
}

.tempo-breadcrumbs__separator {
	opacity: .62;
}

.tempo-category-pill {
	display: inline-flex;
	width: fit-content;
	padding: .42rem 1.15rem .42rem .9rem;
	color: #fff !important;
	background: var(--tempo-red);
	clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
	font-family: var(--wp--preset--font-family--condensed);
	font-size: .74rem !important;
	font-weight: 800;
	text-transform: uppercase;
}

.tempo-category-pill a {
	color: inherit;
}

.tempo-article-header .wp-block-post-title {
	max-width: 1100px;
	margin-top: 1rem;
	font-size: clamp(2.45rem, 5.6vw, 4.55rem);
}

.tempo-deck {
	max-width: 1100px;
	color: #3d3d3d;
	font-size: clamp(1.28rem, 2vw, 1.75rem);
	line-height: 1.42;
}

.tempo-meta {
	padding-bottom: 1.3rem;
	color: var(--wp--preset--color--muted);
	font-size: .78rem;
}

.tempo-meta .wp-block-avatar img {
	border: 2px solid #fff;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .14);
}

.tempo-meta .wp-block-post-author-name {
	font-weight: 800;
}

.tempo-share-inline {
	margin-left: auto;
}

.tempo-article-divider {
	height: 4px;
	border: 0;
	background: #ededed;
}

.tempo-article-grid {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) 300px;
	gap: clamp(1.4rem, 3vw, 2.4rem);
	align-items: start;
}

.tempo-article-main {
	min-width: 0;
}

.tempo-article-main .article-featured {
	margin-top: 0;
}

.tempo-article-main .article-featured img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.tempo-article-main .article-body > * {
	max-width: 100%;
}

.tempo-article-main .article-body p {
	margin-bottom: 1.45em;
}

.tempo-article-main .article-body a {
	text-decoration: underline;
	text-decoration-color: var(--tempo-red);
	text-decoration-thickness: 2px;
	text-underline-offset: .16em;
}

.tempo-article-main .article-body h2,
.tempo-article-main .article-body h3 {
	scroll-margin-top: 1rem;
}

.tempo-article-main .related-posts {
	max-width: 100%;
	margin-top: 3.5rem;
}

.tempo-article-main .related-posts > h2 {
	border-bottom-color: var(--tempo-red);
}

/* Condivisione */
.tempo-share {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	align-items: center;
	font-size: .72rem;
}

.tempo-share__title {
	color: var(--wp--preset--color--muted);
	font-weight: 700;
}

.tempo-share__link {
	display: inline-flex;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	background: #fff;
	color: #18364c;
	font-size: .7rem;
	font-weight: 850;
	box-shadow: 0 4px 12px rgba(26, 43, 60, .06);
}

.tempo-share__link:hover {
	border-color: var(--tempo-red);
	color: var(--tempo-red);
}

.tempo-share-rail {
	position: sticky;
	top: 1rem;
}

.tempo-share--compact {
	flex-direction: column;
}

.tempo-share--compact .tempo-share__title {
	writing-mode: vertical-rl;
	transform: rotate(180deg);
	margin-bottom: .25rem;
	font-size: .65rem;
	text-transform: uppercase;
}

/* Sidebar */
.tempo-sidebar {
	position: sticky;
	top: 1rem;
	padding-top: .15rem;
}

.tempo-sidebar__title {
	margin: 0 0 1rem;
	padding-bottom: .6rem;
	border-bottom: 4px solid var(--tempo-red);
	font-size: 1.45rem;
}

.tempo-sidebar-list .wp-block-post {
	padding-block: .85rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-sidebar-card {
	display: grid !important;
	grid-template-columns: 100px minmax(0, 1fr);
	gap: .8rem;
	align-items: start;
}

.tempo-sidebar-card .wp-block-post-featured-image {
	margin: 0;
}

.tempo-sidebar-card .wp-block-post-featured-image img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tempo-sidebar-card .wp-block-post-title {
	margin: 0;
	font-size: .96rem;
	line-height: 1.25;
}

.tempo-sidebar-card .wp-block-post-date {
	color: var(--wp--preset--color--muted);
	font-size: .68rem;
}

/* Box indice: compatibilità con i plugin TOC più comuni */
:is(.lwptoc, .ez-toc-container, #ez-toc-container, .toc, .jnews_content_table) {
	margin-block: 1.6rem 2rem !important;
	padding: 1.25rem 1.4rem !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: #fff !important;
	box-shadow: var(--tempo-shadow);
}

:is(.lwptoc, .ez-toc-container, #ez-toc-container, .toc, .jnews_content_table) a {
	color: var(--wp--preset--color--ink) !important;
	text-decoration: none !important;
}

/* ADV e contenuti multimediali */
.tempo-italia-child .article-body :is(iframe, video) {
	display: block;
	margin-inline: auto;
}

.tempo-italia-child .article-body [class*="code-block-"],
.tempo-italia-child .article-body .adv-slot {
	max-width: 100%;
	margin-inline: auto;
}

.tempo-italia-child .code-block-4 {
	margin-top: 0;
}

.tempo-italia-child .site-footer {
	background: #f0f2f4;
}

/* Tablet e mobile */
@media (max-width: 1020px) {
	.tempo-article-grid {
		grid-template-columns: 44px minmax(0, 1fr);
	}

	.tempo-sidebar {
		display: none;
	}

	.tempo-header__top {
		min-height: 88px;
	}

	.tempo-nav__inner {
		min-height: 64px;
	}
}

@media (max-width: 781px) {
	body.tempo-italia-child {
		background: #fff;
	}

	.tempo-italia-child .wp-site-blocks {
		box-shadow: none;
	}

	.tempo-header__top {
		min-height: 72px;
	}

	.tempo-brand {
		min-width: 0;
	}

	.tempo-brand .wp-block-site-logo img {
		max-width: 185px;
		max-height: 56px;
	}

	.tempo-header-search {
		display: none;
	}

	.tempo-nav__inner {
		min-height: 56px;
	}

	.tempo-nav .wp-block-navigation__responsive-container-open,
	.tempo-nav .wp-block-navigation__responsive-container-close {
		color: #fff;
	}

	.tempo-article {
		padding-top: .8rem;
	}

	.tempo-article-header .wp-block-post-title {
		font-size: clamp(2.15rem, 11vw, 3.25rem);
	}

	.tempo-deck {
		font-size: 1.15rem;
	}

	.tempo-meta {
		align-items: flex-start;
	}

	.tempo-share-inline {
		width: 100%;
		margin-left: 0;
	}

	.tempo-article-grid {
		display: block;
	}

	.tempo-share-rail {
		display: none;
	}

	.tempo-article-main .article-featured {
		margin-inline: calc(-1 * var(--wp--style--root--padding-left));
	}

	.tempo-article-main .article-featured img {
		border-radius: 0;
	}

	.tempo-article-main .related-posts__grid {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
 * v0.3.0 - Home Gutenberg editoriale, sidebar GMP e ADV hooks
 * ======================================================= */

/* Ricerca meteo: il form arriva dal MU plugin, il tema decide solo posizione e ingombro. */
.tempo-city-search {
	margin: 0;
}

.tempo-city-search--desktop {
	width: min(560px, 54vw);
}

.tempo-city-search--desktop .mg-meteo-search {
	max-width: none;
	margin: 0;
	box-shadow: none;
}

.tempo-city-search--mobile {
	display: none;
	padding: 0 12px 10px;
}

.tempo-city-search--mobile .mg-meteo-search {
	max-width: none;
	margin: 0;
	box-shadow: none;
}

.tempo-city-search--mobile .mg-meteo-search-label {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Home */
.tempo-home__hero-wrap {
	padding-top: clamp(1.4rem, 3vw, 2.6rem);
	padding-bottom: clamp(2rem, 4vw, 3.3rem);
}

.tempo-home-hero {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(310px, .95fr);
	gap: clamp(1.5rem, 3vw, 2.3rem);
	align-items: start;
}

.tempo-home-hero__lead,
.tempo-home-hero__side-item {
	margin: 0;
}

.tempo-home-hero__lead-media {
	display: block;
	background: #eef1f3;
	overflow: hidden;
}

.tempo-home-hero__lead-media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.tempo-home-hero__lead-body {
	padding-top: 1rem;
}

.tempo-home-hero__category {
	display: inline-block;
	margin-bottom: .55rem;
	color: var(--tempo-red);
	font-size: 13px;
	font-weight: 800;
	text-transform: uppercase;
}

.tempo-home-hero__lead-title {
	max-width: 820px;
	margin: 0;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: clamp(2.15rem, 4.1vw, 3.5rem);
	font-weight: 800;
	line-height: 1.03;
	letter-spacing: -.025em;
}

.tempo-home-hero__lead-title a,
.tempo-home-hero__side-title a,
.tempo-home-card__title a {
	color: var(--wp--preset--color--ink);
}

.tempo-home-hero__lead-deck {
	max-width: 820px;
	margin: .8rem 0 0;
	color: #454545;
	font-size: 19px;
	line-height: 1.5;
}

.tempo-home-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: .85rem;
	color: var(--wp--preset--color--muted);
	font-size: 14px;
	line-height: 1.4;
}

.tempo-home-hero__side {
	border-top: 1px solid var(--wp--preset--color--border);
}

.tempo-home-hero__side-item {
	display: grid;
	grid-template-columns: 138px minmax(0, 1fr);
	gap: 1rem;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-home-hero__side-media {
	display: block;
	background: #eef1f3;
	overflow: hidden;
}

.tempo-home-hero__side-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tempo-home-hero__side-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: clamp(1.15rem, 1.7vw, 1.45rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.018em;
}

.tempo-home-hero__side .tempo-home-hero__meta {
	display: block;
	margin-top: .65rem;
	font-size: 14px;
}

.tempo-home-section {
	padding-top: clamp(2.2rem, 5vw, 4rem);
	padding-bottom: clamp(2.3rem, 5vw, 4.2rem);
}

.tempo-home .section-heading {
	margin: 0 0 1.5rem;
	padding-bottom: .45rem;
	border-bottom: 3px solid var(--tempo-red);
	font-size: clamp(1.85rem, 3vw, 2.45rem);
}

.tempo-home-grid {
	display: grid;
	gap: clamp(1.1rem, 2.2vw, 1.8rem);
}

.tempo-home-grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tempo-home-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.tempo-home-card {
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(25, 38, 54, .05);
}

.tempo-home-card__media {
	display: block;
	background: #eef1f3;
	overflow: hidden;
}

.tempo-home-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.tempo-home-card__body {
	padding: 1.2rem 1.25rem 1.35rem;
}

.tempo-home-card__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	font-weight: 800;
	line-height: 1.13;
	letter-spacing: -.018em;
}

.tempo-home-grid--4 .tempo-home-card__title {
	font-size: clamp(1.25rem, 1.65vw, 1.65rem);
}

.tempo-home-card__meta {
	display: block;
	margin-top: .9rem;
	color: var(--wp--preset--color--muted);
	font-size: 14px;
	line-height: 1.4;
}

.tempo-home-card__excerpt {
	margin: 1rem 0 0;
	color: #4b4b4b;
	font-size: 16px;
	line-height: 1.58;
}

/* Singolo: misure richieste. */
.tempo-article-header .wp-block-post-title {
	max-width: 1050px;
	font-size: clamp(2rem, 3.8vw, 3.25rem);
	line-height: 1.05;
}

.tempo-deck {
	max-width: 1050px;
	margin-top: .75rem;
	font-size: clamp(1.2rem, 1.7vw, 1.5rem);
	line-height: 1.45;
}

.tempo-meta,
.tempo-meta :is(.wp-block-post-author-name, .wp-block-post-date, .wp-block-post-time-to-read) {
	font-size: 14px;
}

.tempo-article-main .article-body {
	font-size: 18px;
	line-height: 1.72;
}

.tempo-article-main .article-body p,
.tempo-article-main .article-body li {
	font-size: inherit;
	line-height: inherit;
}

/* Meta di card e liste coerenti a 14px. */
.tempo-sidebar-card .wp-block-post-date,
.tempo-italia-child .meta-row,
.tempo-italia-child .meta-row .wp-block-post-date,
.tempo-italia-child .meta-row .wp-block-post-author-name {
	font-size: 14px;
}

@media (max-width: 1020px) {
	.tempo-home-hero {
		grid-template-columns: minmax(0, 1.45fr) minmax(290px, .8fr);
	}

	.tempo-home-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.tempo-city-search--desktop {
		display: none;
	}

	.tempo-city-search--mobile {
		display: block;
	}

	.tempo-home__hero-wrap {
		padding-top: 1rem;
	}

	.tempo-home-hero {
		display: block;
	}

	.tempo-home-hero__lead-title {
		font-size: clamp(2rem, 9.4vw, 2.75rem);
	}

	.tempo-home-hero__lead-deck {
		font-size: 18px;
	}

	.tempo-home-hero__side {
		margin-top: 1.35rem;
	}

	.tempo-home-hero__side-item {
		grid-template-columns: 112px minmax(0, 1fr);
		gap: .85rem;
		padding: .95rem 0;
	}

	.tempo-home-hero__side-title {
		font-size: 1.15rem;
	}

	.tempo-home-grid--3,
	.tempo-home-grid--4 {
		grid-template-columns: 1fr;
	}

	.tempo-home-card__title,
	.tempo-home-grid--4 .tempo-home-card__title {
		font-size: 1.55rem;
	}

	.tempo-article-header .wp-block-post-title {
		font-size: clamp(2rem, 9vw, 2.6rem);
	}

	.tempo-deck {
		font-size: 1.18rem;
	}

	.tempo-article-main .article-body {
		font-size: 18px;
		line-height: 1.7;
	}
}


/* =========================================================
 * v0.3.0 - layout Home più editoriale
 * ======================================================= */

:root {
	/* Impostare le altezze reali dei formati GMP se diverse. */
	--ti-gmp-topright-min-height: 250px;
	--ti-gmp-middleright-min-height: 250px;
	--ti-gmp-bottomright-min-height: 250px;
}

.tempo-home-page {
	min-height: 60vh;
}

.ti-home-canvas {
	padding: clamp(1rem, 2.5vw, 2rem) var(--wp--style--root--padding-right) clamp(3rem, 6vw, 5rem) var(--wp--style--root--padding-left);
	background:
		linear-gradient(180deg, rgba(245, 248, 250, .74), rgba(255, 255, 255, 0) 310px),
		#fff;
}

.ti-home-hero-wrap {
	padding-top: clamp(.5rem, 1.6vw, 1.2rem);
	padding-bottom: clamp(1.7rem, 3vw, 2.5rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

/* Hero: 1 grande + 3 secondarie. */
.ti-home-hero-wrap .tempo-home-hero {
	grid-template-columns: minmax(0, 1.78fr) minmax(320px, .92fr);
	gap: clamp(1.4rem, 2.8vw, 2.2rem);
}

.ti-home-hero-wrap .tempo-home-hero__lead {
	overflow: hidden;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(17, 42, 61, .07);
}

.ti-home-hero-wrap .tempo-home-hero__lead-body {
	padding: 1.05rem 1.15rem 1.2rem;
}

.ti-home-hero-wrap .tempo-home-hero__lead-title {
	max-width: 760px;
	font-size: clamp(2.05rem, 3.7vw, 3.15rem);
	line-height: 1.02;
}

.ti-home-hero-wrap .tempo-home-hero__lead-deck {
	font-size: clamp(1.05rem, 1.5vw, 1.22rem);
	line-height: 1.48;
}

.tempo-home-hero__side {
	border-top: 0;
}

.tempo-home-hero__side-item {
	grid-template-columns: 150px minmax(0, 1fr);
	gap: .95rem;
	padding: 0 0 1rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-home-hero__side-item:last-child {
	margin-bottom: 0;
}

.tempo-home-hero__side-media,
.tempo-home-hero__side-media img {
	border-radius: 6px;
}

.tempo-home-hero__side-category,
.tempo-home-card__category,
.tempo-home-list__category {
	display: block;
	margin-bottom: .35rem;
	color: var(--tempo-red);
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .035em;
	text-transform: uppercase;
}

.tempo-home-hero__side-title {
	font-size: clamp(1.08rem, 1.55vw, 1.34rem);
	line-height: 1.12;
}

/* Colonna principale + sidebar. */
.ti-home-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 310px;
	gap: clamp(1.8rem, 3.2vw, 3rem);
	align-items: start;
	padding-top: clamp(2rem, 4vw, 3.2rem);
}

.ti-home-main {
	min-width: 0;
}

.ti-home-sidebar-column {
	min-width: 0;
}

.ti-home-section {
	margin: 0 0 clamp(2.4rem, 5vw, 4rem);
}

.ti-section-title {
	position: relative;
	margin: 0 0 1.35rem;
	padding: 0 0 .65rem;
	border-bottom: 1px solid #dfe4e8;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: clamp(1.65rem, 2.4vw, 2.15rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -.02em;
}

.ti-section-title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 92px;
	height: 3px;
	background: var(--tempo-red);
}

/* Lista news: più elegante nella colonna principale. */
.tempo-home-list {
	display: grid;
	gap: 0;
}

.tempo-home-list__item {
	display: grid;
	grid-template-columns: 220px minmax(0, 1fr);
	gap: 1.15rem;
	padding: 1.15rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-home-list__item:first-child {
	padding-top: 0;
}

.tempo-home-list__media {
	display: block;
	overflow: hidden;
	border-radius: 6px;
	background: #eef1f3;
}

.tempo-home-list__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.tempo-home-list__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: clamp(1.32rem, 2vw, 1.8rem);
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -.018em;
}

.tempo-home-list__title a {
	color: var(--wp--preset--color--ink);
}

.tempo-home-list__excerpt {
	margin: .65rem 0 0;
	color: #4c545a;
	font-size: 15px;
	line-height: 1.5;
}

/* La v0.2 aveva solo 3 e 4 colonne. */
.tempo-home-grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ti-home-section .tempo-home-card {
	border: 1px solid #e1e6e9;
	border-radius: 7px;
	box-shadow: 0 8px 26px rgba(24, 49, 67, .055);
	transition: none;
}

.ti-home-section .tempo-home-card__body {
	padding: 1.05rem 1.1rem 1.2rem;
}

.ti-home-section .tempo-home-card__title {
	font-size: clamp(1.28rem, 1.7vw, 1.65rem);
}

.ti-home-section--more .tempo-home-card__title {
	font-size: clamp(1.15rem, 1.5vw, 1.45rem);
}

/* Hook semantici per Ad Inserter.
 * Non occupano spazio: servono come bersagli stabili Before/After HTML element.
 */
.ti-ai-anchor {
	display: block;
	width: 100%;
	height: 0;
	margin: 0;
	padding: 0;
	overflow: hidden;
	border: 0;
}

/* Sidebar dinamica e slot GMP reali. */
.tempo-sidebar--dynamic {
	position: sticky;
	top: 1rem;
}

.tempo-sidebar__section {
	margin-bottom: 1.4rem;
}

.tempo-sidebar-news__item {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr);
	gap: .8rem;
	padding: .85rem 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-sidebar-news__media {
	display: block;
	overflow: hidden;
	border-radius: 5px;
	background: #eef1f3;
}

.tempo-sidebar-news__media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.tempo-sidebar-news__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--condensed);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1.17;
	letter-spacing: -.01em;
}

.tempo-sidebar-news__title a {
	color: var(--wp--preset--color--ink);
}

.tempo-sidebar-news__meta {
	display: block;
	margin-top: .45rem;
	color: var(--wp--preset--color--muted);
	font-size: 12px;
	line-height: 1.3;
}

.ti-gmp-slot {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 1.5rem;
	overflow: hidden;
}

#gmp-topright {
	min-height: var(--ti-gmp-topright-min-height);
}

#gmp-middleright {
	min-height: var(--ti-gmp-middleright-min-height);
}

#gmp-bottomright {
	min-height: var(--ti-gmp-bottomright-min-height);
}

/* Se lo slot è davvero vuoto e GMP aggiunge la classe standard empty,
 * può essere collassato dal codice pubblicitario senza modificare il tema. */
.ti-gmp-slot iframe,
.ti-gmp-slot img {
	max-width: 100%;
}

@media (max-width: 1020px) {
	.ti-home-hero-wrap .tempo-home-hero {
		grid-template-columns: minmax(0, 1.45fr) minmax(280px, .8fr);
	}

	.ti-home-layout {
		grid-template-columns: 1fr;
	}

	.ti-home-sidebar-column {
		display: none;
	}

	.tempo-home-grid--2,
	.tempo-home-grid--3,
	.tempo-home-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 781px) {
	.ti-home-canvas {
		padding-top: .5rem;
	}

	.ti-home-hero-wrap {
		padding-bottom: 1.3rem;
	}

	.ti-home-hero-wrap .tempo-home-hero {
		display: block;
	}

	.ti-home-hero-wrap .tempo-home-hero__lead {
		border-radius: 0;
		box-shadow: none;
	}

	.ti-home-hero-wrap .tempo-home-hero__lead-body {
		padding-inline: 0;
	}

	.ti-home-hero-wrap .tempo-home-hero__lead-title {
		font-size: clamp(2rem, 9vw, 2.7rem);
	}

	.tempo-home-hero__side-item {
		grid-template-columns: 112px minmax(0, 1fr);
		padding-bottom: .9rem;
		margin-bottom: .9rem;
	}

	.tempo-home-list__item {
		grid-template-columns: 118px minmax(0, 1fr);
		gap: .85rem;
	}

	.tempo-home-list__title {
		font-size: 1.18rem;
	}

	.tempo-home-list__excerpt {
		display: none;
	}

	.tempo-home-grid--2,
	.tempo-home-grid--3,
	.tempo-home-grid--4 {
		grid-template-columns: 1fr;
	}
}


/* =========================================================
 * v0.3.4 - Home essenziale: no estratti default, wide preview,
 * immagini senza fondo grigio/cornici
 * ======================================================= */

/* Permette ai moduli dinamici di uscire dal content width stretto di una
 * normale Pagina Gutenberg. Si attiva solo con wide="1". */
.tempo-home-wide {
	/*
	 * v0.3.5: NON usare la viewport.
	 * La skin ADV può restringere il contenitore centrale pur lasciando
	 * invariata la larghezza del browser. Il modulo deve quindi rispettare
	 * sempre la larghezza realmente disponibile nel parent.
	 */
	width: 100%;
	max-width: min(100%, var(--tempo-page-max)) !important;
	min-width: 0;
	margin-left: auto !important;
	margin-right: auto !important;
	transform: none;
}

/* Le immagini non devono "stirare" il loro contenitore lasciando fondo grigio. */
.tempo-home-hero__lead-media,
.tempo-home-hero__side-media,
.tempo-home-list__media,
.tempo-home-card__media,
.tempo-sidebar-news__media {
	align-self: start;
	background: transparent !important;
}

.tempo-home-hero__side-item,
.tempo-home-list__item,
.tempo-sidebar-news__item {
	align-items: start;
}

/* Niente cornice/fondo visuale sulle card della home: look più editoriale. */
.tempo-home-card,
.ti-home-section .tempo-home-card {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.tempo-home-card__media,
.tempo-home-list__media,
.tempo-home-hero__side-media,
.tempo-sidebar-news__media {
	border-radius: 0;
}

/* Corpo card più compatto: immagine, titolo e data. */
.tempo-home-card__body {
	padding: .9rem 0 0;
}

.ti-home-section .tempo-home-card__body {
	padding: .9rem 0 0;
}

/* Hero un po' più equilibrata quando lavora a 2/3 notizie. */
.tempo-home-hero__lead-title {
	font-size: clamp(2rem, 3.45vw, 3rem);
	line-height: 1.04;
}

.tempo-home-hero__meta,
.tempo-home-card__meta {
	margin-top: .55rem;
	font-size: 14px;
}

@media (max-width: 781px) {
	.tempo-home-hero__lead-title {
		font-size: clamp(1.9rem, 8vw, 2.55rem);
	}
}


/* =========================================================
 * v0.3.5 - compatibilità skin ADV / contenitori ristretti
 * ======================================================= */
.tempo-home-hero,
.tempo-home-list,
.tempo-home-grid,
.tempo-home-hero__lead,
.tempo-home-hero__side,
.tempo-home-hero__side-item,
.tempo-home-list__item,
.tempo-home-card,
.tempo-home-hero__lead-body,
.tempo-home-hero__side-body,
.tempo-home-list__body,
.tempo-home-card__body {
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.tempo-home-hero img,
.tempo-home-list img,
.tempo-home-grid img {
	max-width: 100%;
	height: auto;
}

/* Il secondo binario della Hero può comprimersi meglio quando una skin ADV
 * riduce il contenitore centrale senza ridurre la viewport. */
.tempo-home-hero {
	grid-template-columns: minmax(0, 1.7fr) minmax(240px, .9fr);
}

.ti-home-hero-wrap .tempo-home-hero {
	grid-template-columns: minmax(0, 1.72fr) minmax(250px, .88fr);
}

/* Evita che titoli lunghi forzino la larghezza della griglia. */
.tempo-home-hero__lead-title,
.tempo-home-hero__side-title,
.tempo-home-list__title,
.tempo-home-card__title {
	overflow-wrap: anywhere;
	word-break: normal;
}

/* La pagina Home Builder e la vera front page lavorano a tutta la larghezza
 * del contenitore centrale del sito, mai oltre la skin ADV. */
.tempo-home-builder-page > .wp-block-post-content,
.tempo-home-page > .wp-block-post-content {
	width: 100%;
	max-width: 100%;
	margin-inline: auto;
}

@media (max-width: 900px) {
	.tempo-home-hero,
	.ti-home-hero-wrap .tempo-home-hero {
		grid-template-columns: minmax(0, 1.35fr) minmax(220px, .8fr);
		gap: 1.2rem;
	}
}

@media (max-width: 720px) {
	.tempo-home-hero,
	.ti-home-hero-wrap .tempo-home-hero {
		display: block;
	}
}


/* =========================================================
 * v0.3.6 - miniature Hero non ritagliate + gutter regolabile
 * ======================================================= */

/* Margine interno laterale di tutti i moduli home.
 * Lo shortcode imposta --tempo-home-gutter (default 24px).
 * Su schermi piccoli viene automaticamente limitato al 5vw. */
.tempo-home-module {
	box-sizing: border-box;
	padding-left: min(var(--tempo-home-gutter, 24px), 5vw);
	padding-right: min(var(--tempo-home-gutter, 24px), 5vw);
}

/* Default: miniatura laterale in proporzione naturale, nessun crop. */
.tempo-home-hero--thumb-natural .tempo-home-hero__side-media {
	overflow: visible;
}

.tempo-home-hero--thumb-natural .tempo-home-hero__side-media img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
}

/* Modalità opzionale uniforme/ritagliata: thumb="crop". */
.tempo-home-hero--thumb-crop .tempo-home-hero__side-media {
	overflow: hidden;
}

.tempo-home-hero--thumb-crop .tempo-home-hero__side-media img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	object-fit: cover;
}

/* Il bordo/divisore resta sulla riga, non sull'immagine. */
.tempo-home-hero__side-media,
.tempo-home-hero__side-media img {
	background: transparent !important;
	box-shadow: none !important;
	border: 0 !important;
}


/* =========================================================
 * v0.3.7 - Hero: miniature stabili, intere e senza crop
 * ======================================================= */

/*
 * Modalità predefinita "contain":
 * - box stabile 16:9
 * - immagine sempre intera
 * - nessuna deformazione
 * - nessuna altezza anomala che spinge le news successive
 */
.tempo-home-hero--thumb-contain .tempo-home-hero__side-media {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	background: transparent !important;
}

.tempo-home-hero--thumb-contain .tempo-home-hero__side-media img {
	display: block;
	width: 100%;
	height: 100% !important;
	max-width: 100%;
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: center;
}

/*
 * La modalità "natural" rimane disponibile ma non è consigliata nella Hero,
 * perché immagini molto verticali possono aumentare molto l'altezza della riga.
 */
.tempo-home-hero--thumb-natural .tempo-home-hero__side-media {
	aspect-ratio: auto;
}

/* Modalità crop: box stabile 16:9 e riempimento completo. */
.tempo-home-hero--thumb-crop .tempo-home-hero__side-media {
	aspect-ratio: 16 / 9;
}

.tempo-home-hero--thumb-crop .tempo-home-hero__side-media img {
	width: 100%;
	height: 100% !important;
	aspect-ratio: auto !important;
	object-fit: cover !important;
}

/* Ogni news laterale resta indipendente dall'altezza delle altre. */
.tempo-home-hero__side-item {
	align-items: start;
}

/* Gutter: margine interno sicuro e regolabile. */
.tempo-home-module {
	padding-inline: min(var(--tempo-home-gutter, 24px), 5vw);
}


/* =========================================================
 * v0.3.8 - Hero Magazine responsive
 * ======================================================= */

/* Le media query normali non bastano con le skin ADV che restringono soltanto
 * il contenitore centrale. La Hero quindi reagisce alla SUA larghezza reale. */
.tempo-home-hero {
	container-type: inline-size;
	container-name: tempo-hero;
}

/* MAGAZINE: principale ~65%, secondarie ~35%. */
.tempo-home-hero--layout-magazine {
	grid-template-columns: minmax(0, 1.82fr) minmax(300px, 1fr);
	gap: clamp(1.4rem, 2.4vw, 2rem);
}

/* Titolo principale importante ma meno invasivo. */
.tempo-home-hero--layout-magazine .tempo-home-hero__lead-title {
	max-width: 760px;
	font-size: clamp(2rem, 3.2vw, 3rem);
	line-height: 1.04;
}

/* Colonna destra senza riga superiore aggiuntiva. */
.tempo-home-hero--layout-magazine .tempo-home-hero__side {
	display: grid;
	gap: 0;
	border-top: 0;
}

/* Card secondaria orizzontale con immagine più grande. */
.tempo-home-hero--layout-magazine .tempo-home-hero__side-item {
	display: grid;
	grid-template-columns: minmax(150px, 46%) minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
	padding: 0 0 1rem;
	margin: 0 0 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-home-hero--layout-magazine .tempo-home-hero__side-item:last-child {
	margin-bottom: 0;
}

/* Il box immagine è stabile e più generoso. */
.tempo-home-hero--layout-magazine.tempo-home-hero--thumb-contain .tempo-home-hero__side-media,
.tempo-home-hero--layout-magazine.tempo-home-hero--thumb-crop .tempo-home-hero__side-media {
	width: 100%;
	aspect-ratio: 16 / 9;
}

/* contain: immagine sempre intera, senza crop. */
.tempo-home-hero--layout-magazine.tempo-home-hero--thumb-contain .tempo-home-hero__side-media img {
	width: 100%;
	height: 100% !important;
	object-fit: contain !important;
}

/* Titoli laterali più leggibili. */
.tempo-home-hero--layout-magazine .tempo-home-hero__side-title {
	font-size: clamp(1.12rem, 1.45vw, 1.38rem);
	line-height: 1.12;
}

/* Data più vicina al titolo. */
.tempo-home-hero--layout-magazine .tempo-home-hero__side .tempo-home-hero__meta {
	margin-top: .45rem;
}

/* Layout compatto: conserva l'aspetto precedente. */
.tempo-home-hero--layout-compact .tempo-home-hero__side-item {
	grid-template-columns: 138px minmax(0, 1fr);
}

/* Quando la skin ADV restringe il box, riduciamo la colonna immagine ma
 * conserviamo ancora il layout a due colonne. */
@container tempo-hero (max-width: 980px) {
	.tempo-home-hero--layout-magazine {
		grid-template-columns: minmax(0, 1.55fr) minmax(270px, .9fr);
		gap: 1.25rem;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-item {
		grid-template-columns: minmax(125px, 42%) minmax(0, 1fr);
		gap: .85rem;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-title {
		font-size: 1.08rem;
	}
}

/* MOBILE / contenitore molto stretto:
 * principale + tutte le secondarie in colonna, immagini grandi. */
@container tempo-hero (max-width: 720px) {
	.tempo-home-hero--layout-magazine {
		display: block;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__lead {
		margin-bottom: 1.6rem;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__lead-title {
		font-size: clamp(1.9rem, 7.5vw, 2.55rem);
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side {
		display: grid;
		gap: 1.35rem;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-item {
		display: block;
		margin: 0;
		padding: 0 0 1.25rem;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-media {
		display: block;
		width: 100%;
		margin-bottom: .75rem;
		aspect-ratio: 16 / 9;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-media img {
		width: 100%;
		height: 100% !important;
		object-fit: contain !important;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-title {
		font-size: clamp(1.25rem, 5.2vw, 1.55rem);
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side .tempo-home-hero__meta {
		margin-top: .4rem;
	}
}

/* Fallback per browser senza container queries. */
@media (max-width: 720px) {
	.tempo-home-hero--layout-magazine {
		display: block;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-item {
		display: block;
	}

	.tempo-home-hero--layout-magazine .tempo-home-hero__side-media {
		margin-bottom: .75rem;
	}
}


/* =========================================================
 * v0.3.9 - gutter regolabile sidebar
 * ======================================================= */

/* Il gutter principale rientra soltanto i contenuti editoriali:
 * le ADV mantengono per default tutta la larghezza disponibile. */
.tempo-sidebar--dynamic .tempo-sidebar__section {
	padding-inline: min(var(--tempo-sidebar-gutter, 20px), 4vw);
	box-sizing: border-box;
}

/* Rientro opzionale anche per gli slot ADV.
 * Default 0 per non penalizzare creatività da 300px. */
.tempo-sidebar--dynamic .ti-gmp-slot {
	width: calc(100% - (2 * var(--tempo-sidebar-ad-gutter, 0px)));
	max-width: calc(100% - (2 * var(--tempo-sidebar-ad-gutter, 0px)));
	margin-left: var(--tempo-sidebar-ad-gutter, 0px);
	margin-right: var(--tempo-sidebar-ad-gutter, 0px);
	box-sizing: border-box;
}

/* Evita overflow nella colonna Gutenberg. */
.tempo-sidebar--dynamic,
.tempo-sidebar--dynamic > *,
.tempo-sidebar--dynamic .tempo-sidebar-news__item {
	min-width: 0;
	max-width: 100%;
}


/* =========================================================
 * v0.4.0 - Singolo articolo, share e accessibilità
 * ======================================================= */

/* Focus keyboard ben visibile su tutto il tema. */
.tempo-italia-child :is(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 3px solid #111827;
	outline-offset: 3px;
}

/* Sulla barra blu serve un focus chiaro. */
.tempo-nav :is(a, button):focus-visible {
	outline-color: #ffffff;
}

/* Categoria primaria: niente badge/pill, solo link editoriale. */
.tempo-primary-category {
	margin: .25rem 0 .65rem;
	font-size: .9rem;
	font-weight: 800;
	line-height: 1.3;
}

.tempo-primary-category a {
	color: var(--tempo-blue);
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .18em;
}

.tempo-primary-category a:hover {
	color: var(--wp--preset--color--accent-dark);
}

/* Il vecchio pill non viene più usato nel template, ma lo neutralizziamo
 * anche in caso di personalizzazioni salvate nel Site Editor. */
.tempo-category-pill {
	display: none !important;
}

/* Share principale sotto i meta: più visibile e stabile. */
.tempo-share-bar {
	margin: .15rem 0 1.15rem;
}

.tempo-share {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	align-items: center;
	font-size: .82rem;
}

.tempo-share__title {
	margin-right: .15rem;
	color: #475569;
	font-weight: 800;
}

.tempo-share__link {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	gap: .45rem;
	padding: .55rem .78rem;
	border: 2px solid transparent;
	border-radius: 6px;
	color: #ffffff !important;
	font-size: .78rem;
	font-weight: 850;
	line-height: 1;
	text-decoration: none !important;
	box-shadow: none;
}

.tempo-share__mark {
	display: inline-flex;
	min-width: 1.45rem;
	align-items: center;
	justify-content: center;
	font-weight: 900;
	letter-spacing: -.02em;
}

/* Varianti brand scelte in tonalità che mantengono contrasto AA con testo bianco. */
.tempo-share__link--facebook { background: #166FE5; }
.tempo-share__link--x        { background: #111111; }
.tempo-share__link--whatsapp { background: #075E54; }
.tempo-share__link--telegram { background: #0B76A8; }
.tempo-share__link--email    { background: #475569; }

.tempo-share__link:hover {
	filter: brightness(.88);
	color: #ffffff !important;
}

.tempo-share__link:focus-visible {
	outline: 3px solid #111827;
	outline-offset: 3px;
}

/* Rail desktop: compatta ma realmente visibile. */
.tempo-share--compact {
	flex-direction: column;
	gap: .55rem;
}

.tempo-share--compact .tempo-share__title {
	writing-mode: horizontal-tb;
	transform: none;
	margin: 0 0 .15rem;
	font-size: .68rem;
	text-transform: uppercase;
}

.tempo-share--compact .tempo-share__link {
	width: 42px;
	min-width: 42px;
	height: 42px;
	min-height: 42px;
	padding: 0;
	border-radius: 50%;
}

.tempo-share--compact .tempo-share__mark {
	min-width: 0;
	font-size: .72rem;
}

/* Testo secondario sempre con contrasto sufficiente su bianco. */
.tempo-meta,
.tempo-breadcrumbs,
.tempo-home-card__meta,
.tempo-home-hero__meta,
.tempo-sidebar-card .wp-block-post-date {
	color: #687078;
}

/* Il bottone ricerca usa una variante più scura per testo bianco AA. */
.tempo-header-search .wp-block-search__button {
	background: #C63D11;
	color: #ffffff;
}

/* Correlati: il wrapper shortcode è spento di default.
 * Se riattivato mantiene distanza dalla Native ADV. */
.tempo-article-main .related-posts {
	margin-top: 3.5rem;
}

/* Migliora leggibilità link nel corpo senza affidarsi al solo colore. */
.tempo-article-main .article-body a {
	color: #0B5F7E;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .16em;
}

.tempo-article-main .article-body a:visited {
	color: #5B3A78;
}

@media (max-width: 781px) {
	.tempo-share {
		gap: .45rem;
	}

	.tempo-share__title {
		width: 100%;
		margin-bottom: .15rem;
	}

	.tempo-share__link {
		flex: 1 1 calc(50% - .45rem);
		min-width: 132px;
	}

	.tempo-share__label {
		display: inline;
	}
}


/* =========================================================
 * v0.4.1 - Hero Focus3 + meta autore nella Home
 * ======================================================= */

/* Meta autore per Home */
.tempo-home-author-meta {
	display: flex;
	align-items: center;
	gap: .7rem;
	margin-top: .7rem;
	min-width: 0;
}

.tempo-home-author-meta__avatar {
	flex: 0 0 auto;
	line-height: 0;
}

.tempo-home-author-meta__avatar-image,
.tempo-home-author-meta__avatar img {
	display: block;
	width: 36px;
	height: 36px;
	border-radius: 50%;
}

.tempo-home-author-meta__text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem .5rem;
	min-width: 0;
	color: #687078;
	font-size: 14px;
	line-height: 1.35;
}

.tempo-home-author-meta__name {
	font-weight: 700;
	color: #1f2937;
}

.tempo-home-author-meta__date {
	color: #687078;
	white-space: nowrap;
}

.tempo-home-author-meta__date::before {
	content: "•";
	display: inline-block;
	margin-right: .45rem;
	color: #98a2ad;
}

.tempo-home-list .tempo-home-author-meta,
.tempo-home-grid .tempo-home-author-meta {
	margin-top: .85rem;
}

/* Hero focus3: 1 grande + 2 piccole in colonna destra */
.tempo-home-hero--layout-focus3 {
	grid-template-columns: minmax(0, 1.75fr) minmax(290px, 1fr);
	gap: clamp(1.35rem, 2.4vw, 2rem);
	align-items: start;
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__lead-title {
	font-size: clamp(2rem, 3.3vw, 3.15rem);
	line-height: 1.04;
	max-width: 760px;
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__side {
	display: grid;
	gap: 1.2rem;
	border-top: 0;
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__side-item {
	display: block;
	padding: 0 0 1.25rem;
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__side-item:last-child {
	padding-bottom: 0;
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__side-media {
	display: block;
	width: 100%;
	margin-bottom: .85rem;
	aspect-ratio: 16 / 9;
}

.tempo-home-hero--layout-focus3.tempo-home-hero--thumb-contain .tempo-home-hero__side-media img,
.tempo-home-hero--layout-focus3.tempo-home-hero--thumb-crop .tempo-home-hero__side-media img {
	width: 100%;
	height: 100% !important;
	aspect-ratio: auto !important;
}

.tempo-home-hero--layout-focus3.tempo-home-hero--thumb-contain .tempo-home-hero__side-media img {
	object-fit: contain !important;
}

.tempo-home-hero--layout-focus3.tempo-home-hero--thumb-crop .tempo-home-hero__side-media img {
	object-fit: cover !important;
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__side-title {
	font-size: clamp(1.2rem, 1.55vw, 1.55rem);
	line-height: 1.12;
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__side .tempo-home-author-meta,
.tempo-home-hero--layout-focus3 .tempo-home-hero__lead .tempo-home-author-meta {
	margin-top: .75rem;
}

.tempo-home-hero--layout-focus3 .tempo-home-hero__meta {
	margin-top: .65rem;
}

.tempo-home-card__title {
	margin-bottom: .2rem;
}

.tempo-home-list__title {
	margin-bottom: .15rem;
}

.tempo-home-card .tempo-home-author-meta__text,
.tempo-home-list .tempo-home-author-meta__text {
	row-gap: .15rem;
}

@container tempo-hero (max-width: 980px) {
	.tempo-home-hero--layout-focus3 {
		grid-template-columns: minmax(0, 1.5fr) minmax(250px, .9fr);
		gap: 1.2rem;
	}

	.tempo-home-hero--layout-focus3 .tempo-home-hero__side-title {
		font-size: 1.15rem;
	}
}

@container tempo-hero (max-width: 720px) {
	.tempo-home-hero--layout-focus3 {
		display: block;
	}

	.tempo-home-hero--layout-focus3 .tempo-home-hero__lead {
		margin-bottom: 1.5rem;
	}

	.tempo-home-hero--layout-focus3 .tempo-home-hero__side {
		gap: 1.35rem;
	}
}

@media (max-width: 720px) {
	.tempo-home-hero--layout-focus3 {
		display: block;
	}
}


/* =========================================================
 * v0.4.2 - Sidebar disabilitata su mobile
 * ======================================================= */
@media (max-width: 781px) {
	.tempo-sidebar,
	.tempo-sidebar--dynamic {
		display: none !important;
	}

	/* Se la sidebar è dentro una colonna Gutenberg dedicata, evita spazi residui. */
	.wp-block-column:has(> .tempo-sidebar),
	.wp-block-column:has(> .tempo-sidebar--dynamic) {
		display: none !important;
	}
}


/* =========================================================
 * v0.4.3 - Categoria primaria minimale + blocchi dinamici
 * ======================================================= */

/* Solo testo della categoria primaria: niente pill, banner, sfondo o bordo. */
.tempo-primary-category {
	display: block;
	margin: .2rem 0 .55rem;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.35;
}

.tempo-primary-category a {
	display: inline;
	padding: 0;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: #0B5F7E;
	text-decoration: none;
}

.tempo-primary-category a:hover {
	color: #8F1730;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .16em;
}

.tempo-primary-category a:focus-visible {
	outline: 3px solid #111827;
	outline-offset: 3px;
	text-decoration: underline;
}

/* Neutralizza eventuali vecchi stili/pill rimasti in cache o template salvati. */
.tempo-category-pill,
.tempo-category-pill *,
.wp-block-post-terms.tempo-category-pill {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}


/* =========================================================
 * v0.4.4 - Yoast breadcrumbs + legacy shortcode rescue
 * ======================================================= */

.tempo-breadcrumbs--yoast {
	margin: 0 0 .7rem;
	padding: 0;
	color: #687078;
	font-size: 14px;
	line-height: 1.45;
}

.tempo-breadcrumbs--yoast a {
	color: #0B5F7E;
	text-decoration: underline;
	text-decoration-thickness: 1.5px;
	text-underline-offset: .15em;
}

.tempo-breadcrumbs--yoast a:hover {
	color: #8F1730;
}

/* La categoria primaria resta volutamente semplice testo/link. */
.tempo-primary-category {
	margin-bottom: .5rem;
	font-size: 14px;
	font-weight: 700;
}

.tempo-primary-category a {
	color: #334155;
	text-decoration: none;
}

.tempo-primary-category a:hover,
.tempo-primary-category a:focus-visible {
	color: #0B5F7E;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .15em;
}

/* Nessun contenitore correlati deve occupare spazio prima della Native ADV. */
.tempo-related,
.editoria-related,
.related-posts {
	display: none;
}


/* =========================================================
 * v0.4.5 - Header meteo + social
 * ======================================================= */

/* Desktop: logo | ricerca meteo | social */
.tempo-header__top {
	display: grid !important;
	grid-template-columns: minmax(210px, 270px) minmax(340px, 1fr) auto;
	gap: clamp(1rem, 2.2vw, 2rem);
	align-items: center;
	width: 100%;
	min-width: 0;
}

.tempo-brand,
.tempo-city-search,
.tempo-header-socials-wrap {
	min-width: 0;
}

.tempo-city-search--desktop {
	width: 100%;
	max-width: 590px;
	justify-self: center;
}

/* Lo shortcode [search_meteo] resta responsabile del form.
 * Il tema gestisce solo ingombro e allineamento. */
.tempo-city-search .mg-meteo-search {
	width: 100%;
	max-width: none;
	margin: 0;
	box-sizing: border-box;
}

/* Social: SVG inline, zero font esterne / JS. */
.tempo-header-socials-wrap {
	justify-self: end;
}

.tempo-header-socials {
	display: flex;
	flex-wrap: nowrap;
	gap: .55rem;
	align-items: center;
	justify-content: flex-end;
}

.tempo-header-socials__link {
	display: inline-flex;
	width: 44px;
	height: 44px;
	flex: 0 0 44px;
	align-items: center;
	justify-content: center;
	border: 2px solid transparent;
	border-radius: 6px;
	color: #ffffff !important;
	text-decoration: none !important;
	transition: filter .15s ease, transform .15s ease;
}

.tempo-header-socials__link svg {
	display: block;
	width: 23px;
	height: 23px;
}

.tempo-header-socials__link--facebook {
	background: #166FE5;
}

.tempo-header-socials__link--instagram {
	background: #A3136D;
}

.tempo-header-socials__link--x {
	background: #111111;
}

.tempo-header-socials__link--rss {
	background: #A8430A;
}

.tempo-header-socials__link:hover {
	filter: brightness(.86);
	color: #ffffff !important;
}

.tempo-header-socials__link:focus-visible {
	outline: 3px solid #111827;
	outline-offset: 3px;
}

/* Tablet: ricerca resta centrale, social più compatti. */
@media (max-width: 1020px) {
	.tempo-header__top {
		grid-template-columns: minmax(180px, 220px) minmax(280px, 1fr) auto;
		gap: .9rem;
	}

	.tempo-header-socials {
		gap: .35rem;
	}

	.tempo-header-socials__link {
		width: 40px;
		height: 40px;
		flex-basis: 40px;
	}

	.tempo-header-socials__link svg {
		width: 21px;
		height: 21px;
	}
}

/* Smartphone: logo + social sopra, ricerca meteo a tutta larghezza sotto. */
@media (max-width: 781px) {
	.tempo-header__top {
		grid-template-columns: minmax(0, 1fr) auto;
		gap: .75rem;
		min-height: 72px;
		padding-inline: 12px;
	}

	.tempo-city-search--desktop {
		display: none !important;
	}

	.tempo-header-socials-wrap {
		display: block;
	}

	.tempo-header-socials {
		gap: .3rem;
	}

	.tempo-header-socials__link {
		width: 38px;
		height: 38px;
		flex-basis: 38px;
		border-radius: 5px;
	}

	.tempo-header-socials__link svg {
		width: 20px;
		height: 20px;
	}

	.tempo-city-search--mobile {
		display: block;
		width: 100%;
		padding: 0 12px 12px;
		box-sizing: border-box;
	}

	.tempo-city-search--mobile .mg-meteo-search {
		width: 100%;
	}
}

/* Telefoni molto stretti: social sotto il logo per evitare compressioni. */
@media (max-width: 520px) {
	.tempo-header__top {
		grid-template-columns: 1fr;
		justify-items: center;
		padding-top: .75rem;
	}

	.tempo-brand {
		justify-self: center;
	}

	.tempo-header-socials-wrap {
		justify-self: center;
	}

	.tempo-header-socials {
		justify-content: center;
	}
}


/* =========================================================
 * v0.4.6 - compatibilità MU Meteo Foxiz + sottotitolo reale
 * ======================================================= */

/* Il MU principale nasconde questo wrapper sopra 767px perché era pensato
 * per Foxiz. Nel nostro slot mobile lo rendiamo sempre disponibile quando
 * la UI mobile del tema è attiva. */
.tempo-city-search--mobile .meteo-mobile-search-header {
	display: block !important;
	width: 100%;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
}

.tempo-city-search--mobile .meteo-mobile-search-header .mg-meteo-search {
	width: 100%;
	max-width: none;
	margin: 0;
}

/* Sottotitolo editoriale sotto H1: nessun badge o box. */
.tempo-article-header .tempo-deck {
	margin-top: .65rem;
	margin-bottom: 1.1rem;
	max-width: 1100px;
	color: #374151;
	font-size: clamp(1.18rem, 1.7vw, 1.5rem);
	font-weight: 400;
	line-height: 1.48;
}


/* =========================================================
 * v0.4.7 - Mobile header pulito + social nel footer
 * ======================================================= */

/* Mobile structure hidden on desktop. */
.tempo-header__mobile-row,
.tempo-footer-socials-mobile {
	display: none;
}

/* Desktop remains unchanged. */
.tempo-header__top--desktop {
	display: grid !important;
}

.tempo-header-socials-wrap--desktop {
	display: block;
}

/* Mobile: hamburger + logo, search underneath, no social in header. */
@media (max-width: 781px) {
	.tempo-header__top--desktop,
	.tempo-nav--desktop,
	.tempo-header-socials-wrap--desktop {
		display: none !important;
	}

	.tempo-header__mobile-row {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr);
		gap: .75rem;
		align-items: center;
		min-height: 70px;
		padding: .55rem 12px .35rem;
		box-sizing: border-box;
	}

	.tempo-mobile-navigation {
		justify-self: start;
		min-width: 44px;
	}

	.tempo-mobile-navigation .wp-block-navigation__responsive-container-open,
	.tempo-mobile-navigation .wp-block-navigation__responsive-container-close {
		display: inline-flex;
		width: 44px;
		height: 44px;
		align-items: center;
		justify-content: center;
		padding: 0;
		color: #0f172a;
		background: transparent;
		border-radius: 6px;
	}

	.tempo-mobile-navigation .wp-block-navigation__responsive-container-open:focus-visible,
	.tempo-mobile-navigation .wp-block-navigation__responsive-container-close:focus-visible {
		outline: 3px solid #111827;
		outline-offset: 2px;
	}

	.tempo-brand--mobile {
		justify-self: start;
		min-width: 0;
	}

	.tempo-brand--mobile .wp-block-site-logo {
		margin: 0;
	}

	.tempo-brand--mobile .wp-block-site-logo img {
		display: block;
		width: auto;
		max-width: 185px;
		max-height: 54px;
		object-fit: contain;
	}

	.tempo-city-search--mobile {
		display: block !important;
		width: 100%;
		padding: 0 12px 12px;
		box-sizing: border-box;
	}

	/* Social only in footer on mobile. */
	.tempo-footer-socials-mobile {
		display: block;
		padding: .25rem 12px 1.25rem;
	}

	.tempo-footer-socials-mobile .wp-block-heading {
		margin: 0 0 .7rem;
		color: #334155;
		font-weight: 800;
	}

	.tempo-footer-socials-mobile .tempo-header-socials {
		justify-content: center;
		gap: .55rem;
	}

	.tempo-footer-socials-mobile .tempo-header-socials__link {
		width: 44px;
		height: 44px;
		flex-basis: 44px;
	}
}

/* Very small phones: keep hamburger/logo row compact. */
@media (max-width: 420px) {
	.tempo-header__mobile-row {
		grid-template-columns: 42px minmax(0, 1fr);
		gap: .55rem;
	}

	.tempo-brand--mobile .wp-block-site-logo img {
		max-width: 165px;
	}
}


/* =========================================================
 * v0.4.9 - Menu selezionabile + mobile zero-JS
 * ======================================================= */

.tempo-main-menu--desktop,
.tempo-main-menu--desktop .tempo-main-menu__list {
	width: 100%;
}

.tempo-main-menu__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tempo-main-menu__list--desktop {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: clamp(.9rem, 2vw, 1.8rem);
}

.tempo-main-menu__list--desktop > li {
	position: relative;
	margin: 0;
}

.tempo-main-menu__list--desktop a {
	display: flex;
	min-height: 48px;
	align-items: center;
	padding: .65rem .15rem;
	color: #fff !important;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
}

.tempo-main-menu__list--desktop a:hover,
.tempo-main-menu__list--desktop a:focus-visible,
.tempo-main-menu__list--desktop .current-menu-item > a,
.tempo-main-menu__list--desktop .current-menu-ancestor > a {
	text-decoration: underline !important;
	text-decoration-thickness: 2px !important;
	text-underline-offset: .3em;
}

.tempo-main-menu__list--desktop .sub-menu {
	position: absolute;
	z-index: 1000;
	top: calc(100% - 2px);
	left: 0;
	display: none;
	min-width: 230px;
	margin: 0;
	padding: .4rem 0;
	list-style: none;
	background: #fff;
	border: 1px solid #d7dde3;
	box-shadow: 0 12px 28px rgba(15, 23, 42, .15);
}

.tempo-main-menu__list--desktop li:hover > .sub-menu,
.tempo-main-menu__list--desktop li:focus-within > .sub-menu {
	display: block;
}

.tempo-main-menu__list--desktop .sub-menu a {
	min-height: 44px;
	padding: .7rem 1rem;
	color: #172033 !important;
	font-size: 15px;
	font-weight: 650;
}

.tempo-main-menu__list--desktop .sub-menu a:hover,
.tempo-main-menu__list--desktop .sub-menu a:focus-visible {
	color: #0B5F7E !important;
	background: #f4f7f9;
}

.tempo-mobile-menu {
	display: none;
}

@media (max-width: 781px) {
	.tempo-mobile-menu {
		display: block;
		position: static;
		justify-self: start;
		margin: 0;
	}

	.tempo-mobile-menu__toggle {
		display: inline-flex;
		width: 44px;
		height: 44px;
		align-items: center;
		justify-content: center;
		padding: 0;
		color: #0f172a;
		background: transparent;
		border: 0;
		border-radius: 6px;
		cursor: pointer;
		list-style: none;
	}

	.tempo-mobile-menu__toggle::-webkit-details-marker {
		display: none;
	}

	.tempo-mobile-menu__toggle::marker {
		content: "";
	}

	.tempo-mobile-menu__icon,
	.tempo-mobile-menu__icon svg {
		display: block;
		width: 26px;
		height: 26px;
	}

	.tempo-mobile-menu__toggle:focus-visible {
		outline: 3px solid #111827;
		outline-offset: 2px;
	}

	.tempo-mobile-menu__panel {
		position: absolute;
		z-index: 1500;
		top: 100%;
		left: 0;
		right: 0;
		max-height: min(72vh, 620px);
		overflow-y: auto;
		padding: .5rem 12px .9rem;
		background: #fff;
		border-top: 1px solid #e2e8f0;
		border-bottom: 1px solid #d7dde3;
		box-shadow: 0 14px 28px rgba(15, 23, 42, .16);
	}

	.tempo-main-menu__list--mobile,
	.tempo-main-menu__list--mobile .sub-menu {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.tempo-main-menu__list--mobile > li {
		border-bottom: 1px solid #e5e7eb;
	}

	.tempo-main-menu__list--mobile a {
		display: flex;
		min-height: 48px;
		align-items: center;
		padding: .72rem .35rem;
		color: #172033 !important;
		font-size: 16px;
		font-weight: 750;
		line-height: 1.25;
		text-decoration: none !important;
	}

	.tempo-main-menu__list--mobile .sub-menu {
		padding: 0 0 .45rem 1rem;
	}

	.tempo-main-menu__list--mobile .sub-menu li {
		border-top: 1px solid #edf0f2;
	}

	.tempo-main-menu__list--mobile .sub-menu a {
		min-height: 44px;
		font-size: 15px;
		font-weight: 600;
	}

	.tempo-main-menu__list--mobile a:hover,
	.tempo-main-menu__list--mobile a:focus-visible,
	.tempo-main-menu__list--mobile .current-menu-item > a {
		color: #0B5F7E !important;
		background: #f6f8fa;
	}

	.tempo-header__mobile-row {
		position: relative;
		z-index: 1600;
	}
}


/* =========================================================
 * v0.5.0 - Gestione completa Menu WordPress
 * ======================================================= */

.tempo-footer-menu__list,
.tempo-generic-menu__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.tempo-footer-menu__list li,
.tempo-generic-menu__list li {
	margin: 0;
}

.tempo-footer-menu__list a {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	color: #334155;
	font-size: 15px;
	line-height: 1.35;
	text-decoration: none;
}

.tempo-footer-menu__list a:hover,
.tempo-footer-menu__list a:focus-visible,
.tempo-footer-menu__list .current-menu-item > a {
	color: #0B5F7E;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: .18em;
}

.tempo-footer-menu__list .sub-menu {
	margin: 0;
	padding-left: 1rem;
	list-style: none;
}

.tempo-generic-menu__list {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem 1rem;
}

.tempo-generic-menu__list a {
	color: #0B5F7E;
	text-decoration: underline;
	text-underline-offset: .15em;
}

@media (max-width: 781px) {
	.tempo-footer-grid {
		grid-template-columns: 1fr !important;
		gap: 1.4rem;
	}

	.tempo-footer-menu__list a {
		min-height: 44px;
	}
}


/* =========================================================
 * v0.5.2 - Menu selezionabile nel Site Editor + Autori
 * ======================================================= */

/* Archivio autore */
.tempo-author-page {
	padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(3rem, 6vw, 5rem);
}

.tempo-author-page__header {
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.tempo-author-header {
	display: grid;
	grid-template-columns: 128px minmax(0, 1fr);
	gap: clamp(1.25rem, 2.5vw, 2rem);
	align-items: center;
	padding-bottom: clamp(1.5rem, 3vw, 2.3rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-author-header__avatar-image {
	display: block;
	width: 128px;
	height: 128px;
	border-radius: 50%;
	object-fit: cover;
}

.tempo-author-header__eyebrow {
	margin: 0 0 .25rem;
	color: #687078;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.tempo-author-header__name {
	margin: 0;
	color: #172033;
	font-size: clamp(2rem, 4vw, 3.3rem);
	line-height: 1.08;
}

.tempo-author-header__bio {
	max-width: 820px;
	margin-top: .75rem;
	color: #374151;
	font-size: 18px;
	line-height: 1.62;
}

.tempo-author-header__bio p {
	margin: 0;
}

.tempo-author-page__articles-title {
	margin-bottom: 1.3rem;
	font-size: clamp(1.45rem, 2.4vw, 2rem);
}

.tempo-author-page .wp-block-post-template {
	display: grid;
	gap: 1.35rem;
}

.tempo-author-post {
	display: grid;
	grid-template-columns: minmax(180px, 280px) minmax(0, 1fr);
	gap: 1.25rem;
	align-items: start;
	padding-bottom: 1.35rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.tempo-author-post__image,
.tempo-author-post__image img {
	display: block;
	width: 100%;
}

.tempo-author-post__image img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.tempo-author-post__title {
	margin: 0;
	font-size: clamp(1.35rem, 2.1vw, 1.8rem);
	line-height: 1.15;
}

.tempo-author-post__title a {
	color: #172033;
	text-decoration: none;
}

.tempo-author-post__date {
	margin-top: .45rem;
	color: #687078;
	font-size: 14px;
}

.tempo-author-post__excerpt {
	margin-top: .7rem;
	color: #4b5563;
	font-size: 16px;
	line-height: 1.55;
}

@media (max-width: 781px) {
	.tempo-author-header {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 1rem;
		align-items: start;
	}

	.tempo-author-header__avatar-image {
		width: 86px;
		height: 86px;
	}

	.tempo-author-header__bio {
		grid-column: 1 / -1;
		font-size: 17px;
	}

	.tempo-author-post {
		grid-template-columns: 118px minmax(0, 1fr);
		gap: .85rem;
	}

	.tempo-author-post__excerpt {
		display: none;
	}

	.tempo-author-post__title {
		font-size: 1.2rem;
	}
}
