/**
 * Theme Name: Comunicati
 * Author: Michele Patella
 * Copyright: Audio Innova
 * Description: Tema a blocchi di comunicati.eu. Autonomo: non è un child di Telaio. Il design vive in theme.json, il dominio dei comunicati nel plugin Telaio Comunicati e la funzionalità condivisa in Telaio Core.
 * Version: 0.1.0
 * Requires at least: 7.0
 * Tested up to: 7.1
 * Requires PHP: 8.5
 * Update URI: https://aigit.audioinnova.com/michele/comunicati-theme
 * License: GPL-2.0-or-later
 * License URI: https://www.gnu.org/licenses/gpl-2.0.html
 * Text Domain: comunicati-theme
 * Domain Path: /languages
 * Tags: news, blog, block-patterns, full-site-editing, accessibility-ready, translation-ready
 */

/* -----------------------------------------------------------------------------
 * Il design sta in theme.json. Qui c'è solo ciò che i token non sanno esprimere:
 * comportamento (sticky, hover, focus, riduzione del movimento), composizione
 * (card, kicker, dateline, griglie) e il pochissimo che theme.json non copre.
 *
 * REGOLA: nessun colore letterale. Ogni colore è var(--wp--preset--color--*), così
 * il gate tools/contrast-check.py, che legge theme.json, controlla anche questo
 * file per costruzione. Ombre e velature usano rgb() con alpha sul blu notte: non
 * sono "colore di testo" e non hanno un minimo di contrasto da rispettare.
 * -------------------------------------------------------------------------- */

/* ---- base --------------------------------------------------------------- */

html {
    /* SC 2.4.11: con l'intestazione sticky, un elemento raggiunto da tastiera o da
       ancora non deve finire sotto di essa. */
    scroll-padding-top: calc(var(--wp--custom--header--height) + 1rem);
    -webkit-text-size-adjust: 100%;
    /* Il controllo "dimensione del testo" del plugin scrive --tc-text-scale (0,875–1,4):
       tutto il layout e' in rem, quindi segue. Senza JavaScript vale 1. */
    font-size: calc(100% * var(--tc-text-scale, 1));
}

body {
    text-rendering: optimizeLegibility;
    font-feature-settings: "cv11", "ss01";
}

::selection {
    background: var(--wp--preset--color--brand-tint);
    color: var(--wp--preset--color--contrast);
}

/* Focus visibile, mai coperto, in colore di marca (3:1 sul fondo, verificato dal gate). */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
    outline: 3px solid var(--wp--preset--color--brand);
    outline-offset: 3px;
    border-radius: 2px;
}

/* Target interattivi ≥ 24×24 px (SC 2.5.8). */
:where(.wp-block-navigation__container, .wp-block-query-pagination, .card__meta) a {
    min-block-size: 24px;
    min-inline-size: 24px;
    display: inline-flex;
    align-items: center;
}

/* Link nel corpo del testo: sottolineatura sottile e staccata, come in editoria. */
.entry-content a,
.wp-block-post-content a,
.wp-block-term-description a {
    text-decoration-thickness: 1px;
    text-underline-offset: 0.18em;
    text-decoration-color: color-mix(in srgb, var(--wp--preset--color--brand) 45%, transparent);
    transition: text-decoration-color 120ms ease;
}

.entry-content a:hover,
.wp-block-post-content a:hover {
    text-decoration-color: currentColor;
}

/* Il contenuto migrato arriva con style="text-align: justify" e simili: si neutralizza
   qui, senza toccare il database. */
.wp-block-post-content p,
.wp-block-post-content li {
    text-align: start !important;
    text-wrap: pretty;
}

.wp-block-post-content > * + * {
    margin-block-start: var(--wp--preset--spacing--40);
}

.wp-block-post-content img {
    border-radius: var(--wp--custom--radius--md);
    height: auto;
}

h1, h2, h3, .wp-block-post-title, .wp-block-query-title {
    text-wrap: balance;
}

