/*
 * rf-legal.css — documentos legales (/legal/**), pantalla de consentimiento (/consentimiento), editor
 * del backoffice (/admin/legal) y el aviso de cookies (fragments/cookies), P2.9.
 *
 * Las páginas legales lo cargan desde su propio <head>; el aviso de cookies está en todas las páginas,
 * así que fragments/head lo carga siempre (es pequeño y no bloquea nada que importe).
 */

/* --- Documentos -------------------------------------------------------------------------------- */
.rf-legal { max-width: 46rem; margin: 0 auto; }
.rf-legal h1 { margin-bottom: var(--rf-espacio-2); }
.rf-legal-meta { color: var(--rf-color-neutro-600); display: flex; flex-wrap: wrap; gap: var(--rf-espacio-2); align-items: center; }
.rf-legal-cuerpo { line-height: 1.65; overflow-x: auto; margin-top: var(--rf-espacio-6); }
.rf-legal-cuerpo h3 { margin-top: var(--rf-espacio-6); font-size: 1.1rem; }
.rf-legal-cuerpo table { border-collapse: collapse; width: 100%; }
.rf-legal-cuerpo th, .rf-legal-cuerpo td { border: 1px solid var(--rf-borde); padding: var(--rf-espacio-2); text-align: left; vertical-align: top; }
.rf-legal-historial { margin-top: var(--rf-espacio-8); border-top: 1px solid var(--rf-borde); padding-top: var(--rf-espacio-4); }
.rf-legal-indice { list-style: none; padding: 0; display: grid; gap: var(--rf-espacio-3); }
.rf-legal-indice li { display: flex; flex-direction: column; }

/* --- Pantalla de consentimiento ----------------------------------------------------------------- */
.rf-legal-pendiente { border: 1px solid var(--rf-borde); border-radius: var(--rf-radio-md); padding: var(--rf-espacio-4); margin-bottom: var(--rf-espacio-4); background: var(--rf-color-neutro-0); }
.rf-legal-pendiente h2 { font-size: 1.15rem; margin: 0 0 var(--rf-espacio-1); }
.rf-legal-cuerpo-desplazable { max-height: 42vh; overflow-y: auto; border: 1px solid var(--rf-borde); border-radius: var(--rf-radio-sm); padding: var(--rf-espacio-3); margin: var(--rf-espacio-3) 0; background: var(--rf-color-neutro-50); }

/* --- Editor del backoffice ---------------------------------------------------------------------- */
.rf-legal-ficha { border: 1px solid var(--rf-borde); border-radius: var(--rf-radio-md); padding: var(--rf-espacio-4); margin-bottom: var(--rf-espacio-4); }
.rf-legal-ficha fieldset { border: none; padding: 0; margin: 0 0 var(--rf-espacio-3); }
.rf-legal-ficha legend { font-weight: 600; }
.rf-legal-borrador summary { font-weight: 600; cursor: pointer; margin-bottom: var(--rf-espacio-3); }
.rf-legal-editor { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; width: 100%; }
.rf-legal-publicar { margin: var(--rf-espacio-4) 0 var(--rf-espacio-3); }
.rf-legal-marcadores ul { margin: var(--rf-espacio-2) 0 0; padding-left: var(--rf-espacio-4); }

/* --- Aviso de cookies (en todas las páginas) ---------------------------------------------------- */
/* Compacto (M-50, P7.11): una línea de texto y los botones en fila, sobre blanco con un filete arriba y la sombra de lo
   que flota (§2.5). Con «Elegir» se despliega el panel con la explicación y las casillas. */
.rf-cookies {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--rf-capa-aviso-emergente);
  background: var(--rf-superficie);
  border-top: 1px solid var(--rf-filete);
  box-shadow: var(--rf-sombra-3);
  padding: var(--rf-espacio-3) 0 calc(var(--rf-espacio-3) + env(safe-area-inset-bottom, 0px));
}
.rf-cookies[hidden] { display: none; }
.rf-cookies-caja {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--rf-espacio-2) var(--rf-espacio-4);
  align-items: center;
}
@media (min-width: 768px) {
  .rf-cookies-caja { grid-template-columns: minmax(0, 1fr) auto; }
  .rf-cookies-panel { grid-column: 1 / -1; grid-row: 2; }
}
.rf-cookies-texto { margin: 0; font-size: var(--rf-tipo-pequeno-movil-tamano); line-height: var(--rf-tipo-pequeno-movil-interlinea); }
.rf-cookies-explicacion { margin: 0; font-size: var(--rf-tipo-pequeno-movil-tamano); color: var(--rf-texto-secundario); }
.rf-cookies-panel { display: grid; gap: var(--rf-espacio-2); }
.rf-cookies-panel[hidden] { display: none; }
/* Las cookies necesarias, una por línea (mejoras v5, M-174). */
.rf-cookies-lista { margin: 0; padding-left: var(--rf-espacio-5); font-size: var(--rf-tipo-pequeno-movil-tamano); color: var(--rf-texto-secundario); }
.rf-cookies-acciones { display: flex; flex-wrap: wrap; align-items: center; gap: var(--rf-espacio-2); }
.rf-cookies-acciones [hidden] { display: none; }
@media (max-width: 575.98px) {
  .rf-cookies-acciones [data-rf-cookies="rechazar"],
  .rf-cookies-acciones [data-rf-cookies="aceptar"] { flex: 1 1 0; }
}
/* «Configurar cookies» del pie: su aspecto (el de los enlaces de su lista) vive con el pie, en rf-componentes.css. */
