.roof-tool-page{background:#fff;padding:28px 0 50px;font-family:Arial,sans-serif}.roof-tool-page h1{text-align:center;font-size:2.4rem;margin:10px 20px 30px;color:#c00;font-weight:800}.roof-tool-card,.roof-type-section,.estimate-submit,.estimate-result{width:1180px;max-width:calc(100% - 40px);margin:0 auto 28px;border-radius:10px}.roof-tool-card{border:2px solid #051f3d;overflow:hidden;background:#fff}.tool-topbar,.edit-topbar{background:#051f3d;color:#fff;min-height:78px;padding:18px 24px;display:flex;align-items:center;justify-content:space-between;font-size:1.25rem}.tool-topbar button,.edit-topbar button{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;border-radius:6px;padding:9px 13px;font-size:1.2rem}.progress{height:8px;background:rgba(255,255,255,.35);margin-top:10px;width:100%;min-width:980px;border-radius:4px}.progress span{display:block;height:100%;width:25%;background:#fff;border-radius:4px}.step-labels{display:grid;grid-template-columns:repeat(4,1fr);background:#051f3d;color:#fff;padding:0 24px 22px;font-weight:600}.address-form{padding:18px 24px 0;background:rgba(255,255,255,.94);position:relative;z-index:2}.field-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px}.field-row input,.search-row input,.estimate-fields input,.estimate-fields textarea{width:100%;box-sizing:border-box;border:0;background:#f4f4f4;color:#333;padding:18px;border-radius:6px;font-size:1.05rem}.search-row{display:flex}.search-row input{border-radius:6px 0 0 6px;font-size:1.4rem}.search-row button{width:82px;border:0;background:#051f3d;color:#fff;font-size:1.8rem;border-radius:0 6px 6px 0;cursor:pointer}.map-preview{height:410px;background-image:linear-gradient(rgba(255,255,255,.10),rgba(47,102,232,.18)),url('images/roof-estimate-map-bg.png');background-size:cover;background-position:center}.hidden{display:none!important}.instruction{text-align:center;font-size:1.25rem;color:#445063;margin:22px;font-weight:700}.outline-map{position:relative;height:455px;background-image:url('images/roof-estimate-map-bg.png');background-size:cover;background-position:center;overflow:hidden}.roof-outline{position:absolute;left:46%;top:33%;width:255px;height:130px;background:rgba(47,102,232,.35);border:4px solid #051f3d;box-shadow:0 0 0 2px rgba(255,255,255,.8)}.dot{position:absolute;width:22px;height:22px;background:#051f3d;border:3px solid #fff;border-radius:50%}.d1{left:-14px;top:-14px}.d2{right:-14px;top:-14px}.d3{right:-14px;bottom:-14px}.d4{left:-14px;bottom:-14px}.d5{left:48%;top:-14px;background:#aaa}.d6{left:48%;bottom:-14px;background:#aaa}.zoom-controls{position:absolute;right:24px;top:24px;display:grid;gap:8px}.zoom-controls button{width:52px;height:52px;background:#051f3d;color:#fff;border:0;border-radius:8px;font-size:2rem}.outline-bottom{display:flex;justify-content:space-between;padding:22px;background:#fff}.outline-bottom button,.estimate-fields button{background:#051f3d;color:#fff;border:0;border-radius:8px;padding:14px 28px;font-weight:800;font-size:1.05rem}.roof-type-section,.estimate-submit,.estimate-result{background:#fff;padding:30px;box-shadow:0 8px 22px rgba(0,0,0,.10)}.roof-type-section h2,.estimate-submit h2,.estimate-result h2{text-align:center;margin-top:0;color:#051f3d}.roof-type-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.roof-type-card{border:0;background:transparent;padding:0;cursor:pointer}.roof-type-card img{display:block;width:100%;height:auto}.roof-type-card.selected img{outline:5px solid #f2b705;border-radius:34px}.estimate-fields{display:grid;gap:12px}.estimate-result{border-top:8px solid #f2b705}#estimateResult{background:#051f3d;color:#fff;padding:22px;border-left:8px solid #f2b705;font-size:1.15rem;line-height:1.7}#messagePreview{width:100%;min-height:180px;box-sizing:border-box;margin-top:18px;padding:14px}.estimate-actions{display:flex;gap:14px;margin-top:16px}.estimate-actions a{flex:1;text-align:center;padding:14px;color:#fff!important;text-decoration:none!important;font-weight:800;border-radius:6px;background:#051f3d}.estimate-actions a:last-child{background:#051f3d}.fine-print{color:#555;font-size:.92rem}@media(max-width:800px){.field-row,.roof-type-grid{grid-template-columns:1fr}.progress{min-width:0}.roof-outline{left:28%;width:220px}.estimate-actions{flex-direction:column}}.google-map-box{position:relative !important;min-height:410px !important;height:410px !important;background:#e6edf4 !important;background-image:none !important}#googleRoofMap.google-map-box{height:455px !important}.map-api-message{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;color:#445063;font-weight:700;padding:20px;background:#f5f7fb}.pac-container{z-index:100000 !important}.map-help-overlay{position:absolute;left:18px;top:18px;background:rgba(255,255,255,.92);color:#051f3d;padding:10px 14px;border-radius:6px;font-weight:700;z-index:5;box-shadow:0 4px 14px rgba(0,0,0,.16)}.no-api-map-box{position:relative !important;overflow:hidden !important;background:#e8eef5 !important}.no-api-map-box iframe{width:100% !important;height:100% !important;min-height:inherit !important;border:0 !important;display:block !important}#addressMapFrameWrap{height:410px !important}#roofMapFrameWrap{height:455px !important}#openGoogleMapsSearch{display:inline-block;margin-top:12px;color:#051f3d !important;font-weight:800;text-decoration:underline !important}.roof-outline-static{position:absolute;left:46%;top:33%;width:255px;height:130px;background:rgba(47,102,232,.35);border:4px solid #051f3d;box-shadow:0 0 0 2px rgba(255,255,255,.8);z-index:4;pointer-events:none}.roof-outline-static,.roof-outline{display:none !important}.adjustable-roof-overlay{position:absolute !important;inset:0 !important;width:100% !important;height:100% !important;z-index:4 !important;pointer-events:none !important}#roofPolygonShape{fill:rgba(47,102,232,0.35) !important;stroke:#051f3d !important;stroke-width:5 !important;vector-effect:non-scaling-stroke !important}.roof-drag-point{fill:#051f3d !important;stroke:#ffffff !important;stroke-width:4 !important;cursor:move !important;pointer-events:all !important;filter:drop-shadow(0 2px 4px rgba(0,0,0,.35))}.roof-drag-point:nth-of-type(3),.roof-drag-point:nth-of-type(6){fill:#9aa4b2 !important}#roofMapFrameWrap iframe{pointer-events:auto !important}.no-api-suggestion-note{margin:10px 0 0 !important;color:#445063 !important;font-size:14px !important;font-weight:600 !important}.tool-topbar,.edit-topbar,.search-row button,.outline-bottom button,.estimate-fields button{background:#051f3d !important;color:#fff !important}.roof-tool-card{border-color:#051f3d !important}.progress span,.estimate-result,.roof-type-card.selected img{border-color:#f2b705 !important}#roofPolygonShape{stroke:#f2b705 !important;fill:rgba(5,31,61,0.35) !important}.roof-drag-point{fill:#f2b705 !important;stroke:#051f3d !important}.map-help-overlay{color:#051f3d !important;border-left:6px solid #f2b705 !important}.estimate-actions a{background:#051f3d !important}.estimate-actions a:first-child{background:#1877f2 !important}#estimateResult{background:#051f3d !important;border-left-color:#f2b705 !important}.selected-roof-type-preview{margin-top:26px !important;text-align:center !important}.selected-roof-type-preview h3{color:#051f3d !important;font-size:1.5rem !important;margin:0 0 14px !important;font-weight:800 !important}.selected-roof-preview-card{max-width:760px !important;margin:0 auto !important;background:#ffffff !important;border:4px solid #f2b705 !important;border-radius:24px !important;overflow:hidden !important;box-shadow:0 8px 20px rgba(0,0,0,.10) !important}.selected-roof-preview-card img{width:100% !important;height:auto !important;display:block !important}.lead-send-note{background:#fff8df !important;border-left:6px solid #f2b705 !important;color:#051f3d !important;padding:12px 14px !important;font-weight:700 !important;margin:18px 0 0 !important}.lead-capture-status{padding:13px 16px !important;margin-bottom:18px !important;border-radius:8px !important;background:#fff8df !important;color:#051f3d !important;border-left:6px solid #f2b705 !important;font-weight:800 !important}.lead-capture-status.success{background:#e9f8ed !important;border-left-color:#1f8f43 !important}.lead-capture-status.error{background:#fff0f0 !important;border-left-color:#c62828 !important}.tool-topbar{justify-content:flex-start !important}.tool-topbar>div{width:100% !important}#snapRoofOutline{background:#f2b705 !important;color:#051f3d !important}.outline-bottom{gap:12px !important;align-items:center !important}.outline-bottom button{flex:1 !important}@media (max-width:800px){.outline-bottom{flex-direction:column !important}.outline-bottom button{width:100% !important}}.adjustable-roof-overlay,#adjustableRoofOverlay,.roof-outline-static,.roof-outline,.roof-drag-point,.dot{display:none !important}.yellow-roof-pin{position:absolute !important;left:50% !important;top:46% !important;width:46px !important;height:62px !important;transform:translate(-50%,-100%) !important;z-index:6 !important;cursor:grab !important;touch-action:none !important;filter:drop-shadow(0 5px 8px rgba(0,0,0,.35)) !important}.yellow-roof-pin.dragging{cursor:grabbing !important}.yellow-roof-pin .pin-head{position:absolute !important;left:4px !important;top:0 !important;width:38px !important;height:38px !important;background:#f2b705 !important;border:4px solid #051f3d !important;border-radius:50% 50% 50% 0 !important;transform:rotate(-45deg) !important;box-sizing:border-box !important}.yellow-roof-pin .pin-head:after{content:"" !important;position:absolute !important;width:12px !important;height:12px !important;background:#051f3d !important;border-radius:50% !important;left:9px !important;top:9px !important}.yellow-roof-pin .pin-point{display:none !important}#snapRoofOutline{background:#f2b705 !important;color:#051f3d !important}#snapRoofOutline{display:none !important}.outline-bottom{justify-content:space-between !important;gap:18px !important}.outline-bottom button{flex:0 1 auto !important;min-width:160px !important}.yellow-roof-pin{left:50% !important;top:50% !important}#openMessenger{background:#1877f2 !important;color:#ffffff !important}.roof-tool-card{border-color:#f2b705 !important}.tool-topbar,.step-labels,.search-row button{background:#f2b705 !important;color:#051f3d !important}.tool-topbar strong,.step-labels span{color:#051f3d !important}.progress{background:rgba(5,31,61,.28) !important}.progress span{background:#051f3d !important}.search-row button{font-weight:900 !important;color:#051f3d !important}.search-row button svg,.search-row button i{color:#051f3d !important;fill:#051f3d !important}.roof-type-card img{background:#f2b705 !important;border-radius:34px !important}.roof-type-card.selected img{outline:6px solid #051f3d !important}#estimateResult{background:#ffffff !important;color:#051f3d !important;border-left:8px solid #f2b705 !important;text-align:center !important}.estimate-price-large{display:block !important;font-size:46px !important;line-height:1.1 !important;font-weight:900 !important;color:#c62828 !important;margin:14px 0 8px !important}.estimate-result h2{font-size:2rem !important;color:#051f3d !important}.no-api-suggestion-note,#addressSuggestions{display:none !important}@media(max-width:700px){.estimate-price-large{font-size:32px !important}}#stepAddress.roof-tool-card{border-color:#051f3d !important}#stepAddress .tool-topbar,#stepAddress .step-labels{background:#051f3d !important;color:#ffffff !important}#stepAddress .tool-topbar strong,#stepAddress .step-labels span{color:#ffffff !important}#stepAddress .progress{background:rgba(255,255,255,.38) !important}#stepAddress .progress span{background:#ffffff !important}#stepAddress .search-row button{background:#051f3d !important;color:#ffffff !important}#stepAddress .search-row button svg,#stepAddress .search-row button i{color:#ffffff !important;fill:#ffffff !important}#stepAddress .address-form{padding-bottom:20px !important}#stepAddress .first-page-map-spaced,#stepAddress .map-preview,#stepAddress #addressMapFrameWrap{margin-top:20px !important;border-top:6px solid #ffffff !important}#stepAddress .map-preview,#stepAddress .google-map-box,#stepAddress #addressMapFrameWrap,#stepAddress #googleAddressMap{margin-top:20px !important;border-top:6px solid #ffffff !important}#stepAddress iframe{display:block !important}.map-placeholder{height:410px !important;display:flex !important;align-items:center !important;justify-content:center !important;text-align:center !important;color:#051f3d !important;font-weight:800 !important;background:#f4f6f8 !important;padding:20px !important}#addressMapFrameWrap,#googleAddressMap{margin-top:20px !important}#addressMapFrame,#roofMapFrame{width:100% !important;height:100% !important;min-height:410px !important;border:0 !important}#roofMapFrame{min-height:455px !important}.required-field-error{border:3px solid #c62828 !important;background:#fff0f0 !important;color:#051f3d !important}.required-field-error::placeholder{color:#c62828 !important;font-weight:800 !important}.required-error-message{color:#c62828 !important;font-weight:800 !important;margin:10px 0 0 !important;font-size:14px !important}#scheduleTime{position:relative !important;color:#051f3d !important;font-weight:700 !important}#scheduleTime::-webkit-calendar-picker-indicator{transform:scale(1.65) !important;margin-right:10px !important;cursor:pointer !important;opacity:1 !important;filter:invert(70%) sepia(94%) saturate(874%) hue-rotate(2deg) brightness(101%) contrast(94%) !important}#scheduleTime::-webkit-inner-spin-button,#scheduleTime::-webkit-clear-button{display:none !important}.roof-type-grid{display:grid !important;grid-template-columns:1fr !important;gap:18px !important;max-width:980px !important;margin:0 auto !important}.roof-type-card{width:100% !important;display:block !important;border:0 !important;background:transparent !important;padding:0 !important;cursor:pointer !important}.roof-type-card img{width:100% !important;height:auto !important;display:block !important;border-radius:28px !important;object-fit:cover !important;box-shadow:0 8px 22px rgba(0,0,0,.14) !important}.roof-type-card.selected img{outline:6px solid #051f3d !important;box-shadow:0 10px 28px rgba(5,31,61,.30) !important}@media(max-width:700px){.roof-type-grid{max-width:100% !important}.roof-type-card img{border-radius:18px !important}}.roof-type-card img{background:transparent !important}.roof-type-card{background:transparent !important}.roof-type-grid{max-width:680px !important;margin-left:auto !important;margin-right:auto !important}.roof-type-card{max-width:680px !important;margin-left:auto !important;margin-right:auto !important}.roof-type-card img{width:100% !important;max-width:680px !important;margin-left:auto !important;margin-right:auto !important}@media(max-width:760px){.roof-type-grid,.roof-type-card,.roof-type-card img{max-width:100% !important}}#scheduleTime::-webkit-calendar-picker-indicator{transform:scale(1.65) !important;margin-right:10px !important;cursor:pointer !important;opacity:1 !important;filter:invert(12%) sepia(39%) saturate(2020%) hue-rotate(178deg) brightness(90%) contrast(98%) !important}.call-time-picker{display:grid !important;grid-template-columns:1fr 1fr !important;gap:10px 14px !important;background:#f6f8fb !important;border:2px solid rgba(5,31,61,.10) !important;border-radius:10px !important;padding:16px !important}.call-time-picker label{color:#051f3d !important;font-weight:900 !important;font-size:15px !important;margin-bottom:-4px !important}.call-time-picker select{width:100% !important;box-sizing:border-box !important;border:2px solid #051f3d !important;background:#ffffff !important;color:#051f3d !important;padding:16px !important;border-radius:8px !important;font-size:1.05rem !important;font-weight:800 !important;appearance:auto !important}.call-time-picker select:focus{outline:4px solid rgba(242,183,5,.35) !important}@media(max-width:700px){.call-time-picker{grid-template-columns:1fr !important}}#stepRoofType.roof-type-section{max-width:760px !important}#stepRoofType .roof-type-grid{max-width:540px !important;width:100% !important;margin-left:auto !important;margin-right:auto !important;grid-template-columns:1fr !important;gap:16px !important}#stepRoofType .roof-type-card{max-width:540px !important;width:100% !important;margin-left:auto !important;margin-right:auto !important}#stepRoofType .roof-type-card img{width:100% !important;max-width:540px !important;height:auto !important;margin-left:auto !important;margin-right:auto !important;display:block !important}@media(max-width:700px){#stepRoofType.roof-type-section,#stepRoofType .roof-type-grid,#stepRoofType .roof-type-card,#stepRoofType .roof-type-card img{max-width:100% !important}}#roofToolForm,#customerAddress{autocomplete:off}.pac-container,.no-api-suggestion-note,#addressSuggestions{display:none !important;visibility:hidden !important}.search-row{display:grid !important;grid-template-columns:1fr 64px !important;align-items:stretch !important;gap:10px !important}#stepAddress .search-row button,.search-row button,#findRoofBtn{background:#f2b705 !important;color:#051f3d !important;border:0 !important;min-height:58px !important;height:100% !important;align-self:stretch !important;display:flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important;font-size:24px !important;padding:0 !important}#customerAddress,#customerName,#customerPhone{min-height:58px !important;box-sizing:border-box !important}@media(max-width:700px){.search-row{grid-template-columns:1fr 58px !important}}#stepRoofType .roof-type-grid{grid-template-columns:repeat(3,1fr) !important;max-width:900px !important;gap:16px !important}#stepRoofType .roof-type-card,#stepRoofType .roof-type-card img{max-width:100% !important}.choice-row{display:grid !important;grid-template-columns:repeat(2,1fr) !important;gap:12px !important;margin-bottom:10px !important}.choice-row label{display:flex !important;align-items:center !important;justify-content:center !important;gap:10px !important;min-height:54px !important;border:2px solid #051f3d !important;border-radius:10px !important;background:#fff !important;color:#051f3d !important;font-weight:900 !important;cursor:pointer !important}.choice-row input{width:auto !important;min-height:auto !important;transform:scale(1.2) !important}.qualify-box{background:#c62828 !important;color:#ffffff !important;text-align:center !important;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif !important;font-size:30px !important;letter-spacing:.5px !important;border-radius:12px !important;padding:18px !important;margin:8px 0 14px !important;box-shadow:0 8px 18px rgba(198,40,40,.25) !important}.impact-price,.estimate-price-large{font-family:Impact,Haettenschweiler,'Arial Black',sans-serif !important;color:#c62828 !important;font-size:58px !important;font-weight:900 !important;letter-spacing:.5px !important;text-transform:uppercase !important}.payment-box{margin:18px auto !important;max-width:720px !important;background:#f6f8fb !important;border:3px solid #f2b705 !important;border-radius:16px !important;padding:18px !important;color:#051f3d !important;box-shadow:0 8px 22px rgba(0,0,0,.12) !important}.payment-box h3{margin:0 0 12px !important;color:#051f3d !important;font-size:1.35rem !important}.payment-box table{width:100% !important;border-collapse:collapse !important;background:#fff !important;border-radius:10px !important;overflow:hidden !important}.payment-box th,.payment-box td{padding:13px 12px !important;border-bottom:1px solid rgba(5,31,61,.14) !important;font-weight:900 !important}.payment-box th{background:#051f3d !important;color:#fff !important}.payment-box p{margin:10px 0 0 !important;font-size:.92rem !important;color:#445063 !important}.call-time-picker{grid-template-columns:1fr !important}@media(max-width:800px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}.choice-row{grid-template-columns:1fr !important}.impact-price,.estimate-price-large{font-size:36px !important}.qualify-box{font-size:24px !important}}#stepRoofType.roof-type-section{max-width:980px !important}#stepRoofType .roof-type-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:18px !important;max-width:900px !important;width:100% !important;margin-left:auto !important;margin-right:auto !important}#stepRoofType .roof-type-card{width:100% !important;max-width:100% !important}#stepRoofType .roof-type-card img{width:100% !important;max-width:100% !important;aspect-ratio:1.45 / 1 !important;height:auto !important;min-height:0 !important;object-fit:cover !important;border-radius:22px !important}@media(max-width:800px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important;max-width:100% !important}}.payment-box-separate{max-width:940px !important}.payment-term-grid{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:14px !important;margin-top:12px !important}.payment-term-card{background:#ffffff !important;border:3px solid #f2b705 !important;border-radius:14px !important;padding:18px 12px !important;text-align:center !important;box-shadow:0 6px 16px rgba(0,0,0,.10) !important}.payment-term-title{background:#051f3d !important;color:#ffffff !important;display:inline-block !important;padding:8px 16px !important;border-radius:999px !important;font-weight:900 !important;margin-bottom:12px !important}.payment-term-price{color:#c62828 !important;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif !important;font-size:30px !important;font-weight:900 !important;letter-spacing:.3px !important}@media(max-width:800px){.payment-term-grid{grid-template-columns:1fr !important}}.roof-tool-page{width:100% !important;max-width:100vw !important;overflow-x:hidden !important;padding-left:0 !important;padding-right:0 !important}.roof-tool-card,.roof-type-section,.estimate-submit,.estimate-result{width:min(1180px,calc(100vw - 32px)) !important;max-width:calc(100vw - 32px) !important}.tool-topbar,.edit-topbar{flex-wrap:wrap !important;gap:12px !important}.tool-topbar>div,.edit-topbar>div{min-width:0 !important}.progress{min-width:0 !important;width:100% !important}.step-labels{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:6px !important;padding-left:16px !important;padding-right:16px !important}.step-labels span{min-width:0 !important;text-align:center !important;overflow-wrap:anywhere !important}.address-form{padding-left:clamp(12px,3vw,24px) !important;padding-right:clamp(12px,3vw,24px) !important}.field-row{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.search-row{grid-template-columns:minmax(0,1fr) 64px !important}#customerAddress,#customerName,#customerPhone,.field-row input,.search-row input,.estimate-fields input,.estimate-fields textarea,.call-time-picker select{font-size:clamp(16px,2vw,20px) !important}#addressMapFrameWrap,#googleAddressMap,.map-preview,.google-map-box,.map-placeholder{height:clamp(300px,52vh,430px) !important;min-height:300px !important}#roofMapFrameWrap,#googleRoofMap,.outline-map{height:clamp(320px,58vh,455px) !important;min-height:320px !important}.yellow-roof-pin{width:clamp(36px,7vw,46px) !important;height:clamp(50px,9vw,62px) !important}.yellow-roof-pin .pin-head{width:clamp(30px,6vw,38px) !important;height:clamp(30px,6vw,38px) !important}.outline-bottom{flex-wrap:wrap !important}.roof-type-section{padding:clamp(16px,3vw,30px) !important}#stepRoofType .roof-type-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:clamp(10px,2vw,18px) !important}#stepRoofType .roof-type-card img{aspect-ratio:1.35 / 1 !important;border-radius:clamp(12px,3vw,22px) !important}.estimate-fields{width:100% !important}.call-time-picker{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.choice-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.estimate-actions{flex-wrap:wrap !important}.payment-box{width:100% !important;max-width:940px !important;overflow:hidden !important}.payment-box table{display:table !important;table-layout:fixed !important}.payment-box th,.payment-box td{overflow-wrap:anywhere !important}.payment-term-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}.payment-term-card{min-width:0 !important}.payment-term-price{font-size:clamp(24px,3.5vw,30px) !important;overflow-wrap:anywhere !important}.impact-price,.estimate-price-large{font-size:clamp(34px,7vw,58px) !important;line-height:1.05 !important;overflow-wrap:anywhere !important}.qualify-box{font-size:clamp(22px,4vw,30px) !important}@media (max-width:900px){.field-row{grid-template-columns:1fr !important}#stepRoofType .roof-type-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}.payment-term-grid{grid-template-columns:1fr !important}.payment-term-card{padding:16px !important}}@media (max-width:640px){.roof-tool-page h1{font-size:clamp(1.7rem,8vw,2.4rem) !important;margin-left:12px !important;margin-right:12px !important}.roof-tool-card,.roof-type-section,.estimate-submit,.estimate-result{width:calc(100vw - 20px) !important;max-width:calc(100vw - 20px) !important}.tool-topbar,.edit-topbar{padding:14px !important;font-size:1rem !important;min-height:auto !important}.step-labels{font-size:12px !important;padding:0 8px 14px !important}.search-row{grid-template-columns:1fr !important;gap:8px !important}.search-row input{border-radius:6px !important}.search-row button,#findRoofBtn{width:100% !important;border-radius:6px !important;min-height:54px !important}#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}#stepRoofType .roof-type-card img{aspect-ratio:1.55 / 1 !important}.choice-row,.call-time-picker{grid-template-columns:1fr !important}.outline-bottom{flex-direction:column !important;padding:14px !important}.outline-bottom button{width:100% !important;min-width:0 !important}.estimate-submit,.estimate-result{padding:18px !important}.estimate-actions{flex-direction:column !important}.payment-box{padding:14px !important}}@media (max-width:380px){.step-labels{grid-template-columns:repeat(2,minmax(0,1fr)) !important;row-gap:4px !important}.payment-term-title{padding:7px 12px !important}}#stepRoofType.roof-type-section{max-width:1040px !important}#stepRoofType .roof-type-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:clamp(12px,2vw,18px) !important;max-width:960px !important;width:100% !important}#stepRoofType .roof-type-card{display:flex !important;flex-direction:column !important;justify-content:space-between !important;align-items:stretch !important;min-width:0 !important;width:100% !important;overflow:hidden !important;background:#ffffff !important;border:3px solid rgba(5,31,61,.14) !important;border-radius:clamp(14px,2vw,22px) !important;box-shadow:0 8px 20px rgba(0,0,0,.12) !important}#stepRoofType .roof-type-card img{display:block !important;width:100% !important;height:clamp(105px,16vw,165px) !important;aspect-ratio:auto !important;object-fit:cover !important;object-position:center center !important;border-radius:0 !important;box-shadow:none !important;flex:1 1 auto !important}#stepRoofType .roof-type-label{display:flex !important;align-items:center !important;justify-content:center !important;min-height:46px !important;padding:8px 10px !important;background:#051f3d !important;color:#ffffff !important;text-align:center !important;font-weight:900 !important;font-size:clamp(13px,1.6vw,17px) !important;line-height:1.12 !important;overflow-wrap:anywhere !important}#stepRoofType .roof-type-card.selected{border-color:#f2b705 !important;box-shadow:0 10px 28px rgba(5,31,61,.28) !important}#stepRoofType .roof-type-card.selected img{outline:none !important}#stepRoofType .roof-type-card.selected .roof-type-label{background:#f2b705 !important;color:#051f3d !important}@media (max-width:900px){#stepRoofType .roof-type-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#stepRoofType .roof-type-card img{height:clamp(120px,28vw,175px) !important}}@media (max-width:560px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}#stepRoofType .roof-type-card img{height:clamp(150px,48vw,220px) !important}#stepRoofType .roof-type-label{font-size:16px !important;min-height:48px !important}}@media (max-width:700px){.mobile-only,.mobile-only-banner,.mobile-phone-only,.side-card.yellow{display:none !important}}#stepRoofType .roof-type-card{position:relative !important;background:#ffffff !important;border-radius:22px !important;overflow:hidden !important;box-shadow:0 10px 26px rgba(5,31,61,.12) !important}#stepRoofType .roof-type-card img{filter:brightness(1.08) saturate(1.08) contrast(1.04) !important;display:block !important}#stepRoofType .roof-type-label{display:flex !important;align-items:center !important;justify-content:center !important;min-height:44px !important;padding:9px 8px !important;background:#ffffff !important;color:#051f3d !important;font-weight:900 !important;font-size:clamp(13px,1.6vw,18px) !important;line-height:1.1 !important;text-align:center !important;overflow-wrap:anywhere !important}#stepRoofType .roof-type-card.selected{outline:5px solid #f2b705 !important;box-shadow:0 12px 30px rgba(242,183,5,.28) !important}#stepRoofType .roof-type-card.selected img{outline:0 !important}@media(max-width:800px){#stepRoofType .roof-type-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#stepRoofType .roof-type-label{min-height:40px !important;font-size:13px !important}}@media(max-width:430px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}}#roofSqft:invalid{border:3px solid #c62828 !important;background:#fff0f0 !important}.call-bar{display:none !important}#stepRoofType .roof-type-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:clamp(14px,2vw,20px) !important}#stepRoofType .roof-type-card{background:#ffffff !important;border:3px solid #f2b705 !important;border-radius:22px !important;overflow:hidden !important;box-shadow:0 10px 26px rgba(5,31,61,.14) !important}#stepRoofType .roof-type-card img{width:100% !important;height:clamp(130px,16vw,180px) !important;object-fit:cover !important;object-position:center center !important;filter:brightness(1.1) saturate(1.12) contrast(1.04) !important}#stepRoofType .roof-type-label{background:#f2b705 !important;color:#051f3d !important;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif !important;font-weight:900 !important;letter-spacing:.7px !important;text-transform:uppercase !important;min-height:52px !important;font-size:clamp(17px,2vw,24px) !important;line-height:1.05 !important;padding:10px 8px !important;text-align:center !important}#stepRoofType .roof-type-card.selected{border-color:#051f3d !important;outline:5px solid #f2b705 !important;box-shadow:0 12px 32px rgba(5,31,61,.26) !important}#stepRoofType .roof-type-card.selected .roof-type-label{background:#051f3d !important;color:#f2b705 !important}@media(max-width:800px){#stepRoofType .roof-type-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}#stepRoofType .roof-type-card img{height:clamp(140px,28vw,190px) !important}}@media(max-width:430px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}#stepRoofType .roof-type-card img{height:clamp(170px,48vw,230px) !important}}#stepRoofType .roof-type-grid{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:clamp(14px,2vw,20px) !important;align-items:stretch !important}#stepRoofType .roof-type-card{display:flex !important;flex-direction:column !important;background:#ffffff !important;border:3px solid #f2b705 !important;border-radius:22px !important;overflow:hidden !important;padding:0 !important;box-shadow:0 10px 26px rgba(5,31,61,.14) !important}#stepRoofType .roof-type-card img{display:block !important;width:100% !important;aspect-ratio:16 / 10 !important;height:auto !important;object-fit:cover !important;object-position:center center !important;filter:brightness(1.08) saturate(1.08) contrast(1.03) !important;border:0 !important;border-radius:0 !important;outline:0 !important}#stepRoofType .roof-type-label{position:static !important;display:flex !important;align-items:center !important;justify-content:center !important;width:100% !important;min-height:clamp(48px,5vw,62px) !important;padding:10px 8px !important;box-sizing:border-box !important;background:#f2b705 !important;color:#051f3d !important;font-family:Impact,Haettenschweiler,'Arial Black',sans-serif !important;font-weight:900 !important;letter-spacing:.7px !important;text-transform:uppercase !important;text-align:center !important;line-height:1.05 !important;font-size:clamp(17px,2vw,24px) !important;overflow-wrap:normal !important;word-break:normal !important}#stepRoofType .roof-type-card.selected{border-color:#051f3d !important;outline:5px solid #f2b705 !important;box-shadow:0 12px 32px rgba(5,31,61,.26) !important}#stepRoofType .roof-type-card.selected .roof-type-label{background:#f2b705 !important;color:#051f3d !important}#stepRoofType .roof-type-card.selected img{outline:0 !important}@media(max-width:850px){#stepRoofType .roof-type-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}@media(max-width:480px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}#stepRoofType .roof-type-label{font-size:22px !important;min-height:56px !important}}#stepRoofType .roof-type-grid{grid-template-columns:repeat(3,1fr) !important;gap:22px !important}#stepRoofType .roof-type-card{overflow:hidden !important;border-radius:22px !important;border:4px solid #f2b705 !important;background:#f2b705 !important;box-shadow:0 8px 20px rgba(0,0,0,.10) !important}#stepRoofType .roof-type-card img{width:100% !important;height:210px !important;aspect-ratio:auto !important;object-fit:cover !important;object-position:center center !important;border-radius:18px 18px 0 0 !important;display:block !important;background:#f7f7f7 !important}#stepRoofType .roof-type-label{display:flex !important;align-items:center !important;justify-content:center !important;min-height:68px !important;padding:10px 12px !important;background:#f2b705 !important;color:#051f3d !important;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif !important;font-size:clamp(1.15rem,2vw,1.75rem) !important;letter-spacing:.04em !important;text-align:center !important;line-height:1 !important}#stepRoofType .roof-type-card.selected{outline:5px solid #051f3d !important;outline-offset:2px !important}#stepRoofType .roof-type-card.selected img{outline:none !important}@media(max-width:900px){#stepRoofType .roof-type-grid{grid-template-columns:repeat(2,1fr) !important}#stepRoofType .roof-type-card img{height:190px !important}}@media(max-width:560px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}#stepRoofType .roof-type-card img{height:210px !important}}.logo-image-only-home-link{display:contents !important}#stepRoofType .roof-type-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:22px !important}#stepRoofType .roof-type-card{overflow:hidden !important;border-radius:22px !important;border:4px solid #f2b705 !important;background:#f2b705 !important;box-shadow:0 8px 20px rgba(0,0,0,.10) !important}#stepRoofType .roof-type-card img{width:100% !important;height:210px !important;object-fit:cover !important;object-position:center center !important;border-radius:18px 18px 0 0 !important;display:block !important;background:#fff !important}#stepRoofType .roof-type-label{display:flex !important;align-items:center !important;justify-content:center !important;min-height:68px !important;padding:10px 12px !important;background:#f2b705 !important;color:#051f3d !important;font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif !important;font-size:clamp(1rem,1.65vw,1.55rem) !important;letter-spacing:.035em !important;text-align:center !important;line-height:1.05 !important}#stepRoofType .roof-type-card.selected{outline:5px solid #051f3d !important;outline-offset:2px !important}#stepRoofType .roof-type-card.selected img{outline:none !important}@media(max-width:900px){#stepRoofType .roof-type-grid{grid-template-columns:repeat(2,1fr) !important}#stepRoofType .roof-type-card img{height:190px !important}}@media(max-width:560px){#stepRoofType .roof-type-grid{grid-template-columns:1fr !important}#stepRoofType .roof-type-card img{height:210px !important}}


/* Final roof estimate tool UI fixes */
#stepRoofType .roof-type-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 24px !important;
  align-items: stretch !important;
}

