/**
 * Formularios tipo maestro (etiqueta | campo), alineado con la vista Clientes.
 * Incluye utilidades para anchos y acciones consistentes en CRUD HTML.
 */

.mform-section-title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6c757d;
  margin-bottom: 0.5rem;
}

.mform-grid {
  display: grid;
  grid-template-columns: 148px minmax(200px, 1fr);
  gap: 0.45rem 0.85rem;
  align-items: center;
}

.mform-label {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
  color: #495057;
}

.mform-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  justify-content: flex-end;
  margin-top: 0.85rem;
  padding-top: 0.25rem;
}

.mform-muted-hint {
  font-size: 0.78rem;
  color: #6c757d;
}

/* Campos dentro de la rejilla */
.mform-grid .form-control,
.mform-grid .form-select {
  max-width: min(620px, 100%);
}

.mform-w-codigo,
.mform-grid .mform-w-codigo,
.mform-grid input[name="codigo"].mform-w-codigo {
  max-width: 120px;
}

.mform-w-codigo-wrap {
  max-width: 220px;
}

.mform-w-nombre,
.mform-grid input[name="nombre"] {
  max-width: 560px;
}

.mform-w-direccion,
.mform-grid input[name="direccion"],
.mform-grid textarea[name="direccion"] {
  max-width: 620px;
}

.mform-w-rnc,
.mform-grid input[name="rnc"],
.mform-grid input[name="cedula_rnc"],
.mform-grid input[name="telefono"],
.mform-grid input[name="telefono1"] {
  max-width: 180px;
}

.mform-w-tel {
  max-width: 180px;
}

.mform-w-correo,
.mform-grid input[type="email"],
.mform-grid input[name="correo"] {
  max-width: 320px;
}

.mform-w-ncf,
.mform-grid select[name="tipo_ncf"] {
  max-width: 260px;
}

.mform-w-contacto {
  max-width: 280px;
}

.mform-w-corto,
.mform-grid input[name="municipio"],
.mform-grid input[name="provincia"],
.mform-grid input[name="medida"] {
  max-width: 120px;
}

.mform-grid input[name="articulo"]:not(.mform-fluid) {
  max-width: 320px;
}

.mform-w-num,
.mform-grid input[type="number"]:not(.mform-fluid) {
  max-width: 140px;
}

.mform-w-sm {
  max-width: 140px;
}

.mform-w-md {
  max-width: 280px;
}

.mform-w-lg {
  max-width: 560px;
}

.mform-wide {
  grid-column: 1 / -1;
}

@media (max-width: 920px) {
  .mform-grid {
    grid-template-columns: 1fr;
  }

  .mform-grid .form-control,
  .mform-grid .form-select {
    max-width: 100%;
  }

  .input-group.mform-w-codigo-wrap,
  .mform-w-codigo-wrap,
  .mform-w-nombre,
  .mform-w-direccion,
  .mform-w-rnc,
  .mform-w-tel,
  .mform-w-correo,
  .mform-w-ncf,
  .mform-w-contacto,
  .mform-w-corto,
  .mform-w-num,
  .mform-w-sm,
  .mform-w-md,
  .mform-w-lg,
  .mform-grid .mform-w-codigo {
    max-width: 100% !important;
  }
}
