/* Light CRM lead form shell (prisme skin) — readable on white cards */
.rek-form-wrap,
.themed-section .rek-form-wrap,
.themed-section form.lead-form,
form.lead-form.js-lead-form {
  --rek-form-ink: #002300;
  --rek-form-muted: #2a4a38;
  --rek-form-border: #255cb8;
  --rek-form-bg: #ffffff;
}

.rek-form-wrap {
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
}

.rek-form-wrap form.lead-form.js-lead-form,
.themed-section form.lead-form.js-lead-form,
form.lead-form.js-lead-form {
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--rek-form-ink) !important;
  border-radius: 14px;
  padding: 22px 20px;
  width: 100%;
  max-width: 460px;
  margin: 0 auto;
  box-sizing: border-box;
  box-shadow: 0 8px 28px rgba(8, 51, 68, 0.12);
}

.rek-form-wrap .form-heading,
.rek-form-wrap form h3,
form.lead-form.js-lead-form .form-heading {
  font-size: clamp(1.15rem, 1.5vw, 1.4rem);
  font-weight: 700;
  text-align: center;
  margin: 0 0 1.1rem;
  line-height: 1.25;
  color: var(--rek-form-ink) !important;
  hyphens: none;
  overflow-wrap: anywhere;
}

/* Default: stacked fields (comfortable). 2-col only when form is wide enough. */
form.lead-form.js-lead-form .form-grid {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 0.85rem;
  margin-bottom: 0.5rem;
}

form.lead-form.js-lead-form .field-full {
  grid-column: 1 / -1;
}

@media (min-width: 1000px) {
  form.lead-form.js-lead-form .form-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0.85rem 0.9rem;
  }
}

form.lead-form.js-lead-form .field {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  margin: 0;
}

form.lead-form.js-lead-form .field-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rek-form-ink) !important;
  line-height: 1.3;
}

/* Source dump sets `form input { margin-bottom: 15px }` — kill it on CRM lead form */
form.lead-form.js-lead-form input {
  margin-bottom: 0 !important;
}
form.lead-form.js-lead-form input[type="hidden"],
form.lead-form.js-lead-form .apx-hp-wrap {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  height: 0 !important;
  width: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  position: absolute !important;
  left: -10000px !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

form.lead-form.js-lead-form .input,
form.lead-form.js-lead-form input[type="text"],
form.lead-form.js-lead-form input[type="email"],
form.lead-form.js-lead-form input[type="tel"] {
  width: 100%;
  min-height: 48px;
  border-radius: 15px;
  padding: 12px 16px;
  border: 1px solid var(--rek-form-border);
  background: #fff !important;
  color: #0f172a !important;
  font-size: 16px;
  font-weight: 400;
  margin: 0 !important;
}

form.lead-form.js-lead-form .input::placeholder,
form.lead-form.js-lead-form input::placeholder {
  color: #94a3b8 !important;
  opacity: 1;
}

form.lead-form.js-lead-form .input:focus,
form.lead-form.js-lead-form input:focus {
  outline: none;
  border-color: #255cb8;
  box-shadow: 0 0 0 3px rgba(37, 92, 184, 0.22);
  background: #fff !important;
}

/* intl-tel-input on light form */
form.lead-form.js-lead-form .iti {
  width: 100%;
  display: block;
}
form.lead-form.js-lead-form .iti__selected-dial-code,
form.lead-form.js-lead-form .iti__dial-code {
  color: #0f172a !important;
  opacity: 1 !important;
  font-weight: 600;
}
form.lead-form.js-lead-form .iti__selected-country {
  color: #0f172a !important;
}
form.lead-form.js-lead-form .iti input[type="tel"] {
  padding-left: var(--apx-iti-pad, 5.5rem) !important;
}

form.lead-form.js-lead-form .btn-primary,
form.lead-form.js-lead-form button.submit,
form.lead-form.js-lead-form button[type="submit"] {
  width: 100%;
  margin-top: 0.75rem;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.2;
  border-radius: 25px;
  border: 2px solid #357904;
  background: #255cb8 !important;
  color: #ffffff !important;
  padding: 14px 16px;
  cursor: pointer;
}

form.lead-form.js-lead-form .form-legal {
  margin: 0.75rem 0 0 !important;
  font-size: 0.75rem;
  line-height: 1.5;
  color: var(--rek-form-muted) !important;
  text-align: center;
}
form.lead-form.js-lead-form .form-legal a {
  color: #255cb8 !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

/* Payment icons row */
form.lead-form.js-lead-form .payment-icons,
.rek-form-wrap .payment-icons {
  margin-top: 0.875rem;
}
form.lead-form.js-lead-form .payment-icons-list,
.rek-form-wrap .payment-icons-list {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.75rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
form.lead-form.js-lead-form .payment-icons-list li {
  display: inline-flex;
  margin: 0;
  padding: 0;
}
form.lead-form.js-lead-form .payment-icons-list img {
  height: 24px;
  width: auto;
  max-width: 48px;
  object-fit: contain;
  display: block;
}
