/*
Theme Name: Giornale
Theme URI: https://example.com/
Author: Redazione
Description: Tema da giornale online (scuro, a sezioni) con ticker delle ultime notizie, spazi pubblicitari gestiti da pannello (immagini, GIF, video in loop, banner HTML5), schede "Cosa sappiamo" e livello di verifica. Pensato per ricevere gli articoli dal motore NOW24 tramite le API di WordPress.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: giornale
*/

/* ── Colori e caratteri ─────────────────────────────────────────────────── */
:root {
  --g-bg: #0b0e14;
  --g-surface: #12161f;
  --g-surface-2: #191f2c;
  --g-border: #232b3a;
  --g-text: #f2f4f8;
  --g-muted: #8a93a8;
  --g-brand: #7b5cff;
  --g-live: #ff8a00;
  --g-on-brand: #ffffff;
  --g-header-bg: rgba(11, 14, 20, .92);
  --g-line: rgba(35, 43, 58, .6);
  --g-hover: #ffffff;
  --g-article-text: #dde2ea;
  --g-dots: rgba(242, 244, 248, .06);
  --g-footer-bg: rgba(18, 22, 31, .4);
  --g-display: "Big Shoulders Display", "Big Shoulders", "Oswald", "Bebas Neue", Impact, "Arial Narrow", sans-serif;
  --g-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --g-serif: "Source Serif 4", Georgia, "Times New Roman", serif;
  --g-mono: "IBM Plex Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--g-bg);
  color: var(--g-text);
  font-family: var(--g-body);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
img, video, iframe { max-width: 100%; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, h4 { margin: 0; }
p { margin: 0; }
ul, ol { margin: 0; padding: 0; list-style: none; }
.g-skip { position: absolute; left: -9999px; top: 0; background: var(--g-brand); color: var(--g-on-brand); padding: .5rem 1rem; z-index: 100; }
.g-skip:focus { left: 0; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

.g-wrap { width: 100%; max-width: 72rem; margin: 0 auto; padding: 0 1rem; }
@media (min-width: 640px) { .g-wrap { padding: 0 1.5rem; } }
.g-mono { font-family: var(--g-mono); text-transform: uppercase; letter-spacing: .08em; font-size: 11px; color: var(--g-muted); }

/* ── Striscia superiore e testata ───────────────────────────────────────── */
.g-topbar { border-bottom: 1px solid var(--g-line); background: var(--g-bg); }
.g-topbar__in { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: .375rem; padding-bottom: .375rem; }
.g-date { font-family: var(--g-mono); font-size: 11px; letter-spacing: .06em; color: var(--g-muted); text-transform: capitalize; white-space: nowrap; }

.g-header { position: sticky; top: 0; z-index: 20; border-bottom: 1px solid var(--g-line); background: var(--g-header-bg); backdrop-filter: blur(8px); }
.admin-bar .g-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .g-header { top: 46px; } }
.g-header__in { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-top: 1rem; padding-bottom: 1rem; }
.g-logo { display: flex; align-items: center; flex-shrink: 0; }
.g-logo__text { font-family: var(--g-display); font-weight: 800; font-size: 1.875rem; line-height: 1; letter-spacing: -.01em; }
.g-logo img, .custom-logo { height: 36px; width: auto; max-width: 180px; object-fit: contain; }

/* Immagine del titolo: fascia centrata sopra il menu (non resta fissa quando si scorre). Altezza scelta dal pannello «Testata». */
.g-masthead { background: var(--g-bg); text-align: center; padding: 1rem 0 .875rem; }
.g-masthead__link { display: inline-block; max-width: 100%; }
.g-masthead__img { display: block; height: var(--g-mast-h, 100px); width: auto; max-width: 100%; object-fit: contain; margin: 0 auto; }
@media (max-width: 640px) { .g-masthead { padding: .625rem 0 .5rem; } .g-masthead__img { height: calc(var(--g-mast-h, 100px) * .62); } }
/* Testata in video: stesse misure dell'immagine; con il «movimento ridotto» si vede l'immagine di riserva (se c'è). */
.g-masthead__video { background: transparent; }
.g-masthead__poster { display: none; }
@media (prefers-reduced-motion: reduce) {
  .g-masthead__video + .g-masthead__poster { display: block; }
  .g-masthead__video:has(+ .g-masthead__poster) { display: none; }
}
/* Stili scuri: il logo è nero, quindi sta su una targa chiara. */
.g-masthead--plate .g-masthead__link { background: #fff; border-radius: 12px; padding: .5rem 1.25rem; }
/* Con l'immagine il nome scritto non serve: il menu sta al centro, gli strumenti a destra. */
.g-header--mast .g-logo { display: none; }
.g-header--mast .g-header__in { padding-top: .5rem; padding-bottom: .5rem; }
.g-header--mast .g-header__in::before { content: ""; flex: 1; }
/* Il menu non si taglia mai: se le sezioni non stanno su una riga vanno a capo, centrate (il menu orizzontale con barra nascosta tagliava la prima e l'ultima voce). */
.g-header--mast .g-nav { flex: 0 1 auto; min-width: 0; justify-content: center; font-size: 13px; letter-spacing: .07em; column-gap: 1.1rem; }
.g-header--mast .g-header__tools { flex: 1; justify-content: flex-end; }
/* Telefono: la lente sale nella striscia della data (senza una riga vuota) e la testata non resta fissa, perché il menu può occupare più righe. */
.g-topbar .g-searchlink--top { display: none; }
@media (max-width: 767px) {
  .g-header--mast { position: relative; }
  .g-header--mast .g-header__in { display: none; }
  .g-topbar .g-searchlink--top { display: flex; margin-left: auto; width: 1.75rem; height: 1.75rem; }
}

.g-nav { display: none; flex: 1; align-items: center; flex-wrap: wrap; gap: 0 1.25rem; font-family: var(--g-mono); font-size: 14px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--g-muted); }
.g-nav::-webkit-scrollbar { display: none; }
.g-nav a, .g-nav-mobile a { position: relative; white-space: nowrap; padding: .5rem 0; transition: color .2s; }
/* La scia: una linea con i due colori del sito che scorre sotto la voce quando ci passi sopra (esce dal lato opposto). */
.g-nav a::after, .g-nav-mobile a::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; border-radius: 2px; background: var(--sec, linear-gradient(90deg, var(--g-brand), var(--g-live))); transform: scaleX(0); transform-origin: right; transition: transform .28s ease; }
.g-nav a:hover::after, .g-nav a:focus-visible::after, .g-nav-mobile a:active::after, .g-nav-mobile a:focus-visible::after,
.g-nav a.is-current::after, .g-nav .current-menu-item > a::after, .g-nav .current-cat > a::after, .g-nav-mobile a.is-current::after, .g-nav-mobile .current-menu-item > a::after { transform: scaleX(1); transform-origin: left; }
.g-nav a:hover, .g-nav a:focus-visible, .g-nav a.is-current, .g-nav .current-menu-item > a, .g-nav .current-cat > a,
.g-nav-mobile a.is-current, .g-nav-mobile a:active, .g-nav-mobile .current-menu-item > a { color: var(--g-text); }
.g-nav a:focus-visible, .g-nav-mobile a:focus-visible { outline: none; }
@media (prefers-reduced-motion: reduce) { .g-nav a::after, .g-nav-mobile a::after { transition: none; } }
.g-nav ul { display: flex; gap: 1.25rem; }
.g-nav-mobile { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 1.1rem; padding: 0 1rem .5rem; font-family: var(--g-mono); font-size: 13.5px; font-weight: 500; text-transform: uppercase; letter-spacing: .08em; color: var(--g-muted); }
.g-nav-mobile::-webkit-scrollbar { display: none; }
.g-nav-mobile ul { display: flex; gap: 1.25rem; }
@media (min-width: 768px) { .g-nav { display: flex; } .g-nav-mobile { display: none; } }

.g-header__tools { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }
.g-search { position: relative; display: none; }
.g-search input[type="search"] { width: 11rem; border: 1px solid var(--g-border); border-radius: 999px; background: var(--g-surface); color: var(--g-text); padding: .375rem .75rem .375rem 2rem; font-size: 12px; transition: width .2s; font-family: inherit; }
.g-search input[type="search"]:focus { width: 16rem; border-color: var(--g-brand); outline: none; }
.g-search svg { position: absolute; left: .625rem; top: 50%; transform: translateY(-50%); color: var(--g-muted); pointer-events: none; }
.g-search button { display: none; }
@media (min-width: 1280px) { .g-search { display: block; } .g-searchlink { display: none !important; } }
.g-searchlink { display: flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border: 1px solid var(--g-border); border-radius: 999px; color: var(--g-text); }
.g-searchlink:hover { border-color: var(--g-muted); }

.g-live { display: flex; align-items: center; gap: .5rem; border: 1px solid color-mix(in srgb, var(--g-live) 60%, transparent); background: color-mix(in srgb, var(--g-live) 10%, transparent); color: var(--g-live); border-radius: 999px; padding: .25rem .625rem; font-family: var(--g-mono); font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; }
.g-live__dot { position: relative; display: inline-flex; width: .625rem; height: .625rem; }
.g-live__dot::before { content: ""; position: absolute; inset: 0; border-radius: 999px; background: var(--g-live); opacity: .75; animation: g-ping 1.6s cubic-bezier(0, 0, .2, 1) infinite; }
.g-live__dot::after { content: ""; position: relative; width: .625rem; height: .625rem; border-radius: 999px; background: var(--g-live); box-shadow: 0 0 8px var(--g-live); }
.g-live__text { animation: g-pulse 1.6s ease-in-out infinite; }
@keyframes g-ping { 75%, 100% { transform: scale(2.2); opacity: 0; } }
@keyframes g-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }

