/* TO Formularios: diseño accesible (etiquetas visibles, errores asociados, foco visible) */
.tos-form form { display: grid; gap: 1rem 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.tos-form__nota, .tos-form__campo--ancho, .tos-form__acciones { grid-column: 1 / -1; }
.tos-form__nota { color: #666; font-size: .9rem; margin: 0; }
.tos-form__campo { display: flex; flex-direction: column; gap: .35rem; }
.tos-form label { font-weight: 600; }
.tos-form input[type="text"], .tos-form input[type="email"], .tos-form input[type="tel"], .tos-form textarea {
	background: #fff; border: 1px solid #767676; border-radius: 4px; color: #222; font: inherit; padding: .6rem .7rem; width: 100%;
}
.tos-form [aria-invalid="true"] { border: 2px solid #b3261e; }
.tos-form__error { color: #b3261e; font-size: .9rem; margin: 0; }
.tos-form__casilla { align-items: flex-start; flex-direction: row; gap: .6rem; }
.tos-form__casilla input { margin-top: .3rem; width: 1.15rem; height: 1.15rem; flex: none; }
.tos-form__casilla label { font-weight: 400; }
.tos-form__trampa { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.tos-form__resumen { border: 2px solid #b3261e; border-radius: 4px; padding: .75rem 1rem; margin-bottom: 1rem; background: #fdf3f2; }
.tos-form__resumen ul { margin: .25rem 0 0; }
.tos-form__exito { border: 2px solid #1b6e3a; border-radius: 4px; padding: .75rem 1rem; background: #eef8f1; }
@media (max-width: 781px) { .tos-form form { grid-template-columns: 1fr; } }
.tos-form select, .tos-form input[type="file"] { background: #fff; border: 1px solid #767676; border-radius: 4px; color: #222; font: inherit; padding: .55rem .6rem; width: 100%; }
.tos-form__ayuda { color: #666; font-size: .9rem; margin: 0; }
.tos-form__verificacion { color: #51626f; font-size: .9rem; margin: 0; min-height: 1.2em; grid-column: 1 / -1; }

/* 1.2.1: los campos no se superponen (el ancho incluye el relleno) y tienen más aire */
.tos-form, .tos-form *, .tos-form *::before, .tos-form *::after { box-sizing: border-box; }
.tos-form form { gap: 1.5rem 1.75rem; }
.tos-form__campo { min-width: 0; }
.tos-form input, .tos-form textarea, .tos-form select { max-width: 100%; }
.tos-form label { line-height: 1.3; }
.tos-form__contador { font-weight: 600; }

/* 1.2.2: teléfono con prefijo +56 fijo */
.tos-form__tel { display: flex; }
.tos-form__prefijo { align-items: center; background: #f3f4f5; border: 1px solid #767676; border-radius: 4px 0 0 4px; border-right: 0; color: #222; display: flex; padding: 0 .7rem; }
.tos-form__tel input { border-radius: 0 4px 4px 0; flex: 1; min-width: 0; }