/* ---- intestazione sticky, in vetro ---------------------------------------- */

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    min-block-size: var(--wp--custom--header--height);
    background: color-mix(in srgb, var(--wp--preset--color--base) 84%, transparent);
    -webkit-backdrop-filter: saturate(160%) blur(14px);
    backdrop-filter: saturate(160%) blur(14px);
    border-block-end: 1px solid var(--wp--preset--color--hairline);
}

.site-header .wp-block-site-logo img {
    display: block;
    block-size: 2.25rem;
    inline-size: auto;
}

.site-header .wp-block-navigation a {
    padding: 0.35rem 0.6rem;
    border-radius: var(--wp--custom--radius--sm);
    transition: background-color 120ms ease, color 120ms ease;
}

.site-header .wp-block-navigation a:hover {
    background: var(--wp--preset--color--surface);
}

.site-header .wp-block-navigation .current-menu-item > a {
    color: var(--wp--preset--color--brand);
}

.site-header .wp-block-button__link {
    padding-block: 0.6rem;
    white-space: nowrap;
}

/* Sotto il tablet il pulsante dell'intestazione lascia spazio a logo e menu: l'invito a
   pubblicare resta nell'apertura e nel piè di pagina. */
@media (max-width: 781px) {
    /* Due classi: il CSS del blocco buttons (display:flex, una classe) viene stampato
       DOPO questo foglio e vincerebbe a pari specificita'. */
    .site-header .site-header__cta {
        display: none;
    }
}

/* ---- strumenti di lettura (blocchi del plugin) --------------------------------- */

.tc-tools__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35em;
    min-inline-size: 2.25rem;
    min-block-size: 2.25rem;
    padding: 0.25rem 0.6rem;
    border: 1px solid var(--wp--preset--color--hairline);
    border-radius: var(--wp--custom--radius--pill);
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
    font: inherit;
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
    transition: background-color 120ms ease, border-color 120ms ease, color 120ms ease;
}

.tc-tools__btn:hover {
    border-color: var(--wp--preset--color--brand);
    color: var(--wp--preset--color--brand);
}

.tc-tools__btn[aria-pressed="true"] {
    background: var(--wp--preset--color--brand);
    border-color: var(--wp--preset--color--brand);
    color: var(--wp--preset--color--base);
}

.tc-text-size {
    display: inline-flex;
    gap: 0.25rem;
}

.tc-text-size .tc-tools__btn {
    font-family: var(--wp--preset--font-family--display);
    padding-inline: 0.45rem;
}

.tc-text-size .tc-tools__btn:nth-child(1) { font-size: 0.75rem; }
.tc-text-size .tc-tools__btn:nth-child(3) { font-size: 1.05rem; }

.tc-tools {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    margin-inline-start: auto;
}

.tc-tools__listen::before {
    /* Un triangolo "play" disegnato in CSS: nessuna icona da caricare. */
    content: "";
    inline-size: 0;
    block-size: 0;
    border-block: 0.35em solid transparent;
    border-inline-start: 0.55em solid currentColor;
}

.tc-tools__listen[aria-pressed="true"]::before {
    inline-size: 0.5em;
    block-size: 0.6em;
    border: 0;
    border-inline: 0.18em solid currentColor;
}

/* ---- kicker, dateline, badge --------------------------------------------- */

/* Spazi pubblicitari (AdSense, decisione del titolare del 03/09/2026). Il riquadro
 * riserva l'altezza prima che l'annuncio arrivi, così la pagina non salta; l'etichetta
 * dice cos'è. Quando la pubblicità non è configurata il blocco non stampa nulla e la
 * fascia sotto la testata sparisce del tutto. */
.tc-ad-strip:not(:has(.tc-ad)) {
	display: none;
}

.tc-ad {
	margin: var(--wp--preset--spacing--40) auto;
	text-align: center;
}

/* L'altezza è riservata sul contenitore, non solo sull'<ins>: se Google non riempie lo
 * slot l'<ins> collassa, e un riquadro che collassa sposta la pagina quanto uno che
 * cresce. Orizzontale sotto la testata (90 desktop, 100 telefono), rettangolo dopo il
 * corpo (250 desktop, 280 telefono): le misure che Google serve per quei formati. */
.tc-ad--header {
	min-height: calc(90px + 1.2rem);
}

.tc-ad--after-article {
	min-height: calc(250px + 1.2rem);
}

