/* RECATOOLS — Mortgage Refinance Calculator
 * Tool-specific styles only. Shared chrome (tool-card, fact-card,
 * faq-item, related-tool-card) is in /assets/css/tool-page.css.
 */
.refi-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}
@media (max-width: 640px) {
    .refi-grid { grid-template-columns: 1fr; }
}

.refi-col {
    background: #fafaf9;
    border: 1px solid #ebebeb;
    border-radius: 10px;
    padding: 1rem;
}
.refi-col h3 {
    margin: 0 0 .75rem;
    font-size: .9rem;
    font-weight: 700;
    color: #1a1814;
}
.refi-col.refi-col--current h3 { color: #475569; }
.refi-col.refi-col--new h3 { color: #0d1b2a; }

.input-row { margin-bottom: .75rem; }
.input-row:last-child { margin-bottom: 0; }
.input-row label {
    display: block;
    font-size: .75rem;
    font-weight: 600;
    color: #6b6760;
    margin-bottom: .25rem;
}
.input-row .input-prefix-wrap {
    display: flex;
    align-items: stretch;
    border: 1px solid #ebebeb;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}
.input-row .ipx-label {
    padding: .5rem .65rem;
    background: #f0ede9;
    font-size: .8rem;
    font-weight: 600;
    color: #6b6760;
    border-right: 1px solid #ebebeb;
}
.input-row input[type="number"] {
    flex: 1;
    border: none;
    padding: .5rem .65rem;
    font-size: .9rem;
    font-family: inherit;
    background: transparent;
    color: #1a1814;
    width: 100%;
    box-sizing: border-box;
}
.input-row input[type="number"]:focus { outline: none; box-shadow: inset 0 0 0 2px #E8472F; }
.input-row .ipx-label.ipx-suffix { border-left: 1px solid #ebebeb; border-right: none; }

.calc-btn {
    width: 100%;
    margin: 1rem 0 0;
    padding: .75rem 1.25rem;
    background: #E8472F;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: .95rem;
    font-weight: 700;
    cursor: pointer;
    font-family: inherit;
}
.calc-btn:hover { background: #c8391f; }

.results-panel {
    margin-top: 1.5rem;
    padding: 1.25rem;
    background: #fff;
    border: 1px solid #ebebeb;
    border-radius: 12px;
    display: none;
}
.results-panel.has-result { display: block; }

.res-hero {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: .75rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #ebebeb;
}
@media (max-width: 640px) {
    .res-hero { grid-template-columns: 1fr; }
}
.res-hero-tile { text-align: center; }
.res-hero-tile .res-hero-label {
    font-size: .68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .05em;
    color: #6b6760;
    margin-bottom: .25rem;
}
.res-hero-tile .res-hero-value {
    font-size: 1.1rem;
    font-weight: 800;
    font-family: 'IBM Plex Serif', serif;
    color: #1a1814;
}

.res-verdict {
    background: #f0fdf4;
    border-left: 3px solid #16a34a;
    border-radius: 0 6px 6px 0;
    padding: .75rem 1rem;
    margin: 1rem 0;
    font-size: .875rem;
    line-height: 1.6;
    color: #1a1814;
}

.res-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .5rem .75rem;
    font-size: .85rem;
}
.res-detail-grid > div { padding: .5rem 0; border-bottom: 1px solid #f3f1ec; }
.res-detail-grid .res-d-label { color: #6b6760; }
.res-detail-grid .res-d-value { text-align: right; font-weight: 600; color: #1a1814; }

/* cache-buster: 2026-05-24T05:06:05Z */