#stepRoofType .roof-type-card {
  background: #ffffff !important;
  border: 3px solid #f2b705 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(5,31,61,.12) !important;
  padding: 0 !important;
}

#stepRoofType .roof-type-card img {
  width: 100% !important;
  height: 190px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border-radius: 0 !important;
  outline: none !important;
}

#stepRoofType .roof-type-label {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 72px !important;
  background: #f2b705 !important;
  color: #051f3d !important;
  -webkit-text-fill-color: #051f3d !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-size: clamp(22px, 2.6vw, 34px) !important;
  font-weight: 900 !important;
  letter-spacing: .5px !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  padding: 12px !important;
}

#stepRoofType .roof-type-card.selected {
  border-color: #051f3d !important;
  box-shadow: 0 12px 30px rgba(5,31,61,.25) !important;
}

#stepRoofType .roof-type-card.selected img {
  outline: none !important;
}

#stepRoofType .roof-type-card.selected .roof-type-label {
  background: #f2b705 !important;
  color: #051f3d !important;
  -webkit-text-fill-color: #051f3d !important;
}

.selected-roof-type-preview,
.selected-roof-type-preview h3,
.selected-roof-text-only h3,
#selectedRoofTypeTitle {
  color: #d60000 !important;
  -webkit-text-fill-color: #d60000 !important;
  font-weight: 900 !important;
  font-size: clamp(22px, 3vw, 38px) !important;
  text-align: center !important;
  margin-top: 18px !important;
}

