/* Adblock Test - design dedicato. Riusa i token del design system (--c-*, --r-*,
   --s-*) con fallback literal. Semantica colore: bloccato = verde (bene),
   raggiungibile = rosso (male). */

.abt-intro-lead { font-size: 1.02rem; color: var(--c-ink-soft, #475569); margin: 0 0 var(--s-4, 1rem); }

/* ===== Progress ===== */
.abt-progress { margin: var(--s-4, 1rem) 0; }
.abt-progress-track { height: 10px; border-radius: 999px; background: var(--c-line, #e2e8f0); overflow: hidden; }
.abt-progress-bar { display: block; height: 100%; width: 0; border-radius: 999px;
    background: linear-gradient(90deg, #0065c0, #00a3ff); transition: width .25s ease; }
.abt-progress-text { margin: var(--s-2, .5rem) 0 0; font-size: .85rem; color: var(--c-ink-mute, #64748b); font-family: var(--font-mono, monospace); }

.abt-results { margin-top: var(--s-4, 1rem); display: grid; gap: var(--s-4, 1rem); }

/* ===== What is my DNS (prominente in cima) ===== */
.abt-dns {
    display: flex; align-items: center; gap: var(--s-4, 1rem);
    padding: var(--s-4, 1rem) var(--s-5, 1.25rem);
    border-radius: var(--r-lg, 14px);
    background: linear-gradient(135deg, #0f172a, #1e3a5f);
    color: #fff;
}
.abt-dns-ic { flex: 0 0 auto; opacity: .9; }
.abt-dns-ic svg { width: 34px; height: 34px; }
.abt-dns-body { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.abt-dns-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; opacity: .75; }
.abt-dns-val { font-size: 1.15rem; font-weight: 700; }
.abt-dns-val code { font-family: var(--font-mono, monospace); font-size: 1.05rem; }
.abt-dns-val strong { color: #6ee7b7; }
.abt-dns-geo { font-size: .85rem; opacity: .8; }
.abt-dns-row { display: flex; flex-wrap: wrap; gap: .4rem .75rem; align-items: baseline; font-size: .95rem; line-height: 1.5; }
.abt-dns-k { flex: 0 0 7.5rem; font-size: .72rem; text-transform: uppercase; letter-spacing: .05em; opacity: .7; }
.abt-dns-v { font-weight: 600; }
.abt-dns-v code { font-family: var(--font-mono, monospace); font-weight: 700; }
.abt-dns-v strong { color: #6ee7b7; }
.abt-dns-v em { font-weight: 400; opacity: .8; font-style: normal; font-size: .85rem; }
.abt-dns-note { font-size: .82rem; opacity: .8; margin-top: .2rem; }

/* Esche cosmetiche statiche: fuori schermo ma renderizzate (altezza > 0 se non
   nascoste dal blocker). Nessun !important: cosi' il display:none!important di
   uBO/AdGuard vince e l'altezza va a 0 = rilevato. */
#abt-baits { position: absolute; left: -9999px; top: 0; width: 1px; height: 1px; overflow: visible; }
#abt-baits > div { display: block; width: 320px; height: 20px; background: transparent; }

/* ===== Verdetto ===== */
.abt-verdict {
    display: flex; gap: var(--s-4, 1rem); align-items: flex-start;
    padding: var(--s-5, 1.25rem); border-radius: var(--r-lg, 14px);
    border: 1px solid var(--c-line, #e2e8f0); border-left-width: 5px; background: var(--c-bg-card, #fff);
}
.abt-verdict-icon svg { width: 38px; height: 38px; }
.abt-verdict-text h3 { margin: 0 0 .35rem; font-size: 1.25rem; }
.abt-verdict-text p { margin: 0; color: var(--c-ink-soft, #475569); line-height: 1.55; }
.abt-verdict--none     { border-left-color: #dc2626; background: #fef2f2; }
.abt-verdict--none .abt-verdict-icon     { color: #b91c1c; }
.abt-verdict--partial  { border-left-color: #d97706; background: #fffbeb; }
.abt-verdict--partial .abt-verdict-icon  { color: #b45309; }
.abt-verdict--dns      { border-left-color: #2563eb; background: #eff6ff; }
.abt-verdict--dns .abt-verdict-icon      { color: #1d4ed8; }
.abt-verdict--full_ext { border-left-color: #16a34a; background: #f0fdf4; }
.abt-verdict--full_ext .abt-verdict-icon { color: #15803d; }

/* ===== Gauges ===== */
.abt-gauges { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s-4, 1rem); }
@media (max-width: 560px) { .abt-gauges { grid-template-columns: 1fr; } }
.abt-gauge {
    display: flex; align-items: center; gap: var(--s-4, 1rem);
    padding: var(--s-4, 1rem) var(--s-5, 1.25rem); border-radius: var(--r-lg, 14px);
    border: 1px solid var(--c-line, #e2e8f0); background: var(--c-bg-card, #fff);
    box-shadow: var(--shadow-card, 0 1px 3px rgba(0,0,0,.06));
}
.abt-gauge-ring {
    --abt-color: #64748b; position: relative; width: 92px; height: 92px; flex: 0 0 92px; border-radius: 50%;
    background: conic-gradient(var(--abt-color) calc(var(--abt-pct) * 1%), var(--c-line, #e8edf3) 0);
}
.abt-gauge-ring::after { content: ""; position: absolute; inset: 10px; border-radius: 50%; background: var(--c-bg-card, #fff); }
.abt-gauge-pct { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
    font-weight: 800; font-size: 1.45rem; color: var(--c-ink, #0f172a); z-index: 1; }
.abt-gauge-pct small { font-size: .72rem; font-weight: 700; margin-left: 1px; align-self: flex-start; margin-top: .55rem; }
.abt-gauge-meta { display: flex; flex-direction: column; gap: 4px; }
.abt-gauge-title { font-weight: 700; color: var(--c-ink, #0f172a); font-size: 1.02rem; }
.abt-gauge-badge { align-self: flex-start; font-size: .8rem; font-weight: 700; color: #fff; background: var(--abt-color, #64748b);
    padding: .1rem .5rem; border-radius: 999px; }
.abt-gauge-sub { font-size: .82rem; color: var(--c-ink-mute, #64748b); }

/* Gradi -> colore (gauge + barre + chip score) */
.abt-grade-A { --abt-color: #16a34a; }
.abt-grade-B { --abt-color: #65a30d; }
.abt-grade-C { --abt-color: #d97706; }
.abt-grade-D { --abt-color: #ea580c; }
.abt-grade-F { --abt-color: #dc2626; }

/* ===== Legenda ===== */
.abt-legend { display: flex; flex-wrap: wrap; gap: var(--s-3, .75rem); margin: 0; font-size: .85rem; }
.abt-legend-i { display: inline-flex; align-items: center; gap: .35rem; padding: .25rem .6rem; border-radius: 999px; }

/* ===== Blocchi ===== */
.abt-block { padding: var(--s-4, 1rem) var(--s-5, 1.25rem); border-radius: var(--r-lg, 14px);
    border: 1px solid var(--c-line, #e2e8f0); background: var(--c-bg-card, #fff); }
.abt-block-title { margin: 0 0 var(--s-3, .75rem); font-size: 1.05rem; }
.abt-count { display: inline-block; min-width: 1.4em; padding: 0 .5em; border-radius: 999px;
    background: var(--c-line, #e2e8f0); color: var(--c-ink, #0f172a); font-size: .82rem; text-align: center; font-weight: 700; }
.abt-note { margin: 0 0 var(--s-3, .75rem); color: var(--c-ink-soft, #475569); font-size: .9rem; line-height: 1.55; }
.abt-note--ok { color: #15803d; font-weight: 600; }

/* ===== Gruppo categoria ===== */
.abt-group { margin-bottom: var(--s-4, 1rem); }
.abt-group:last-child { margin-bottom: 0; }
.abt-group-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: .35rem; }
.abt-group-title { font-weight: 600; color: var(--c-ink, #0f172a); }
.abt-group-score { font-family: var(--font-mono, monospace); font-weight: 700; font-size: .9rem; color: var(--abt-color, #64748b); }
.abt-group-bar { height: 8px; border-radius: 999px; background: var(--c-line, #eef2f6); overflow: hidden; margin-bottom: var(--s-3, .75rem); }
.abt-group-fill { display: block; height: 100%; border-radius: 999px; background: var(--abt-color, #64748b); transition: width .4s ease; }

/* ===== Chips (stato per servizio) ===== */
.abt-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.abt-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .3rem .6rem;
    border-radius: 8px; font-size: .82rem; border: 1px solid transparent; line-height: 1.2; }
.abt-chip-ic { display: inline-flex; }
.abt-chip-ic svg { width: 13px; height: 13px; }
.abt-chip--ok  { background: #f0fdf4; color: #15803d; border-color: #bbf7d0; }
.abt-chip--off { background: #fef2f2; color: #b91c1c; border-color: #fecaca; }

/* ===== Slipped ===== */
.abt-slipped { list-style: none; margin: var(--s-3, .75rem) 0 0; padding: 0; display: grid; gap: .3rem;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.abt-slipped li { display: flex; align-items: baseline; gap: .5rem; font-size: .86rem; }
.abt-slipped code { font-family: var(--font-mono, monospace); color: var(--c-ink, #0f172a); }
.abt-slipped-svc { color: var(--c-ink-mute, #64748b); font-size: .8rem; }

/* ===== Azioni ===== */
.abt-actions { display: flex; flex-wrap: wrap; gap: var(--s-2, .5rem); margin-top: var(--s-3, .75rem); }
.abt-actions--foot { margin-top: 0; }

/* ===== Privacy note ===== */
.abt-privacy { display: flex; align-items: center; gap: .5rem; margin: var(--s-4, 1rem) 0 0;
    font-size: .84rem; color: var(--c-ink-mute, #64748b); }
.abt-privacy svg { flex: 0 0 auto; color: #15803d; }
