/* ---- Hero (matches life-insurance.html) ---- */
.blog-hero { background:var(--charcoal); color:var(--white); padding:52px 0 60px; position:relative; overflow:hidden; }
.blog-hero::before { content:''; position:absolute; top:-80px; right:-60px; width:500px; height:500px; background:radial-gradient(circle,rgba(212,121,28,.07) 0%,transparent 65%); pointer-events:none; }
.blog-hero .breadcrumb { color:rgba(255,255,255,.4); margin-bottom:16px; }
.blog-hero .breadcrumb a { color:var(--amber-glow); }
.blog-hero-kicker { font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.09em; color:var(--amber-glow); margin-bottom:14px; display:flex; align-items:center; gap:8px; }
.blog-hero-kicker::before { content:''; width:28px; height:2px; background:var(--amber-glow); border-radius:2px; flex-shrink:0; }
.blog-hero h1 { font-family:var(--font-display); font-size:clamp(1.8rem,4.5vw,2.8rem); line-height:1.15; margin-bottom:14px; }
.blog-hero .hero-intro { color:rgba(255,255,255,.55); font-size:1.05rem; max-width:620px; margin-bottom:12px; }
.blog-hero .hero-trust { font-size:.83rem; color:rgba(255,255,255,.4); }
.blog-hero .hero-trust strong { color:rgba(255,255,255,.65); }
.hero-cta-row { margin-top:22px; }
.blog-hero-wave { position:absolute; bottom:-2px; left:0; right:0; height:40px; background:var(--cream); clip-path:ellipse(55% 100% at 50% 100%); }

/* ---- Blog layout (matches life-insurance.html) ---- */
.blog-layout { display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; padding:48px 0 60px; }
.blog-content h2 { font-family:var(--font-display); font-size:1.5rem; color:var(--charcoal); margin:36px 0 12px; }
.blog-content h2:first-child { margin-top:0; }
.blog-content p { color:var(--text-soft); font-size:.95rem; line-height:1.75; margin-bottom:12px; }
.blog-content strong { color:var(--text); }
.blog-content ul.content-list { margin:10px 0 20px; padding:0; }
.blog-content ul.content-list li { position:relative; padding-left:22px; font-size:.95rem; color:var(--text-soft); margin-bottom:8px; line-height:1.6; }
.blog-content ul.content-list li::before { content:''; position:absolute; left:0; top:8px; width:8px; height:8px; background:var(--amber); border-radius:50%; }

/* ---- Privacy notice ---- */
.checklist-notice { background:var(--cream-warm); border:1px solid var(--cream-dark); border-radius:var(--radius-sm); padding:12px 16px; font-size:.85rem; color:var(--text-muted); margin-bottom:24px; line-height:1.55; }
.checklist-notice strong { color:var(--text); }

/* ---- Progress panel ---- */
.progress-panel { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:20px 24px; margin-bottom:10px; box-shadow:var(--shadow); display:flex; gap:28px; flex-wrap:wrap; align-items:center; }
.progress-stat { display:flex; flex-direction:column; align-items:center; gap:3px; }
.stat-val { font-family:var(--font-display); font-size:1.7rem; font-weight:700; color:var(--charcoal); line-height:1; }
.stat-val.val-no { color:#8b3a00; }
.stat-val.val-unsure { color:var(--amber); }
.stat-label { font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--text-muted); }
.progress-note { font-size:.86rem; color:var(--text-muted); margin-bottom:20px; font-style:italic; }

/* ---- Checklist actions row ---- */
.checklist-actions { display:flex; gap:12px; flex-wrap:wrap; margin-bottom:28px; }

/* ---- Checklist fieldset — default border removed, body div carries the card look ---- */
.checklist-section { border:none; padding:0; margin:0 0 20px; }
.checklist-legend { display:flex; align-items:center; gap:10px; width:100%; box-sizing:border-box; padding:14px 24px; font-family:var(--font-display); font-size:1.05rem; font-weight:700; color:var(--charcoal); background:var(--cream-warm); border:1px solid var(--border); border-radius:var(--radius) var(--radius) 0 0; }
.section-icon { font-size:1.1rem; line-height:1; }
.checklist-section-body { background:var(--white); border:1px solid var(--border); border-top:none; border-radius:0 0 var(--radius) var(--radius); box-shadow:var(--shadow); padding:0 0 4px; }
.checklist-item { padding:14px 24px; border-bottom:1px solid var(--border); }
.checklist-item:last-child { border-bottom:none; }
.item-text { font-size:.93rem; color:var(--text); margin-bottom:10px; line-height:1.55; font-weight:500; }
.item-num { color:var(--amber); font-weight:700; margin-right:4px; font-size:.85rem; }
.answer-group { display:flex; gap:8px; flex-wrap:wrap; }

