/* FOXES – MORTGAGE CALCULATOR styles
 * v3 (brand refresh): styles re-themed to the foxes.es brand palette.
 *   - Geist font family throughout (no Roboto fallback)
 *   - Brand red as primary accent, ink for text, cream/white surfaces
 *   - All colour values driven by CSS variables, scoped to the mount so
 *     the mortgage / eligibility / plan / faq calculators can coexist on
 *     one page without bleed or polluting site-wide custom properties.
 *   - Semantic UI colours (success / danger / muted) are calculator-local
 *     and clearly marked. They are NOT part of the brand palette and must
 *     not be reused outside the calculators.
 */

/* ── Brand + semantic tokens, scoped to the calculator mount ───────── */
#foxes-mortgage-calculator-mount {
  /* Brand palette (mirror of :root vars on the parent site) */
  --fx-red: #D05050;
  --fx-red-dark: #C04545;
  --fx-red-soft: #F7E0E0;
  --fx-ink: #0C0C0C;
  --fx-ink-soft: #1F1F1F;
  --fx-cream: #FAF6EE;
  --fx-white: #FFFFFF;
  --fx-rule: #E8DECC;
  --fx-gold: #C8A24A;
  --fx-gold-soft: #F5EBD0;

  /* Calculator-local semantic tokens (NOT brand. Do not reuse elsewhere.) */
  --calc-success: #4F8B5F;
  --calc-success-soft: #E4EDD9;
  --calc-danger: #C04545;
  --calc-danger-soft: #F7E0E0;
  --calc-muted: #6B6557;
  --calc-muted-soft: #F2EDE3;
}

/* ── Reset + base ─────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount,
#foxes-mortgage-calculator-mount * { box-sizing:border-box; margin:0; padding:0 }
#foxes-mortgage-calculator-mount { font-family:'Geist', sans-serif; color:var(--fx-ink); width:100%; padding:0 }
#foxes-mortgage-calculator-mount ::selection { background:var(--fx-red-soft); color:var(--fx-ink) }
#foxes-mortgage-calculator-mount *:focus-visible { outline:2px solid var(--fx-red); outline-offset:2px }

/* Editorial emphasis pattern (any <em> inside calculator headings) */
#foxes-mortgage-calculator-mount h1 em,
#foxes-mortgage-calculator-mount h2 em,
#foxes-mortgage-calculator-mount h3 em { font-style:italic; color:var(--fx-red-dark); font-weight:500 }

/* ── Layout ──────────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .shell { display:flex; flex-direction:column; gap:12px }
@media (min-width:800px) {
  #foxes-mortgage-calculator-mount .shell { flex-direction:row; align-items:flex-start; gap:20px }
  #foxes-mortgage-calculator-mount .col-left { width:450px; flex-shrink:0 }
  #foxes-mortgage-calculator-mount .col-right { flex:1; min-width:0 }
}

/* ── Cards ───────────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .col-left .card {
  background:var(--fx-white);
  border:1px solid var(--fx-rule);
  border-radius:16px;
  padding:0;
  margin-bottom:12px;
  overflow:hidden;
}
#foxes-mortgage-calculator-mount .col-left .card:last-child { margin-bottom:0 }

#foxes-mortgage-calculator-mount .col-right .card {
  background:var(--fx-white);
  border:1px solid var(--fx-rule);
  border-radius:16px;
  padding:16px;
  margin-bottom:12px;
}
#foxes-mortgage-calculator-mount .col-right .card:last-child { margin-bottom:0 }

/* Card title bar (left column input cards) */
#foxes-mortgage-calculator-mount .card-title {
  display:flex; align-items:center; gap:12px;
  padding:18px 20px 4px 20px;
  background:transparent;
  position:relative;
}
#foxes-mortgage-calculator-mount .card-title::before {
  display:none;
}
#foxes-mortgage-calculator-mount .card-title.ct-property::before,
#foxes-mortgage-calculator-mount .card-title.ct-loan::before,
#foxes-mortgage-calculator-mount .card-title.ct-overpay::before { background:var(--fx-red) }

#foxes-mortgage-calculator-mount .card-title-icon svg{width:21px;height:21px;color:var(--fx-ink)}
#foxes-mortgage-calculator-mount .card-title-icon {
  width:38px; height:38px; border-radius:11px;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; background:var(--fx-red-soft);
}
#foxes-mortgage-calculator-mount .card-title-icon-right {
  width:20px; height:20px; margin-left:auto; flex-shrink:0; opacity:.35;
}
#foxes-mortgage-calculator-mount .card-title-text strong {
  display:block; font-size:15px; font-weight:600; color:var(--fx-ink); margin-bottom:1px;
  letter-spacing:-0.005em;
}
#foxes-mortgage-calculator-mount .card-title-text span {
  font-size:11px; color:var(--calc-muted); font-weight:400; line-height:1.4;
}

