/* Solidtops Instant Estimate — front-end form layout (scoped to .dz-solidtops) */
.dz-solidtops{
  --ie-red:#E63322;
  --ie-ink:#1A1A1A;
  --ie-muted:#9A9A9A;
  --ie-sub:#666666;
  --ie-border:#DCDCDC;
  --ie-card:#F6F3EE;
  --ie-card-border:#E9E4DA;
  --ie-btn:#1A1A1A;
  --ie-btn-hover:#000000;
  box-sizing:border-box;
  margin:0 auto;
  padding:0 4px;
  color:var(--ie-ink);
  line-height:1.45;
}
.dz-solidtops *,
.dz-solidtops *::before,
.dz-solidtops *::after{box-sizing:border-box}

/* ===== Form rows ===== */
.dz-solidtops .ie-form{display:flex;flex-direction:column;gap:20px;margin-bottom:24px}
.dz-solidtops .ie-row{
  display:grid;
  grid-template-columns:120px 1fr 170px;
  align-items:center;
  gap:20px;
}
.dz-solidtops .ie-row > label{
  font-size:14px;
  font-weight:600;
  color:var(--ie-ink);
}
.dz-solidtops .ie-control{position:relative}
.dz-solidtops .ie-hint{
  font-size:13px;
  color:var(--ie-muted);
  line-height:1.45;
}

/* Inputs and selects, unified appearance */
.dz-solidtops .ie-control select,
.dz-solidtops .ie-control input[type="number"]{
  width:100%;
  background:#fff;
  border:1px solid var(--ie-border);
  border-radius:4px;
  padding:11px 14px;
  font-size:14px;
  color:var(--ie-ink);
  line-height:1.2;
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
  box-shadow:none;
  outline:none;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.dz-solidtops .ie-control input[type="number"]{padding-right:14px;-moz-appearance:textfield}
.dz-solidtops .ie-control input[type="number"]::-webkit-outer-spin-button,
.dz-solidtops .ie-control input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Chevron for selects */
.dz-solidtops .ie-control select{
  padding-right:38px;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1.5 L6 6.5 L11 1.5' stroke='%23333' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat:no-repeat;
  background-position:right 14px center;
  background-size:12px 8px;
  cursor:pointer;
}
.dz-solidtops .ie-control select:focus,
.dz-solidtops .ie-control input[type="number"]:focus{
  border-color:var(--ie-ink);
  box-shadow:0 0 0 3px rgba(26,26,26,0.08);
}

/* ===== Price card ===== */
.dz-solidtops .ie-price-card{
  background:var(--ie-card);
  border:1px solid var(--ie-card-border);
  border-radius:10px;
  padding:28px 24px 26px;
  text-align:center;
  margin-top:8px;
}
.dz-solidtops .ie-price-title{
  font-size:14px;
  font-weight:700;
  letter-spacing:0.04em;
  text-transform:uppercase;
  color:var(--ie-ink);
  margin-bottom:14px;
}
.dz-solidtops .ie-price{
  font-size:clamp(36px,8vw,48px);
  font-weight:800;
  color:var(--ie-red);
  letter-spacing:-0.015em;
  line-height:1.1;
  margin:6px 0 12px;
  font-variant-numeric:tabular-nums;
  text-align:center;
  white-space:nowrap;
}
.dz-solidtops .ie-price .ie-cur{font-weight:700;margin-right:0.02em}
.dz-solidtops .ie-price .ie-dash{
  color:var(--ie-red);
  font-weight:500;
  margin:0 0.18em;
}
.dz-solidtops .ie-disclaimer{
  font-size:13px;
  color:#8B8B8B;
  margin:6px auto 18px;
  line-height:1.55;
  max-width:420px;
}

/* Calculate-again button */
.dz-solidtops .ie-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background:var(--ie-btn);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:700;
  letter-spacing:0.08em;
  text-transform:uppercase;
  padding:14px 28px;
  border:0;
  border-radius:8px;
  cursor:pointer;
  min-width:240px;
  transition:background .15s ease,transform .15s ease;
}
.dz-solidtops .ie-cta:hover{background:var(--ie-btn-hover);transform:translateY(-1px)}
.dz-solidtops .ie-cta:active{transform:translateY(0)}
.dz-solidtops .ie-cta:focus-visible{outline:3px solid rgba(26,26,26,0.25);outline-offset:2px}
.dz-solidtops .ie-cta-icon{flex-shrink:0}

/* ===== Responsive ===== */
@media (max-width:480px){
  .dz-solidtops .ie-row{
    grid-template-columns:1fr;
    gap:6px;
  }
  .dz-solidtops .ie-row > label{font-size:13px}
  .dz-solidtops .ie-hint{font-size:12px;margin-top:-2px}
  .dz-solidtops .ie-price-card{padding:24px 18px 22px}
  .dz-solidtops .ie-cta{width:100%;min-width:0}
}
