/* Tema Gardanotizie. Colori, caratteri e misure vengono da theme.json (--wp--preset--*):
   qui solo la forma dei moduli. Regole fisse: ogni modulo funziona con e senza foto,
   mai puntini di sospensione, altezze riservate dove carica qualcosa. */

:root {
	--gn-serif: var(--wp--preset--font-family--serif);
	--gn-sans: var(--wp--preset--font-family--sans);
	--gn-raggio: 6px;
	--gn-superficie: #ffffff;
}

/* tema scuro: si ridefiniscono i colori della tavolozza */
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		--wp--preset--color--carta: #0a1222;
		--wp--preset--color--carta-2: #111b2f;
		--wp--preset--color--inchiostro: #e9eef6;
		--wp--preset--color--tenue: #9ba7bd;
		--wp--preset--color--linea: #22304a;
		--wp--preset--color--blu: #8dbaf0;
		--wp--preset--color--velo: #102240;
		--wp--preset--color--accento: #f08a5d;
		--gn-superficie: #0f192c;
		color-scheme: dark;
	}
}
:root[data-theme="dark"] {
		--wp--preset--color--carta: #0a1222;
		--wp--preset--color--carta-2: #111b2f;
		--wp--preset--color--inchiostro: #e9eef6;
		--wp--preset--color--tenue: #9ba7bd;
		--wp--preset--color--linea: #22304a;
		--wp--preset--color--blu: #8dbaf0;
		--wp--preset--color--velo: #102240;
		--wp--preset--color--accento: #f08a5d;
		--gn-superficie: #0f192c;
		color-scheme: dark;
	}

body { overflow-x: hidden; -webkit-font-smoothing: antialiased; }
.gn-main { margin-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
a:where(:not(.wp-element-button)):hover { text-underline-offset: 3px; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--wp--preset--color--blu); outline-offset: 2px; }
ul.wp-block-post-template { list-style: none; padding: 0; margin: 0; }

/* ---------- testata ---------- */
.gn-testata { padding-top: 14px; border-bottom: 1px solid var(--wp--preset--color--linea); background: var(--wp--preset--color--carta); }
.gn-testata__riga { gap: 16px; }
.gn-testata__marchio { gap: 20px; }
.gn-logo img { height: 40px; width: auto; display: block; }
.gn-logo-testo { display: none; margin: 0; font: 800 26px/1 var(--wp--preset--font-family--marchio); text-transform: uppercase; }
.gn-data { margin: 0; font-size: 13px; color: var(--wp--preset--color--tenue); white-space: nowrap; }
.gn-testata__azioni { gap: 8px; }
.gn-lingue { margin: 0; display: flex; border: 1px solid var(--wp--preset--color--linea); border-radius: 99px; overflow: hidden; font: 600 12px/1 var(--gn-sans); }
.gn-lingue a { padding: 7px 10px; color: var(--wp--preset--color--tenue); }
.gn-lingue a[aria-current] { background: var(--wp--preset--color--inchiostro); color: var(--wp--preset--color--carta); }
.gn-cerca .wp-block-search__button { border-radius: 99px; width: 38px; height: 38px; padding: 0; display: grid; place-items: center; background: none; color: inherit; border: 1px solid var(--wp--preset--color--linea); }
.gn-nav { margin-top: 10px; overflow-x: auto; scrollbar-width: none; }
.gn-nav::-webkit-scrollbar { display: none; }
.gn-nav .wp-block-navigation__container { gap: 2px; flex-wrap: nowrap; }
.gn-nav .wp-block-navigation-item__content { display: block; padding: 12px 12px; white-space: nowrap; color: var(--wp--preset--color--tenue); }
.gn-nav .wp-block-navigation-item__content:hover, .gn-nav .current-menu-item > a { color: var(--wp--preset--color--inchiostro); box-shadow: inset 0 -2px 0 var(--wp--preset--color--accento); text-decoration: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .gn-logo { display: none; }
	:root:not([data-theme="light"]) .gn-logo-testo { display: block; }
	:root:not([data-theme="light"]) .gn-logo-testo a { color: #fff; }
}
:root[data-theme="dark"] .gn-logo { display: none; }
:root[data-theme="dark"] .gn-logo-testo { display: block; }
:root[data-theme="dark"] .gn-logo-testo a { color: #fff; }

/* ---------- elementi comuni ---------- */
.gn-sezione { padding-top: clamp(28px, 4vw, 48px); padding-bottom: clamp(28px, 4vw, 48px); }
.gn-sezione + .gn-sezione { border-top: 1px solid var(--wp--preset--color--linea); }
.gn-sezione__testa { margin-bottom: 20px; gap: 16px; }
.gn-sez { margin: 0 0 20px; font-size: clamp(22px, 2.4vw, 28px); }
.gn-sezione__testa .gn-sez { margin-bottom: 0; }
.gn-sez small, .gn-etichetta { display: block; margin: 0 0 8px; font: 700 11px/1 var(--gn-sans); letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--accento); }
.gn-etichetta { color: var(--wp--preset--color--inchiostro); font-size: 12px; }
.gn-tutti { margin: 0; font: 600 13px/1 var(--gn-sans); }
.gn-tutti a { color: var(--wp--preset--color--blu); }
.gn-occhiello, .gn-occhiello a { margin: 0; font: 700 11px/1.2 var(--gn-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--blu); }
.gn-occhiello .wp-block-post-terms__separator { color: var(--wp--preset--color--tenue); }
.gn-occhiello--chiaro, .gn-occhiello--chiaro a { color: var(--wp--preset--color--azzurro); }
.gn-foto { margin: 0; overflow: hidden; border-radius: var(--gn-raggio); background: var(--wp--preset--color--carta-2); }
.gn-foto img { transition: transform .5s ease; }
a:hover > .gn-foto img, .gn-foto a:hover img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .gn-foto img { transition: none; } }