@media (max-width: 767px) {
	.tc-ad--header,
	.tc-ad--header .adsbygoogle {
		min-height: 100px;
	}

	.tc-ad--header {
		min-height: calc(100px + 1.2rem);
	}

	.tc-ad--after-article,
	.tc-ad--after-article .adsbygoogle {
		min-height: 280px;
	}

	.tc-ad--after-article {
		min-height: calc(280px + 1.2rem);
	}
}

.tc-ad__label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.tc-ad .adsbygoogle {
	margin: 0 auto;
	max-width: 100%;
}

.tc-ad--after-article {
	margin-top: var(--wp--preset--spacing--60);
}

.kicker,
.kicker a {
    font-size: var(--wp--preset--font-size--x-small);
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--wp--preset--color--brand);
    text-decoration: none;
}

.kicker a {
    /* Il testo e' 12 px: senza un'altezza minima il bersaglio sta sotto i 24 px (SC 2.5.8). */
    display: inline-flex;
    align-items: center;
    min-block-size: 24px;
}

.kicker a:hover {
    text-decoration: underline;
}

.kicker .wp-block-post-terms__separator {
    color: var(--wp--preset--color--muted);
    margin-inline: 0.35em;
}

.dateline {
    font-variant-numeric: tabular-nums;
    color: var(--wp--preset--color--muted);
}

/* Percorso: una riga di occhielli separati da un punto, non un elenco numerato. */
.tc-breadcrumbs ol {
    display: flex;
    flex-wrap: wrap;
    gap: 0.25em 0.5em;
    list-style: none;
    margin: 0;
    padding: 0;
}

.tc-breadcrumbs li + li::before {
    content: "›";
    margin-inline-end: 0.5em;
    color: var(--wp--preset--color--muted);
}

.tc-related__title {
    font-size: var(--wp--preset--font-size--large);
    padding-block-start: var(--wp--preset--spacing--50);
    border-block-start: 1px solid var(--wp--preset--color--hairline);
}

.tc-related__more a {
    font-weight: 600;
    text-decoration: none;
}

.tc-ente__head {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--40);
    flex-wrap: wrap;
}

.tc-box__logo {
    inline-size: 3.5rem;
    block-size: 3.5rem;
    object-fit: contain;
    border-radius: var(--wp--custom--radius--sm);
    background: var(--wp--preset--color--base);
}

.tc-ente__sector,
.tc-ente__site {
    margin: 0;
    color: var(--wp--preset--color--muted);
    font-size: var(--wp--preset--font-size--small);
}

.tc-ente__about {
    margin-block: var(--wp--preset--spacing--30) 0;
}

.badge {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
    padding: 0.25em 0.7em;
    border-radius: var(--wp--custom--radius--pill);
    background: var(--wp--preset--color--brand-tint);
    color: var(--wp--preset--color--brand);
    font-size: var(--wp--preset--font-size--x-small);
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

/* ---- card ------------------------------------------------------------------ */

.card {
    position: relative;
    height: 100%;
    padding: var(--wp--preset--spacing--50);
    border: 1px solid var(--wp--preset--color--hairline);
    border-radius: var(--wp--custom--radius--lg);
    background: var(--wp--preset--color--base);
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

@media (hover: hover) {
    .card:hover {
        transform: translateY(-2px);
        box-shadow: var(--wp--custom--shadow--card);
        border-color: transparent;
    }
}

/* Tutta la card è cliccabile attraverso il link del titolo, ma i link della riga meta
   restano raggiungibili col puntatore: stanno sopra la superficie estesa. */
.card__title a::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: inherit;
}

.card__title a:focus-visible::after {
    outline: 3px solid var(--wp--preset--color--brand);
    outline-offset: 2px;
    border-radius: var(--wp--custom--radius--lg);
}

.card__title a:focus-visible {
    outline: none;
}

.card__excerpt {
    flex: 1 1 auto;
}

.card__excerpt p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    overflow: hidden;
}

.card__meta {
    position: relative;
    z-index: 1;
    margin-block-start: auto;
    padding-block-start: var(--wp--preset--spacing--30);
    border-block-start: 1px solid var(--wp--preset--color--hairline);
    color: var(--wp--preset--color--muted);
    font-size: var(--wp--preset--font-size--small);
}

