/* =========================================================
   KAOKAB5GC – Generic Forms
   ========================================================= */

/* ================= FORM ROW ================= */

.form-row {
  display: flex;
  flex-direction: column;
}

/* ================= LABELS ================= */

.form-row label {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 6px;
}

/* Required field marker */
label.required::after {
  content: " *";
  color: #ff9800;
  font-weight: 700;
}

/* ================= INPUTS & SELECTS ================= */

.form-row input,
.form-row select {
  padding: 10px 12px;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: #0b1220;
  color: var(--text);
  font-size: 14px;
}

.form-row input:focus,
.form-row select:focus {
  outline: none;
  border-color: #ff9800;
  box-shadow: 0 0 0 1px rgba(255, 152, 0, 0.35);
}

/* ================= PRIMARY BUTTON ================= */

button.primary {
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  border: none;
  font-weight: 700;
  cursor: pointer;
  background: linear-gradient(135deg, #ff8a00, #ffb347);
  color: #000;
  transition: transform 0.15s ease;
}

button.primary:hover {
  transform: translateY(-1px);
}

/* ================= FORM MESSAGES ================= */

.form-msg {
  margin-top: 12px;
  font-size: 13px;
}

.form-msg.ok-msg {
  color: var(--green);
}

.form-msg.err-msg {
  color: var(--red);
}

/* ================= FIELD ERROR ================= */

.field-error {
  border: 2px solid #ff4d4f !important;
  box-shadow: 0 0 0 1px rgba(255, 77, 79, 0.35);
}

.field-error:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 77, 79, 0.45);
}
