/* ============================================================
   CuraDebt — Unified Page Stylesheet (cd-)
   ALL rules scoped to .cdw — does not affect header,
   footer, or pages using curadebt-article-page.css (.cd-page-wrap).
   Wrap each page in <div class="cdw">.
   ============================================================ */

.cdw {
  max-width: 880px;
  margin: 0 auto;
  padding: 0 18px;
  color: #000;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 20px;
  line-height: 1.65;
}

.cdw h1 { color: #000 !important; font-size: 32px !important; line-height: 1.2 !important; margin: 18px 0 10px !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: normal !important; }
.cdw h2 { color: #000 !important; font-size: 25px !important; line-height: 1.25 !important; margin: 38px 0 12px !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: normal !important; }
.cdw h3 { color: #000 !important; font-size: 20px !important; margin: 24px 0 8px !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: normal !important; }
html body .cdw p { margin: 0 0 15px !important; font-weight: 400 !important; font-size: 18px !important; line-height: 1.65 !important; color: #000 !important; }
.cdw a { color: #1fa06d; font-weight: 600; text-decoration: none; }
.cdw p a, .cdw li a { color: #1fa06d; font-weight: 700; text-decoration: underline; font-size: 21px; }
.cdw a:hover { text-decoration: underline; }

/* BYLINE */
.cdw .cd-byline { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid #e3e3e3; padding: 10px 0 16px; margin-bottom: 8px; }
.cdw .cd-byline .cd-ic { width: 46px; height: 46px; border-radius: 50%; background: #000; color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 18px; flex-shrink: 0; }
.cdw .cd-byline img { width: 60px; height: 60px; border-radius: 50%; object-fit: cover; object-position: center top; flex-shrink: 0; border: 2px solid #e3e3e3; outline: none; box-shadow: none; display: block; }
.cdw .cd-byline .cd-n { font-weight: 700; color: #000; font-size: 16px; }
.cdw .cd-byline .cd-n a { color: #000; text-decoration: underline; }
.cdw .cd-byline .cd-s { color: #555; font-size: 14px; }
.cdw .cd-trust { font-size: 14px; color: #555; margin: 0 0 18px; }
.cdw .cd-trust strong { color: #000; }

/* ANSWER / CAPSULE */
.cdw .cd-answer { background: #f8faf9; border: 1px solid #d8e8df; border-radius: 10px; padding: 16px 20px; margin: 14px 0 4px; }
.cdw .cd-answer p { margin: 0; font-size: 18px; line-height: 1.55; }
.cdw .cd-answer strong { color: #000; }

/* HOOK — what-this-means-for-you intro */
.cdw .cd-hook { background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #1fa06d; border-radius: 10px; padding: 16px 20px; margin: 14px 0 4px; }
.cdw .cd-hook p { margin: 0; font-size: 18px; line-height: 1.6; }
.cdw .cd-hook strong { color: #000; }

/* VERDICT */
.cdw .cd-verdict { border: 1px solid #e3e3e3; border-left: 5px solid #1fa06d; border-radius: 10px; padding: 20px 24px; margin: 22px 0; background: #fff; }
.cdw .cd-verdict.caution { border-left-color: #c2410c; }
.cdw .cd-verdict .cd-rate { display: inline-block; background: #000; color: #fff; font-weight: 800; border-radius: 6px; padding: 4px 12px; font-size: 15px; margin-bottom: 8px; }
.cdw .cd-verdict strong { color: #000; }

/* CTA — dark box with dropdown or button */
.cdw .cd-cta { background: #111; border-radius: 12px; padding: 24px; margin: 26px 0; text-align: center; }
.cdw .cd-cta .cd-t { color: #f5c842 !important; font-size: 21px !important; font-weight: 800 !important; display: block; margin-bottom: 8px; }
.cdw .cd-cta .cd-sub { color: #fff !important; font-size: 16px !important; font-weight: normal !important; line-height: 1.5; margin: 6px 0 14px; display: block; }
.cdw .cd-cta select { width: 100%; max-width: 400px; padding: 14px 16px; border-radius: 8px; border: 2px solid #f5c842; font-size: 17px; background: #fff; color: #000; font-weight: 600; display: block; margin: 0 auto; }
.cdw .cd-cta .cd-btn { display: inline-block; background: #f5c842; color: #111; font-weight: 800; font-size: 17px; padding: 13px 30px; border-radius: 8px; text-decoration: none; }
.cdw .cd-cta .cd-btn:hover { background: #f7d46a; text-decoration: none; }
.cdw .cd-cta .cd-ph { display: block; margin-top: 12px; color: #ccc; font-size: 14px; }
.cdw .cd-cta .cd-ph a { color: #f5c842; }

/* TOC */
.cdw .cd-toc { background: #fff; border: 1px solid #e3e3e3; border-radius: 8px; padding: 18px 22px; margin: 22px 0; }
.cdw .cd-toc strong { color: #000; display: block; margin-bottom: 8px; }
.cdw .cd-toc a { display: block !important; font-size: 20px !important; color: #1fa06d !important; margin: 10px 0 !important; font-weight: 400 !important; text-decoration: none !important; }
.cdw .cd-toc a::before { content: none !important; }

/* TABLE */
.cdw .cd-tbl { width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 15.5px; }
.cdw .cd-tbl th,
.cdw .cd-tbl td { border: 1px solid #e3e3e3; padding: 10px 12px; text-align: left; vertical-align: top; }
.cdw .cd-tbl th { background: #000; color: #fff; font-weight: 700; }
.cdw .cd-tbl tr:nth-child(even) td { background: #f8f9fa; }

/* PROS / CONS GRID */
.cdw .cd-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 18px 0; }
.cdw .cd-col { border-radius: 10px; padding: 16px 18px; }
.cdw .cd-col.pro { background: #fff; border: 1px solid #1fa06d; border-left: 4px solid #1fa06d; }
.cdw .cd-col.con { background: #fff; border: 1px solid #c2410c; border-left: 4px solid #c2410c; }
.cdw .cd-col h4 { margin: 0 0 8px; font-size: 17px; }
.cdw .cd-col.pro h4 { color: #1a7a48; }
.cdw .cd-col.con h4 { color: #c2410c; }
.cdw .cd-col ul { margin: 0; padding-left: 0; list-style: none; }
.cdw .cd-col li { margin: 7px 0; padding-left: 20px; position: relative; font-size: 15.5px; line-height: 1.45; }
.cdw .cd-col.pro li:before { content: "\2713"; position: absolute; left: 0; color: #1fa06d; font-weight: 800; }
.cdw .cd-col.con li:before { content: "\2717"; position: absolute; left: 0; color: #c2410c; font-weight: 800; }

/* FLAG — red-bordered complaint/warning */
.cdw .cd-flag { background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #c2410c; border-radius: 8px; padding: 18px 22px; margin: 22px 0; }
.cdw .cd-flag .cd-nt { font-weight: 800; color: #c2410c; display: block; margin-bottom: 6px; font-size: 17px; }

/* NOTE — navy-bordered neutral callout */
.cdw .cd-note { background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #000; border-radius: 8px; padding: 18px 22px; margin: 22px 0; }
.cdw .cd-note .cd-nt { font-weight: 800; color: #000; display: block; margin-bottom: 6px; font-size: 17px; }

/* QUOTE */
.cdw .cd-quote { background: #f0fdf4; border-left: 4px solid #1fa06d; border-radius: 0 8px 8px 0; padding: 14px 20px; margin: 20px 0; font-style: italic; color: #000; }
.cdw .cd-quote cite, .cdw .cd-quote .by { display: block; font-style: normal; font-size: 13px; color: #555; margin-top: 8px; font-weight: 600; }

/* CALCULATOR */
.cdw .cd-calc { background: #fff; border: 2px solid #1fa06d; border-radius: 12px; padding: 22px; margin: 22px 0; }
.cdw .cd-calc h3 { margin-top: 0; }
.cdw .cd-calc-row { display: block !important; margin-bottom: 15px; }
.cdw .cd-calc label { display: block !important; font-weight: 600 !important; color: #000 !important; margin-bottom: 6px !important; font-size: 15.5px !important; }
.cdw .cd-calc-money { display: flex !important; align-items: center; border: 1.5px solid #ccc !important; border-radius: 8px !important; overflow: hidden; max-width: 300px; }
.cdw .cd-calc-money span { background: #f1f1f1; padding: 11px 13px; font-weight: 700; color: #555; }
.cdw .cd-calc-money input { border: 0; padding: 11px 12px; font-size: 16px; width: 100%; outline: none; }
.cdw .cd-calc input[type=range] { width: 100%; max-width: 340px; accent-color: #1fa06d; }
.cdw .cd-calc-aprmarks { display: flex; justify-content: space-between; font-size: 13px; color: #777; margin-top: 4px; }
.cdw .cd-calc select { display: block !important; padding: 11px 12px !important; border: 1.5px solid #ccc !important; border-radius: 8px !important; font-size: 15.5px !important; max-width: 320px !important; width: 100% !important; background: #fff !important; color: #000 !important; -webkit-appearance: auto; appearance: auto; }
.cdw .cd-calc .rng-val { font-weight: 700; color: #000; }
.cdw .cd-calc button { background: #1fa06d; color: #fff; border: 0; border-radius: 8px; padding: 13px 20px; font-size: 16.5px; font-weight: 700; cursor: pointer; width: 100%; max-width: 340px; margin-top: 6px; text-transform: none !important; letter-spacing: normal !important; }
.cdw .cd-calc button:hover { background: #178a3d; }
.cdw .cd-calc-out { display: none; margin-top: 18px; background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #1fa06d; border-radius: 10px; padding: 18px; }
.cdw .cd-calc-out .big { font-size: 22px; font-weight: 800; color: #000; }
.cdw .cd-calc-out .lbl { font-size: 14px; color: #555; }
.cdw .cd-calc-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 12px; }
.cdw .cd-calc-card { text-align: center; }
.cdw .cd-calc-card .big { display: block; font-size: 21px; font-weight: 800; color: #000; line-height: 1.1; }
.cdw .cd-calc-card .lbl { display: block; font-size: 12.5px; color: #555; margin-top: 4px; }
.cdw .cd-calc-elig { font-size: 15px; padding: 10px 12px; border-radius: 6px; margin-top: 4px; }
.cdw .cd-calc-elig.ok { background: #eafaf0; color: #1a7a48; }
.cdw .cd-calc-elig.no { background: #fff4ee; color: #c2410c; }
.cdw .cd-calc-disc { font-size: 12.5px !important; color: #888 !important; font-weight: normal !important; font-style: normal !important; margin-top: 12px; line-height: 1.5; }

/* LISTS */
.cdw .cd-altlist { background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #1fa06d; border-radius: 8px; margin: 18px 0; padding: 16px 20px 16px 38px; list-style: disc; }
.cdw .cd-altlist li { margin: 9px 0; padding-left: 4px; }
.cdw .cd-altlist li::marker { color: #1fa06d; }
.cdw .cd-list { margin: 0 0 15px 20px !important; padding-left: 6px !important; list-style: disc !important; }
.cdw .cd-list li { margin: 10px 0; font-weight: normal !important; font-size: 18px !important; line-height: 1.65 !important; }
.cdw .cd-list li::marker { color: #000; font-size: 18px; }
/* X-list variant: red ✗ markers, no default bullets */
.cdw .cd-list.x { padding-left: 0; list-style: none; }
.cdw .cd-list.x li { padding-left: 22px; position: relative; }
.cdw .cd-list.x li:before { content: "\2717"; position: absolute; left: 0; color: #c2410c; font-weight: 800; }
.cdw .cd-num { margin: 0 0 15px 0px !important; padding-left: 0 !important; list-style: none !important; counter-reset: cd-num-counter; }
.cdw .cd-num li { margin: 10px 0; padding-left: 2em !important; position: relative !important; font-weight: normal !important; font-size: 18px !important; line-height: 1.65 !important; counter-increment: cd-num-counter; }
.cdw .cd-num li::before { content: counter(cd-num-counter) "."; position: absolute !important; left: 0 !important; font-weight: 700 !important; color: #000 !important; width: 1.6em; }

/* STEPS */
.cdw .cd-steps { background: #fff; border: 2px solid #1fa06d; border-radius: 12px; padding: 20px 24px; margin: 22px 0; }
.cdw .cd-steps h3 { margin-top: 0; color: #000; }
.cdw .cd-steps ol { margin: 0; padding-left: 22px; }
.cdw .cd-steps li { margin: 12px 0; padding-left: 4px; }

/* TIMELINE */
.cdw .cd-tl { border-left: 3px solid #d8e8df; margin: 18px 0 18px 8px; padding-left: 20px; }
.cdw .cd-tl .cd-ev { margin-bottom: 16px; position: relative; }
.cdw .cd-tl .cd-ev:before { content: ""; position: absolute; left: -26px; top: 6px; width: 11px; height: 11px; border-radius: 50%; background: #1fa06d; }
.cdw .cd-tl .cd-d { font-weight: 800; color: #000; font-size: 15.5px; }

/* DISCLAIMER */
.cdw .cd-disc { background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #c2410c; border-radius: 8px; padding: 16px 20px; margin: 20px 0; font-size: 14.5px; color: #444; }
.cdw .cd-disc.neutral { border-left-color: #000; }

/* RETURN TO TOP */
.cdw .cd-totop { margin: 6px 0 0; }
.cdw .cd-totop a { font-size: 15px; }

/* CRITERIA LIST — numbered rows (11-musts checklist)
   Supports both .cd-ctext and .bd as the text column class */
.cdw .cd-crit { background: #fff; border: 1px solid #e3e3e3; border-radius: 10px; padding: 4px 0; margin: 18px 0; }
.cdw .cd-crit .cd-row { display: flex; gap: 16px; padding: 18px 20px; border-bottom: 1px solid #eee; }
.cdw .cd-crit .cd-row:last-child { border-bottom: 0; }
.cdw .cd-crit .cd-cnum { flex: 0 0 40px; height: 40px; background: #000; color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; font-size: 17px; }
.cdw .cd-crit .cd-ctext,
.cdw .cd-crit .bd { flex: 1; }
.cdw .cd-crit .cd-ctext strong,
.cdw .cd-crit .bd strong { display: block; color: #000; margin-bottom: 3px; }
.cdw .cd-crit .cd-ctext p,
.cdw .cd-crit .bd p { margin: 0; font-size: 18px; line-height: 1.55; }

/* AT-A-GLANCE */
.cdw .cd-verdict-line { font-size: 18px; margin: 0 0 14px; }
.cdw .cd-glance { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.cdw .cd-glance-item { background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 8px; padding: 14px 18px; display: flex; flex-direction: column; gap: 6px; }
.cdw .cd-glance-k { font-size: 14px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: #555; }
.cdw .cd-glance-v { font-size: 18px; color: #000; line-height: 1.4; font-weight: 600; }

/* STORY / EXAMPLE */
.cdw .cd-story { background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #1fa06d; border-radius: 10px; padding: 18px 22px; margin: 20px 0; }
.cdw .cd-story .cd-st { font-weight: 800; color: #1a7a48; display: block; margin-bottom: 6px; font-size: 15px; text-transform: uppercase; letter-spacing: .04em; }

/* REVIEW OPTION BOX */
.cdw .cd-opt { border: 1px solid #e3e3e3; border-left: 4px solid #1fa06d; border-radius: 10px; padding: 18px 20px; margin: 14px 0; background: #fff; }
.cdw .cd-opt h3 { margin-top: 0; }

/* SOFT CALLOUT */
.cdw .cd-soft { background: #fff; border: 1px solid #e3e3e3; border-left: 5px solid #f5c842; border-radius: 12px; padding: 20px 22px; margin: 18px 0; }
.cdw .cd-soft p { font-size: 18px; line-height: 1.7; margin: 0; }

/* REVIEW DISCLAIMER */
.cdw .cd-revdisc { font-size: 15px; color: #555; background: #fff; border: 1px solid #e3e3e3; border-left: 5px solid #f5c842; border-radius: 10px; padding: 16px 20px; margin: 22px 0; line-height: 1.6; }

/* ERIC'S TAKE */
.cdw .cd-eric { background: #0E1116; color: #f2f4f6; border-radius: 14px; padding: 26px 28px; margin: 30px 0; border-left: 5px solid #f5c842; }
.cdw .cd-eric .tag { display: inline-block; font-size: 14px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; color: #f5c842; margin-bottom: 10px; }
.cdw .cd-eric p { color: #f2f4f6; font-size: 18px; line-height: 1.7; margin: 0; }
.cdw .cd-eric .sig { margin-top: 12px; font-weight: 700; color: #fff; font-size: 16px; }

/* AUTHOR BIO */
.cdw .cd-author { display: flex; gap: 18px; align-items: flex-start; background: #fff; border: 1px solid #e3e3e3; border-left: 5px solid #f5c842; border-radius: 14px; padding: 24px 26px; margin: 30px 0; }
.cdw .cd-author .ava { width: 64px; height: 64px; border-radius: 50%; overflow: hidden; flex: 0 0 auto; border: 2px solid #1a7a48; }
.cdw .cd-author .ava img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.cdw .cd-author h3 { margin: 0 0 4px; color: #000; }
.cdw .cd-author p { font-size: 17px; line-height: 1.65; margin: 0 0 10px; color: #333; }
.cdw .cd-author .cred { font-size: 14px; color: #555; }
.cdw .cd-author a { color: #1fa06d; font-weight: 700; font-size: inherit; }

/* RELATED READING */
.cdw .cd-related { background: #fff; border: 1px solid #e3e3e3; border-left: 5px solid #f5c842; border-radius: 12px; padding: 22px 26px; margin: 30px 0; }
.cdw .cd-related ul { list-style: none; margin: 0; padding: 0; }
.cdw .cd-related li { border-bottom: 1px solid #f5f5f5; }
.cdw .cd-related li:last-child { border-bottom: 0; }
.cdw .cd-related a { color: #1fa06d; text-decoration: none; font-size: 18px; font-weight: 600; display: block; padding: 7px 0; }
.cdw .cd-related a::before { content: none !important; }
.cdw .cd-related a:hover { text-decoration: underline; }

/* FAQ */
.cdw .cd-faq h3 { font-size: 19px !important; border-bottom: 1px solid #e3e3e3 !important; padding-bottom: 10px !important; margin: 26px 0 10px !important; color: #000 !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: normal !important; }
.cdw .cd-faq p, .cdw .cd-faq .cd-ans { font-size: 18px !important; font-weight: normal !important; line-height: 1.65 !important; margin: 0 0 15px !important; color: #000 !important; }
.cdw .cd-faq .act { color: #1fa06d; font-weight: 700; text-decoration: underline; }

/* COMPARISON CALCULATOR (3-column) */
.cdw .cd-calc-inputs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px 20px; margin-bottom: 22px; }
.cdw .cd-calc-field label { display: block; font-size: 15px; font-weight: 700; color: #000; margin-bottom: 6px; }
.cdw .cd-calc-inwrap { display: inline-flex; align-items: center; border: 2px solid #000; border-radius: 8px; overflow: hidden; background: #fff; max-width: 230px; }
.cdw .cd-calc-inwrap:focus-within { border-color: #1fa06d; }
.cdw .cd-calc-pre, .cdw .cd-calc-post { padding: 0 12px; font-size: 17px; font-weight: 700; color: #fff; background: #000; align-self: stretch; display: flex; align-items: center; }
.cdw .cd-calc-inwrap input, .cdw .cd-calc-inwrap select { flex: 1; border: none; outline: none; font-size: 17px; font-weight: 700; color: #000; padding: 11px 12px; width: 100%; min-width: 0; background: #fff; -webkit-appearance: none; appearance: none; }
.cdw .cd-calc-cols { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 20px; }
.cdw .cd-calc-col { background: #fff; border: 1px solid #e3e3e3; border-top: 4px solid #999; border-radius: 10px; padding: 18px; }
.cdw .cd-calc-col.cc-loan { border-top-color: #1fa06d; }
.cdw .cd-calc-col.cc-settle { border-top-color: #c97a2c; }
.cdw .cc-h { font-size: 16px; font-weight: 800; margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid #e3e3e3; color: #000; }
.cdw .cc-loan .cc-h { color: #1a7a48; }
.cdw .cc-settle .cc-h { color: #c97a2c; }
.cdw .cc-row { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 15px; padding: 7px 0; color: #555; }
.cdw .cc-row b { font-size: 16px; color: #000; text-align: right; }
.cdw .cc-note { font-size: 14px; line-height: 1.55; color: #555; margin-top: 12px; padding-top: 10px; border-top: 1px solid #e3e3e3; }
.cdw .cd-calc-takeaway { margin: 18px 0; font-size: 17px; background: #fff; border: 1px solid #e3e3e3; border-left: 4px solid #f5c842; padding: 14px 18px; border-radius: 8px; color: #000; line-height: 1.55; }
.cdw .cd-calc-cta { margin-top: 20px; }

@media (max-width: 680px) {
  .cdw .cd-calc-inputs { grid-template-columns: 1fr; }
  .cdw .cd-calc-cols { grid-template-columns: 1fr; }
  .cdw .cd-author { flex-direction: column; }
}

@media (max-width: 600px) {
  .cdw { font-size: 17.5px; padding: 0 12px; }
  .cdw h1 { font-size: 25px !important; }
  .cdw h2 { font-size: 21px !important; }
  .cdw p a, .cdw li a { font-size: 17.5px; }
  .cdw .cd-cols { grid-template-columns: 1fr; }
  .cdw .cd-calc-grid { grid-template-columns: 1fr; }
  .cdw .cd-glance { grid-template-columns: 1fr; gap: 10px; }
  .cdw .cd-glance-v { font-size: 17px; }
  .cdw .cd-pills { display: none; }
  .cdw .cd-byline { gap: 10px; padding: 8px 0 12px; }
  .cdw .cd-byline img { width: 48px !important; height: 48px !important; min-width: 48px; min-height: 48px; }
  .cdw .cd-byline .cd-n { font-size: 14px; }
  .cdw .cd-byline .cd-s { font-size: 12px; }
}