#foxes-mortgage-calculator-mount .col-left .card-body { padding:16px }

/* ── Form fields ─────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .field { margin-bottom:14px }
#foxes-mortgage-calculator-mount .field:last-child { margin-bottom:0 }
#foxes-mortgage-calculator-mount .lbl {
  font-size:13px; font-weight:500; color:var(--fx-ink);
  display:block; margin-bottom:6px;
}
#foxes-mortgage-calculator-mount .hint {
  font-size:11px; color:var(--calc-muted); margin-top:5px; line-height:1.5;
}

#foxes-mortgage-calculator-mount .inp-row {
  display:flex; align-items:stretch;
  border:1px solid var(--fx-rule); border-radius:10px;
  overflow:hidden; background:var(--fx-white);
  transition:border-color 150ms ease, box-shadow 150ms ease;
}
#foxes-mortgage-calculator-mount .inp-row:focus-within {
  border-color:var(--fx-red);
  box-shadow:0 0 0 3px var(--fx-red-soft);
}
#foxes-mortgage-calculator-mount .inp-pfx {
  display:flex; align-items:center; padding:0 0 0 12px;
  font-size:14px; color:var(--calc-muted);
  flex-shrink:0; pointer-events:none;
}
#foxes-mortgage-calculator-mount .inp-sfx {
  display:flex; align-items:center; padding:0 10px;
  font-size:14px; color:var(--calc-muted);
  flex-shrink:0; pointer-events:none;
}
#foxes-mortgage-calculator-mount .inp {
  flex:1; min-width:0; height:44px;
  border:none; outline:none; padding:0 8px;
  font-family:'Geist', sans-serif; font-size:16px;
  color:var(--fx-ink); background:transparent;
}

#foxes-mortgage-calculator-mount .pm-wrap {
  display:flex; flex-shrink:0; border-left:1px solid var(--fx-rule);
}
#foxes-mortgage-calculator-mount .pm {
  width:38px; height:44px; border:none; background:var(--fx-cream);
  font-family:'Geist', sans-serif; font-size:20px; font-weight:500; color:var(--calc-muted);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  padding:0; user-select:none;
  transition:background .1s, color .1s; flex-shrink:0;
  touch-action:manipulation; -webkit-tap-highlight-color:transparent;
}
#foxes-mortgage-calculator-mount .pm + .pm { border-left:1px solid var(--fx-rule) }
#foxes-mortgage-calculator-mount .pm:hover { background:var(--fx-red-soft); color:var(--fx-red-dark) }
#foxes-mortgage-calculator-mount .pm:active { background:var(--fx-red); color:var(--fx-white) }

/* ── Deposit field (€/% toggle) ──────────────────────────────────── */
#foxes-mortgage-calculator-mount .dp-field-wrap { display:flex; flex-direction:column; gap:6px }
@media (min-width:400px) {
  #foxes-mortgage-calculator-mount .dp-field-wrap { flex-direction:row; align-items:center; gap:8px }
}
#foxes-mortgage-calculator-mount .dp-toggle {
  display:flex; border:1px solid var(--fx-rule); border-radius:10px;
  overflow:hidden; flex-shrink:0;
}
#foxes-mortgage-calculator-mount .dp-toggle button {
  height:44px; padding:0 14px; border:none; background:var(--fx-cream);
  font-family:'Geist', sans-serif; font-size:13px; font-weight:600; color:var(--calc-muted);
  cursor:pointer;
}
#foxes-mortgage-calculator-mount .dp-toggle button.on { background:var(--fx-red); color:var(--fx-white) }
@media (max-width:399px) {
  #foxes-mortgage-calculator-mount .dp-toggle { width:100% }
  #foxes-mortgage-calculator-mount .dp-toggle button { flex:1 }
}