/* ---- Custom radio pills ---- */
.radio-opt { position:relative; display:inline-flex; align-items:center; }
.radio-opt input[type="radio"] { position:absolute; opacity:0; width:1px; height:1px; margin:0; padding:0; }
.opt-label { display:inline-block; padding:7px 16px; border:2px solid var(--border); border-radius:100px; font-size:.84rem; font-weight:600; cursor:pointer; transition:border-color .2s,background .2s,color .2s; color:var(--text-muted); user-select:none; min-height:36px; min-width:62px; text-align:center; line-height:1.4; }
.opt-label:hover { border-color:var(--amber); color:var(--charcoal); background:var(--cream-warm); }
.radio-opt input:focus-visible + .opt-label { outline:3px solid var(--amber-glow); outline-offset:2px; }
.radio-opt input[value="yes"]:checked + .opt-label { background:#e8f5e9; border-color:#2e7d32; color:#1b5e20; }
.radio-opt input[value="no"]:checked + .opt-label { background:#fff3e0; border-color:#8b3a00; color:#6d2c00; }
.radio-opt input[value="unsure"]:checked + .opt-label { background:var(--cream-warm); border-color:var(--amber); color:var(--charcoal-soft); }
.radio-opt input[value="na"]:checked + .opt-label { background:#f0f4f8; border-color:#78909c; color:#37474f; }

/* ---- Inline CTA (matches life-insurance.html) ---- */
.inline-cta { background:linear-gradient(135deg,var(--charcoal) 0%,#2a2a2a 100%); color:var(--white); border-radius:var(--radius); padding:32px; text-align:center; margin:32px 0; }
.inline-cta h3 { font-family:var(--font-display); font-size:1.25rem; margin-bottom:8px; }
.inline-cta p { color:rgba(255,255,255,.55); font-size:.9rem; margin-bottom:18px; }
.inline-cta .phone-cta { margin-top:12px; font-size:.88rem; color:rgba(255,255,255,.45); margin-bottom:0; }
.inline-cta .phone-cta a { color:rgba(255,255,255,.8); font-weight:600; }

/* ---- Disclosure block ---- */
.disclosure-block { background:var(--cream-warm); border:1px solid var(--cream-dark); border-radius:var(--radius-sm); padding:20px 24px; margin-top:32px; }
.disclosure-block p { font-size:.82rem; color:var(--text-muted); line-height:1.65; margin-bottom:8px; }
.disclosure-block p:last-child { margin-bottom:0; }
.disclosure-block a { color:var(--amber); }

/* ---- Sidebar (matches life-insurance.html) ---- */
.blog-sidebar { position:sticky; top:88px; }
.sidebar-cta { background:var(--amber); color:var(--white); border-radius:var(--radius); padding:28px; text-align:center; margin-bottom:20px; }
.sidebar-cta h3 { font-family:var(--font-display); font-size:1.1rem; margin-bottom:8px; }
.sidebar-cta p { font-size:.86rem; color:rgba(255,255,255,.75); margin-bottom:16px; }
.sidebar-cta .btn-dark { background:var(--charcoal); color:var(--white); width:100%; }
.info-card { background:var(--white); border:1px solid var(--border); border-radius:var(--radius); padding:20px 24px; margin-bottom:20px; box-shadow:var(--shadow); }
.info-card h3 { font-family:var(--font-display); font-size:1.05rem; color:var(--charcoal); margin-bottom:10px; }
.info-card p { font-size:.88rem; color:var(--text-soft); margin-bottom:6px; line-height:1.55; }
.info-card a { color:var(--amber); }
.sidebar-progress .sp-row { display:flex; justify-content:space-between; align-items:baseline; padding:7px 0; border-bottom:1px solid var(--border); font-size:.88rem; color:var(--text-soft); }
.sidebar-progress .sp-row:last-child { border-bottom:none; }
.sidebar-progress .sp-val { font-weight:700; color:var(--charcoal); font-size:.95rem; }

/* ---- Responsive ---- */
@media (max-width:960px) {
  .blog-layout { grid-template-columns:1fr; }
  .blog-sidebar { position:static; }
}
@media (max-width:640px) {
  .answer-group { gap:6px; }
  .opt-label { padding:6px 12px; font-size:.8rem; min-width:54px; }
  .progress-panel { gap:18px; padding:16px 18px; }
  .checklist-item { padding:12px 16px; }
  .checklist-legend { padding:12px 16px; font-size:.95rem; }
}
@media (max-width:480px) {
  .checklist-actions { flex-direction:column; }
  .checklist-actions .btn { width:100%; justify-content:center; }
}

/* ---- Print styles ---- */
@media print {
  .site-header,
  .blog-hero-wave,
  .hero-cta-row,
  .checklist-actions,
  .inline-cta,
  .blog-sidebar,
  .site-footer,
  .ad-slot { display:none !important; }

  body { background:#fff; }

  .blog-hero { background:#fff !important; color:#000 !important; padding:16px 0 10px; }
  .blog-hero h1 { color:#000 !important; font-size:1.5rem; }
  .blog-hero .hero-intro { color:#333 !important; font-size:.9rem; }
  .blog-hero .hero-trust { color:#555 !important; }
  .blog-hero .breadcrumb { display:none; }
  .blog-hero-kicker { color:#555 !important; }

  .container { max-width:100%; padding:0 12px; }
  .blog-layout { grid-template-columns:1fr; padding:12px 0 20px; }

  .checklist-section { page-break-inside:avoid; break-inside:avoid; }
  .checklist-legend { background:#f5f5f5 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .checklist-item { padding:8px 16px; }
  .item-text { font-size:.85rem; margin-bottom:6px; }

  .opt-label { border:1px solid #999; border-radius:4px; padding:3px 8px; font-size:.75rem; min-height:auto; min-width:auto; }
  .radio-opt input[value="yes"]:checked + .opt-label { background:#e8f5e9 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .radio-opt input[value="no"]:checked + .opt-label { background:#fff3e0 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .radio-opt input[value="unsure"]:checked + .opt-label { background:#fef9ef !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
  .radio-opt input[value="na"]:checked + .opt-label { background:#f0f4f8 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }

  .progress-panel { box-shadow:none; border:1px solid #ccc; }
  .disclosure-block { border:1px solid #ccc; font-size:.75rem; }
  .blog-content h2 { font-size:1.1rem; margin-top:20px; }
  .blog-content p, .blog-content li { font-size:.85rem; }
  .checklist-notice { background:#f5f5f5 !important; -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
