/* ViralScopeHub site polish v3 — typography, spacing, cards, header/footer, mobile. Keeps brand colors. */
:root{
  --vsh-radius:14px;
  --vsh-shadow:0 1px 2px rgba(15,23,42,.06),0 8px 24px rgba(15,23,42,.06);
  --vsh-shadow-hover:0 2px 6px rgba(15,23,42,.08),0 12px 28px rgba(15,23,42,.1);
  --vsh-leading:1.65;
}
html{scroll-behavior:smooth}
body{line-height:var(--vsh-leading);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
.wrap{max-width:1100px}
.site-header{backdrop-filter:saturate(1.2) blur(8px);-webkit-backdrop-filter:saturate(1.2) blur(8px)}
.hbar{gap:12px;min-height:64px;align-items:center}
.logo{gap:10px;font-weight:750;letter-spacing:-.01em}
.logo img{border-radius:9px;box-shadow:0 0 0 1px rgba(15,23,42,.06)}
.logo-text{font-size:1.05rem}
#site-nav{gap:2px;flex-wrap:wrap}
#site-nav a{border-radius:999px;padding:8px 11px;font-weight:600;font-size:.92rem}
#site-nav a:hover{background:color-mix(in srgb,var(--primary) 10%,transparent)}
main h1{letter-spacing:-.02em;line-height:1.2;margin-bottom:.45em}
main h2{letter-spacing:-.015em;line-height:1.25;margin-top:1.6em}
main .lead,.prose p,.news-body p{line-height:var(--vsh-leading)}
.prose,.news-body{font-size:1.05rem}
.prose p+p,.news-body p+p{margin-top:1em}
.tool-card,.cat-card,.pop-card,.news-card,.post-card,.ls-card,.ck-card{
  border-radius:var(--vsh-radius)!important;
  box-shadow:var(--vsh-shadow);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.tool-card:hover,.cat-card:hover,.pop-card:hover,.news-card:hover,.post-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--vsh-shadow-hover);
}
.grid,.cat-grid,.news-grid{gap:16px}
.share-bar{gap:8px;flex-wrap:wrap;padding:12px 0;margin:1.25rem 0}
.share-btn{border-radius:999px;padding:8px 12px;font-weight:600}
.foot-brand .logo{margin-bottom:6px}
.foot-by-vsh{letter-spacing:.06em;text-transform:uppercase;font-size:.78rem!important;opacity:.85}
.foot-disclaimer{line-height:1.55;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border)}
.site-footer{padding:2.25rem 0 2.75rem}
.crumbs{font-size:.9rem;margin-bottom:1rem}
.chip,.small-btn{border-radius:999px}
.ls-filter{border-radius:12px!important}
@media (max-width:720px){
  .hbar{min-height:56px}
  #site-nav a{padding:7px 9px;font-size:.86rem}
  main h1{font-size:1.65rem}
  .prose,.news-body{font-size:1.02rem}
  .grid,.cat-grid,.news-grid{gap:12px}
  .tool-card,.cat-card,.news-card{border-radius:12px!important}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .tool-card,.cat-card,.pop-card,.news-card,.post-card{transition:none}
}

/* vsh-tool-ux-v1 */
.tool-page .tool-trust{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.tool-page .tool-trust li{font-size:.78rem;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:999px;background:var(--soft);color:var(--muted);border:1px solid var(--border)}
.tool-page .tool-trust li.ok{color:var(--primary);border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
.tool-page .howto{margin:0 0 10px;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--primary) 8%,var(--card));border:1px solid color-mix(in srgb,var(--primary) 22%,var(--border));font-size:.95rem}
.tool-page .tool.card-box{margin-top:8px;position:relative}
.tool-page .tool.card-box .big-answer{font-size:1.35rem;line-height:1.35;margin:0 0 10px}
.tool-page .tool.card-box #answer,
.tool-page .tool.card-box input[readonly]{font-weight:800;font-size:1.15rem;font-variant-numeric:tabular-nums}
.tool-ux-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0 4px}
.tool-ux-bar .btn,.tool-ux-copy,.tool-ux-share{font-size:.85rem;padding:6px 12px;border-radius:999px;cursor:pointer}
.tool-ux-bar .is-ok{color:var(--primary)}
.tool-page .faq details{border:1px solid var(--border);border-radius:12px;padding:2px 12px;margin:0 0 8px;background:var(--card)}
.tool-page .faq details[open]{border-color:color-mix(in srgb,var(--primary) 35%,var(--border))}
.tool-page .faq summary{cursor:pointer;font-weight:700;padding:10px 0}
.tool-page .faq details p{margin:0 0 12px;color:var(--muted)}
.tool-page .related .grid{margin-top:8px}
.tool-variant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:12px 0 4px}
.tool-variant-grid a{display:block;padding:10px 12px;border-radius:12px;border:1px solid var(--border);background:var(--soft);text-decoration:none;font-weight:650;font-size:.88rem;color:inherit}
.tool-variant-grid a:hover{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,var(--card))}
@media (min-width:900px){
  .tool-page main.wrap > .tool.card-box{scroll-margin-top:12px}
}
