/* One-Step vs Two-Step RT-PCR Decision Tree — block-specific internals only.
   Card shell, design tokens and box-sizing come from the shared
   interactive-card.css. Scoped under #bsb-rtpcr-dt so internals never leak. */

#bsb-rtpcr-dt .dt-progress-bar { height: 4px; background: #f0f0f0; border-radius: 99px; margin-bottom: 22px; overflow: hidden; }
#bsb-rtpcr-dt .dt-progress-fill { height: 100%; background: var(--orange); border-radius: 99px; transition: width 0.3s ease; }
#bsb-rtpcr-dt .dt-progress { font-size: 0.75rem; color: var(--muted); margin-bottom: 18px; }
#bsb-rtpcr-dt .dt-question { font-size: 1.1rem; font-weight: 700; color: var(--text); margin-bottom: 6px; line-height: 1.4; }
#bsb-rtpcr-dt .dt-hint { font-size: 0.82rem; color: var(--muted); margin-bottom: 20px; line-height: 1.5; }
#bsb-rtpcr-dt .dt-options { display: flex; flex-direction: column; gap: 10px; }
#bsb-rtpcr-dt .dt-btn { background: var(--light-bg); border: 1.5px solid var(--border); border-radius: 8px; padding: 13px 18px; text-align: left; cursor: pointer; font-size: 0.92rem; font-weight: 600; color: var(--text); font-family: inherit; transition: border-color 0.15s, background 0.15s; line-height: 1.4; width: 100%; }
#bsb-rtpcr-dt .dt-btn:hover { border-color: var(--orange); background: var(--tint); color: var(--orange); }
#bsb-rtpcr-dt .dt-btn .dt-btn-sub { display: block; font-weight: 400; font-size: 0.8rem; color: var(--muted); margin-top: 3px; }
#bsb-rtpcr-dt .dt-btn:hover .dt-btn-sub { color: var(--orange-hover); }
#bsb-rtpcr-dt .dt-nav { display: flex; align-items: center; justify-content: space-between; margin-top: 22px; padding-top: 18px; border-top: 1px solid #f0f0f0; }
#bsb-rtpcr-dt .dt-back, #bsb-rtpcr-dt .dt-startover { background: none; border: none; color: var(--muted); font-size: 0.82rem; cursor: pointer; padding: 0; font-family: inherit; text-decoration: underline; text-underline-offset: 3px; }
#bsb-rtpcr-dt .dt-back:hover, #bsb-rtpcr-dt .dt-startover:hover { color: var(--text); }
#bsb-rtpcr-dt .dt-result { display: none; }
#bsb-rtpcr-dt .dt-result.visible { display: block; }
#bsb-rtpcr-dt .dt-result-header { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--orange); margin-bottom: 8px; }
#bsb-rtpcr-dt .dt-result-method { font-size: 1.35rem; font-weight: 700; color: var(--text); margin-bottom: 4px; }
#bsb-rtpcr-dt .dt-result-tagline { font-size: 0.9rem; color: var(--muted); margin-bottom: 20px; }
#bsb-rtpcr-dt .dt-result-reason { background: var(--tint); border: 1.5px solid var(--tint-border); border-radius: 8px; padding: 16px 18px; margin-bottom: 14px; }
#bsb-rtpcr-dt .dt-result-reason-label { font-size: 0.7rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--orange); margin-bottom: 6px; }
#bsb-rtpcr-dt .dt-result-reason p { font-size: 0.88rem; color: var(--text); margin: 0; line-height: 1.6; }
#bsb-rtpcr-dt .dt-warning { background: var(--warning-bg); border: 1.5px solid var(--warning-border); border-radius: 8px; padding: 14px 18px; margin-bottom: 14px; font-size: 0.85rem; color: #6d4c00; line-height: 1.5; }
#bsb-rtpcr-dt .dt-warning strong { display: block; margin-bottom: 3px; }
#bsb-rtpcr-dt .dt-result-summary { margin-bottom: 20px; }
#bsb-rtpcr-dt .dt-summary-row { display: flex; gap: 10px; padding: 9px 0; border-bottom: 1px solid #f0f0f0; font-size: 0.83rem; align-items: flex-start; }
#bsb-rtpcr-dt .dt-summary-row:last-child { border-bottom: none; }
#bsb-rtpcr-dt .dt-summary-q { color: var(--muted); flex: 0 0 160px; padding-top: 1px; }
#bsb-rtpcr-dt .dt-summary-a { color: var(--text); font-weight: 600; }
#bsb-rtpcr-dt .dt-details { margin-bottom: 18px; }
#bsb-rtpcr-dt .dt-details summary { font-size: 0.8rem; color: #707070; cursor: pointer; padding: 6px 0; }
#bsb-rtpcr-dt .dt-footnote { margin: 14px 0 0; font-size: 0.78rem; color: #707070; line-height: 1.6; }
@media (max-width: 480px) {
  #bsb-rtpcr-dt .dt-question { font-size: 1rem; }
  #bsb-rtpcr-dt .dt-summary-q { flex: 0 0 110px; }
}