/* ── LTV indicator ───────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .ltv-bar-wrap {
  margin-top:12px;
  background:var(--fx-cream); border:1px solid var(--fx-rule);
  border-radius:12px; padding:12px 14px;
}
#foxes-mortgage-calculator-mount .ltv-header {
  display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;
}
#foxes-mortgage-calculator-mount .ltv-value {
  font-size:20px; font-weight:600; line-height:1;
  letter-spacing:-0.01em; transition:color .3s;
}
#foxes-mortgage-calculator-mount .ltv-value-ok { color:var(--calc-success) }
#foxes-mortgage-calculator-mount .ltv-value-over { color:var(--calc-danger) }
#foxes-mortgage-calculator-mount .ltv-tag {
  font-size:10px; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  padding:3px 8px; border-radius:999px; text-align:right; line-height:1;
}
#foxes-mortgage-calculator-mount .ltv-tag-ok { background:var(--calc-success-soft); color:var(--calc-success) }
#foxes-mortgage-calculator-mount .ltv-tag-over { background:var(--calc-danger-soft); color:var(--calc-danger) }
#foxes-mortgage-calculator-mount .ltv-track-wrap { position:relative; margin-bottom:6px }
#foxes-mortgage-calculator-mount .ltv-track {
  height:8px; background:var(--fx-rule); border-radius:999px; overflow:hidden;
}
#foxes-mortgage-calculator-mount .ltv-fill {
  height:100%; border-radius:999px;
  transition:width .4s, background .3s;
}
#foxes-mortgage-calculator-mount .ltv-ticks { position:relative; height:14px }
#foxes-mortgage-calculator-mount .ltv-tick {
  position:absolute; display:flex; flex-direction:column; align-items:center;
  transform:translateX(-50%);
}
#foxes-mortgage-calculator-mount .ltv-tick-line { width:1px; height:5px; background:var(--calc-muted) }
#foxes-mortgage-calculator-mount .ltv-tick-lbl {
  font-size:9px; font-weight:600; color:var(--calc-muted);
  white-space:nowrap; margin-top:1px;
}
#foxes-mortgage-calculator-mount .ltv-status-txt {
  font-size:11px; color:var(--calc-muted); margin-top:2px; line-height:1.5;
}

/* ── Mode toggle (Fixed / Variable) ──────────────────────────────── */
#foxes-mortgage-calculator-mount .mode-toggle {
  display:flex; border:1px solid var(--fx-rule); border-radius:10px;
  overflow:hidden; margin-bottom:14px;
}
#foxes-mortgage-calculator-mount .mode-toggle button {
  flex:1; height:40px; border:none; background:var(--fx-cream);
  font-family:'Geist', sans-serif; font-size:13px; font-weight:600; color:var(--calc-muted);
  cursor:pointer; transition:background .15s, color .15s;
}
#foxes-mortgage-calculator-mount .mode-toggle button.on { background:var(--fx-red); color:var(--fx-white) }

/* ── Variable scenarios info box ─────────────────────────────────── */
#foxes-mortgage-calculator-mount .scen-info {
  background:var(--fx-cream); border:1px solid var(--fx-rule);
  border-radius:12px; padding:14px; margin-top:8px;
}
#foxes-mortgage-calculator-mount .scen-info-title {
  font-size:12px; font-weight:600; color:var(--fx-ink); margin-bottom:8px;
}
#foxes-mortgage-calculator-mount .scen-info-row {
  display:flex; align-items:flex-start; gap:8px; margin-bottom:6px;
  font-size:12px; color:var(--fx-ink); line-height:1.5;
}
#foxes-mortgage-calculator-mount .scen-info-row:last-child { margin-bottom:0 }
#foxes-mortgage-calculator-mount .dot {
  width:10px; height:10px; border-radius:50%; flex-shrink:0; margin-top:3px;
}

/* ── Overpayment result tiles ────────────────────────────────────── */
#foxes-mortgage-calculator-mount .overpay-result {
  display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:12px;
}
#foxes-mortgage-calculator-mount .ov-kpi {
  background:var(--fx-white); border:1px solid var(--fx-rule);
  border-radius:10px; padding:10px 12px;
}
#foxes-mortgage-calculator-mount .ov-lbl {
  font-size:10px; font-weight:600; text-transform:uppercase;
  letter-spacing:.05em; color:var(--calc-muted); margin-bottom:3px;
}
#foxes-mortgage-calculator-mount .ov-val {
  font-size:15px; font-weight:600; color:var(--calc-success); line-height:1.1;
}
#foxes-mortgage-calculator-mount .ov-val.neg { color:var(--calc-danger) }

/* ── Card header (dark feature panel on right column) ────────────── */
#foxes-mortgage-calculator-mount .card-hdr {
  background:linear-gradient(155deg, var(--fx-ink) 0%, var(--fx-ink-soft) 100%);
  border-radius:14px 14px 0 0;
  margin:-16px -16px 16px;
  padding:18px 20px 16px;
}
#foxes-mortgage-calculator-mount .card-hdr-top {
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:8px; flex-wrap:wrap;
}
#foxes-mortgage-calculator-mount .card-hdr h2 {
  font-size:22px; font-weight:600; color:var(--fx-white); line-height:1.15;
  letter-spacing:-0.015em; margin:0;
}
#foxes-mortgage-calculator-mount .card-hdr p {
  font-size:13px; color:rgba(255,255,255,.82); line-height:1.6; margin:0;
}
#foxes-mortgage-calculator-mount .card-hdr strong { color:#E6C878; font-weight:600 }
@media (min-width:600px) {
  #foxes-mortgage-calculator-mount .card-hdr h2 { font-size:24px }
}

