.elementor-8683 .elementor-element.elementor-element-64548006{padding:50px 0px 50px 0px;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}/* Start custom CSS for text-editor, class: .elementor-element-36af806 *//* wrapper */

.roof-calc-wrapper{
max-width:1200px;
margin:auto;
padding:40px 20px;
font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial;
background:linear-gradient(180deg,#fffdf7 0%,#f8fafc 60%,#eef2ff 100%);
border-radius:20px;
}

/* title */

.roof-calc-wrapper h2{
font-size:34px;
font-weight:800;
margin-bottom:30px;
color:#0f172a;
}

/* grid layout */

.roof-grid{
display:grid;
grid-template-columns:1fr 1fr;
gap:50px;
align-items:start;
}

/* form area */

.roof-grid label{
display:block;
margin-top:18px;
font-weight:600;
color:#334155;
font-size:14px;
}

.roof-grid select,
.roof-grid input{
width:100%;
padding:12px 14px;
margin-top:6px;
border:1px solid #e2e8f0;
border-radius:10px;
font-size:14px;
background:#fff;
transition:all .2s ease;
}

.roof-grid select:focus,
.roof-grid input:focus{
outline:none;
border-color:#6366f1;
box-shadow:0 0 0 3px rgba(99,102,241,0.15);
}

/* button */

.roof-grid button{
margin-top:25px;
padding:14px;
width:100%;
border-radius:12px;
border:none;
background:#111827;
color:#fff;
font-weight:600;
font-size:15px;
cursor:pointer;
transition:all .2s ease;
}

.roof-grid button:hover{
background:#1f2937;
transform:translateY(-1px);
}

/* results card */

.results{
background:#fff;
padding:30px;
border-radius:18px;
box-shadow:0 15px 40px rgba(0,0,0,0.08);
border:1px solid #e5e7eb;
}

/* recommendation */

#recommendation{
font-size:24px;
font-weight:700;
margin-bottom:10px;
color:#0f172a;
}

/* stat grid */

.stats{
display:grid;
grid-template-columns:repeat(3,1fr);
gap:18px;
margin-top:25px;
}

/* stat cards */

.stats div{
background:#f8fafc;
padding:20px;
border-radius:14px;
border:1px solid #e2e8f0;
}

.stats p{
font-size:12px;
text-transform:uppercase;
letter-spacing:.08em;
color:#64748b;
margin-bottom:6px;
}

.stats h2{
font-size:26px;
font-weight:700;
color:#0f172a;
margin:0;
}

/* years left */

#yearsLeft{
margin-top:20px;
font-size:15px;
color:#475569;
}

/* responsive */

@media(max-width:900px){

.roof-grid{
grid-template-columns:1fr;
gap:30px;
}

.stats{
grid-template-columns:1fr 1fr;
}

}

@media(max-width:500px){

.stats{
grid-template-columns:1fr;
}

.roof-calc-wrapper h2{
font-size:26px;
}

}/* End custom CSS */