/* Remove icon/symbol before error messages */
.elementor-message-danger::before,
.elementor-message-danger:before {
    display: none !important;
    content: none !important;
}

/* Clean error message styling without icons */
.elementor-message-danger {
    padding-left: 0 !important;
    text-indent: 0 !important;
}

/* Hide reCAPTCHA badge */
.grecaptcha-badge {
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Red border for input fields with errors */
.elementor-field-invalid {
    border-color: #FF0000 !important;
    border-width: 1px !important;
}

button#sign-up-btn {
    margin-bottom: 0 !important;
}

.elementor-message.api-error {
    padding: 0 15px !important;
    margin-bottom: 40px;
    margin-top: -10px;
}

/* Radio button field group - wrapper for label and radio buttons */
.elementor-field-group-form_code {
  display: block !important;
}

.elementor-field-type-radio > label.elementor-field-label {
  padding-bottom: 0 !important;
}

/* Create a flex container for just the label and radio button subgroup */
.elementor-field-group-form_code .elementor-field-label,
.elementor-field-group-form_code .elementor-field-subgroup {
  display: inline-flex !important;
  align-items: center !important;
  vertical-align: middle !important;
}

/* Main field label - "I am a*:" */
.elementor-field-group-form_code .elementor-field-label {
  margin-bottom: 0 !important;
  margin-right: 10px !important;
  white-space: nowrap !important;
}

/* Radio button subgroup - Patient and Caregiver options */
.elementor-field-group-form_code .elementor-subgroup-inline {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
}

/* Error message positioning for radio button field */
.elementor-field-group-form_code .elementor-message-danger {
  width: 100% !important;
  margin-top: 10px !important;
  margin-left: 0 !important;
  order: 10 !important;
}

/* Radio button container styling */
.elementor-field-type-radio .elementor-field-option {
  display: flex !important;
  align-items: center !important;
}

/* Put radio input after the label */
.elementor-field-type-radio .elementor-field-option label {
  order: 1 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #38336F !important;
  margin-right: 10px !important;
  margin-left: 0 !important;
  cursor: pointer !important;
}

.elementor-field-type-radio .elementor-field-option input[type="radio"] {
  order: 2 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Radio button styling */
input[type="radio"] {
  appearance: none !important;         
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  border: 1px solid #38336F !important;
	border-radius: 50% !important;
	background: #fff !important;
	width: 26px !important;             
  height: 26px !important;
  cursor: pointer !important;
  position: relative !important;
  outline: none !important;
  transition: all 0.3s ease !important;
}

/* Radio button checked state */
input[type="radio"]:checked {
  background: #fff !important;
  border: 1px solid #38336F !important;
}

/* Radio button checked state - inner dot */
input[type="radio"]:checked::after {
  content: '' !important;
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  background: #38336F !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
}

/* Radio button hover state */
input[type="radio"]:hover {
  border-color: #6a5f8a !important;
}

/* Radio button error state */
input[type="radio"].elementor-field-invalid {
  border: 1px solid #e74c3c !important;
}

input[type="radio"].elementor-field-invalid:checked {
  background: #e74c3c !important;
  border: 1px solid #e74c3c !important;
}