#foxes-mortgage-calculator-mount .hdr-toggle {
  display:flex; border:1px solid rgba(255,255,255,.2); border-radius:8px;
  overflow:hidden; flex-shrink:0;
}
#foxes-mortgage-calculator-mount .hdr-toggle button {
  height:32px; padding:0 12px; border:none; background:transparent;
  font-family:'Geist', sans-serif; font-size:12px; font-weight:600;
  color:rgba(255,255,255,.6); cursor:pointer; white-space:nowrap;
  transition:background .15s, color .15s;
}
#foxes-mortgage-calculator-mount .hdr-toggle button.on { background:var(--fx-red); color:#fff }
#foxes-mortgage-calculator-mount .hdr-toggle button + button { border-left:1px solid rgba(255,255,255,.2) }

/* ── Payoff strip ────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .payoff-strip {
  display:flex; align-items:center; justify-content:space-between;
  background:var(--fx-red-soft);
  border:1px solid var(--fx-red-soft);
  border-radius:12px; padding:12px 16px; margin-bottom:16px;
  gap:8px; flex-wrap:wrap;
}
#foxes-mortgage-calculator-mount .payoff-lbl {
  font-size:10px; font-weight:600; text-transform:uppercase;
  letter-spacing:.05em; color:var(--fx-red-dark); margin-bottom:3px;
}
#foxes-mortgage-calculator-mount .payoff-val {
  font-size:22px; font-weight:600; color:var(--fx-ink); line-height:1;
  letter-spacing:-0.01em;
}
#foxes-mortgage-calculator-mount .payoff-detail {
  font-size:12px; font-weight:500; color:var(--fx-red-dark); text-align:right;
}

/* ── Hero monthly payment ────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .hero {
  text-align:center; padding:8px 0 20px;
  border-bottom:1px solid var(--fx-rule);
}
#foxes-mortgage-calculator-mount .hero-lbl {
  font-size:11px; font-weight:600; color:var(--calc-muted);
  text-transform:uppercase; letter-spacing:.05em; margin-bottom:8px;
}
#foxes-mortgage-calculator-mount .hero-val {
  font-size:52px; font-weight:600; color:var(--fx-ink); line-height:1;
  letter-spacing:-0.02em;
}
#foxes-mortgage-calculator-mount .hero-sub {
  font-size:13px; color:var(--calc-muted); margin-top:8px; font-weight:500;
}

/* ── KPI tiles ───────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .kpis {
  display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin:18px 0 14px;
}
#foxes-mortgage-calculator-mount .kpi {
  border-radius:12px; padding:14px 10px; text-align:center; position:relative;
}
#foxes-mortgage-calculator-mount .kpi-lbl {
  font-size:10px; font-weight:600; text-transform:uppercase;
  letter-spacing:.05em; margin-bottom:6px;
}
#foxes-mortgage-calculator-mount .kpi-val { font-weight:600; line-height:1; letter-spacing:-0.005em }
#foxes-mortgage-calculator-mount .kpi-mortgage { background:var(--fx-cream); border:1px solid var(--fx-rule) }
#foxes-mortgage-calculator-mount .kpi-mortgage .kpi-lbl { color:var(--calc-muted) }
#foxes-mortgage-calculator-mount .kpi-mortgage .kpi-val { font-size:17px; color:var(--fx-ink) }
#foxes-mortgage-calculator-mount .kpi-interest { background:var(--fx-red-soft); border:1px solid var(--fx-red-soft) }
#foxes-mortgage-calculator-mount .kpi-interest .kpi-lbl { color:var(--fx-red-dark) }
#foxes-mortgage-calculator-mount .kpi-interest .kpi-val { font-size:17px; color:var(--fx-red-dark) }
#foxes-mortgage-calculator-mount .kpi-total {
  background:linear-gradient(155deg, var(--fx-ink) 0%, var(--fx-ink-soft) 100%);
  border:1px solid var(--fx-ink);
  box-shadow:0 4px 12px rgba(12, 12, 12, .18);
}
#foxes-mortgage-calculator-mount .kpi-total .kpi-lbl { color:rgba(255,255,255,.7) }
#foxes-mortgage-calculator-mount .kpi-total .kpi-val { font-size:19px; color:var(--fx-white) }

/* ── Progress bar (principal / interest split) ───────────────────── */
#foxes-mortgage-calculator-mount .bar-wrap { margin:4px 0 0 }
#foxes-mortgage-calculator-mount .bar {
  height:12px; border-radius:999px; overflow:hidden;
  display:flex; background:var(--fx-rule);
}
#foxes-mortgage-calculator-mount .bar-p { background:var(--fx-ink); transition:width .3s }
#foxes-mortgage-calculator-mount .bar-i { background:var(--fx-red); transition:width .3s }
#foxes-mortgage-calculator-mount .bar-legend {
  display:flex; justify-content:space-between; margin-top:10px;
  flex-wrap:wrap; gap:6px;
}
#foxes-mortgage-calculator-mount .bar-legend span {
  font-size:12px; font-weight:500; color:var(--fx-ink);
  display:flex; align-items:center; gap:6px;
}
#foxes-mortgage-calculator-mount .bar-legend span::before {
  content:""; display:inline-block; width:11px; height:11px; border-radius:3px;
}
#foxes-mortgage-calculator-mount .bar-legend .lp::before { background:var(--fx-ink) }
#foxes-mortgage-calculator-mount .bar-legend .li::before { background:var(--fx-red) }
#foxes-mortgage-calculator-mount .bar-pct {
  font-size:11px; color:var(--calc-muted); font-weight:400; margin-left:4px;
}

