/*!
 * PRT Post-Concussion Symptom Checklist styles
 * Companion to /js/symptom-checklist.js
 * Uses PRT CSS custom properties (--bg2, --border, --white, etc.) — falls back to safe defaults.
 */

.checklist-section{max-width:820px;margin:56px auto 0;padding:0 5%}
.checklist-inner{background:var(--bg2,#171C24);border:1px solid var(--border,rgba(255,255,255,0.09));padding:40px 44px}
.checklist-header{border-bottom:1px solid var(--border,rgba(255,255,255,0.09));padding-bottom:24px;margin-bottom:28px}
.checklist-eyebrow{font-size:10px;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--accent,#D4A04A);margin-bottom:12px}
.checklist-title{font-family:var(--bebas,'Bebas Neue',sans-serif);font-size:32px;letter-spacing:0.03em;line-height:1.1;color:var(--white,#fff);margin-bottom:14px}
.checklist-intro{font-size:14px;color:var(--grey,#D6D9DE);line-height:1.7;margin-bottom:20px}

.checklist-actions{display:flex;gap:10px;flex-wrap:wrap}
.checklist-btn{background:transparent;border:1px solid rgba(255,255,255,0.25);color:var(--white,#fff);padding:10px 18px;font-family:var(--body,'Poppins',sans-serif);font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:border-color 0.2s,background 0.2s;text-decoration:none;display:inline-block}
.checklist-btn:hover{border-color:rgba(255,255,255,0.55);background:rgba(255,255,255,0.04)}
.checklist-btn-primary{background:var(--white,#fff);color:var(--bg,#10141A);border-color:var(--white,#fff)}
.checklist-btn-primary:hover{opacity:0.85;background:var(--white,#fff);color:var(--bg,#10141A)}
.checklist-privacy{font-size:11px;color:var(--dim,#9096A0);margin-top:14px;line-height:1.6;letter-spacing:0.02em}

.symptom-table{width:100%;border-collapse:collapse;margin:8px 0 24px;font-size:13px}
.symptom-table th{font-family:var(--body,'Poppins',sans-serif);font-size:10px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim,#9096A0);padding:10px 6px;text-align:center;border-bottom:1px solid var(--border,rgba(255,255,255,0.09));white-space:nowrap}
.symptom-table th.sym-col{text-align:left;padding-left:0}
.symptom-table th.sev-group{font-size:9px;color:rgba(255,255,255,0.35);border-bottom:none;padding-bottom:2px}
.symptom-table td{padding:8px 4px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.04)}
.symptom-table td.sym-name{text-align:left;color:var(--grey,#D6D9DE);font-size:13px;padding-left:0;font-weight:400}
.symptom-table input[type="radio"]{cursor:pointer;accent-color:#F5B84A;width:16px;height:16px;margin:0}
.symptom-table tbody tr:hover{background:rgba(255,255,255,0.02)}

.checklist-subsection{margin-top:32px;padding-top:24px;border-top:1px solid var(--border,rgba(255,255,255,0.09))}
.checklist-subsection h3{font-family:var(--body,'Poppins',sans-serif);font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--white,#fff);margin-bottom:14px}
.checklist-question{font-size:13px;color:var(--grey,#D6D9DE);margin-bottom:10px;line-height:1.6}
.checklist-question label{margin-right:16px;cursor:pointer;color:var(--grey,#D6D9DE);font-weight:400;display:inline-flex;align-items:center;gap:6px}
.checklist-question label input{accent-color:#F5B84A;cursor:pointer;margin:0}
.checklist-scale{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px;align-items:center;font-size:12px;color:var(--dim,#9096A0)}
.checklist-scale label{margin:0;padding:6px 10px;border:1px solid var(--border,rgba(255,255,255,0.09));color:var(--grey,#D6D9DE);cursor:pointer;transition:border-color 0.15s}
.checklist-scale label:hover{border-color:rgba(255,255,255,0.4)}
.checklist-scale input{display:none}
.checklist-scale input:checked + span{color:#F5B84A;font-weight:600}
.activity-input{background:transparent;border:1px solid var(--border,rgba(255,255,255,0.09));color:var(--white,#fff);padding:6px 10px;width:80px;font-family:var(--body,'Poppins',sans-serif);font-size:14px;margin:0 6px;text-align:right}

.score-box{margin-top:32px;padding:24px;background:var(--bg3,#1F252E);border-left:3px solid #F5B84A;display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:16px}
.score-label{font-size:11px;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--dim,#9096A0)}
.score-value{font-family:var(--bebas,'Bebas Neue',sans-serif);font-size:36px;line-height:1;letter-spacing:0.02em;color:var(--white,#fff)}
.score-value .score-max{color:var(--dim,#9096A0);font-size:24px}
.score-note{font-size:12px;color:var(--dim,#9096A0);line-height:1.6;margin-top:8px;flex-basis:100%}

/* LP-context: post-score "book" CTA that appears once anything is filled */
.score-book-cta{flex-basis:100%;margin-top:20px;padding-top:20px;border-top:1px solid var(--border,rgba(255,255,255,0.09));display:none;flex-direction:column;gap:12px}
.score-box[data-has-input="1"] .score-book-cta{display:flex}
.score-book-cta-text{font-size:14px;color:var(--white,#fff);line-height:1.6}
.score-book-cta-buttons{display:flex;gap:10px;flex-wrap:wrap}

@media(max-width:600px){
  .checklist-inner{padding:24px 20px}
  .symptom-table th,.symptom-table td{padding:6px 3px;font-size:12px}
  .symptom-table th.sev-group{display:none}
}

/* -----------------------------------------------------------------
   PRINT STYLES — page-agnostic
   Uses visibility+position rather than hiding parent chains, so it
   works whether the checklist is nested deeply or at body level.
----------------------------------------------------------------- */
@media print{
  body{background:#fff !important;color:#000 !important}
  body::before{display:none !important}
  body *{visibility:hidden !important}
  .checklist-section,.checklist-section *{visibility:visible !important}
  .checklist-section{position:absolute !important;left:0;top:0;width:100%;max-width:100%;margin:0;padding:20px}
  .checklist-actions,.checklist-privacy,.score-book-cta{display:none !important}
  .checklist-inner{background:#fff !important;border:1px solid #000 !important;padding:20px !important;box-shadow:none !important}
  .checklist-title{color:#000 !important;font-size:22px !important;margin-bottom:6px !important}
  .checklist-intro,.checklist-question,.symptom-table td.sym-name{color:#000 !important;font-size:11px !important}
  .checklist-header{border-color:#000 !important;padding-bottom:12px;margin-bottom:14px}
  .checklist-eyebrow{color:#333 !important;font-size:9px !important;margin-bottom:6px}
  .symptom-table th,.symptom-table td{color:#000 !important;border-color:#666 !important;padding:4px 3px !important}
  .symptom-table th.sev-group{display:table-cell !important;color:#666 !important;font-size:8px !important}
  .symptom-table input[type="radio"]{width:12px !important;height:12px !important;border:1px solid #000;accent-color:#000}
  .checklist-scale label{border-color:#000 !important;color:#000 !important;padding:3px 7px !important;font-size:11px !important}
  .checklist-subsection{border-color:#666 !important;margin-top:14px !important;padding-top:10px !important}
  .checklist-subsection h3{color:#000 !important;font-size:11px !important;margin-bottom:6px !important}
  .activity-input{border-color:#000 !important;color:#000 !important;background:#fff !important}
  .score-box{background:#f4f4f4 !important;border-left-color:#000 !important;padding:10px 14px !important;margin-top:14px !important}
  .score-label,.score-value{color:#000 !important}
  .score-value{font-size:22px !important}
  .score-value .score-max{color:#666 !important}
  .score-note{color:#333 !important;font-size:10px !important}
  @page{margin:0.5in}
}
