.growfund-page-container .growfund-input {
  width: 100%;
  padding: var(--growfund-spacing-3);
  border: 1px solid var(--growfund-gray-8);
  border-radius: var(--growfund-radius-3);
  font-size: var(--growfund-font-size-3);
  line-height: 21px;
  background-color: var(--growfund-gray-1);
  color: var(--growfund-gray-16);
  transition: all 0.2s ease;
  height: 40px;
  max-height: 40px;
  box-sizing: border-box;
}

.growfund-page-container .growfund-input:focus {
  outline: none;
  border-color: var(--growfund-blue-3);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.growfund-page-container .growfund-input::placeholder {
  color: var(--growfund-gray-12);
  font-size: var(--growfund-font-size-3);
  line-height: 21px;
}

.growfund-page-container .growfund-input:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--growfund-gray-4);
}

/* Checkbox Styles - Updated to match admin site design */
.growfund-page-container .growfund-input[type='checkbox'] {
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--growfund-gray-8);
  border-radius: 3px;
  background-color: var(--growfund-gray-1);
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
  flex-shrink: 0;
  max-height: 16px;
  box-sizing: border-box;
}

.growfund-page-container .growfund-input[type='checkbox']::-webkit-input-checkbox {
  width: 16px;
  height: 16px;
}

/* Checkbox focus state */
.growfund-page-container .growfund-input[type='checkbox']:focus {
  outline: none;
  border-color: var(--growfund-green-4);
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2);
}

/* Checkbox checked state */
.growfund-page-container .growfund-input[type='checkbox']:checked {
  border-color: var(--growfund-green-4);
  background-color: var(--growfund-green-4);
}

/* Checkbox checked indicator (checkmark) */
.growfund-page-container .growfund-input[type='checkbox']:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 4px;
  height: 8px;
  border: 2px solid var(--growfund-gray-1);
  border-top: none;
  border-left: none;
}

/* Checkbox hover state */
.growfund-page-container .growfund-input[type='checkbox']:hover:not(:checked) {
  border-color: var(--growfund-gray-10);
}

/* Checkbox disabled state */
.growfund-page-container .growfund-input[type='checkbox']:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--growfund-gray-4);
}

/* Radio Button Styles - Updated to match admin site design */
.growfund-page-container .growfund-input[type='checkbox'],
.growfund-page-container .growfund-input[type='radio'] {
  width: 16px;
  height: 16px;
  padding: 0;
  margin: 0;
  border: 1px solid var(--growfund-gray-8);
  border-radius: 3px;
  background-color: var(--growfund-gray-1);
  cursor: pointer;
  position: relative;
  transition: all 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
  max-height: 16px;
  box-sizing: border-box;
}

.growfund-page-container .growfund-input[type='radio'] {
  border-radius: 50%;
}

/* Radio button focus state */
.growfund-page-container .growfund-input[type='radio']:focus {
  outline: none;
  border-color: var(--growfund-green-4);
  box-shadow: 0 0 0 2px rgba(76, 175, 80, 0.2);
}

/* Radio button checked state */
.growfund-page-container .growfund-input[type='radio']:checked {
  border-color: var(--growfund-green-4);
  background-color: var(--growfund-gray-1);
}

/* Radio button checked indicator */
.growfund-page-container .growfund-input[type='radio']:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: var(--growfund-green-4);
  border: none;
}

/* Radio button hover state */
.growfund-page-container .growfund-input[type='radio']:hover:not(:checked) {
  border-color: var(--growfund-gray-10);
}

/* Radio button disabled state */
.growfund-page-container .growfund-input[type='radio']:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background-color: var(--growfund-gray-4);
}

/* Input States */
.growfund-page-container .growfund-input.growfund-input--error {
  border-color: var(--growfund-red-6);
}

.growfund-page-container .growfund-input.growfund-input--error:focus {
  border-color: var(--growfund-red-6);
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}

.growfund-page-container .growfund-input.growfund-input--success {
  border-color: var(--growfund-green-6);
}

.growfund-page-container .growfund-input.growfund-input--success:focus {
  border-color: var(--growfund-green-6);
  box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.1);
}

/* Size Variants */
.growfund-page-container .growfund-input--sm {
  padding: var(--growfund-spacing-1) var(--growfund-spacing-3);
  font-size: var(--growfund-font-size-xs);
  height: 32px;
  max-height: 32px;
  box-sizing: border-box;
}

.growfund-page-container .growfund-input--lg {
  padding: var(--growfund-spacing-3) var(--growfund-spacing-5);
  font-size: var(--growfund-font-size-base);
  height: 48px;
  max-height: 48px;
  box-sizing: border-box;
}

/* Simple amount input variant - displays currency inline like "$4.00" */
.growfund-page-container .growfund-simple-amount-input {
  display: flex;
  align-items: center;
  border: 1px solid var(--growfund-gray-8);
  border-radius: var(--growfund-radius-3);
  background-color: var(--growfund-gray-1);
  padding: 0;
  width: auto;
  min-width: 6em;
  transition: all 0.2s ease;
}

