/* Buyer financing uses the same blue, charcoal, and light surfaces as Cararri. */
.page-finance .finance-shell {
    max-width: 980px;
    padding-top: clamp(32px, 5vw, 64px);
    padding-bottom: 80px;
}

/* Public auto-financing page */
.page-auto-financing{background:#fff;color:#202124}.af-page{overflow:hidden}.af-page .container{width:min(1180px,calc(100% - 40px));margin-inline:auto}.af-breadcrumb{padding-top:104px;font-size:.78rem;color:#66758a}.af-breadcrumb ol{display:flex;gap:9px;margin:0;padding:0;list-style:none}.af-breadcrumb li+li:before{content:'/';margin-right:9px;color:#a0aaba}.af-breadcrumb a{color:#026fba}.af-hero{padding:38px 0 80px;background:linear-gradient(120deg,#f3f8fc,#fff 63%)}.af-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);align-items:center;gap:38px}.af-kicker{display:block;margin-bottom:14px;color:#047dce;font-size:.72rem;font-weight:800;letter-spacing:.14em}.af-hero h1{max-width:720px;margin:0;font:800 clamp(2.65rem,5.5vw,5.3rem)/.98 'Satoshi','Inter',sans-serif;letter-spacing:-.06em}.af-hero-copy>p{max-width:620px;margin:26px 0 30px;color:#526079;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.7}.af-actions{display:flex;flex-wrap:wrap;gap:12px}.af-actions .btn-primary,.af-btn-secondary{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:12px 22px;border-radius:10px;font-size:.9rem;font-weight:750;text-decoration:none}.af-btn-secondary{border:1px solid #cdd8e2;background:#fff;color:#202124}.af-hero-image{position:relative;min-width:0}.af-hero-image:after{content:'';position:absolute;right:4%;bottom:2%;left:4%;height:18%;border-radius:50%;background:#152b3d2e;filter:blur(24px)}.af-hero-image img{position:relative;z-index:1;display:block;width:120%;max-width:none;margin-left:-10%;height:auto}.af-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:-35px;position:relative;z-index:2}.af-benefits article,.af-education article{padding:28px;border:1px solid #e0e7ed;border-radius:16px;background:#fff;box-shadow:0 12px 34px #172d4212}.af-benefits article>span{color:#0499fd;font-size:.74rem;font-weight:800}.af-benefits h2{margin:28px 0 8px;font-size:1.18rem}.af-benefits p,.af-education p,.af-steps p{margin:0;color:#637186;font-size:.9rem;line-height:1.65}.af-section{padding:100px 0}.af-heading{max-width:690px;margin-bottom:38px}.af-heading h2,.af-budget h2,.af-final h2{margin:0;font:800 clamp(2rem,4vw,3.5rem)/1.05 'Satoshi','Inter',sans-serif;letter-spacing:-.045em}.af-heading p,.af-budget>div>p{margin:15px 0 0;color:#66758a;line-height:1.7}.af-calculator-section{scroll-margin-top:75px;background:#f5f8fb}.af-calculator{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr);gap:22px;align-items:start}.af-inputs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:30px;border:1px solid #dce6ef;border-radius:18px;background:#fff}.af-field{min-width:0}.af-field-wide{grid-column:1/-1}.af-field label{display:block;margin-bottom:8px;color:#38485c;font-size:.82rem;font-weight:700}.af-field input:not([type=range]),.af-field select{width:100%;height:48px;padding:0 14px;border:1px solid #cdd8e2;border-radius:9px;background:#fff;color:#202124;font:600 .95rem 'Inter',sans-serif}.af-money,.af-suffix{position:relative}.af-money>span,.af-suffix>span{position:absolute;top:50%;transform:translateY(-50%);color:#718096;font-weight:600;pointer-events:none}.af-money>span{left:14px}.af-money input{padding-left:29px!important}.af-suffix>span{right:14px}.af-suffix input{padding-right:34px!important}.af-field input:focus,.af-field select:focus{border-color:#0499fd;outline:3px solid #0499fd24}.af-range{width:100%;margin-top:13px;accent-color:#0499fd}.af-summary{position:sticky;top:92px;padding:32px;border-radius:18px;background:#101b26;color:#fff;box-shadow:0 20px 50px #0816222e}.af-summary>span{color:#a9bed0;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.af-summary>strong{display:block;margin:8px 0 3px;font:800 clamp(2.8rem,5vw,4.4rem)/1 'Satoshi',sans-serif;letter-spacing:-.055em}.af-summary>small{color:#bdcbd7}.af-summary dl{margin:28px 0 22px}.af-summary dl div{display:flex;justify-content:space-between;gap:20px;padding:11px 0;border-top:1px solid #ffffff1a;font-size:.83rem}.af-summary dt{color:#a9bed0}.af-summary dd{margin:0;font-weight:700;text-align:right}.af-summary dl .af-total{margin-top:4px;padding-block:15px;color:#fff}.af-summary .af-total dt{color:#fff;font-weight:700}.af-summary>p{margin:0;color:#91a5b7;font-size:.72rem;line-height:1.6}.af-budget{display:grid;grid-template-columns:1fr 370px;gap:70px;align-items:center}.af-budget-card{padding:28px;border:1px solid #dce6ef;border-radius:16px;background:#f7fafc}.af-budget-card>span,.af-budget-card>small{display:block;color:#68788c;font-size:.76rem}.af-budget-card>strong{display:block;margin:8px 0 20px;font:800 2.6rem 'Satoshi',sans-serif}.af-budget-card .btn-primary{width:100%;justify-content:center}.af-budget-card>small{margin-top:12px;line-height:1.45}.af-dark{background:#101b26;color:#fff}.af-dark .af-kicker{color:#63bfff}.af-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.af-steps article{padding:30px;border:1px solid #ffffff1f;border-radius:15px;background:#ffffff09}.af-steps b{color:#63bfff;font-size:.78rem}.af-steps h3{margin:55px 0 12px;font-size:1.25rem}.af-steps p{color:#aebdca}.af-education{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.af-education article{box-shadow:none}.af-education h3{margin:0 0 13px;font-size:1.1rem}.af-education a{display:inline-block;margin-top:22px;color:#0274c1;font-size:.82rem;font-weight:750}.af-faq{background:#f5f8fb}.af-faq-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;align-items:start}.af-faq details{border:1px solid #dae4ec;border-radius:12px;background:#fff}.af-faq summary{display:flex;justify-content:space-between;gap:15px;padding:20px;cursor:pointer;font-weight:700;list-style:none}.af-faq summary::-webkit-details-marker{display:none}.af-faq summary span{color:#0499fd;font-size:1.25rem;transition:transform .2s}.af-faq details[open] summary span{transform:rotate(45deg)}.af-faq details p{margin:0;padding:0 20px 20px;color:#627187;font-size:.88rem;line-height:1.65}.af-final{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-top:85px!important;padding-bottom:85px!important}.af-final h2{max-width:700px}
@media(max-width:900px){.af-hero-grid{grid-template-columns:1fr}.af-hero-image{max-width:620px;margin:auto}.af-benefits,.af-steps,.af-education{grid-template-columns:1fr}.af-calculator,.af-budget{grid-template-columns:1fr}.af-summary{position:static}.af-budget-card{max-width:520px}.af-faq-list{grid-template-columns:1fr}.af-final{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.af-page .container{width:min(100% - 28px,1180px)}.af-breadcrumb{padding-top:88px}.af-hero{padding:28px 0 65px}.af-hero h1{font-size:2.7rem}.af-hero-image img{width:112%;margin-left:-6%}.af-benefits{margin-top:-28px}.af-benefits article{padding:22px}.af-benefits h2{margin-top:18px}.af-section{padding:72px 0}.af-inputs{grid-template-columns:1fr;padding:20px}.af-field-wide{grid-column:auto}.af-summary{padding:24px 20px}.af-actions,.af-actions>a{width:100%}.af-final{padding-block:65px!important}.page-auto-financing{padding-bottom:68px}}
@media(prefers-reduced-motion:reduce){.af-page *{scroll-behavior:auto!important;transition:none!important}}

/* Align financing page with the current Cararri homepage system. */
.page-auto-financing .af-page .container{width:min(100%,1440px);max-width:1440px;padding-inline:clamp(16px,4vw,56px)}
.page-auto-financing .af-page h1,.page-auto-financing .af-page h2,.page-auto-financing .af-page h3{font-family:var(--font-heading);font-weight:700}
.af-hero{position:relative;min-height:500px;padding:46px 0 58px;background:linear-gradient(90deg,rgba(245,250,253,.98) 0%,rgba(245,250,253,.93) 38%,rgba(245,250,253,.18) 72%),url('../images/hero/hero-image-3.webp') center/cover no-repeat}
.af-hero:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(230,241,249,.12));pointer-events:none}.af-hero-grid{position:relative;z-index:1;min-height:395px;display:flex;align-items:center}.af-hero-copy{max-width:610px}
.af-hero .af-kicker{color:#047dce}.af-hero h1{max-width:610px;color:#202124;font-size:clamp(2.65rem,3.7vw,3.85rem);font-weight:700;line-height:1.02;letter-spacing:-.05em}.af-hero .af-actions{margin-top:27px}.af-hero .af-btn-secondary{color:#202124;background:#fff;border-color:#cdd8e2}
.af-heading h2,.af-budget h2,.af-final h2{font-size:clamp(1.9rem,3.1vw,3rem);line-height:1.08}.af-card-icon,.af-step-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:#eaf5ff;color:#0499fd}.af-card-icon svg,.af-step-icon svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.af-benefits h2{margin-top:22px}.af-step-icon{background:#0499fd1f;color:#63bfff}.af-steps h3{margin-top:35px}
@media(max-width:900px){.af-hero{min-height:0;background-position:62% center}.af-hero-grid{min-height:370px}}
@media(max-width:600px){.page-auto-financing .af-page .container{padding-inline:16px}.af-hero{padding:28px 0 36px;background:linear-gradient(90deg,rgba(245,250,253,.98),rgba(245,250,253,.88)),url('../images/hero/hero-image-3.webp') 64% center/cover no-repeat}.af-hero h1{font-size:clamp(2.35rem,10.5vw,2.85rem)}.af-hero-grid{min-height:330px}.af-hero-copy{max-width:100%}}
.page-finance .finance-shell-wide { max-width: 1440px; }
.finance-shell-wide .finance-table { min-width: 1100px; }
.finance-intro { margin-bottom: 28px; }
.finance-eyebrow {
    margin-bottom: 10px;
    color: var(--blue);
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.finance-intro h1 {
    margin-bottom: 10px;
    color: var(--black);
    font-size: clamp(2rem, 4.5vw, 3.25rem);
    line-height: 1.1;
    letter-spacing: -.04em;
}
.finance-intro > p:not(.finance-eyebrow):not(.finance-notice) { color: #526079; font-size: 1.05rem; }
.finance-notice {
    margin-top: 20px;
    padding: 14px 18px;
    color: #314159;
    background: #eaf5ff;
    border: 1px solid #bfdef7;
    border-left: 4px solid var(--blue);
    border-radius: 10px;
    font-size: .9rem;
}
.finance-alert { margin-bottom: 20px; padding: 14px 18px; color: #8c2828; background: #fff0f0; border-radius: 10px; }
.finance-progress { margin-bottom: 20px; }
.finance-progress > p { margin-bottom: 12px; color: var(--blue); font-size: .8rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.finance-step-list { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; list-style: none; }
.finance-step-list li { min-width: 0; padding-top: 12px; border-top: 4px solid #d9e3ec; color: #64748b; font-size: .78rem; font-weight: 700; }
.finance-step-list li.is-current { border-color: var(--blue); color: var(--black); }
.finance-step-list li.is-complete { border-color: #65b7f1; color: #385a74; }
.finance-panel,
.finance-form {
    margin-bottom: 22px;
    padding: clamp(22px, 4vw, 36px);
    background: #fff;
    border: 1px solid #dce6ef;
    border-radius: 18px;
    box-shadow: 0 12px 34px rgba(32,33,36,.05);
}
.finance-panel h2,
.finance-form h2 { margin-bottom: 20px; color: var(--black); font-size: 1.45rem; letter-spacing: -.03em; }
.finance-form section[data-step],
.finance-entry-form,
.finance-estimator-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.finance-form section[data-step][hidden] { display: none; }
.finance-form section[data-step] > h2,
.finance-form section[data-step] > p,
.finance-selected-car,
.finance-trade-grid,
#request-review,
.finance-form section[data-step] > label:has(input[type="checkbox"]),
.finance-entry-form > p { grid-column: 1 / -1; }
.finance-shell label { display: grid; align-content: start; gap: 7px; color: #314159; font-size: .88rem; font-weight: 650; }
.finance-shell label[hidden] { display: none; }
.finance-shell input:not([type="checkbox"]),
.finance-shell select,
.finance-shell textarea {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    color: var(--black);
    background: #fff;
    border: 1px solid #cbd8e4;
    border-radius: 10px;
    outline: none;
    font: inherit;
    font-size: 16px;
    font-weight: 500;
}
.finance-shell input:focus,
.finance-shell select:focus,
.finance-shell textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(4,153,253,.15); }
.finance-shell label:has(input[type="checkbox"]) { display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; }
.finance-shell input[type="checkbox"] { width: 18px; height: 18px; flex: 0 0 auto; margin-top: 2px; accent-color: var(--blue); }
.finance-trade-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 16px; }
.finance-selected-car { padding: 17px 20px; background: #f2f8fd; border: 1px solid #cbdfee; border-radius: 12px; color: #43536a; }
.finance-selected-car strong { color: var(--black); }
.finance-selected-car p { margin: 6px 0 0; font-size: .84rem; }
.finance-shell button[data-continue],
.finance-shell button[type="submit"],
.finance-shell .btn-primary { min-height: 46px; padding: 11px 20px; border: 1px solid var(--blue); border-radius: 10px; background: var(--blue); color: #fff !important; font-size: .9rem; font-weight: 750; cursor: pointer; }
.finance-shell button[data-back],
#request-review button { min-height: 46px; padding: 11px 20px; border: 1px solid #cbd8e4; border-radius: 10px; background: #fff; color: var(--black); font-weight: 700; cursor: pointer; }
.finance-form section[data-step] > button[data-continue],
.finance-form section[data-step] > button[type="submit"] { grid-column: 2; justify-self: end; }
.finance-form section[data-step] > button[data-back] { grid-column: 1; grid-row: auto; justify-self: start; }
#request-review { display: grid; gap: 12px; }
#request-review section { padding: 18px; border: 1px solid #dce6ef; border-radius: 12px; background: #f8fbfd; }
#request-review h3 { margin-bottom: 8px; font-size: 1rem; }
#request-review p { margin: 3px 0; color: #526079; font-size: .86rem; }
#request-review button { min-height: 36px; margin-top: 10px; padding: 6px 14px; }
.finance-estimate-result { display: grid; align-content: center; padding: 14px 18px; background: #eaf5ff; border-radius: 10px; color: #526079; }
.finance-estimate-result strong { color: var(--black); font-size: 1.5rem; }
.finance-panel > p { margin-top: 14px; color: #526079; }
.finance-panel details { padding: 13px 0; border-top: 1px solid #dce6ef; }
.finance-panel summary { cursor: pointer; font-weight: 700; }
@media (max-width: 640px) {
    .page-finance .finance-shell { padding-top: 28px; padding-bottom: 95px; }
    .finance-step-list { gap: 4px; }
    .finance-step-list li { font-size: .65rem; }
    .finance-form section[data-step], .finance-entry-form, .finance-estimator-grid { grid-template-columns: 1fr; }
    .finance-form section[data-step] > button[data-continue],
    .finance-form section[data-step] > button[type="submit"],
    .finance-form section[data-step] > button[data-back] { grid-column: 1; justify-self: stretch; }
}
/* Shared request list, confirmation, and detail views. */
.page-finance { background: #f3f6f9; }
.page-finance .finance-shell { padding-top: clamp(100px, 10vw, 140px); }
.finance-shell-narrow { max-width: 760px !important; }
.finance-page-heading, .finance-card-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.finance-page-heading { margin: 15px 0 20px; }
.finance-page-heading .finance-button { flex: none; }
.finance-page-heading p, .finance-card-heading p { margin-bottom: 0; }
.finance-card-list { display: grid; gap: 16px; }
.finance-request-card { margin: 0; }
.finance-request-card h2 { margin: 0; }
.finance-meta { color: #68758b !important; font-size: .84rem; }
.finance-status { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 11px; border-radius: 999px; background: #eaf5ff; color: #0266ab; font-size: .78rem; font-weight: 750; white-space: nowrap; text-transform: capitalize; }
.finance-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 20px; }
.finance-button, .finance-shell button[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 18px; border: 1px solid var(--blue); border-radius: 10px; background: var(--blue); color: #fff !important; font-size: .9rem; font-weight: 750; text-decoration: none; cursor: pointer; }
.finance-button:hover, .finance-shell button[type="submit"]:hover { background: #037fd4; }
.finance-shell .finance-secondary-button { margin-top: 16px; border-color: #d6dee7 !important; background: #fff !important; color: #526079 !important; }
.finance-link { color: #0266ab; font-weight: 650; text-decoration: underline; text-underline-offset: 2px; }
.finance-link:hover { color: #014d82; }
.finance-shell :focus-visible { outline: 3px solid var(--blue); outline-offset: 3px; }
.finance-empty { padding: 32px; text-align: center; color: #526079; }
.finance-empty h2 { margin-bottom: 4px; }
.finance-filter { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) auto; align-items: end; gap: 14px; }
.finance-table-wrap { overflow-x: auto; padding: 0; }
.finance-table { width: 100%; border-collapse: collapse; font-size: .86rem; }
.finance-table th, .finance-table td { padding: 15px 18px; border-bottom: 1px solid #e4ebf1; text-align: left; vertical-align: top; }
.finance-table th { background: #f8fbfd; color: #526079; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
.finance-table tbody tr:last-child td { border-bottom: 0; }
.finance-table tbody tr:hover { background: #f8fbfd; }
.finance-table td strong { display: block; white-space: nowrap; }
.finance-table td small { display: block; margin-top: 3px; color: #68758b; }
.finance-detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 26px; margin: 0; }
.finance-detail-grid div { min-width: 0; padding-bottom: 14px; border-bottom: 1px solid #e4ebf1; }
.finance-detail-grid dt { margin-bottom: 5px; color: #68758b; font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.finance-detail-grid dd { margin: 0; color: var(--black); overflow-wrap: anywhere; font-weight: 600; }
.finance-inline-form { display: flex; align-items: end; gap: 12px; margin-bottom: 30px; }
.finance-inline-form label { flex: 1; }
.finance-stack-form { display: grid; gap: 12px; margin-top: 16px; }
.finance-stack-form button { justify-self: start; }
.finance-panel h3 { margin: 22px 0 12px; font-size: 1.05rem; }
.page-finance .finance-note, .page-finance .finance-message { padding: 14px 16px; border: 1px solid #e4ebf1; border-radius: 10px; background: #f8fbfd; overflow-wrap: anywhere; }
.page-finance .finance-note small, .page-finance .finance-message small, .page-finance .finance-stack-form small { color: #68758b; }
.finance-message { margin: 12px 0; }
.finance-message > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 5px 14px; }
.finance-message p { margin: 8px 0 0; white-space: pre-wrap; }
.finance-timeline { list-style: none; margin: 0; padding: 0; }
.finance-timeline li { display: grid; grid-template-columns: 160px 1fr; gap: 14px; padding: 12px 0; border-top: 1px solid #e4ebf1; }
.finance-timeline time { color: #68758b; font-size: .82rem; }
.finance-confirmation { text-align: center; padding-block: 56px; }
.finance-confirmation h1 { font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.2; }
.finance-confirmation .finance-actions { justify-content: center; }
.finance-confirmation .finance-notice { text-align: left; }
.finance-success-icon { display: inline-grid; width: 58px; height: 58px; place-items: center; margin-bottom: 20px; border-radius: 50%; background: #e8f6ee; color: #188047; font-size: 28px; }
.finance-reference { margin-top: 20px; font-size: .95rem; }
@media (max-width: 640px) {
    .finance-page-heading, .finance-card-heading { align-items: flex-start; flex-direction: column; gap: 12px; }
    .finance-filter, .finance-detail-grid { grid-template-columns: 1fr; }
    .finance-inline-form { align-items: stretch; flex-direction: column; }
    .finance-timeline li { grid-template-columns: 1fr; gap: 3px; }
    .finance-table { min-width: 850px; }
}
