/* Poyntia · web v2 · CENTRO DE PREFERENCIAS DE COOKIES y banner (17-oct-2026). Marcado: fuente/parciales/cookies.html; lógica: cookies-v2.js; textos: fuente/textos_cookies.py.
   Autocontenido (las páginas legales y Acceso no cargan base-v2.css): sus tokens van acotados a .v2-ck. DM Sans, ni mono ni versales espaciadas, nada baja de tamaño, «Rechazar todo» con el mismo peso que «Permitir todo». */
.v2-ck {
  --u: clamp(1px, .068vw, 1.74px);
  --sans: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --azul: #2551d6; --tinta: #0e0f12; --tinta-2: #565b66; --linea: #dcdfe4; --papel: #fff;
  --ease: cubic-bezier(.22, 1, .36, 1); --ease-ui: cubic-bezier(.4, 0, .2, 1);
  font-family: var(--sans); font-size: max(16px, calc(16.5 * var(--u))); line-height: 1.45; letter-spacing: -.01em; font-synthesis: none; color: var(--tinta); box-sizing: border-box;
}
.v2-ck *, .v2-ck *::before, .v2-ck *::after { box-sizing: border-box; }
.v2-ck [hidden] { display: none !important; }
.v2-ck button { font: inherit; letter-spacing: inherit; cursor: pointer; }
.v2-ck a { color: var(--azul); text-decoration: underline; text-underline-offset: 3px; }
.v2-ck p, .v2-ck h2, .v2-ck h3, .v2-ck ul { margin: 0; padding: 0; list-style: none; }
.v2-ck :focus-visible { outline: 2px solid var(--azul); outline-offset: 3px; border-radius: 6px; }

/* banner de la primera visita: discreto, abajo a la izquierda; no bloquea la página */
.v2-ck-ban { position: fixed; z-index: 90; left: calc(24 * var(--u)); bottom: calc(24 * var(--u)); width: min(calc(470 * var(--u)), calc(100vw - 24px)); padding: calc(20 * var(--u)) calc(22 * var(--u));
  background: var(--papel); border: 1px solid var(--linea); border-radius: calc(16 * var(--u)); box-shadow: 0 24px 56px -22px rgba(5,6,8,.5);
  animation: v2-ck-in .5s var(--ease) both; }
@keyframes v2-ck-in { from { opacity: 0; transform: translateY(12px); } }
.v2-ck .v2-ck-txt { margin-bottom: calc(14 * var(--u)); }
.v2-ck-bt { display: grid; grid-template-columns: 1fr 1fr; gap: calc(10 * var(--u)); }
.v2-ck-bt .btn { width: 100%; min-height: 44px; }
.v2-ck-gest { grid-column: 1 / -1; }

/* centro de preferencias (modal) */
.v2-ck-fondo { position: fixed; z-index: 95; inset: 0; background: rgba(5,6,8,.52); animation: v2-ck-f .3s var(--ease-ui) both; }
@keyframes v2-ck-f { from { opacity: 0; } }
.v2-ck-dlg { position: fixed; z-index: 96; left: 50%; top: 50%; transform: translate(-50%, -50%); width: min(calc(640 * var(--u)), calc(100vw - 24px)); max-height: calc(100vh - 24px); max-height: calc(100dvh - 24px);
  display: flex; flex-direction: column; background: var(--papel); border-radius: calc(20 * var(--u)); box-shadow: 0 40px 90px -30px rgba(5,6,8,.6); outline: none; animation: v2-ck-d .4s var(--ease) both; }
@keyframes v2-ck-d { from { opacity: 0; transform: translate(-50%, calc(-50% + 14px)); } }
.v2-ck-cab { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: calc(22 * var(--u)) calc(26 * var(--u)) calc(6 * var(--u)); }
.v2-ck-cab h2 { font-size: max(22px, calc(26 * var(--u))); font-weight: 500; letter-spacing: -.025em; line-height: 1.15; }
.v2-ck-x { flex: none; display: grid; place-items: center; width: 44px; height: 44px; margin-right: -10px; border: 0; border-radius: 50%; background: none; color: var(--tinta-2); }
@media (hover: hover) { .v2-ck-x:hover { background: #f1f2f5; color: var(--tinta); } }
.v2-ck-cuerpo { overflow-y: auto; overscroll-behavior: contain; padding: 0 calc(26 * var(--u)) calc(24 * var(--u)); }
.v2-ck .v2-ck-intro { margin: calc(4 * var(--u)) 0 calc(18 * var(--u)); color: var(--tinta-2); }
.v2-ck-bt-d { margin-bottom: calc(22 * var(--u)); }
.v2-ck .v2-ck-sub { margin: calc(4 * var(--u)) 0 calc(6 * var(--u)); font-size: max(16px, calc(17 * var(--u))); font-weight: 500; }
.v2-ck-cats { border-top: 1px solid var(--linea); }
.v2-ck-cat { border-bottom: 1px solid var(--linea); }
.v2-ck-fila { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; }
.v2-ck-ac { flex: 1; display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 0; border: 0; background: none; color: inherit; text-align: left; font-weight: 500; }
.v2-ck-ch { flex: none; width: 9px; height: 9px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); margin: 0 4px 0 2px; transition: transform .3s var(--ease); }
.v2-ck-ac[aria-expanded="true"] .v2-ck-ch { transform: rotate(45deg); }
.v2-ck-siempre { flex: none; color: var(--azul); font-size: max(14px, calc(15 * var(--u))); font-weight: 500; }
.v2-ck-desc { padding: 0 0 calc(16 * var(--u)) 27px; color: var(--tinta-2); }
/* interruptor: role=switch; apagado por defecto (nada premarcado) */
.v2-ck-sw { position: relative; flex: none; width: 52px; height: 32px; padding: 0; border: 0; border-radius: 16px; background: #c9ced8; transition: background .25s var(--ease-ui); }
.v2-ck-sw::after { content: ""; position: absolute; inset: -6px -2px; }                                   /* zona pulsable ≥ 44 px */
.v2-ck-pulgar { position: absolute; left: 3px; top: 3px; width: 26px; height: 26px; border-radius: 50%; background: #fff; box-shadow: 0 1px 3px rgba(5,6,8,.3); transition: transform .3s var(--ease); }
.v2-ck-sw[aria-checked="true"] { background: var(--azul-prof); }
.v2-ck-sw[aria-checked="true"] .v2-ck-pulgar { transform: translateX(20px); }
.v2-ck-conf { display: flex; justify-content: flex-end; margin-top: calc(22 * var(--u)); }
@media (max-width: 560px) {
  .v2-ck-ban { left: 12px; bottom: 12px; padding: 16px; }
  .v2-ck-dlg { top: auto; bottom: 12px; transform: translate(-50%, 0); max-height: calc(100dvh - 24px); border-radius: 20px; }
  @keyframes v2-ck-d { from { opacity: 0; transform: translate(-50%, 14px); } }
  .v2-ck-conf .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { .v2-ck *, .v2-ck-ban, .v2-ck-fondo, .v2-ck-dlg { animation: none !important; transition-duration: .01ms !important; } }