.card__meta a {
    color: var(--wp--preset--color--contrast);
    text-decoration: none;
    font-weight: 600;
}

.card__meta a:hover {
    color: var(--wp--preset--color--brand);
    text-decoration: underline;
}

/* La prima card della home è in evidenza: occupa due colonne e ha il titolo grande. */
@media (min-width: 782px) {
    .grid-featured > .wp-block-post:first-child {
        grid-column: span 2;
    }

    .grid-featured > .wp-block-post:first-child .card__title {
        font-size: var(--wp--preset--font-size--x-large);
    }

    .grid-featured > .wp-block-post:first-child .card__excerpt p {
        -webkit-line-clamp: 4;
        line-clamp: 4;
    }
}

/* ---- apertura della home ----------------------------------------------------- */

.hero {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.hero::before {
    /* Un alone di marca, molto tenue, che dà profondità senza immagini. */
    content: "";
    position: absolute;
    inset: -30% -10% auto;
    height: 70%;
    background:
        radial-gradient(55% 60% at 70% 30%, color-mix(in srgb, var(--wp--preset--color--brand) 14%, transparent), transparent 70%),
        radial-gradient(40% 50% at 15% 80%, color-mix(in srgb, var(--wp--preset--color--accent) 18%, transparent), transparent 70%);
    z-index: -1;
    pointer-events: none;
}

.hero .wp-block-search__inside-wrapper {
    background: var(--wp--preset--color--base);
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--wp--custom--radius--pill);
    padding: 0.3rem 0.3rem 0.3rem 1.1rem;
    box-shadow: var(--wp--custom--shadow--card);
}

.hero .wp-block-search__input {
    border: 0;
    background: transparent;
    font-size: var(--wp--preset--font-size--medium);
    min-block-size: 44px;
}

.hero .wp-block-search__input:focus-visible {
    outline-offset: -3px;
}

.hero .wp-block-search__button {
    border-radius: var(--wp--custom--radius--pill);
    min-block-size: 44px;
}

/* ---- sezioni ----------------------------------------------------------------- */

.section-head {
    align-items: end;
    border-block-end: 1px solid var(--wp--preset--color--hairline);
    padding-block-end: var(--wp--preset--spacing--30);
}

.section-head a {
    display: inline-flex;
    align-items: center;
    min-block-size: 24px;
    font-weight: 600;
    text-decoration: none;
}

.section-head a:hover {
    text-decoration: underline;
}

/* Numerali dei passi: decorativi (aria-hidden) ma in colore di marca pieno, cosi' reggono
   il 4,5:1 anche per chi li legge — un numero tinto "di gusto" era la prima violazione axe. */
.step-number {
    font-family: var(--wp--preset--font-family--display);
    font-size: var(--wp--preset--font-size--huge);
    line-height: 1;
    letter-spacing: -0.04em;
    color: var(--wp--preset--color--brand);
}

/* ---- comunicato singolo ------------------------------------------------------- */

.lead,
.tc-lead {
    font-size: var(--wp--preset--font-size--large);
    line-height: 1.5;
    color: var(--wp--preset--color--muted);
    max-inline-size: var(--wp--custom--measure--lead);
    text-wrap: pretty;
}

.entry-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1.25rem;
    align-items: center;
    color: var(--wp--preset--color--muted);
    font-size: var(--wp--preset--font-size--small);
    padding-block: var(--wp--preset--spacing--40);
    border-block: 1px solid var(--wp--preset--color--hairline);
}

.entry-meta a {
    color: var(--wp--preset--color--contrast);
    font-weight: 600;
    text-decoration: none;
}

.entry-meta a:hover {
    color: var(--wp--preset--color--brand);
    text-decoration: underline;
}

.tc-dateline {
    font-variant-numeric: tabular-nums;
}

.tc-dateline__place {
    font-weight: 600;
    color: var(--wp--preset--color--contrast);
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.tc-box {
    padding: var(--wp--preset--spacing--50);
    border: 1px solid var(--wp--preset--color--hairline);
    border-radius: var(--wp--custom--radius--lg);
    background: var(--wp--preset--color--surface);
}

.tc-box__title {
    margin: 0 0 var(--wp--preset--spacing--20);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--wp--preset--color--muted);
    font-family: var(--wp--preset--font-family--body);
}