/* ── Scenarios table (variable rate view) ────────────────────────── */
#foxes-mortgage-calculator-mount .scen-wrap {
  overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:2px;
}
#foxes-mortgage-calculator-mount .scen-tbl {
  min-width:420px; width:100%; border-collapse:separate; border-spacing:0 6px;
}
#foxes-mortgage-calculator-mount .scen-tbl th {
  font-size:10px; font-weight:600; color:var(--calc-muted); text-align:left;
  padding:0 10px 6px; white-space:nowrap;
  border-bottom:2px solid var(--fx-rule);
  letter-spacing:.05em; text-transform:uppercase;
}
#foxes-mortgage-calculator-mount .scen-tbl th:not(:first-child) { text-align:right }
#foxes-mortgage-calculator-mount .scen-tbl th:last-child { color:var(--fx-ink) }
#foxes-mortgage-calculator-mount .scen-tbl td {
  font-size:13px; padding:13px 10px; white-space:nowrap; vertical-align:middle;
  border-top:1px solid transparent; border-bottom:1px solid transparent;
}
#foxes-mortgage-calculator-mount .scen-tbl td:first-child {
  border-left:4px solid transparent; border-radius:8px 0 0 8px;
  white-space:normal; min-width:100px; padding-left:12px;
}
#foxes-mortgage-calculator-mount .scen-tbl td:last-child {
  border-right:1px solid transparent; border-radius:0 8px 8px 0;
  font-size:14px; font-weight:600;
}
#foxes-mortgage-calculator-mount .scen-tbl td:not(:first-child) { text-align:right }
#foxes-mortgage-calculator-mount .scen-tbl tbody tr { cursor:help; transition:filter .1s }
#foxes-mortgage-calculator-mount .scen-tbl tbody tr:hover td { filter:brightness(.97) }

#foxes-mortgage-calculator-mount .r-fixed td { background:var(--fx-cream); border-top-color:var(--fx-rule); border-bottom-color:var(--fx-rule) }
#foxes-mortgage-calculator-mount .r-fixed td:first-child { border-left-color:var(--fx-ink) }
#foxes-mortgage-calculator-mount .r-fixed td:last-child { border-right-color:var(--fx-rule); color:var(--fx-ink) }

#foxes-mortgage-calculator-mount .r-opt td { background:var(--calc-success-soft); border-top-color:var(--calc-success-soft); border-bottom-color:var(--calc-success-soft) }
#foxes-mortgage-calculator-mount .r-opt td:first-child { border-left-color:var(--calc-success) }
#foxes-mortgage-calculator-mount .r-opt td:last-child { color:var(--calc-success) }

#foxes-mortgage-calculator-mount .r-base td { background:var(--calc-muted-soft); border-top-color:var(--calc-muted-soft); border-bottom-color:var(--calc-muted-soft) }
#foxes-mortgage-calculator-mount .r-base td:first-child { border-left-color:var(--fx-ink) }
#foxes-mortgage-calculator-mount .r-base td:last-child { color:var(--fx-ink) }

#foxes-mortgage-calculator-mount .r-stress td { background:var(--fx-red-soft); border-top-color:var(--fx-red-soft); border-bottom-color:var(--fx-red-soft) }
#foxes-mortgage-calculator-mount .r-stress td:first-child { border-left-color:var(--fx-red-dark) }
#foxes-mortgage-calculator-mount .r-stress td:last-child { color:var(--fx-red-dark) }

