/* Omeigo Forms — estilos del formulario. Hereda los tokens del theme (--c-*, --r-*) con valores de reserva. */
.of-form { display: grid; gap: 1.1rem; max-width: 40rem; margin-block: 1rem; }
.of-campo { display: grid; gap: .35rem; }
.of-etiqueta { font-weight: var(--fw-strong, 600); }
.of-req { color: var(--c-accent, #1d4ed8); }
.of-form input:not([type="checkbox"]):not([type="radio"]), .of-form select, .of-form textarea {
  width: 100%; padding: .7em .9em; font: inherit; color: inherit;
  background: var(--c-bg, #fff); border: 1px solid var(--c-line, #d0d5db); border-radius: var(--r-md, 10px);
}
.of-form textarea { resize: vertical; min-height: 7rem; }
.of-form input:focus, .of-form select:focus, .of-form textarea:focus { outline: 3px solid var(--c-accent, #1d4ed8); outline-offset: 2px; border-color: var(--c-accent, #1d4ed8); }
.of-invalido input, .of-invalido select, .of-invalido textarea { border-color: #b42318; }
.of-ayuda { margin: 0; font-size: .9em; color: inherit; }
.of-error { margin: 0; font-size: .9em; font-weight: var(--fw-strong, 600); color: #b42318; }
.of-casilla { display: flex; gap: .6rem; align-items: flex-start; cursor: pointer; }
.of-casilla input { flex: none; width: 1.15em; height: 1.15em; margin: .25em 0 0; accent-color: var(--c-accent, #1d4ed8); }
.of-opciones { display: grid; gap: .4rem; }
.of-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.of-mensaje { padding: .9em 1.1em; border: 1px solid; border-radius: var(--r-md, 10px); font-weight: 500; }
.of-mensaje[data-tipo="ok"] { background: #ecfdf3; border-color: #abefc6; color: #067647; }
.of-mensaje[data-tipo="error"] { background: #fef3f2; border-color: #fecdca; color: #b42318; }
.of-captcha { min-height: 65px; }
.of-acciones { display: flex; gap: .75rem; align-items: center; }
.of-boton {
  display: inline-flex; align-items: center; gap: .5em; padding: .8em 1.4em; border: 0; border-radius: var(--r-md, 10px);
  background: var(--c-accent, #1d4ed8); color: var(--c-accent-ink, #fff); font: inherit; font-weight: var(--fw-strong, 600); cursor: pointer;
}
.of-boton:hover { filter: brightness(1.08); }
.of-boton:disabled, .of-form[data-estado="enviando"] .of-boton { opacity: .65; pointer-events: none; }
.of-aviso { padding: .75em 1em; border: 1px dashed #b42318; color: #b42318; border-radius: var(--r-md, 10px); }
