/* ============================================================================
   vulnerability-scanner.css — page-specific styles for the Vulnerability
   Scanner page. Loaded AFTER malcare.css.
   ============================================================================ */

/* ---------- hero ---------- */
.hero{padding:110px 0 90px;overflow:hidden;border-bottom:1px solid var(--ink-08)}
.hero-inner{display:grid;grid-template-columns:1.02fr .98fr;gap:60px;align-items:center}
.hero h1{font-size:clamp(36px,4.4vw,58px);margin-bottom:24px;max-width:16ch}
.hero h1 em{font-style:normal;color:var(--acc)}
.hero .lede{font-size:17px;margin-bottom:36px;max-width:52ch}
.hero .lede em{color:var(--hi);font-style:normal;font-weight:500}
.hero-ctas{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.trust-strip{display:flex;flex-wrap:wrap;border-top:1px solid var(--ink-08);padding-top:22px;font-family:var(--fm)}
.trust-strip .t{padding-right:26px;margin-right:26px;border-right:1px solid var(--ink-08)}
.trust-strip .t:last-child{border:0;margin:0;padding:0}
.trust-strip b{display:block;font-size:19px;color:var(--hi);font-weight:500;letter-spacing:-.01em}
.trust-strip span{font-size:10.5px;color:var(--mut);letter-spacing:.1em;text-transform:uppercase}
.hero-scene{position:relative;padding-bottom:118px}
.hero-scene > svg{width:100%}
.hero-log{position:absolute;right:0;bottom:0;width:min(310px,84%);font-family:var(--fm);font-size:10.5px}
.hero-log .rows{padding:8px 14px 10px;display:flex;flex-direction:column;gap:4px}
.hero-log .r{display:flex;justify-content:space-between;gap:12px;color:var(--mut);animation:rowIn .4s ease}
.hero-log .r b{font-weight:400;color:var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tag.keep{color:var(--body)}

/* ---------- figure helpers ---------- */
svg .anim-bar,svg .anim-x{transform-box:fill-box}
.fig-m{display:none}
@media(max-width:760px){.fig-d{display:none}.fig-m{display:block}}

/* ---------- updates panel (FIG. 4) ---------- */
.upd-count{padding:12px 18px;border-bottom:1px solid var(--ink-04);font-family:var(--fm);font-size:11px;color:var(--mut)}
.upd-count b{color:var(--hi);font-weight:500}
.upd-row{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:baseline;padding:12px 18px;border-bottom:1px solid var(--ink-04);font-family:var(--fm);font-size:11.5px}
.upd-row .pl{color:var(--body)}
.upd-row .ver{color:var(--mut)}
.upd-row .badge{font-size:10px;letter-spacing:.14em}
.upd-row .badge.crit{color:var(--acc)}
.upd-row .badge.sec{color:var(--warn)}
.upd-row .badge.rt{color:var(--mut);opacity:.7}
.upd-row.hot{background:rgba(255,92,56,.05);position:relative}
.upd-row.hot::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--acc)}
.resline{padding:14px 18px;border-top:1px solid var(--ink-08);font-family:var(--fm);font-size:11px;color:var(--cy)}

/* ---------- engineering expander ---------- */
details.eng{margin-top:22px;border-top:1px solid var(--ink-08)}
details.eng summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:12px;font-family:var(--fm);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cy);padding:16px 2px;user-select:none}
details.eng summary::-webkit-details-marker{display:none}
details.eng summary::before{content:"+";font-size:13px;transition:transform .2s}
details.eng[open] summary::before{content:"−"}
details.eng .eng-body{padding:2px 2px 22px;font-size:14.5px;color:var(--mut)}
details.eng .eng-body p{margin-top:12px;max-width:76ch}
details.eng .eng-body em{color:var(--body);font-style:normal}

/* ---------- responsive ---------- */
@media(max-width:1060px){
  .hero-inner{grid-template-columns:1fr}
  .hero-log{position:relative;width:100%;margin-top:16px}
}