/* Pulsanti social e «Scrivici»: icone in cerchio in alto (anche sul telefono), pulsanti con il nome nel piè di pagina; spenti finché manca il link */
.g-social { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.g-social__a { --b: var(--g-muted); display: inline-flex; align-items: center; justify-content: center; gap: .55rem; width: 1.9rem; height: 1.9rem; border: 1px solid var(--g-border); border-radius: 999px; color: var(--g-muted); background: transparent; transition: color .15s, background .15s, border-color .15s, transform .15s; }
.g-social__a svg { width: 1.05rem; height: 1.05rem; flex: none; }
.g-social__abbr { font-family: var(--g-mono); font-size: 10px; font-weight: 600; }
a.g-social__a:hover, a.g-social__a:focus-visible { color: #fff; background: var(--b); border-color: var(--b); transform: translateY(-1px); }
.g-social__a--facebook { --b: #1877f2; }
.g-social__a--instagram { --b: #d6249f; }
a.g-social__a--instagram:hover, a.g-social__a--instagram:focus-visible { background: linear-gradient(45deg, #f09433, #dc2743 55%, #bc1888); border-color: transparent; }
.g-social__a--x { --b: #111; }
.g-social__a--linkedin { --b: #0a66c2; }
.g-social__a--youtube { --b: #ff0033; }
.g-social__a--telegram { --b: #229ed9; }
.g-social__a--whatsapp { --b: #25d366; }
.g-social__a--tiktok { --b: #111; }
.g-social__a--mail { --b: var(--g-brand); }
.g-social__a.is-off { opacity: .62; cursor: default; border-style: dashed; }
.g-social__name, .g-social__addr { display: none; }
/* piè di pagina: pulsanti con il nome, ben visibili e comodi da toccare */
.g-social--md { gap: .6rem; }
.g-social--md .g-social__a { width: auto; height: 2.5rem; padding: 0 1rem 0 .8rem; font-size: 14px; font-weight: 600; color: var(--g-text); border-color: var(--g-border); background: var(--g-surface); }
.g-social--md .g-social__name { display: inline; }
.g-social--md .g-social__addr { display: inline; font-weight: 400; color: var(--g-muted); margin-left: .15rem; }
.g-social--md a.g-social__a:hover .g-social__addr { color: inherit; }
.g-social--md .g-social__a.is-off { color: var(--g-muted); }
.g-footer .g-social--md a.g-social__a:hover { color: #fff; }
/* telefono: icone un po' più grandi nella striscia della data */
@media (max-width: 639px) {
  .g-topbar__in { gap: .5rem; }
  .g-topbar .g-social { gap: .35rem; margin-left: auto; flex-wrap: nowrap; }
  .g-topbar .g-social__a { width: 1.8rem; height: 1.8rem; }
  .g-topbar .g-searchlink--top { margin-left: 0; }
}

/* ── Ultim'ora ──────────────────────────────────────────────────────────── */
.g-ticker { display: flex; overflow: hidden; border-bottom: 1px solid var(--g-border); background: var(--g-surface); }
.g-ticker__tag { position: relative; z-index: 1; display: flex; flex-shrink: 0; align-items: center; background: var(--g-live); color: var(--g-bg); padding: 0 .75rem; font-family: var(--g-mono); font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; }
.g-ticker__view { min-width: 0; flex: 1; overflow: hidden; }
.g-ticker__track { display: flex; width: max-content; gap: 4rem; white-space: nowrap; padding: .5rem 0; font-family: var(--g-mono); font-size: 14px; color: var(--g-muted); animation: g-ticker 40s linear infinite; }
.g-ticker__track:hover { animation-play-state: paused; }
.g-ticker__track a { display: flex; align-items: center; gap: .5rem; }
.g-ticker__track a:hover { color: var(--g-text); }
.g-ticker__track i { font-style: normal; color: var(--g-live); }
@keyframes g-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ── Impaginazione ──────────────────────────────────────────────────────── */
.g-shell { display: flex; align-items: flex-start; gap: 1.5rem; width: 100%; max-width: 100rem; margin: 0 auto; padding: 2.5rem 1rem; }
@media (min-width: 640px) { .g-shell { padding-left: 1.5rem; padding-right: 1.5rem; } }
.g-main { width: 100%; max-width: 72rem; min-width: 0; flex: 1; margin: 0 auto; }
.g-page { padding-top: 1.5rem; }
.g-section { margin-bottom: 3.5rem; }
/* Ogni sezione ha il suo colore (--sec): linea sotto il titolo, segno accanto al nome, pulsante «Tutti gli articoli». */
.g-section { --sec: var(--g-brand); }
.g-section__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; border-bottom: 3px solid var(--sec); padding-bottom: .7rem; }
.g-section__title { display: flex; align-items: center; gap: .7rem; font-family: var(--g-display); font-size: 2.4rem; font-weight: 800; line-height: 1; text-transform: uppercase; letter-spacing: -.005em; }
.g-section__title::before { content: ""; flex: 0 0 auto; width: .6rem; height: 1.95rem; border-radius: 2px; background: var(--sec); }
.g-section__more { flex: 0 0 auto; border: 1.5px solid var(--sec); border-radius: 999px; padding: .4rem .95rem; font-family: var(--g-mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--sec); transition: background .15s, color .15s; }
.g-section__more:hover { background: var(--sec); color: #fff; }
@media (max-width: 639px) { .g-section__title { font-size: 1.9rem; } .g-section__title::before { height: 1.55rem; } .g-section__more { padding: .45rem .8rem; font-size: 11px; } }
.g-card__cat { font-weight: 700; }
.g-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
@media (min-width: 640px) { .g-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .g-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.g-hero { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-bottom: 3.5rem; }
@media (min-width: 1024px) { .g-hero { grid-template-columns: 2fr 1fr; } }
.g-hero__side { display: flex; flex-direction: column; gap: 1.5rem; }
.g-hero__main { display: flex; flex-direction: column; gap: 1.5rem; min-width: 0; }
.g-hero__main > .g-card { flex: none; }
/* «Da non perdere»: riempie lo spazio sotto l'articolo di apertura, accanto alla colonna destra (solo schermi larghi); theme.js nasconde le storie che non ci stanno */
.g-more { display: none; }
@media (min-width: 1024px) {
  .g-more { display: flex; flex-direction: column; flex: 1 1 0; min-height: 0; border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 1rem 1rem .25rem; }
  .g-more.is-off { display: none; }
  .g-more__title { display: flex; align-items: center; gap: .5rem; margin-bottom: .25rem; font-family: var(--g-mono); font-size: 13.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .15em; color: var(--g-brand); }
  .g-more__title i { width: .5rem; height: .5rem; border-radius: 99px; background: var(--g-brand); }
  .g-more__list { flex: 1 1 0; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
  .g-more__item { flex: 1 0 auto; display: flex; align-items: center; gap: 1rem; padding: .75rem 0; min-height: 7.5rem; }
  .g-more__item + .g-more__item { border-top: 1px solid var(--g-line); }
  .g-more__item.is-off { display: none; }
  .g-more__img { width: 9.5rem; height: 6.25rem; flex-shrink: 0; border-radius: 4px; object-fit: cover; background: var(--g-surface-2); }
  .g-more__txt { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
  .g-more__txt .g-mono { font-size: 11.5px; }
  .g-more__t { font-family: var(--g-display); font-size: 1.4rem; font-weight: 700; line-height: 1.02; letter-spacing: -.005em; }
  .g-more__x { font-size: 13px; line-height: 1.45; color: var(--g-muted); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
  .g-more__item:hover .g-more__t { color: var(--g-hover); }
}
.g-empty { border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 2rem; text-align: center; color: var(--g-muted); }

/* ── Scheda articolo (card) ─────────────────────────────────────────────── */
.g-card { display: flex; flex-direction: column; gap: .75rem; overflow: hidden; border-left: 3px solid var(--g-border); border-radius: 0 6px 6px 0; background: var(--g-surface); transition: background .15s; }
.g-card:hover { background: var(--g-surface-2); }
.g-card__img { width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; display: block; }
.g-card--large .g-card__img { aspect-ratio: 16 / 8; }
.g-card__body { display: flex; flex-direction: column; gap: .5rem; padding: 1rem; }
.g-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; font-family: var(--g-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--g-muted); }
.g-card__meta > * { white-space: nowrap; }
/* L'etichetta (Rassegna stampa, Dall'archivio…) sta sempre sulla riga sotto; tutte le schede riservano lo stesso spazio, così i titoli sono allineati. */
.g-card__trust { flex-basis: 100%; }
.g-card__meta { min-height: 2.4rem; align-content: flex-start; }
.g-card__title { font-family: var(--g-display); font-size: 1.5rem; font-weight: 700; line-height: .95; letter-spacing: -.01em; }
.g-card--large .g-card__title { font-size: 2.25rem; }
@media (min-width: 640px) { .g-card--large .g-card__title { font-size: 3.75rem; } }
.g-card:hover .g-card__title { color: var(--g-hover); }
.g-card__lead { font-size: 14px; line-height: 1.6; color: var(--g-muted); }
.g-card__author { font-family: var(--g-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .08em; color: var(--g-muted); }

/* ── Ultime notizie (riquadro che si alterna) ───────────────────────────── */
/* Edizione del mese in PDF: anteprima della prima pagina e pulsante per scaricarla. */
.g-edition { border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 1rem; margin-top: 1rem; }
.g-edition__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .75rem; }
.g-edition__title { display: flex; align-items: center; gap: .5rem; font-family: var(--g-mono); font-size: 13.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .15em; color: var(--g-live); margin: 0; }
.g-edition__title i { display: inline-block; width: .5rem; height: .5rem; border-radius: 999px; background: var(--g-live); }
.g-edition__cover { display: block; margin: 0 auto; max-width: 15rem; background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.18), 0 8px 22px rgba(0,0,0,.2); transition: transform .2s ease, box-shadow .2s ease; }
.g-edition__cover:hover, .g-edition__cover:focus-visible { transform: translateY(-2px) rotate(-.4deg); box-shadow: 0 2px 4px rgba(0,0,0,.2), 0 12px 28px rgba(0,0,0,.26); }
.g-edition__cover img { display: block; width: 100%; height: auto; }
.g-edition__meta { margin: .9rem 0 .6rem; text-align: center; font-family: var(--g-mono); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; color: var(--g-muted); }
.g-edition__btn { display: block; text-align: center; background: var(--g-brand); color: var(--g-on-brand); padding: .6rem 1rem; border-radius: 999px; font-weight: 600; font-size: 14px; }
.g-edition__btn:hover { filter: brightness(1.08); }
.g-edition__old { margin-top: .75rem; font-size: 13px; }
.g-edition__old summary { cursor: pointer; color: var(--g-muted); padding: .35rem 0; }
.g-edition__old ul { margin: .25rem 0 0; padding: 0; list-style: none; }
.g-edition__old li { display: flex; justify-content: space-between; gap: .5rem; padding: .3rem 0; border-top: 1px solid var(--g-line); }
.g-latest { border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 1rem; }
.g-latest__head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .75rem; }
.g-latest__title { display: flex; align-items: center; gap: .5rem; font-family: var(--g-mono); font-size: 13.5px; font-weight: 600; text-transform: uppercase; letter-spacing: .15em; color: var(--g-live); }
.g-latest__title i { width: .5rem; height: .5rem; border-radius: 99px; background: var(--g-live); }
.g-latest__page { display: none; }
.g-latest__page.is-on { display: block; animation: g-fade .5s ease both; }
@keyframes g-fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.g-latest__item { display: flex; gap: .75rem; padding: .5rem 0; }
.g-latest__item + .g-latest__item { border-top: 1px solid var(--g-line); }
.g-latest__thumb { width: 4.25rem; height: 3.25rem; flex-shrink: 0; border-radius: 3px; object-fit: cover; background: var(--g-surface-2); }
.g-latest__t { font-weight: 600; font-size: 16px; line-height: 1.25; }
.g-latest__item .g-mono { font-size: 12px; }
.g-latest__item:hover .g-latest__t { color: var(--g-hover); }

/* ── Blocchi: In 60 secondi / Cosa sappiamo ─────────────────────────────── */
.g-sixty { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 768px) { .g-sixty { grid-template-columns: repeat(3, 1fr); } }
.g-sixty__item { display: flex; flex-direction: column; gap: .75rem; border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 1rem; }
.g-sixty__item:hover { border-color: var(--g-brand); }
.g-sixty__t { font-family: var(--g-display); font-size: 1.25rem; font-weight: 700; line-height: 1.1; }
.g-sixty__item p { font-size: 12px; margin-top: .5rem; }
.g-kicker { font-family: var(--g-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .2em; color: var(--g-brand); margin-bottom: .25rem; }
.g-sub { font-size: 14px; color: var(--g-muted); margin-bottom: 1rem; }
.g-know { border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 1.5rem; }
.g-know h2 { font-family: var(--g-display); font-size: 1.5rem; font-weight: 700; margin-bottom: .25rem; }
.g-know__grid { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .g-know__grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .g-know__grid { grid-template-columns: repeat(5, 1fr); } }
.g-know__item { display: flex; gap: .75rem; border-left: 3px solid; background: var(--g-surface-2); border-radius: 0 6px 6px 0; padding: .75rem; }
.g-know__item strong { display: block; font-size: 14px; }
.g-know__item span { font-size: 12px; color: var(--g-muted); }

/* ── Pubblicità ─────────────────────────────────────────────────────────── */
.g-ad { margin-bottom: 0; }
.g-ad__label { margin-bottom: .25rem; font-family: var(--g-mono); font-size: 9px; text-transform: uppercase; letter-spacing: .2em; color: var(--g-muted); opacity: .8; }
.g-ad__box { width: 100%; }
.g-ad__box--rectangle { height: 250px; }
/* Spazi lunghi: rapporto 6 a 1 (es. 1200 × 200). A piena larghezza sono alti circa 190 px e si adattano allo schermo. */
.g-ad__box--leaderboard, .g-ad__box--banner { display: flex; height: 100px; }
/* Dai 700 px in su si adatta alla larghezza (6:1). Sotto, altezza fissa: con aspect-ratio il minimo di altezza imporrebbe una larghezza minima e allargherebbe la pagina. */
@media (min-width: 700px) { .g-ad__box--leaderboard, .g-ad__box--banner { height: auto; aspect-ratio: 6 / 1; min-height: 80px; max-height: 240px; } }
.g-ad__box--leaderboard > .g-adfree, .g-ad__box--banner > .g-adfree { flex: 1; height: auto; }
.g-grid__ad { grid-column: 1 / -1; min-width: 0; }
.g-ad__box--mobile { height: 100px; }
.g-ad__box--auto { min-height: 40px; }
.g-ad__box--box { height: 240px; width: 180px; }
.g-ad__box--sky { height: 600px; width: 180px; }
.g-ad__box > a { display: block; height: 100%; }
.g-ad__box--auto > a { height: auto; }
.g-ad__media { display: block; width: 100%; height: 100%; border-radius: 6px; background: var(--g-surface); object-fit: contain; }
.g-ad__box--auto .g-ad__media { height: auto; max-height: 260px; }
iframe.g-ad__media { border: 0; }
.g-ad--gap { margin-bottom: 3.5rem; }
.g-adfree { position: relative; display: flex; height: 100%; flex-direction: column; align-items: center; justify-content: center; gap: .25rem; overflow: hidden; border: 1px dashed var(--g-border); border-radius: 6px; padding: .5rem; text-align: center; background-color: var(--g-surface); background-image: radial-gradient(var(--g-dots) 1px, transparent 1px); background-size: 14px 14px; }
.g-adfree::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(115deg, transparent 30%, color-mix(in srgb, var(--g-brand) 16%, transparent) 45%, color-mix(in srgb, var(--g-live) 10%, transparent) 55%, transparent 70%); background-size: 250% 100%; animation: g-sweep 7s ease-in-out infinite; }
@keyframes g-sweep { 0% { background-position: 120% 0; } 60%, 100% { background-position: -120% 0; } }
.g-adfree__brand { font-family: var(--g-mono); font-size: 9px; text-transform: uppercase; letter-spacing: .2em; color: var(--g-muted); }
.g-adfree strong { font-family: var(--g-display); font-size: 1.25rem; line-height: 1; }
.g-adfree__size { font-family: var(--g-mono); font-size: 9px; text-transform: uppercase; letter-spacing: .1em; color: var(--g-muted); }
.g-adfree__cta { position: relative; z-index: 1; margin-top: .125rem; border: 1px solid var(--g-border); border-radius: 999px; padding: .125rem .75rem; font-size: 10px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; }
.g-adfree__cta:hover { border-color: var(--g-muted); }
.g-ad__box--leaderboard .g-adfree, .g-ad__box--banner .g-adfree, .g-ad__box--mobile .g-adfree { flex-direction: row; gap: 1rem; }
.g-ad__box--mobile .g-adfree__size { display: none; }

.g-rail { display: none; width: 180px; flex-shrink: 0; flex-direction: column; gap: 2rem; align-self: stretch; }
.g-rail__item { display: flex; flex-direction: column; align-items: center; }
.g-rail__item .g-ad__label { width: 100%; text-align: center; }
.g-rail__sticky { position: sticky; top: 6rem; }
@media (min-width: 1536px) { .g-rail { display: flex; } }

/* Visibilità per larghezza dello schermo */
.g-only-sm { display: block; }
.g-only-md { display: none; }
.g-only-mdxl { display: none; }
@media (min-width: 768px) { .g-only-sm { display: none; } .g-only-md { display: block; } .g-only-mdxl { display: block; } }
@media (min-width: 1536px) { .g-only-mdxl { display: none; } }
.g-hide-sm { display: none; }
@media (min-width: 640px) { .g-hide-sm { display: block; } }

/* Collaborazioni */
.g-collab { display: flex; align-items: center; justify-content: center; gap: .75rem; border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 1.25rem 1rem; }
.g-collab img { height: 1.5rem; width: auto; }
.g-collab b { font-family: var(--g-display); font-size: 1.125rem; }

/* ── Articolo ───────────────────────────────────────────────────────────── */
.g-single { width: 100%; max-width: 42rem; margin: 0 auto; flex: 1; padding: 2.5rem 1rem; }
@media (min-width: 640px) { .g-single { padding-left: 1.5rem; padding-right: 1.5rem; } }
.g-single__cat { --sec: var(--g-brand); font-family: var(--g-mono); font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--sec); }
.g-single__cat a { border-bottom: 2px solid var(--sec); }
.g-single__cat a:hover { text-decoration: underline; }
.g-single__title { margin-top: .5rem; font-family: var(--g-display); font-size: 2.25rem; font-weight: 700; line-height: .95; letter-spacing: -.01em; }
@media (min-width: 640px) { .g-single__title { font-size: 3rem; } }
.g-single__sub { margin-top: .75rem; color: var(--g-muted); }
.g-single__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem; margin-top: 1rem; font-family: var(--g-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--g-muted); }
.g-pill { display: inline-flex; align-items: center; gap: .5rem; border: 1px solid; border-radius: 999px; padding: .25rem .75rem; }
.g-figure { margin: 1.5rem 0 0; }
.g-figure img { width: 100%; height: auto; border-radius: 6px; display: block; }
.g-figure figcaption { margin-top: .5rem; font-family: var(--g-mono); font-size: 11px; letter-spacing: .04em; color: var(--g-muted); }
.g-figure figcaption a:hover { text-decoration: underline; }
.g-60 { margin-top: 2rem; border: 1px solid var(--g-border); background: var(--g-surface); border-radius: 6px; padding: 1.25rem; display: grid; gap: 1rem; }
.g-60 h2 { font-family: var(--g-mono); font-size: 12px; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; color: var(--g-muted); }
.g-60 p { margin-top: .25rem; }
.g-share { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.5rem; }
.g-share a { border: 1px solid var(--g-border); border-radius: 999px; padding: .25rem .75rem; font-size: 12px; color: var(--g-muted); }
.g-share a:hover { color: var(--g-text); border-color: var(--g-muted); }

.g-article { margin-top: 2rem; font-family: var(--g-serif); font-size: 16px; line-height: 1.7; color: var(--g-article-text); }
.g-article > * + * { margin-top: 1.35em; }
.g-article h2, .g-article h3 { margin-top: 2em; font-family: var(--g-display); font-weight: 700; line-height: 1.1; letter-spacing: -.01em; color: var(--g-text); }
.g-article h2 { font-size: 1.45em; }
.g-article h3 { font-size: 1.25em; }
.g-article blockquote { margin-left: 0; margin-right: 0; border-left: 3px solid var(--g-brand); padding: .2em 0 .2em 1em; font-style: italic; color: var(--g-text); }
.g-article a { color: var(--g-brand); text-decoration: underline; }
.g-article img { height: auto; border-radius: 6px; }
.g-article ul, .g-article ol { padding-left: 1.4em; list-style: revert; }
.g-article .g-dropcap::first-letter { float: left; font-family: var(--g-display); font-weight: 800; font-size: 3.4em; line-height: .85; margin: .08em .12em 0 0; color: var(--g-brand); }
.g-article .g-inline-ad { font-family: var(--g-body); }
.g-lead { margin-top: 2rem; border-left: 4px solid var(--g-brand); padding-left: 1rem; font-family: var(--g-serif); font-size: 16px; line-height: 1.7; color: var(--g-text); }
.g-after { margin-top: 2.5rem; display: grid; gap: 1.5rem; border-top: 1px solid var(--g-border); padding-top: 2rem; }
.g-after h2 { font-family: var(--g-mono); font-size: 12px; font-weight: 400; text-transform: uppercase; letter-spacing: .08em; color: var(--g-muted); }
.g-after p, .g-after li { margin-top: .25rem; }
.g-after .g-note { border: 1px solid var(--g-border); border-radius: 6px; padding: 1rem; font-size: 14px; color: var(--g-muted); }
.g-after .g-note a { color: var(--g-brand); text-decoration: underline; }
.g-after .g-small { font-size: 12px; color: var(--g-muted); }
.g-sources { font-size: 14px; color: var(--g-muted); display: grid; gap: .25rem; }
.g-sources a { text-decoration: underline; }
.g-sources a:hover { color: var(--g-text); }

/* ── Archivi, ricerca, pagine ───────────────────────────────────────────── */
.g-archive__head { --sec: var(--g-brand); margin-bottom: 1.5rem; border-bottom: 3px solid var(--sec); padding-bottom: 1rem; }
.g-archive__title { display: flex; align-items: center; gap: .75rem; font-family: var(--g-display); font-size: 2.75rem; font-weight: 800; text-transform: uppercase; line-height: 1; }
.g-archive__title::before { content: ""; flex: 0 0 auto; width: .6rem; height: 2.2rem; border-radius: 2px; background: var(--sec); }
@media (max-width: 639px) { .g-archive__title { font-size: 2.1rem; } .g-archive__title::before { height: 1.8rem; } }
.g-archive__desc { margin-top: .5rem; color: var(--g-muted); }
.g-pagination { margin-top: 2rem; }
.g-pagination .nav-links { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; font-family: var(--g-mono); font-size: 12px; }
.g-pagination a, .g-pagination span.page-numbers { border: 1px solid var(--g-border); border-radius: 999px; padding: .25rem .75rem; color: var(--g-muted); }
.g-pagination .current { color: var(--g-text); border-color: var(--g-brand); }
.g-pagination a:hover { color: var(--g-text); border-color: var(--g-muted); }
.g-searchform { display: flex; gap: .5rem; margin: 1rem 0 2rem; }
.g-searchform input[type="search"] { flex: 1; border: 1px solid var(--g-border); border-radius: 999px; background: var(--g-surface); color: var(--g-text); padding: .5rem 1rem; font-family: inherit; }
.g-searchform button { border: 0; border-radius: 999px; background: var(--g-brand); color: var(--g-on-brand); padding: .5rem 1.25rem; font-weight: 600; cursor: pointer; }
.g-text404 { padding: 4rem 0; text-align: center; }
.g-text404 h1 { font-family: var(--g-display); font-size: 4rem; font-weight: 800; }

/* ── Piè di pagina ──────────────────────────────────────────────────────── */
.g-footer { margin-top: auto; border-top: 1px solid var(--g-border); background: var(--g-footer-bg); }
/* fascia alta: logo e motto a sinistra, «Seguici» e «Scrivici» a destra */
.g-footer__top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.75rem 3rem; padding-top: 2.25rem; padding-bottom: 2rem; border-bottom: 1px solid var(--g-line); }
.g-footer__id { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; min-width: 0; }
.g-footer__logo { display: inline-block; line-height: 0; }
.g-footer__logo img { display: block; height: 5.5rem; width: auto; max-width: 100%; }
.g-footer__logo--plate { background: #fff; border-radius: 8px; padding: .5rem 1rem; }
.g-footer__logo--plate img { height: 4.25rem; }
.g-footer__brand { font-family: var(--g-display); font-size: 2.25rem; font-weight: 800; letter-spacing: -.01em; line-height: 1; }
/* il motto sta centrato sotto il logo e non è mai più largo di lui */
.g-footer__payoff { margin: 0; width: 0; min-width: 100%; text-align: center; font-size: 14px; line-height: 1.5; color: var(--g-muted); }
.g-footer__follow { display: flex; flex-direction: column; gap: .5rem; align-items: flex-start; }
.g-footer__h { margin: 0 0 .1rem; font-family: var(--g-mono); font-size: 11px; font-weight: 400; text-transform: uppercase; letter-spacing: .12em; color: var(--g-muted); }
.g-footer__follow .g-footer__h + .g-social + .g-footer__h { margin-top: .6rem; }
@media (min-width: 900px) { .g-footer__follow { align-items: flex-end; text-align: right; } .g-footer__follow .g-social { justify-content: flex-end; } }
/* colonne: sezioni (su tre colonne, con il colore di ciascuna) e informazioni */
.g-footer__grid { display: grid; gap: 2rem; padding-top: 2rem; padding-bottom: 2.25rem; }
@media (min-width: 768px) { .g-footer__grid { grid-template-columns: 2fr 1fr; gap: 3rem; } }
.g-footer__secs { display: grid; grid-template-columns: repeat(2, 1fr); gap: .1rem 1rem; font-size: 14.5px; }
@media (min-width: 640px) { .g-footer__secs { grid-template-columns: repeat(3, 1fr); } }
.g-footer__secs a { display: flex; align-items: center; gap: .55rem; padding: .4rem 0; }
.g-footer__secs i { width: .55rem; height: .55rem; border-radius: 99px; flex: none; }
.g-footer .g-info { display: grid; gap: .1rem; font-size: 14.5px; }
.g-footer a:hover { color: var(--g-brand); }
/* i collegamenti del piè di pagina si illuminano come il menù in alto: sottolineatura che scorre (nel colore della sezione) e testo acceso */
.g-footer__secs a, .g-footer .g-info a, .g-footer .g-info .g-linkbtn { position: relative; width: fit-content; transition: color .2s; }
.g-footer__secs a { display: flex; }
.g-footer__secs a::after, .g-footer .g-info a::after, .g-footer .g-info .g-linkbtn::after { content: ""; position: absolute; left: 0; right: 0; bottom: .22rem; height: 2px; border-radius: 2px; background: var(--sec, linear-gradient(90deg, var(--g-brand), var(--g-live))); transform: scaleX(0); transform-origin: right; transition: transform .28s ease; }
.g-footer__secs a:hover::after, .g-footer__secs a:focus-visible::after, .g-footer .g-info a:hover::after, .g-footer .g-info a:focus-visible::after, .g-footer .g-info .g-linkbtn:hover::after, .g-footer .g-info .g-linkbtn:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.g-footer__secs a:hover, .g-footer__secs a:focus-visible { color: var(--sec); }
.g-footer .g-info .g-linkbtn:hover { text-decoration: none; }
.g-footer__secs a:focus-visible, .g-footer .g-info a:focus-visible, .g-footer .g-info .g-linkbtn:focus-visible { outline: none; }
@media (prefers-reduced-motion: reduce) { .g-footer__secs a::after, .g-footer .g-info a::after, .g-footer .g-info .g-linkbtn::after { transition: none; } }
.g-copy { border-top: 1px solid var(--g-border); padding: 1rem; text-align: center; font-family: var(--g-mono); font-size: 11px; color: var(--g-muted); }

@media (prefers-reduced-motion: reduce) {
  .g-ticker__track, .g-live__dot::before, .g-live__text, .g-adfree::after, .g-latest__page.is-on { animation: none; }
}

.g-footer-ad { padding-top: 1rem; padding-bottom: 2.5rem; }
.g-footer-ad:empty { display: none; }

/* Telefono: campi a 16 px (l'iPhone non ingrandisce la pagina quando ci si tocca) e collegamenti facili da toccare. */
.g-searchform input[type="search"], .g-search input[type="search"] { font-size: 16px; }
.g-section__more, .g-single__cat a { display: inline-block; padding: .5rem 0; }
.g-footer .g-info a, .g-footer .g-info .g-linkbtn { display: block; padding: .4rem 0; line-height: 1.4; font-size: 14.5px; }
.g-footer__secs a { line-height: 1.4; }
.g-share a { padding: .5rem .85rem; }
.g-sources a { display: inline-block; padding: .25rem 0; }

/* Menù del telefono: le sezioni vanno a capo, centrate, e la testata non resta fissa (il menu può occupare più righe). */
@media (max-width: 767px) {
  .g-header, .admin-bar .g-header { position: relative; top: auto; }
  .g-nav-mobile a { padding: .45rem 0; }
}

/* ── Avviso cookie e pagine legali ──────────────────────────────────────── */
.g-linkbtn { all: unset; cursor: pointer; text-align: left; color: inherit; padding: .35rem 0; }
.g-linkbtn:hover { color: var(--g-brand); text-decoration: underline; }
.g-article .g-linkbtn { color: var(--g-brand); text-decoration: underline; padding: 0; }
.g-todo { background: color-mix(in srgb, var(--g-live) 20%, transparent); padding: 0 .25em; border-radius: 3px; }
.g-table { width: 100%; border-collapse: collapse; font-size: .9em; }
.g-table th, .g-table td { border: 1px solid var(--g-border); padding: .5rem .6rem; text-align: left; vertical-align: top; }
.g-table th { background: var(--g-surface); font-family: var(--g-mono); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; color: var(--g-muted); }
.g-article table { display: block; overflow-x: auto; }

.g-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; border-top: 1px solid var(--g-border); background: var(--g-surface); box-shadow: 0 -10px 30px rgba(0, 0, 0, .18); }
.g-cookie[hidden] { display: none; }
.g-cookie__in { position: relative; width: 100%; max-width: 64rem; margin: 0 auto; padding: 1.1rem 1rem 1rem; max-height: 85vh; overflow-y: auto; }
@media (min-width: 640px) { .g-cookie__in { padding: 1.25rem 1.5rem; } }
.g-cookie__title { font-family: var(--g-display); font-size: 1.35rem; font-weight: 700; }
.g-cookie__text { margin-top: .35rem; max-width: 52rem; padding-right: 1.5rem; font-size: 14px; line-height: 1.6; color: var(--g-muted); }
.g-cookie__text a { color: var(--g-text); text-decoration: underline; }
.g-cookie__x { position: absolute; right: .5rem; top: .35rem; width: 2.5rem; height: 2.5rem; border: 0; background: none; font-size: 1.6rem; line-height: 1; color: var(--g-muted); cursor: pointer; }
.g-cookie__x:hover { color: var(--g-text); }
.g-cookie__opts { display: grid; gap: .5rem; margin-top: .9rem; }
@media (min-width: 640px) { .g-cookie__opts { grid-template-columns: repeat(3, 1fr); } }
.g-cookie__opt { display: flex; gap: .6rem; align-items: flex-start; border: 1px solid var(--g-border); border-radius: 6px; padding: .7rem; font-size: 14px; cursor: pointer; }
.g-cookie__opt input { margin-top: .25rem; width: 1.1rem; height: 1.1rem; }
.g-cookie__opt small { display: block; font-size: 12px; color: var(--g-muted); }
.g-cookie__btns { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .9rem; }
.g-btn { min-height: 44px; border: 1px solid var(--g-border); border-radius: 6px; background: transparent; color: var(--g-text); padding: .5rem 1.1rem; font: inherit; font-size: 14px; font-weight: 600; cursor: pointer; }
.g-btn:hover { border-color: var(--g-text); }
.g-btn--main { background: var(--g-text); border-color: var(--g-text); color: var(--g-bg); }
.g-btn[hidden], .g-cookie__opts[hidden] { display: none; }
@media (max-width: 479px) {
  .g-cookie__in { padding: .85rem .9rem .9rem; }
  .g-cookie__title { font-size: 1.15rem; }
  .g-cookie__text { font-size: 13px; line-height: 1.5; padding-right: 1.75rem; }
  .g-cookie__btns { gap: .4rem; margin-top: .7rem; }
  /* Rifiuta e Accetta affiancati, stessa evidenza; Personalizza sotto. */
  .g-cookie__btns .g-btn { flex: 1 1 calc(50% - .2rem); min-height: 44px; padding: .45rem .6rem; }
  .g-cookie__btns [data-act="reject"] { order: 1; }
  .g-cookie__btns [data-act="accept"] { order: 2; }
  .g-cookie__btns [data-act="custom"], .g-cookie__btns [data-act="save"] { order: 3; flex: 1 1 100%; min-height: 40px; }
}

/* "In evidenza": le voci senza foto hanno un riquadro del colore della sezione (stesso allineamento delle altre). */
.g-latest__thumb--none { display: block; background: color-mix(in srgb, var(--c) 22%, transparent); border-left: 3px solid var(--c); }
.g-latest__cat { font-weight: 700; }
/* Telefono: la colonna di destra ("In evidenza") mostra 4 voci invece di 6, così non spinge le sezioni troppo in basso. */
@media (max-width: 767px) {
  .g-latest { padding: .85rem; }
  .g-latest__page li:nth-child(n+5) { display: none; }
  .g-latest__item { padding: .55rem 0; }
  .g-latest__t { font-size: 16px; }
}

.g-cookie__text a { display: inline-block; padding: .35rem 0; }
