.ccf-dscr-wrap, .ccf-dscr-wrap * { box-sizing:border-box; }
.ccf-dscr-wrap {
  --navy:#1B3A6B; --navy-dark:#122850; --navy-light:#2a4f8f; --gold:#C9A84C;
  --white:#fff; --gray-50:#F8F9FB; --gray-100:#EEF1F6; --gray-200:#D5DBE8;
  --gray-400:#8B97B0; --gray-600:#5A6880; --gray-700:#3A4A65; --gray-900:#1C2540;
  --green:#1E7A4A; --green-bg:#E8F5EE; --green-border:#A8D8BB;
  --yellow:#8A6A00; --yellow-bg:#FFF8E1; --yellow-border:#E0C84A;
  --red:#C0392B; --red-bg:#FDEDEC; --red-border:#F0A89F;
  --radius:12px; --shadow:0 6px 22px rgba(27,58,107,.10);
  font-family:Arial,Helvetica,sans-serif; color:var(--gray-700); background:var(--gray-50);
  padding:0; max-width:1120px; margin:0 auto;
}
.ccf-dscr-header{
  background:linear-gradient(135deg,var(--navy-dark),var(--navy),var(--navy-light));
  color:var(--white); text-align:center; padding:28px 20px 24px; border-radius:16px; position:relative; overflow:hidden;
}
.ccf-dscr-badge{display:inline-block;background:rgba(201,168,76,.22);border:1px solid rgba(201,168,76,.5);color:#f1dfaa;font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;border-radius:20px;padding:4px 12px;margin-bottom:10px}
.ccf-dscr-header h2{margin:0;font-size:30px;line-height:1.15;font-weight:800}
.ccf-dscr-header h2.gold{color:var(--gold)}
.ccf-dscr-header p{margin:8px 0 0;font-size:13px;color:rgba(255,255,255,.78)}
.ccf-dscr-inner{padding:22px 0 28px}
.ccf-toprow{display:flex;justify-content:flex-end;margin-bottom:14px}
.ccf-btn-reset{background:none;border:1.5px solid var(--gray-200);color:var(--gray-400);font-size:12px;font-weight:600;padding:6px 14px;border-radius:8px;cursor:pointer}
.ccf-btn-reset:hover{border-color:var(--navy);color:var(--navy)}
.ccf-tabbar{display:flex;gap:6px;background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:6px;margin-bottom:18px}
.ccf-tabbtn{flex:1;padding:12px 10px;border:none;border-radius:8px;background:transparent;color:var(--gray-400);font-weight:700;cursor:pointer}
.ccf-tabbtn.active{background:var(--navy);color:#fff;box-shadow:0 3px 10px rgba(27,58,107,.22)}
.ccf-panel{display:none}
.ccf-panel.active{display:block}
.ccf-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:860px){.ccf-grid{grid-template-columns:1fr}}
.ccf-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:hidden;margin-bottom:18px}
.ccf-card-header{background:var(--navy);color:#fff;padding:12px 16px;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}
.ccf-card-body{padding:16px}
.ccf-field{margin-bottom:12px}
.ccf-field:last-child{margin-bottom:0}
.ccf-field label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:4px}
.ccf-field label .hint{font-weight:400;color:var(--gray-400);margin-left:4px;font-size:11px}
.ccf-monthly-equivalent{font-size:12px;color:var(--gray-600);margin-top:4px;min-height:16px}
.ccf-field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:560px){.ccf-field-row{grid-template-columns:1fr}}
.ccf-input-wrap{position:relative;display:flex;align-items:center}
.ccf-prefix,.ccf-suffix{position:absolute;font-size:16px;font-weight:700;color:var(--gray-600);pointer-events:none}
.ccf-prefix{left:10px;z-index:2}
.ccf-suffix{right:10px}
.ccf-field input[type=text], .ccf-field input[type=email], .ccf-field input[type=tel], .ccf-field select{
  width:100%; height:52px; border:1.5px solid var(--gray-200); border-radius:8px; padding:12px 14px; font-size:18px; color:var(--gray-900); background:#fff;
  transition:border-color .18s,box-shadow .18s,transform .08s; appearance:none;
}
.ccf-field select{
  padding-right:38px;
  background-image:linear-gradient(45deg, transparent 50%, var(--navy) 50%), linear-gradient(135deg, var(--navy) 50%, transparent 50%);
  background-position:calc(100% - 18px) calc(50% - 3px), calc(100% - 12px) calc(50% - 3px);
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;cursor:pointer;
}
.ccf-input-wrap.has-prefix input{padding-left:38px!important}
.ccf-input-wrap.has-suffix input{padding-right:36px!important}
.ccf-field input:focus,.ccf-field select:focus,.ccf-gate-field input:focus{
  outline:none; border-color:var(--navy); box-shadow:0 0 0 4px rgba(27,58,107,.14),0 0 18px rgba(27,58,107,.10)
}
.ccf-note{font-size:12px;color:var(--gray-600);margin-bottom:10px}
.ccf-toggle{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:8px;margin-bottom:12px}
.ccf-toggle .desc{font-size:13px;font-weight:600;color:var(--navy);flex:1}
.ccf-switch{position:relative;display:inline-block;width:42px;height:22px}
.ccf-switch input{opacity:0;width:0;height:0}
.ccf-slider{position:absolute;inset:0;background:var(--gray-200);border-radius:22px;transition:.2s}
.ccf-slider:before{content:'';position:absolute;width:16px;height:16px;left:3px;bottom:3px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.ccf-switch input:checked + .ccf-slider{background:var(--navy)}
.ccf-switch input:checked + .ccf-slider:before{transform:translateX(20px)}
.ccf-results-wrap{background:#fff;border-radius:12px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.ccf-results-head{background:linear-gradient(90deg,var(--navy-dark),var(--navy));color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.ccf-results-head h3{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.7px}
.ccf-badge{display:inline-flex;align-items:center;gap:6px;border-radius:18px;padding:5px 12px;font-size:12px;font-weight:700}
.ccf-badge.pass{background:var(--green-bg);border:1px solid var(--green-border);color:var(--green)}
.ccf-badge.warn{background:var(--yellow-bg);border:1px solid var(--yellow-border);color:var(--yellow)}
.ccf-badge.fail{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red)}
.ccf-results-body{padding:18px}
.ccf-gate{position:absolute;inset:0;z-index:12;background:rgba(248,249,251,.94);backdrop-filter:blur(7px);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;border-radius:12px;transition:opacity .35s}
.ccf-gate.hidden{opacity:0;pointer-events:none}
.ccf-gate-title{font-size:20px;font-weight:800;color:var(--navy);margin:4px 0}
.ccf-gate-sub{font-size:13px;color:var(--gray-600);margin-bottom:18px;max-width:360px;line-height:1.5}
.ccf-gate-form{width:100%;max-width:380px}
.ccf-gate-field{margin-bottom:12px;text-align:left}
.ccf-gate-field label{display:block;font-size:12px;font-weight:600;color:var(--navy);margin-bottom:4px}
.ccf-gate-field input{width:100%;height:50px;border:1.5px solid var(--gray-200);border-radius:8px;padding:12px 14px;font-size:17px}
.ccf-gate-err{font-size:11px;color:var(--red);margin-top:3px;display:none}
.ccf-gate-err.show{display:block}
.ccf-btn-primary{width:100%;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:12px;font-size:14px;font-weight:700;cursor:pointer}
.ccf-btn-primary:hover{background:var(--navy-light)}
.ccf-gate-success{display:none;font-size:12px;color:var(--green);font-weight:600;margin-top:10px}
.ccf-gate-success.show{display:block}
.ccf-download{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;background:var(--gray-50);border:1.5px solid var(--gray-200);border-radius:8px;padding:12px 14px;margin-bottom:16px}
.ccf-download strong{display:block;color:var(--navy);font-size:13px;margin-bottom:2px}
.ccf-download span{font-size:12px;color:var(--gray-600)}
.ccf-btn-download{display:inline-flex;align-items:center;gap:6px;background:var(--navy);color:#fff;border:none;border-radius:8px;padding:9px 16px;font-size:12px;font-weight:700;cursor:pointer}
.ccf-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px;margin-bottom:16px}
.ccf-metric{background:var(--gray-50);border:1.5px solid var(--gray-100);border-radius:8px;padding:12px 10px;text-align:center}
.ccf-metric .label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--gray-400);margin-bottom:5px}
.ccf-metric .value{font-size:20px;font-weight:800;color:var(--navy);line-height:1}
.ccf-metric.hi{background:var(--navy);border-color:var(--navy)}
.ccf-metric.hi .label{color:rgba(255,255,255,.65)}
.ccf-metric.hi .value{color:#f1dfaa}
.ccf-waterfall-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--navy);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid var(--gold)}
.ccf-waterfall{border:1.5px solid var(--gray-100);border-radius:8px;overflow:hidden;font-size:12px;margin-bottom:16px}
.ccf-row{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid var(--gray-100);gap:6px}
.ccf-row:last-child{border-bottom:none}
.ccf-row.head{background:#fdf6e3;font-weight:700;color:var(--navy);font-size:11px;text-transform:uppercase}
.ccf-row.total{background:var(--navy);color:#fff;font-weight:800}
.ccf-row.sub{background:var(--gray-50);padding-left:24px}
.ccf-row .left{flex:1}
.ccf-row .right{font-weight:600;white-space:nowrap}
.ccf-box{background:linear-gradient(135deg,var(--navy-dark),var(--navy-light));border-radius:12px;padding:16px 18px;color:#fff;margin-bottom:16px}
.ccf-box .small{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:rgba(255,255,255,.65);margin-bottom:3px;font-weight:700}
.ccf-box .big{font-size:30px;font-weight:900;color:#f1dfaa;line-height:1}
.ccf-box .sub{font-size:10px;color:rgba(255,255,255,.55);margin-top:4px}
.ccf-inline-target{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:7px}
.ccf-inline-target label{font-size:11px;color:rgba(255,255,255,.7)}
.ccf-inline-target input{width:88px;height:40px;border-radius:8px;border:1px solid rgba(255,255,255,.55);background:#ffffff;color:var(--navy-dark);padding:6px 10px;font-size:18px;font-weight:700}
.ccf-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;margin-bottom:16px}
.ccf-side{border-radius:8px;padding:12px 14px}
.ccf-side.old{background:var(--gray-50);border:1.5px solid var(--gray-200)}
.ccf-side.new{background:var(--navy);color:#fff}
.ccf-side h4{font-size:10px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;margin:0 0 8px}
.ccf-side.old h4{color:var(--gray-400)}
.ccf-side.new h4{color:rgba(255,255,255,.65)}
.ccf-side-row{display:flex;justify-content:space-between;margin-bottom:5px;font-size:12px}
.ccf-side-row:last-child{margin-bottom:0}
.ccf-arrow{font-size:20px;color:var(--gray-400);text-align:center}
.ccf-cta{background:#fdf6e3;border:1.5px solid rgba(201,168,76,.45);border-radius:12px;padding:18px 20px;display:flex;justify-content:space-between;gap:14px;align-items:center;flex-wrap:wrap}
.ccf-cta p{margin:0;font-size:16px;color:var(--navy);font-weight:800}
.ccf-cta p span{display:block;font-size:13px;color:var(--gray-600);font-weight:500;margin-top:4px}
.ccf-cta a{display:inline-block;background:linear-gradient(135deg,var(--navy),var(--navy-light));color:#fff;text-decoration:none;border-radius:12px;padding:18px 28px;font-size:22px;font-weight:900;letter-spacing:.2px;box-shadow:0 16px 34px rgba(11,79,132,.28)}
.ccf-cta-contact{display:flex;flex-direction:column;gap:2px;align-items:center;justify-content:center;text-align:center;line-height:1.3;flex:0 0 auto}
.ccf-cta-contact a,.ccf-cta .ccf-cta-contact a{display:inline-block !important;background:none !important;background-image:none !important;color:var(--navy) !important;text-decoration:none !important;padding:0 !important;margin:0 !important;font-size:14px !important;font-weight:700 !important;border-radius:0 !important;box-shadow:none !important;letter-spacing:0 !important;line-height:1.3 !important}
.ccf-cta-contact .ccf-cta-email{font-size:13px !important;font-weight:600 !important;color:var(--gray-600) !important}
.ccf-cta-contact .ccf-cta-phone{font-size:16px !important;font-weight:800 !important;color:var(--navy) !important}
.ccf-status{margin-top:12px;padding:10px 12px;border-radius:8px;font-size:13px;display:none}
.ccf-status.show{display:block}
.ccf-status.success{background:var(--green-bg);border:1px solid var(--green-border);color:var(--green)}
.ccf-status.warning{background:var(--yellow-bg);border:1px solid var(--yellow-border);color:var(--yellow)}
.ccf-status.error{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red)}

/* v4 polish */
.ccf-field label{min-height:20px;display:block}
.ccf-note{font-size:11px;color:var(--gray-600);margin-top:6px;margin-bottom:0;line-height:1.35}
.ccf-note.inline-note{min-height:auto}
.ccf-metrics{gap:12px;margin-bottom:18px}
.ccf-metric{border-radius:10px;padding:14px 12px;box-shadow:0 2px 8px rgba(11,79,132,.05)}
.ccf-metric .label{font-size:10px;letter-spacing:.8px;margin-bottom:7px}
.ccf-metric .value{font-size:22px;font-weight:900;letter-spacing:-.2px}
.ccf-metric.hi .value{color:#ffffff}
.ccf-waterfall{border-radius:10px}
.ccf-row{padding:9px 12px}
.ccf-row.total{font-size:13px}
.ccf-box{border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 24px rgba(11,79,132,.16)}
.ccf-box .big{font-size:34px}
.ccf-cta{padding:20px 22px;border-radius:14px;box-shadow:0 8px 24px rgba(11,79,132,.08)}
.ccf-cta p{font-size:19px;line-height:1.15}
.ccf-cta p span{font-size:13px;margin-top:6px;line-height:1.45}
.ccf-cta a{min-width:280px;text-align:center;padding:20px 30px;font-size:24px;border-radius:14px}

@media print{
  @page { size: landscape; margin: 0.18in !important; }
  html,body{height:auto!important;overflow:visible!important;}
  body{font-size:10.5px!important;}
  /* keep header visible in print */
  .ccf-dscr-header{display:block!important;}
  .ccf-dscr-inner{padding:0!important;}
  .ccf-results-wrap{border:none!important;box-shadow:none!important;}
  .ccf-results-head{padding:8px 12px!important;border-radius:10px 10px 0 0!important;}
  .ccf-results-head h3{font-size:11px!important;letter-spacing:.6px!important;}
  .ccf-badge{font-size:10px!important;padding:4px 10px!important;}
  .ccf-results-body{padding:10px 10px 8px!important;}
  .ccf-metrics{grid-template-columns:repeat(4,1fr)!important;gap:6px!important;margin-bottom:10px!important;}
  .ccf-metric{padding:8px 6px!important;border-radius:8px!important;box-shadow:none!important;}
  .ccf-metric .label{font-size:8.5px!important;letter-spacing:.45px!important;margin-bottom:3px!important;}
  .ccf-metric .value{font-size:15px!important;}
  .ccf-waterfall-title{font-size:10px!important;margin-bottom:6px!important;padding-bottom:4px!important;}
  .ccf-waterfall{margin-bottom:10px!important;border-radius:8px!important;}
  .ccf-row{padding:5px 8px!important;font-size:10px!important;gap:4px!important;}
  .ccf-box{padding:10px 12px!important;margin-bottom:10px!important;border:none!important;box-shadow:none!important;}
  .ccf-box .small{font-size:8px!important;}
  .ccf-box .big{font-size:22px!important;}
  .ccf-box .sub{font-size:8px!important;}
  .ccf-inline-target{margin-top:3px!important;gap:6px!important;}
  .ccf-inline-target label{font-size:9px!important;}
  .ccf-inline-target input{height:28px!important;font-size:13px!important;padding:4px 8px!important;}
  .ccf-compare{gap:6px!important;margin-bottom:10px!important;}
  .ccf-side{padding:8px 9px!important;border-radius:8px!important;}
  .ccf-side h4{font-size:8px!important;margin-bottom:5px!important;}
  .ccf-side-row{font-size:10px!important;margin-bottom:3px!important;}
  .ccf-arrow{font-size:16px!important;}
  .ccf-cta{padding:10px 12px!important;gap:8px!important;border-radius:10px!important;box-shadow:none!important;}
  .ccf-cta p{font-size:11px!important;}
  .ccf-cta p span{font-size:9px!important;margin-top:3px!important;}
  .ccf-cta a{min-width:0!important;padding:10px 14px!important;font-size:12px!important;border-radius:10px!important;box-shadow:none!important;}
}

body{margin:0;padding:24px;background:#ffffff;font-family:Arial,Helvetica,sans-serif;}


/* Coastal Capital Funding visual refresh based on Fix & Flip analyzer */
.ccf-dscr-wrap {
  --navy:#0B4F84; --navy-dark:#08395F; --navy-light:#18A8E5; --teal:#0E5A73;
  --white:#FFFFFF; --gray-50:#F5F7FA; --gray-100:#EDF2F7; --gray-200:#D8E1EA;
  --gray-400:#7F8EA3; --gray-600:#55657A; --gray-700:#334155; --gray-900:#1C2736;
  --green:#2E7D52; --green-bg:#EBF7F1; --yellow:#7A6010; --yellow-bg:#FFF8E1;
  --red:#C0392B; --red-bg:#FDEDEC; --radius:10px;
  --shadow:0 4px 18px rgba(11,79,132,0.10);
  --shadow-lg:0 8px 32px rgba(11,79,132,0.16);
  font-family:'Segoe UI',Arial,sans-serif;
  background:var(--gray-50);
}
body{background:var(--gray-50);}
.ccf-dscr-header{
  background: linear-gradient(135deg,var(--navy-dark) 0%, var(--navy) 55%, var(--navy-light) 100%);
  color: var(--white);
  padding: 22px 20px 18px;
  text-align: center;
  border-radius:0;
  border-bottom: 4px solid var(--navy-light);
  box-shadow: 0 4px 18px rgba(11,79,132,0.12);
}
.ccf-dscr-header-brand {
  max-width:1100px; margin:0 auto; display:flex; flex-direction:column; align-items:center; gap:10px;
}
.ccf-dscr-logo-wrap { background: rgba(255,255,255,0.96); border-radius: 18px; padding: 10px 16px; box-shadow: 0 6px 20px rgba(0,0,0,0.08); display:inline-flex; }
.ccf-dscr-logo { max-width:min(620px,92%); width:100%; height:auto; display:block; margin:0 auto 2px; }
.ccf-dscr-badge{display:none !important;}
.ccf-dscr-header h2 {
  font-size: clamp(24px, 4.1vw, 34px);
  font-weight: 800;
  letter-spacing: -.4px;
  line-height: 1.15;
  color: var(--white) !important;
  margin: 0;
}
.ccf-dscr-header h2.gold{color:var(--white) !important;}
.ccf-dscr-header p { margin-top: 2px; font-size: 14px; color: rgba(255,255,255,0.88); }
.ccf-dscr-inner{padding:24px 16px 48px;}
.ccf-card,.ccf-results-wrap,.ccf-tabbar{background:var(--white); border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden;}
.ccf-card-header,.ccf-results-head{
  background:linear-gradient(90deg,var(--navy),var(--teal));
  color:var(--white); padding:13px 20px; font-size:13px; font-weight:700; letter-spacing:.5px; text-transform:uppercase;
}
.ccf-card-body,.ccf-results-body{padding:20px;}
.ccf-field label,.ccf-gate-field label{display:block; font-size:12px; font-weight:600; color:var(--navy); margin-bottom:5px;}
.ccf-field input,.ccf-field select,.ccf-gate-field input {
  width:100%; height:44px; border:1.5px solid var(--gray-200); border-radius:7px; padding:9px 11px; font-size:14px; color:var(--gray-900); background:var(--white);
  transition:border-color .18s,box-shadow .18s; font-family:'Segoe UI',Arial,sans-serif;
}
.ccf-field input:focus,.ccf-field select:focus,.ccf-gate-field input:focus { outline:none; border-color:var(--navy); box-shadow:0 0 0 4px rgba(11,79,132,.14), 0 0 18px rgba(11,79,132,.10); }
.ccf-input-wrap .ccf-prefix,.ccf-input-wrap .ccf-suffix{color:var(--gray-600); font-weight:600;}
.ccf-tabbar{padding:6px; gap:6px; margin-bottom:20px;}
.ccf-tabbtn{border:none; background:transparent; padding:12px 16px; border-radius:8px; font-weight:700; color:var(--gray-600); cursor:pointer;}
.ccf-tabbtn.active{background:linear-gradient(135deg,var(--navy),var(--navy-light)); color:var(--white); box-shadow:0 8px 18px rgba(11,79,132,0.16);}
.ccf-btn-reset{background:none; border:1.5px solid var(--gray-200); color:var(--gray-400); font-size:12px; font-weight:600; padding:6px 14px; border-radius:6px; cursor:pointer;}
.ccf-btn-reset:hover{border-color:var(--navy); color:var(--navy);}
.ccf-summary-grid{gap:14px;}
.ccf-metric{background:var(--gray-50); border:1.5px solid var(--gray-100); border-radius:9px; padding:16px 14px; text-align:center;}
.ccf-metric .label{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.8px; color:var(--gray-400); margin-bottom:6px;}
.ccf-metric .value{font-size:clamp(16px,2.5vw,22px); font-weight:800; color:var(--navy); line-height:1; font-variant-numeric:tabular-nums;}
.ccf-metric.highlight{background:var(--navy); border-color:var(--navy);}
.ccf-metric.highlight .label{color:rgba(255,255,255,.65);} 
.ccf-metric.highlight .value{color:var(--white);} 
.ccf-decision{display:inline-flex; align-items:center; gap:7px; border-radius:20px; padding:5px 16px; font-size:13px; font-weight:700;}
.ccf-decision.pass{background:var(--green-bg); color:var(--green);} 
.ccf-decision.caution{background:var(--yellow-bg); color:var(--yellow);} 
.ccf-decision.fail{background:var(--red-bg); color:var(--red);} 
.ccf-gate-box,.ccf-refi-highlight,.ccf-purchase-highlight{background:linear-gradient(135deg,var(--navy-dark),var(--navy-light)); color:var(--white); border-radius:var(--radius); box-shadow:var(--shadow-lg);} 
.ccf-gate-box h3,.ccf-refi-highlight h3,.ccf-purchase-highlight h3{color:rgba(255,255,255,.78);} 
.ccf-btn-primary,.ccf-btn-unlock,.ccf-btn-download{background:var(--navy); color:var(--white); border:none; border-radius:8px; padding:13px 18px; font-size:15px; font-weight:700; cursor:pointer;}
.ccf-btn-primary:hover,.ccf-btn-unlock:hover,.ccf-btn-download:hover{background:var(--navy-light);} 
.ccf-results-wrap{box-shadow:var(--shadow-lg);} 
@media(max-width:640px){
  .ccf-dscr-header { padding:18px 14px 16px; }
  .ccf-dscr-logo { max-width:98%; }
  .ccf-dscr-inner{padding:18px 12px 34px;}
}


@media print{
  @page { size: landscape; margin: 0.18in !important; }
  body{margin:0!important;padding:0!important;background:#fff!important;font-size:11px;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
  .ccf-dscr-wrap{max-width:none!important;margin:0!important;background:#fff!important;box-shadow:none!important;}
  .ccf-toprow,.ccf-tabbar,.ccf-gate,.ccf-download,.ccf-status,.ccf-btn-download{display:none!important;}
  .ccf-panel{display:none!important;}
  .ccf-panel.active{display:block!important;}
  .ccf-panel.active > .ccf-grid{display:block!important;}
  .ccf-panel.active > .ccf-grid > div:first-child{display:none!important;}
  .ccf-panel.active > .ccf-grid > div:last-child .ccf-card{display:none!important;}
  .ccf-dscr-header{padding:12px 12px 10px!important;border-bottom-width:2px!important;box-shadow:none!important;}
  .ccf-dscr-logo{max-width:430px!important;}
  .ccf-dscr-header h2{font-size:24px!important;margin-top:6px!important;}
  .ccf-dscr-header p{font-size:11px!important;margin-top:4px!important;}
  .ccf-dscr-inner{padding:8px 0 0!important;}
  .ccf-results-wrap,.ccf-results-body,.ccf-box,.ccf-waterfall,.ccf-metric,.ccf-compare,.ccf-cta{break-inside:avoid;page-break-inside:avoid;}
  .ccf-results-wrap{box-shadow:none!important;border:1px solid #d8e1ea!important;}
  .ccf-results-head{padding:10px 14px!important;}
  .ccf-results-head h3{font-size:12px!important;}
  .ccf-results-body{padding:12px!important;}
  .ccf-metrics{grid-template-columns:repeat(4,1fr)!important;gap:8px!important;margin-bottom:12px!important;}
  .ccf-metric{padding:10px 8px!important;}
  .ccf-metric .label{font-size:9px!important;margin-bottom:4px!important;}
  .ccf-metric .value{font-size:15px!important;}
  .ccf-waterfall-title{font-size:11px!important;margin-bottom:8px!important;padding-bottom:4px!important;}
  .ccf-row{padding:6px 10px!important;font-size:11px!important;}
  .ccf-box{padding:12px 14px!important;margin-bottom:12px!important;}
  .ccf-box .small{font-size:9px!important;}
  .ccf-box .big{font-size:24px!important;}
  .ccf-box .sub{font-size:9px!important;}
  .ccf-inline-target{margin-top:4px!important;}
  .ccf-inline-target label{font-size:10px!important;}
  .ccf-inline-target input{height:32px!important;font-size:14px!important;}
  .ccf-compare{gap:6px!important;margin-bottom:12px!important;}
  .ccf-side{padding:10px 12px!important;}
  .ccf-side h4{font-size:9px!important;margin-bottom:6px!important;}
  .ccf-side-row{font-size:11px!important;margin-bottom:4px!important;}
  .ccf-cta{padding:12px 14px!important;gap:10px!important;}
  .ccf-cta p{font-size:12px!important;}
  .ccf-cta p span{font-size:10px!important;}
  .ccf-cta a{padding:12px 18px!important;font-size:14px!important;}

  /* extra compaction for refinance print so header + results fit on one page */
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header{padding:8px 10px 6px!important;border-bottom-width:2px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo-wrap{padding:6px 10px!important;border-radius:12px!important;box-shadow:none!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo{max-width:320px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header h2{font-size:19px!important;margin-top:4px!important;line-height:1.05!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header p{font-size:9px!important;margin-top:2px!important;line-height:1.15!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-inner{padding-top:4px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-head{padding:8px 12px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-head h3{font-size:11px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-body{padding:10px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box{padding:10px 12px!important;margin-bottom:10px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box .big{font-size:21px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-compare{gap:5px!important;margin-bottom:10px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side{padding:8px 10px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side h4{font-size:8px!important;margin-bottom:4px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side-row{font-size:10px!important;margin-bottom:2px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-arrow{font-size:14px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metrics{gap:6px!important;margin-bottom:10px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric{padding:8px 6px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .label{font-size:8px!important;margin-bottom:3px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .value{font-size:13px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-waterfall-title{font-size:10px!important;margin-bottom:6px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row{padding:5px 8px!important;font-size:10px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-inline-target input{height:28px!important;font-size:12px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta{padding:10px 12px!important;gap:8px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta p{font-size:10px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta p span{font-size:8px!important;margin-top:2px!important;}
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta a{padding:10px 14px!important;font-size:12px!important;}
}



/* WordPress print isolation */
.ccf-dscr-print-root{max-width:1120px;margin:0 auto;}
@media print {
  @page { size: landscape; margin: 0.18in !important; }
  html, body { background:#fff !important; margin:0 !important; padding:0 !important; height:auto !important; overflow:visible !important; }
  body * { visibility:hidden !important; }
  .ccf-dscr-print-root, .ccf-dscr-print-root * { visibility:visible !important; }
  .ccf-dscr-print-root { position:absolute !important; left:0 !important; top:0 !important; width:100% !important; max-width:none !important; margin:0 !important; padding:0 !important; background:#fff !important; }
  .ccf-dscr-wrap { background:#fff !important; box-shadow:none !important; max-width:none !important; }
  .ccf-dscr-inner { padding:8px 10px 0 !important; }
  .ccf-toprow, .ccf-tabbar, .ccf-grid > .ccf-card, .ccf-gate, .ccf-gate-success, .ccf-status, .ccf-btn-reset, [data-print] { display:none !important; }
  .ccf-results-wrap { display:block !important; box-shadow:none !important; border:none !important; margin:0 !important; }
  [data-panel] { display:none !important; }
  .ccf-dscr-wrap[data-active-tab="p"] [data-panel="p"], .ccf-dscr-wrap[data-active-tab="r"] [data-panel="r"] { display:block !important; }
  .ccf-dscr-header { display:block !important; margin:0 !important; border-radius:0 !important; padding:12px 12px 10px !important; }
  .ccf-dscr-logo-wrap { padding:6px 10px !important; border-radius:12px !important; }
  .ccf-dscr-logo { max-width:min(460px, 84%) !important; }
  .ccf-dscr-header h2 { font-size:24px !important; }
  .ccf-dscr-header p { font-size:11px !important; margin-top:2px !important; }
  .ccf-results-head { padding:8px 12px !important; }
  .ccf-results-head h3 { font-size:11px !important; }
  .ccf-results-body { padding:10px !important; }
  .ccf-metrics { grid-template-columns:repeat(4,1fr) !important; gap:6px !important; margin-bottom:10px !important; }
  .ccf-metric { padding:8px 6px !important; min-height:auto !important; }
  .ccf-metric .label { font-size:8px !important; margin-bottom:3px !important; }
  .ccf-metric .value { font-size:14px !important; }
  .ccf-waterfall-title { font-size:10px !important; margin-bottom:6px !important; padding-bottom:4px !important; }
  .ccf-waterfall { margin-bottom:10px !important; }
  .ccf-row { padding:5px 8px !important; font-size:10px !important; }
  .ccf-box { padding:9px 11px !important; margin-bottom:10px !important; }
  .ccf-box .small { font-size:8px !important; }
  .ccf-box .big { font-size:22px !important; }
  .ccf-box .sub { font-size:8px !important; }
  .ccf-inline-target { gap:6px !important; }
  .ccf-inline-target label { font-size:9px !important; }
  .ccf-inline-target input { height:28px !important; font-size:13px !important; background:#fff !important; }
  .ccf-compare { gap:6px !important; margin-bottom:10px !important; }
  .ccf-side { padding:8px !important; }
  .ccf-side h4 { font-size:8px !important; margin-bottom:4px !important; }
  .ccf-side-row { font-size:10px !important; margin-bottom:3px !important; }
  .ccf-arrow { font-size:16px !important; }
  .ccf-cta { padding:8px 10px !important; gap:8px !important; box-shadow:none !important; }
  .ccf-cta p { font-size:10px !important; }
  .ccf-cta p span { font-size:8px !important; }
  .ccf-cta a { padding:9px 12px !important; font-size:11px !important; min-width:0 !important; box-shadow:none !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta { page-break-inside: avoid !important; }
}


/* v4 final one-page PDF compaction for WordPress */
@media print {
  @page { size: landscape; margin: 0.18in !important; }
  html, body { zoom: 1; }
  .ccf-dscr-print-root {
    transform: none;
    transform-origin: top left;
    width: 100% !important;
  }
  /* Purchase should fill more of the page */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="p"].ccf-dscr-print-root {
    transform: scale(1.00) !important;
    width: 100% !important;
  }
  /* Refinance needs more compression so header and results stay together */
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="r"].ccf-dscr-print-root {
    transform: scale(0.88) !important;
    width: 113.5% !important;
  }
  .ccf-dscr-wrap,
  .ccf-results-wrap,
  .ccf-results-body,
  .ccf-waterfall,
  .ccf-box,
  .ccf-compare,
  .ccf-cta,
  .ccf-metric,
  .ccf-side {
    break-inside: avoid !important;
    page-break-inside: avoid !important;
  }
  .ccf-dscr-header {
    padding: 8px 10px 7px !important;
    border-bottom-width: 2px !important;
    box-shadow: none !important;
  }
  .ccf-dscr-header-brand { gap: 4px !important; }
  .ccf-dscr-logo-wrap {
    padding: 4px 8px !important;
    border-radius: 10px !important;
    box-shadow: none !important;
  }
  .ccf-dscr-logo { max-width: 300px !important; }
  .ccf-dscr-header h2 {
    font-size: 18px !important;
    line-height: 1.05 !important;
    margin: 0 !important;
  }
  .ccf-dscr-header p {
    font-size: 8px !important;
    line-height: 1.1 !important;
    margin-top: 1px !important;
  }
  .ccf-dscr-inner { padding: 4px 6px 0 !important; }
  .ccf-results-head { padding: 7px 10px !important; }
  .ccf-results-head h3 { font-size: 10px !important; }
  .ccf-badge { font-size: 8px !important; padding: 3px 8px !important; }
  .ccf-results-body { padding: 8px !important; }
  .ccf-metrics {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 5px !important;
    margin-bottom: 8px !important;
  }
  .ccf-metric { padding: 6px 5px !important; border-radius: 7px !important; }
  .ccf-metric .label {
    font-size: 7px !important;
    line-height: 1.05 !important;
    letter-spacing: .25px !important;
    margin-bottom: 2px !important;
  }
  .ccf-metric .value { font-size: 12px !important; }
  .ccf-waterfall-title {
    font-size: 9px !important;
    margin-bottom: 5px !important;
    padding-bottom: 3px !important;
  }
  .ccf-waterfall { margin-bottom: 8px !important; }
  .ccf-row {
    padding: 4px 7px !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
  }
  .ccf-box {
    padding: 8px 10px !important;
    margin-bottom: 8px !important;
    border-radius: 8px !important;
  }
  .ccf-box .small { font-size: 7px !important; }
  .ccf-box .big { font-size: 19px !important; }
  .ccf-box .sub { font-size: 7px !important; }
  .ccf-inline-target {
    margin-top: 2px !important;
    gap: 5px !important;
  }
  .ccf-inline-target label { font-size: 8px !important; }
  .ccf-inline-target input {
    height: 24px !important;
    font-size: 11px !important;
    padding: 3px 6px !important;
    background: #fff !important;
  }
  .ccf-compare {
    gap: 5px !important;
    margin-bottom: 8px !important;
  }
  .ccf-side {
    padding: 7px 8px !important;
    border-radius: 8px !important;
  }
  .ccf-side h4 {
    font-size: 7px !important;
    margin-bottom: 3px !important;
  }
  .ccf-side-row {
    font-size: 9px !important;
    margin-bottom: 2px !important;
    line-height: 1.15 !important;
  }
  .ccf-arrow { font-size: 12px !important; }
  .ccf-cta {
    padding: 7px 9px !important;
    gap: 7px !important;
    border-radius: 9px !important;
  }
  .ccf-cta p {
    font-size: 9px !important;
    line-height: 1.05 !important;
  }
  .ccf-cta p span {
    font-size: 7px !important;
    line-height: 1.1 !important;
    margin-top: 1px !important;
  }
  .ccf-cta a {
    padding: 8px 10px !important;
    font-size: 10px !important;
    line-height: 1 !important;
    min-width: 0 !important;
    border-radius: 9px !important;
  }
}

@media print {
  /* Fill purchase page a bit more */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-header { padding: 10px 10px 8px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-logo { max-width: 340px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-results-body { padding: 9px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metric .value { font-size: 13px !important; }

  /* Stronger refinance one-page lock */
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header { padding: 6px 8px 5px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo-wrap { padding: 3px 6px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo { max-width: 250px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header h2 { font-size: 15px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header p { font-size: 7px !important; margin-top: 1px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-head { padding: 6px 9px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-head h3 { font-size: 9px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-badge { font-size: 7px !important; padding: 2px 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-body { padding: 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-compare { margin-bottom: 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metrics { gap: 4px !important; margin-bottom: 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric { padding: 5px 4px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .label { font-size: 6.5px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .value { font-size: 11px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-waterfall-title { font-size: 8px !important; margin-bottom: 4px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row { padding: 3px 6px !important; font-size: 8px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box { padding: 7px 8px !important; margin-bottom: 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box .big { font-size: 17px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box .small,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box .sub,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-inline-target label,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta p span { font-size: 6.5px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-inline-target input { height: 22px !important; font-size: 10px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side { padding: 6px 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side h4 { font-size: 6.5px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side-row { font-size: 8px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-arrow { font-size: 10px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta { padding: 6px 8px !important; gap: 6px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta p { font-size: 8px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta a { padding: 7px 9px !important; font-size: 9px !important; }
}


/* v7 print tuning: keep one page, but use more of the page and improve readability */
@media print {
  @page { size: landscape; margin: 0.18in !important; }
  html, body {
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    background: #fff !important;
  }

  /* Default: slightly larger output than v6 */
  .ccf-dscr-wrap .ccf-dscr-print-root,
  .ccf-dscr-wrap.ccf-dscr-print-root {
    transform-origin: top left !important;
    width: 100% !important;
  }

  /* Purchase: fill page more aggressively */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="p"].ccf-dscr-print-root {
    transform: scale(1.07) !important;
    width: 93.5% !important;
  }

  /* Refinance: still one page, but much less compressed than before */
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="r"].ccf-dscr-print-root {
    transform: scale(0.95) !important;
    width: 105.25% !important;
  }

  /* Global print sizing bump */
  .ccf-dscr-header { padding: 10px 11px 8px !important; }
  .ccf-dscr-logo-wrap { padding: 5px 9px !important; }
  .ccf-dscr-logo { max-width: 340px !important; }
  .ccf-dscr-header h2 { font-size: 19px !important; line-height: 1.05 !important; }
  .ccf-dscr-header p { font-size: 9px !important; line-height: 1.15 !important; }

  .ccf-dscr-inner { padding: 5px 7px 0 !important; }
  .ccf-results-head { padding: 8px 10px !important; }
  .ccf-results-head h3 { font-size: 10px !important; }
  .ccf-results-body { padding: 8px !important; }

  .ccf-metrics { gap: 5px !important; margin-bottom: 8px !important; }
  .ccf-metric { padding: 6px 5px !important; }
  .ccf-metric .label { font-size: 7.2px !important; line-height: 1.05 !important; }
  .ccf-metric .value { font-size: 12.5px !important; }

  .ccf-waterfall-title { font-size: 8.5px !important; margin-bottom: 4px !important; }
  .ccf-row { padding: 4px 6px !important; font-size: 8.9px !important; line-height: 1.12 !important; }

  .ccf-box { padding: 8px 9px !important; margin-bottom: 7px !important; }
  .ccf-box .small { font-size: 7px !important; }
  .ccf-box .big { font-size: 18px !important; }
  .ccf-box .sub { font-size: 6.9px !important; }

  .ccf-inline-target label { font-size: 7px !important; }
  .ccf-inline-target input { height: 23px !important; font-size: 10.5px !important; padding: 3px 6px !important; }

  .ccf-side { padding: 6px 7px !important; }
  .ccf-side h4 { font-size: 6.8px !important; }
  .ccf-side-row { font-size: 8.3px !important; line-height: 1.1 !important; }

  .ccf-cta { padding: 6px 8px !important; gap: 6px !important; }
  .ccf-cta p { font-size: 8.6px !important; line-height: 1.08 !important; }
  .ccf-cta p span { font-size: 6.7px !important; line-height: 1.1 !important; }
  .ccf-cta a { padding: 7px 10px !important; font-size: 9.5px !important; }

  /* Purchase gets a little more room for readability */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-logo { max-width: 360px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metric .value { font-size: 13px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-row { font-size: 9.1px !important; }

  /* Refinance still needs slightly tighter header, but not tiny */
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header { padding: 8px 9px 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo { max-width: 300px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header h2 { font-size: 17px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header p { font-size: 8px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .label { font-size: 6.8px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .value { font-size: 11.6px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row { font-size: 8.4px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side-row { font-size: 8px !important; }
}


/* subject property address */
.ccf-field-row-full{grid-template-columns:1fr !important;}
.ccf-subject-address{background:#f7fbff;border:1px solid #d8e1ea;border-radius:10px;padding:10px 12px;margin:0 0 10px;}
.ccf-subject-address-label{font-size:11px;font-weight:800;letter-spacing:.7px;text-transform:uppercase;color:var(--navy);margin-bottom:4px;}
.ccf-subject-address-value{font-size:14px;font-weight:700;color:#1c2736;line-height:1.25;word-break:break-word;}
@media print{
  .ccf-subject-address{display:block !important;padding:6px 8px !important;margin:0 0 7px !important;border-radius:8px !important;background:#f7fbff !important;}
  .ccf-subject-address-label{font-size:7px !important;margin-bottom:2px !important;}
  .ccf-subject-address-value{font-size:9px !important;line-height:1.15 !important;}
}


/* v8 final print fill override: fill the page margins while staying on one page */
@media print {
  @page { size: landscape; margin: 0.18in !important; }
  html, body { margin:0 !important; padding:0 !important; background:#fff !important; overflow:visible !important; }
  body * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

  .ccf-dscr-wrap .ccf-dscr-print-root,
  .ccf-dscr-wrap.ccf-dscr-print-root {
    transform: none !important;
    zoom: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Fill purchase page more aggressively */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="p"].ccf-dscr-print-root {
    zoom: 1.00 !important;
    width: 100% !important;
    transform: none !important;
  }

  /* Refinance remains on one page but uses much more of the sheet */
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="r"].ccf-dscr-print-root {
    zoom: 0.96 !important;
    width: 100% !important;
    transform: none !important;
  }

  .ccf-dscr-header { padding: 11px 12px 9px !important; border-bottom-width: 3px !important; }
  .ccf-dscr-logo-wrap { padding: 5px 10px !important; }
  .ccf-dscr-logo { max-width: 365px !important; }
  .ccf-dscr-header h2 { font-size: 20px !important; line-height: 1.05 !important; }
  .ccf-dscr-header p { font-size: 9px !important; line-height: 1.15 !important; margin-top: 3px !important; }

  .ccf-dscr-inner { padding: 5px 6px 0 !important; }
  .ccf-results-head { padding: 8px 10px !important; }
  .ccf-results-head h3 { font-size: 10.5px !important; }
  .ccf-results-body { padding: 8px !important; }
  .ccf-compare { margin-bottom: 8px !important; }
  .ccf-metrics { gap: 5px !important; margin-bottom: 8px !important; }
  .ccf-metric { padding: 6px 5px !important; }
  .ccf-metric .label { font-size: 7.1px !important; line-height: 1.05 !important; }
  .ccf-metric .value { font-size: 12.8px !important; }
  .ccf-waterfall-title { font-size: 8.6px !important; margin-bottom: 4px !important; }
  .ccf-row { padding: 4px 6px !important; font-size: 8.9px !important; line-height: 1.12 !important; }
  .ccf-box { padding: 8px 9px !important; margin-bottom: 8px !important; }
  .ccf-box .small { font-size: 7px !important; }
  .ccf-box .big { font-size: 18px !important; }
  .ccf-box .sub { font-size: 6.9px !important; }
  .ccf-inline-target label { font-size: 7px !important; }
  .ccf-inline-target input { height: 24px !important; font-size: 10.5px !important; padding: 3px 6px !important; }
  .ccf-side { padding: 6px 7px !important; }
  .ccf-side h4 { font-size: 6.9px !important; }
  .ccf-side-row { font-size: 8.3px !important; line-height: 1.1 !important; }
  .ccf-cta { padding: 7px 8px !important; gap: 7px !important; }
  .ccf-cta p { font-size: 8.6px !important; line-height: 1.08 !important; }
  .ccf-cta p span { font-size: 6.7px !important; line-height: 1.1 !important; }
  .ccf-cta a { padding: 8px 11px !important; font-size: 10px !important; }

  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-logo { max-width: 380px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metric .value { font-size: 13.2px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-row { font-size: 9.1px !important; }

  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header { padding: 9px 10px 8px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo { max-width: 330px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header h2 { font-size: 18px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header p { font-size: 8.3px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .label { font-size: 6.9px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .value { font-size: 11.9px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row { font-size: 8.5px !important; }
}


/* v9 address fields */
.ccf-address-row-two{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) !important;}
.ccf-address-row-bottom{margin-top:0 !important;}
.ccf-address-row-bottom .ccf-field:first-child{max-width:140px;}
.ccf-address-row-bottom .ccf-field:last-child{max-width:180px;}
@media(max-width:700px){
  .ccf-address-row-two{grid-template-columns:1fr !important;}
  .ccf-address-row-bottom .ccf-field:first-child,
  .ccf-address-row-bottom .ccf-field:last-child{max-width:none;}
}

/* v9 dynamic print fill override */
@media print {
  @page { size: landscape; margin: 0.18in !important; }
  html, body { margin:0 !important; padding:0 !important; background:#fff !important; overflow:visible !important; }
  .ccf-dscr-wrap { --ccf-print-scale: 1; --ccf-print-width: 100%; }
  .ccf-dscr-wrap .ccf-dscr-print-root,
  .ccf-dscr-wrap.ccf-dscr-print-root {
    transform: none !important;
    zoom: 1 !important;
    width: auto !important;
  }
  .ccf-dscr-wrap {
    transform-origin: top left !important;
    transform: scale(var(--ccf-print-scale)) !important;
    width: var(--ccf-print-width) !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .ccf-dscr-wrap .ccf-dscr-header,
  .ccf-dscr-wrap .ccf-results-card { break-inside: avoid !important; page-break-inside: avoid !important; }
  .ccf-dscr-wrap .ccf-dscr-inner { padding: 4px 5px 0 !important; }
  .ccf-dscr-wrap .ccf-dscr-header { padding: 10px 12px 8px !important; }
  .ccf-dscr-wrap .ccf-dscr-logo { max-width: 350px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header { padding: 8px 10px 7px !important; }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo { max-width: 315px !important; }
  .ccf-address-row-two{grid-template-columns:minmax(0,1.55fr) minmax(0,.95fr) !important; gap:6px !important;}
  .ccf-address-row-bottom .ccf-field:first-child{max-width:92px !important;}
  .ccf-address-row-bottom .ccf-field:last-child{max-width:115px !important;}
  .ccf-subject-address{margin:0 0 6px !important;padding:6px 8px !important;}
}


/* v13 print fill override */
@media print {
  @page { size: landscape; margin: 0.18in !important; }
  html, body {
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
    overflow: visible !important;
  }
  body * { -webkit-print-color-adjust: exact !important; print-color-adjust: exact !important; }

  .ccf-dscr-wrap,
  .ccf-dscr-print-root {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="p"].ccf-dscr-print-root {
    zoom: 1.00 !important;
    width: 100% !important;
    transform: none !important;
  }

  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="r"].ccf-dscr-print-root {
    zoom: 0.96 !important;
    width: 100% !important;
    transform: none !important;
  }

  .ccf-subject-address {
    display: block !important;
    visibility: visible !important;
    padding: 8px 10px !important;
    margin: 0 0 8px !important;
    border-radius: 8px !important;
    background: #f7fbff !important;
    border: 1px solid #d8e1ea !important;
    page-break-inside: avoid !important;
  }
  .ccf-subject-address-label {
    display: block !important;
    font-size: 8px !important;
    margin-bottom: 2px !important;
    color: #1B3A6B !important;
  }
  .ccf-subject-address-value {
    display: block !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    color: #1C2540 !important;
    min-height: 12px !important;
  }

  .ccf-dscr-header { padding: 10px 12px 9px !important; border-radius: 10px !important; }
  .ccf-dscr-header h2 { font-size: 20px !important; line-height: 1.05 !important; }
  .ccf-dscr-header p { font-size: 9px !important; margin-top: 3px !important; }
  .ccf-dscr-inner { padding: 4px 4px 0 !important; }

  .ccf-results-head { padding: 8px 10px !important; }
  .ccf-results-body { padding: 9px 10px 8px !important; }
  .ccf-metrics { gap: 6px !important; margin-bottom: 8px !important; }
  .ccf-metric { padding: 8px 6px !important; min-height: 54px !important; }
  .ccf-metric .label { font-size: 8px !important; }
  .ccf-metric .value { font-size: 16px !important; line-height: 1 !important; }

  .ccf-breakdown-title { font-size: 9px !important; margin-bottom: 6px !important; padding-bottom: 4px !important; }
  .ccf-breakdown-table { font-size: 9px !important; }
  .ccf-breakdown-table td { padding: 4px 5px !important; }
  .ccf-breakdown-two-col { gap: 8px !important; }

  .ccf-highlight, .ccf-refi-highlight {
    padding: 10px 12px !important;
    margin-top: 8px !important;
    page-break-inside: avoid !important;
  }
  .ccf-highlight .big, .ccf-refi-highlight .big { font-size: 24px !important; }
  .ccf-cta { margin-top: 8px !important; padding-top: 4px !important; }
  .ccf-cta a, .ccf-btn-cta {
    font-size: 19px !important;
    padding: 14px 28px !important;
    border-radius: 10px !important;
  }
}


/* v14 header + print fill override */
.ccf-results-head{
  justify-content:center !important;
  text-align:center !important;
}
.ccf-results-head h3{
  width:100% !important;
  text-align:center !important;
  font-size:16px !important;
}
.ccf-results-head .ccf-badge{
  display:none !important;
}

@media print {
  @page { size: landscape; margin: 0.18in !important; }
  html, body { margin:0 !important; padding:0 !important; }
  .ccf-dscr-wrap,
  .ccf-dscr-print-root{
    width:100% !important;
    max-width:none !important;
    margin:0 auto !important;
    padding:0 !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="p"].ccf-dscr-print-root {
    zoom: 1.00 !important;
    width: 100% !important;
    transform: none !important;
  }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="r"].ccf-dscr-print-root {
    zoom: 0.96 !important;
    width: 100% !important;
    transform: none !important;
  }
  .ccf-results-head{
    justify-content:center !important;
    text-align:center !important;
    padding:8px 10px !important;
  }
  .ccf-results-head h3{
    width:100% !important;
    text-align:center !important;
    margin:0 auto !important;
    font-size:11px !important;
    letter-spacing:.7px !important;
  }
  .ccf-results-head .ccf-badge{
    display:none !important;
  }
}


/* restore dropdown arrows */
.ccf-field .ccf-select-wrap,
.ccf-select-wrap { position: relative; }
.ccf-field .ccf-select-wrap select,
.ccf-select-wrap select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  padding-right: 42px !important;
  background-image: none !important;
}
.ccf-field .ccf-select-wrap::after,
.ccf-select-wrap::after {
  content: '';
  position: absolute;
  right: 14px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid var(--navy);
  border-bottom: 2px solid var(--navy);
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
  opacity: 0.95;
  z-index: 3;
}


/* v16 FINAL PRINT FIX */
@media print {
  @page { size: landscape; margin: 0.25in !important; }

  html, body {
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
  }

  .ccf-dscr-wrap {
    transform: scale(0.92);
    transform-origin: top left;
    width: 109% !important;
  }

  .ccf-dscr-header {
    page-break-after: avoid !important;
    break-after: avoid !important;
  }

  .ccf-results,
  .ccf-dscr-inner,
  .ccf-dscr-print-root {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* Bigger readable fonts */
  .ccf-dscr-header h2 {
    font-size: 28px !important;
  }

  .ccf-results-head h3 {
    font-size: 22px !important;
    text-align: center !important;
  }

  .ccf-metric .value {
    font-size: 22px !important;
  }

  .ccf-metric .label {
    font-size: 11px !important;
  }

  .ccf-breakdown-table {
    font-size: 12px !important;
  }

  .ccf-subject-address-value {
    font-size: 13px !important;
  }

  /* tighten spacing to keep 1 page */
  .ccf-card-body { padding: 10px !important; }
  .ccf-results-body { padding: 10px !important; }
}


/* v17 HARD LOCK PRINT FIX */
@media print {
  @page { size: landscape; margin: 0.2in !important; }

  html, body {
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
  }

  /* FORCE SINGLE PAGE BY SHRINKING SLIGHTLY */
  .ccf-dscr-wrap {
    transform: scale(0.85) !important;
    transform-origin: top left !important;
    width: 118% !important;
  }

  /* HARD BLOCK PAGE BREAKS */
  * {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  .ccf-dscr-header {
    page-break-after: avoid !important;
  }

  /* BIGGER TEXT */
  .ccf-dscr-header h2 { font-size: 30px !important; }
  .ccf-results-head h3 { font-size: 24px !important; text-align:center !important; }

  .ccf-metric .value { font-size: 26px !important; }
  .ccf-metric .label { font-size: 12px !important; }

  .ccf-breakdown-table { font-size: 13px !important; }
}

/* BIGGER PURCHASE / REFI TAB BUTTONS */
.ccf-tabbtn {
  font-size: 18px !important;
  padding: 16px !important;
}


/* v18 Mac Chrome fixes */
.ccf-tabbtn{
  font-size:22px !important;
  padding:18px 16px !important;
  font-weight:800 !important;
}

@media print {
  @page { size: landscape; margin: 0.12in !important; }

  html, body{
    margin:0 !important;
    padding:0 !important;
    overflow:hidden !important;
    background:#fff !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* Chrome print engine responds better to zoom than transform */
  body{
    zoom: 0.76 !important;
    font-size: 12px !important;
  }

  .ccf-dscr-wrap{
    width: 131% !important;
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    transform:none !important;
  }

  /* hard block splits */
  .ccf-dscr-wrap,
  .ccf-dscr-header,
  .ccf-dscr-inner,
  .ccf-results-wrap,
  .ccf-results-head,
  .ccf-results-body,
  .ccf-subject-address,
  .ccf-highlight,
  .ccf-refi-highlight,
  .ccf-breakdown-two-col,
  .ccf-cta{
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }

  .ccf-dscr-header{
    display:block !important;
    padding:8px 10px 7px !important;
    border-radius:10px !important;
    margin-bottom:4px !important;
  }
  .ccf-dscr-logo-wrap{ padding:4px 10px !important; }
  .ccf-dscr-logo{ max-width:300px !important; }
  .ccf-dscr-header h2{ font-size:24px !important; line-height:1.02 !important; margin:2px 0 0 !important; }
  .ccf-dscr-header p{ font-size:10px !important; margin-top:3px !important; line-height:1.1 !important; }

  .ccf-dscr-inner{ padding:3px 2px 0 !important; }
  .ccf-toprow, .ccf-tabbar, .ccf-gate, .ccf-download { display:none !important; }

  .ccf-results-wrap{
    border:none !important;
    box-shadow:none !important;
    margin:0 !important;
  }

  .ccf-results-head{
    padding:7px 10px !important;
    border-radius:8px 8px 0 0 !important;
    text-align:center !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
  }
  .ccf-results-head h3{
    width:100% !important;
    text-align:center !important;
    font-size:22px !important;
    letter-spacing:.5px !important;
    margin:0 !important;
  }
  .ccf-results-head .ccf-badge{ display:none !important; }

  .ccf-results-body{ padding:8px 9px 6px !important; }

  .ccf-subject-address{
    display:block !important;
    padding:7px 9px !important;
    margin:0 0 7px !important;
  }
  .ccf-subject-address-label{ font-size:9px !important; margin-bottom:2px !important; }
  .ccf-subject-address-value{ font-size:12px !important; line-height:1.15 !important; }

  .ccf-metrics{
    gap:6px !important;
    margin-bottom:8px !important;
  }
  .ccf-metric{
    padding:8px 6px !important;
    min-height:58px !important;
    border-radius:8px !important;
  }
  .ccf-metric .label{ font-size:10px !important; margin-bottom:4px !important; }
  .ccf-metric .value{ font-size:22px !important; line-height:1 !important; }

  .ccf-breakdown-title{
    font-size:10px !important;
    margin-bottom:6px !important;
    padding-bottom:4px !important;
  }
  .ccf-breakdown-two-col{ gap:8px !important; }
  .ccf-breakdown-table{ font-size:11px !important; }
  .ccf-breakdown-table td{ padding:4px 5px !important; }

  .ccf-highlight, .ccf-refi-highlight{
    padding:10px 12px !important;
    margin-top:8px !important;
  }
  .ccf-highlight .big, .ccf-refi-highlight .big{ font-size:25px !important; }
  .ccf-highlight .small, .ccf-refi-highlight .small{ font-size:10px !important; }

  .ccf-cta{
    display:flex !important;
    margin-top:8px !important;
    padding-top:2px !important;
  }
  .ccf-cta p{ font-size:18px !important; line-height:1.05 !important; margin:0 0 4px !important; }
  .ccf-cta p span{ font-size:11px !important; }
  .ccf-cta a{
    font-size:22px !important;
    padding:14px 28px !important;
    border-radius:10px !important;
    min-width:300px !important;
  }
}


/* v19 READABILITY — bump print font sizes, keep single-page landscape.
   Uses [data-active-tab] selectors (same specificity as earlier tab-scoped
   rules in v11–v18) so these values actually win the cascade. */
@media print {
  @page { size: landscape; margin: 0.18in !important; }

  /* Page fit strategy: use `zoom` (which genuinely shrinks the printed
     layout) with per-tab zoom values. Refi has the extra Existing/New
     compare strip so it needs slightly more shrink than purchase. */
  /* Page-fit strategy: apply zoom on a common body class we add via JS
     so the entire print viewport shrinks uniformly. Using `html` zoom
     is the only reliable way to get Chrome's print engine to shrink
     content for pagination without clipping the right edge.
     Body gets zoom: 1 to neutralize v18's body zoom 0.76.
     The print-root classes inside won't matter because html-level zoom
     affects all children uniformly. */
  html {
    background:#fff !important;
    margin:0 !important;
    padding:0 !important;
  }
  html.ccf-print-p { zoom: 0.83 !important; }
  html.ccf-print-r { zoom: 0.70 !important; }
  body {
    zoom: 1 !important;
    font-size: 14px !important;
    background:#fff !important;
    overflow:hidden !important;
    margin:0 !important;
    padding:0 !important;
  }
  /* Reset wrap — no wrap-level zoom or width hackery needed now. */
  .ccf-dscr-wrap[data-active-tab="p"].ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="p"],
  .ccf-dscr-wrap[data-active-tab="r"].ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="r"] {
    zoom: 1 !important;
    width: 100% !important;
    max-width: none !important;
    transform: none !important;
    --ccf-print-scale: 1 !important;
    --ccf-print-width: 100% !important;
  }
  /* Cancel any inner scaling/zoom from earlier blocks — ONLY DESCENDANTS.
     Do NOT match the wrap itself (it also has .ccf-dscr-print-root),
     otherwise this rule clobbers our per-tab page-fit zoom above. */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-print-root,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-print-root {
    zoom: 1 !important;
    transform: none !important;
    width: 100% !important;
  }

  /* Override the v17 wildcard `* { break-inside: avoid }` so the header
     isn't pushed to its own page when the results block would overflow. */
  .ccf-dscr-wrap[data-active-tab="p"] *,
  .ccf-dscr-wrap[data-active-tab="r"] * {
    page-break-inside: auto !important;
    break-inside: auto !important;
    page-break-before: auto !important;
    page-break-after: auto !important;
  }
  /* Keep only the atomic blocks unsplittable */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metric,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-row,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-side,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-side-row,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side-row {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  /* ------- HEADER (compact so the body has room on one page) ------- */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-header,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header {
    padding: 3px 10px 3px !important;
    margin-bottom: 2px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-logo-wrap,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo-wrap { padding: 2px 8px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-logo,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-logo { max-width: 170px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-header h2,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header h2 {
    font-size: 20px !important; line-height: 1.0 !important; margin: 1px 0 0 !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-header p,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-header p {
    font-size: 10px !important; margin-top: 1px !important; line-height: 1.1 !important;
  }

  /* ------- RESULTS SECTION TITLE ------- */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-results-head,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-head { padding: 6px 12px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-results-head h3,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-head h3 {
    font-size: 20px !important; letter-spacing: .5px !important; margin: 0 !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-results-body,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-results-body { padding: 10px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-dscr-inner,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-dscr-inner { padding-top: 2px !important; }

  /* ------- SUBJECT ADDRESS ------- */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-subject-address,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-subject-address {
    padding: 6px 10px !important; margin: 0 0 6px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-subject-address-label,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-subject-address-label {
    font-size: 11px !important; margin-bottom: 2px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-subject-address-value,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-subject-address-value {
    font-size: 15px !important; line-height: 1.2 !important;
  }

  /* ------- METRIC CARDS (DSCR, Cash Flow, Payment, LTV, …) ------- */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metrics,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metrics {
    gap: 6px !important; margin-bottom: 8px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metric,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric {
    padding: 8px 8px !important; min-height: 58px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metric .label,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .label {
    font-size: 13px !important; margin-bottom: 3px !important; letter-spacing: .4px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-metric .value,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-metric .value {
    font-size: 26px !important; line-height: 1 !important;
  }

  /* ------- CASH FLOW BREAKDOWN / WATERFALL ------- */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-waterfall-title,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-waterfall-title,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-breakdown-title,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-breakdown-title {
    font-size: 15px !important; margin-bottom: 4px !important;
    padding-bottom: 3px !important; letter-spacing: .6px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-waterfall,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-waterfall { margin-bottom: 8px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-row,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row {
    padding: 5px 12px !important; font-size: 16px !important; gap: 6px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-row.head,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row.head { font-size: 13px !important; padding: 3px 12px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-row.total,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-row.total { font-size: 17px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-breakdown-table,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-breakdown-table { font-size: 16px !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-breakdown-table td,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-breakdown-table td { padding: 6px 10px !important; }

  /* ------- HIGHLIGHT BOXES (Estimated Cash-Out, Max Leverage) ------- */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-box,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box {
    padding: 6px 12px !important; margin-bottom: 5px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-box .small,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box .small {
    font-size: 11px !important; letter-spacing: .8px !important; margin-bottom: 2px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-box .big,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box .big { font-size: 24px !important; line-height: 1.05 !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-box .sub,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-box .sub {
    font-size: 11px !important; margin-top: 1px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-highlight,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-highlight,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-refi-highlight,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-refi-highlight {
    padding: 6px 12px !important; margin-top: 5px !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-highlight .big,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-highlight .big,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-refi-highlight .big,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-refi-highlight .big { font-size: 22px !important; line-height: 1.05 !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-highlight .small,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-highlight .small,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-refi-highlight .small,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-refi-highlight .small { font-size: 11px !important; }

  /* ------- REFINANCE: Existing ⟶ New DSCR Loan compare strip ------- */
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-compare {
    gap: 8px !important; margin-bottom: 8px !important;
  }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side {
    padding: 10px 14px !important; border-radius: 8px !important;
  }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side h4 {
    font-size: 13px !important; margin-bottom: 6px !important; letter-spacing: .6px !important;
  }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-side-row {
    font-size: 16px !important; margin-bottom: 4px !important; line-height: 1.3 !important;
  }
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-arrow { font-size: 22px !important; }

  /* ------- CTA FOOTER ------- */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta {
    margin-top: 8px !important; padding: 10px 16px !important;
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    gap: 14px !important; flex-wrap: nowrap !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta p,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta p { font-size: 17px !important; margin: 0 !important; flex: 0 1 auto !important; }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta p span,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta p span { font-size: 12px !important; }
  /* Contact block inside CTA — email above phone, centered */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta-contact,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta-contact {
    flex: 0 0 auto !important; display: flex !important; flex-direction: column !important;
    align-items: center !important; justify-content: center !important; gap: 2px !important;
    text-align: center !important; line-height: 1.25 !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta-contact a,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta-contact a,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta .ccf-cta-contact a,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta .ccf-cta-contact a {
    background: none !important; background-image: none !important;
    padding: 0 !important; min-width: 0 !important;
    border-radius: 0 !important; box-shadow: none !important;
    letter-spacing: 0 !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta-contact .ccf-cta-email,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta-contact .ccf-cta-email {
    font-size: 12px !important; color: #4a5568 !important; font-weight: 600 !important;
  }
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta-contact .ccf-cta-phone,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta-contact .ccf-cta-phone {
    font-size: 16px !important; color: #0b4f84 !important; font-weight: 800 !important;
  }
  /* Apply NOW button */
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-cta a.ccf-btn-cta,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-cta a.ccf-btn-cta,
  .ccf-dscr-wrap[data-active-tab="p"] .ccf-btn-cta,
  .ccf-dscr-wrap[data-active-tab="r"] .ccf-btn-cta {
    font-size: 18px !important; padding: 10px 22px !important; min-width: 200px !important;
    flex: 0 0 auto !important;
  }
}

/* ============================================================
   v20 PRINT BREAKOUT
   ------------------------------------------------------------
   When beforeprint fires, our JS moves .ccf-dscr-wrap to body
   root and adds .ccf-print-breakout on <html> and <body>. This
   block then hides every other child of <body> and forces the
   wrap to span the full landscape page, no matter what max-width
   the active WordPress theme applied to its content containers.
   ============================================================ */
@media print {
  /* Pull <html> / <body> flush against the @page margins. */
  html.ccf-print-breakout,
  body.ccf-print-breakout {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  /* Hide every direct child of <body> that isn't the analyzer. */
  body.ccf-print-breakout > *:not(.ccf-dscr-wrap) {
    display: none !important;
  }

  /* Now that the wrap is a direct child of <body>, let it own the
     full page width. We still rely on the per-tab html zoom for
     vertical fit. */
  body.ccf-print-breakout > .ccf-dscr-wrap,
  body.ccf-print-breakout > .ccf-dscr-wrap[data-active-tab="p"],
  body.ccf-print-breakout > .ccf-dscr-wrap[data-active-tab="r"] {
    display: block !important;
    position: static !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    transform: none !important;
    zoom: 1 !important;
  }

  /* Belt & suspenders: neutralize any ancestor max-width that
     may still apply through inherited CSS custom-properties. */
  body.ccf-print-breakout .ccf-dscr-wrap * {
    max-width: none !important;
  }
}