#foxes-mortgage-calculator-mount .cost-diff {
  display:inline-block; font-size:10px; font-weight:600;
  padding:2px 6px; border-radius:4px; margin-left:5px; vertical-align:middle;
}
#foxes-mortgage-calculator-mount .cost-diff-pos { background:var(--calc-danger-soft); color:var(--calc-danger) }
#foxes-mortgage-calculator-mount .cost-diff-neg { background:var(--calc-success-soft); color:var(--calc-success) }
#foxes-mortgage-calculator-mount .cost-diff-zero { background:var(--fx-rule); color:var(--calc-muted) }

#foxes-mortgage-calculator-mount .badge {
  display:inline-block; font-size:10px; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; padding:3px 8px; border-radius:999px;
  white-space:nowrap; line-height:1;
}
#foxes-mortgage-calculator-mount .b-fixed { background:var(--fx-rule); color:var(--fx-ink) }
#foxes-mortgage-calculator-mount .b-opt { background:var(--calc-success-soft); color:var(--calc-success) }
#foxes-mortgage-calculator-mount .b-base { background:var(--calc-muted-soft); color:var(--fx-ink) }
#foxes-mortgage-calculator-mount .b-stress { background:var(--fx-red-soft); color:var(--fx-red-dark) }
#foxes-mortgage-calculator-mount .scen-rate {
  font-size:11px; color:var(--calc-muted); display:block; margin-top:3px;
}

/* ── Tooltip ─────────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount #mort-tip {
  position:fixed; z-index:9999; display:none;
  width:260px; max-width:calc(100vw - 20px);
  background:var(--fx-ink); color:var(--fx-white);
  border-radius:12px; padding:14px;
  font-family:'Geist', sans-serif; font-size:12px; line-height:1.6;
  box-shadow:0 8px 24px rgba(12, 12, 12, .25);
  pointer-events:none; white-space:normal;
}
#foxes-mortgage-calculator-mount #mort-tip .tt {
  font-weight:600; font-size:13px; margin-bottom:6px; color:var(--fx-white);
}
#foxes-mortgage-calculator-mount #mort-tip .td {
  color:rgba(255,255,255,.6); font-size:11px;
  margin-top:8px; padding-top:8px; border-top:1px solid rgba(255,255,255,.15);
}

/* ── Chart and hover panel ───────────────────────────────────────── */
#foxes-mortgage-calculator-mount .chart-wrap {
  position:relative; height:220px; margin-bottom:10px;
}
#foxes-mortgage-calculator-mount .hover-panel {
  border-top:1px solid var(--fx-rule); padding-top:10px; margin-top:10px;
}
#foxes-mortgage-calculator-mount .hover-lbl {
  font-size:12px; font-weight:600; color:var(--calc-muted);
  margin-bottom:8px; text-align:right;
}
#foxes-mortgage-calculator-mount .hover-row {
  display:flex; align-items:center; justify-content:space-between;
  padding:8px 0; border-bottom:1px solid var(--fx-rule); gap:8px;
}
#foxes-mortgage-calculator-mount .hover-row:last-child { border-bottom:none }
#foxes-mortgage-calculator-mount .hover-key {
  display:flex; align-items:center; gap:8px;
  font-size:13px; color:var(--fx-ink); flex-shrink:1; min-width:0;
}
#foxes-mortgage-calculator-mount .hover-key span { flex-shrink:0 }
#foxes-mortgage-calculator-mount .hover-val {
  font-size:13px; font-weight:600; color:var(--fx-ink);
  flex-shrink:0; white-space:nowrap;
}
#foxes-mortgage-calculator-mount .var-legend {
  display:flex; gap:14px; flex-wrap:wrap; margin-bottom:10px;
}
#foxes-mortgage-calculator-mount .var-legend span {
  font-size:11px; color:var(--calc-muted);
  display:flex; align-items:center; gap:6px;
}
#foxes-mortgage-calculator-mount .vl-line {
  display:inline-block; width:18px; height:2px;
}

/* ── Amortisation schedule ───────────────────────────────────────── */
#foxes-mortgage-calculator-mount .sched-wrap {
  overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:8px;
}
#foxes-mortgage-calculator-mount .sched {
  min-width:340px; width:100%; border-collapse:separate; border-spacing:0 4px;
}
#foxes-mortgage-calculator-mount .sched th {
  font-size:10px; color:var(--calc-muted); font-weight:600;
  text-align:left; padding:0 6px 2px; white-space:nowrap;
  letter-spacing:.05em; text-transform:uppercase;
}
#foxes-mortgage-calculator-mount .sched th:not(:first-child) { text-align:right }

