/* Formulario de demo: etiquetas visibles, foco claro, errores con texto (no sólo color). */
.mw-form { display: grid; gap: .25rem; }
.mw-form-rejilla { display: grid; grid-template-columns: 1fr 1fr; column-gap: 1rem; }
@media (max-width: 640px) { .mw-form-rejilla { grid-template-columns: 1fr; } }
.mw-form-campo { margin: 0 0 1rem; display: grid; gap: .35rem; }
.mw-form-campo label { font-weight: 600; font-size: .95rem; color: var(--c-marino); }
.mw-form input[type="text"], .mw-form input[type="email"], .mw-form input[type="tel"], .mw-form select, .mw-form textarea {
  width: 100%; font: inherit; color: var(--c-tinta); background: #fff; border: 1.5px solid #C9CFE2; border-radius: 10px; padding: .75rem .85rem; }
.mw-form textarea { resize: vertical; min-height: 7rem; }
.mw-form input:focus, .mw-form select:focus, .mw-form textarea:focus { outline: none; border-color: var(--c-azul-osc); box-shadow: 0 0 0 3px rgba(97,115,255,.25); }
.mw-form-campo.is-error input, .mw-form-campo.is-error select { border-color: #C2263B; }
.mw-form-error { color: #B01E33; font-size: .88rem; font-weight: 600; }
.mw-form-aviso { background: #FDECEE; color: #8E1628; border-radius: 10px; padding: .8rem 1rem; font-weight: 600; }
.mw-form-acepto { font-size: .93rem; color: var(--c-gris); }
.mw-form-acepto input { width: 1.1rem; height: 1.1rem; vertical-align: -.15rem; margin-right: .35rem; accent-color: var(--c-azul-osc); }
.mw-form-trampa { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mw-form-gracias h2 { font-size: 1.5rem; }
.mw-form-gracias { border-left: 4px solid var(--c-turquesa); padding: .5rem 0 .5rem 1.25rem; }