.selected-roof-preview-card,
.selected-roof-preview-card img,
#selectedRoofTypeImage {
  display: none !important;
  visibility: hidden !important;
}

.ge-pin-instruction-blue,
.map-help-overlay.ge-pin-instruction-blue {
  color: #051f3d !important;
  -webkit-text-fill-color: #051f3d !important;
  font-weight: 800 !important;
}

.ge-pin-instruction-red,
p.ge-pin-instruction-red {
  color: #d60000 !important;
  -webkit-text-fill-color: #d60000 !important;
  font-weight: 900 !important;
}

.financing-qualify-box {
  background: #051f3d !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  border-radius: 10px !important;
  padding: 16px 18px !important;
  margin: 12px 0 4px !important;
  font-weight: 900 !important;
  font-size: clamp(18px, 2.2vw, 28px) !important;
  text-align: center !important;
  box-shadow: 0 8px 18px rgba(5,31,61,.18) !important;
}

/* Select time dropdown: blue text always, not white-on-white */
#callTimePicker,
#callTimePicker label,
#callTimeWindow,
#callTimeWindow option,
select#callTimeWindow,
select#callTimeWindow option {
  color: #051f3d !important;
  -webkit-text-fill-color: #051f3d !important;
  background-color: #ffffff !important;
}

