/* Wave 2 components (Polish, 3 Nov 2026). Load after /solar.css (live main 4d2eb4b). */
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.muted{color:var(--muted)}
.disclose-line{font-size:1rem;color:var(--muted);margin:0 0 var(--s2)}
.disclose-line a{display:inline-block;padding:.6rem 0}
.research-note,.small-note{font-size:1rem;color:var(--muted)}
/* "Who it's not for" box */
.notfor h2{margin-top:0;font-size:1.3rem}
.notfor h3{font-size:1.05rem;margin:var(--s2) 0 .25rem}
.notfor-cols{display:grid;gap:var(--s3)}
@media (min-width:768px){.notfor-cols{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr))}}
/* Partner-link slot: literal placeholder, no href, no rel, not focusable */
.btn-slot{display:inline-block;border:2px dashed var(--rule);border-radius:var(--r);padding:.6rem .8rem;font-size:1rem;color:var(--muted);line-height:1.3;max-width:16rem}
.slot-row{margin-top:var(--s3)}
.ask li{margin:.45rem 0}
.brand-sec{scroll-margin-top:1rem}
/* Spec tables (row header is a th) */
.t-spec tbody th{font-family:var(--serif)}
.t-picks td:first-child a{display:inline-block;padding:.6rem 0;min-height:44px}
@media (max-width:599.98px){
  .t-spec tbody th{display:block;font-size:1.05rem;border:0;border-bottom:1px solid var(--rule);padding:0 0 .5rem;margin-bottom:.25rem;background:none}
  .t-spec td[data-label]::before{content:attr(data-label);display:block;font-size:max(16px,.85em);font-weight:700;color:var(--muted)}
  .t-picks td.pick-price{font-size:1.05rem}
  .t-picks td[data-label=""]{padding-top:.6rem}
  .btn-slot{max-width:none;display:block}
}
