/* ---------------------------------------------------------------------------
   consentimiento.css — el bloque "Tus datos": casillas de la política de datos
   y de la mayoría de edad + el aviso de privacidad corto.

   Lo pinta `scripts/components/consentimiento.js` y lo usan DOS páginas:
   `registro.html` (al crear la cuenta) y `aceptar-politica.html` (quien ya
   tiene cuenta y le falta aceptar la versión vigente). Un solo bloque para todo
   lo legal, con el aviso siempre visible: esconderlo tras un clic debilitaba lo
   de "informada". Se descartaron, en boceto, las casillas sueltas entre los
   campos (se perdían) y el aviso desplegable.
--------------------------------------------------------------------------- */

.reg-consent {
  background: var(--refi-paper-2); border: 1px solid var(--refi-ink-08);
  border-radius: var(--r-md); padding: 16px 18px; margin-bottom: var(--s-5);
  display: flex; flex-direction: column; gap: 14px;
}
.reg-consent-tit {
  margin: 0; font: 700 var(--fs-xs) var(--font-sans); letter-spacing: .1em;
  text-transform: uppercase; color: var(--refi-ink-50);
}
.reg-checks { display: flex; flex-direction: column; gap: 12px; }

/* Casilla propia: el input es real (accesible, y es lo que lee faltas()) con
   appearance:none. Es la primera casilla del front: no había estilo que heredar. */
.reg-check { display: flex; gap: 11px; align-items: flex-start; cursor: pointer; }
.reg-check input {
  appearance: none; -webkit-appearance: none; flex-shrink: 0;
  width: 19px; height: 19px; margin: 1px 0 0; cursor: pointer;
  border: 1.5px solid var(--refi-ink-30); border-radius: 5px; background: var(--refi-white);
  display: grid; place-items: center;
  transition: background var(--dur-fast) var(--ease-out), border-color var(--dur-fast) var(--ease-out);
}
.reg-check input::after {
  content: ''; width: 5px; height: 10px; margin-top: -2px;
  border: solid #fff; border-width: 0 2px 2px 0; transform: rotate(45deg) scale(0);
  transition: transform var(--dur-fast) var(--ease-out);
}
.reg-check input:checked { background: var(--refi-green-700); border-color: var(--refi-green-700); }
.reg-check input:checked::after { transform: rotate(45deg) scale(1); }
.reg-check input:focus-visible { outline: 2px solid var(--refi-blue); outline-offset: 2px; }
.reg-check input.field-error { border-color: #c0392b; }
.reg-check-txt { font-size: var(--fs-sm); line-height: 1.5; color: var(--fg); }
.reg-check-txt a { color: var(--refi-blue-700); text-decoration: none; border-bottom: 1px dotted var(--refi-blue-300); }
.reg-check-txt a:hover { color: var(--refi-blue); }
.reg-check-txt .ext { font-size: 11px; margin-left: 2px; }

/* Aviso de privacidad corto (contenido mínimo, Dec. 1074 art. 2.2.2.25.3.3).
   `p` lleva color propio: tokens.css pinta todo `p` con --fg por regla directa. */
.reg-aviso {
  margin: 0; padding-top: 12px; border-top: 1px solid var(--refi-ink-15);
  font-size: 11.5px; line-height: 1.55; color: var(--fg-subtle);
}
.reg-aviso a { color: var(--refi-blue-700); }