.tc-box__name {
    font-family: var(--wp--preset--font-family--display);
    font-size: var(--wp--preset--font-size--large);
    letter-spacing: -0.01em;
}

.tc-box dl {
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 0.35rem 1rem;
    margin: 0;
}

.tc-box dt {
    color: var(--wp--preset--color--muted);
}

.tc-box dd {
    margin: 0;
}

.tc-embargo {
    border-color: var(--wp--preset--color--brand);
    background: var(--wp--preset--color--brand-tint);
}

.tc-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--wp--preset--spacing--30);
}

.tc-list a {
    text-decoration: none;
    color: var(--wp--preset--color--contrast);
    font-weight: 600;
}

.tc-list a:hover {
    color: var(--wp--preset--color--brand);
    text-decoration: underline;
}

.tc-list time {
    display: block;
    color: var(--wp--preset--color--muted);
    font-size: var(--wp--preset--font-size--small);
}

.tc-highlights {
    display: grid;
    gap: var(--wp--preset--spacing--50);
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.tc-highlights h3 {
    padding-block-end: var(--wp--preset--spacing--20);
    border-block-end: 2px solid var(--wp--preset--color--brand);
    margin-block-end: var(--wp--preset--spacing--30);
}

.tc-highlights h3 a {
    text-decoration: none;
    color: inherit;
}

.tc-highlights h3 a:hover {
    color: var(--wp--preset--color--brand);
}

.tag-cloud .wp-block-post-terms a {
    display: inline-block;
    padding: 0.2em 0.7em;
    margin: 0 0.25em 0.35em 0;
    border: 1px solid var(--wp--preset--color--hairline);
    border-radius: var(--wp--custom--radius--pill);
    font-size: var(--wp--preset--font-size--small);
    color: var(--wp--preset--color--muted);
    text-decoration: none;
}

.tag-cloud .wp-block-post-terms a:hover {
    color: var(--wp--preset--color--brand);
    border-color: var(--wp--preset--color--brand);
}

.tag-cloud .wp-block-post-terms__separator {
    display: none;
}

/* ---- moduli (registrazione, blocchi del plugin) --------------------------------------- */

.tc-form {
    display: grid;
    gap: var(--wp--preset--spacing--50);
    max-inline-size: 34rem;
}

.tc-form__intro,
.tc-field__hint {
    color: var(--wp--preset--color--muted);
    font-size: var(--wp--preset--font-size--small);
    margin: 0;
}

.tc-field {
    display: grid;
    gap: 0.4rem;
    border: 0;
    padding: 0;
    margin: 0;
    min-inline-size: 0;
}

.tc-field label,
.tc-field legend {
    font-weight: 600;
    font-size: var(--wp--preset--font-size--small);
}

.tc-field input[type="text"],
.tc-field input[type="email"],
.tc-field input[type="password"],
.tc-field textarea {
    inline-size: 100%;
    min-block-size: 44px;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--wp--custom--radius--sm);
    background: var(--wp--preset--color--base);
    color: var(--wp--preset--color--contrast);
    font: inherit;
}

.tc-field input:focus-visible {
    border-color: var(--wp--preset--color--brand);
}

.tc-field.is-invalid input,
.tc-field.is-invalid textarea {
    border-color: var(--wp--preset--color--brand-dark);
    border-width: 2px;
}

.tc-field__error {
    margin: 0;
    color: var(--wp--preset--color--brand-dark);
    font-size: var(--wp--preset--font-size--small);
    font-weight: 600;
}

.tc-field--check,
.tc-field--radio {
    display: grid;
    grid-template-columns: 1.5rem 1fr;
    gap: 0.35rem 0.6rem;
    align-items: start;
}

.tc-field--check input,
.tc-field--radio input {
    inline-size: 1.5rem;
    block-size: 1.5rem;
    margin: 0.1rem 0 0;
    accent-color: var(--wp--preset--color--brand);
}

