/* Service-page instant price finder */
.nfd-price-finder {
    max-width: 860px;
    margin: 0 auto;
}
.nfd-pf-section {
    background: #f6f9f7;
}
.nfd-pf-card {
    background: #fff;
    border: 1px solid rgba(0, 155, 77, .2);
    border-radius: 18px;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .08);
    padding: clamp(1.25rem, 3vw, 2rem);
}
.nfd-pf-kicker {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    color: #007f3f;
    font-size: .85rem;
    font-weight: 700;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.nfd-pf-title {
    margin: .5rem 0 .35rem;
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 1.15;
    color: #17211b;
}
.nfd-pf-intro {
    margin: 0 0 1.25rem;
    color: #526059;
}
.nfd-pf-label,
.nfd-pf-subtitle {
    display: block;
    margin: 0 0 .55rem;
    color: #17211b;
    font-size: 1rem;
    font-weight: 700;
}
.nfd-pf-search-wrap {
    position: relative;
}
.nfd-pf-search-wrap > i {
    position: absolute;
    left: .95rem;
    top: 50%;
    transform: translateY(-50%);
    color: #6b7770;
    pointer-events: none;
}
.nfd-pf-search {
    width: 100%;
    min-height: 50px;
    border: 1px solid #cbd5cf;
    border-radius: 12px;
    background: #fff;
    padding: .8rem 1rem .8rem 2.75rem;
    font: inherit;
    color: #17211b;
    outline: none;
}
.nfd-pf-search:focus {
    border-color: #009b4d;
    box-shadow: 0 0 0 3px rgba(0, 155, 77, .12);
}
.nfd-pf-model-results {
    display: grid;
    gap: .45rem;
    margin-top: .65rem;
    max-height: 340px;
    overflow: auto;
}
.nfd-pf-model,
.nfd-pf-repair {
    width: 100%;
    border: 1px solid #dce5df;
    border-radius: 11px;
    background: #fff;
    color: #17211b;
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.nfd-pf-model {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 46px;
    padding: .7rem .85rem;
}
.nfd-pf-model:hover,
.nfd-pf-model:focus,
.nfd-pf-repair:hover,
.nfd-pf-repair:focus {
    border-color: #009b4d;
    background: #f3fbf7;
}
.nfd-pf-model i {
    color: #009b4d;
    font-size: .8rem;
}
.nfd-pf-help {
    margin-top: .9rem;
    color: #526059;
    font-size: .9rem;
}
.nfd-pf-help summary {
    color: #176b41;
    cursor: pointer;
    font-weight: 600;
}
.nfd-pf-help p {
    margin: .55rem 0 0;
}
.nfd-pf-step {
    margin-top: .5rem;
}
.nfd-pf-hidden {
    display: none !important;
}
.nfd-pf-selection {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: 1rem;
    border-radius: 10px;
    background: #f3f7f4;
    padding: .7rem .8rem;
    color: #25322a;
    font-weight: 600;
}
.nfd-pf-selection button {
    border: 0;
    background: transparent;
    color: #007f3f;
    font: inherit;
    font-size: .85rem;
    font-weight: 700;
    cursor: pointer;
}
.nfd-pf-repair-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .65rem;
}
.nfd-pf-repair {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    min-height: 58px;
    padding: .8rem .9rem;
}
.nfd-pf-repair-name {
    font-weight: 650;
}
.nfd-pf-repair-price {
    flex: 0 0 auto;
    color: #007f3f;
    font-weight: 750;
}
.nfd-pf-price-head {
    display: flex;
    align-items: baseline;
    gap: .55rem;
    margin: .15rem 0 .8rem;
}
.nfd-pf-price-label {
    color: #526059;
    font-weight: 600;
}
.nfd-pf-price {
    color: #007f3f;
    font-size: clamp(2rem, 6vw, 2.8rem);
    line-height: 1;
}
.nfd-pf-options {
    display: grid;
    gap: .65rem;
    margin: .85rem 0;
}
.nfd-pf-option {
    border: 1px solid #dce5df;
    border-radius: 12px;
    padding: .8rem .9rem;
}
.nfd-pf-option-main {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    color: #17211b;
}
.nfd-pf-option-main > span {
    color: #007f3f;
    font-weight: 750;
    white-space: nowrap;
}
.nfd-pf-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem .9rem;
    margin-top: .45rem;
    color: #607067;
    font-size: .84rem;
}
.nfd-pf-meta i {
    color: #009b4d;
}
.nfd-pf-note,
.nfd-pf-continue-note,
.nfd-pf-footnote,
.nfd-pf-empty {
    color: #607067;
    font-size: .88rem;
    line-height: 1.45;
}
.nfd-pf-note {
    margin: .8rem 0 1rem;
}
.nfd-pf-footnote {
    margin: 1rem 0 0;
    text-align: center;
}
.nfd-pf-footnote i {
    margin-right: .35rem;
    color: #009b4d;
}
.nfd-pf-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .55rem;
    width: 100%;
    min-height: 52px;
    border-radius: 12px;
    background: #009b4d;
    color: #fff !important;
    padding: .85rem 1rem;
    text-decoration: none !important;
    font-weight: 750;
}
.nfd-pf-primary:hover,
.nfd-pf-primary:focus {
    background: #007f3f;
}
.nfd-pf-continue-note {
    margin: .65rem 0 0;
    text-align: center;
}
.nfd-pf-quote-only {
    margin: .4rem 0 1rem;
    border-radius: 12px;
    background: #f3f7f4;
    padding: 1rem;
}
.nfd-pf-quote-only > i {
    color: #009b4d;
    margin-right: .4rem;
}
.nfd-pf-quote-only strong {
    color: #17211b;
}
.nfd-pf-quote-only p {
    margin: .45rem 0 0;
    color: #607067;
}
.nfd-pf-text-link {
    display: inline-block;
    margin-top: .45rem;
    color: #007f3f;
    font-weight: 650;
}
@media (max-width: 640px) {
    .nfd-pf-card {
        border-radius: 14px;
        padding: 1.1rem;
    }
    .nfd-pf-repair-list {
        grid-template-columns: 1fr;
    }
    .nfd-pf-model-results {
        max-height: 280px;
    }
    .nfd-pf-option-main {
        align-items: flex-start;
    }
}