/* Silverstone Refinance Calculator — Brand: #103044 navy · #54a2a4 teal · Garet */
:root{--src-navy:#103044;--src-teal:#54a2a4;--src-border:#d4dde4;--src-muted:#5a6a78;--src-bg:#f2f5f7;--src-font:'Garet','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--src-ease:.2s ease;--src-r:12px;--src-sh:0 4px 24px rgba(16,48,68,.10)}

/* ── Wrapper ─────────────────── */
.src-app{font-family:var(--src-font);color:#1a1a2e;max-width:600px;margin:0 auto;padding:8px 0 40px;-webkit-font-smoothing:antialiased}
.src-step{display:block}.src-hidden{display:none!important}

/* ── Card ────────────────────── */
.src-card{background:#fff;border-radius:var(--src-r);box-shadow:var(--src-sh);overflow:hidden;padding:36px 40px 40px}
.src-card--success{text-align:center}

/* ── Brand bar ───────────────── */
.src-bar{height:5px;background:var(--src-navy);margin:-36px -40px 28px;border-radius:var(--src-r) var(--src-r) 0 0}
.src-bar--teal{background:var(--src-teal)}

/* ── Type ────────────────────── */
.src-title{margin:0 0 6px;font-size:clamp(1.25rem,2.5vw,1.55rem);font-weight:700;color:var(--src-navy);letter-spacing:-.01em}
.src-sub{margin:0 0 26px;color:var(--src-muted);font-size:.93rem}
.src-eyebrow{text-align:center;font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--src-muted);margin:0 0 10px}

/* ── Input grid ──────────────── */
.src-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.src-row--rates{align-items:end;gap:10px}
.src-arrow{font-size:1.3rem;color:var(--src-teal);padding-bottom:11px;text-align:center;line-height:1}
.src-field{display:flex;flex-direction:column;gap:6px}
.src-field label{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--src-navy)}
.src-field label span{color:#c0392b}
.src-iw{display:flex;align-items:center;border:1.5px solid var(--src-border);border-radius:8px;background:#f8fafb;overflow:hidden;transition:border-color var(--src-ease),box-shadow var(--src-ease)}
.src-pre,.src-suf{font-size:.9rem;font-weight:700;color:var(--src-navy);pointer-events:none;user-select:none;flex-shrink:0;white-space:nowrap}
.src-pre{padding:0 4px 0 12px}.src-suf{padding:0 12px 0 4px}
.src-iw input{flex:1;min-width:0;box-sizing:border-box;padding:11px 12px 11px 0 !important;border:none !important;border-radius:0 !important;background:transparent !important;font-size:1rem;font-family:var(--src-font);color:#1a1a2e;outline:none;-webkit-appearance:none;appearance:none}
.src-iw:focus-within{border-color:var(--src-teal);box-shadow:0 0 0 3px rgba(84,162,164,.18);background:#fff}
.src-iw input[type=number]::-webkit-inner-spin-button,.src-iw input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}
.src-iw input[type=number]{-moz-appearance:textfield}
.src-iw:has(.src-suf) input{padding-left:0 !important}

/* ── Error ───────────────────── */
.src-err{font-size:.875rem;color:#922b21;min-height:1.1em;margin-bottom:2px}

/* ── Buttons ─────────────────── */
.src-btn{display:inline-block;background:var(--src-navy);color:#fff;border:2px solid var(--src-navy);border-radius:8px;padding:13px 30px;font-size:1rem;font-weight:700;font-family:var(--src-font);cursor:pointer;transition:background var(--src-ease),transform var(--src-ease);margin-top:4px}
.src-btn:hover:not(:disabled){background:var(--src-teal);border-color:var(--src-teal);transform:translateY(-1px)}
.src-btn:disabled{opacity:.6;cursor:not-allowed}
.src-btn--outline{background:transparent;color:var(--src-navy);margin-top:20px}
.src-btn--outline:hover:not(:disabled){background:var(--src-navy);color:#fff;transform:none}
.src-link-btn{background:none;border:none;color:var(--src-muted);font-size:.85rem;font-family:var(--src-font);cursor:pointer;padding:4px 0 0;transition:color var(--src-ease)}
.src-link-btn:hover{color:var(--src-navy)}

/* ── Teaser: saving amount ───── */
.src-saving{text-align:center;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;color:var(--src-teal);letter-spacing:-.03em;line-height:1;margin:0 0 22px}
.src-saving span{font-size:1rem;color:var(--src-muted);font-weight:600;margin-left:4px}
.src-saving--zero{color:var(--src-muted)}

/* ── Rate comparison ─────────── */
.src-compare{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:22px}
.src-rate-pill{border-radius:8px;padding:10px 20px;text-align:center;min-width:110px}
.src-rate-pill span{display:block;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px}
.src-rate-pill strong{font-size:1.5rem;font-weight:700;letter-spacing:-.01em}
.src-rate-pill--old{background:#fef2f2;border:1.5px solid #fca5a5}
.src-rate-pill--old span{color:#c0392b}.src-rate-pill--old strong{color:#c0392b}
.src-rate-pill--new{background:var(--src-bg);border:1.5px solid var(--src-teal)}
.src-rate-pill--new span{color:var(--src-teal)}.src-rate-pill--new strong{color:var(--src-navy)}
.src-compare__arrow{font-size:1.4rem;color:var(--src-muted)}

/* ── Locked breakdown ────────── */
.src-locked{background:var(--src-bg);border:2px dashed var(--src-border);border-radius:10px;padding:16px 18px;margin-bottom:22px}
.src-locked__lbl{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--src-muted);margin-bottom:10px}
.src-locked__rows{margin-bottom:12px}
.src-lr{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid var(--src-border);font-size:.88rem}
.src-lr:last-child{border-bottom:none}
.src-lr span{color:var(--src-muted)}
.src-blur{filter:blur(6px);user-select:none;color:var(--src-navy);font-weight:700}
.src-locked__cta{display:flex;align-items:center;gap:6px;font-size:.84rem;font-weight:600;color:var(--src-teal)}

/* ── Lead form overrides ─────── */
.src-lead{border:none!important;box-shadow:none!important;padding:0!important;margin:0 0 14px!important;max-width:100%!important}
.src-full-btn{width:100%;text-align:center;background:var(--src-teal);border-color:var(--src-teal)}
.src-full-btn:hover:not(:disabled){background:#3e8486;border-color:#3e8486}

/* ── Result ──────────────────── */
.src-check{width:54px;height:54px;background:var(--src-teal);color:#fff;border-radius:50%;font-size:1.5rem;line-height:54px;margin:0 auto 14px;font-weight:700}
.src-result__saving{font-size:clamp(2rem,5.5vw,3rem);font-weight:700;color:var(--src-teal);letter-spacing:-.03em;margin:0 0 22px;line-height:1}
.src-result__saving span{font-size:1rem;color:var(--src-muted);font-weight:600;margin-left:4px}
.src-saving-lbl{display:block;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--src-muted);margin-bottom:6px}
.src-breakdown{list-style:none;padding:0;margin:0 0 22px;text-align:left;border-top:1px solid var(--src-border)}
.src-breakdown li{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--src-border);font-size:.88rem;gap:12px}
.src-breakdown li span{color:var(--src-muted)}
.src-breakdown li strong{color:var(--src-navy);font-weight:700}
.src-green{color:#1a7a4a!important}
.src-lg{font-size:1rem!important}
.src-disclaimer{font-size:.76rem;color:var(--src-muted);line-height:1.6;margin:0 0 6px;text-align:left}
.src-card--success .src-recalc{display:block;width:100%;text-align:center}

/* ── Responsive ──────────────── */
@media(max-width:520px){
    .src-card{padding:26px 18px 28px}
    .src-bar{margin:-26px -18px 22px}
    .src-row{grid-template-columns:1fr;gap:14px}
    .src-row--rates{grid-template-columns:1fr auto 1fr;align-items:end}
    .src-arrow{padding-bottom:13px}
    .src-btn,.src-recalc{width:100%;text-align:center}
    .src-compare{flex-direction:column;gap:8px}
    .src-compare__arrow{transform:rotate(90deg)}
}
