/* =========================
   Lead Form (pure CSS)
   Namespace: .lm-lead-form
   ========================= */

.lm-lead-form .pulse {
  animation: lm-pulse-animation 2s infinite;
}

@keyframes lm-pulse-animation {
  0% { box-shadow: 0 0 0 0 rgba(0,0,0,0.2); }
  100% { box-shadow: 0 0 0 10px rgba(0,0,0,0); }
}

.lm-lead-form .lead-form-container {
  display: flex;
  justify-content: center;
  align-items: center;
}

.lm-lead-form .lead-manager-form {
  box-shadow: rgba(0, 0, 0, 0.15) 0 2px 8px;
  width: clamp(260px, 100%, var(--lm-form-max-width, 500px));
  position: relative;
  padding: 2rem;
  background: var(--lm-form-surface, #fff);
}

/* Header */
.lm-lead-form .lead-manager-form .lead-form-title {
  color: var(--lm-form-accent, #1e7eb9);
  font-size: 2.2rem;
  text-align: center;
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 700;
}

.lm-lead-form .lead-manager-form .step-instruction {
  font-size: 1.4rem;
  color: var(--lm-form-text, #444);
  font-weight: 600;
}

.lm-lead-form .lead-manager-form .step-indicator {
  margin: 0;
}

.lm-lead-form .lead-manager-form .step-text-info {
  font-size: 1.3rem;
  color: #7d7d7d;
  font-weight: 700;
  margin-left: 1rem;
}

/* Progress */
.lm-lead-form .lead-manager-form .step-progress {
  position: relative;
  height: var(--lm-form-progress-height, 1rem);
  border-radius: 3rem;
  background: rgba(105, 172, 53, 0.276);
}

.lm-lead-form .lead-manager-form .step-progress::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 50%;
  height: 100%;
  border-radius: 3rem;
  background-color: var(--lm-form-accent, #68ac35);
  transition: width .5s ease-out;
}

.lm-lead-form .lead-manager-form .step-progress.step-2::before {
  width: 100%;
}

/* Viewport */
.lm-lead-form .lead-manager-form .step-viewport {
  display: flex;
  gap: 2rem;
  overflow-x: auto;
  justify-content: flex-start;
  align-items: center;
  scroll-snap-type: x mandatory;
  -ms-overflow-style: none;
  scrollbar-width: none;
  padding-top: 2rem;
}

.lm-lead-form .lead-manager-form .step-viewport::-webkit-scrollbar {
  display: none;
}

.lm-lead-form .lead-manager-form .step-viewport section {
  position: relative;
  width: 100%;
  height: 100%;
  flex: 1 0 auto;
  scroll-snap-align: center;
  scroll-snap-stop: always;
}

/* Replace :has(:invalid)+section hiding using a class toggled by JS */
.lm-lead-form .lead-manager-form.is-step1-invalid [data-lm-step="2"] {
  display: none;
}

/* Groups */
.lm-lead-form .lead-manager-form .lead-form-group {
  position: relative;
  margin-bottom: 15px;
}

.lm-lead-form .lead-manager-form .lead-form-group .hint {
  font-size: 1.3rem;
  font-weight: 500;
  color: #2265238f;
}

/* Inputs base */
.lm-lead-form .lead-manager-form .lead-form-group input:not([type='radio']),
.lm-lead-form .lead-manager-form .lead-form-group .radio-group {
  display: block;
  width: 100%;
  height: 40px;
  background: transparent;
  border: 1px solid var(--lm-form-field-border);
  border-radius: 5px;
  transition: border-color .3s ease, box-shadow .3s ease;
  padding: 0 15px;
  font-weight: 700;
  color: var(--lm-form-accent, #1d7db9);
  box-sizing: border-box;
}

.lm-lead-form .lead-manager-form .lead-form-group input[type="email"] {
  font-size: 1.4rem;
}

/* Placeholder */
.lm-lead-form .lead-manager-form .lead-form-group input::placeholder {
  font-weight: 400;
  font-size: 1.3rem;
}

/* Focus */
.lm-lead-form .lead-manager-form .lead-form-group input:not([type='radio']):focus {
  border-color: var(--lm-form-field-focus);
  outline: none;
}

/* Floating label - default */
.lm-lead-form .lead-manager-form .lead-form-group > label,
.lm-lead-form .lead-manager-form .lead-form-group label + .radio-group {
  /* left as-is; see next rules */
}

/* Floating label positioning for non-radio inputs */
.lm-lead-form .lead-manager-form .lead-form-group:not(.is-radio) > label {
  position: absolute;
  cursor: text;
  z-index: 2;
  top: 13px;
  left: 10px;
  font-size: 12px;
  font-weight: bold;
  background: var(--lm-form-surface, #fff);
  padding: 0 10px;
  color: var(--lm-form-field-label);
  transition: all .3s ease;
}

/* On focus: move label up */
.lm-lead-form .lead-manager-form .lead-form-group:not(.is-radio) input:focus + label {
  font-size: 11px;
  top: -5px;
  color: var(--lm-form-accent, blue);
}

.lm-lead-form .lead-manager-form .lead-form-group:not(.is-radio) input:focus + label .hint {
  display: none;
}

/* On valid (and not invalid-field class): move label up, show check */
.lm-lead-form .lead-manager-form .lead-form-group:not(.is-radio) input:valid:not(.invalid-field) + label {
  font-size: 11px;
  top: -5px;
  color: darkgreen;
}

.lm-lead-form .lead-manager-form .lead-form-group:not(.is-radio) input:valid:not(.invalid-field) + label::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1rem;
  color: rgb(1, 94, 1);
}

.lm-lead-form .lead-manager-form .lead-form-group:not(.is-radio) input:valid:not(.invalid-field) + label .hint {
  display: none;
}

/* Invalid field styling */
.lm-lead-form .lead-manager-form .lead-form-group input.invalid-field {
  border-color: rgba(230, 44, 3, 0.78);
  box-shadow: 0 0 0 1px rgba(230, 44, 3, 0.2);
}
/* Radio groups */
.lm-lead-form .lead-manager-form .lead-form-group .radio-group {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.5rem;
  padding: 0 10px;
}

.lm-lead-form .lead-manager-form .lead-form-group .radio-label {
  margin: 0;
  font-weight: 400;
  cursor: pointer;
  color: var(--lm-form-field-label);
}

.lm-lead-form .lead-manager-form .lead-form-group .radio-label span {
  vertical-align: middle;
  margin: 0;
}

/* Replace :has(:checked) using input:checked + span and label state */
.lm-lead-form .lead-manager-form .lead-form-group .radio-label input:checked + span {
  font-weight: 700;
  color: inherit;
}

.lm-lead-form .lead-manager-form .lead-form-group.is-radio > label {
  position: relative;
  display: inline-block;
  font-size: 11px;
  top: 0;
  left: 0;
  color: #444;
  font-weight: 700;
  margin-bottom: 6px;
}

/* --- Text alignment helpers --- */
.lm-lead-form .lead-manager-form .lead-form-group input.lm-ta-right {
  text-align: right;
}

.lm-lead-form .lead-manager-form .lead-form-group input.lm-ta-left {
  text-align: left;
}

/* On focus: always show left (partial input visible) */
.lm-lead-form .lead-manager-form .lead-form-group input:focus {
  text-align: left;
}

/* --- Radio group: center options when nothing selected --- */
.lm-lead-form .lead-manager-form .lead-form-group.is-radio .radio-group {
  justify-content: center; /* default when empty */
}

/* When selection exists, left-align like a normal field */
.lm-lead-form .lead-manager-form .lead-form-group.is-radio.is-has-selection .radio-group {
  justify-content: flex-start;
}

/* Radio label (Gender/Tobacco) behaves like "valid" when selected */
.lm-lead-form .lead-manager-form .lead-form-group.is-radio > label {
  position: absolute;
  cursor: text;
  z-index: 2;
  top: 13px;
  left: 10px;
  font-size: 12px;
  font-weight: bold;
  background: var(--lm-form-surface, #fff);
  padding: 0 10px;
  color: var(--lm-form-field-label);
  transition: all .3s ease;
}

/* When selected, float up + green + check (like valid inputs) */
.lm-lead-form .lead-manager-form .lead-form-group.is-radio.is-has-selection > label {
  font-size: 11px;
  top: -5px;
  color: darkgreen;
}

.lm-lead-form .lead-manager-form .lead-form-group.is-radio.is-has-selection > label::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  font-size: 1rem;
  color: rgb(1, 94, 1);
}

/* Button */
.lm-lead-form .lead-manager-form .btn-style-01 {
  display: inline-block;
  background-color: gray;
  color: #fff;
  border-radius: var(--lm-form-button-radius, 20px);
  text-decoration: none;
  font-weight: 800;
  text-align: center;
  border: none;
  font-size: 1.4rem;
  height: 36px;
  line-height: 36px;
  outline: 0;
  overflow: hidden;
  padding: 0 20px;
  pointer-events: auto;
  position: relative;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  vertical-align: top;
  white-space: nowrap;
  z-index: 9;
  min-width: 150px;
  transition: box-shadow .2s;
}

/* Active (enabled) */
.lm-lead-form .lead-manager-form .btn-style-01:not(.disabled):not(.saved) {
  cursor: pointer;
  background-color: var(--lm-form-button, #fa6200);
  color: var(--lm-form-button-text);
  background-image: linear-gradient(180deg, color-mix(in srgb, var(--lm-form-button, #fa6200) 86%, white), var(--lm-form-button, #fa6200));
  box-shadow: rgba(0, 0, 0, 0.1) 0 2px 4px;
}

.lm-lead-form .lead-manager-form .btn-style-01:not(.disabled):not(.saved):hover {
  background-image: linear-gradient(180deg, var(--lm-form-button, #fa6200), var(--lm-form-button-hover, #e62c03));
  box-shadow: rgba(253, 76, 0, 0.5) 0 3px 8px;
  color: #fff;
}

/* Submit wrapper */
.lm-lead-form .lead-manager-form .lead-form-submit {
  position: relative;
}

/* Keep validation help in normal document flow, BELOW all form actions. */
.lm-lead-form .lead-manager-form .lm-form-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.lm-lead-form .lead-manager-form .lead-form-submit .tip {
  position: static;
  display: none;
  width: 100%;
  height: auto;
  box-sizing: border-box;
  margin-top: 10px;
  padding: 8px 10px;
  border: 1px solid #f0c5c0;
  border-radius: 7px;
  background: #fff5f4;
  color: #a8251c;
  text-align: center;
  font-size: 12px;
  line-height: 1.4;
  white-space: normal;
  pointer-events: none;
}
.lm-lead-form .lead-manager-form.is-tip-visible .lead-form-submit .tip {
  display: block;
}

/* Overlay */
.lm-lead-form .lead-manager-form form {
  position: relative;
}

.lm-lead-form .lead-manager-form form .overlay {
  position: absolute;
  background: rgba(255,255,255,0.07);
  width: 100%;
  height: 100%;
  top: 0; left: 0;
  display: none;
  justify-content: center;
  align-items: center;
}

.lm-lead-form .lead-manager-form form .overlay .message-container {
  padding: 2rem;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0 2px 4px;
}

.lm-lead-form .lead-manager-form form .overlay .message-container > * {
  color: #3d8223;
  font-weight: 700;
  font-size: 1.6rem;
}

/* Show overlay when saved */
.lm-lead-form .lead-manager-form.is-saved form .overlay {
  display: flex;
  z-index: 99;
  /* backdrop-filter is nice but optional */
  backdrop-filter: blur(2px);
}

/* Lead submit button full width */
.lm-lead-form .lead-manager-form .lead-submit-btn {
  width: 100%;
}

/* Disabled style */
.lm-lead-form .lead-manager-form .lead-submit-btn.disabled {
  background-color: var(--lm-form-button-disabled);
  background-image: none;
  color: var(--lm-form-button-disabled-text);
  cursor: not-allowed;
  opacity: 0.6;
}

.lm-lead-form .lead-manager-form .lead-submit-btn.disabled:hover {
  background-image: none;
  box-shadow: none;
}

/* Footer */
.lm-lead-form .lead-manager-form footer .disclaimer {
  margin: 3rem 0 2rem;
  font-size: 1.3rem;
  text-align: center;
}

.lm-lead-form .lead-manager-form footer .secure-logos {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5px;
}

/* ==============================
   Lead Form Errors
   ============================== */

.lm-lead-form .lm-lead-errors {
  border: 1px solid rgba(230, 44, 3, 0.35);
  background: linear-gradient(180deg, #fff6f5, #ffe9e7);
  border-radius: 8px;
  padding: 14px 16px;
  margin-bottom: 18px;
  box-shadow: rgba(0,0,0,0.05) 0 2px 4px;
  position: relative;
}

/* left accent bar */
.lm-lead-form .lm-lead-errors::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 8px 0 0 8px;
  background: #e62c03;
}

/* error list */
.lm-lead-form .lm-lead-errors ul {
  margin: 0;
  padding-left: 22px;
  list-style: none;
}

/* error item */
.lm-lead-form .lm-lead-errors li {
  position: relative;
  margin: 6px 0;
  font-size: 1.35rem;
  line-height: 1.45;
  color: #7a0f0f;
  font-weight: 600;
}

/* bullet icon */
.lm-lead-form .lm-lead-errors li::before {
  content: "⚠";
  position: absolute;
  left: -18px;
  top: 0;
  font-size: 1.1rem;
  color: var(--lm-form-field-error);
}

/* field name highlight */
.lm-lead-form .lm-lead-errors li strong {
  color: #c11900;
  font-weight: 700;
}

/* ==============================
   Inline Field Errors
   ============================== */

.lm-lead-form .lead-form-group {
  position: relative;
}

/* error message text */
.lm-lead-form .lm-field-error {
  font-size: 1.2rem;
  color: var(--lm-form-field-error);
  margin-top: 6px;
  min-height: 1.2rem;
  line-height: 1.3;
  font-weight: 600;
}

/* invalid input */
.lm-lead-form input.invalid-field {
  border-color: var(--lm-form-field-error);
  box-shadow: 0 0 0 1px rgba(230,44,3,0.25);
}

/* label turns red when invalid */
.lm-lead-form input.invalid-field + label {
  color: #c11900;
}

/* subtle shake animation */
@keyframes lm-input-shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(-3px); }
  40% { transform: translateX(3px); }
  60% { transform: translateX(-3px); }
  80% { transform: translateX(3px); }
  100% { transform: translateX(0); }
}

.lm-lead-form input.invalid-field.shake {
  animation: lm-input-shake .3s ease;
}

/* valid input indicator */
.lm-lead-form input:valid:not(.invalid-field) {
  border-color: var(--lm-form-field-valid);
}

/* smooth transitions */
.lm-lead-form input {
  transition: border-color .2s ease, box-shadow .2s ease;
}

/* Mobile tweaks */
@media (max-width: 480px) {
  .lm-lead-form .lm-lead-errors {
    font-size: 1.25rem;
    padding: 12px 14px;
  }
  .lm-lead-form .lead-manager-form {
    box-shadow: none;
    padding-left: 0;
    padding-right: 0;
  }
}

.lm-lead-form input:valid:not(.invalid-field) {
  background-image: url("data:image/svg+xml,%3Csvg ...checkmark...%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 16px;
}
/* ==============================
   v1.8.0 styling controls / presets
   ============================== */
/* Legacy fallback: managed themes overwrite via explicit theme classes, while
   only *explicit* shortcode overrides are written inline by PHP. */
.lm-lead-form{--lm-form-max-width:500px;--lm-form-accent:#1e7eb9;--lm-form-button:#fa6200;--lm-form-button-hover:#e62c03;--lm-form-surface:#fff;--lm-form-text:#1d2327;--lm-form-radius:12px;--lm-form-button-text:#fff;--lm-form-button-disabled:#ccc;--lm-form-button-disabled-text:#666;--lm-form-button-radius:12px;--lm-form-field-bg:#fff;--lm-form-field-text:#1e7eb9;--lm-form-field-border:#dbe2ea;--lm-form-field-focus:#1e7eb9;--lm-form-field-radius:10px;--lm-form-field-height:50px;--lm-form-field-label:#999;--lm-form-field-valid:#3d8223;--lm-form-field-error:#e62c03;--lm-form-progress-track:#e7edf3;--lm-form-progress-height:6px;--lm-form-instruction:#64748b;--lm-form-subtle-text:#64748b;--lm-form-privacy-text:#6b7280;--lm-form-back-border:#c5d1db;--lm-form-grid-gap:14px;--lm-form-card-padding:30px;color:var(--lm-form-text)}
.lm-lead-form.lm-layout-age-zip {--lm-form-max-width:560px;--lm-form-button-radius:9px}
.lm-lead-form.lm-style-classic {--lm-form-progress-height:16px;--lm-form-button-radius:20px}
.lm-lead-form.lm-style-modern {--lm-form-progress-height:7px;--lm-form-field-text:#1d2327}
/* Quote Hero's previous blue form colors remain intact when no theme is selected. */
.lm-quote-hero .lm-lead-form {--lm-form-max-width:620px;--lm-form-radius:14px;--lm-form-accent:#147fb8;--lm-form-button:#147fb8;--lm-form-button-hover:#095d8e}
.lm-lead-form .lead-manager-form{border-radius:var(--lm-form-radius);color:var(--lm-form-text)}
.lm-lead-form.lm-shadow-none .lead-manager-form{box-shadow:none}.lm-lead-form.lm-shadow-soft .lead-manager-form{box-shadow:0 10px 30px rgba(15,23,42,.09)}.lm-lead-form.lm-shadow-strong .lead-manager-form{box-shadow:0 20px 55px rgba(15,23,42,.18)}
.lm-lead-form .lm-form-kicker{display:none;text-align:center;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--lm-form-accent);margin-bottom:8px}
.lm-lead-form .lm-form-privacy-note{font-size:11px;line-height:1.45;text-align:center;color:var(--lm-form-privacy-text);margin:12px auto 0;max-width:420px}
.lm-lead-form .lm-security-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.lm-lead-form .step-progress{overflow:hidden}.lm-lead-form .step-progress>span{display:none}
.lm-lead-form .lead-form-group input,.lm-lead-form .radio-group{background-color:var(--lm-form-field-bg)}

.lm-lead-form.lm-density-compact .lead-manager-form{padding:1.35rem}.lm-lead-form.lm-density-compact .step-viewport{padding-top:1.25rem}.lm-lead-form.lm-density-compact .lead-form-group{margin-bottom:11px}.lm-lead-form.lm-density-compact footer .disclaimer{margin-top:1.75rem}

.lm-lead-form.lm-style-modern .lead-manager-form{padding:var(--lm-form-card-padding);border:1px solid rgba(15,23,42,.08);background:linear-gradient(180deg,var(--lm-form-surface),color-mix(in srgb,var(--lm-form-surface) 96%,var(--lm-form-accent)))}
.lm-lead-form.lm-style-modern .lm-form-kicker{display:block}.lm-lead-form.lm-style-modern .lead-form-title{font-size:clamp(26px,4vw,36px);line-height:1.08;letter-spacing:-.03em;margin-bottom:10px;color:var(--lm-form-text)}
.lm-lead-form.lm-style-modern .step-instruction{text-align:center;font-size:15px;line-height:1.5;color:var(--lm-form-subtle-text);margin:0 0 18px}
.lm-lead-form.lm-style-modern .step-text-info{display:block;margin:0 0 7px;font-size:12px;text-align:right;color:var(--lm-form-subtle-text)}
.lm-lead-form.lm-style-modern .step-progress{height:var(--lm-form-progress-height);background:var(--lm-form-progress-track)}
.lm-lead-form.lm-style-modern .lead-form-group input:not([type=radio]),.lm-lead-form.lm-style-modern .lead-form-group .radio-group{height:var(--lm-form-field-height);border-radius:var(--lm-form-field-radius);border-color:var(--lm-form-field-border);font-size:15px;color:var(--lm-form-text);box-shadow:0 1px 2px rgba(15,23,42,.02)}
.lm-lead-form.lm-style-modern .lead-form-group:not(.is-radio)>label,.lm-lead-form.lm-style-modern .lead-form-group.is-radio>label{background:var(--lm-form-surface);border-radius:4px}
.lm-lead-form.lm-style-modern .btn-style-01{height:50px;line-height:50px;border-radius:var(--lm-form-button-radius);font-size:16px;letter-spacing:.01em}
.lm-lead-form.lm-style-modern footer .disclaimer{color:var(--lm-form-subtle-text);line-height:1.5}.lm-lead-form.lm-style-modern footer .secure-logos img{max-height:36px;width:auto}

.lm-lead-form.lm-style-minimal .lead-manager-form{box-shadow:none!important;border:0;border-left:3px solid var(--lm-form-accent);border-radius:0;padding:22px 24px;background:transparent}
.lm-lead-form.lm-style-minimal .lm-form-kicker{display:block;text-align:left}.lm-lead-form.lm-style-minimal .lead-form-title{text-align:left;color:var(--lm-form-text);font-size:28px;margin-bottom:8px}.lm-lead-form.lm-style-minimal .step-instruction{text-align:left;color:var(--lm-form-subtle-text)}.lm-lead-form.lm-style-minimal .step-text-info{margin-left:0}.lm-lead-form.lm-style-minimal .lead-form-group input:not([type=radio]),.lm-lead-form.lm-style-minimal .radio-group{border-width:0 0 1px;border-radius:0;padding-left:4px;padding-right:4px}.lm-lead-form.lm-style-minimal .lead-form-group:not(.is-radio)>label,.lm-lead-form.lm-style-minimal .lead-form-group.is-radio>label{left:0;padding-left:4px;padding-right:4px;background:transparent}.lm-lead-form.lm-style-minimal .btn-style-01{border-radius:6px}

@keyframes lm-autofill-start{from{opacity:.999}to{opacity:1}}
.lm-lead-form input:-webkit-autofill{animation-name:lm-autofill-start;animation-duration:.01s}

@media(max-width:480px){.lm-lead-form.lm-style-modern .lead-manager-form{padding:20px 16px;box-shadow:none}.lm-lead-form.lm-style-minimal .lead-manager-form{padding:18px 12px}.lm-lead-form .lm-form-privacy-note{padding:0 6px}}

/* Age + ZIP edition: scoped to the new shortcode / WES clone only. */
.lm-lead-form.lm-layout-age-zip .lead-manager-form {
  border-radius: var(--lm-form-radius, 16px);
  border: 1px solid rgba(25, 56, 87, .10);
  padding: clamp(20px, 4vw, 34px);
  box-shadow: 0 16px 40px rgba(20, 48, 72, .10);
}
.lm-lead-form.lm-layout-age-zip .lm-form-header { text-align: left; }
.lm-lead-form.lm-layout-age-zip .lm-form-kicker { letter-spacing: .025em; }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-title { text-align:left; font-size: clamp(23px, 3vw, 29px); margin-bottom: 8px; }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .step-instruction { font-size: 15px; font-weight: 400; margin-bottom: 15px; }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .step-text-info { margin: 0 0 8px; display: block; font-size: 12px; }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .step-progress { height: var(--lm-form-progress-height); border-radius: 20px; background: var(--lm-form-progress-track); }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .step-viewport { gap: 14px; padding-top: 22px; align-items: flex-start; }
.lm-lead-form.lm-layout-age-zip [data-lm-step="1"],
.lm-lead-form.lm-layout-age-zip [data-lm-step="2"] { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lm-form-grid-gap); }
.lm-lead-form.lm-layout-age-zip .lead-form-group { min-width: 0; margin-bottom: 12px; }
.lm-lead-form.lm-layout-age-zip [data-lm-step="1"] .lead-form-group,
.lm-lead-form.lm-layout-age-zip [data-lm-step="2"] .lead-form-group { margin-bottom: 0; }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-group input:not([type='radio']),
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-group .radio-group { height: var(--lm-form-field-height); border-radius: var(--lm-form-field-radius); }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-group:not(.is-radio) > label,
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-group.is-radio > label { top: 18px; }
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-group:not(.is-radio) input:focus + label,
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-group:not(.is-radio) input:valid:not(.invalid-field) + label,
.lm-lead-form.lm-layout-age-zip .lead-manager-form .lead-form-group.is-radio.is-has-selection > label { top: -5px; }
.lm-lead-form.lm-layout-age-zip .lead-form-submit { display: block; }
.lm-lead-form.lm-layout-age-zip .lm-form-actions .lead-submit-btn { flex: 1; min-width: 0; width: auto; height: 46px; line-height: 46px; border-radius: var(--lm-form-button-radius); }
.lm-lead-form.lm-layout-age-zip .lm-form-back { background: transparent; border: 1px solid var(--lm-form-back-border); border-radius: 9px; color: var(--lm-form-text,#1d2327); min-height: 46px; padding: 0 17px; cursor: pointer; }
.lm-lead-form.lm-layout-age-zip .lm-form-back[hidden] { display:none; }
.lm-lead-form.lm-layout-age-zip .lm-form-privacy-note { font-size: 12px; line-height: 1.5; }
.lm-lead-form.lm-layout-age-zip input[name="age"] { appearance:textfield; -moz-appearance:textfield; }
.lm-lead-form.lm-layout-age-zip input[name="age"]::-webkit-inner-spin-button,
.lm-lead-form.lm-layout-age-zip input[name="age"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
@media (max-width: 450px) {
  .lm-lead-form.lm-layout-age-zip .lead-manager-form { padding: 20px 16px; }
  .lm-lead-form.lm-layout-age-zip [data-lm-step="1"],
  .lm-lead-form.lm-layout-age-zip [data-lm-step="2"] { grid-template-columns: minmax(0,1fr); gap: 3px; }
  .lm-lead-form.lm-layout-age-zip [data-lm-step="1"] .lead-form-group,
  .lm-lead-form.lm-layout-age-zip [data-lm-step="2"] .lead-form-group { margin-bottom: 13px; }
}

/* 1.10.8 — consistent theme tokens shared by classic, age and hero forms. */
.lm-lead-form .lead-manager-form .lead-form-group input:not([type='radio']),
.lm-lead-form .lead-manager-form .lead-form-group .radio-group { background-color:var(--lm-form-field-bg); color:var(--lm-form-field-text); }
.lm-lead-form .lead-manager-form .lead-form-group input:not([type='radio']):focus { border-color:var(--lm-form-field-focus); }
.lm-lead-form .lead-manager-form .step-instruction { color:var(--lm-form-instruction); }
.lm-lead-form .lead-manager-form .btn-style-01:not(.disabled):not(.saved) { color:var(--lm-form-button-text); }
.lm-lead-form .lead-manager-form .btn-style-01:not(.disabled):not(.saved):hover { color:var(--lm-form-button-text); }
.lm-lead-form .lead-manager-form .lm-form-privacy-note { color:var(--lm-form-privacy-text); }
.lm-lead-form .lead-manager-form .lead-form-group .radio-label { color:var(--lm-form-field-label); }