#callTimeWindow:hover,
#callTimeWindow:focus,
select#callTimeWindow:hover,
select#callTimeWindow:focus {
  color: #051f3d !important;
  -webkit-text-fill-color: #051f3d !important;
  background-color: #ffffff !important;
  border-color: #f2b705 !important;
}

@media (max-width: 900px) {
  #stepRoofType .roof-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #stepRoofType .roof-type-card img {
    height: 170px !important;
  }
}

@media (max-width: 560px) {
  #stepRoofType .roof-type-grid {
    grid-template-columns: 1fr !important;
  }
  #stepRoofType .roof-type-card img {
    height: 190px !important;
  }
}


/* Ballpark estimate dollar amount must show red */
#estimateResult .estimate-price-large,
#estimateResult .impact-price,
.estimate-price-large,
.impact-price,
.ballpark-price,
.ballpark-estimate,
.ballpark-estimate-amount {
  color: #d60000 !important;
  -webkit-text-fill-color: #d60000 !important;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif !important;
  font-weight: 900 !important;
  font-size: clamp(34px, 5vw, 64px) !important;
  line-height: 1.05 !important;
  display: block !important;
  margin: 8px 0 14px !important;
  text-shadow: none !important;
}


/* FINAL roof type selector cleanup: image only, no yellow label box/line */
#stepRoofType .roof-type-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: stretch !important;
}

