.lf-wrap *, .lf-wrap *::before, .lf-wrap *::after,
.lrf-wrap *, .lrf-wrap *::before, .lrf-wrap *::after {
  box-sizing: border-box; margin: 0; padding: 0;
}

.lf-wrap, .lrf-wrap {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: #eef0f3;
  padding: 40px 16px 60px;
  min-height: 500px;
}

.lf-card, .lrf-card {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
  max-width: 680px;
  margin: 0 auto;
  overflow: hidden;
}

.lf-progress-track, .lrf-progress-track {
  height: 4px; background: #e5e7eb; width: 100%;
}

.lf-progress-fill, .lrf-progress-fill {
  height: 4px; background: #CC0000; transition: width 0.4s ease;
}

.lf-body, .lrf-body { padding: 56px 48px 48px; }

.lf-step, .lrf-step { display: none !important; }
.lf-step.active, .lrf-step.active { display: block !important; }

.lf-question, .lrf-question {
  font-size: 22px; font-weight: 400; color: #1a1a2e;
  text-align: center; margin-bottom: 32px; line-height: 1.4;
}

.lf-options, .lrf-options {
  display: flex; flex-direction: column; gap: 10px;
  max-width: 420px; margin: 0 auto 28px;
}

.lf-opt, .lrf-opt {
  background: #f0f2f8; border: 1.5px solid #f0f2f8;
  border-radius: 6px; padding: 15px 20px; text-align: center;
  font-size: 15px; font-weight: 500; color: #3d4a6b; cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
  width: 100%; font-family: inherit;
}

.lf-opt:hover, .lrf-opt:hover {
  border-color: #CC0000; background: #fff; color: #CC0000;
}

.lf-opt.selected, .lrf-opt.selected {
  border-color: #CC0000; background: #CC0000; color: #fff;
}

.lf-back, .lrf-back {
  display: block; text-align: center; font-size: 14px;
  color: #888; cursor: pointer; background: none; border: none;
  font-family: inherit; margin: 4px auto 0;
}

.lf-back:hover, .lrf-back:hover { color: #333; }

.lf-input, .lrf-input {
  display: block; width: 100%; max-width: 420px;
  margin: 0 auto 16px; border: 1.5px solid #e0e2ea;
  border-radius: 6px; padding: 14px 16px; font-size: 16px;
  color: #111; outline: none; transition: border-color 0.15s;
  font-family: inherit; text-align: center;
}

.lf-input:focus, .lrf-input:focus { border-color: #CC0000; }

.lf-err, .lrf-err {
  text-align: center; font-size: 13px; color: #CC0000;
  margin-top: -10px; margin-bottom: 14px; display: none;
}

.lf-btn-next, .lrf-btn-next {
  display: block; width: 100%; max-width: 420px;
  margin: 0 auto 16px; background: #CC0000; color: #fff;
  border: none; border-radius: 6px; padding: 15px 20px;
  font-size: 15px; font-weight: 600; cursor: pointer;
  font-family: inherit; transition: background 0.15s;
}

.lf-btn-next:hover, .lrf-btn-next:hover { background: #aa0000; }
.lf-btn-next:disabled, .lrf-btn-next:disabled { background: #ccc; cursor: not-allowed; }

.lf-slider-wrap, .lrf-slider-wrap {
  max-width: 420px; margin: 0 auto 28px;
}

.lf-slider-value, .lrf-slider-value {
  text-align: center; font-size: 28px; font-weight: 300;
  color: #1a1a2e; margin-bottom: 16px;
}

.lf-range, .lrf-range {
  width: 100%; accent-color: #CC0000; cursor: pointer;
}

.lf-slider-labels, .lrf-slider-labels {
  display: flex; justify-content: space-between;
  font-size: 12px; color: #aaa; margin-top: 8px;
}

.lf-thankyou, .lrf-thankyou { text-align: center; padding: 16px 0; }

.lf-check, .lrf-check {
  width: 56px; height: 56px; background: #CC0000; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 20px; font-size: 24px; color: #fff;
}

.lf-thankyou h2, .lrf-thankyou h2 {
  font-size: 22px; font-weight: 400; color: #1a1a2e; margin-bottom: 12px;
}

.lf-thankyou p, .lrf-thankyou p {
  font-size: 15px; color: #666; line-height: 1.6; margin-bottom: 8px;
}

.lf-phone-link, .lrf-phone-link {
  display: inline-block; margin-top: 20px; background: #CC0000;
  color: #fff; text-decoration: none; border-radius: 6px;
  padding: 13px 28px; font-size: 15px; font-weight: 600;
}

@media (max-width: 520px) {
  .lf-body, .lrf-body { padding: 36px 24px 36px; }
  .lf-question, .lrf-question { font-size: 18px; }
}
