/* Atomic Form Widget CSS */
.ae-form {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ae-form-gap, 16px);
  width: 100%;
  box-sizing: border-box;
}

.ae-form__field-wrapper {
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-sizing: border-box;
  width: 100%;
}

.ae-form__field-wrapper--100 { width: 100%; }
.ae-form__field-wrapper--75  { width: calc(75% - (var(--ae-form-gap, 16px) * 0.25)); }
.ae-form__field-wrapper--66  { width: calc(66.66% - (var(--ae-form-gap, 16px) * 0.33)); }
.ae-form__field-wrapper--50  { width: calc(50% - (var(--ae-form-gap, 16px) * 0.5)); }
.ae-form__field-wrapper--33  { width: calc(33.33% - (var(--ae-form-gap, 16px) * 0.66)); }
.ae-form__field-wrapper--25  { width: calc(25% - (var(--ae-form-gap, 16px) * 0.75)); }
.ae-form__field-wrapper--20  { width: calc(20% - (var(--ae-form-gap, 16px) * 0.8)); }

@media (max-width: 767px) {
  .ae-form__field-wrapper {
    width: 100% !important;
  }
}

.ae-form__label {
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--ae-text-color);
}

.ae-form__required {
  color: #ef4444;
  margin-left: 2px;
}

.ae-form__input,
.ae-form__textarea,
.ae-form__select {
  width: 100%;
  padding: 10px 14px;
  border: var(--ae-input-border, 1px solid #cbd5e1);
  border-radius: var(--ae-input-radius, var(--ae-radius-sm));
  font-size: 1rem;
  font-family: inherit;
  color: var(--ae-text-color);
  background-color: #ffffff;
  box-sizing: border-box;
  transition: border-color var(--ae-transition-fast), box-shadow var(--ae-transition-fast);
}

.ae-form__input:focus,
.ae-form__textarea:focus,
.ae-form__select:focus {
  outline: none;
  border-color: var(--ae-primary-color);
  box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

.ae-form__textarea {
  min-height: 120px;
  resize: vertical;
}

.ae-form__checkbox-label,
.ae-form__radio-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.95rem;
  cursor: pointer;
}

.ae-form__honeypot {
  display: none !important;
  visibility: hidden;
  opacity: 0;
  position: absolute;
  left: -9999px;
}

.ae-form__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 28px;
  background-color: var(--ae-primary-color);
  color: #ffffff;
  border: none;
  border-radius: var(--ae-radius-md);
  font-size: 1rem;
  font-weight: 600;
  cursor: pointer;
  transition: all var(--ae-transition-fast);
}

.ae-form__submit:hover {
  opacity: 0.9;
}

.ae-form__submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.ae-form__message {
  width: 100%;
  padding: 12px 16px;
  border-radius: var(--ae-radius-sm);
  font-size: 0.95rem;
  display: none;
  box-sizing: border-box;
}

.ae-form__message--success {
  background-color: #f0fdf4;
  color: #166534;
  border: 1px solid #bbf7d0;
  display: block;
}

.ae-form__message--error {
  background-color: #fef2f2;
  color: #991b1b;
  border: 1px solid #fecaca;
  display: block;
}
