/* Eligibility tool styles, used on state pages */
.btn{text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 1.3em;border-radius:6px;border:2px solid transparent;font:700 1.15rem/1 var(--display);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;text-decoration:none}
.btn-hivis{background:var(--hivis);color:var(--hivis-ink);border-color:var(--hivis)}
.btn-hivis:hover{filter:brightness(.95)}
.btn-ghost{background:transparent;color:inherit;border-color:currentColor}
header.top .btn{min-height:46px;font-size:1rem;padding:0 1em}
.tool-hero{background:var(--steel);color:#fff}
.tool-hero-inner{padding-block:28px 32px;display:grid;gap:14px}
.tool-hero p.lead{color:#d9e2ea;font-size:1.1rem;max-width:36ch}
.tool-hero-points{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:.95rem;color:#d9e2ea;list-style:none;padding:0;margin:0}
.tool-hero-points li::before{content:"";display:inline-block;width:9px;height:9px;background:var(--hivis);border-radius:2px;margin-right:7px}
.tool{background:var(--bg);color:var(--ink);border-radius:10px;padding:18px;max-width:720px;width:100%}
.tool-note{color:#d9e2ea;font-size:.88rem}
.q-progress{display:flex;gap:6px;margin-bottom:14px}
.q-progress span{flex:1;height:6px;border-radius:3px;background:var(--line)}
.q-progress span.on{background:var(--hivis)}
.q-step{font:700 .9rem var(--body);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.q-question{font:700 1.6rem/1.15 var(--display);margin:6px 0 14px}
.q-opts{display:grid;gap:10px}
.q-opts.states{grid-template-columns:1fr 1fr}
.q-opts.states{grid-template-columns:repeat(4,1fr)}
@media (max-width:600px){.q-opts.states{grid-template-columns:1fr 1fr}}
.q-opt{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:56px;padding:10px 14px;border:2px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:600 1.05rem var(--body);cursor:pointer}
.q-opt:hover{border-color:var(--ink)}
.q-opt small{display:block;color:var(--muted);font-size:.85rem;font-weight:400}
.q-back{margin-top:12px;background:none;border:0;color:var(--link);font:600 1rem var(--body);cursor:pointer;padding:6px 0}
.result{border-radius:6px;padding:16px;display:grid;gap:10px}
.result.green{background:var(--ok-bg)}
.result.amber{background:var(--amber-bg)}
.result.red{background:var(--red-bg)}
.result.grey{background:var(--grey-bg)}
.badge{display:inline-flex;align-items:center;gap:8px;font:700 .95rem var(--body);text-transform:uppercase;letter-spacing:.06em}
.badge::before{content:"";width:12px;height:12px;border-radius:50%;background:currentColor}
.green .badge{color:var(--ok)}
.amber .badge{color:var(--amber)}
.red .badge{color:var(--red)}
.grey .badge{color:var(--muted)}
.result h3{font-size:1.7rem}
.result ul{margin:0;padding-left:1.2em}
.result .rules{font-size:.98rem;border-top:1px solid var(--line);padding-top:10px}
.result .rules strong{font-family:var(--display);text-transform:uppercase;letter-spacing:.03em}
.result .actions{display:flex;flex-wrap:wrap;gap:10px}
.fine{font-size:.88rem;color:var(--muted)}
.callcard .btn-hivis{background:#ffd400;color:#16202b;border-color:#ffd400;justify-self:start}

/* Jargon Buster — click (not hover), in-place, easy to close. Same module everywhere on the site. */
.jargon-term{display:inline-flex;align-items:center;gap:3px;border-bottom:2px dotted currentColor;cursor:pointer;font-weight:inherit}
.jargon-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--hivis);color:var(--hivis-ink);font:800 .68rem/1 var(--body);flex:none}
.jargon-modal{position:fixed;inset:0;background:rgba(10,18,26,.55);display:none;align-items:center;justify-content:center;padding:20px;z-index:80}
.jargon-modal.open{display:flex}
.jargon-card{background:var(--surface);color:var(--ink);border-radius:10px;max-width:420px;width:100%;padding:20px;max-height:85vh;overflow:auto;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.jargon-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.jargon-head h4{font:700 1.2rem var(--display);margin:0}
.jargon-x{background:var(--bg);border:2px solid var(--line);border-radius:7px;width:34px;height:34px;font-size:1.1rem;line-height:1;cursor:pointer;color:var(--ink);flex:none}
.jargon-def{font:400 1rem/1.45 var(--body);margin:0}
.jargon-dad{margin-top:12px;background:var(--hivis);color:var(--hivis-ink);border-radius:6px;padding:12px 14px}
.jargon-dad strong{display:block;font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}

/* Licence Ready certificate strip, shown with every result */
.ready-card{border:2px dashed var(--line);border-radius:6px;padding:14px 16px;display:grid;gap:4px;text-align:center}
.ready-label{font:700 .72rem var(--body);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.ready-verdict{font:700 1.15rem var(--display)}
.ready-meta{font:600 .85rem var(--body);color:var(--muted);font-variant-numeric:tabular-nums}
.ready-green .ready-verdict{color:var(--ok)}
.ready-amber .ready-verdict{color:var(--amber)}
.ready-red .ready-verdict{color:var(--red)}
