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

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

/* ── Card ────────────────────── */
.sac-card{background:#fff;border-radius:var(--sac-r);box-shadow:var(--sac-sh);overflow:hidden;padding:36px 40px 40px}
.sac-card--success{text-align:center}
.sac-bar{height:5px;background:var(--sac-navy);margin:-36px -40px 28px;border-radius:var(--sac-r) var(--sac-r) 0 0}
.sac-bar--teal{background:var(--sac-teal)}

/* ── Type ────────────────────── */
.sac-title{margin:0 0 6px;font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:700;color:var(--sac-navy);letter-spacing:-.01em}
.sac-sub{margin:0 0 26px;color:var(--sac-muted);font-size:.92rem}
.sac-eyebrow{text-align:center;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sac-muted);margin:0 0 8px}
.sac-assume{text-align:center;font-size:.78rem;color:var(--sac-muted);margin:6px 0 18px}

/* ── Icon ────────────────────── */
.sac-icon{text-align:center;margin-bottom:10px}

/* ── Fields ──────────────────── */
.sac-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.sac-field{display:flex;flex-direction:column;gap:6px}
.sac-field label{font-size:.77rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--sac-navy)}
.sac-field label span{color:#c0392b}
.sac-iw{display:flex;align-items:center;border:1.5px solid var(--sac-border);border-radius:8px;background:#f8fafb;overflow:hidden;transition:border-color var(--sac-ease),box-shadow var(--sac-ease)}
.sac-pre,.sac-suf{font-size:.9rem;font-weight:700;color:var(--sac-navy);pointer-events:none;user-select:none;flex-shrink:0;white-space:nowrap}
.sac-pre{padding:0 4px 0 12px}.sac-suf{padding:0 12px 0 4px}
.sac-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(--sac-font);color:#1a1a2e;outline:none;-webkit-appearance:none;appearance:none}
.sac-iw--suf input{padding:11px 0 11px 12px !important}
.sac-iw:focus-within{border-color:var(--sac-teal);box-shadow:0 0 0 3px rgba(84,162,164,.18);background:#fff}
.sac-iw input[type=number]::-webkit-inner-spin-button,.sac-iw input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}
.sac-iw input[type=number]{-moz-appearance:textfield}
.sac-err{font-size:.875rem;color:#922b21;min-height:1.1em;margin-bottom:2px}

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

/* ── Teaser: property price ──── */
.sac-property{text-align:center;font-size:clamp(2.4rem,6vw,3.4rem);font-weight:700;color:var(--sac-navy);letter-spacing:-.03em;line-height:1;margin:0 0 6px}

/* ── 3-cell summary strip ─────── */
.sac-strip{display:flex;border:1px solid var(--sac-border);border-radius:8px;overflow:hidden;margin-bottom:20px}
.sac-cell{flex:1;display:flex;flex-direction:column;align-items:center;padding:10px 6px;border-right:1px solid var(--sac-border)}
.sac-cell:last-child{border-right:none}
.sac-cell span{font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--sac-muted);font-weight:600;margin-bottom:3px;text-align:center}
.sac-cell strong{font-size:.9rem;color:var(--sac-navy);font-weight:700}

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

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

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

/* ── Responsive ──────────────── */
@media(max-width:500px){
    .sac-card{padding:24px 16px 26px}
    .sac-bar{margin:-24px -16px 22px}
    .sac-row{grid-template-columns:1fr;gap:14px}
    .sac-btn,.sac-recalc{width:100%;text-align:center}
    .sac-strip{flex-direction:column}
    .sac-cell{flex-direction:row;justify-content:space-between;border-right:none;border-bottom:1px solid var(--sac-border)}
    .sac-cell:last-child{border-bottom:none}
}