#foxes-mortgage-calculator-mount .yr-row { cursor:pointer; background:var(--fx-cream) }
#foxes-mortgage-calculator-mount .yr-row:hover { background:var(--fx-red-soft) }
#foxes-mortgage-calculator-mount .yr-row td {
  font-size:12px; font-weight:600; color:var(--fx-ink); padding:10px 8px;
  white-space:nowrap; border-top:1px solid var(--fx-rule); border-bottom:1px solid var(--fx-rule);
}
#foxes-mortgage-calculator-mount .yr-row td:first-child { border-left:1px solid var(--fx-rule); border-radius:8px 0 0 8px }
#foxes-mortgage-calculator-mount .yr-row td:last-child { border-right:1px solid var(--fx-rule); border-radius:0 8px 8px 0 }
#foxes-mortgage-calculator-mount .yr-row td:not(:first-child) { text-align:right }

#foxes-mortgage-calculator-mount .yr-lbl { display:flex; align-items:center; gap:6px }
#foxes-mortgage-calculator-mount .yr-range { font-size:10px; color:var(--calc-muted); font-weight:500 }
#foxes-mortgage-calculator-mount .exp-btn {
  display:inline-flex; align-items:center; justify-content:center;
  width:18px; height:18px; border-radius:5px;
  background:var(--fx-red-soft); color:var(--fx-red-dark);
  font-size:13px; font-weight:600; flex-shrink:0;
  transition:transform .15s; user-select:none;
}
#foxes-mortgage-calculator-mount .yr-row.open .exp-btn { transform:rotate(45deg) }

#foxes-mortgage-calculator-mount .mo-row { display:none }
#foxes-mortgage-calculator-mount .mo-row.vis { display:table-row }
#foxes-mortgage-calculator-mount .mo-row td {
  font-size:11px; color:var(--fx-ink); padding:7px 6px;
  white-space:nowrap; background:var(--fx-white);
  border-top:1px solid var(--fx-rule); border-bottom:1px solid var(--fx-rule);
}
#foxes-mortgage-calculator-mount .mo-row td:first-child {
  border-left:1px solid var(--fx-rule); border-radius:8px 0 0 8px;
  padding-left:28px; color:var(--calc-muted);
}
#foxes-mortgage-calculator-mount .mo-row td:last-child { border-right:1px solid var(--fx-rule); border-radius:0 8px 8px 0 }
#foxes-mortgage-calculator-mount .mo-row td:not(:first-child) { text-align:right }
#foxes-mortgage-calculator-mount .yr-int { color:var(--fx-red-dark) }
#foxes-mortgage-calculator-mount .yr-princ { color:var(--fx-ink) }

/* ── Buttons ─────────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .btn {
  display:inline-flex; align-items:center; gap:6px;
  background:var(--fx-red); color:var(--fx-white);
  border:none; border-radius:10px;
  padding:9px 14px;
  font-family:'Geist', sans-serif; font-weight:600; font-size:13px;
  cursor:pointer;
  box-shadow:0 2px 8px rgba(12, 12, 12, .12);
  transition:background 200ms ease, box-shadow 200ms ease;
}
#foxes-mortgage-calculator-mount .btn:hover {
  background:var(--fx-red-dark);
  box-shadow:0 4px 12px rgba(12, 12, 12, .18);
}
#foxes-mortgage-calculator-mount .btn-sec {
  background:transparent; color:var(--fx-ink);
  border:1.5px solid var(--fx-ink);
  box-shadow:none;
}
#foxes-mortgage-calculator-mount .btn-sec:hover {
  background:var(--fx-ink); color:var(--fx-white);
  box-shadow:none;
}

/* ── Utilities ───────────────────────────────────────────────────── */
#foxes-mortgage-calculator-mount .row {
  display:flex; align-items:center; justify-content:space-between;
  gap:8px; flex-wrap:wrap;
}
#foxes-mortgage-calculator-mount .mini { font-size:11px; color:var(--calc-muted) }
#foxes-mortgage-calculator-mount .dn { display:none !important }

/* ── Mobile spacing refinements ──────────────────────────────────── */
/* Only applies below the 800px breakpoint where the layout is single
 * column. Desktop spacing is left untouched.
 */