#stepRoofType .roof-type-card {
  background: #ffffff !important;
  border: 0 !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: 0 10px 24px rgba(5,31,61,.12) !important;
  padding: 0 !important;
}

#stepRoofType .roof-type-card img {
  width: 100% !important;
  height: 220px !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
  border: 0 !important;
  border-radius: 18px !important;
}

#stepRoofType .roof-type-label {
  display: none !important;
}

#stepRoofType .roof-type-card.selected {
  outline: 4px solid #051f3d !important;
  border: 0 !important;
  box-shadow: 0 12px 30px rgba(5,31,61,.25) !important;
}

#stepRoofType .roof-type-card.selected img {
  border-radius: 18px !important;
}

@media (max-width: 900px) {
  #stepRoofType .roof-type-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  #stepRoofType .roof-type-card img {
    height: 185px !important;
  }
}
@media (max-width: 560px) {
  #stepRoofType .roof-type-grid {
    grid-template-columns: 1fr !important;
  }
  #stepRoofType .roof-type-card img {
    height: 210px !important;
  }
}


/* === ROOF TYPE LABELS — RED === */
#stepRoofType .roof-type-label {
  background: #c62828 !important;
  color: #ffffff !important;
}
#stepRoofType .roof-type-card.selected .roof-type-label {
  background: #8b0000 !important;
  color: #ffffff !important;
}
#stepRoofType .roof-type-card {
  border-color: #c62828 !important;
  background: #c62828 !important;
}
#stepRoofType .roof-type-card.selected {
  outline-color: #c62828 !important;
  border-color: #8b0000 !important;
}

/* === SELECT THE TYPE OF ROOF title — RED === */
#stepRoofType h2 {
  color: #c62828 !important;
  -webkit-text-fill-color: #c62828 !important;
}
.free-roof-big{font-size:1.5em !important;font-weight:900 !important;display:inline-block !important;letter-spacing:1px !important}

/* Labels are baked into the card images from the source graphic — hide the span */
#stepRoofType .roof-type-label { display: none !important; }
/* Make images fill the full card with rounded corners matching original */
#stepRoofType .roof-type-card img {
  height: auto !important;
  aspect-ratio: 900 / 620 !important;
  border-radius: 18px !important;
  object-fit: cover !important;
}
/* Red heading */
#stepRoofType h2 {
  color: #c00 !important;
  -webkit-text-fill-color: #c00 !important;
}
