/* HeftySEO — packages & tools add-on styles (uses the tokens in style.css) */
.hero.hs-hero-compact{min-height:0;padding:140px 0 56px}
.hero.hs-hero-compact:before{display:none}
.hs-crumb{font-size:.9rem;color:var(--muted);margin-bottom:1rem}
.hs-crumb a{color:inherit}

/* catalogue cards */
.hs-card{display:flex;flex-direction:column;height:100%;position:relative}
.hs-card h3 a{color:inherit;text-decoration:none}
.hs-card h3 a:hover{color:var(--brand-2)}
.hs-card .feature-list{margin-bottom:1.25rem}
.hs-filter{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:2rem}
.hs-filter button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:.55rem 1.1rem;font-weight:800;color:#344054}
.hs-filter button.active,.hs-filter button:hover{background:linear-gradient(135deg,var(--brand-2),var(--brand-3));color:#fff;border-color:transparent}
.hs-grid-item[hidden]{display:none!important}

/* product page */
.hs-buybox{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:1.75rem;position:sticky;top:110px}
.hs-buybox .price{font-size:2.4rem}
.hs-facts{list-style:none;padding:0;margin:1rem 0 1.25rem}
.hs-facts li{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px dashed var(--line);font-size:.95rem}
.hs-facts li span:last-child{font-weight:800;text-align:right}
.hs-incl{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.75rem;margin:1rem 0 2rem}
.hs-incl div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:.9rem 1rem;font-weight:650}
.hs-incl i{color:var(--success);margin-right:.5rem}
.hs-outcomes li{margin-bottom:.5rem}
.hs-compare{background:#fff}
.hs-compare td,.hs-compare th{vertical-align:top}
.hs-compare .yes{color:var(--success);font-weight:900}

/* tool cards */
.hs-toolcard{display:flex;flex-direction:column;gap:.5rem;height:100%;padding:1.6rem;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-sm);text-decoration:none;color:var(--ink);transition:transform .2s,box-shadow .2s}
.hs-toolcard:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);color:var(--ink)}
.hs-toolcard strong{font-size:1.2rem;letter-spacing:-.02em}
.hs-toolcard em{font-style:normal;font-weight:850;color:var(--brand-2);margin-top:auto}
.hs-toolicon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;color:#fff;font-size:1.25rem;background:linear-gradient(135deg,var(--brand-2),var(--brand-3))}

/* tool layout */
.hs-panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:1.75rem;height:100%}
.hs-panel h2{font-size:1.4rem;font-weight:900;letter-spacing:-.03em}
.hs-panel .form-label{font-weight:800;font-size:.92rem;margin-bottom:.3rem}
.hs-hint{font-size:.83rem;color:var(--muted);margin-top:.25rem}
.hs-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem;margin-bottom:1.25rem}
.hs-stat{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:1rem}
.hs-stat small{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:800}
.hs-stat b{display:block;font-size:1.55rem;font-weight:900;letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin-top:.2rem}
.hs-stat.good{background:#ecfdf3;border-color:#abefc6}.hs-stat.good b{color:#067647}
.hs-stat.bad{background:#fef3f2;border-color:#fecdca}.hs-stat.bad b{color:#b42318}
.hs-verdict{border-radius:18px;padding:1rem 1.2rem;font-weight:750;margin-bottom:1.25rem}
.hs-verdict.good{background:#ecfdf3;color:#067647}
.hs-verdict.warn{background:#fffaeb;color:#b54708}
.hs-verdict.bad{background:#fef3f2;color:#b42318}
.hs-note{font-size:.85rem;color:var(--muted);background:var(--soft);border-radius:14px;padding:.8rem 1rem}

/* checks list (SERP + analyzer) */
.hs-checks{list-style:none;padding:0;margin:0 0 1rem;display:grid;gap:.5rem}
.hs-checks li{display:flex;gap:.65rem;align-items:flex-start;font-size:.95rem}
.hs-checks i{margin-top:.25rem;width:16px;text-align:center}
.hs-checks .ok i{color:var(--success)}.hs-checks .warn i{color:#dc6803}.hs-checks .bad i{color:#d92d20}

/* SERP preview */
.hs-serp{font-family:Arial,sans-serif;background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.2rem 1.3rem;max-width:652px;margin-bottom:1.25rem}
.hs-serp-site{display:flex;align-items:center;gap:.6rem;margin-bottom:.35rem}
.hs-serp-fav{width:28px;height:28px;border-radius:50%;background:#f1f3f4;display:grid;place-items:center;font-size:.8rem;color:#5f6368;font-weight:700}
.hs-serp-name{font-size:14px;color:#202124;line-height:1.2}
.hs-serp-url{font-size:12px;color:#4d5156;line-height:1.3;word-break:break-all}
.hs-serp-title{font-size:20px;line-height:1.3;color:#1a0dab;margin:0 0 .25rem;font-weight:400;overflow-wrap:anywhere}
.hs-serp-desc{font-size:14px;line-height:1.58;color:#4d5156;margin:0;overflow-wrap:anywhere}
.hs-serp.mobile{max-width:400px}
.hs-meter{height:8px;border-radius:999px;background:#eaecf0;overflow:hidden;margin:.35rem 0 .2rem}
.hs-meter div{height:100%;border-radius:999px;transition:width .2s}
.hs-counter{display:flex;justify-content:space-between;font-size:.8rem;color:var(--muted)}

/* density table + code output */
.hs-kw-table{font-size:.92rem}
.hs-code{position:relative}
.hs-code pre{background:#0c111d;color:#e4e7ec;border-radius:18px;padding:1.2rem;font-size:.82rem;max-height:520px;overflow:auto;margin:0;white-space:pre-wrap;word-break:break-word}
.hs-code .btn{position:absolute;top:.7rem;right:.7rem}
.hs-faq-row{border:1px dashed var(--line);border-radius:14px;padding:.75rem;margin-bottom:.6rem;background:var(--soft)}

/* quiz */
.hs-quiz{max-width:820px;margin:0 auto}
.hs-progress{height:8px;background:#eaecf0;border-radius:999px;overflow:hidden;margin-bottom:1.5rem}
.hs-progress div{height:100%;background:linear-gradient(90deg,var(--brand-2),var(--brand-3));transition:width .3s}
.hs-step[hidden]{display:none}
.hs-opts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;margin:1.25rem 0 1.5rem}
.hs-opt{position:relative;margin:0}
.hs-opt input{position:absolute;opacity:0;pointer-events:none}
.hs-opt span{display:flex;flex-direction:column;gap:.2rem;height:100%;padding:1rem 1.1rem;border:2px solid var(--line);border-radius:18px;background:#fff;cursor:pointer}
.hs-opt span b{font-size:1.02rem}
.hs-opt span em{font-style:normal;font-size:.85rem;color:var(--muted)}
.hs-opt input:checked+span{border-color:var(--brand-2);background:rgba(21,94,239,.06)}
.hs-opt input:focus-visible+span{outline:3px solid var(--accent);outline-offset:2px}
.hs-match{display:inline-block;font-size:.78rem;font-weight:900;color:#067647;background:#ecfdf3;border-radius:999px;padding:.2rem .6rem;margin-left:.4rem}
.hs-why{font-size:.9rem;background:var(--soft);border-radius:14px;padding:.7rem .9rem;margin-bottom:1rem}

@media (max-width:991px){.hs-buybox{position:static}.hero.hs-hero-compact{padding-top:120px}}
.hs-panel[hidden]{display:none}
