#sfx-estimator .sfx-btn,
#sfx-estimator .sfx-page-btn {
  min-height: 44px;
}

#sfx-estimator .sfx-input,
#sfx-estimator .sfx-textarea,
#sfx-estimator .sfx-search {
  font-size: 16px;
}

#sfx-estimator .sfx-tile[role="button"] {
  min-height: 96px;
}

.sfx-funnel-preview {
  border: 2px solid #1d4ed8;
  border-radius: 14px;
  background: #eff6ff;
  color: #0f172a;
  padding: 16px;
}

.sfx-funnel-preview--diagnostic_required,
.sfx-funnel-preview--confirmation_required {
  border-color: #b45309;
  background: #fffbeb;
}

.sfx-funnel-eyebrow {
  color: #1d4ed8;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.sfx-funnel-preview-title {
  color: #0f172a;
  font-size: 20px;
  line-height: 1.25;
  margin: 6px 0 8px;
}

.sfx-funnel-preview-copy,
.sfx-funnel-minimum-note {
  font-size: 14px;
  line-height: 1.5;
  margin: 8px 0;
}

.sfx-funnel-prices {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 10px 0;
}

.sfx-funnel-price {
  background: #fff;
  border: 1px solid #93c5fd;
  border-radius: 10px;
  font-size: 17px;
  font-weight: 800;
  padding: 12px;
}

.sfx-funnel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
}

.sfx-funnel-action {
  align-items: center;
  background: #fff;
  border: 2px solid #1d4ed8;
  border-radius: 10px;
  color: #1d4ed8;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  text-decoration: none;
}

.sfx-funnel-action--primary {
  background: #1d4ed8;
  color: #fff;
}

.sfx-funnel-optional {
  background: #fff;
  border: 1px solid #cbd5e1;
  border-radius: 10px;
  padding: 10px 12px;
}

.sfx-funnel-optional summary {
  cursor: pointer;
  font-weight: 700;
  min-height: 28px;
}

.sfx-funnel-optional .sfx-field {
  margin-top: 12px;
}

.sfx-funnel-inline-error {
  background: #fff1f2;
  border: 2px solid #be123c;
  border-radius: 12px;
  color: #881337;
  font-weight: 700;
  margin: 12px 0;
  padding: 14px;
}

.sfx-funnel-success-actions {
  margin-top: 18px;
}

@media (max-width: 640px) {
  .sfx-funnel-prices {
    grid-template-columns: 1fr;
  }

  .sfx-funnel-actions,
  .sfx-funnel-action,
  #sfx-estimator .sfx-actions,
  #sfx-estimator .sfx-actions .sfx-btn {
    width: 100%;
  }

  #sfx-estimator .sfx-contact {
    padding: 12px;
  }
}
