/* ===== Font self-hosted (Kanit + Raleway) — no Google CDN: privacy/GDPR + offline ===== */
@font-face{font-family:'Kanit';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/kanit-300-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Kanit';font-style:normal;font-weight:300;font-display:swap;src:url('../fonts/kanit-300-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Kanit';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/kanit-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Kanit';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/kanit-400-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Kanit';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/kanit-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Kanit';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/kanit-500-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Raleway';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/raleway-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Raleway';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/raleway-600-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Raleway';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/raleway-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Raleway';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/raleway-700-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Raleway';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/raleway-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Raleway';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/raleway-800-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+2113, U+2C60-2C7F, U+A720-A7FF;}

/* ===== Banner stato di pubblicazione (dashboard) ===== */
.pub-banner { display:flex; align-items:center; gap:12px; background:#fff7ed; border:1px solid #fed7aa; color:#9a3412; border-radius:12px; padding:12px 18px; margin-bottom:16px; text-decoration:none; font-size:14px; }
.pub-banner .material-symbols-outlined { color:#ea580c; font-size:22px; }
.pub-banner .pub-cta { margin-left:auto; font-weight:700; color:#c2410c; white-space:nowrap; }
.pub-banner:hover { background:#ffedd5; }
.pub-banner.ok { background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.pub-banner.ok .material-symbols-outlined { color:#059669; }
.oggi-strip { font-size:13px; color:#475569; background:#f8fafc; border:1px solid #e8edf5; border-radius:10px; padding:9px 16px; margin-bottom:20px; }
.oggi-strip b { color:#1e293b; }

/* ===== Responsive: tabelle larghe scrollano dentro il contenitore (no overflow pagina) ===== */
.tbl-scroll { overflow-x: auto; max-width: 100%; -webkit-overflow-scrolling: touch; }

/* ===== Accessibilità: focus visibile da tastiera (WCAG) ===== */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, [tabindex]:focus-visible, [role="button"]:focus-visible {
    outline: 2px solid #2563eb !important;
    outline-offset: 2px;
    border-radius: 4px;
}

body,
input, select, textarea, button,
.font-sans, .font-normal, .font-light, .font-medium {
    font-family: 'Kanit', ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

/* tutto il grassetto in Raleway */
strong, b, th,
h1, h2, h3, h4, h5,
.font-semibold, .font-bold,
[class*="font-semibold"], [class*="font-bold"],
.st-num, .st-lbl, .badge-padre, .fam-mark {
    font-family: 'Raleway', ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif !important;
}

/* ===== Stat tiles colorate (colori espliciti: non dipendono dal build Tailwind di unfold) ===== */
.stat-tile { display: flex; flex-direction: column; gap: 1rem; padding: 1.25rem; border: 1px solid; border-radius: .85rem; }
.stat-tile .st-top { display: flex; align-items: center; gap: .75rem; }
.stat-tile .st-chip { width: 2.5rem; height: 2.5rem; border-radius: .75rem; display: flex; align-items: center; justify-content: center; color: #fff; flex: none; }
.stat-tile .st-lbl { font-size: .7rem; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.stat-tile .st-num { font-size: 1.95rem; font-weight: 700; line-height: 1; }
.stat-tile .st-sub { font-size: .75rem; margin-top: .3rem; }
.stat-tile.link { transition: box-shadow .15s ease, transform .12s ease; }
.stat-tile.link:hover { box-shadow: 0 8px 22px rgba(20,30,60,.10); transform: translateY(-1px); }

/* ===== Voce menu "Dismessi" in rosso ===== */
a[href*="/abbinatore/dismesso/"] { color: #dc2626 !important; }
a[href*="/abbinatore/dismesso/"] .material-symbols-outlined,
a[href*="/abbinatore/dismesso/"] span { color: #dc2626 !important; }

/* ===== Colonna "Abbina" ancorata a destra: resta sempre visibile ===== */
/* la tabella articoli è molto larga: fissiamo l'ultima colonna al bordo destro */
#result_list th.column-abbina_btn,
#result_list td.field-abbina_btn,
#result_list th.column-ripristina_btn,
#result_list td.field-ripristina_btn {
    position: sticky;
    right: 0;
    z-index: 2;
    background: #fff;
    text-align: center;
    box-shadow: -10px 0 12px -10px rgba(20, 30, 60, .25);
}

.st-blue    { background:#eff6ff; border-color:#dbeafe } .st-blue .st-chip{background:#2563eb} .st-blue .st-lbl,.st-blue .st-num{color:#1e40af} .st-blue .st-sub{color:#3b82f6}
.st-violet  { background:#f5f3ff; border-color:#ede9fe } .st-violet .st-chip{background:#7c3aed} .st-violet .st-lbl,.st-violet .st-num{color:#5b21b6} .st-violet .st-sub{color:#8b5cf6}
.st-emerald { background:#ecfdf5; border-color:#d1fae5 } .st-emerald .st-chip{background:#059669} .st-emerald .st-lbl,.st-emerald .st-num{color:#065f46} .st-emerald .st-sub{color:#10b981}
.st-amber   { background:#fffbeb; border-color:#fde68a } .st-amber .st-chip{background:#d97706} .st-amber .st-lbl,.st-amber .st-num{color:#92400e} .st-amber .st-sub{color:#b45309}
.st-rose    { background:#fff1f2; border-color:#ffe4e6 } .st-rose .st-chip{background:#e11d48} .st-rose .st-lbl,.st-rose .st-num{color:#9f1239} .st-rose .st-sub{color:#e11d48}
