/**
 * Foxes Calculators: Affordability (Income vs Debt)
 * All rules scoped under #foxes-affordability-calculator-mount.
 */

#foxes-affordability-calculator-mount{
  --fx-red:#D05050;
  --fx-red-dark:#C04545;
  --fx-red-soft:#F7E0E0;
  --fx-ink:#0C0C0C;
  --fx-ink-soft:#1F1F1F;
  --fx-cream:#FAF6EE;
  --fx-rule:#E8DECC;
  --fx-muted:#6B6557;
  --fx-track:#EDE7D9;
  --fx-good:#4F8B5F;
  --fx-warn:#C8A24A;
  --fx-bad:#C04545;

  max-width:940px;margin:0 auto;padding:16px;
  font-family:Geist,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;
  color:var(--fx-ink);
  box-sizing:border-box;
}
#foxes-affordability-calculator-mount *{box-sizing:border-box;}

#foxes-affordability-calculator-mount .fx-aff-card{
  background:#fff;border:1px solid var(--fx-rule);border-radius:20px;overflow:hidden;
  box-shadow:0 1px 3px rgba(12,12,12,.06);
}
#foxes-affordability-calculator-mount .fx-aff-panel{padding:24px;}

/* fields */
#foxes-affordability-calculator-mount .fx-aff-field{margin:0 0 22px;}
#foxes-affordability-calculator-mount .fx-aff-field:last-child{margin-bottom:0;}
#foxes-affordability-calculator-mount .fx-aff-label{
  display:block;font-weight:500;font-size:16px;margin-bottom:10px;color:var(--fx-ink);
}
#foxes-affordability-calculator-mount .fx-aff-ctrlrow{
  display:flex;gap:10px;align-items:center;margin-bottom:14px;
}
#foxes-affordability-calculator-mount .fx-aff-numwrap{position:relative;flex:1;}
#foxes-affordability-calculator-mount .fx-aff-num{
  width:100%;height:48px;border:1px solid var(--fx-rule);border-radius:10px;
  padding:0 16px 0 38px;font-size:18px;font-weight:600;text-align:right;
  background:#fff;color:var(--fx-ink);font-family:inherit;
}
#foxes-affordability-calculator-mount .fx-aff-num:focus{
  outline:none;border-color:var(--fx-red);box-shadow:0 0 0 3px var(--fx-red-soft);
}
#foxes-affordability-calculator-mount .fx-aff-prefix{
  position:absolute;left:14px;top:50%;transform:translateY(-50%);
  color:var(--fx-muted);font-weight:500;pointer-events:none;
}
#foxes-affordability-calculator-mount .fx-aff-stepper{display:flex;gap:8px;}
#foxes-affordability-calculator-mount .fx-aff-btn{
  width:44px;height:44px;border-radius:10px;border:1px solid var(--fx-rule);
  display:grid;place-items:center;background:#fff;cursor:pointer;
  font-size:20px;font-weight:600;color:var(--fx-ink);font-family:inherit;line-height:1;
}
#foxes-affordability-calculator-mount .fx-aff-btn:hover{
  border-color:var(--fx-red);color:var(--fx-red);
}
#foxes-affordability-calculator-mount .fx-aff-btn:focus-visible{
  outline:none;border-color:var(--fx-red);box-shadow:0 0 0 3px var(--fx-red-soft);
}

/* sliders */
#foxes-affordability-calculator-mount .fx-aff-range{
  -webkit-appearance:none;appearance:none;width:100%;height:8px;border-radius:999px;
  background:linear-gradient(var(--fx-red),var(--fx-red)) 0/var(--val,0%) 100% no-repeat,var(--fx-track);
  outline:none;cursor:pointer;
}
#foxes-affordability-calculator-mount .fx-aff-range::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;
  background:var(--fx-red);border:3px solid #fff;box-shadow:0 0 0 1px var(--fx-red);cursor:pointer;
}
#foxes-affordability-calculator-mount .fx-aff-range::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;background:var(--fx-red);border:3px solid #fff;cursor:pointer;
}
#foxes-affordability-calculator-mount .fx-aff-hint{
  margin:10px 0 0;font-size:13px;color:var(--fx-muted);
}

/* results */
#foxes-affordability-calculator-mount .fx-aff-results{
  background:linear-gradient(155deg,var(--fx-ink),var(--fx-ink-soft));
  color:#fff;padding:24px;
}
#foxes-affordability-calculator-mount .fx-aff-results-label{
  margin:0;font-size:13px;font-weight:500;letter-spacing:.05em;
  text-transform:uppercase;color:#D9D4CA;
}
#foxes-affordability-calculator-mount .fx-aff-big{
  margin:6px 0 18px;font-size:56px;font-weight:600;line-height:1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
#foxes-affordability-calculator-mount .fx-aff-gauge{margin:0;}
#foxes-affordability-calculator-mount .fx-aff-bar{
  position:relative;height:16px;border-radius:999px;overflow:hidden;
  background:rgba(255,255,255,.14);
}
#foxes-affordability-calculator-mount .fx-aff-seg{position:absolute;top:0;bottom:0;}
#foxes-affordability-calculator-mount .fx-aff-good{left:0;width:30%;background:var(--fx-good);}
#foxes-affordability-calculator-mount .fx-aff-warn{left:30%;width:10%;background:var(--fx-warn);}
#foxes-affordability-calculator-mount .fx-aff-bad{left:40%;width:60%;background:var(--fx-bad);}
#foxes-affordability-calculator-mount .fx-aff-needle{
  position:absolute;top:-5px;width:3px;height:26px;background:#fff;border-radius:2px;
  box-shadow:0 0 0 1px rgba(0,0,0,.25);transform:translateX(-50%);transition:left .15s ease;
}
#foxes-affordability-calculator-mount .fx-aff-ticks{
  display:flex;justify-content:space-between;font-size:12px;color:#B7B1A6;margin-top:8px;
}
#foxes-affordability-calculator-mount .fx-aff-msg{
  margin:16px 0 0;font-size:14.5px;line-height:1.55;color:#EDEAE3;
}
#foxes-affordability-calculator-mount .fx-aff-msg strong{font-weight:600;color:#fff;}

/* disclaimer */
#foxes-affordability-calculator-mount .fx-aff-disclaimer{
  margin:14px 6px 0;font-size:12px;line-height:1.55;color:var(--fx-muted);text-align:center;
}

/* mobile */
@media (max-width:560px){
  #foxes-affordability-calculator-mount .fx-aff-panel{padding:18px;}
  #foxes-affordability-calculator-mount .fx-aff-results{padding:20px;}
  #foxes-affordability-calculator-mount .fx-aff-big{font-size:46px;}
}
