/* Free checklists (scripts/build_checklists.py). Colors follow blog.css: green #63b848, blue #0e6ace, ink #1d2834. */
.checklist-page h2, .checklist-hub h2 { font-weight: 700; color: #1d2834; }
.cl-print-brand { display: none; }
.cl-actions { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin: 0 0 26px; }
.cl-btn { display: inline-block; border: 2px solid #0e6ace; background: #fff; color: #0e6ace; border-radius: 4px;
  padding: 9px 18px; font-weight: 700; font-size: 16px; line-height: 1.3; cursor: pointer; text-decoration: none !important; }
.cl-btn:hover, .cl-btn:focus { background: #eaf2fc; color: #0b58ad; }
.cl-btn-primary { background: #0e6ace; color: #fff !important; }
.cl-btn-primary:hover, .cl-btn-primary:focus { background: #0b58ad; }
.cl-btn-quiet { border-color: #8a96a3; color: #3d4a57; font-size: 14px; padding: 6px 12px; }
.cl-actions-note { font-size: 14px; color: #5a6672; }
.cl-when { background: #f2f8ef; border-left: 4px solid #63b848; border-radius: 0 6px 6px 0; padding: 12px 18px; margin: 0 0 30px; }
.cl-when h2 { font-size: 19px; margin: 0 0 6px; }
.cl-when ul { margin: 0; padding-left: 20px; }
.cl-form { border-top: 1px solid #dde3ea; padding-top: 10px; }
.cl-doc-title { font-size: 18px; text-transform: uppercase; letter-spacing: .03em; color: #0e6ace !important; margin: 14px 0 12px; }
.cl-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 10px 18px; margin-bottom: 14px; }
.cl-field label, .cl-field legend { display: block; font-size: 14px; font-weight: 700; margin: 0 0 3px; color: #3d4a57; }
.cl-field input[type=text], .cl-field textarea { width: 100%; border: 1px solid #b9c3cd; border-radius: 4px; padding: 7px 9px; font-size: 16px; }
.cl-field-choices { border: 0; padding: 0; margin: 0; }
.cl-choice { display: inline-flex !important; align-items: center; gap: 6px; font-weight: 400 !important; margin-right: 14px !important; font-size: 16px !important; }
.cl-instructions { font-size: 15.5px; background: #f4f6f9; border-radius: 6px; padding: 10px 14px; margin-bottom: 16px; }
.cl-instructions h3 { font-size: 17px; font-weight: 700; margin: 0 0 6px; }
.cl-instructions p { margin: 0 0 6px; }
.cl-subtitle { font-size: 19px; font-weight: 700; color: #448131; margin: -4px 0 10px; }
.cl-closing { margin: 26px 0 0; padding: 16px 20px; border-left: 4px solid #63b848; background: #f2f8ef; border-radius: 0 6px 6px 0; }
.cl-closing h2 { font-size: 21px; margin: 0 0 6px; }
.cl-closing p { margin: 0 0 8px; }
.cl-section h2 { font-size: 22px; margin: 30px 0 8px; padding-bottom: 6px; border-bottom: 3px solid #63b848; }
.cl-list { list-style: none; padding: 0; margin: 0; }
.cl-q { border-bottom: 1px solid #e4e8ec; padding: 12px 0; }
.cl-q fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.cl-q legend { font-size: 17px; line-height: 1.5; margin: 0 0 8px; float: none; width: auto; }
.cl-n { font-weight: 700; color: #0e6ace; }
.cl-answers { display: flex; flex-wrap: wrap; gap: 8px; }
.cl-ans { margin: 0; cursor: pointer; }
.cl-ans input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.cl-ans span { display: inline-block; min-width: 76px; text-align: center; padding: 6px 12px; border: 1px solid #b9c3cd;
  border-radius: 20px; font-size: 15px; color: #3d4a57; background: #fff; }
.cl-ans input:focus-visible + span { outline: 3px solid #0e6ace; outline-offset: 2px; }
.cl-ans-yes input:checked + span, .cl-ans-discussed input:checked + span { background: #448131; border-color: #448131; color: #fff; }
.cl-ans-no input:checked + span { background: #b3261e; border-color: #b3261e; color: #fff; }
.cl-ans-unsure input:checked + span { background: #a55d00; border-color: #a55d00; color: #fff; }
.cl-ans-na input:checked + span { background: #5a6672; border-color: #5a6672; color: #fff; }
.cl-summary { margin: 30px 0 0; padding: 16px 20px; border: 2px solid #0e6ace; border-radius: 8px; background: #f6f9fe; }
.cl-summary h2 { font-size: 21px; margin: 0 0 6px; }
.cl-summary p { margin: 0 0 8px; }
.cl-flagged { margin: 0 0 10px; padding-left: 20px; font-size: 15.5px; }
.cl-flagged a { color: #0e6ace; text-decoration: underline !important; }
.cl-note { font-size: 14px; color: #5a6672; }
.cl-disclaimer { font-size: 14px; color: #5a6672; margin-top: 22px; }
.cl-license { font-size: 14px; color: #c9d1da !important; margin-top: 10px !important; }
.cl-related ul { padding-left: 20px; }
.cl-related a, .cl-card-links a { color: #0e6ace; text-decoration: underline !important; }
.cl-card-links { margin-top: 8px !important; font-size: 15.5px; }

@media print {
  section.menu-bar, .trust-bar, footer, .crumbs, .cl-actions, .cl-when, .post-faq, .cl-related,
  .cl-note, .cl-summary button, .post-cta .cta-btn, .post-lede, .post-head .post-date { display: none !important; }
  .checklist-page { max-width: none; padding: 0; font-size: 11pt; }
  .cl-print-brand { display: block; font-weight: 700; border-bottom: 2px solid #63b848; padding-bottom: 4px; }
  .post-head h1 { font-size: 18pt; }
  .cl-q { padding: 5px 0; break-inside: avoid; }
  .cl-q legend { font-size: 11pt; margin-bottom: 3px; }
  .cl-ans span { min-width: 0; padding: 1px 8px; font-size: 9pt; }
  .cl-ans input:not(:checked) + span { border-color: #ccc; color: #888; }
  .cl-section h2 { font-size: 13pt; margin-top: 14px; break-after: avoid; }
  .post-cta { background: none; color: #000; border: 1px solid #999; padding: 10px; }
  .post-cta h2, .post-cta p, .post-cta a, .cl-license { color: #000 !important; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
