/* Campos compactos: la escala de texto y el tamaño del control son distintos. */
input:not([type]),
input:is([type="text"], [type="number"], [type="email"], [type="password"], [type="tel"], [type="search"], [type="url"], [type="date"], [type="time"], [type="month"], [type="week"], [type="datetime-local"]),
select,
textarea {
  font-size: 13px !important;
}
input:not([type]),
input:is([type="text"], [type="number"], [type="email"], [type="password"], [type="tel"], [type="search"], [type="url"], [type="date"], [type="time"], [type="month"], [type="week"], [type="datetime-local"]),
select:not([multiple]) {
  height: 38px !important;
  min-height: 38px !important;
  padding-top: 7px !important;
  padding-bottom: 7px !important;
  border-radius: 9px;
  line-height: 1.35;
}
input:not([type]), input:is([type="text"], [type="email"], [type="password"], [type="tel"], [type="search"], [type="url"]) { max-width: 520px; }
input[type="number"] { max-width: 220px; }
input[type="tel"], input[name="telefono"], input[name="emerg_telefono"] { max-width: 260px !important; }
input:is([type="date"], [type="time"], [type="month"], [type="week"], [type="datetime-local"]) { max-width: 230px; }
select:not([multiple]) { max-width: 440px; }
textarea:not(.chat-compose textarea) {
  height: 66px;
  min-height: 66px !important;
  padding-top: 8px !important;
  padding-bottom: 8px !important;
  border-radius: 9px;
  line-height: 1.5;
  resize: vertical;
  max-width: 680px;
}
.dictate-wrap { max-width: 680px; }
.dictate-wrap.dictate-wrap-input { max-width: 520px; }
:is(.nuuma-story-form, .followup-form) .form-grid { gap: 11px 16px; }
:is(.nuuma-story-form, .followup-form) .wizard-card { padding: 17px 19px; margin-bottom: 13px; border-radius: 14px; background: #fff; }
:is(.nuuma-story-form, .followup-form) .wizard-card h3 { font-size: 14px; margin-bottom: 13px; }
:is(.nuuma-story-form, .followup-form) label > span { font-size: 11px; }
:is(.nuuma-story-form, .followup-form) .form-grid input[type="number"],
:is(.nuuma-story-form, .followup-form) .form-grid input[type="date"],
:is(.nuuma-story-form, .followup-form) .form-grid input[type="time"] { max-width: 230px; }
:is(.nuuma-story-form, .followup-form) .form-grid > .span-2 > input { max-width: 620px; }
:is(.nuuma-story-form, .followup-form) .form-grid > .span-2:has(> input[name="emerg_telefono"]) { grid-column: auto; }
/* v2.5.2 · Dentro de una cuadrícula de campos, cada campo ocupa todo el
   ancho de su columna. Los anchos máximos por tipo (número, fecha, teléfono,
   lista…) solo aplican a campos sueltos: dentro de una fila dejaban huecos
   distintos entre campos según su tipo. */
:is([class*="grid"], [class*="-fields"]) > label > :is(input:not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]), select, textarea),
:is([class*="grid"], [class*="-fields"]) > label > .dictate-wrap,
:is([class*="grid"], [class*="-fields"]) > label > .dictate-wrap > :is(input, textarea) {
  width: 100%;
  max-width: none !important;
  min-width: 0;
  box-sizing: border-box;
}
.dictate-wrap > textarea { padding-right: 96px !important; }
.nuuma-wizard .dictate-wrap.dictate-wrap-input > input { padding-right: 96px; }
.dictate-wrap .dictate-btn { right: 8px; bottom: 8px; min-height: 28px; padding: 5px 9px; font-size: 11px; }
@container nwiz (min-width: 820px) {
  :is(.nuuma-story-form, .followup-form) .wizard-card .form-grid:not(.form-grid-3):not(.bio-fields) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  :is(.nuuma-story-form, .followup-form) .wizard-card { padding: 14px; }
  :is(.nuuma-story-form, .followup-form) .form-grid { gap: 10px 12px; }
  :is(.nuuma-story-form, .followup-form) .form-grid input[type="number"],
  :is(.nuuma-story-form, .followup-form) .form-grid input[type="date"],
  :is(.nuuma-story-form, .followup-form) .form-grid input[type="time"] { max-width: 100%; }
}
input::placeholder,
textarea::placeholder {
  font-size: 12px !important;
  font-weight: 400;
}
/* Safari en iPhone necesita 16px al enfocar para evitar su zoom automático. */
@supports (-webkit-touch-callout: none) {
  @media (pointer: coarse) {
    input:not([type]):focus,
    input:is([type="text"], [type="number"], [type="email"], [type="password"], [type="tel"], [type="search"], [type="url"], [type="date"], [type="time"], [type="month"], [type="week"], [type="datetime-local"]):focus,
    select:focus,
    textarea:focus {
      font-size: 16px !important;
    }
  }
}
