/* ============================================================
   DraftWise India – forms.css
   Dynamic form engine styles
   ============================================================ */
.form-section { padding: 2rem 0; }

.form-label { font-size: 0.9rem; color: var(--dw-text); margin-bottom: 0.35rem; }

.form-control, .form-select {
  border: 1.5px solid var(--dw-border);
  border-radius: 8px;
  padding: 0.6rem 0.85rem;
  font-size: 0.9rem;
  color: var(--dw-text);
  transition: border-color 0.2s, box-shadow 0.2s;
  background: white;
}
.form-control:focus, .form-select:focus {
  border-color: var(--dw-violet);
  box-shadow: 0 0 0 3px rgba(109,40,217,0.12);
  outline: none;
}
.form-control.is-invalid, .form-select.is-invalid { border-color: var(--dw-danger); }
.form-control.is-valid, .form-select.is-valid { border-color: var(--dw-success); }

textarea.form-control { resize: vertical; min-height: 100px; }

.input-group .input-group-text {
  background: var(--dw-gradient-soft);
  border: 1.5px solid var(--dw-border);
  border-right: none;
  border-radius: 8px 0 0 8px;
  color: var(--dw-violet);
  font-weight: 600;
}
.input-group .form-control { border-radius: 0 8px 8px 0; }

.form-check-input:checked { background-color: var(--dw-violet); border-color: var(--dw-violet); }
.form-check-input:focus { box-shadow: 0 0 0 3px rgba(109,40,217,0.12); border-color: var(--dw-violet); }

.field-group { animation: fieldFadeIn 0.2s ease; }
@keyframes fieldFadeIn { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.invalid-feedback { font-size: 0.8rem; color: var(--dw-danger); display: block; }

/* State selector */
#stateSelector {
  max-width: 300px;
  border: 2px solid var(--dw-violet);
  font-weight: 600;
  color: var(--dw-violet);
}

/* Recipient suggestions */
.recipient-card {
  background: var(--dw-gradient-soft);
  border-color: #DDD6FE !important;
  font-size: 0.85rem;
}

/* Proofreading toggle */
.proof-toggle .btn-check:checked + .btn-outline-secondary {
  background: var(--dw-gradient);
  color: white;
  border-color: transparent;
}

/* Readiness panel */
#readinessPanel { padding: 1rem; background: white; border-radius: var(--dw-radius); border: 1px solid var(--dw-border); }
.readiness-label { color: var(--dw-violet); }