.gn-griglia { display: grid; gap: 24px; }
.gn-griglia--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gn-griglia--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* scheda: con foto e senza foto */
.gn-scheda { display: grid; gap: 10px; align-content: start; height: 100%; }
.gn-scheda > * { margin: 0; }
.gn-scheda__t { font-size: 19px; line-height: 1.22; }
.gn-scheda__e { font-size: 15px; }
.gn-scheda__e p { margin: 0; }
.gn-scheda:not(:has(.gn-foto)) { padding: 20px 20px 22px; border-radius: var(--gn-raggio); background: var(--wp--preset--color--carta-2); border-top: 3px solid var(--wp--preset--color--accento); }
.gn-scheda:not(:has(.gn-foto)) .gn-scheda__t { font-size: 23px; line-height: 1.18; }

/* ---------- Brevi ---------- */
.gn-brevi { background: var(--gn-superficie); border-bottom: 1px solid var(--wp--preset--color--linea); }
.gn-brevi__riga { gap: 0; align-items: stretch; }
.gn-brevi__etichetta { margin: 0; display: flex; align-items: center; gap: 8px; padding-right: 16px; border-right: 1px solid var(--wp--preset--color--linea); font: 700 12px/1 var(--gn-sans); letter-spacing: .08em; text-transform: uppercase; }
.gn-brevi__etichetta a { color: var(--wp--preset--color--accento); }
.gn-brevi__etichetta::before { content: ""; width: 8px; height: 8px; border-radius: 99px; background: var(--wp--preset--color--accento); animation: gn-pulsa 2s infinite; }
@keyframes gn-pulsa { 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .gn-brevi__etichetta::before { animation: none; } }
.gn-brevi__query { min-width: 0; flex: 1; margin: 0; }
.gn-brevi__elenco { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.gn-brevi__elenco::-webkit-scrollbar { display: none; }
.gn-brevi__elenco > li { flex: 0 0 300px; scroll-snap-align: start; padding: 12px 16px; border-right: 1px solid var(--wp--preset--color--linea); display: flex; flex-wrap: wrap; gap: 4px 8px; align-content: start; }
.gn-brevi__ora { font-weight: 700; font-variant-numeric: tabular-nums; }
.gn-brevi__luogo, .gn-brevi__luogo a { font: 600 12px/1.3 var(--gn-sans); color: var(--wp--preset--color--blu); text-transform: none; letter-spacing: 0; }
.gn-brevi__t { flex-basis: 100%; margin: 0; font: 500 15px/1.3 var(--gn-serif); }

/* ---------- apertura e flusso ---------- */
.gn-apertura { gap: clamp(24px, 3vw, 48px); }
.gn-apertura__prima .wp-block-post-template > li { display: grid; gap: 12px; }
.gn-apertura__prima .gn-foto { border-radius: 10px; }
.gn-apertura__t { margin: 6px 0 0; font-size: clamp(30px, 3.6vw, 46px); line-height: 1.06; letter-spacing: -0.02em; }
.gn-apertura__e { font: 400 19px/1.45 var(--gn-serif); max-width: 62ch; }
.gn-apertura__e p { margin: 0; }
.gn-apertura__seconde { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--linea); }
.gn-flusso { border-left: 1px solid var(--wp--preset--color--linea); padding-left: clamp(16px, 2vw, 28px); }
.gn-flusso__elenco > li { position: relative; padding: 14px 0 14px 20px; border-bottom: 1px solid var(--wp--preset--color--linea); }
.gn-flusso__elenco > li::before { content: ""; position: absolute; left: 0; top: 21px; width: 7px; height: 7px; border-radius: 99px; background: var(--wp--preset--color--linea); }
.gn-flusso__elenco > li:first-child::before { background: var(--wp--preset--color--accento); }
.gn-flusso__meta { gap: 6px; font-size: 12px; }
.gn-flusso__meta .wp-block-post-terms, .gn-flusso__meta .wp-block-post-terms a { font: 600 12px/1.3 var(--gn-sans); text-transform: none; letter-spacing: 0; color: var(--wp--preset--color--tenue); }
.gn-flusso__meta .wp-block-post-date { font-size: 12px; }
.gn-flusso__meta > * { margin: 0; }
.gn-flusso__t { margin: 4px 0 0; font: 500 16px/1.3 var(--gn-serif); }