@media (max-width:799px) {
  #foxes-mortgage-calculator-mount .shell { gap:16px }
  #foxes-mortgage-calculator-mount .col-left .card,
  #foxes-mortgage-calculator-mount .col-right .card { margin-bottom:16px }
  #foxes-mortgage-calculator-mount .col-left .card:last-child,
  #foxes-mortgage-calculator-mount .col-right .card:last-child { margin-bottom:0 }
  #foxes-mortgage-calculator-mount .col-left .card-body { padding:20px }
  #foxes-mortgage-calculator-mount .col-right .card { padding:20px }
  #foxes-mortgage-calculator-mount .card-title { padding:16px 20px 15px 24px }
  #foxes-mortgage-calculator-mount .field { margin-bottom:18px }
  #foxes-mortgage-calculator-mount .field:last-child { margin-bottom:0 }
  #foxes-mortgage-calculator-mount .hero { padding:12px 0 24px }
  #foxes-mortgage-calculator-mount .hero-val { font-size:44px }
  #foxes-mortgage-calculator-mount .kpis { gap:10px; margin:24px 0 18px }
  #foxes-mortgage-calculator-mount .kpi { padding:16px 8px }
  #foxes-mortgage-calculator-mount .card-hdr { margin:-20px -20px 20px; padding:20px 24px 18px }
  #foxes-mortgage-calculator-mount .payoff-strip { padding:14px 20px; margin-bottom:20px }
  #foxes-mortgage-calculator-mount .ltv-bar-wrap { padding:14px 16px; margin-top:16px }
  #foxes-mortgage-calculator-mount .scen-info { padding:16px; margin-top:12px }
  #foxes-mortgage-calculator-mount .overpay-result { gap:10px; margin-top:16px }
  #foxes-mortgage-calculator-mount .mode-toggle { margin-bottom:18px }
  #foxes-mortgage-calculator-mount .bar-wrap { margin-top:8px }
  #foxes-mortgage-calculator-mount .bar-legend { margin-top:14px }
  #foxes-mortgage-calculator-mount .chart-wrap { height:240px }
  #foxes-mortgage-calculator-mount .hover-panel { padding-top:14px; margin-top:14px }
  #foxes-mortgage-calculator-mount .hover-row { padding:10px 0 }
}

/* floating payment box (v2) */
#foxes-mortgage-calculator-mount .mort-float{position:fixed;right:18px;bottom:18px;z-index:40;width:232px;border-radius:16px;padding:15px 18px 13px;color:#fff;background:radial-gradient(120% 130% at 80% -20%,#241A17,#0C0908);border:1px solid rgba(208,80,80,.35);box-shadow:0 18px 60px rgba(23,18,14,.18);animation:mfin .35s ease both}
@keyframes mfin{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
#foxes-mortgage-calculator-mount .mort-float .mf-x{position:absolute;top:8px;right:9px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:15px;line-height:1;cursor:pointer}
#foxes-mortgage-calculator-mount .mf-k{font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.55)}
#foxes-mortgage-calculator-mount .mf-v{font-family:'Geist',sans-serif;font-weight:700;font-size:30px;letter-spacing:-.02em;line-height:1;margin-top:4px}
#foxes-mortgage-calculator-mount .mf-v small{font-size:13px;font-weight:600;color:rgba(255,255,255,.5);margin-left:2px}
#foxes-mortgage-calculator-mount .mf-sub{font-size:11px;color:rgba(255,255,255,.6);font-weight:600;margin-top:3px}
#foxes-mortgage-calculator-mount .mf-stats{display:flex;gap:14px;margin-top:11px;padding-top:11px;border-top:1px solid rgba(255,255,255,.14)}
#foxes-mortgage-calculator-mount .mf-stats>div{display:flex;flex-direction:column;gap:2px}
#foxes-mortgage-calculator-mount .mf-sl{font-size:9px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:rgba(255,255,255,.45)}
#foxes-mortgage-calculator-mount .mf-sv{font-size:13px;font-weight:600;color:#fff}
#foxes-mortgage-calculator-mount .mf-cta{display:block;text-align:center;margin-top:12px;background:linear-gradient(180deg,#D05050,#C04545);color:#fff;border:0;border-radius:10px;padding:11px 12px;font:inherit;font-weight:700;font-size:13.5px;text-decoration:none}
#foxes-mortgage-calculator-mount .mf-tab{position:fixed;right:18px;bottom:18px;z-index:40;display:none;align-items:center;gap:7px;background:var(--fx-ink);color:#fff;border:0;border-radius:99px;padding:11px 16px;font:inherit;font-weight:700;font-size:13px;cursor:pointer;box-shadow:0 6px 22px rgba(23,18,14,.18)}
@media(max-width:520px){#foxes-mortgage-calculator-mount .mort-float{right:12px;bottom:12px;width:46%}#foxes-mortgage-calculator-mount .mf-v{font-size:24px}}
