/* Privacidad y cookies: página propia (/privacidad) y ventana que la muestra desde el pie de cada página.
   Usa los colores y fuentes de sitio.css. Prefijo pv-. */

/* Texto de la política (igual en la página y en la ventana) */
.pv-contenido { color: var(--ink, #10243a); font-size: 16px; line-height: 1.6; }
.pv-contenido h1 { font: 800 clamp(28px, 4vw, 40px)/1.1 var(--font-display); color: var(--navy); letter-spacing: -.02em; margin: 0; }
.pv-contenido h2 { font: 700 21px/1.25 var(--font-display); color: var(--navy); margin: 32px 0 10px; }
.pv-contenido p, .pv-contenido ul { margin: 0 0 12px; }
.pv-contenido ul { padding-left: 20px; }
.pv-contenido li { margin-bottom: 6px; }
.pv-contenido a { color: var(--blue, #0d57b0); text-decoration: underline; text-underline-offset: 2px; }
.pv-fecha { margin-top: 6px !important; color: var(--muted); font-size: 14px; }
.pv-resumen { margin: 22px 0 6px; padding: 18px 20px 8px; border-radius: 14px; background: var(--green-soft, #e9f6ec); color: #0a3d10; }
.pv-resumen h2 { margin: 0 0 8px; font-size: 17px; color: #0a3d10; }
.pv-resumen a { color: #0a3d10; }
.pv-tabla { width: 100%; border-collapse: collapse; margin: 6px 0 14px; font-size: 15px; }
.pv-tabla th, .pv-tabla td { text-align: left; vertical-align: top; padding: 10px 12px; border-bottom: 1px solid var(--line, #dde4ec); }
.pv-tabla thead th { font: 700 13px/1.3 var(--font-text); color: var(--muted); border-bottom-width: 2px; }
.pv-tabla tbody th { font-weight: 600; color: var(--navy); width: 26%; }
@media (max-width: 640px) {   /* en celular la tabla se vuelve fichas */
  .pv-tabla thead { display: none; }
  .pv-tabla tr { display: block; padding: 12px 0; border-bottom: 1px solid var(--line, #dde4ec); }
  .pv-tabla th, .pv-tabla td { display: block; padding: 2px 0; border: 0; width: auto; }
  .pv-tabla tbody th { margin-bottom: 4px; }
}

/* Página propia */
.pv-pagina { background: var(--bg-soft, #f4f7fa); }
.pv-doc { max-width: 780px; padding-top: 48px; padding-bottom: 64px; }
.pv-doc .pv-contenido { background: #fff; border-radius: 18px; padding: clamp(22px, 4vw, 44px); box-shadow: 0 1px 2px rgba(10,37,64,.06), 0 18px 36px -22px rgba(10,37,64,.25); }
.pv-volver { margin-top: 20px; }

/* Ventana */
.pv-ventana { position: fixed; width: min(760px, calc(100% - 32px)); max-height: min(86vh, 900px); padding: 0; border: 0; border-radius: 20px; background: #fff; box-shadow: 0 30px 80px -20px rgba(4,16,30,.6); overflow: hidden; }
.pv-ventana[open] { display: flex; flex-direction: column; animation: pv-entra .28s cubic-bezier(.16,1,.3,1); }
.pv-ventana::backdrop { background: rgba(7,22,40,.62); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.pv-barra { position: absolute; top: 12px; right: 12px; z-index: 1; }
.pv-cerrar { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--line, #dde4ec); background: #fff; color: var(--navy); cursor: pointer; display: grid; place-items: center; transition: background-color .2s, border-color .2s; }
.pv-cerrar:hover { background: var(--blue-soft, #e8f0fa); border-color: var(--blue, #0d57b0); }
.pv-cerrar:focus-visible { outline: 3px solid var(--blue, #0d57b0); outline-offset: 2px; }
.pv-cerrar svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2.4; fill: none; stroke-linecap: round; }
.pv-cuerpo { overflow-y: auto; overscroll-behavior: contain; padding: 32px clamp(20px, 4vw, 40px) 32px; }
.pv-cuerpo:focus { outline: none; }
.pv-cuerpo .pv-contenido h1 { padding-right: 48px; }
@keyframes pv-entra { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@media (max-width: 640px) {   /* celular: ocupa toda la pantalla */
  .pv-ventana { width: 100%; max-width: none; height: 100%; max-height: none; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) { .pv-ventana[open] { animation: none; } }
body.pv-abierta { overflow: hidden; }

/* Aviso junto a los botones de envío */
.pv-aviso { margin-top: 10px; font-size: 13px; line-height: 1.45; color: var(--muted); }
.pv-aviso a { color: inherit; text-decoration: underline; }