.tc-field--check label,
.tc-field--radio label {
    font-weight: 400;
    font-size: var(--wp--preset--font-size--medium);
}

.tc-field--check .tc-field__error {
    grid-column: 1 / -1;
}

.tc-form__alert {
    padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--50);
    border: 2px solid var(--wp--preset--color--brand-dark);
    border-radius: var(--wp--custom--radius--md);
    background: var(--wp--preset--color--brand-tint);
}

.tc-form__alert ul {
    margin: 0.5rem 0 0;
    padding-inline-start: 1.25rem;
}

.tc-form__actions {
    margin: 0;
}

.tc-form__actions button {
    min-block-size: 48px;
    cursor: pointer;
}

.tc-form__help {
    margin: 0;
    color: var(--wp--preset--color--muted);
    font-size: var(--wp--preset--font-size--small);
}

/* Honeypot: fuori schermo, fuori dal tab order, invisibile alle tecnologie assistive. */
.tc-hp {
    position: absolute;
    inset-inline-start: -10000px;
    inline-size: 1px;
    block-size: 1px;
    overflow: hidden;
}

/* Segnalazione: un disclosure discreto in fondo al comunicato. */
.tc-report {
    margin-block-start: var(--wp--preset--spacing--50);
    font-size: var(--wp--preset--font-size--small);
}

.tc-report summary {
    cursor: pointer;
    color: var(--wp--preset--color--muted);
    font-weight: 600;
    padding: 0.5rem 0;
}

.tc-report summary:hover {
    color: var(--wp--preset--color--brand);
}

.tc-report__form {
    margin-block-start: var(--wp--preset--spacing--40);
    padding: var(--wp--preset--spacing--50);
    border: 1px solid var(--wp--preset--color--hairline);
    border-radius: var(--wp--custom--radius--lg);
    background: var(--wp--preset--color--surface);
}

.tc-report__form select {
    inline-size: 100%;
    min-block-size: 44px;
    padding: 0.55rem 0.85rem;
    border: 1px solid var(--wp--preset--color--line);
    border-radius: var(--wp--custom--radius--sm);
    background: var(--wp--preset--color--base);
    font: inherit;
}

.tc-report__notice {
    margin: 0 0 var(--wp--preset--spacing--30);
    font-weight: 600;
}

/* ---- paginazione ---------------------------------------------------------------- */

.wp-block-query-pagination {
    padding-block-start: var(--wp--preset--spacing--50);
    border-block-start: 1px solid var(--wp--preset--color--hairline);
}

.wp-block-query-pagination-numbers .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 2.5rem;
    min-block-size: 2.5rem;
    padding-inline: 0.5rem;
    border-radius: var(--wp--custom--radius--sm);
}

.wp-block-query-pagination-numbers .page-numbers.current {
    background: var(--wp--preset--color--contrast);
    color: var(--wp--preset--color--base);
}

.wp-block-query-pagination-numbers a.page-numbers:hover {
    background: var(--wp--preset--color--surface);
}

/* ---- piè di pagina ----------------------------------------------------------------- */

.site-footer a {
    color: inherit;
    text-decoration: none;
}

.site-footer a:hover {
    text-decoration: underline;
    text-decoration-color: var(--wp--preset--color--accent);
}

.site-footer .wp-block-navigation a {
    color: var(--wp--preset--color--mist);
    font-weight: 400;
    padding: 0.25rem 0;
}

.site-footer .wp-block-navigation a:hover {
    color: var(--wp--preset--color--base);
}

.site-footer__mark {
    display: inline-block;
    inline-size: 2.5rem;
    block-size: 0.25rem;
    border-radius: var(--wp--custom--radius--pill);
    background: var(--wp--preset--color--accent);
}

.site-footer__bottom {
    border-block-start: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 14%, transparent);
    padding-block-start: var(--wp--preset--spacing--40);
}

/* ---- movimento ridotto -------------------------------------------------------------- */

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    .card:hover {
        transform: none;
    }
}

/* ---- stampa ------------------------------------------------------------------------ */

@media print {
    .site-header,
    .site-footer,
    .wp-block-query-pagination,
    .tc-related {
        display: none !important;
    }
}
