.sb-estimate {
    --sb-green: #b9d94b;
    background: #f5f5ee;
    color: #242d27;
    border: 1px solid #dce1d2;
    padding: clamp(16px, 4vw, 32px);
    border-radius: 8px;
    margin: 0;
}
.sb-estimate-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.sb-estimate-product { grid-column: 1 / -1; }
.sb-estimate label { display: block; font-size: .9rem; font-weight: 650; }
.sb-estimate input, .sb-estimate select {
    display: block;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    margin-top: 5px;
    padding: 8px;
    background: #fff;
    border: 1px solid #a8b2a2;
    border-radius: 4px;
    color: #242d27;
    font-size: 16px;
}
.sb-estimate-result { margin: 16px 0; }
.sb-estimate-result p { margin: 3px 0; }
.sb-estimate [data-total] { display: block; font-size: clamp(17px, 2.8vw, 23px); font-weight: 750; overflow-wrap: anywhere; }
.sb-estimate [data-note] { font-size: .86rem; }
.sb-estimate .sb-estimate-action {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    padding: 9px 16px;
    background: var(--sb-green);
    color: #20291f;
    font-weight: 700;
    border: 1px solid #6d8522;
    border-radius: 4px;
}
.sb-estimate-action[aria-disabled="true"] { opacity: .78; }
.sb-estimate .sb-estimate-help { margin: 10px 0 0; font-size: .8rem; }
.sb-price, .sb-price-note { display: inline-block; margin-top: 8px; }
.sb-price {
    padding: 3px 8px;
    border-radius: 4px;
    background: #e7edce;
    color: #252d24;
    white-space: nowrap;
}
.sb-price-meta { display: inline-block; font-size: .88em; }
.sb-price-meta .sb-price-estimate { color: inherit; text-decoration: underline; }
