
input:-webkit-autofill,
input:-webkit-autofill:hover, 
input:-webkit-autofill:focus, 
input:-webkit-autofill:active{
    -webkit-box-shadow: 0 0 0 50px white inset !important;
}

select.lead-form-select {
  color: var(--color-text);
}


/* Lead form wrapper */
.lead-form-wrapper {
  max-width: 900px;
  margin: 0 auto;
  overflow: hidden;
}

/* Form styles with floating labels */
.lead-form-form {
  padding: 40px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.lead-form-group {
  position: relative;
  margin-bottom: 0;
}

.card-wrapper.lead-form-group  {
  padding-bottom: 0;
}


.lead-form-group.full-width {
  grid-column: span 2;
}

/* Floating label styles */
.lead-form-label {
  position: absolute;
  left: 32px;
  top: 37px;
  font-size: 14px;
  color: var(--color-gray);
  pointer-events: none;
  transition: var(--transition);
  background: white;
  padding: 0 4px;
}

.lead-form-label.required::after {
  content: '*';
  color: var(--color-secondary);
  margin-left: 4px;
}

/* Label floating effect */
.lead-form-input:focus + .lead-form-label,
.lead-form-input:not(:placeholder-shown) + .lead-form-label,
.lead-form-select:focus + .lead-form-label,
.lead-form-select:not([value=""]) + .lead-form-label {
  top: 14px;
  font-size: 12px;
  color: var(--color-secondary);
  background:var(--color-white-true);
}

/* Input styles */
.lead-form-input {
  width: 100%;
  padding: 12px 16px;
  font-size: 14px;
  border: none;
  background-color: var(--color-white-true);
  transition: var(--transition);
  height: 64px;
}

.lead-form-input::placeholder {
  color: transparent;
}

.lead-form-group:hover {
  box-shadow: var(--shadow-lg);
}

.lead-form-input:focus {
  outline: none;
}


/* Custom select styles */
.lead-form-select {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%23666666' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  cursor: pointer;
}

/* Custom dropdown list styling */
.lead-form-select option {
  padding: 8px 16px;
  color: var(--color-secondary);
}


.lead-form-textarea {
  min-height: 120px;
  resize: vertical;
}

/* Submit button */
.lead-form-submit {
  grid-column: span 2;
  justify-self: center;
  width: 240px;
  margin-top: 8px;
}


/* Success message */
.lead-form-success {
  display: none;
  padding: 40px;
  text-align: center;
  margin-top: var(--space-lg);
}

.lead-form-success-icon {
  width: 64px;
  height: 64px;
  background-color: green;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 24px;
}

.lead-form-success h3 {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 12px;
}

.lead-form-success p {
  color: var(--color-gray);
  font-size: 16px;
}

/* Error states */
.lead-form-error {
  display: none;
  font-size: 12px;
  color: red;
  margin-top: 4px;
}

.lead-form-input.invalid,
.lead-form-select.invalid {
  border-color: red;
}

.lead-form-input.invalid:focus,
.lead-form-select.invalid:focus {
  box-shadow: 0 0 0 2px rgba(255, 59, 48, 0.2);
}

.lead-form-input.invalid + .lead-form-label,
.lead-form-select.invalid + .lead-form-label {
  color: red;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .lead-form-form {
      grid-template-columns: 1fr;
      padding: 32px 24px;
  }

  .lead-form-group.full-width {
      grid-column: span 1;
  }

  .lead-form-submit {
      grid-column: span 1;
      width: 100%;
  }

  .lead-form-header {
      padding: 24px;
  }
}

@media (max-width: 480px) {
  .lead-form-form {
      padding: 24px 16px;
  }

  .lead-form-header {
      padding: 20px 16px;
  }

  .lead-form-header h2 {
      font-size: 20px;
  }
}