/* BWP estimate form. Namespaced to retain the existing public-site theme. */
.bwp-estimate { background:#fafafa; padding:62px 0 70px; }
.bwp-estimate .bwp-form-intro { margin:0 auto 30px; max-width:760px; }
.bwp-estimate .bwp-form-intro h2 { font-size:30px; margin:0 0 14px; }
.bwp-estimate .bwp-form-intro p { font-size:17px; line-height:1.65; }
.bwp-estimate .bwp-hint { font-size:14px; color:#60676d; line-height:1.6; }
.bwp-estimate .bwp-form-panel { background:#fff; border:1px solid #e4e8ea; border-radius:8px; box-shadow:0 2px 12px rgba(30,40,46,.045); padding:27px 30px; margin:0 0 23px; }
.bwp-estimate .bwp-form-panel h3 { color:#233039; font-size:23px; margin:0 0 20px; }
.bwp-estimate .bwp-step { display:inline-flex; background:#d54842; width:35px; height:35px; align-items:center; justify-content:center; color:#fff; font-size:17px; border-radius:50%; margin-right:10px; }
.bwp-estimate legend { font-size:17px; border:0; margin:0 0 10px; color:#26313b; }
.bwp-estimate fieldset { border:0; padding:0; margin:0 0 18px; min-width:0; }
.bwp-estimate .bwp-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:13px; margin:18px 0 10px; }
.bwp-estimate label { display:block; color:#25313c; font-size:15px; font-weight:600; margin:0 0 16px; }
.bwp-estimate .bwp-service-option { display:flex; align-items:start; padding:16px; background:#fbfbfb; border:2px solid #e1e4e7; border-radius:6px; cursor:pointer; margin:0; }
.bwp-estimate .bwp-service-option:has(input:checked) { border-color:#c4403c; background:#fff8f7; }
.bwp-estimate .bwp-service-option input { margin:4px 9px 0 0; flex:0 0 auto; }
.bwp-estimate .bwp-service-option strong,.bwp-estimate .bwp-service-option small { display:block; }
.bwp-estimate .bwp-service-option small { color:#65717a; font-weight:400; line-height:1.45; margin-top:6px; }
.bwp-estimate .bwp-fields-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; }
.bwp-estimate input:not([type=checkbox]),.bwp-estimate select,.bwp-estimate textarea { display:block; width:100%; border:1px solid #c8d0d4; border-radius:4px; padding:10px 12px; font-size:15px; font-weight:400; color:#26313a; background:#fff; margin-top:6px; box-sizing:border-box; }
.bwp-estimate input:focus-visible,.bwp-estimate select:focus-visible,.bwp-estimate textarea:focus-visible { outline:3px solid #f6b5ad; outline-offset:2px; }
.bwp-estimate .bwp-service-detail { border-top:1px solid #e8eaeb; padding:24px 0 8px; margin-top:10px; }
.bwp-estimate .bwp-service-detail[hidden] { display:none!important; }
.bwp-estimate .bwp-service-detail h4 { color:#b53632; font-size:19px; margin:0 0 16px; }
.bwp-estimate .bwp-check-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px 20px; margin:10px 0 18px; }
.bwp-estimate .bwp-check-grid label { display:flex; align-items:start; font-weight:400; margin:0; line-height:1.4; }
.bwp-estimate .bwp-check-grid input { margin:5px 8px 0 0; }
.bwp-estimate .bwp-error { color:#a51617; font-size:14px; }
.bwp-estimate .bwp-honeypot { position:absolute!important; left:-10000px!important; top:auto!important; height:1px!important; overflow:hidden!important; }
.bwp-estimate .bwp-submit { margin:13px 0; padding:13px 30px; }
@media(max-width:767px) { .bwp-estimate{padding:32px 0 45px}.bwp-estimate .bwp-form-panel{padding:19px 16px}.bwp-estimate .bwp-service-grid,.bwp-estimate .bwp-fields-grid,.bwp-estimate .bwp-check-grid{grid-template-columns:1fr}.bwp-estimate .bwp-form-panel h3{font-size:20px} }
