.roof-estimator-widget { max-width:680px; margin:24px auto; padding:20px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; }
.re-progress-bar { height:8px; background:#f3f4f6; border-radius:999px; overflow:hidden; margin-bottom:16px; }
.re-progress-fill { height:100%; width:0%; background:#6d28d9; transition:width .3s ease; }
.re-step { display:none; }
.re-step.active { display:block; }
.re-option, .re-next { display:inline-block; margin:8px 8px 0 0; padding:10px 14px; background:#f9fafb; border:1px solid #d1d5db; border-radius:8px; cursor:pointer; }
.re-option:hover, .re-next:hover { background:#eef2ff; border-color:#a5b4fc; }
.re-input { width:100%; padding:10px 12px; border:1px solid #d1d5db; border-radius:8px; }
.re-result-step { text-align:center; }
.re-estimate-value { font-size:1.5rem; font-weight:700; }
.re-estimate-psf { color:#374151; margin-top:6px; }
.re-line { font-size:.95rem; color:#4b5563; margin-top:4px; }
.re-cta {
  display:inline-block;
  margin-top:12px;
  padding:12px 16px;
  background:#111827;
  color:#fff;
  border-radius:8px;
  text-decoration:none;
  font-weight:600;
}
.re-cta:hover { background:#1f2937; }
