/* =========================================================================
   Tipografia globale del sito — impostata sul riferimento Aman.
   Aman usa "Lyon" (Commercial Type, licenza a pagamento); nel loro stesso
   CSS Spectral e' dichiarato come fallback, quindi usiamo Spectral:
   stesso impianto old-style, stessa altezza della x, disponibile gratis.
   Regola chiave del look Aman: peso 400 ovunque, MAI grassetto,
   titoli grandi in 300, letter-spacing leggero.
   Va caricato PER ULTIMO, dopo style.css, in tutte le pagine frontend.
   ========================================================================= */

:root,
[data-bs-theme="light"],
[data-bs-theme="dark"] {
    --font-serif: "Spectral", "Times New Roman", Times, Georgia, serif;

    /* Variabili del tema Bootstrap/template ricondotte tutte allo stesso font */
    --bs-font-sans-serif: var(--font-serif);
    --bs-body-font-family: var(--font-serif);
    --bs-btn-font-family: var(--font-serif);
    --bs-font-family-lato: var(--font-serif);
    --bs-font-family-style-1: var(--font-serif);
    --bs-font-family-style-2: var(--font-serif);
    --bs-font-family-style-3: var(--font-serif);
    --bs-font-family-style-4: var(--font-serif);

    --bs-body-font-weight: 400;
}

/* -------------------------------------------------------------------------
   1. Famiglia — override esplicito: vince anche sui font inline salvati
      dall'editor (articoli scritti con Summernote) e sulle regole del tema.
   ------------------------------------------------------------------------- */
body,
h1, h2, h3, h4, h5, h6,
p, span, a, li, ul, ol, dl, dt, dd,
div, section, article, aside, header, footer, nav, main, figure, figcaption,
blockquote, q, cite, address, pre,
table, thead, tbody, tfoot, tr, th, td, caption,
label, legend, small, strong, b, em, u, sub, sup,
button, input, select, textarea, optgroup, option,
.btn, .nav-link, .dropdown-item, .form-control, .form-select, .form-label,
.title, .sub-title, .card-title, .card-text, .breadcrumb, .pagination,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.font-family-style-1, .font-family-style-2, .font-family-style-3, .font-family-style-4,
.article-blog-content, .article-blog-content *,
.fix-width-post-content, .fix-width-post-content-2 {
    font-family: var(--font-serif) !important;
}

/* Le icon-font NON vanno toccate: ripristino esplicito dopo l'override */
.fa, .fas, .far, .fal, .fat, .fad, .fab,
.fa-solid, .fa-regular, .fa-light, .fa-thin, .fa-duotone, .fa-brands, .fa-sharp,
[class^="fa-"], [class*=" fa-"],
i[class*="fa"] {
    font-family: var(--fa-style-family, "Font Awesome 6 Pro") !important;
}
.fab, .fa-brands, i.fab, i.fa-brands {
    font-family: var(--fa-style-family, "Font Awesome 6 Brands") !important;
}

/* -------------------------------------------------------------------------
   2. Pesi — su Aman non c'e' mai il grassetto: 400 di base, 300 sui titoli
      grandi. E' questo, piu' del disegno del carattere, a dare il "tono".
   ------------------------------------------------------------------------- */
body,
p, span, li, td, th, a, label, input, select, textarea,
.card-text, .nav-link, .dropdown-item, .breadcrumb, .pagination {
    font-weight: 400 !important;
}

/* Titoli grandi: leggeri e ariosi, come nel riferimento */
h1, h2,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6 {
    font-weight: 300 !important;
    letter-spacing: 0.01em;
    line-height: 1.15;
}

/* Titoli piccoli e occhielli: peso normale, non grassetto */
h3, h4, h5, h6,
.title, .sub-title, .card-title {
    font-weight: 400 !important;
    letter-spacing: 0.02em;
    line-height: 1.3;
}

/* Il grassetto dentro i testi resta una differenza appena percepibile */
strong, b, .fw-bold, .fw-bolder, .font-weight-bold {
    font-weight: 500 !important;
}

/* -------------------------------------------------------------------------
   3. Corpo del testo — misure prese dal riferimento Aman
   ------------------------------------------------------------------------- */
body {
    font-weight: 400;
    letter-spacing: 0.01em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

p, .card-text,
.article-blog-content p,
.article-blog-content li,
.fix-width-post-content,
.fix-width-post-content-2 {
    line-height: 1.6;
    letter-spacing: 0.01em;
}

/* Etichette piccole (categorie, date, menu): maiuscoletto spaziato, come Aman */
.nav-link,
.post-category, .categories, .blog-category,
.breadcrumb {
    letter-spacing: 0.06em;
}