.growfund-page-container .growfund-simple-amount-input:focus-within {
  outline: none;
  border-color: var(--growfund-blue-3);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.growfund-page-container .growfund-simple-currency {
  color: var(--growfund-gray-16);
  font-size: var(--growfund-font-size-3);
  line-height: 21px;
  font-weight: var(--growfund-font-weight-medium);
  padding-left: var(--growfund-spacing-3);
  flex-shrink: 0;
}

.growfund-page-container .growfund-simple-amount-input .growfund-input-simple {
  border: none;
  background: transparent;
  padding: var(--growfund-spacing-2) var(--growfund-spacing-3) var(--growfund-spacing-2) 0;
  width: auto;
  min-width: 3em;
  flex: 1;
  height: 40px;
  max-height: 40px;
  box-sizing: border-box;
}

.growfund-page-container .growfund-simple-amount-input .growfund-input-simple:focus {
  outline: none;
  border: none;
  box-shadow: none;
}

/* Password Toggle Styles */
.growfund-page-container .growfund-password-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.growfund-page-container .growfund-password-wrapper .growfund-input {
  padding-right: 40px;
}

/* Make room for the toggle button */
.growfund-page-container .growfund-password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  color: var(--growfund-gray-12);
  transition: color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}

.growfund-page-container .growfund-password-toggle:hover {
  color: var(--growfund-gray-16);
  background-color: var(--growfund-gray-4);
}

.growfund-page-container .growfund-password-toggle:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}

/* Password toggle icon visibility */
.growfund-page-container .growfund-password-icon--visible {
  display: none;
}

.growfund-page-container .growfund-password-wrapper.show-password .growfund-password-icon--hidden {
  display: none;
}

.growfund-page-container .growfund-password-wrapper.show-password .growfund-password-icon--visible {
  display: inline-block;
}

/* Responsive Design */
@media (max-width: 1023px) {

  /* =========================================
   FORM LAYOUT ENHANCEMENTS
   ========================================= */
  /* Checkbox and radio button form field layouts */
  .growfund-page-container .growfund-input-group {
    padding: var(--growfund-spacing-4);
  }

.growfund-page-container .growfund-search-input {
    font-size: var(--growfund-font-size-4);
    padding: var(--growfund-spacing-4);
  }

.growfund-page-container .growfund-search-btn {
    padding: var(--growfund-spacing-2);
  }
}

.growfund-page-container .growfund-form-field input[type='checkbox'],
.growfund-page-container .growfund-form-field input[type='radio'] {
  margin-bottom: 0;
  vertical-align: middle;
}

/* Label styling for checkbox and radio fields */
.growfund-page-container .growfund-form-field input[type='checkbox']+label,
.growfund-page-container .growfund-form-field input[type='radio']+label {
  display: inline-flex;
  align-items: center;
  font-size: var(--growfund-font-size-3);
  font-weight: var(--growfund-font-weight-medium);
  color: var(--growfund-gray-15);
  cursor: pointer;
  padding: var(--growfund-spacing-2) 0;
  transition: color 0.2s ease;
  margin-bottom: 0;
  vertical-align: middle;
  line-height: 1.4;
}

.growfund-page-container .growfund-form-field input[type='checkbox']+label:hover,
.growfund-page-container .growfund-form-field input[type='radio']+label:hover {
  color: var(--growfund-gray-16);
}

.growfund-page-container .growfund-form-field input[type='checkbox']:focus+label,
.growfund-page-container .growfund-form-field input[type='radio']:focus+label {
  color: var(--growfund-gray-16);
}

/* Checkbox and radio button group layouts */
.growfund-page-container .growfund-checkbox-group,
.growfund-page-container .growfund-radio-group {
  display: flex;
  flex-direction: column;
  gap: var(--growfund-spacing-2);
  margin-bottom: var(--growfund-spacing-3);
}

.growfund-page-container .growfund-checkbox-group .growfund-form-field,
.growfund-page-container .growfund-radio-group .growfund-form-field {
  display: flex;
  align-items: center;
  margin-bottom: var(--growfund-spacing-2);
}

.growfund-page-container .growfund-checkbox-group .growfund-form-field:last-child,
.growfund-page-container .growfund-radio-group .growfund-form-field:last-child {
  margin-bottom: 0;
}

/* Horizontal layout for checkbox/radio groups */
.growfund-page-container .growfund-checkbox-group--horizontal,
.growfund-page-container .growfund-radio-group--horizontal {
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--growfund-spacing-4);
}

.growfund-page-container .growfund-checkbox-group--horizontal .growfund-form-field,
.growfund-page-container .growfund-radio-group--horizontal .growfund-form-field {
  margin-bottom: 0;
  min-width: 200px;
}

/* Focus ring for accessibility */
.growfund-page-container .growfund-form-field input[type='checkbox']:focus,
.growfund-page-container .growfund-form-field input[type='radio']:focus {
  outline: none;
}

.growfund-page-container .growfund-form-field input[type='checkbox']:focus-visible,
.growfund-page-container .growfund-form-field input[type='radio']:focus-visible {
  outline: 2px solid var(--growfund-green-4);
  outline-offset: 2px;
}

/* Error states for checkbox and radio fields */
.growfund-page-container .growfund-form-field--error input[type='checkbox'],
.growfund-page-container .growfund-form-field--error input[type='radio'] {
  border-color: var(--growfund-red-3);
}

.growfund-page-container .growfund-form-field--error input[type='checkbox']:focus,
.growfund-page-container .growfund-form-field--error input[type='radio']:focus {
  border-color: var(--growfund-red-3);
  box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
}

/* Success states for checkbox and radio fields */
.growfund-page-container .growfund-form-field--success input[type='checkbox'],
.growfund-page-container .growfund-form-field--success input[type='radio'] {
  border-color: var(--growfund-green-6);
}

.growfund-page-container .growfund-form-field--success input[type='checkbox']:focus,
.growfund-page-container .growfund-form-field--success input[type='radio']:focus {
  border-color: var(--growfund-green-6);
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.2);
}