/* Solar4Ever customer flow. The roof engine and quote math remain unchanged;
   this layer gives their screens one visual language and one page. */
body[data-experience-stage]:not([data-experience-stage="address"]) .hero,
body[data-experience-stage]:not([data-experience-stage="address"]) .proof-strip,
body[data-experience-stage]:not([data-experience-stage="address"]) .benefits,
body[data-experience-stage]:not([data-experience-stage="address"]) .feature-section,
body[data-experience-stage]:not([data-experience-stage="address"]) .process,
body[data-experience-stage]:not([data-experience-stage="address"]) .finance-band,
body[data-experience-stage]:not([data-experience-stage="address"]) .faq,
body[data-experience-stage]:not([data-experience-stage="address"]) .final-cta { display: none; }
.experience-workspace[hidden],.experience-scan[hidden],.experience-edit-address[hidden],.experience-order[hidden]{display:none!important}
.experience-order{background:#fafcfc;min-height:calc(100vh - 82px);padding:28px 0 84px}
.experience-order .order-shell{width:min(1380px,calc(100% - 48px))}
.experience-order-back{display:inline-flex;align-items:center;min-height:42px;margin:0 0 24px;padding:8px 13px;border:1px solid #bfd3de;border-radius:8px;background:#fff;color:#1f6e9c;font:800 13px 'DM Sans',sans-serif;cursor:pointer}
.experience-order-back:hover{background:#edf6fa}

.hero-address-card #solar-search-card{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0;margin:0}
.hero-address-card #panel-address{display:block;margin:0}
.hero-address-card #solar-address{height:58px;width:100%;font:600 16px 'DM Sans',sans-serif;color:#172833;border:1px solid #a8c4d4;border-radius:9px;padding:12px 16px;background:#fff;outline:none}
.hero-address-card #solar-address:focus{border-color:#1f6e9c;box-shadow:0 0 0 3px #b7deef}
.hero-address-card .sw-input-wrap{margin:0 0 11px}
.hero-address-card #solar-submit{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:54px;border:0;border-radius:9px;background:#1f6e9c;color:#fff;padding:12px 18px;font:800 15px 'DM Sans',sans-serif;cursor:pointer;transition:background .2s,transform .2s}
.hero-address-card #solar-submit:hover{background:#17577c;transform:translateY(-2px)}
.hero-address-card #solar-submit:disabled{background:#a9c1ce;cursor:wait;transform:none}
.hero-address-card #solar-status{color:#536c7a;font-size:13px;min-height:0;margin:6px 0}
.hero-address-card #solar-status:empty{display:none}
.hero-address-card #solar-error{font-size:13px;color:#a63b31;background:#fff2ef;border:1px solid #efc5bd;border-radius:7px;padding:8px 10px;margin:7px 0}
.hero-address-card .sw-checkline{display:none}
.experience-usage-details{margin:12px 0 15px;border-top:1px solid #e0eaf0;padding-top:12px}
.experience-usage-details summary{cursor:pointer;font-size:13px;font-weight:700;color:#28688d;list-style:none}
.experience-usage-details summary::-webkit-details-marker{display:none}
.experience-usage-details summary::after{content:'⌄';margin-left:8px}
.experience-usage-details[open] summary::after{content:'⌃'}
.experience-usage-details .sw-household-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.experience-usage-details label{display:block;margin-bottom:5px;font-size:12px;font-weight:700;color:#3c5868}
.experience-usage-details select,.experience-usage-details input{width:100%;height:43px;border:1px solid #cbdce5;border-radius:7px;padding:7px 9px;background:white;color:#172833;font-size:13px}
#solar-suggestions{font-family:'DM Sans',sans-serif;border-radius:9px!important;border-color:#c8dce7!important;box-shadow:0 16px 38px #1a4b6630!important}
#solar-suggestions .sw-suggestion{font-size:14px;padding:11px 13px}

.experience-workspace{background:#fafcfc;min-height:calc(100vh - 82px);padding:28px 0 84px}
.experience-shell{width:min(1380px,calc(100% - 48px))}
.experience-progress{display:flex;gap:0;width:min(610px,100%);color:#78909e;font-size:12px;font-weight:700;letter-spacing:.04em;margin:0 0 35px}
.experience-progress span{flex:1;border-bottom:2px solid #cbdce5;padding:12px 18px 12px 0}
.experience-progress b{font-weight:800}
body[data-experience-stage="confirm"] .experience-progress-roof,
body[data-experience-stage="loading"] .experience-progress-roof,
body[data-experience-stage="roof"] .experience-progress-roof,
body[data-experience-stage="packages"] .experience-progress-packages{color:#1f6e9c;border-bottom-color:#1f6e9c}
.experience-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:0 0 28px}
.experience-heading .eyebrow{margin:0 0 8px}
.experience-heading h1{font-size:clamp(2.3rem,4.5vw,4.4rem);margin:0 0 8px;line-height:1.05;letter-spacing:-.055em}
.experience-heading p:last-child{color:#536c7a;margin:0;font-size:16px}
.experience-edit-address{background:none;color:#1f6e9c;border:1px solid #b7cedb;border-radius:8px;padding:11px 15px;white-space:nowrap;font-size:13px;font-weight:800;cursor:pointer}
.experience-edit-address:hover{background:#ebf5f9}
.experience-actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}
.experience-edit-layout{background:#1f6e9c;color:#fff;border:1px solid #1f6e9c;border-radius:8px;padding:11px 15px;white-space:nowrap;font-size:13px;font-weight:800;cursor:pointer}
.experience-edit-layout:hover{background:#17577c}
.experience-edit-layout[hidden]{display:none!important}
.experience-widget-surface{background:#fff;border:1px solid #dce7ed;border-radius:18px;padding:22px;box-shadow:0 18px 48px #1e52700c}
body .experience-widget-surface #solar-widget{font-family:'DM Sans',sans-serif;max-width:none;width:100%;margin:0;color:#172833}
body .experience-widget-surface #solar-widget button{font-family:'DM Sans',sans-serif}
body .experience-widget-surface #solar-widget #solar-breadcrumb{display:none}
body .experience-widget-surface #solar-widget #solar-confirm-card{max-width:100%;border:0;background:transparent}
body .experience-widget-surface #solar-widget #solar-confirm-map-wrap{height:min(60vh,560px)!important;border-radius:13px!important}
body .experience-widget-surface #solar-widget #solar-confirm-go,
body .experience-widget-surface #solar-widget #quote-calculate{background:#1f6e9c!important;border-radius:9px!important;min-height:50px;font-size:15px;font-weight:800}
body .experience-widget-surface #solar-widget #solar-confirm-go:hover,
body .experience-widget-surface #solar-widget #quote-calculate:hover{background:#17577c!important}
body .experience-widget-surface #solar-widget #solar-map{border-radius:13px;height:min(58vh,580px);background:#e8eef1}
body .experience-widget-surface #solar-widget #solar-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}
body .experience-widget-surface #solar-widget #solar-toolbar button{border-radius:8px;min-height:40px}
body .experience-widget-surface #solar-widget .sw-quote-step{background:#ecf5f9;border:1px solid #b9d8e7;border-radius:15px;box-shadow:none;padding:23px}
body .experience-widget-surface #solar-widget .sw-quote-step-title{font-family:'Manrope',sans-serif;letter-spacing:-.04em}
body .experience-widget-surface #solar-widget .sw-quote-step-time{background:#edf3f7;color:#285b77;border:1px solid #c8dde7}
body .experience-widget-surface #solar-widget .sw-variant-card{border:1px solid #dce7ed;border-radius:15px;box-shadow:0 8px 25px #1e52700e;font-family:'DM Sans',sans-serif;transition:box-shadow .22s,border-color .22s,transform .22s}
body .experience-widget-surface #solar-widget .sw-variant-card:hover{border-color:#9bc8db;box-shadow:0 13px 31px #1e52701b;transform:translateY(-3px)}
body .experience-widget-surface #solar-widget .sw-variant-card.sw-variant-smart{border:2px solid #1f6e9c;box-shadow:0 13px 31px #1e527016}
body .experience-widget-surface #solar-widget .sw-variant-badge{background:#1f6e9c}
body .experience-widget-surface #solar-widget .sw-savings-hero{background:#e9f3f8;border:1px solid #cce2ed;border-radius:11px}
body .experience-widget-surface #solar-widget .sw-energy-hero .sw-savings-hero-label{color:#285b77!important}
body .experience-widget-surface #solar-widget .sw-savings-hero-pct{color:#173f59}
body .experience-widget-surface #solar-widget .sw-included-note{display:block;background:#1d597b}
body .experience-widget-surface #solar-widget .sw-included-note-check{float:left;margin-right:9px}
body .experience-widget-surface #solar-widget .sw-multi-structure-note{background:#edf5f9;border-color:#cfdfeb;color:#315871}
body .experience-widget-surface #solar-widget .sw-more-offers{background:#f0f6f9;border-radius:15px}
body .experience-widget-surface #solar-widget .sw-more-offers-teaser::before{background:linear-gradient(#ffffff80,#e5f0f6a3);opacity:1}
body .experience-widget-surface #solar-widget .sw-more-offers-toggle{background:#173f59;border-radius:8px}
body .experience-widget-surface #solar-widget .sw-property-answers,
body .experience-widget-surface #solar-widget #solar-faq{background:#f3f7f9;border-radius:15px}
body .experience-widget-surface #solar-widget .s4e-cost-details{border-top:1px solid #dce7ed;margin:12px 0 0;padding-top:11px}
body .experience-widget-surface #solar-widget .s4e-cost-details summary{cursor:pointer;color:#28688d;font-weight:800;font-size:13px;list-style:none;margin-bottom:7px}
body .experience-widget-surface #solar-widget .s4e-cost-details summary::-webkit-details-marker{display:none}
body .experience-widget-surface #solar-widget .s4e-cost-details summary:after{content:'⌄';margin-left:6px}
body .experience-widget-surface #solar-widget .s4e-cost-details[open] summary:after{content:'⌃'}
body .experience-widget-surface #solar-widget #quote-whats-included-link{color:#1f6e9c}

.experience-scan{display:flex;align-items:center;gap:18px;background:#eaf5fa;border:1px solid #bcdce9;border-radius:13px;padding:18px 22px;margin:0 0 20px;position:relative;overflow:hidden}
.experience-scan-icon{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:50%;background:#d7ecf5;color:#1f6e9c;font-size:25px;animation:experience-spin 4s linear infinite}
.experience-scan strong{display:block;color:#173f59}.experience-scan p{font-size:13px;color:#536c7a;margin:2px 0 0}
.experience-scan-track{position:absolute;left:0;bottom:0;width:100%;height:3px;background:#d7e7ee}.experience-scan-track span{display:block;width:35%;height:100%;background:#1f6e9c;animation:experience-scan 2.3s ease-in-out infinite}
@keyframes experience-spin{to{transform:rotate(360deg)}}@keyframes experience-scan{0%{transform:translateX(-100%)}100%{transform:translateX(350%)}}

body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-calculator.sw-visible{display:block}
body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-results-layout{display:grid;grid-template-columns:minmax(280px,340px) minmax(0,1fr);column-gap:24px;align-items:start}
body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-calc-layout{grid-column:1;grid-row:1;position:sticky;top:100px;display:block}
body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-quote-section{grid-column:2;grid-row:1;min-width:0}
body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-map{height:390px}
body[data-experience-stage="packages"]:not([data-experience-map="expanded"]) .experience-widget-surface #solar-widget #solar-toolbar{display:none}
body[data-experience-stage="packages"] .experience-widget-surface #solar-widget .sw-quote-step{display:none}
body[data-experience-stage="packages"] .experience-widget-surface #solar-widget .sw-variant-card{min-width:0}
body[data-experience-stage="packages"] .experience-widget-surface #solar-widget .sw-variant-cards{gap:12px}
body[data-experience-stage="packages"][data-experience-map="expanded"] .experience-widget-surface #solar-widget #solar-results-layout{grid-template-columns:1fr}
body[data-experience-stage="packages"][data-experience-map="expanded"] .experience-widget-surface #solar-widget #solar-calc-layout{grid-column:1;position:static}
body[data-experience-stage="packages"][data-experience-map="expanded"] .experience-widget-surface #solar-widget #solar-map{height:min(68vh,620px)}
body[data-experience-stage="packages"][data-experience-map="expanded"] .experience-widget-surface #solar-widget #solar-quote-section{grid-column:1;grid-row:auto}

@media(max-width:1000px){body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-results-layout{grid-template-columns:1fr}body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-calc-layout{position:static;grid-column:1;grid-row:auto}body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-quote-section{grid-column:1;grid-row:auto}body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-map{height:360px}}
@media(max-width:650px){.experience-workspace{padding:18px 0 52px}.experience-shell{width:calc(100% - 24px)}.experience-heading{align-items:start;flex-direction:column;gap:12px}.experience-heading h1{font-size:2.4rem}.experience-heading p:last-child{font-size:14px}.experience-progress{font-size:11px;margin-bottom:24px}.experience-progress span{padding-right:7px}.experience-widget-surface{border:0;padding:0;box-shadow:none;background:transparent}.experience-usage-details .sw-household-grid{grid-template-columns:1fr}.hero-address-card #solar-address{font-size:16px}.experience-scan{padding:14px;gap:12px}.experience-scan p{font-size:12px}body .experience-widget-surface #solar-widget #solar-map{height:68vh}body[data-experience-stage="packages"] .experience-widget-surface #solar-widget #solar-map{height:290px}}
@media(max-width:650px){body .experience-widget-surface #solar-widget .sw-variant-cards:not(.sw-more-offers-cards){display:flex;flex-direction:column;flex-wrap:nowrap}body .experience-widget-surface #solar-widget .sw-variant-cards:not(.sw-more-offers-cards)>.sw-variant-card{flex:0 0 auto;width:100%;min-width:0}body .experience-widget-surface #solar-widget .sw-finance-copy{white-space:normal;flex-wrap:wrap}body .experience-widget-surface #solar-widget .sw-variant-stats{justify-content:space-around}body .experience-widget-surface #solar-widget .sw-quote-row{overflow-wrap:anywhere}}
@media(max-width:650px){.experience-order{padding:18px 0 52px}.experience-order .order-shell{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){.experience-scan-icon,.experience-scan-track span{animation:none}.hero-address-card #solar-submit,body .experience-widget-surface #solar-widget .sw-variant-card{transition:none}}
::view-transition-old(root){animation:180ms ease-out both fade-out}::view-transition-new(root){animation:260ms ease-in both fade-in}
@keyframes fade-out{to{opacity:.35}}@keyframes fade-in{from{opacity:.35}to{opacity:1}}

/* Carry the address card into the roof workspace as one continuous window. */
body[data-experience-stage="address"] .hero-address-card{view-transition-name:solar-journey-window}
body[data-experience-stage]:not([data-experience-stage="address"]):not([data-experience-stage="order"]) .experience-widget-surface{view-transition-name:solar-journey-window}
::view-transition-group(solar-journey-window){animation-duration:620ms;animation-timing-function:cubic-bezier(.22,.8,.22,1)}
::view-transition-old(solar-journey-window){animation:solar-window-out 620ms ease both}
::view-transition-new(solar-journey-window){animation:solar-window-in 620ms ease both}
@keyframes solar-window-out{to{opacity:0}}
@keyframes solar-window-in{from{opacity:0}to{opacity:1}}

/* Match the in-map roof scan to Solar4Ever's blue and warm accent palette. */
body .experience-widget-surface #solar-widget #sw-scan{border-radius:13px}
body .experience-widget-surface #solar-widget #sw-scan .sw-scan-veil{background:rgba(18,48,66,.38)}
body .experience-widget-surface #solar-widget #sw-scan .sw-scan-grid{background-image:linear-gradient(#d7edf521 1px,transparent 1px),linear-gradient(90deg,#d7edf521 1px,transparent 1px);background-size:42px 42px}
body .experience-widget-surface #solar-widget #sw-scan .sw-scan-line{height:2px;background:#f2b75c;box-shadow:0 0 18px 4px #f2b75c88}
body .experience-widget-surface #solar-widget #sw-scan .sw-scan-label{left:18px;bottom:18px;transform:none;display:grid;gap:3px;min-width:190px;padding:11px 15px;border:1px solid #dce7ed;background:#fff;color:#172833;border-radius:10px;box-shadow:0 8px 28px #14364a30;white-space:normal}
body .experience-widget-surface #solar-widget #sw-scan .sw-scan-kicker{display:flex;align-items:center;gap:7px;color:#1f6e9c;font-size:9px;font-weight:800;letter-spacing:.12em}
body .experience-widget-surface #solar-widget #sw-scan .sw-scan-kicker::before{content:"";width:7px;height:7px;border-radius:50%;background:#f2b75c;box-shadow:0 0 0 3px #f2b75c30;animation:roof-scan-pulse 1.6s ease-in-out infinite}
body .experience-widget-surface #solar-widget #sw-scan .sw-scan-message{font-size:13px;line-height:1.35;font-weight:700;color:#172833}
@keyframes roof-scan-pulse{50%{box-shadow:0 0 0 6px #f2b75c12;opacity:.72}}
body[data-experience-stage="loading"] .experience-widget-surface #solar-widget #solar-status{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(prefers-reduced-motion:reduce){::view-transition-group(solar-journey-window),::view-transition-old(solar-journey-window),::view-transition-new(solar-journey-window){animation:none!important}body .experience-widget-surface #solar-widget #sw-scan .sw-scan-kicker::before{animation:none}}

/* Keep the imagery in the same place when confirmation becomes the roof editor. */
body[data-experience-stage="confirm"] #solar-loading{display:none!important}
body[data-experience-stage="roof"] #solar-map-col{display:flex!important;flex-direction:column}
body[data-experience-stage="roof"] #solar-map{order:0;flex:none}
body[data-experience-stage="roof"] #solar-toolbar{order:1;margin-top:14px}
body[data-experience-stage="roof"] #solar-calc-status,body[data-experience-stage="roof"] #solar-calc-error,body[data-experience-stage="roof"] #solar-segment-summary{order:2}
body[data-experience-stage="roof"] #solar-obstruction-manager{order:3}

/* Agreed package comparison refresh. */
body .sw-package-components-link,body .sw-components-all{display:block;width:100%;text-align:center;text-decoration:none!important;padding:12px;border:1px solid #bcd8e7;border-radius:8px;background:#eff7fb;color:#185779;font-weight:700;cursor:pointer}
.sw-components-all{margin:12px 0}.sw-inline-components[hidden]{display:none}.sw-inline-components>div{display:grid;grid-template-columns:1fr auto;gap:5px;padding:12px 0;border-bottom:1px solid #dce8ef}.sw-inline-components strong{grid-column:1/-1}.sw-inline-components span{font-size:13px;overflow-wrap:anywhere}.sw-payback{display:grid;gap:4px;text-align:center;padding:12px;background:#f0f6f9;border-radius:9px}.sw-payback span{font-size:12px}.sw-payback strong{color:#174e6e}body .sw-variant-badge{background:#f8d65e!important;color:#173f56!important;padding:8px 14px!important;border-radius:20px}.package-household{display:none;padding:16px;background:#f0f6f9;border:1px solid #cbdde7;border-radius:12px;margin-top:14px}.package-household label{display:block;margin:12px 0;font-size:13px}.package-household input,.package-household select{width:100%;padding:10px;margin-top:6px}body[data-experience-stage="packages"] .package-household{display:block}body[data-experience-stage="confirm"] .experience-widget-surface #solar-widget #solar-confirm-map-wrap{height:clamp(200px,calc(100dvh - 360px),460px)!important}#solar-confirm-go,#solar-confirm-back{min-height:44px}.sw-variant-cards{align-items:stretch}@media(prefers-reduced-motion:no-preference){.sw-energy-hero,.sw-energy-comparison,.sw-payback{animation:estimate-refresh .35s ease-out}@keyframes estimate-refresh{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}}

#solar-widget .sw-variant-title{position:absolute;top:12px;left:12px;z-index:2;margin:0}#solar-widget .sw-variant-card{position:relative}
#solar-confirm-card>div:has(>#solar-confirm-go){position:sticky;bottom:0;background:#fff;padding:12px 0;z-index:15}
body[data-experience-stage="confirm"] .experience-heading{margin-bottom:12px}body[data-experience-stage="confirm"] .experience-heading h1{font-size:clamp(28px,4vw,48px)}

#solar-widget .sw-variant-cards{align-items:stretch}#solar-widget .sw-variant-actions{margin-top:auto;padding-top:12px}

/* package-card-emphasis-v1 */
body .experience-widget-surface #solar-widget .sw-variant-badge{
 display:inline-flex;align-items:center;gap:6px;background:#f8d65e!important;color:#173f56!important;
 padding:10px 16px!important;border:2px solid #d58b16;border-radius:7px 16px 7px 16px;
 font-size:15px;font-weight:900;line-height:1.2;letter-spacing:.02em;
 box-shadow:0 3px 0 #b87a13,0 5px 10px #173f5626;transform:rotate(-4deg)
}
body .experience-widget-surface #solar-widget .sw-variant-badge::before{content:'★';font-size:19px}
body .experience-widget-surface #solar-widget .sw-payback{padding:15px 10px;background:#e8f3f9;border:1px solid #a8cbdd;gap:7px}
body .experience-widget-surface #solar-widget .sw-payback span{display:block;color:#173f56!important;font-size:16px!important;font-weight:800!important;line-height:1.35;opacity:1}
body .experience-widget-surface #solar-widget .sw-payback strong{color:#174e6e;font-size:18px;font-weight:800;line-height:1.35}
body .experience-widget-surface #solar-widget .sw-package-components-link,
body .experience-widget-surface #solar-widget .sw-components-all{background:#f8d65e!important;color:#173f56!important;border:1px solid #d8ad35!important;text-align:center;text-decoration:none!important;font-weight:800;min-height:44px}
body .experience-widget-surface #solar-widget .sw-package-components-link:hover,
body .experience-widget-surface #solar-widget .sw-components-all:hover{background:#ffe383!important}
body .experience-widget-surface #solar-widget .sw-package-components-link:focus-visible,
body .experience-widget-surface #solar-widget .sw-components-all:focus-visible{outline:3px solid #1d6f9f;outline-offset:3px}

/* Only expanded cards stretch to their row height; collapsed cards stay compact. */
body .experience-widget-surface #solar-widget .sw-variant-card{align-self:start;height:auto}
body .experience-widget-surface #solar-widget .sw-variant-card:has(.sw-inline-components:not([hidden])){align-self:stretch}

/* Recommendation is orange; explicit customer selection retains its blue ring. */
body .experience-widget-surface #solar-widget .sw-variant-card.sw-variant-smart:not(.sw-variant-selected){border-color:#d58b16;box-shadow:0 0 0 1.5px #d58b16,var(--sw-shadow-sm)}
body .experience-widget-surface #solar-widget .sw-variant-card.sw-variant-smart:not(.sw-variant-selected):hover{box-shadow:0 0 0 1.5px #d58b16,var(--sw-shadow-md)}

/* Badges occupy separate corners of the photo area. */
body .experience-widget-surface #solar-widget .sw-variant-discount-badge{top:auto!important;left:auto!important;bottom:12px!important;right:12px!important;max-width:calc(100% - 24px);overflow-wrap:anywhere;z-index:2}
