/* ============================================================
   Privacidad: página "Privacidad y permisos", páginas del
   acudiente y aviso de privacidad.
   Usa solo las variables de estilos.css (--marca, --borde...).
   ============================================================ */

/* ---------- Bloques generales ---------- */
.privacidad-aviso { margin-bottom: 16px; }
.privacidad-aviso a { font-weight: 600; }
.privacidad-bloque { margin-bottom: 16px; scroll-margin-top: 80px; }
.privacidad-bloque--separado { margin-top: 16px; }
.privacidad-bloque .tarjeta__titulo { flex-wrap: wrap; }
.privacidad-nota { margin: 12px 0 0; font-size: .86rem; }
.privacidad-nota--pegada { margin-top: 0; }
.privacidad-titulo { margin: 24px 0 4px; font-size: 1.1rem; }
.privacidad-intro { margin: 0 0 12px; }
.privacidad-subtitulo { margin-top: 16px; }

/* ---------- Tarjeta de un servicio opcional ---------- */
.privacidad-servicio { display: flex; flex-direction: column; gap: 12px; }
.privacidad-servicio .tarjeta__titulo { flex-wrap: wrap; align-items: flex-start; }
.privacidad-servicio .tarjeta__titulo h3 { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 1rem; }
.privacidad-servicio .tarjeta__titulo h3 .icono { color: var(--marca); }
.privacidad-servicio .tarjeta__ayuda { margin: 0; }
.privacidad-servicio__pie { margin-top: auto; padding-top: 12px; border-top: 1px solid var(--borde); display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.privacidad-servicio__pie p { margin: 0; flex: 1 1 200px; font-size: .84rem; }
.privacidad-servicio__extra:empty { display: none; }

/* "Quién recibe / Qué recibe": pares de título y texto. */
.privacidad-datos { margin: 0; display: grid; grid-template-columns: max-content 1fr; gap: 6px 12px; font-size: .86rem; }
.privacidad-datos dt { font-weight: 600; color: var(--texto); }
.privacidad-datos dd { margin: 0; color: var(--texto-suave); }

/* ---------- Autorización del acudiente (persona menor) ---------- */
.privacidad-estado { margin: 0 0 12px; }
.privacidad-acciones { margin-top: 12px; }
.privacidad-acciones form { margin: 0; }
.privacidad-otro-correo { margin-top: 16px; border-top: 1px solid var(--borde); padding-top: 12px; }
.privacidad-otro-correo summary { cursor: pointer; font-weight: 600; color: var(--marca-texto); font-size: .9rem; }
.privacidad-otro-correo[open] summary { margin-bottom: 12px; }
.privacidad-formulario { max-width: 440px; }

/* ---------- Páginas del acudiente ---------- */
.privacidad-acudiente { max-width: 760px; margin: 0 auto; }
.privacidad-acudiente .aviso { margin-bottom: 16px; }
.privacidad-acudiente .aviso form { margin-top: 8px; }
.privacidad-declaracion { margin: 0; font-size: .84rem; color: var(--texto-suave); }
/* Enlace para revocar escrito completo: se parte en varias líneas para no desbordar en 360 px. */
.privacidad-enlace { margin: 0; padding: 8px 12px; border: 1px solid var(--borde); border-radius: 8px; font-size: .84rem; word-break: break-all; }
/* Casillas con textos de dos líneas: la casilla queda arriba, junto a la primera línea. */
.privacidad-acudiente .campo--en-linea { align-items: flex-start; }
.privacidad-acudiente .campo--en-linea input[type="checkbox"] { margin-top: 2px; flex-shrink: 0; }

/* ---------- Aviso de privacidad ---------- */
/* Textos legales: aire entre una lista y el párrafo que la sigue. */
.privacidad-legal .guia__lista + p { margin-top: 12px; }
.privacidad-borrador { margin-bottom: 16px; }
.privacidad-encargados { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.privacidad-encargados > li { padding: 12px 0; border-bottom: 1px solid var(--borde); }
.privacidad-encargados > li:last-child { border-bottom: 0; }
.privacidad-encargados__cabecera { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 6px; }

@media (max-width: 680px) {
  /* En el celular cada título va encima de su texto. */
  .privacidad-datos { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .privacidad-datos dd { margin-bottom: 6px; }
  .privacidad-acciones .boton { width: 100%; }
  .privacidad-acciones form { flex: 1 1 100%; }
}