/* ---------- banda con foto ---------- */
.gn-banda-storia { margin: 0; }
.gn-banda-storia .wp-block-post-template, .gn-banda-storia .wp-block-post-template > li { margin: 0; }
.gn-banda-storia__cover { min-height: clamp(380px, 52vw, 600px) !important; padding-top: 48px; padding-bottom: clamp(28px, 4vw, 48px); }
.gn-banda-storia__cover .wp-block-cover__background { background: linear-gradient(180deg, rgba(0,20,60,.05) 15%, rgba(0,18,50,.88) 100%) !important; opacity: 1 !important; }
.gn-banda-storia__t { margin: 10px 0 12px; max-width: 22ch; font-size: clamp(32px, 4.6vw, 58px); line-height: 1.02; letter-spacing: -0.02em; }
.gn-banda-storia__t a { color: #fff; }
.gn-banda-storia__e { max-width: 58ch; font: 400 19px/1.45 var(--gn-serif); color: #e6eefa; }
.gn-banda-storia__e p { margin: 0; }
.gn-pulsante-bianco { display: inline-block; margin-top: 18px; padding: 12px 18px; border-radius: var(--gn-raggio); background: #fff; color: var(--wp--preset--color--blu-notte) !important; font: 600 14px/1 var(--gn-sans); }

/* ---------- appuntamenti che scorrono ---------- */
.gn-scorri { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 66px) / 4); gap: 22px; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; }
.gn-scorri > li { scroll-snap-align: start; }

/* ---------- sponde ---------- */
.gn-sponde { gap: 0; }
.gn-sponda { padding: 0 clamp(16px, 2vw, 28px); border-left: 1px solid var(--wp--preset--color--linea); }
.gn-sponda:first-child { padding-left: 0; border-left: 0; }
.gn-sponda__t { margin: 0 0 12px; font-size: 20px; color: var(--wp--preset--color--blu); }
.gn-sponda__elenco > li { padding: 12px 0; border-top: 1px solid var(--wp--preset--color--linea); }
.gn-sponda__titolo { margin: 4px 0 0; font: 500 16px/1.3 var(--gn-serif); }
.gn-sponda__comuni { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 14px; }
.gn-sponda__comuni a { font-size: 12px; padding: 4px 10px; border-radius: 99px; background: var(--wp--preset--color--carta-2); }

/* ---------- Accadde, banda scura ---------- */
.gn-banda-accadde { margin: 0; padding-top: clamp(28px, 4vw, 48px); padding-bottom: clamp(32px, 4vw, 56px); background: #0d1526; color: #e9eef6; }
.gn-banda-accadde .gn-sez small { color: #f3a27d; }
.gn-banda-accadde .gn-tutti a { color: var(--wp--preset--color--azzurro); }
.gn-accadde > li { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.18); display: grid; gap: 10px; align-content: start; }
.gn-accadde__t { margin: 0; font: 600 20px/1.25 var(--gn-serif); }
.gn-accadde__t a { color: #fff; }

/* ---------- riquadri ---------- */
.gn-riquadro { padding: clamp(20px, 3vw, 32px); border-radius: 12px; border: 1px solid var(--wp--preset--color--linea); background: var(--gn-superficie); }
.gn-riquadro h3 { margin: 0 0 8px; font-size: 24px; }
.gn-riquadro p { color: var(--wp--preset--color--tenue); }

/* ---------- piede ---------- */
.gn-piede { margin-top: 32px; padding-top: 48px; padding-bottom: 32px; background: var(--wp--preset--color--blu); color: #d3e3f8; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .gn-piede { background: #07193d; }
}
:root[data-theme="dark"] .gn-piede { background: #07193d; }
.gn-piede a { color: #fff; }
.gn-piede__marchio { font: 800 26px/1 var(--wp--preset--font-family--marchio); text-transform: uppercase; }
.gn-piede__marchio b { color: var(--wp--preset--color--azzurro); }
.gn-piede__marchio a { font-weight: 300; }
.gn-piede__titolo { margin: 0 0 12px; font: 700 12px/1 var(--gn-sans); letter-spacing: .1em; text-transform: uppercase; color: #fff; }
.gn-piede__lista { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 14px; }
.gn-piede__fine { margin-top: 32px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.15); font-size: 12px; color: var(--wp--preset--color--azzurro); }

/* ---------- articolo ---------- */
.gn-articolo__testa { padding-top: clamp(28px, 4vw, 56px); padding-bottom: 24px; }
.gn-articolo__occhiello { gap: 10px; }
.gn-chip, .gn-chip a { margin: 0; font: 700 12px/1 var(--gn-sans); letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--blu); }
.gn-chip a { display: inline-block; padding: 7px 12px; border-radius: 99px; background: var(--wp--preset--color--velo); }
.gn-chip .wp-block-post-terms__separator { display: none; }
.gn-categoria, .gn-categoria a { margin: 0; color: var(--wp--preset--color--tenue); }
.gn-articolo__t { margin: 16px 0 16px; font-size: clamp(34px, 4.8vw, 58px); line-height: 1.04; letter-spacing: -0.022em; }
.gn-breve .gn-articolo__t { font-size: clamp(28px, 3.6vw, 40px); }
.gn-sommario { font: 400 clamp(19px, 2vw, 22px)/1.45 var(--gn-serif); color: var(--wp--preset--color--tenue); }
.gn-sommario p { margin: 0; }
.gn-breve .gn-sommario { display: none; }
.gn-firma { gap: 16px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--wp--preset--color--linea); font-size: 13px; color: var(--wp--preset--color--tenue); }
.gn-firma > * { margin: 0; }
.gn-firma__chi { display: flex; align-items: center; gap: 10px; font-size: 14px; color: var(--wp--preset--color--inchiostro); }
.gn-firma__chi i { width: 36px; height: 36px; border-radius: 99px; display: grid; place-items: center; background: var(--wp--preset--color--blu); color: #fff; font: 700 12px/1 var(--gn-sans); font-style: normal; }
.gn-senza-foto .gn-firma { border-bottom: 1px solid var(--wp--preset--color--linea); padding-bottom: 16px; }
.gn-articolo__foto { margin-top: 8px !important; }
.gn-articolo__foto img { border-radius: 14px; }
.gn-corpo { padding-top: 24px; }
.gn-corpo > p:first-of-type::first-letter { float: left; font: 600 4.1em/0.82 var(--gn-serif); margin: 0.06em 0.1em 0 0; color: var(--wp--preset--color--blu); }
.gn-breve .gn-corpo > p:first-of-type::first-letter { float: none; font: inherit; margin: 0; color: inherit; }
.gn-corpo h2 { position: relative; padding-left: 18px; margin-top: 1.6em; font-size: 26px; }
.gn-corpo h2::before { content: ""; position: absolute; left: 0; top: .18em; bottom: .18em; width: 4px; border-radius: 2px; background: var(--wp--preset--color--accento); }
.gn-corpo a { color: var(--wp--preset--color--blu); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.gn-corpo blockquote { margin: 1.6em 0; padding: 4px 0 4px 24px; border-left: 3px solid var(--wp--preset--color--blu); font-style: italic; }
.gn-corpo img { border-radius: var(--gn-raggio); height: auto; }
.gn-continua { margin-top: 32px; border-top: 1px solid var(--wp--preset--color--linea); }

/* ---------- archivi e pagina del Comune ---------- */
.gn-archivio__testa { padding-top: clamp(28px, 4vw, 56px); padding-bottom: 8px; border-bottom: 1px solid var(--wp--preset--color--linea); }
.gn-archivio__t { margin: 6px 0 14px; font-size: clamp(42px, 7vw, 88px); line-height: .95; letter-spacing: -0.03em; }
.gn-archivio__d { max-width: 60ch; color: var(--wp--preset--color--tenue); font: 400 18px/1.45 var(--gn-serif); }
.gn-elenco__righe > li { border-bottom: 1px solid var(--wp--preset--color--linea); }
.gn-riga { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 20px; padding: 20px 0; align-items: start; }
.gn-riga:not(:has(.gn-foto)) { grid-template-columns: minmax(0, 1fr); }
.gn-riga__testo { display: grid; gap: 6px; }
.gn-riga__testo > * { margin: 0; }
.gn-riga__t { font-size: 21px; line-height: 1.22; }
.gn-riga__e { font-size: 15px; }
.gn-riga__e p { margin: 0; }
.gn-paginazione { margin-top: 28px; gap: 6px; font: 600 14px/1 var(--gn-sans); }
.gn-paginazione a, .gn-paginazione .page-numbers { padding: 10px 14px; border-radius: 99px; border: 1px solid var(--wp--preset--color--linea); }
.gn-paginazione .current { background: var(--wp--preset--color--inchiostro); color: var(--wp--preset--color--carta); }

/* ---------- telefono ---------- */
@media (max-width: 1000px) {
	.gn-apertura { flex-wrap: wrap !important; }
	.gn-apertura > .wp-block-column { flex-basis: 100% !important; }
	.gn-flusso { border-left: 0; padding-left: 0; border-top: 1px solid var(--wp--preset--color--linea); padding-top: 20px; }
	.gn-griglia--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gn-scorri { grid-auto-columns: 46%; }
	.gn-sponde { flex-wrap: wrap !important; gap: 28px; }
	.gn-sponda { flex-basis: 100% !important; padding: 0; border-left: 0; }
}
@media (max-width: 640px) {
	.gn-data, .gn-lingue { display: none; }
	.gn-logo img { height: 32px; }
	.gn-brevi__etichetta { display: none; }
	.gn-brevi__elenco > li { flex-basis: 78vw; }
	.gn-griglia--2, .gn-griglia--3 { grid-template-columns: minmax(0, 1fr); }
	.gn-apertura__prima .gn-foto { margin-inline: calc(var(--wp--style--root--padding-left) * -1); border-radius: 0; }
	.gn-griglia .gn-scheda:has(.gn-foto) { grid-template-columns: 96px minmax(0, 1fr); column-gap: 12px; }
	.gn-griglia .gn-scheda:has(.gn-foto) .gn-foto { grid-row: span 3; aspect-ratio: 1 / 1; }
	.gn-griglia .gn-scheda:has(.gn-foto) .gn-foto img { aspect-ratio: 1 / 1 !important; }
	.gn-griglia .gn-scheda:has(.gn-foto) .gn-scheda__e { display: none; }
	.gn-scorri { grid-auto-columns: 78%; }
	.gn-riga { grid-template-columns: 96px minmax(0, 1fr); gap: 12px; }
	.gn-riga .gn-foto img { aspect-ratio: 1 / 1 !important; }
	.gn-riga .gn-riga__e { display: none; }
	.gn-riga:not(:has(.gn-foto)) .gn-riga__e { display: block; }
	.gn-riga__t { font-size: 18px; }
	.gn-articolo__foto img { border-radius: 0; }
	.gn-corpo > p:first-of-type::first-letter { font-size: 3.4em; }
	.gn-firma .wp-block-post-time-to-read { display: none; }
}
.gn-senza-foto .gn-corpo { padding-top: 4px; }
.gn-senza-foto .gn-articolo__testa { padding-bottom: 8px; }

/* ---------- passo 3: blocchi del plugin dentro il tema ---------- */
.gn-sezione--stretta { padding-top: 0; }
.gn-sezione--stretta .gn-sp { margin-top: 0; }
.gn-sezione + .gn-sezione--stretta { border-top: 0; }
.gn-comune { gap: clamp(24px, 3vw, 48px); }
.gn-comune__lato .gn-sp { margin-top: 20px; position: sticky; top: 20px; }
@media (max-width: 1000px) {
	.gn-comune { flex-wrap: wrap !important; }
	.gn-comune > .wp-block-column { flex-basis: 100% !important; }
}

/* ---------- allineamento: le griglie di post non ereditano i margini del flusso ---------- */
.wp-block-post-template.gn-griglia > li, .wp-block-post-template.gn-scorri > li, .wp-block-post-template.gn-brevi__elenco > li,
.wp-block-post-template.gn-accadde > li, .gn-griglia--4 > li { margin-block-start: 0 !important; }
.gn-scheda { align-content: start; }

/* ---------- selettore chiaro/scuro ---------- */
.gn-tema { width: 38px; height: 38px; display: grid; place-items: center; padding: 0; border-radius: 99px; border: 1px solid var(--wp--preset--color--linea); background: none; color: var(--wp--preset--color--inchiostro); cursor: pointer; }
.gn-tema svg { width: 18px; height: 18px; }
.gn-tema .gn-tema__sole { display: none; }
:root[data-theme="dark"] .gn-tema .gn-tema__sole { display: block; }
:root[data-theme="dark"] .gn-tema .gn-tema__luna { display: none; }
@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) .gn-tema .gn-tema__sole { display: block; }
	:root:not([data-theme="light"]) .gn-tema .gn-tema__luna { display: none; }
}

/* ---------- banda blu della stagione ---------- */
.gn-banda-stagione { margin: 0; padding-top: clamp(32px, 4vw, 56px); padding-bottom: clamp(32px, 4vw, 56px); background: var(--wp--preset--color--blu); color: #fff; }
:root[data-theme="dark"] .gn-banda-stagione { background: #07193d; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .gn-banda-stagione { background: #07193d; } }
.gn-banda-stagione .gn-sez small { color: var(--wp--preset--color--azzurro); }
.gn-banda-stagione__intro { max-width: 60ch; margin: -6px 0 24px; font: 400 18px/1.45 var(--gn-serif); color: #d3e3f8; }
.gn-banda-stagione .gn-occhiello, .gn-banda-stagione .gn-occhiello a { color: var(--wp--preset--color--azzurro); }
.gn-banda-stagione .gn-scheda__t a { color: #fff; }
.gn-banda-stagione .gn-scheda__e { color: #d3e3f8; }

/* ---------- sezione solo testo, in due colonne ---------- */
.gn-testi { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; }
.gn-testi > li { margin: 0 !important; padding: 14px 0; border-top: 1px solid var(--wp--preset--color--linea); }
.gn-testi__meta { gap: 8px; }
.gn-testi__meta > * { margin: 0; font-size: 12px; }
.gn-testi__meta .wp-block-post-terms, .gn-testi__meta .wp-block-post-terms a { font: 600 12px/1.3 var(--gn-sans); color: var(--wp--preset--color--blu); text-transform: none; letter-spacing: 0; }
.gn-testi__t { margin: 4px 0 0; font: 500 18px/1.3 var(--gn-serif); }
@media (max-width: 640px) { .gn-testi { grid-template-columns: minmax(0, 1fr); } }

/* ---------- pagina del Comune ---------- */
.gn-comune { margin-top: 28px; }
.gn-comune__apertura .wp-block-post-template > li { display: grid; gap: 12px; }
.gn-comune__apertura .gn-foto img { border-radius: 10px; }
.gn-comune__sez { margin-top: 40px; padding-top: 14px; border-top: 3px solid var(--wp--preset--color--inchiostro); }
.gn-comune__lato { display: grid; gap: 20px; align-content: start; }
.gn-comune__lato .gn-sp { position: static; margin: 0; }
.gn-testi--una { grid-template-columns: minmax(0, 1fr); }
.gn-testi__meta .wp-block-post-terms.taxonomy-category, .gn-testi__meta .taxonomy-category a { color: var(--wp--preset--color--tenue); }

/* ---------- affinamento prima pagina ---------- */
.gn-riquadro--gn { gap: 20px 40px; padding: 24px 28px; }
.gn-riquadro--gn h3 { font-size: 22px; }
.gn-riquadro--gn p { margin: 0; max-width: 62ch; }
.gn-sezione--stretta { padding-top: 8px; padding-bottom: 8px; }
.gn-sezione--stretta + .gn-sezione { border-top: 0; }

/* ================= densità: meno vuoto, senza schiacciare (12/10) ================= */
.gn-sezione { padding-top: clamp(22px, 2.6vw, 34px); padding-bottom: clamp(22px, 2.6vw, 34px); }
.gn-sez { margin-bottom: 14px; font-size: clamp(21px, 2vw, 25px); }
.gn-sezione__testa { margin-bottom: 14px; }
.gn-griglia { gap: 20px; }

/* apertura su tre colonne */
.gn-apertura { gap: clamp(20px, 2.2vw, 32px); }
.gn-apertura__t { font-size: clamp(28px, 2.6vw, 38px); }
.gn-apertura__e { font-size: 17px; }
.gn-apertura__col2 { border-left: 1px solid var(--wp--preset--color--linea); padding-left: clamp(16px, 1.6vw, 24px); }
.gn-apertura__col2 .gn-apertura__seconde { margin: 0; padding: 0; border: 0; }
.gn-seconde { display: grid; gap: 18px; }
.gn-seconde > li { margin: 0 !important; }
.gn-seconde .gn-scheda { gap: 8px; }
.gn-seconde .gn-scheda__t { font-size: 17px; line-height: 1.25; }
.gn-seconde .gn-scheda__e { display: none; }
.gn-seconde > li + li { padding-top: 18px; border-top: 1px solid var(--wp--preset--color--linea); }
.gn-flusso__elenco > li { padding: 10px 0 10px 18px; }
.gn-flusso__elenco > li::before { top: 17px; }
.gn-flusso__t { font-size: 15px; }

/* griglie a quattro e schede che scorrono: solo titolo */
.gn-griglia--4 .gn-scheda__e, .gn-scorri .gn-scheda__e, .gn-banda-stagione .gn-scheda__e { display: none; }
.gn-griglia--4 .gn-scheda__t, .gn-scorri .gn-scheda__t { font-size: 17px; }

/* bande meno alte */
.gn-banda-storia__cover { min-height: clamp(320px, 34vw, 440px) !important; padding-top: 32px; padding-bottom: 28px; }
.gn-banda-storia__t { font-size: clamp(28px, 3.4vw, 46px); }
.gn-banda-stagione, .gn-banda-accadde { padding-top: clamp(24px, 3vw, 40px); padding-bottom: clamp(24px, 3vw, 40px); }
.gn-banda-stagione__intro { margin-bottom: 16px; font-size: 16px; }

/* il mio Comune e sponsor più compatti */
.gn-mio-comune { padding: clamp(16px, 2vw, 24px); margin-top: 16px; }
.gn-mio-comune .gn-scheda__t { font-size: 16px; }
.gn-mio-comune__testa { margin-bottom: 14px; }

/* notizie solo testo: tre colonne, righe fitte */
.gn-testi { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 28px; }
.gn-testi > li { padding: 10px 0; }
.gn-testi__t { font-size: 16px; line-height: 1.28; }
.gn-testi__meta > * { font-size: 11px; }
.gn-testi--una { grid-template-columns: minmax(0, 1fr); }

/* sponde più fitte */
.gn-sponda__elenco > li { padding: 9px 0; }
.gn-sponda__titolo { font-size: 15px; }

@media (max-width: 1000px) {
	.gn-apertura__col2 { border-left: 0; padding-left: 0; }
	.gn-seconde { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.gn-seconde > li + li { padding-top: 0; border-top: 0; }
	.gn-testi { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
	.gn-seconde { grid-template-columns: minmax(0, 1fr); }
	.gn-seconde .gn-scheda:has(.gn-foto) { grid-template-columns: 96px minmax(0, 1fr); column-gap: 12px; }
	.gn-seconde .gn-scheda:has(.gn-foto) .gn-foto { grid-row: span 3; }
	.gn-seconde .gn-foto img { aspect-ratio: 1 / 1 !important; }
	.gn-seconde > li + li { padding-top: 14px; border-top: 1px solid var(--wp--preset--color--linea); }
	.gn-testi { grid-template-columns: minmax(0, 1fr); }
}

/* ================= secondo giro di densità (12/10) ================= */
.gn-apertura__prima .gn-foto img { aspect-ratio: 4 / 3; }
.gn-sezione { padding-top: clamp(18px, 2vw, 28px); padding-bottom: clamp(18px, 2vw, 28px); }
.gn-sezione--stretta { padding-top: 4px; padding-bottom: 4px; }
.gn-sezione--stretta .gn-sp, .gn-sezione--stretta .gn-mio-comune { margin: 0; }

/* il mio Comune accanto allo sponsor: una fascia sola */
.gn-duo { gap: 20px; align-items: stretch !important; }
.gn-duo > .wp-block-column { display: flex; flex-direction: column; }
.gn-duo .gn-mio-comune { flex: 1; }
.gn-duo .gn-sp { flex: 1; min-height: 0; }
.gn-duo .gn-sp--fascia .gn-sp__corpo { grid-template-columns: 1fr; align-content: center; height: 100%; padding: 22px; }
.gn-duo .gn-sp--fascia .gn-sp__cta { justify-self: start; }
.gn-mio-comune__t { font-size: 22px; margin-bottom: 6px; }
.gn-mio-comune__testo { font-size: 15px; margin-bottom: 12px; }
.gn-pillola { height: 30px; padding: 0 12px; font-size: 12px; }

/* agenda: niente barra di scorrimento; sul computer quattro colonne ferme */
.gn-scorri { scrollbar-width: none; }
.gn-scorri::-webkit-scrollbar { display: none; }
@media (min-width: 1001px) {
	.gn-scorri { grid-auto-flow: row; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
	.gn-scorri > li:nth-child(n+5) { display: none; }
}
@media (max-width: 1000px) { .gn-duo { flex-wrap: wrap !important; } .gn-duo > .wp-block-column { flex-basis: 100% !important; } }

/* Accadde sul Garda: segue il tema chiaro/scuro come il resto della pagina, con le foto */
.gn-banda-accadde { background: var(--wp--preset--color--velo); color: var(--wp--preset--color--inchiostro); }
.gn-banda-accadde .gn-sez small { color: var(--wp--preset--color--accento); }
.gn-banda-accadde .gn-tutti a { color: var(--wp--preset--color--blu); }
.gn-accadde > li { padding-top: 0; border-top: 0; gap: 8px; }
.gn-accadde .gn-foto { margin: 0 0 4px; }
.gn-accadde .gn-foto img { border-radius: 10px; aspect-ratio: 3 / 2; object-fit: cover; width: 100%; }
.gn-accadde__t { font-size: 19px; }
.gn-accadde__t a { color: var(--wp--preset--color--inchiostro); }
.gn-banda-accadde .gn-sp-intestazione { background: var(--wp--preset--color--carta); color: var(--wp--preset--color--inchiostro); }
.gn-banda-accadde .gn-sp-intestazione span { color: var(--wp--preset--color--tenue); }
/* un'intestazione sponsor non deve mai uscire dalla colonna */
.is-layout-constrained > .gn-sp-intestazione { display: flex; width: fit-content; }
.gn-banda-accadde .gn-sezione__testa { justify-content: flex-start; }
.gn-banda-accadde .gn-sezione__testa .gn-tutti { margin-left: auto; }
@media (max-width: 640px) {
	.gn-accadde > li { grid-template-columns: 104px minmax(0, 1fr); column-gap: 12px; row-gap: 4px; align-items: start; }
	.gn-accadde .gn-foto { grid-row: 1 / span 2; margin: 0; }
	.gn-accadde .gn-foto img { aspect-ratio: 1 / 1; }
	.gn-accadde__t { font-size: 17px; }
	.gn-banda-accadde .gn-sezione__testa .gn-tutti { margin-left: 0; }
}
