.efp-estimator{max-width:940px;margin:32px auto;padding:0 16px;scroll-margin-top:24px}.efp-estimator__card{background:#fff;border:1px solid #dfe5e1;border-radius:16px;box-shadow:0 10px 30px rgb(0 0 0 / .07);padding:30px}.efp-estimator__header{margin-bottom:24px;text-align:center}.efp-estimator__header h2{margin:0 0 10px}.efp-estimator__progress{display:flex;gap:14px;justify-content:center;margin-bottom:28px}.efp-estimator__progress span{background:#e8ece9;border-radius:50%;display:grid;font-weight:800;height:36px;place-items:center;width:36px}.efp-estimator__progress span.is-active{background:#1f7a3f;color:#fff}.efp-estimator__step{display:none}.efp-estimator__step.is-active{display:block}.efp-estimator__question{border:1px solid #d9e1db;border-radius:10px;margin-bottom:16px;padding:16px}.efp-estimator__question legend{font-weight:800;padding:0 6px}.efp-estimator__choices label{align-items:center;display:flex;gap:10px;margin:10px 0;width:100%}.efp-estimator__choices input[type="radio"],.efp-estimator__choices input[type="checkbox"]{flex:0 0 auto;margin:0;padding:0;width:auto}.efp-estimator__choices .efp-option-label{display:block;flex:1 1 auto;font-weight:400;margin:0;min-width:0}.efp-estimator__choices .efp-option-visible-price{display:block;flex:0 0 auto;font-weight:700;margin:0 0 0 auto;padding-left:12px;white-space:nowrap}.efp-estimator input,.efp-estimator select,.efp-estimator textarea{background:#fff;border:1px solid #bcc7c0;border-radius:8px;box-sizing:border-box;font:inherit;padding:12px;width:100%}.efp-work-description-field{box-sizing:border-box;display:block;margin:22px 0;max-width:none;width:100%}.efp-estimator textarea.efp-work-description{box-sizing:border-box;display:block;min-height:240px;resize:vertical;width:100%}.efp-estimator .efp-field-help{color:#555;display:block;font-size:.92em;line-height:1.45;margin-top:8px}.efp-estimator__grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.efp-estimator label span{display:block;font-weight:700;margin-bottom:6px}.efp-estimator__result{background:#f1f8f3;border:1px solid #cfe0d4;border-radius:12px;margin:20px 0;padding:22px;text-align:center}.efp-estimator__result p{margin:0 0 8px}.efp-estimator__price{display:block;font-size:2rem;margin:6px 0 12px}.efp-estimator__navigation{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}.efp-button{border:0;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:800;padding:13px 22px}.efp-button--primary{background:#1f7a3f;color:#fff}.efp-button--secondary{background:#e8ece9;color:#222}.efp-estimator__message{font-weight:800}.efp-upload-progress{background:#f1f8f3;border:1px solid #9bc8aa;border-radius:10px;margin-top:16px;padding:16px}.efp-upload-progress strong,.efp-upload-progress small{display:block}.efp-upload-progress progress{height:18px;margin:12px 10px 8px 0;max-width:520px;vertical-align:middle;width:calc(100% - 65px)}.efp-upload-progress [data-efp-upload-percent]{font-weight:800}.efp-upload-progress small{margin-top:6px}.efp-upload-progress--error{background:#fff2f2;border-color:#d63638;color:#8a2424}.efp-request-mode{background:#f7faf8;border:1px solid #d9e1db;border-radius:12px;margin-bottom:22px;padding:20px;text-align:center}.efp-request-mode__choice{box-sizing:border-box;line-height:1.35;margin:6px;max-width:calc(100% - 12px);overflow-wrap:anywhere;white-space:normal!important;word-break:normal}.efp-request-mode__choice.is-selected{box-shadow:0 0 0 3px #9bc8aa}.efp-request-mode--error{border:2px solid #d63638}.efp-request-mode--error::after{color:#8a2424;content:'Please choose one option before continuing.';display:block;font-weight:700;margin-top:12px}.efp-photo-quote-intro{background:#f1f8f3;border:1px solid #cfe0d4;border-radius:12px;padding:20px}@media (max-width:680px){.efp-request-mode{padding:16px 12px}.efp-request-mode__choice{display:block;margin:10px 0;max-width:100%;width:100%}.efp-estimator__card{padding:20px}.efp-estimator__grid{grid-template-columns:1fr}.efp-button{min-height:48px}.efp-estimator__navigation{background:#fff;bottom:10px;padding:10px 0;position:sticky}}.efp-estimator__upload{border:2px dashed #bdc9c0;border-radius:10px;display:block;margin-bottom:20px;padding:20px}.efp-estimator__upload small{display:block;margin-top:8px}.efp-estimator__question[hidden]{display:none!important}.efp-question-counter{color:#50575e;font-weight:700;margin:0 0 14px;text-align:center}.efp-question-navigation{display:flex;gap:12px;justify-content:space-between;margin-top:20px}.efp-estimator[data-question-layout="one_at_a_time"] .efp-estimator__question.is-question-hidden-by-layout{display:none}.efp-estimator[data-question-layout="one_at_a_time"] .efp-estimator__question.is-current-question{display:block}@media (max-width:680px){.efp-question-navigation{flex-direction:column-reverse}.efp-question-navigation .efp-button{width:100%}}.efp-estimator__question--error{background:#ffffff!important;border:2px solid #d63638!important;border-radius:10px!important;box-shadow:none!important;padding:16px!important}.efp-estimator__question--error legend{color:#1d2327!important;font-weight:700!important}.efp-estimator__question--error label{color:#1d2327!important;font-weight:500!important}.efp-question-error-message{align-items:flex-start;background:#fff2f2;border-left:5px solid #d63638;border-radius:6px;color:#8a2424;display:flex;font-size:16px;font-weight:700;gap:8px;line-height:1.45;margin:14px 0 0;padding:12px 14px}.efp-question-error-message__icon{color:#d63638;font-size:20px;line-height:1.2}.efp-question-error-message__text{flex:1}.efp-estimator__question input[type="radio"],.efp-estimator__question input[type="checkbox"]{accent-color:#2271b1;opacity:1!important;filter:none!important;outline:none!important}.efp-estimator__question--error .efp-estimator__choices{background:transparent!important;border:0!important;padding:0!important}.efp-estimator__question--error .efp-estimator__choices label{background:transparent!important;border:0!important;border-radius:0!important;display:block;margin:7px 0;padding:4px 0}.efp-estimator__question.is-question-hidden-by-layout{display:none!important}.efp-estimator__question.is-current-question{display:block!important}.efp-estimator__step:last-of-type.is-active~.efp-estimator__navigation [data-next]{display:none!important}.efp-estimator button[type="submit"].is-processing{align-items:center;cursor:wait!important;display:inline-flex;gap:10px;justify-content:center;opacity:.9}.efp-submit-spinner{animation:efp-submit-spin 0.8s linear infinite;border:3px solid rgb(255 255 255 / .45);border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}.efp-estimator__message--processing{background:#eef6ff;border:2px solid #2271b1;border-radius:8px;color:#0a3d66;font-weight:700;margin-top:12px;padding:12px 14px}.efp-estimator__message--success{background:#edfaef;border:2px solid #218739;border-radius:8px;color:#155724;font-weight:700;margin-top:12px;padding:12px 14px}.efp-estimator__message--error{background:#fff2f2;border:2px solid #d63638;border-radius:8px;color:#8a2424;font-weight:700;margin-top:12px;padding:12px 14px}@keyframes efp-submit-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.efp-submit-spinner{animation:none}}.efp-success-card{text-align:center;background:#f4fff6;border:2px solid #2e9b45;border-radius:12px;padding:24px}.efp-success-icon{font-size:48px;color:#2e9b45;font-weight:700}.efp-close-popup-button{margin-top:18px;padding:14px 28px;font-size:18px;font-weight:700;border:none;border-radius:8px;background:#2271b1;color:#fff;cursor:pointer}.efp-close-popup-button:hover{filter:brightness(.95)}.efp-estimator__navigation [data-next][aria-hidden="true"]{display:none!important}.efp-contact-field--error{background:#fffafa!important;border:2px solid #d63638!important;box-shadow:0 0 0 3px rgb(214 54 56 / .12)!important}.efp-contact-field-error{background:#fff2f2;border-left:5px solid #d63638;border-radius:6px;color:#8a2424;font-size:15px;font-weight:700;line-height:1.4;margin-top:8px;padding:10px 12px}.efp-photo-selection{background:#f6f7f7;border:1px solid #dcdcde;border-radius:8px;margin-top:10px;padding:10px}.efp-photo-selection__count{display:block;margin-bottom:8px}.efp-photo-selection__list{display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr));list-style:none;margin:0;padding:0}.efp-photo-selection__item{background:#fff;border:1px solid #d9e1db;border-radius:10px;overflow:hidden}.efp-photo-selection__preview{aspect-ratio:4 / 3;background:#e8ece9;display:block;height:auto;min-height:150px;object-fit:cover;opacity:0;transition:opacity 0.15s ease;width:100%}.efp-photo-selection__preview.is-loaded{opacity:1}.efp-photo-selection__preview.has-error{display:none}.efp-photo-selection__details{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:10px}.efp-photo-selection__name{font-size:13px;min-width:0;overflow-wrap:anywhere}.efp-photo-selection__remove{background:#fff;border:1px solid #b32d2e;border-radius:6px;color:#b32d2e;cursor:pointer;flex:0 0 auto;font-weight:700;padding:8px 10px}@media (max-width:680px){.efp-photo-selection__list{grid-template-columns:1fr}.efp-photo-selection__remove{min-height:44px}}.efp-photo-upload,.efp-estimator__photos,.efp-photo-field,.efp-estimator__field:has(input[name="job_photos[]"]){border:2px solid #1f7a3f;border-radius:14px;padding:16px;background:#f7fff9}.efp-photo-upload__help{display:block;margin-top:8px;font-size:15px;line-height:1.5;font-weight:500}input[name="job_photos[]"]{margin-top:12px}.efp-estimator .efp-photo-upload-highlight{display:block;box-sizing:border-box;width:100%;margin:18px 0 22px;padding:18px;border:3px solid #237a3b;border-radius:12px;background:#f0fff4}.efp-estimator .efp-photo-upload-highlight .efp-photo-upload-title{display:block;margin-bottom:8px;font-size:19px;font-weight:700;line-height:1.3}.efp-estimator .efp-photo-upload-highlight .efp-photo-upload-instructions{display:block;margin-bottom:14px;font-size:16px;font-weight:600;line-height:1.5}.efp-estimator .efp-photo-upload-highlight input[type="file"]{display:block;width:100%;margin:10px 0;padding:10px;border:2px dashed #237a3b;border-radius:8px;background:#fff}.efp-photo-upload-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0 10px}.efp-photo-upload-actions .efp-photo-action{width:100%}.efp-photo-file-input{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}@media (max-width:680px){.efp-photo-upload-actions{grid-template-columns:1fr}}.efp-photo-upload-actions .efp-photo-action[hidden]{display:none!important}.efp-photo-file-input,.efp-photo-file-input[hidden]{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important;position:absolute!important}.efp-photo-file-input::file-selector-button,.efp-photo-file-input::-webkit-file-upload-button{display:none!important;visibility:hidden!important}.efp-photo-upload-highlight input[type="file"]{display:none!important;visibility:hidden!important;width:0!important;height:0!important;min-width:0!important;min-height:0!important;max-width:0!important;max-height:0!important;padding:0!important;margin:0!important;border:0!important;opacity:0!important;position:absolute!important;left:-99999px!important;pointer-events:none!important}.efp-photo-upload-highlight input[type="file"]::file-selector-button,.efp-photo-upload-highlight input[type="file"]::-webkit-file-upload-button{display:none!important}.efp-estimator button[type="submit"][hidden],.efp-estimator button[type="submit"][hidden] *,.efp-estimator button[type="submit"][hidden]::before,.efp-estimator button[type="submit"][hidden]::after{display:none!important}.efp-estimator__message--success .efp-submit-spinner{display:none!important}.efp-estimator__spam-field{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}@media (max-width:680px){.efp-estimator__choices label{align-items:center;gap:10px}.efp-estimator__choices .efp-option-visible-price{padding-left:8px}}.efp-processing-card{align-items:flex-start;background:#eef6ff;border:2px solid #2271b1;border-radius:12px;display:flex;gap:14px;margin-top:16px;padding:16px}.efp-processing-card__spinner{animation:efp-submit-spin 0.8s linear infinite;border:4px solid rgb(34 113 177 / .22);border-radius:50%;border-top-color:#2271b1;flex:0 0 auto;height:24px;margin-top:2px;width:24px}.efp-processing-card__content{display:flex;flex:1 1 auto;flex-direction:column;gap:7px;min-width:0}.efp-processing-card__title{color:#0a4b78;font-size:1.05rem}.efp-processing-card__text{color:#1d2327;font-weight:500;line-height:1.5}.efp-processing-card__warning{color:#8a4b08;font-weight:800;line-height:1.45}.efp-upload-progress small strong{display:inline}@media (max-width:680px){.efp-processing-card{gap:12px;padding:14px}}.efp-processing-card{box-shadow:0 8px 24px rgb(0 0 0 / .08)}.efp-processing-card--preparing{background:#f0f8f2;border-color:#238636}.efp-processing-card--preparing .efp-processing-card__spinner{border-color:rgb(35 134 54 / .22);border-top-color:#238636}.efp-processing-card--preparing .efp-processing-card__title{color:#17652a;font-size:1.12rem}.efp-processing-card__success-line{color:#17652a;font-weight:800;line-height:1.45}.efp-processing-card__warning{background:#fff7e6;border:1px solid #dba617;border-radius:8px;display:block;margin-top:4px;padding:9px 11px}.efp-upload-complete-check{color:#238636;font-weight:900}.efp-upload-progress{border-radius:10px;padding:10px 0}.efp-upload-progress progress{height:14px;width:100%}