/* Scoped estimate-request form. The rest of the website keeps its own styling. */
.preview-estimate{--form-ink:#163d32;--form-muted:#52665e;--form-line:#d9e2dc;padding:clamp(22px,4vw,46px);background:#fff;color:var(--form-ink);border:1px solid var(--form-line);border-radius:20px;box-shadow:0 16px 48px #173d3208;font-family:Arial,sans-serif;font-size:16px;line-height:1.5}
.preview-estimate *{box-sizing:border-box;min-width:0}
.preview-estimate [hidden]{display:none!important}
.estimate-intro{padding-bottom:22px;border-bottom:1px solid var(--form-line)}
.estimate-eyebrow{font-size:11px;font-weight:700;letter-spacing:.16em;color:#49674f;margin:0 0 12px}
.estimate-intro h3{font:700 clamp(23px,3.3vw,32px)/1.2 Arial,sans-serif;letter-spacing:-.025em;margin:0 0 12px;text-transform:none}
.estimate-intro>p:not(.estimate-eyebrow){margin:0;max-width:58ch;color:var(--form-muted);font-size:15px;line-height:1.65}
.estimate-intro .estimate-required{margin-top:12px!important;font-size:12px!important}
.estimate-mode{margin:18px 0 0;font-size:13px;color:var(--form-muted);line-height:1.6}
.estimate-section{min-width:0;border:0;border-bottom:1px solid var(--form-line);margin:30px 0 0;padding:0 0 28px}
.estimate-section legend{display:flex;align-items:center;flex-wrap:wrap;gap:10px;width:100%;padding:0;margin:0 0 20px;font-size:17px;font-weight:700;line-height:1.4}
.estimate-section legend>span[aria-hidden]{display:inline-flex;align-items:center;justify-content:center;width:29px;height:29px;border-radius:50%;background:#edf3e9;color:#426447;font-size:11px;letter-spacing:.04em}
.estimate-help{font-size:13px;line-height:1.6;color:var(--form-muted);margin:-8px 0 18px}
.preview-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.preview-form-grid label{display:flex;flex-wrap:wrap;align-content:start;align-items:baseline;column-gap:7px;row-gap:8px;font-size:13px;font-weight:700;line-height:1.5}
.preview-form-grid input,.preview-form-grid select,.preview-form-grid textarea{display:block;flex-basis:100%;width:100%;min-height:48px;padding:12px 14px;border:1px solid #aabcb2;background:#fff;border-radius:8px;font:400 16px/1.5 Arial,sans-serif;color:var(--form-ink);transition:border-color .15s,box-shadow .15s}
.preview-form-grid textarea{resize:vertical;min-height:145px}
.preview-form-grid input::placeholder,.preview-form-grid textarea::placeholder{color:#697970;opacity:1}
.preview-form-grid :is(input,select,textarea):hover{border-color:#6c907b}
.preview-estimate :is(input,select,textarea,button,a):focus-visible{outline:3px solid #417a5e;outline-offset:3px}
.preview-full{grid-column:1/-1}
.estimate-address-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}
.estimate-optional{font-size:12px;font-weight:400;color:var(--form-muted)}
.estimate-upload{display:flex;flex-direction:column;gap:12px;padding:22px;border:1px dashed #8fa695;background:#f7faf5;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer}
.estimate-upload input{display:block;max-width:100%;width:100%;font:400 14px/1.5 Arial,sans-serif;color:var(--form-muted)}
.estimate-upload input::file-selector-button{margin:0 12px 8px 0;padding:10px 14px;border:1px solid #aabcb2;border-radius:6px;background:white;color:var(--form-ink);font:700 13px/1.4 Arial,sans-serif;cursor:pointer}
.estimate-upload small{font-size:12px;font-weight:400;color:var(--form-muted);line-height:1.6}
.estimate-photo-status{font-size:13px;line-height:1.6;color:var(--form-muted);overflow-wrap:anywhere;margin:12px 0 0}
.estimate-photo-status:empty{display:none}
.sms-opt-in{margin:28px 0;padding:18px;border:1px solid var(--form-line);border-radius:10px;background:#f8faf7;min-width:0}
.sms-opt-in legend{padding:0 6px;font-size:14px;font-weight:700}
.sms-choice{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:13px;line-height:1.7}
.sms-choice input{flex:0 0 22px;width:22px;height:22px;margin:3px 0 0;accent-color:#174a37}
#sms-disclosures{margin:12px 0 0 34px;font-size:12px;line-height:1.7;color:var(--form-muted)}
#sms-disclosures p+p{margin-top:10px}
.preview-estimate a{color:#174a37;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.sms-new-tab{font-size:11px}
.estimate-submit{display:flex;flex-direction:column;align-items:stretch;gap:20px}
.estimate-submit p{font-size:12px;color:var(--form-muted);line-height:1.7;margin:0}
.preview-estimate button{min-height:52px;padding:15px 24px;border:0;border-radius:8px;background:#174a37;color:#fff;font:700 15px/1.4 Arial,sans-serif;cursor:pointer;transition:background .15s}
.preview-estimate button:hover{background:#256348}
.preview-estimate button:disabled{cursor:default;opacity:.7}
.preview-estimate [data-nico-new-request]{margin-top:16px}
#preview-form-result,#nico-request-result,.preview-note{margin:20px 0 0;padding:16px;border:1px solid #b5c8b1;border-radius:8px;background:#edf5e8;font-size:14px;line-height:1.6;overflow-wrap:anywhere}
.estimate-direct-contact{margin-top:28px;padding-top:24px;border-top:1px solid var(--form-line);font-size:13px;line-height:1.7;color:var(--form-muted)}
.estimate-direct-contact p{margin:0 0 10px}
.estimate-direct-contact strong{color:var(--form-ink)}
.estimate-direct-contact>div{display:flex;flex-wrap:wrap;gap:8px 24px}
@media(max-width:600px){.preview-estimate{padding:22px 18px;border-radius:14px}.preview-form-grid{grid-template-columns:1fr;gap:18px}.estimate-address-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.estimate-city{grid-column:1/-1}.estimate-section legend{font-size:16px}.estimate-upload{padding:16px}.sms-opt-in{padding:14px}#sms-disclosures{margin-left:0}.estimate-direct-contact>div{flex-direction:column;gap:10px}}
